Jogu - Mi 08.04.20 11:54
Titel: Parkscheinautomat
Guten Tag,
ich bin neu hier und brauche Hilfe bei einem kleinen Programm.
Ich programmiere derzeit einen Parkscheinautomat. Das Datum wird eingegeben per DateTimePicker, die Zeit über ein Edit in der Form hh:mm.
Per Knopfdruck soll die Differenz zwischen Ankunftszeit und 'now' ausgerechnet werden, damit ich anschließend einen Preis berechnen kann. Dabei habe ich allerdings Probleme.
Bisher sieht der Quellcode so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.BitBtn1Click(Sender: TObject); var Datum, Zeit: string; Ankunft: TDateTime; t, h, hourof, daysbetween, m, minuteof: integer; Differenz, kosten: real;
begin
Datum:=DateToStr(DateTimePicker1.Date); Zeit:=(Edit1.Text); Ankunft:=StrToDateTime(Datum+Zeit);
if now>=Ankunft then
begin t:=daysbetween(Ankunft, now); Differenz:=now-Ankunft; h:=hourof(Differenz); m:=minuteof(Differenz);
if t=0 then Label4.Caption:='0 Tage' ;
|
Laut Problemanalyse fehlen mir in der zweiten BEGIN-Klammer Operatoren oder Semikola. Ich wüsste aber nicht, wo da der Fehler ist, auch, wenn er für euch vielleicht auf der Hand liegt.
Ich hoffe, ihr könnt einigermaßen verstehen, was ich meine und mir eventuell behilflich sein.
Danke im Voraus
Moderiert von Th69: Delphi-Tags hinzugefügt
Gausi - Mi 08.04.20 12:37
Hallo und :welcome: in der Entwickler-Ecke!
Du hast oben bei den Variablen zwei Dinge drin, die da nicht hingehören
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.BitBtn1Click(Sender: TObject); var Datum, Zeit: string; Ankunft: TDateTime; t, h, hourof, daysbetween, m, minuteof: integer; Differenz, kosten: real; |
Das sind eigentlich Funktionen, die die Stunden- und Minuten-Anteile bzw. die Anzahl der Tage zwischen zwei Daten bestimmen, und später benutzt du diese auch wie Funktionen. Und diese Variablen-Bezeichner haben später in dieser Zeile Vorrang zur Funktionsdeklaration
Delphi-Quelltext
1:
| t:=daysbetween(Ankunft, now); |
Lösung: Lösch die "falschen" Variablen aus der Var-Liste, dann sollte es klappen. :idea:
Falls nicht, dann muss du die entsprechende Unit bei "uses" eintragen, in der diese Funktionen definiert sind. Die weiß ich aber nicht auswendig - vermutlich DateUtils.