1 (edited by Brano 2013-06-20 23:11:25)

Topic: Diakritika vo filtri

Ahoj Slavomír, pri práci v programe používam diakritiku. Všimol som si že ak mám v hlavnom okne v stĺpci "Popis" zapísané čosi veľkými písmenami s diakritikou a chcem to následne vyhľadať pomocou filtra musím použiť veľké písmená s diakritikou. Viem, že Filter pri vyhľadávaní nerozlišuje veľké / malé písmená, pokiaľ nie sú s diakritikou, no ak diakritiku majú, treba dodržať ich "veľkosť".
Napríklad položka: "Ponožky z ÚĽUV-u" nebude nájdená ak napíšem malé "ú"
Neviem, či je to zámer, alebo chyba, no možno by bolo fajn ak by vyhľadávanie nerozlišovalo veľké, či malé písmená. Ďakujem.

Re: Diakritika vo filtri

Ahoj Brano,
máš pravdu, program rozlišuje malé a veľké písmená, resp. nevie ich hľadať súčasne. Je to vlastnosť SQLite databázy. Ja ako programátor (samouk) som zatiaľ neprišiel na spôsob, ako to obísť. V staršej verzii 1.3 som tieto veci riešil napr. tým, že všetky číselníky (asi s výnimkou popisu) mohol užívateľ písať len veľkými písmenami. Vtedy bola záruka, že program v databáze našiel všetky záznamy podľa textu.
Tuším na túto skutočnosť upozorňujem aj v nápovede (ale nie som si istý big_smile, lebo som ju spracúval už dávnejšie).

Ako najjednoduchšie riešenie odporúčam:
a) písať text (v popise) bez diakritiky (ASCII znaky 0 až 255 vie SQLite databáza rozpoznať aj ako malé aj ako veľké písmená súčasne) alebo
b) písať text len veľkými alebo len veľkými písmenami

Možno je aj tretia cesta (programátorská), ktorú ak mi niekto poradí, tak ju skúsim implementovať do programu.

Ešte na margo môjho "time outu", teda prestávky v programovaní - aktuálne pomaly končím s oddychovou prestávkou. Víkendy som trávil často na záhradke, pri grilovačke, na hubách či bylinkách, naposledy to bol 3-dňový splav na Hrone - bolo tam opäť fantasticky. Takžé relax ako sa patrí, pomohlo mi to oddýchnuť si.
Začínam pracovať na module Import bankových výpisov (v CSV formáte). Zatiaľ to rozbieham dosť pomaly, aby som to na začiatok neprehnal. big_smile
Budem pracovať na programe len cez víkendy, takže skoré zhotovenie nehrozí. Keď bude nejaké verzia na zverejnenie (a tiež na otestovanie), včas sa ozvem.

Re: Diakritika vo filtri

Ďakujem za vysvetlenie...nejdená sa o nejakú závažnú chybu, takže počkám...verím, že nájdeš časom riešenie. Ak nie, aj tak nevadí smile. Ďakujem za program.

4 (edited by vlm 2013-06-25 13:49:22)

Re: Diakritika vo filtri

Bohužiaľ, toto je chyba v SQLite, popísaná priamo v prvej vete dokumentácie o Like operátore. Podobný problém sme v jednom projekte riešili pridaním stĺpca do tabuľky, v ktorom je uložená 'očistená' verzia textu a následnom hľadaní v tomto stĺpci. V danom texte sa veľmi jednoducho nahradili všetky písmená s diakritikou za verzie bez nej a všetky veľké sa nahradili malými. Tento spôsob je ale určite časovo náročnejší na implementáciu, najmä ak sa má vyhľadávať vo viacerých stĺpcoch.