|
 | | |
| Autor | Správa |
ricco24
 Užívateľ
 Založený: 03.05.2009 Príspevky: 20
 | Zaslal: Po 04.05.09 12:21 |   |
Mam problem s makcenmi v porovnavani v stringu
Skratka mam cyklus
for i:=1 to length(vstup) do
begin
case vstup[i] of
'a' : vstup[i] := 'A';
'á' : vstup[i] := 'A';
'ä' : vstup[i] := 'A';
'Á' : vstup[i] := 'A';
'b' : vstup[i] := 'B';
'c' : vstup[i] := 'C';
'č' : vstup[i] := 'C';
'Č' : vstup[i] := 'C';
'd' : vstup[i] := 'D';
'ď' : vstup[i] := 'D';
'Ď' : vstup[i] := 'D';
'e' : vstup[i] := 'E';
end;
cize chcem vsetko previest do tsa abecedy ... vsetko ide v poriadku ale v case podmienke mi uplne ignoruje makcenove znaky ako č,ď atd ... co sa tyka dlznov s tymi problem nieje ...
vopred dakuje, ... |
| |
  |
 |
programator
 Užívateľ
 Založený: 02.09.2005 Príspevky: 156
 | Zaslal: Ut 05.05.09 20:20 |   |
Problem je v "obmedzenosti" ASCII tabulky, kt. nepozna znaky stredoeuropskych jazykov. Je mozne si vsimnut v hornom rozsireni ASCII tabulky (cize znaky 128-255) znaky s dlznami ako "á, É, ó, ...". Cize tie je mozne zo standartneho vstupu dostat a porovnavat ich. Pokial teda planujes pouzivat diakritiku v programe je nevyhnune pouzit iny datovy typ ako string (pretoze string je v podstate pole typu char, ktory pouziva 1Byte - 256 moznosti na znak, co obsiahne len ASCII tabulku), teda typ kt. pouziva 2Byte na znak (WideChar) - co je v delphi typ WideString a s nim dalej pracovat.
Odkaz: http://delphi.about.com/od/beginners/l/aa071800a.htm |
_________________ Múdry nie je ten, čo veľa vie, ale ten, kto vie, čo je treba. (Thomas Alva Edison) | |
   |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
| |