Kezdőoldal » Számítástechnika » Programozás » Delphiben hogy kell használni...

Delphiben hogy kell használni a Timer-komponenst?

Figyelt kérdés
A feladat a következő: egy bekért szöveget kell kiíratni karakterenként. Az algoritmus nagyjából megvan, csak nem tudom, hogy a gomb vagy a timer alprogramjába írjam. Először a timerbe írtam, de csak az egész szöveget írta ki 1 mp késleltetéssel. Hogy lehet ezt megoldani?

2012. máj. 19. 10:39
1 2
 11/13 zsomkovacs ***** válasza:

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.

2012. máj. 19. 14:43
Hasznos számodra ez a válasz?
 12/13 coopper ***** válasza:

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.

2012. máj. 19. 15:37
Hasznos számodra ez a válasz?
 13/13 A kérdező kommentje:
Köszönöm szépen mindenkinek, legfőképp az utolsónak: így sikerült. :)
2012. máj. 19. 16:53
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!