Dobrý den,
Učím se programovat v C++. Programuji pro conzoli.
Je nějaký způsob, jak psát program, tkerý by s uživatelem komunikoval s českou diakritkou.
Děkuji .
Fórum › C / C++
Čeština pro konzoli.
To Jisla : Ahoj, ohledně češtiny (viz. kurz C++ 3.lekce): http://programujte.com/index.php?akce=clanek&cl=2005041406
To Jisla : viz odkaz http://www.labo.cz/mft/matasciit.htm
To jisla : Tak to nevím, akorát vím, že konzole má problémy s češtinou, proto se to zadává pomocí ASCII znaků.
Ach jo! Proč pořád dokola vidim jak to píšete špatě, když jsem to sem už určitě párkrát psal.!
#include <windows.h>
#include <iostream>
#include <string>
using namespace std;
string StringObsahujiciCeskeZnaky (char *Txt)
{
string Ret = "";
if (Txt && *Txt) {
int Delka = strlen(Txt) + 2;
char *Buf = new char [Delka];
if (Buf) {
ZeroMemory(Buf,Delka);
memcpy(Buf,Txt,Delka - 2);
CharToOem(Buf,Buf);
Ret = Buf;
delete [] Buf;
};
};
return Ret;
};
int main (void)
{
cout << "Zdary" << endl;
cout << StringObsahujiciCeskeZnaky("Jak se máš? ěščřžýáíé") << endl;
cin.get();
return 0;
};
Přece nebudete psát:
cout<<"Jak se m"<<(char)160<<(char)29;
To je přece neefektivní a takle by vám více textu zabralo hrozně času, zdroják by byl nepřehlednej....
Tak tu funkci viz nahoře si přejměnujte aby se vám dobře psala a přestaňte honit čísla :D
Tak to jsou opravdu chudáci.! :D
Myslim že na Unixech to běhá z diakritikou normálně, a pokud jde o něco jako je Mac, tak tam nemám ani páru, protože v tom jsem nikdi nedělal, ale zase kdo v tom dělá? Většinou jde o tu konzoli co se spouští z příkazové řádky Windowsu a to co sem zde hodil je snad zároveň to co autor topicu hledal. Pokud se nejedná o win CMD, tak to jde většinou vyřešit nějak jako to je viz nahoře.
Ale dělat něco jako je toto:
for(int i(-127);i => 127; ++i) // mělo by vypsat celou ASCI
cout<<i<<". "<<char(i)<<endl;
Opsat si výstup a pak si dělat proměnné všech používaných znaků...
Pak psát s vypisováním tech znaků místi těch z diakritikou. To už rači psát bez diakritiky. Nebo trochu hledat. Ono to je sice kompatibilní asi všude díky znakových standardů, ale vůbec to nedoporučuju a to proto, že jsem kdysi taky psal s těma charovskejma proměnnejma, co jsem objevil toto, hned se mi ulevilo.
To Tomas_Dejmek :
No, já jen narážel na to, že je absolutně blbost se zabývat diakritikou v konzoli. Kromě toho, je to kvůli tomu, že na Windowsech je jiné kodování v konzoli a jiné v oknech. Nicméně standard, tuším, píše něco o locales, kterým se dá to toto chování ovlivnit. Pokud se pletu, tak mě jistě někdo opraví.
> Tak to nevím, akorát vím, že konzole má problémy s češtinou, proto se to zadává pomocí ASCII znaků.
konzola ziadne problemi pri zobrazovani narodnych znakov nema a uz vobec sa nezadavaju pomocov ascii kodov (jedboducho preto, lebo ascii nic take ako žýťčšľ nepozna), konzola zobrazuje znaky v inom kodovani ako zbytok systemu. viac info tu http://forum.builder.cz/read.php?123,2137886,2138529#msg-2138529
Jura
No, já jen narážel na to, že je absolutně blbost se zabývat diakritikou v konzoli.
Asi tak, když něco píšu pro konzoli tak třeba jenom proto, abych udělal něco co potom použuji v nějakym okně nebo čistě na to, abych něco testnul a rozhodně komplikovat to českejma znakama je práce navíc co akorát zdržuje.
Ale když jsem začínal, tak jsem taky chtěl vědět jak tam tu diakritiku dostat.
Pak sjem jednou viděl algoritmus, který potřebuje řetězec znaků a pole jejich číselných zástupců, a dokázal to přepracovat daný řetězec aby byl připraven k výstupu s diakritikou myslim že to právě nebylo závislí na Win, ale to už je jedno, znova to hledat nebudu.
Tomas_Dejmek napsal:
Asi tak, když něco píšu pro konzoli tak třeba jenom proto, abych udělal něco co potom použuji v nějakym okně nebo čistě na to, abych něco testnul
Proc woknarum pripada, ze pokud neco nema "privetive" GUI, neni to plnohodnotna aplikace?
> Proc woknarum pripada, ze pokud neco nema "privetive" GUI, neni to plnohodnotna aplikace?
a scoho tak usudzujete ???
Asi tak, když něco píšu pro konzoli tak třeba jenom proto, abych udělal něco co potom použuji v nějakym okně nebo čistě na to, abych něco testnul
toto bol postreh len jednoho oknara :)
Proc woknarum pripada, ze pokud neco nema "privetive" GUI, neni to plnohodnotna aplikace?
A na to si přišel jak?
Řekl jsem snad něco takového?
Nemluvil jsem o aplikacích co mají GUI! Mluvil jsem o konzoly! Dále si taky uvědom, že když člověk programuje třeba v DX grafiku k tomu Ve Win32 GUI a pouští se do větších projektů, kde přemýjšlí o složitých specifických algortmech, pak už neni jeho snem psát konzolovky.
Taky je samozřejně píšu, ale většinou když se chci třaba naučit pracovat s nějakou knihovnou, abych si to nekomplikoval. Jinak zrouvna se budu pouštět do projektu co poběží uplně na pozadí bez žádného okna, takže nemusíte hned vymýšlet jaký má kdo na co/koho názor, jen tak z nudy.
PS: Skus najít 10 komerčně zakoupitelných konzolovek a pak to samé u windowsových aplikací, kde se ti bude hůř hledat?
To Tomas_Dejmek : Pročpak tě můj výrok tak irituje, když do té skupiny zakomplexovaných programátorů, pro které není textový výstup dost dobrý, evidentně nepatříš?
Tomas_Dejmek napsal:PS: Skus najít 10 komerčně zakoupitelných konzolovek a pak to samé u windowsových aplikací, kde se ti bude hůř hledat?
Takže plnohodnotný = "komerčně zakoupitelný"?
Zelenáč: Aplikace co dělají programátoři by měli předevěším k něčemu být, když si člověk udělá aplikaci pro sebe, je o skvělé, ale okolní svět z toho nic nemá. Když člověk naopak udělá software pro lidi co jim opravdu ulehčí práci, tak udělal něco pro ostatní, aplikace ale spolu i tak trochu válčí, týmy programátorů se doslova předhánějí a prosazují svůj výrobek. O co týmu jde je co nejbohatější množství uživatelů.
Proto se vychytávají každé mouhy, a uznej třeba kdyby si hrál šachy v konzoli, kde by jsi zadával tahy, že by jsi vypisoval souřadnice, vše by bylo bez diakritiky. Tak bys to asi dlouho nehrál, naproti tomu kdyžby jsi měl krásně graficky spracované postavi, ovládal bys myší, když by jsi označil změnila by se barva, byly by naznačeny možnosti kam smí hráč táhnout, může s toho vzniknout oblíbený program.
To je příklad toho, kde konzole zaostává. Naopak třeba program co převede jeden txt soubor do 2. txt souboru zašifrovaný text a obráceně pomocí nějakého jednoduchého algoritmu. Je lepší použít konzoli.
Taky si výbírám to co v čem píšu, zažil jsem úkoly v konzoli nad kterejma jsem skoro vypustil duši. Ale přiznej si to nebo ne jsou věci kde už konzole je nepoužitelná nebo u uživatelů velice neoblíbená. Plnohodnotný program je samozřejně oboje, ale to bohužel není vše o co jde.
Pochopil jsi?
Ty komerční aplikace jsem vybral proto, aby jsi do toho nepočítal všechny hallo wordy a kalkulačky.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Čeština v konzoli napříč platformami — založil PiranhaGreg
Ovládat konzoli přes jinou konzoli — založil kkk
Barva v konzoli. — založil DeathHumanCZ
Obrazce v konzoli — založil Lukas
Kolize v konzoli — založil :D
Moderátoři diskuze