Dynamické vytvorenie TTimer delphi

Programovacie jazyky, rady, poradňa...
feromakovi
Expert
Expert
Príspevky: 165
Registrovaný: 24 okt 2008, 14:16
Bydlisko: Bánovce nad Bebravou

Dynamické vytvorenie TTimer delphi

Príspevok od používateľa feromakovi »

zdravím ide mi len o to aby som sa naučil s tým robiť...skúšam program že mám

Kód: Vybrať všetko

timer1:TTimer; a memo1.Tmemo;
a timer1 procedúru:

Kód: Vybrať všetko

procedure TForm1.Timer1Timer(Sender: TObject);
begin
memo1.Clear;
end;
a teraz do procedúry on create:

Kód: Vybrať všetko

procedure TForm1.FormCreate(Sender: TObject);
var timer5:Ttimer;
begin
timer5:=Ttimer.Create(self);
timer5.enabled:=true;
timer5.Interval:=100;
timer5.OnTimer:=timer5timer;
end;
a vytvoril som si svoju procedúru:

Kód: Vybrať všetko

procedure TForm1.Timer5timer(Sender: TObject);
begin
form1.Memo1.Text:=  form1.Memo1.Text+' ahoj ';
end;
ale nefunguje mi to...ak niekto nepochopil podstatu tak:
timerom1 som každých 30 sek vymazával memo1 a tým dynamicky-vytvoreným timerom5 som každú polsekundu chcel pridať do mema nejaký text: ahoj...

ide o to že nerozumiem tej syntaxe ako priradiť procedúru nejakému dynamicky vytvorenému componentu...

mohol by som poprosiť o vysvetlenie :?: :nonhead:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

veď to máš správne, ak to nerobí to čo chceš, máš zrejme problém vo svojich intervaloch, že si zmažeš tesne po pridaní. Skús timer5timer prerobiť napríklad takto:

Kód: Vybrať všetko

procedure TForm1.Timer5timer(Sender: TObject);
begin
form1.caption:=inttostr(random(500));
end;
a mal by si vidieť že sa caption formulára mení
feromakovi
Expert
Expert
Príspevky: 165
Registrovaný: 24 okt 2008, 14:16
Bydlisko: Bánovce nad Bebravou

nie

Príspevok od používateľa feromakovi »

no problém vyriešený..v intervaloch problém nebol...mňa vlastne nechcelo ani pripustiť ku kompilovaní programu. nakoniec som už celý zúfalý skúsil pridať toto do type:

Kód: Vybrať všetko

procedure Timer5timer(Sender: TObject);
a už bolo dobre...som zvyknutý z pascalu že tam sa procedúry nedeklarovali...
akosi tomu nerozumiem lebo aj v delphi sú procedúry ktoré som nedeklaroval...prečo niektoré treba a niektoré netreba deklarovať??
už by som to len rád pochopil..možno sa mi to zíde do budúcna.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

lebo je to OOP, a to type je definovanie objektu. V tomto prípade formulára, ktorý obsahuje premenné a metódy, teda aj tvoje funkcie
Napísať odpoveď