wieso muß das erst pogrammiert werden?
du brauchst nur ein Edit und 'nen Button zum Starten
dann ließt du den Text aus dem Edit und fügst ihn Stück für Stück z.B. in ein Label:
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Var S: String;
Begin
S := Edit1.Text;
Label1.Caption := '';
While S > '' do Begin
Label1.Caption := Label1.Caption + S[1];
Delete(S, 1, 1);
Application.ProcessMessages;
Sleep(150);
End;
End;
[add]
Beispiel für 2 Labels
Delphi-Quellcode:
// [Edit1] + [Button1] > [Label1]
// [Edit2] + [Button2] > [Label2]
Const MaximaleZeichenAnzahl = 20;
Procedure ClearLabel(E: TEdit; L: TLabel);
Var S: String;
i: Integer;
Begin
E.MaxLength := MaximaleZeichenAnzahl;
E.Text := '';
S := StringOfChar('_', MaximaleZeichenAnzahl);
For i := MaximaleZeichenAnzahl downto 2 do Insert(' ', S, i);
L.Caption := S;
End;
Procedure FillLabel(E: TEdit; L: TLabel);
Var S, S2, S3: String;
i: Integer;
Begin
S := Trim(E.Text);
If S = '' Then S2 := StringOfChar('_', MaximaleZeichenAnzahl)
Else S2 := S + StringOfChar(' ', MaximaleZeichenAnzahl - Length(S));
S3 := L.Caption + StringOfChar(' ', 2 * MaximaleZeichenAnzahl - Length(L.Caption) - 1);
For i := 1 to MaximaleZeichenAnzahl - 1 do S3[i * 2] := ' ';
i := 1;
While i <= MaximaleZeichenAnzahl do Begin
S3[i * 2 - 1] := S2[i];
L.Caption := S3;
If S <> '' Then MessageBeep($40);
Application.ProcessMessages;
Sleep(50);
Inc(i);
End;
End;
Procedure TForm1.FormCreate(Sender: TObject);
Begin
ClearLabel(Edit1, Label1);
ClearLabel(Edit2, Label2);
End;
Procedure TForm1.Button1Click(Sender: TObject);
Begin
FillLabel(Edit1, Label1);
End;
Procedure TForm1.Button1Click(Sender: TObject);
Begin
FillLabel(Edit2, Label2);
End;
jetzt noch'n Sound verbessern und es sieht fast aus wie echt
Text in Edit eintragen und Button klicken
zum löschen einfach Text im Edit löschen und Button drücken