Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
expoox
Tvůrce
Avatar
expoox:29.12.2013 13:55

Zdravim, mame za ulohu v skole zrobit ako projekt neaku hru, ja som dostal osemsmerovku lenze mam tu jeden problem cez ktory sa neviem pohnut. Zadanie (teda pismenka) mam citat zo suboru lenze mi nechce precitat pismenka s diakritikou a vypisuje to miesto nich neviditelne znaky. Potreboval by som vediet ako nacitavat diakritiku z textoveho suboru, dakujem

 
Odpovědět
29.12.2013 13:55
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na expoox
David Hartinger:29.12.2013 14:06

Stáhni si chytřejší textový editor (např. Noteapad++) a nastav si tam kódování. Nevím, jestli Delphi už konečně umí UTFko, co jsem v nich dělal já, tak bylo třeba ANSI.

Nahoru Odpovědět
29.12.2013 14:06
You are the greatest project you will ever work on.
Avatar
expoox
Tvůrce
Avatar
expoox:30.12.2013 15:58

No ja to musim odovzdat v Lazaruse a neviem ako donho dat UTF, ci to vobec ide

 
Nahoru Odpovědět
30.12.2013 15:58
Avatar
bambusuv
Člen
Avatar
bambusuv:31.12.2013 11:08

Lazarus UTF umi.
Bez kodu ktery mas a zdrojoveho souboru lze tezko rict kde mas problem.

Na okraj:
Delphi plne podporuje Unicode od verze 2009 (srpen 2008) a v posledních verzích umoznuje take primy vyvoj pro mobilni platformy (Android, IOS), 64bit aplikace,...
(http://delphi.cz/…-Delphi.aspx)

 
Nahoru Odpovědět
31.12.2013 11:08
Avatar
expoox
Tvůrce
Avatar
expoox:1.1.2014 17:23

cast kde citam zo suboru vyzera takto

var
  pismena: array of string;
  f: TextFile;
  i,n : integer;
  ...
  ...
  ...
  if radiobutton1.Checked then
    n:=8
  else if radiobutton2.checked then
    n:=10
  else
    n:=13;
  AssignFile(f,'databaza/'+inttostr(uroven)+'.txt');
  reset(f);

  for i:=1 to n do begin
    SetLength(pismena,i);
    readln(f,pismena[i-1]);
  end;

a ak hned obratom dam vykreslit to pole pismena tak jednoducho vynecha znaky s diakritiou

 
Nahoru Odpovědět
1.1.2014 17:23
Avatar
expoox
Tvůrce
Avatar
expoox:1.1.2014 17:28

aj ked teraz nie som si isty ci to lazarus nevie nacitat alebo vypisat ...

 
Nahoru Odpovědět
1.1.2014 17:28
Avatar
expoox
Tvůrce
Avatar
Odpovídá na David Hartinger
expoox:2.1.2014 10:17

Skusal som ten notepad++, nastavil to na utf8 a ziadne zmena

 
Nahoru Odpovědět
2.1.2014 10:17
Avatar
bambusuv
Člen
Avatar
bambusuv:2.1.2014 14:06

Vypisuješ to do konzole nebo do mema?

Zpristupni nekde soubor, ktery nacitas.

 
Nahoru Odpovědět
2.1.2014 14:06
Avatar
expoox
Tvůrce
Avatar
Odpovídá na bambusuv
expoox:2.1.2014 17:57

no ono problem je v tom ze ja to pomocu TextOut vykreslujem do image
... subor : http://uloz.to/xC7av64M/1-txt; heslo: devbook

Editováno 2.1.2014 17:58
 
Nahoru Odpovědět
2.1.2014 17:57
Avatar
bambusuv
Člen
Avatar
bambusuv:3.1.2014 14:18

V rychlosti jsem si zkusil tvuj soubor nacist a textout mi vykresli i diakritiku (Lazarus 1.0.14 na WinXP)
Zkus si pohrat s nastavenim property Font u canvasu prislusneho image.

 
Nahoru Odpovědět
3.1.2014 14:18
Avatar
expoox
Tvůrce
Avatar
Odpovídá na bambusuv
expoox:4.1.2014 17:45

môžeš mi prosím ťa poslať kód toho? nastaveniami som nič nedocielil, verziu lazarusa mám rovnakú akurát na win7

 
Nahoru Odpovědět
4.1.2014 17:45
Avatar
bambusuv
Člen
Avatar
bambusuv:7.1.2014 11:21

Priklad si muzes stahnout: http://uloz.to/…load/ea7yzqP
heslo: textout

Jinak problem ti zrejme dela to ze pracujes s UTF8 a ten ma na znak 2byte.
Pristup ke znaku pres jeho index (pozici) v retezci ti vrati ale jen jeden byte. Znak proto z retezce dostanes korektne pomoci prikazu UTF8Copy z unity LazUTF8.

 
Nahoru Odpovědět
7.1.2014 11:21
Avatar
expoox
Tvůrce
Avatar
expoox:7.1.2014 12:58

Super, s týmto to ide, ďakujem veľmi pekne, len ešte jedna otázočka, ako prevediem malé napr. "á" na veľké "Á" ?? upcase nefunguje, ord hodnotu majú rovnakú, google toho veľa neprazradil

 
Nahoru Odpovědět
7.1.2014 12:58
Avatar
bambusuv
Člen
Avatar
bambusuv:7.1.2014 14:48

UTF8UpperCase

spravne se pro UTF8 ma pouzit UTF8 ekvivalenty std.funkci,
ktere jsou obsazeny v unite LazUTF8.

 
Nahoru Odpovědět
7.1.2014 14:48
Avatar
expoox
Tvůrce
Avatar
expoox:7.1.2014 17:41

presne toto som hľadal, ďakujem

 
Nahoru Odpovědět
7.1.2014 17:41
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.