Autor Téma: TDBGrid a abecedné radenie  (Přečteno 724 krát)

Offline Slavomir

  • Mladík
  • **
  • Příspěvků: 51
  • Karma: 0
    • Verze Delphi: XE2
    • RQ Money
TDBGrid a abecedné radenie
« kdy: 10-05-2018, 10:46:51 »
Ahojte, prosím o radu (robím v Lazaruse aj v DelphiXE2).
Doteraz som používal v mojich programoch vstavanú ("embedded") SQLite databázu. Spokojnosť bola s rýchlosťou aj stabilitou. Na zobrazenie údajov z tabuliek som využíval TListView (cez TStringList, kde som si údaje formátoval podľa potreby). Možno to bolo ťažkopádne, ale hlavne fungovalo (aj s lokálnym abecedným radením údajov v TStringList - teda na Slovensku "aáÁäÄbBcCčČ ...").

Teraz skúšam kombináciu SQLite + TDBGrid na zobrazenie údajov z tabuľky (cez TDataset a TSQLQuery). Všetko funguje, až na jednu "drobnosť".
Údaje neviem zoradiť ani za nič v správnom abecednom poradí. používam aj "collate nocase", pridal som aj textový stĺpec navyše, kde všetko ukladám "lower case" pre správne radenie. Nepomáha ... Viem, že "collate nocase" je len pre ASCII znaky. Preto by ma zaujímalo, či nie je vhodnejšia nejaká iná databáza ako SQLite - ak máte s tým skúsenosti. Uvítam nenáročné riešenie (som len programátor samouk), ale aby to radilo rôzne jazyky správne podľa lokálneho nastavenia PC.
Ďakujem.
Lazarus, Delphi - RQ Money

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 377
  • Karma: 14
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:TDBGrid a abecedné radenie
« Odpověď #1 kdy: 10-05-2018, 19:03:18 »
Zatiaľ bez odpovede.. Tak pokus:
Ak by bolo možné FireDAC, potom miesto TSQLQuery by bolo TFDQuery.
Následne COLLATE UTF16NoCase , či COLLATE UTF8NoCase..
Rozšírené možnosti SQLite prostredníctvom FireDAC:
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_SQLite_with_FireDAC#Custom_Collations

Offline Delfin

  • Guru
  • *****
  • Příspěvků: 1281
  • Karma: 56
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:TDBGrid a abecedné radenie
« Odpověď #2 kdy: 10-05-2018, 19:51:41 »
Pouzil bych rozsireni ICU.
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline Slavomir

  • Mladík
  • **
  • Příspěvků: 51
  • Karma: 0
    • Verze Delphi: XE2
    • RQ Money
Re:TDBGrid a abecedné radenie
« Odpověď #3 kdy: 11-05-2018, 12:03:20 »
Vďaka za tipy.
Ak sa mi nepodarí rozchodiť collation podľa tohto návodu, pustím sa po navrhovaných riešeniach.
Lazarus, Delphi - RQ Money

Offline Slavomir

  • Mladík
  • **
  • Příspěvků: 51
  • Karma: 0
    • Verze Delphi: XE2
    • RQ Money
Re:TDBGrid a abecedné radenie
« Odpověď #4 kdy: 24-05-2018, 08:35:37 »
Jednoduché riešenie správneho abecedného radenia záznamov v TDBGride sa skrývalo v komponente TSQLQuery.
Tam som do poľa IndexFieldNames vložil názov stĺpca, podľa ktorého sa záznamy abecedne radili (podľa lokálneho nastavenia). Funguje aj vo Windows, aj v Linuxe.
Takže zatiaľ zostávam pri starej dobrej SQLite databáze ...  ;D
Lazarus, Delphi - RQ Money

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: