Autor |
Beitrag |
chickenfigt1989
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: Do 10.03.11 16:45
Hallo
Habe im Forum folgenden Code gefunden:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Timer1Timer(Sender: TObject); begin Label4.visible:=true; if Zeit < StrtoTime('00:00:01') then Label4.Caption:='Zeit abgelaufen' else begin Zeit:=Zeit - 1 / SecsPerDay; Label4.Caption:=TimeToStr(Zeit); end; end; |
Die zeitanzeige klappt wie ich will allerdings wenn die Zeit 00:00:01 beträgt wird bei Label4.caption Zeit abgelaufen angezeigt. Aber ich will das mehr passiert
Jetzt hab ich folgendes Probiert:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Timer1Timer(Sender: TObject); begin Label4.visible:=true; if Zeit < StrtoTime('00:00:01') then Label4.Caption:='Zeit abgelaufen' Label2.Caption:='Fertig' else begin Zeit:=Zeit - 1 / SecsPerDay; Label4.Caption:=TimeToStr(Zeit); end; end; |
Wieso funktioniert das nicht?
lg Moderiert von Narses: Topic aus VCL (Visual Component Library) verschoben am Do 10.03.2011 um 16:19
|
|
guinnes
      
Beiträge: 182
Erhaltene Danke: 14
|
Verfasst: Do 10.03.11 16:53
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: Do 10.03.11 16:55
Geht auch nicht da kommt immer
[Error] Unit1.pas(118): Missing operator or semicolon
mein Code sieht nun so aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.Timer1Timer(Sender: TObject); begin Label4.visible:=true; if Zeit < StrtoTime('00:00:01') then begin Label4.Caption:='Zeit abgelaufen' Showmessage('ddd') end else begin Zeit:=Zeit - 1 / SecsPerDay; Label4.Caption:=TimeToStr(Zeit); end; end; |
Lg
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Do 10.03.11 16:59
kommt von C&P und nicht verstehen
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| if Zeit < StrtoTime('00:00:01') then begin Label4.Caption:='Zeit abgelaufen'; Showmessage('ddd'); end else |
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
guinnes
      
Beiträge: 182
Erhaltene Danke: 14
|
Verfasst: Do 10.03.11 17:00
chickenfigt1989 hat folgendes geschrieben : | Geht auch nicht da kommt immer
[Error] Unit1.pas(118): Missing operator or semicolon |
Und warum machst du dann nicht die Semicolons dahin, wo sie hingehören ?
|
|
Tankard
      

Beiträge: 217
Erhaltene Danke: 96
|
Verfasst: Do 10.03.11 17:01
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Do 10.03.11 17:03
oder wenigstens Fehlermeldungen zu verstehen 
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 10.03.11 17:34
Tankard hat folgendes geschrieben : | MAN. Fang mal endlich an Pascal zu lernen. Tutorials lesen. |
Das hat nichts mit lernen zu tun. Wenn da steht, dass ein Operator oder Semikolon fehlt und dann deswegen hier gefragt werden muss, was das heißt, dann nenne ich das nicht unwissend, sondern dämlich. Sorry, ich schreib sowas ja sonst eigentlich nicht, ist hier aber so.
Schließlich steht es in der Fehlermeldung direkt da, dass das Semikolon fehlt. Was gibt es da noch zu fragen? 
Für diesen Beitrag haben gedankt: ALF, Marc.
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Do 10.03.11 17:51
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 10.03.11 17:53
Wahrscheinlich weil es gerade ein neues Projekt ist. 
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: So 13.03.11 01:18
Folgender Fall.
Ich hab eine Combobox wo man 16pflanzen auswählen kann.
Jede Pflanze hat eine eigene Zeit, funktioniert auch Prima.
Allerdings will ich mehrere Comboboxen haben dann brauch ich ja mehrere Timer,
doch dann läuft die zeitanzeige viel zu schnell runter.
Wie mach ich das?
lg
|
|
HenryHux
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: So 13.03.11 01:22
Leider kann ich da nur reinraten, was dein Problem ist.
Setzt du denn jedes mal wenn man einen Eintrag auswählt das Interval auf die Zeit der Pflanze?
Lg
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: So 13.03.11 01:27
So sieht es aus wenn man einen Eintrag aus der Combobox wählt:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| if ComboBox1.ItemIndex=1 then begin Button6.visible:=true; Label2.visible:=true; Button2.Visible:=false; Zeit:= StrtoTime('00:00:10'); Timer2.enabled:=true; end; |
Anzumerken ist, das ich drei Tabsheets hab auf jedem tabsheet sollen mindestens 6comboboxen mit einen eigenen timer.
Edit: Habs selber hinbekommen und zwar hab ich bei der Zweiten combobox folgendes geändert:
Aus
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| if ComboBox2.ItemIndex=2 then begin Label8.visible:=true; Button4.Visible:=false; Zeit:= StrtoTime('00:00:10'); Timer1.enabled:=true;
end; |
wurde
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| if ComboBox1.ItemIndex=1 then begin Button6.visible:=true; Label2.visible:=true; Button2.Visible:=false; time:= StrtoTime('00:00:10'); Timer2.enabled:=true; end; |
und oben sieht es so aus:
Delphi-Quelltext 1: 2: 3: 4:
| var Form1: TForm1; Zeit:TDateTime; time:TDateTime; |
Lg
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: So 13.03.11 12:10
Ich hoffe doch nur, das Du nun nicht auch 16 Timer für 16 Pflanzen gesetzt hast
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: So 13.03.11 14:33
Nein hab einen Timer für die sämtlichen pflanzen die in der Combobox stehen.
Brauch halt trotzdem 4timer weils bäume und so auch noch gibt.
lg
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: So 13.03.11 14:36
Auch dazu brauch man eigentlich nur einen Timer
Der rest ist Code
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
beastofchaos
      
Beiträge: 247
Erhaltene Danke: 4
|
Verfasst: So 13.03.11 15:06
Ich weiß ja nicht, wie du dir das vorstellst mit den Bäumen und Pflanzen - ich vermute, du wilst iwie die Zeit zum wachsen "messen" oder so was. Ich würde da vll schon 2 timer für die beidne fälle nehmen, sofern du nicht das verhältnis zwischen dem einen und anderen Timer weißt
also so wär es leicht zu einem timer zu lösen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| TForm1.FormCreate(Sender: TObject); begin Timer1.Interval := 1000; Timer2.Interval := 500; end;
TForm1.Timer1Timer(Sender: TObject); begin a := a + 20; end;
TForm1.Timer2Timer(Sender: TObject); begin b := b + 20; end; |
Lösung:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| TForm1.FormCreate(Sender: TObject); begin Timer1.Interval := 1000; end;
TForm1.Timer1Timer(Sender: TObject); begin a := a + 20; b := b + 40; end; |
So, kann man alles in einem Timer unterbringen
Grüße, beast
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: Mi 27.04.11 23:03
hallo
habe den timer wie oben gepostet
kann man es irgendwi so machen das wenn die zeiit nur noch 60min beträgt nen warnsound oder so ausgibt?
lg
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 27.04.11 23:18
chickenfigt1989 hat folgendes geschrieben : | kann man es irgendwi so machen das wenn die zeiit nur noch 60min beträgt nen warnsound oder so ausgibt? |
Ja.
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: Mi 27.04.11 23:21
|
|