Entwickler-Ecke

Sonstiges (Delphi) - Wert von 2 DateTimePickenr addieren zu TDateTime


mega - So 14.05.06 16:43
Titel: Wert von 2 DateTimePickenr addieren zu TDateTime
Hallo,
Wenn ich folgendes mache kommt hinterher das richtige raus (wenn man das mit DateTimeToString ausgibt):

Delphi-Quelltext
1:
myTime := EncodeTime(Hour,Min,Sec,0) + EncodeDate(Year,Month,Day);                    


Wenn ich das mit 2 DateTimePickern mache klappt das nicht.

Delphi-Quelltext
1:
beginTime := DateTimePicker2.Time + DatetimePicker1.Date;                    


Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt


der Berliner - So 14.05.06 17:19

Hallo
Zitat:
1: beginTime := DateTimePicker2.Time + DatetimePicker1.Date;


Du addierst zwei Extended Zahlen. Wenn dann das Ergebnis (auch extended) mit DateTimeToStr ausgibst wird da natürlich nich das
raus was in den DateTimePickern steht sondern es wird das datum und die Zeit angezeigt die Du als Ergebnis deiner addition erhalten hast.

also so funktioniert es.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.FormCreate(Sender: TObject);
var MyTime:TDateTime;
    beginTime:String;
begin
myTime:=EncodeTime(13,25,35,0)+EncodeDate(2006,05,14);
 ShowMessage(DateTimeToStr(MyTime));

beginTime:=DateToStr(DateTimePicker1.Date)+' '+TimeToStr(DateTimePicker2.Time);
 ShowMessage(BeginTime);
end;


vielleicht isses ja das was du wolltest.
Gruß


mega - So 14.05.06 17:26

Das ist es nicht.
Ich will aus den DateTimePickern ein TDateTime.

Oder sonst wie ein Größenvergleich. das myTime soll mit beginTime und endTime verglichen werden, damit nur myTimes zwischne beginTime und endTime genommern werden.
endTime kommt aus noch 2 DateTimePickern.


der Berliner - So 14.05.06 18:04

Schau mal mein post oben hab da nochmal editiert.
ich probiere aber mal weiter.
wüsste auch gerne wie das funktioniert :roll:

Edit:

Ich habs :D

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.FormCreate(Sender: TObject);
var MyTime,beginTime:TDateTime;
    jahr,tag,monat,std,min,sec,ms:word;
begin
myTime:=EncodeTime(13,25,35,0)+EncodeDate(2006,05,14);
ShowMessage(DateTimeToStr(MyTime));

DecodeDate(DateTimePicker1.date,tag,monat,jahr);
DecodeTime(DateTimePicker2.Time,std,min,sec,ms);

BeginTime:=EncodeTime(std,min,sec,ms)+ EncodeDate(Tag,monat,jahr);
ShowMessage(DateTimeToStr(beginTime));
end;


gruß


mega - So 14.05.06 18:42

Danke.
So klappt das.