[Delphi] Проблема с Gauge

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by PiNgVin07, 9 Nov 2011.

  1. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    63
    Likes Received:
    0
    Reputations:
    0
    И снова я...проблема в том что, когда происходит авторизация то Gauge работает всё норм, только когда жму снова, тоесть перезапускаю авторизацию не выключая программы, Gauge так и стоит на месте 100% тоесть не хочет делать Refresh

    Gauge1.MaxValue:=Login.Count;
    Gauge1.Progress := Gauge1.Progress + 1;
    if Gauge1.Progress = 100 then
    Gauge1.Progress:=0;

    когда вот таким способом делаю то всё норм, только чтобы снова с 0% Gauge работал нужно перезагружать программу... в этом только и проблема, как решить - незнаю..
     
    #1 PiNgVin07, 9 Nov 2011
    Last edited: 9 Nov 2011
  2. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    у Gauge есть замечательный метод AddProgress, в котором уже реализовано вот это вот
    Code:
    Gauge1.Progress  := Gauge1.Progress  + Value;
    а так же выполняется Refresh.
    а у Вас проблема в том, что Gauge1.Progress=Login.Count, Login.Count - не 100.
    Если хотите делать так, то сравнивайте не
    Code:
    Gauge1.Progress=100
    , а
    Code:
    Gauge1.PercentDone=100
     
    1 person likes this.
  3. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    63
    Likes Received:
    0
    Reputations:
    0
    ошибочку выбивает
     
  4. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    63
    Likes Received:
    0
    Reputations:
    0
    Gauge1.MaxValue:=Login.Count;
    Gauge1.Progress := Gauge1.Progress + 1;
    if Gauge1.Progress = 100 then
    Gauge1.Progress:=0;

    когда вот таким способом делаю то всё норм, только чтобы снова с 0% Gauge работал нужно перезагружать программу... в этом только и проблема, как решить - незнаю..
     
  5. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    63
    Likes Received:
    0
    Reputations:
    0
    "Gauge1.PercentDone=100" - та же фигня((
     
  6. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Code:
      if g1.PercentDone=100 then showmessage('a');
    работает.
    А текст ошибки узнать можно?
    А какая версия Delphi? у меня 7.
    Code:
    Gauge1.Refresh;
    перерисовка
     
    #6 xophet, 9 Nov 2011
    Last edited: 9 Nov 2011
  7. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    63
    Likes Received:
    0
    Reputations:
    0
    да оно то работает, только сразу же после 1 акка выдаёт 100% и появляется окно (showmessage), а мне нужно так как написано в первом посте, и кстати тот код который в первом посте даже если много акков то всё гуд, только именно когда дойдёт до 100% и когда наново жму "войти" то так и стоит на 100%, хотя должно наново идти %
     
  8. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    Так тогда не морочьте голову, и перед "войти" сделайте
    Code:
    Gauge1.Progress:=0;
    без всяких проверок на 100.
    Я же говорю, проблема тут в том, что у Вас кол-во аккаунтов, а соответсвенно и maxProgress не 100.
    у Вас аккаунтов может быть 10, maxProgress тоже будет 10, хотя на Gauge1 будет написано 100%.
    и Вы такой
    Code:
    если Gauge1.Progress=100, то сделай мне Progress:=0
    но Gauge.Progress=10 и ничего не происходит.
     
  9. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    63
    Likes Received:
    0
    Reputations:
    0
    да как maxprogress может быть 10 если программа останавливается когда доходит до 100%???
     
  10. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    63
    Likes Received:
    0
    Reputations:
    0
    ну наконец тоо, додумался, всё оказалось очень просто!!
     
  11. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    конечно все просто, я всего лишь 2 раза объяснил :D
     
  12. PiNgVin07

    PiNgVin07 New Member

    Joined:
    22 Oct 2011
    Messages:
    63
    Likes Received:
    0
    Reputations:
    0
    нифига!! смотри, небыло строки: Gauge1.Progress:=i+1;
    где i - integer, вобщем это всё с самой авторизацией связано, так что просто жесть..