Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Diakritika vo vývojovom prostredí Free Pascal  (Přečteno 3353 krát)

Palo13

  • Návštěvník
  • Příspěvků: 15
Diakritika vo vývojovom prostredí Free Pascal
« kdy: 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.

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #1 kdy: 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.
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

Palo13

  • Návštěvník
  • Příspěvků: 15
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #2 kdy: 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.

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #3 kdy: 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
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

Palo13

  • Návštěvník
  • Příspěvků: 15
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #4 kdy: 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.

Matesax

  • Host
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #5 kdy: 03 Března 2013, 13:12:44 »
Specifikuj string jako Unicode...

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #6 kdy: 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.
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

Palo13

  • Návštěvník
  • Příspěvků: 15
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #7 kdy: 03 Března 2013, 17:15:00 »
Matesax možeš to špecifikovať,prosím? Ja som v týchto veciach začiatočník. :-\

Matesax

  • Host
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #8 kdy: 03 Března 2013, 17:17:28 »
Kód: [Vybrat]
U"ddd"

Palo13

  • Návštěvník
  • Příspěvků: 15
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #9 kdy: 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á?  ???

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #10 kdy: 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.
« Poslední změna: 04 Března 2013, 00:01:37 od Myrmica »
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

Palo13

  • Návštěvník
  • Příspěvků: 15
Re:Diakritika vo vývojovom prostredí Free Pascal
« Odpověď #11 kdy: 04 Března 2013, 21:35:41 »
niekedy to ubuntu vie fakt prekvapiť (nemilo)  :'(

 

Provoz zaštiťuje spolek OpenAlt.