Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi überfordert ~.~ (https://www.delphipraxis.net/174189-ueberfordert-%7E-%7E.html)

kwhk 9. Apr 2013 16:34

AW: überfordert ~.~
 
Zitat:

anreise:=(DatetoStr(bu_anreise.Date));
abreise:=(DatetoStr(bu_abreise.Date));

if (anreise >= abreise) then
Hierbei werden die Datum-Angaben jeweils in Strings des Formates TT/MM/JJJJ gewandelt und so verglichen.
Datum-String-Vergleiche sollte man aber immer im Format JJJJ/MM/TT durchführen, andernfalls ist der 02/04/2013 kleiner als der 31/03/2013.

DeddyH 9. Apr 2013 16:36

AW: überfordert ~.~
 
Wieso eigentlich Datumswerte als String vergleichen statt gleich als TDate(Time)?

kwhk 9. Apr 2013 16:40

AW: überfordert ~.~
 
Dazu hat er etwas gesagt

Ich hab auch ein Teil des Quelltextes als Kommentar gesetzt, da ich zu Hause mit Turbo Delphi und in der Schule mit Delphi 6 arbeite. Bsp. das Datum dass ich benutze ...in Turbo Delphi klappt es ganz normal und Delphi 6 muss ich es erst zwerlegen und dann wieder zusammenfügen und wenn ich die Version von Delphi 6 zu Hause mache, dann gehts nicht.

nahpets 9. Apr 2013 16:45

AW: überfordert ~.~
 
Hallo,
Zitat:

Zitat von kwhk (Beitrag 1210831)
Dazu hat er etwas gesagt

Ich hab auch ein Teil des Quelltextes als Kommentar gesetzt, da ich zu Hause mit Turbo Delphi und in der Schule mit Delphi 6 arbeite. Bsp. das Datum dass ich benutze ...in Turbo Delphi klappt es ganz normal und Delphi 6 muss ich es erst zwerlegen und dann wieder zusammenfügen und wenn ich die Version von Delphi 6 zu Hause mache, dann gehts nicht.

wenn ich mich recht erinnere, habe ich Datumswerte schon vor Delphi 6 miteinander vergleichen können, da muss irgendwo noch ein andere Haken sein.

DeddyH 9. Apr 2013 16:46

AW: überfordert ~.~
 
Er zerlegt aber den String und nicht das Datum. Ein TDateTime ist vom Typ double, IIRC ist das schon seit Delphi 1 so, das kann nichts mit der Delphi-Version zu tun haben.

kwhk 9. Apr 2013 16:53

AW: überfordert ~.~
 
Zitat:

Zitat von DeddyH (Beitrag 1210833)
Er zerlegt aber den String und nicht das Datum. Ein TDateTime ist vom Typ double, IIRC ist das schon seit Delphi 1 so, das kann nichts mit der Delphi-Version zu tun haben.

Er erstellt aus dem Datum jeweils einen String DD/MM/YYYY , vergleicht diese Strings miteinander (im DD/MM/YYYY-Format, das klappt nur wenn beide Jahr und Monat gleich haben), danach macht er aus den Strings wieder Datum-Angaben.

DateToStr benutzt Formateinstellungen, die können (wenn nicht angegeben) unterschiedlich sein, z.B. DD/MM/YYYY oder die englische Version MM/DD/YYYY. Auch der Separator "/" kann unterschiedlich sein , z.B. "." oder "-".

Zitat:

procedure TForm2.Button1Click(Sender: TObject);
var zeile, spalte: integer;
begin
spalte := 1;
//Datum des DateTimePicker auf Variablen legen
anreise:=(DatetoStr(bu_anreise.Date));
abreise:=(DatetoStr(bu_abreise.Date));

if (anreise >= abreise) then
begin
Showmessage('Buchung nich möglich. Bitte überprüfen Sie das Datum.');
end
else
begin
{
DD:=copy(anreise,1,2); //auf DD den Tag des Monats legen
delete(anreise,1,3); // Tag des Monats und den dazugehцrigen Punkt lцschen

MM:=copy(anreise,1,2); //auf MM den Monat legen
delete(anreise,1,3); //den Monat und den dazugehцrigen Punkt lцschen

JJ:=copy(anreise,1,4); //auf JJ das Jahr legen

anreise:=DD+'/'+MM+'/'+JJ; //auf anreise Tag, Monat und Jahr legen und
//diese mit / als Trenzeichen versehen

DD:=copy(abreise,1,2); //auf DD den Tag des Monats legen
delete(abreise,1,3); // Tag des Monats und den dazugehцrigen Punkt lцschen

MM:=copy(abreise,1,2); //auf MM den Monat legen
delete(abreise,1,3); //den Monat und den dazugehцrigen Punkt lцschen

JJ:=copy(abreise,1,4); //auf JJ das Jahr legen

abreise:=DD+'/'+MM+'/'+JJ; //auf abreise Tag, Monat und Jahr legen und
//diese mit / als Trenzeichen versehen
}

//ANFRAGE: die Zimmer sollen ausgegeben werden die
// im angegebenen Zeitraum belegt sind

DeddyH 9. Apr 2013 16:54

AW: überfordert ~.~
 
Genau. Weshalb?

Anfänger2013 9. Apr 2013 18:10

AW: überfordert ~.~
 
*.* ..sind gute Tipps die ihr mir da gegeben habt ...werd gleich versuchen sie umzusetzen ;) und ein großes Dankeschön an die Post :)

das mit den " # " im Datum, ka kann auch nicht genau sagen ...Delphi zickt bei uns immer in der Schule und durch such im Internet und Lehrer hat es sich so halt i.wie ergeben. Ich muss auch das Datum bei Delphi 6 immer zerlegen, wie im Quelltext bei mir, da ich sonst eine Fehlermeldung bekomme.


LG Sergej

DeddyH 9. Apr 2013 18:33

AW: überfordert ~.~
 
Welche Fehlermeldung und in welcher Zeile?

Anfänger2013 9. Apr 2013 19:28

AW: überfordert ~.~
 
die weiß ich nicht genau aus dem Kopf ...hab morgen aber wieder Unterricht und mach dir nen Screen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr.
Seite 2 von 3     12 3      

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