Delphiben hogy kell használni a Timer-komponenst?
Inicializálásnál kezdőértéket adsz a változónak. Amikor beírod, hogy
Var x: Longint;
akkor csak annyit mondasz a fordítónak, hogy foglaljon memóriát az x változónak. Ekkor az értéke jobb esetben 0, rosszabb esetben egy véletlen érték lesz. Ezért kell neki egy kezdőértéket adni, jelen esetben pl. az
x:=0;
utasítással. Ezt hívjuk inicializálásnak.
Szia.
A te progidban a következőket kell javitani :
X globális változónak kell hogy legyen.
A button clickben értéket kell adni a globális X-nek
Igy néz ki :
var Form1: TForm1;
i : integer ;
x : integer ;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
i:=0;
x:=10;
Timer1.Enabled:=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var s:string;
begin
s:=Edit1.Text;
inc(i);
if i<=length(s) then begin
Image1.Canvas.TextOut(x,3,s[i]);
x:=x+10;
end
else Timer1.Enabled:=False;
end;
A fenti esetben Te határozod meg a karakterek közötti távolságot (X:=X+10;)
A következő kód nem 1 karaktert ir ki, hanem mindig az egész szövegnek az i-dik karakterig mindent. (Tudom, igy lassab - de szebb és x-et sem kell benne használni)
procedure TForm1.Timer1Timer(Sender: TObject);
var s:string;
begin
inc(i);
if i<=length(Edit1.text) then begin
s:=copy (Edit1.text,1,i);
Image1.Canvas.TextOut(10,3,s);
end
else Timer1.Enabled:=False;
end;
Sok sikert.
Üdv.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!