![]() |
AW: Edit.text 5 mal Blinken lassen
Wozu eigentlich eine Stringliste? Ich würde das ungefähr so angehen:
Delphi-Quellcode:
type
TfrmBlinkDemo = class(TForm) edtBlink: TEdit; tmrBlink: TTimer; btnBlink: TButton; procedure tmrBlinkTimer(Sender: TObject); procedure btnBlinkClick(Sender: TObject); private { Private-Deklarationen } FOriginalString: string; FCounter: integer; procedure Blink; public { Public-Deklarationen } end; ... const BLINKCOUNT = 5; { TfrmBlinkDemo } procedure TfrmBlinkDemo.Blink; begin FCounter := 0; FOriginalString := edtBlink.Text; tmrBlink.Enabled := true; end; procedure TfrmBlinkDemo.btnBlinkClick(Sender: TObject); begin Blink; end; procedure TfrmBlinkDemo.tmrBlinkTimer(Sender: TObject); begin inc(FCounter); if Odd(FCounter) then edtBlink.Text := '' else edtBlink.Text := FOriginalString; if FCounter >= BLINKCOUNT * 2 then tmrBlink.Enabled := false; end; |
AW: Edit.text 5 mal Blinken lassen
Und seit 2009 kann man auch alles in Chinesisch schreiben, womit man dann mehr als nur 26 "Namen" zur Verfügung hat.
|
AW: Edit.text 5 mal Blinken lassen
lol Danke:) immer diese iron.......... .
Noch ne andere Frage Ich erstelle in der FORM3 :) 20 TEDIT Komponenten. nun sollen diese bei keypress die Timer Komponenten auslösen
Delphi-Quellcode:
procedure TForm3.SpielerKeyPress(Sender: TObject; var Key: Char);
var Spieler:TEdit; begin Spieler:=TEdit(Sender); st:=Tstringlist.Create; st.Add(Spieler.text); if Key = #13 then begin key := #0;//schalt sound ab Timer1.Interval := 500; timer1.Enabled:=true; end; end;
Delphi-Quellcode:
Wie Übergebe ich hier Statt edit1.text den sender der den Timer ausgelöst hat?
procedure TForm3.Timer1Timer(Sender: TObject);
begin //habe es hier auch schon mit Spieler:=TEDIT(Sender)( versucht) und edit1 mit Spieler ersetzt //klappt aber nicht if Edit1.Text = st.Strings[0] then Edit1.text := '' else if Edit1.text = '' then Edit1.Text := st.Strings[0]; timer1.Tag := Timer1.tag+1; if timer1.Tag = strtoint(st.strings[0])*2 then timer1.Enabled := false; end; |
AW: Edit.text 5 mal Blinken lassen
Indem du dir den "Sender" merkst?
Zitat:
Rate mal, wer dieses Ereignis auslöst und demnach in diesem Sender drin steht?
Delphi-Quellcode:
.
ShowMessage((Sender as TComponent).Name);
Wenn du dir nicht sicher bist, daß der Typ stimmt, dann verwende niemals harte Konvertierungen ala
Delphi-Quellcode:
, sondern nur weiche Konvertierungen ala
TTyp(...)
Delphi-Quellcode:
:!:
(... as TTyp)
|
AW: Edit.text 5 mal Blinken lassen
Selber merken? Und ist Dir aufgefallen, dass Du bei jedem Tastendruck eine neue Stringliste erzeugst, die nirgends freigegeben wird?
|
AW: Edit.text 5 mal Blinken lassen
Wenn ich das richtig verstanden habe: Deine Edits teilen sich alle den gleichen Handler (SpielerKeyPress). Jetzt möchtest du mit dem jeweiligen Edit direkt bei Tastendruck einmal direkt machen, was der Timer normalerweise periodisch macht, oder erst beim nächsten Timer-Tick?
|
AW: Edit.text 5 mal Blinken lassen
Wenn ich den Code richtig verstehe, soll mit einem "RETURN" im jeweiligen Edit der Timer aktiviert werden.
|
AW: Edit.text 5 mal Blinken lassen
Zitat:
Habe jetzt den Sender in stringlist gespeichert. und will ihm im Timer wieder nutzen
Delphi-Quellcode:
procedure TForm3.Timer1Timer(Sender: TObject);
var Spieler:TEdit; begin Spieler.name:=st.strings[1]; if Spieler.Text = st.Strings[0] then Spieler.text := '' else if Spieler.text = '' then Spieler.Text := st.Strings[0]; timer1.Tag := Timer1.tag+1; if timer1.Tag = strtoint(st.strings[0])*2 then timer1.Enabled := false; end; Er gibt mir aber fehler aus |
AW: Edit.text 5 mal Blinken lassen
Natürlich, denn Du tust nicht das, was Du eigentlich meinst. Im Moment weist Du der Eigenschaft Name der nicht erzeugten Instanz Spieler einen Wert zu, möchtest aber doch eigentlich die Instanz ermitteln, die den Namen hat. Das ginge z.B. mit FindComponent oder FindControl, aber ich würde mir überlegen, wieso man den Namen speichern sollte, wenn man sich auch die Instanz selbst merken kann.
|
AW: Edit.text 5 mal Blinken lassen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz