Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Datum -und Zeit-Angabe in 2 DateTimePicker eintragen


THF - Sa 30.08.08 12:08
Titel: Datum -und Zeit-Angabe in 2 DateTimePicker eintragen
Ich möchte Datum und Zeit-Angabe (STRING) aus einer Datenbank in 2 DateTimePicker
(einen für die Uhr-Zeit,einen für das Datum) eintragen.
Problem ist das beide Angaben für Zeit und Datum in derselben Datenbankzelle stehen,
und durch 4 Leerzeichen getrennt sind

"12:09:56....24.08.2008" ---> DateTimePicker1 + DateTimePicker2 (Uhrzeit) (Datum)

Weiß nicht ,wie das geht.


huuuuuh - Sa 30.08.08 12:11

schau dir mal die befehle Pos, Copy und length() an...


THF - Sa 30.08.08 12:22
Titel: Re: Datum -und Zeit-Angabe in 2 DateTimePicker eintragen
user profile iconTHF hat folgendes geschrieben:


"12:09:56....24.08.2008" ---> DateTimePicker1 + DateTimePicker2 (Uhrzeit) (Datum)



so eventuell ? ? ?


Zeit :=copy("12:09:56....24.08.2008",1,7)

DateTimePicker1.Time :=StrToTime(Zeit)


Delete - Sa 30.08.08 12:33

die strings musst davor natürlich noch ins TDateTime format umwandeln ...

wenn du die daten nur anzeigen möchtest oder wenn dies genügt, könntest sie einfach in ein label einstellen und gut wärs ...


huuuuuh - Sa 30.08.08 12:47

@thf ja... natürlich statt " ein '... wenn die zeit-angabe immer gleich viel stellen hat wird dein code so funktionieren


THF - Sa 30.08.08 12:55

So funktioniert es :


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Zeit := Copy (Edit1.Text,1,8);
DateTimePicker1.Time:= StrToTime(Zeit);


Zeit := Copy (Edit1.Text,12,10);
DateTimePicker2.Date:= StrToDate(Zeit);


Delete - Sa 30.08.08 13:03

das funktioniert aber nur auf dem rechner, auf dem die delimiter in der dB mit dennen im Win übereinstimmen. ansonsten kracht es. hier vielleicht besser per hand auseinander nehmen und anschliessend wieder zusammensetzen :-)


THF - Sa 30.08.08 13:07

Wie ????

Auf einem anderen Rechner läuft das nicht ???

Wie soll ich es sonst machen


Delete - Sa 30.08.08 13:16

einzeln die teilstrings exterhieren, in int verwandeln und mit encodedate/encodetime in einen date/time wert konvertieren...

aber wie an anderer stelle geschrieben... am besten gleich als zahl abspeichern... dann hast du kein problem damit...

PS: mit welcher datenbank arbeitest du ...?


THF - Sa 30.08.08 13:28

Bei diesem Projekt arbeite ich mit MyBase

Ich werde das nochmal überarbeiten und in einem anderen Format abspeichern.