| Autor |
Beitrag |
Tarry
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: Do 07.02.08 18:34
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
_________________ "Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
|
|
Hexenkönig
      
Beiträge: 41
Win XP
Delphi 2005 Personal, Delphi 5 Standart
|
Verfasst: 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?
_________________ Irren ist menschlich, aber wenn man richtigen Mist bauen will, braucht man einen Computer.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: 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 
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: 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....
_________________ "Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: 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 
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: 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
_________________ "Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Do 07.02.08 19:20
Dann zeig deinem Lehrer wie man richtig formatiert 
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: 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 
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: 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
_________________ "Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Do 07.02.08 19:40
Jetzt werden wir aber arg OffTopic
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 
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: 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
_________________ "Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Do 07.02.08 20:35
Ich hab dir mal per PN geschrieben. Und nun schleunigst Back To Topic! 
|
|