Einzelnen Beitrag anzeigen

Rackergen2

Registriert seit: 13. Jul 2004
99 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Familienduell - Leinwandausgabe

  Alt 14. Jul 2004, 17:54
Zitat von neolithos:
Delphi-Quellcode:
procedure ???(lbl : TLabel; const sText : String);
var i : Integer;
begin
  for i := 1 to Length(sText) do
      begin
        lbl.Caption := Copy(sText, 1, i);
        Application.ProcessMessages;
        Sleep(200);
      end;
end;
Nicht getestet, aus dem Kopf heraus geschreiben.
Wenn ich mich nicht irre, hat Delphi keine sleep-Methode...

Baue dir einen Timer (Timer1), setze ihn auf 200 ms und disable ihn.
Lass ihn auf die obrer Methode zugreifen.
Baue einen Button (Button1) und lasse ihn auf die untere Methode zurückgreifen.
Außerdem brauchst du ein Label (Label1)...

Den Rest bekommst du schon raus...

Delphi-Quellcode:
var
  i: integer;
  sText: string;

...

procedure TForm1.Timer1Timer(...); //oder so ähnlich
begin
  Timer1.enabled:=false; //falls es nicht weiter geht
  Label1.Caption := Copy(sText, 1, i); //Label betexten

  if i=length(sText) then exit; //ganzes Wort bearbeitet? --> Funktion beenden

  inc(i); //nächster Buchstabe
  Timer1.enabled:=true; //200 ms warten
end;

procedure TForm1.Button1Click(Sender: TComponent);
begin
  sText:='Mäusefurz'; //Wort festlegen
  i:=1; //erster Buchstabe ist Start
  Timer1.Enabled:=true; //Los geht's!
end;
not yet tested...

EDIT: Tested edited and working...

Nebenbei, wollt ihr da wirklich vorher 100 Leute befragen.
Nochetwas, macht ihr das in den Ferien oder habt ihr noch Schule?
  Mit Zitat antworten Zitat