Format datuma Windows 10

Vse drugo, kar ne spada v nobeno zgornjo kategorijo.
Odgovori
zippo
Prispevkov: 264
Pridružen: 14.07.2002 12:11:29

Format datuma Windows 10

Odgovor Napisal/-a zippo » 17.10.2018 11:19:44

Pozdrav, klapa!

Zanima me, kako vi programreji rešujete problem, ki ga imam z Delphi 10.2 in windows 10. Imam namreč precej problemov za presledkom v formatu datuma, ki ga uporablja Windows 10. Primer je "01. 01. 2018".

Problem se pojavi pri npr. TDateEdit, ki javi napako, da ni veljaven format datuma.

Imate tudi vi tak problem? Če ja, kako ga rešujete?

Miha-R
Prispevkov: 2155
Pridružen: 14.05.2001 21:29:53

Re: Format datuma Windows 10

Odgovor Napisal/-a Miha-R » 17.10.2018 11:58:59

Takole smo to rešili v naših programih:

1. Uporabimo initialization sekcijo in preverimo, če FormatSettings.ShortDateFormat vsebuje kakršenkoli presledek poleg običajne in pričakovane pike.
2. S funkcijo TryStrToDate preverimo, ali smo sposobni datum spremeniti v tekst in nazaj.
3. Če pride do težav, uporabimo knjižnico Delphi Detours Library in funkcijo InterceptCreate, da:
3.1. preusmerimo APIje GetLocaleChar, GetLocaleFormatSettings in GetFormatSettings v naše lokalne funkcije.
3.2. v preusmerjenih funkcijah najprej kličemo original, nato še prenastavimo FormatSettings.DateSeparator nazaj na '.' (brez presledka)
4. V finalization morebitno preusmeritev odstranimo.

Vse skupaj imamo zapakirano v unit, ki ga vključimo v .dpr čimvišje na spisku vseh unitov.
Vedno sem želel napisati prav tak odgovor.

zippo
Prispevkov: 264
Pridružen: 14.07.2002 12:11:29

Re: Format datuma Windows 10

Odgovor Napisal/-a zippo » 17.10.2018 13:34:19

OK, hvala.

Morda se motim, ma kaj je tukaj Windows 10 napaka v datumu (kateri mi je res malo čuden s temi presledki...) ali Delphi nima podpore za Slovenske Win10?

V bistvu mi je malo zoprno, da v C# deluje BP, v Delphiju pa ne.

lp,
m@rko

Miha-R
Prispevkov: 2155
Pridružen: 14.05.2001 21:29:53

Re: Format datuma Windows 10

Odgovor Napisal/-a Miha-R » 17.10.2018 15:13:55

Win10 je spremenil zapis datuma za slovenski in hrvaški jezik. Win APIji so začeli kot DateSeparator vračati kombinacijo dveh znakov, pike in presledka. Delphi tu predvideva, da je za mejnik dovolj samo en znak in ko pretvarja tekst v datumski tip, uporabi napačen pristop in dobi napačen rezultat.

Pred dvema letoma, ko sem iskal rešitev, sem ugotovil, da je RTL koda v tem delu precej nesrečno spisana in je vprašanje, če bo sploh kdaj popravljeno. Sem pa zdajle našel ticket v njihovem sistemu in ja, po skoraj treh letih je še vedno odprt.
Vedno sem želel napisati prav tak odgovor.

misterti
Prispevkov: 1
Pridružen: 18.02.2019 09:23:55

Re: Format datuma Windows 10

Odgovor Napisal/-a misterti » 18.02.2019 09:26:56

Zaradi več-znakovnega ločila sem Imel težavo s StrToDateTime,
VarToDateTime iz knjižnice Variants dela pravilno

zippo
Prispevkov: 264
Pridružen: 14.07.2002 12:11:29

Re: Format datuma Windows 10

Odgovor Napisal/-a zippo » 18.02.2019 09:45:54

Hvala za namig!

Roman
Prispevkov: 123
Pridružen: 15.10.2001 15:28:09

Re: Format datuma Windows 10

Odgovor Napisal/-a Roman » 11.04.2019 12:56:24

Najbrž je Microsoft upošteval standardno slovensko obliko datuma.
https://www.leemeta.si/blog/slovenski-p ... lovenscini
Mene presledki tudi motijo.

janezb
Prispevkov: 1
Pridružen: 30.11.2016 17:18:16

Re: Format datuma Windows 10

Odgovor Napisal/-a janezb » 11.11.2019 09:45:17

Še danes Win10 uporablja te presledke :roll:

kolesarska oblačila čelade števec za kolo kolesarske čelade kolo krmila ključavnice za kolo skiroji električna kolesa kolesa treking kolesa otroški vozički slike družabne igre otroški bazeni igrače za otroke elektronska varuška lego kocke previjalna komoda otroški avtosedeži otroška posteljica igralne podloge otroški sedež za kolo revma revmatoidni artritis vnetje sklepov kavni avtomati za podjetja najem avtomata za kavo kava kavni avtomat avtomat avtomat za kavo stanovanjski kredit za mlade hitri gotovinski kredit hitri kredit za nekomitente najugodnejši krediti kredit takoj na položnice gotovinski kredit gotovinski krediti zamenjava banke informativni izračun kredita obročna Visa electron kredit za sp gotovinsko posojilo gotovinsko posojilo takoj izobraževanje cisco sdn IoT varnost omrežja brezžična omrežja postavitev omrežja erp informacijska varnost omrežje SOC vzdrževanje postelje otroški vozički avtosedež jedilne garniture vzglavniki ležišča jogi triglav skladi skladi zlato tečajnica delnice vzajemni skladi triglav skladi tečajnica varčevanje vzajemni skladi tečajnica skladi tečajnica tečajnica skladov kako varčevati vlaganje investicijski skladi tečajnica vzajemnih skladov varčevanje denarja naložbe finančni svetovalec varčevanje za pokojnino vzajemni sklad varčevanje v skladih varčevalni načrt upravljanje premoženja triglav vzajemni skladi tečajnica vzajemni skladi vlaganje v sklade posteljnina vrtne garniture vzmetnice ležišča in posteljni podi zapestnice verižice nakit šumenje v ušesih podančice pms baldrijan holesterol ameriški slamnik ameriški slamnik kandida depresija pegasti badelj poceni gume žarnice poslovna darila kapa s šiltom majice marketinška agencija oblikovanje spletnih strani marketing automation vsebinski marketing inbound marketing Google oglaševanje spletno oglaševanje lead generation prstani poceni poročni prstani uhani davčne blagajne avtodeli avto deli strešni kovcki nosilec za kolo predstave kopalnice žar plise zavese

Odgovori