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

Offline Slavomir

  • Nováček
  • *
  • Příspěvků: 48
  • Karma: 0
    • 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.
Delphi XE2, RQ Money

Offline Miroslav Baláž

  • Plnoletý
  • ***
  • Příspěvků: 248
  • Karma: 8
    • 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ů: 863
  • Karma: 42
  • 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!

Offline Slavomir

  • Nováček
  • *
  • Příspěvků: 48
  • Karma: 0
    • 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.
Delphi XE2, RQ Money

Offline Slavomir

  • Nováček
  • *
  • Příspěvků: 48
  • Karma: 0
    • 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
Delphi XE2, 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.

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