![]() |
nochmal array
Hi Leutz,
wenn ich dasselbe wie das letztemal Komponenten in ein Array packen will, so ist es diesmal ein bzw. meherere Timer.
Code:
Ich möchte also mit dem Start des Timer ein Label blinken lassen.
procedure TForm1.Timer1Timer(Sender: TObject);
begin form2.label1.visible:= not form2.label1.visible; form2.label1.color:=clRed; end; Muss ich nun für jedes Label einen eigen Timer platzieren oder kann ich einen einzigen dafür nehmen? Wenn ja, geht das dann auch mehrere Label blinken zu lassen.Jedes einzeln aktiviert natürlich. Schönes WoE an alle |
natürlich, pack einfach bei Timer.OnTimer Ereignis, alle Lables rein, die blinken sollen, und lass sie blinken. Wenn nur einige blinken sollen, dann entscheide du, wonach entschieden werden soll, welche blinken. zb. über enabled, visible, tag...
|
sorry, du wirst sicherlich wissen was du meinst
aber ich nicht :( der Punkt ist in welchen welchem Timer-Ereignis und wie müsste das aussehn. Ich komme einfach nicht dahinter. Ich meine nur 1 (einen) Timer.Und wie muss der dann heissen? nur Timer? Entschuldige die blöde Frage :freak: thx |
mach 3 labels: label1, label2 und label3.
mach 1 timer: timer1 wähl den timer an, klick doppelt drauf. dann gib ein:
Delphi-Quellcode:
jetzt musst du nur bei den labels, die was machen sollen labelXY.tag := 1 vorher machen, bei allen anderen irgendwas <> 1. dann wechseln sie die farbe.
if label1.tag = 1 then label1.color := clred;
if label2.tag = 1 then label2.color := clblue; if label3.tag = 1 then label3.color := clblack; kannst auch eine case statt if-konstruktion nehmen! |
Meinst du so was ???:
Delphi-Quellcode:
PS: Benutze also Codehighlighter doch bitte [*delphi] [/*delphi] (ohne *) bzw. den ObjectPascal-Source-Button
procedure TForm1.Timer1Timer(Sender: TObject);
begin form2.label1.visible:= not form2.label1.visible; form2.label1.color:=clRed; form2.label2.visible:= not form2.label2.visible; form2.label2.color:=clRed; end; |
@fuckracism: Mit wem von uns beiden redest du?
|
nochmal zu den Rahmenbedingungen:
von hier aus wird der Timer gestartet
Code:
jetzt muss der timer auch noch wissen welches label er blinken lassen soll :roll:
procedure TForm1.AnyShapeMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var aTimer: TTimer; aLabel: TLabel; begin if Sender <> nil then if Sender is TShape then begin aTimer := FindComponent('Timer' + Copy(TShape(Sender).Name, 6, 2)) as TTimer; aLabel := Form2.FindComponent('Label' + Copy(TShape(Sender).Name,6,2)) as TLabel; if (atimer.enabled=false) then aTimer.Enabled := not aTimer.Enabled else atimer.enabled:=false; aLabel.visible:=true; aLabel.color:=clMaroon; end; end; im obigen quell wird nach else die Labels wird in ihren ursprung zurück gesetzt. Ich habe schon versucht diese im obigen quell zu starten, aber irgendwie gehts net, nur halt das beenden. Deshalb sage ich ausserhalb dieser procedure was der timmer nach seinem start machen soll.ich haätte es aber gerne drin, in dieser procedure. |
Mit Privateer3000.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 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