Delphi - DateTimePicker - zadávanie dátumu a času naraz
Potreboval som v Delphi zadať do databázy dátum a čas s presnosťou na hodiny (minúty a sekundy sú teda nezaujímavé). Použil som komponentu DateTimePicker, ktorá práve toto umožňuje, keďže je možné nastaviť formát pre zadávanie a tým "stornovať" minúty a sekundy. Tieto časy sa mali zadávať dva s podmienkou, že druhý nasleduje za prvým (jedná sa o vymedzenie času neprítomnosti pracovníka). Pri kontrole časov pomocou udalosti OnChange som zistil, že sa mi kontroluje iba čas a že dátum môžem nastaviť aký chcem, program sa nestará, že je prvý väčší ako druhý. Problém bol v tom, že vlastnosť Kind bola nastavená na bkTime. Takže ako som neskôr zistil, tak to znamená zadávanie času. Porovnával som podľa vlastnosti DateTime. Rozhodol som sa teda nelaborovať a skúsil som dať pre každý čas dva DateTimePicker komponenty. Jeden pre dátum a druhý pre čas. Ako defaultný čas som dal dnešný dátum a čas (funkcia Today). Tam som oddelil desatinnú časť od celej časti a každú vložil do príslušnej komponenty. Táto komponenta si totiž pamätá aj dátum a čas, takže ten druhý údaj som musel anulovať. Ja som totiž chcel časový údaj získať sčítaním dátumového údaju z prvej komponenty s časovým údajom z druhej komponenty. Znamená to teda, že do dátumovej komponenty som vložil celé číslo ako dátum a do časovej som vložil desatinnú časť ako hodiny. Porovnávanie časov som musel upraviť pre túto novú situáciu a keď som porovnávanie dopísal, tak som to chcel vyskúšať. Pri zadaní nultej hodiny sa program zrútil. Vyzerá to tak, že zadaný čas bol teda 00:00:00 a keďže dátum som nastavil na nulu, tak výsledný časový údaj vo vlastnosti DateTime mal byť 0, ale program to nezvládol. Prečo som teda dátum oddelil od času? Išlo o to, aby som mohol sčítať časový údaj z dátumovej komponenty a časovej komponenty a získať tak dátum aj čas v premennej typu TDateTime (čiže Double). Program teda nebeží a mňa ide poraziť.
Vie mi niekto poradiť, ako zadávať dátum aj čas v jednej kompnente DateTimePicker, prípadne pomôcť so získaním časového údaju z dvoch komponent (1. dátum, 2. čas)?