Avatar billede sorenriis Nybegynder
14. juni 2005 - 13:51 Der er 9 kommentarer og
1 løsning

Timer i Delphi

Jeg har lavet et program i delphi og mangler nu bare lige den sidste funktion.

Jeg vil gerne have lavet en timer, som gør at hele programmet eksekveres hvert x sekund.

Hvor lang tid der er til næste "opdatering", må den også gerne skrive i programmet.

Hvordan laver jeg det?
Avatar billede snowball Novice
14. juni 2005 - 14:16 #1
Et hurtigt eksempel - Timer1's Interval skal sættes til 1000

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    iCount: Integer;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  iCount := 10;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  If iCount = 0 Then Begin
    Timer1.Enabled := False;
    ShowMessage('Gør noget!');
    iCount := 10;
    Timer1.Enabled := True;
  End
  Else Begin
    Dec(iCount);
    Caption := Format('Gør noget om %d sek.',[iCount]);
  End;
end;

end.
Avatar billede sorenriis Nybegynder
14. juni 2005 - 14:42 #2
Tak..
Men den klager over at "TTimer" er en "undeclared identifier"?
Avatar billede snowball Novice
14. juni 2005 - 14:45 #3
Har du husket at sætte et TTimer komponent på din form?
Avatar billede sorenriis Nybegynder
14. juni 2005 - 14:58 #4
Det var problemet:)

Men jeg synes ikke den skriver noget. Har prøvet med en label og en edit-boks - men de forbliver tomme (i din caption del).
Avatar billede sorenriis Nybegynder
14. juni 2005 - 15:01 #5
Fandt problemet:)
Avatar billede sorenriis Nybegynder
14. juni 2005 - 15:02 #6
Som et side spørgsmål.. Hvordan får jeg afbrudt processen med at den opdaterer hvert 10. sekund?
Avatar billede snowball Novice
14. juni 2005 - 15:07 #7
Så sætter du bare Timer1.Enabled til False. Så sker der ikke længere noget hvert 10. sekund.
Avatar billede sorenriis Nybegynder
14. juni 2005 - 15:13 #8
Takker. Virker som det skal nu:)
Avatar billede sorenriis Nybegynder
15. juni 2005 - 10:22 #9
Afgiv lige et svar hvis du vil have points.
Avatar billede sorenriis Nybegynder
15. juni 2005 - 10:22 #10
Hovsa.. det var klaret :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester