Entwickler-Ecke
Sonstiges (Delphi) - Ist Zeitpunkt abgelaufen ?
Tarry - Do 07.02.08 18:34
Titel: Ist Zeitpunkt abgelaufen ?
Hi,
entweder steh ich auf dem Schlauch oder mein Delphi spinnt... (ich vermute mal ersteres ;))
Folgender Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Zeit := Now; for i := 0 to lbxDatum.Count-1 do begin if (Zeit >= StrToDate(lbxDatum.Items[i])) and (Zeit >= StrToTime(lbxZeit.Items[i])) then begin end; end; |
Sollte eigentlich erkennen wann der Weckzeitpunkt abgelaufen ist und dann die entsprechende Prozedure ausführen, allerdings
führt er diese einfach
immer aus egal ob der Zeitpunkt schon vorbei ist oder nicht... :(
Könnt ihr mir helfen?
Gruß
Tarry
Hexenkönig - Do 07.02.08 18:41
könnte es sein, dass die Funktion strtodate und now verschiedene Formate zurückgeben?
Wie zum Beispiel T/M/J und M/T/J und es daraufhin zu fehlinterpretationen kommt?
Yogu - Do 07.02.08 18:46
Now ist vom Typ
DateTime. Du kannst
Now nicht einzeln mit
Date und
Time vergleichen.
Delphi-Quelltext
1: 2: 3: 4: 5:
| for i := 0 to lbxDatum.Count-1 do if Now >= (StrToDate(lbxDatum.Items[i]) + StrToTime(lbxZeit.Items[i])) then begin end; |
Außerdem empfehle ich dir eine bessere Codeformatierung, das hat schon manchen Fehler sichtbar gemacht ;)
Tarry - Do 07.02.08 18:48
Hexenkönig hat folgendes geschrieben: |
könnte es sein, dass die Funktion strtodate und now verschiedene Formate zurückgeben?
Wie zum Beispiel T/M/J und M/T/J und es daraufhin zu fehlinterpretationen kommt? |
Ne, das Problem liegt bei der Zeit, da stimmt das Format aber, hab's überprüft....
Yogu - Do 07.02.08 18:54
Hast du meinen Post gesehen? So wie du es geschrieben hast, kann es gar nicht klappen. Eine Zeitangabe ist immer am 1. 1. 1970, das kannst du so gar nicht mit einem wirklichen Datum vergleichen. Du musst noch das Datum dazuaddieren.
Tarry - Do 07.02.08 18:54
Yogu hat folgendes geschrieben: |
| Außerdem empfehle ich dir eine bessere Codeformatierung, das hat schon manchen Fehler sichtbar gemacht ;) |
DANKE, das klingt gut, ich werd's gleich mal testen ;)
Gruß
Tarry
EDIT: Die Formatierung ist so, wie ich's in der Schule gelernt habe...
Moderiert von
Narses: Zitat gekürzt
GTA-Place - Do 07.02.08 19:20
Dann zeig deinem Lehrer wie man richtig formatiert ;-)
Yogu - Do 07.02.08 19:24
Tarry hat folgendes geschrieben: |
| Die Formatierung ist so, wie ich's in der Schule gelernt habe... |
GTA-Place hat folgendes geschrieben: |
| Dann zeig deinem Lehrer wie man richtig formatiert |
Das solltest du wirklich tun. Es ist immer gut, wenn du die gleiche Syntax hast, wie sie auch Delphi nimmt. Das ist einfach nur besser, wenn du einen Fehler suchst. Beispielsweise fehlen öfters einfach nur
end;s. Solche kleinen Fehlerchen kriegst dur raus, wenn du den Code gut formatierst.
Tarry - Do 07.02.08 19:30
Yogu hat folgendes geschrieben: |
| Beispielsweise fehlen öfters einfach nur end;s. Solche kleinen Fehlerchen kriegst dur raus, wenn du den Code gut formatierst. |
Ob nen end; fehlt sehe ich doch auch bei:
Delphi-Quelltext
1: 2: 3: 4:
| if true then begin tuwas; tuwas; |
Wie ist denn die
richtige Formatierung ?
Gruß
Tarry
Moderiert von
Narses: Zitat gekürzt
Yogu - Do 07.02.08 19:40
Jetzt werden wir aber arg OffTopic :wink:
Die
richtige Formatierung ist die, die Borland für Delphi gewählt hat. Du siehst sie schon bei der einfachen Unit eines Formulars - und noch mehr, wenn du den Quelltext eines Formulars anzeigst, oder eine Event-Prozedur erstellst. Wenn du Zugriff auf die Delphi-Units hast, dann siehst du da auch, wie die formatiert sind.
Bei deiner Formatierung kommt man schnell mal zum rechten Rand, weil du mit so vielen Leerzeichen einrückst.
Hier mal ein Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure Prozeder(Parameter1: String; var Parameter2: Integer); var i: Integer; begin Parameter2 := 0; for i := 1 to Length(Parameter1) do begin case Parameter[i] of #13: inc(Parameter2); '-': dec(Parameter2); end; end; end; |
Tarry - Do 07.02.08 20:00
Danke, werds mir für meine zukünftigen Projekte merken, glaub aber nicht, dass ich den Wecker, den ich grade programiere noch umschreibe... ;)
Gruß & Danke
Tarry
EDIT: Wie mache ich das denn bei if, then else ?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if true then begin TuWas; TuWas; end; else begin TuWas; TuWas; end; |
Das sieht doch irgendwie beschei...den aus.... ;)
Moderiert von
Narses: Zitat entfernt
Yogu - Do 07.02.08 20:35
Ich hab dir mal per PN geschrieben. Und nun schleunigst Back To Topic! :mahn:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!