Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Palo13 02 Března 2013, 10:45:34

Název: Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Palo13 02 Března 2013, 10:45:34
Ahoj Ubunťáci
Mám problém pri písaní diakritických znamienok v grafickom prostredí Free Pascal. Jednoducho namiesto znamienok ako "č,ý,ž" a pod. tam vypisuje úplne nezmyselné haky baky . Neviem či som tam niečo zabudol doinštalovať alebo je tam nejaké nesprávne nastavenie,fakt netuším.
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Myrmica 02 Března 2013, 11:28:56
Trochu nerozumím otázce. Pochopil jsem ji tak, že do řetězce napíšeš nějaký text s diakritikou, a na obrazovce je to špatně?
třeba
Kód: [Vybrat]
program project1;

{$mode objfpc}{$H+}

var
  Txt: string;
begin
  Txt:= 'Příruční kufřík.';
  writeln(txt);
  readln;
end.
V čem píšeš zdrojové texty? Zkontroluj si jejich kódování.
Pokud používám fpc přes IDE Lazarusu, všechny soubory jsou v kódování UTF8.
Experimentuj s kódováními a uvidíš. Doporučuji začít u UTF8.
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Palo13 02 Března 2013, 11:39:16
Píšem to priamo v terminály cez príkaz fp-2.4.4. Učím sa programovať od začiatku. Tak to chcem skúsiť bez nijakého grafického prostredia. Lazarus s tým problém nemal ,terminál už áno čo je čudné. Keby som aspoň vedel ako tam nastaviť kódovanie.Najskôr to bude v tom.
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Myrmica 02 Března 2013, 13:14:40
Nepodařilo se mi nalézt jednoduše co s tím.

Doporučuji: Nainstaluj si Lazarus, třeba příkazem z terminálu (To -y tam je aby se tě zbytečně neptal na potvrzování):
Kód: [Vybrat]
sudo apt-get install lazarus -ypak si v Lazarusu dej: Projekt -> Nový projekt -> Program
Zde budeš moci psát program stejně jako v ide freepascalu. Jen zdrojový text bude mít extenzi .lpr
Psaní je pohodovější než v IDE ala Borland Pascal.

Aby se Ti program spustil v terminálu, pak si nastav v Lazarusu:
Spustit -> Spustit s parametry... -> Použít Spouštěcí aplikaci (zaškrtnout)
(Pro anglicky mluvící spoluobčany: From the Main Menu, select Run -> Run Parameters, then check the box for "Use launching application".)
viz: Console Mode Pascal (http://wiki.lazarus.freepascal.org/Console_Mode_Pascal)
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Palo13 03 Března 2013, 11:45:50
Paráda , vyzerá to že to funguje (cez ten lazarus ), tak ako si mi to napísal. Trosku ma ale mrzí, že tá terminálová aplikácia takto blbne pritom keď dám príkaz v terminály locale tak mi to vyhodí LANG=sk_SK.UTF-8
LANGUAGE=
LC_CTYPE="sk_SK.UTF-8"
LC_NUMERIC="sk_SK.UTF-8"
LC_TIME="sk_SK.UTF-8"
LC_COLLATE="sk_SK.UTF-8"
LC_MONETARY="sk_SK.UTF-8"
LC_MESSAGES="sk_SK.UTF-8"
LC_PAPER="sk_SK.UTF-8"
LC_NAME="sk_SK.UTF-8"
LC_ADDRESS="sk_SK.UTF-8"
LC_TELEPHONE="sk_SK.UTF-8"
LC_MEASUREMENT="sk_SK.UTF-8"
LC_IDENTIFICATION="sk_SK.UTF-8"
LC_ALL=
čo je dosť divné.
Ale každopádne veľká vďaka za pomoc.
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Matesax 03 Března 2013, 13:12:44
Specifikuj string jako Unicode...
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Myrmica 03 Března 2013, 13:33:55
Problém je v tom, že pokud se spustí IDE fpc v konzoli
Kód: [Vybrat]
fptak IDE předpokládá, že vložený text je v ISO 8859-2, ale klávesnice vkládá UTF8. Proto je to nečitelné.
Nejspíše by se muselo nadefinovat prostředí terminálu na ISO 8859-2, ale nevím jak přesvědčit klávesnici, aby v terminálu fungovala jako ISO 8859-2.
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Palo13 03 Března 2013, 17:15:00
Matesax možeš to špecifikovať,prosím? Ja som v týchto veciach začiatočník. :-\
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Matesax 03 Března 2013, 17:17:28
Kód: [Vybrat]
U"ddd"
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Palo13 03 Března 2013, 21:54:39
Zaujímavé je to,že aj keď kód je čmáranica, nápis sa v terminály (ako spustený program) zobrazí správne.Takže zrada je priamo v IDE(najskor).Alebo prinúťiť IDE fp pracovať s utf8, len ako?

A U"ddd" už teda vôbec netuším čo znamená?  ???
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Myrmica 03 Března 2013, 23:27:59
Jj, IDE si pracuje ve svém kódu bez ohledu jak je nastavený terminál.
IDe pracuje myslím v kódu ISO 8859-2 ale terminál je nastavený na UTF8.
To jsem se snažil říci v mém předchozím příspěvku. Mrknu jestli někde nenajdu nějaké řešení jak ukecat terminál aby pracoval v ISO 8859-2.

PS:
Stále nevím jak změnit kódování klávesnice jen v terminálu z UTF8 na ISO 8859-2.
Klasická volba pro gnome-terminal:
   Hlavní menu->Terminál->Nastavit kódování znaků->Středoevropské (ISO 8859-2)
funguje jen pro zobrazení a ne pro klávesnici.
Název: Re:Diakritika vo vývojovom prostredí Free Pascal
Přispěvatel: Palo13 04 Března 2013, 21:35:41
niekedy to ubuntu vie fakt prekvapiť (nemilo)  :'(