![]() |
Reihenfolge der Timer festlegen
Hallo ich habe folgendes Problem ich würde gerne bestimmte checkboxen ansprechen, aber nur
für eine bestimmte Zeit und die sollen alle nacheinander checked sein irgendwie klappt das aber nicht sagt mir mal bitte was an meinem quelltext falsch ist.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var b:byte; i:integer; begin Timer1.Interval := 1000 * StrToInt(Edg.Text); Timer2.Interval := 1000 * StrToInt(Edr.Text); Timer3.Interval := 1000 * StrToInt(Edl.Text); Timer4.Interval := 1000 * StrToInt(Edrw.Text); Timer1.Enabled :=True; Timer2.Enabled:=True; Timer3.Enabled:=True; Timer4.Enabled:=True; for i:=1 to timer1.interval do begin cbData3.checked:=true; cbData5.checked:=true; cbData7.checked:=true; end; for i:=timer1.interval to Timer2.Interval do begin cbData1.checked:=true; cbData3.checked:=true; cbData7.checked:=true; end; for i:=Timer2.Interval to Timer3.Interval do begin cbData1.checked:=true; cbData3.checked:=true; cbData5.checked:=true; end; for i:=Timer3.Interval to Timer4.Interval do begin cbData1.checked:=true; cbData5.checked:=true; cbData7.checked:=true; end; end; end. |
Re: Reihenfolge der Timer festlegen
Was soll das denn geben.
Delphi-Quellcode:
for i:=1 to timer1.interval do
begin cbData3.checked:=true; cbData5.checked:=true; cbData7.checked:=true; end; Übersetzt FÜR I = 1 bis TIMER ZEIT (z.B. bei Edit eingabe 10 wären das 10000 Schleifen durchläufe) Wie wäre es mit
Delphi-Quellcode:
Allerdings, möchtes du doch die Timer Zeit nutzen also, müsstest Du das OnTimer Event nutzen.procedure TForm1.Timer1Timer(Sender: TObject); begin Checkbox.Check = true; end; Gruß Jens |
Re: Reihenfolge der Timer festlegen
Danke für die schnelle Antwort.
Also die timer procedure habe ich auch schon versucht aber es klappt nicht. Ich will das zb in der zeit von 10s checkbox1,checkbox2,checkbox3 checked sind und danach sollen die checkboxen 4,5,6 checked sein aber auch wieder nur für eine bestimmte zeit. könnt ihr mir mal nen ungefähren quelltext machen. |
Re: Reihenfolge der Timer festlegen
Ich hab hir nochmal einen Quelltext erstellt sagt mir mal was daran jetzt falsch ist.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var b:byte; i:integer; begin Timer1.Interval := StrToInt(Edg.Text); Timer2.Interval := StrToInt(Edr.Text); Timer3.Interval := StrToInt(Edl.Text); Timer4.Interval := StrToInt(Edrw.Text); Timer1.Enabled:=True; for i:=1 to StrToInt(Edg.Text) do begin cbData1.checked:=true; cbStrobe.checked:=false; Timer1.Enabled:=false; end; for i:=1 to StrToInt(Edr.Text) do begin Timer2.Enabled:=true; cbData5.checked:=false; cbStrobe.checked:=false; Timer2.Enabled:=false; end; for i:=1 to StrToInt(Edl.Text) do begin Timer3.Enabled:=true; cbData7.checked:=false; cbStrobe.checked:=false; Timer3.Enabled:=false; end; for i:=1 to StrToInt(Edrw.Text) do begin Timer4.Enabled:=true; cbData3.checked:=false; cbStrobe.checked:=false; Timer4.Enabled:=false; end; end; end. |
Re: Reihenfolge der Timer festlegen
Nochmal, bitte verwende das OnTimer Ereignis um die Check Funtionen zu realisieren.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var b:byte; i:integer; begin Timer1.Interval := 1000 * StrToInt(Edg.Text); Timer2.Interval := 1000 * StrToInt(Edr.Text); Timer3.Interval := 1000 * StrToInt(Edl.Text); Timer4.Interval := 1000 * StrToInt(Edrw.Text); Timer1.Enabled :=True; Timer2.Enabled:=True; Timer3.Enabled:=True; Timer4.Enabled:=True; end;
Delphi-Quellcode:
Außerdem, solltest du dir gedanken über die Eingabe machen, wie ist es wenn jemand einen Bustaben eingibt. Das musst du sperren, oder eine Fehlrbehandlung schreiben.
procedure TForm1.Timer1Timer(Sender: TObject);
begin Checkbox.Check = true; end; Um den code oben mal zu erklären, das ist nur ein Hinweis, den musst du natürlich nach deinen Anforderungen anpassen. |
Re: Reihenfolge der Timer festlegen
Also mein neuer Quelltext
Delphi-Quellcode:
folgendes Problem ich gebe also in das edit feld 5 ein und in das andere 8 ...
procedure TForm1.Button1Click(Sender: TObject);
var b:byte; i:integer; begin Timer1.Interval := 1000* StrToInt(Edg.Text); Timer2.Interval := 1000* StrToInt(Edr.Text); Timer3.Interval := 1000* StrToInt(Edl.Text); Timer4.Interval := 1000* StrToInt(Edrw.Text); Timer1.Enabled:=True; Timer2.Enabled:=True; Timer3.Enabled:=True; Timer4.Enabled:=True; end; procedure TForm1.Timer1Timer(Sender: TObject); var i:integer; begin cbData1.checked:=false; cbStrobe.checked:=false; Timer1.Enabled:=false; end; procedure TForm1.Timer2Timer(Sender: TObject); var i:integer; begin cbData5.checked:=false; cbStrobe.checked:=false; Timer2.Enabled:=false; end; procedure TForm1.Timer3Timer(Sender: TObject); var i:integer; begin cbData7.checked:=false; cbStrobe.checked:=false; Timer3.Enabled:=false; end; procedure TForm1.Timer4Timer(Sender: TObject); var i:integer; begin cbData3.checked:=false; cbStrobe.checked:=false; end; end. ist dieser quelltext so ausgelegt das der erst die 5s macht dann die 8... |
Re: Reihenfolge der Timer festlegen
Und da wäre nochwas wie leg ich das fest das der zuerst den timer1 ablaufen lässt und danach erst timer2
|
Re: Reihenfolge der Timer festlegen
Also, jetzt muss selbts ich mal stutzen, ich bin normal nicht empfindlich, aber ich habe auch echt kein Bock dir deine arbeit abzunehemen.
1. Gib dir bitte mal selberetwas Mühe und aber nicht nur mit Copy & Paste und.... 2. Irgendwie kam mir dein Beitrag bekannt vor, aber das man in ein und dem selben Forum mit zwei der gleichen Thread´s arbeit finde ich ist schon absolut schlecht. ![]() |
Re: Reihenfolge der Timer festlegen
Da das Problem vom Threadsteller schon gestellt und dort bearbeitet wird, mache ich hier mal zu.
* * * C l o s e d * * * |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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 by Thomas Breitkreuz