Results 1 to 3 of 3

Thread: Timer met update van resterende tijd

  1. #1

    Timer met update van resterende tijd

    Hi

    Ik toon een form met een melding (FormScanMessage). Het is de bedoeling dat het form
    automatische na 3 seconden wordt afgesloten. Hiervoor gebruik ik een TTimer met een
    interval van 3000.

    Het sluiten na 3 seconden werkt MAAR ik wil in een label de resterende seconden laten
    zijn/aftellen en dat krijg ik niet voor elkaar..

    Op internet vond ik een vergelijkbaar voorbeeld maar het update van het label met de
    resterend aantal seconden wordt niet getoond.
    https://www.reddit.com/r/delphi/comm..._from_a_timer/

    Wanneer formScanMessage met de melding wordt getoond wordt de volgende code uitgevoerd

    Code:
    procedure TFormScanMessage.FormCreate(Sender: TObject);
    begin
      TimerStart.Tag := 3000;
      TimerStart.Enabled := True;
      Label_Seconds.Caption  := intToStr(trunc(TimerStart.Tag/1000))+' sec.';
    end;
    Het OnTimer event bevat :
    Code:
    procedure TFormScanMessage.TimerStartTimer(Sender: TObject);
    begin
      TimerStart.Tag  := TimerStart.Tag - 1000;
      Label_Seconds.Caption  := intToStr(trunc(TimerStart.Tag/1000))+' sec.';
    
      Close;
    end;

  2. #2
    Nu sluit je met Close gelijk in de eerste timer hit het form al.

    Ik denk dat het de bedoeling is dit pas te doen als tag 0 geworden is.

    Dus zet de timerinterval op 1 seconden (1000ms) en doe
    Code:
    if TimerStart.Tag <= 0 then Close;
    Dan gaat het goed.

  3. #3
    Hi Rik

    Thanks...dat was inderdaad de oplossing

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •