Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Typewriter effekt, text anzeigen wie bei schreibmaschiene... (https://www.delphipraxis.net/52168-typewriter-effekt-text-anzeigen-wie-bei-schreibmaschiene.html)

DXC 24. Aug 2005 23:09


Typewriter effekt, text anzeigen wie bei schreibmaschiene...
 
Hallo,

Wisst Ihr wie mann einen Effekt machen kann dass ein satz in nem memo so erschein wie auf der Schreibmachschiene...
h
ha
hal
hall
hallo

Bitte nix mit delay, etc..

MFG
DXC

christian.noeding 24. Aug 2005 23:22

Re: Typewriter effekt, text anzeigen wie bei schreibmaschien
 
Hi :)

Als schnelle Lösung könnteste ne Schleife bauen, die eine Zahl i (als Startwert wählst du die Länge eines Strings) dekrementiert. In der Schleife zeigst du dann den String minus i-Zeichen im Feld an. Durch die Schleife werden nun immer mehr Buchstaben angezeigt.

Wäre jetzt ne schnelle Lösung - geht bestimmt auch eleganter, aber es ist früh *g*


Folgende Delphi-Funktionen brauchst du dafür:

length() und copy() (Delphihilfe sagt alles darüber) *g*

ciao,
Christian

yankee 24. Aug 2005 23:32

Re: Typewriter effekt, text anzeigen wie bei schreibmaschien
 
ich habe sowas in JavaScript *gg*.
Aber das hilft dir wahrscheinlich nicht.

Also am besten nimmst du sonst einfach einen timer. Denn ohne timer, ohne delay und sonstiges geht das eben einfach zu schnell.
Einfach eine globale Variable ToType:sting; anlegen und dann diesen qt in das ontimerevent:

Delphi-Quellcode:
if length(ToType) =0 then exit; //wenn es nichts zu tippen gibt, können wir es gleich lassen...
memo1.lines.Strings[memo1.lines.count-1] :=memo1.lines.Strings[memo1.lines.count-1] + ToType[1];
Delete(ToType, 0, 1);
Alles so aus dem Kopf geschriben, ich hoffe das ist so richtig...
Soll jedenfalls einfach das erste Zeichen aus ToType an die memo anhängen und dann das erste Zeichen aus dem string ToType löschen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz