Citat:
vlaiv: Neka me ispravi neko ako gresim ...
TimeSeparator, DateSeparator i ShortDateFormat (a bogami i Long) se citaju iz regional setting-a
kada se aplikacija startuje ...
Da, ali one nisu ReadOnly. A Regional Settings postavke nekada nisu ono što korisnik želi. Ovo se naročito
odnosi na DecimaSeparator-e, koji mogu da naprave puno problema ko ne zna o čemu se radi. Po meni, ako
postoji potreba, najbolje ih je predefinisiati u programu i tako omogućiti da bez obzira na Regional Settingse,
ispisi datuma u pojedinim data kontrolama budu onako kako je zamišljeno.
Citat:
@X Files
Nije valjda da uvek TDateTime parsiras, enkodiras i dekodiras?
Ne uvek, nisam se možda najbolje izrazio.
Ako se radi o bazama podataka i DataAware kontrolama, onda koristim sledeće (s obzirom da ne postoji
standardna TDBDateTimePicker ili samo TDBDateTime):
- TDBEdit (sa podešenim DisplayFormat u property-jima samog polja neke tabele (ne Mask!), a ne sećam se
zašto sam odustao od MakEdit-a u samom TDBEdit polju. Siguran sam da je bio neki praktičan interfejs korisnički
razlog - a možda sam i loše podesio taj Mask, ko zna...)
- TButton (koji poziva TDateTimePicker, i sinhronizovan je sa TDBEdit poljem)
[att_img]
Dalje, upis u bazu više ne pravi probleme jer transfer ide preko TDateTime objekata.
Što se dekodiranja/enkodiranja tiče.
Programi koje radim nisu uvek DB bazirani, datumi koje odnekud čitam i negde upisujem nisu uvek pod mojom
kontrolom. Poslednji slučaj sam imao u čitanju nekih stranih LOG-ova gde sam morao da implementiram celu logiku
koja otkriva u kom formatu je datum upisan, da bih ja dalje mogao da ispravno odreagujem. Tada sam se uverio
da mi je najčistija situacija da datum dovedem u stanje TDateTime objekta, pa otuda i EncodeDate i DecodeDate.
Sad kad malo bolje razmislim, bilo bi idealno da postoji (možda i postoji?) neka funkcija tipa:
DecodeFormatedDate( AnsiString FORMAT, AnsiString STRING, int Godina, int Mesec, int Dan );
...kojom bi se verovatno sve nedoumice rešavale. Ovo nije teško ni napraviti ako je nema.
P.S.
Evo sad videh da Mr. Rejn pominje neku DB -Aware Date komponentu, ja za nju nisam ni čuo...
[Ovu poruku je menjao X Files dana 02.04.2007. u 13:33 GMT+1]