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 Reihenfolge der Timer festlegen (https://www.delphipraxis.net/130861-reihenfolge-der-timer-festlegen.html)

delphi-projekt 14. Mär 2009 16:40


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.

Jens Hartmann 14. Mär 2009 16:54

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:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    Checkbox.Check = true;
end;
Allerdings, möchtes du doch die Timer Zeit nutzen also, müsstest Du das OnTimer Event nutzen.

Gruß Jens

delphi-projekt 14. Mär 2009 17:00

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.

delphi-projekt 14. Mär 2009 17:19

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.

Jens Hartmann 14. Mär 2009 18:31

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:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
    Checkbox.Check = true;
end;
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.

Um den code oben mal zu erklären, das ist nur ein Hinweis, den musst du natürlich nach deinen Anforderungen anpassen.

delphi-projekt 14. Mär 2009 19:13

Re: Reihenfolge der Timer festlegen
 
Also mein neuer Quelltext

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;
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.
folgendes Problem ich gebe also in das edit feld 5 ein und in das andere 8 ...
ist dieser quelltext so ausgelegt das der erst die 5s macht dann die 8...

delphi-projekt 14. Mär 2009 19:14

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

Jens Hartmann 14. Mär 2009 22:43

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.

Timerfrage 2 ?????????????????????????????????????????????????? ??????????????? :roll: :roll: :roll:

alzaimar 15. Mär 2009 09:06

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