Čtení z textBoxu – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Čtení z textBoxu – C / C++ – Fórum – Programujte.comČtení z textBoxu – C / C++ – Fórum – Programujte.com

 

ondra
~ Anonymní uživatel
244 příspěvků
6. 11. 2012   #1
-
0
-

Zdravím, potřeboval bych poradit. Už delší dobu bojuju s načítáním textu z textBoxu do řetězce.

Načíst číslo z textBoxu jsem dokázal. Do proměné double jsem načetl hodnotu pomocí System::Convert::ToDouble(textBox1->Text)

Jenže si nevím rady jak načíst do proměné řetězec. Pokaždé mě to vyhodí chybu, že nelze překonvertovat String^ do jednoduchého stringu.

Když si tedy vytvořím proměnou String^ a načtu to do ní, tak pak ji nelze vypsat do labelu.

A mohl by mě někdo upřesnit rozdíl mezi těmito stringy? Jsem nováček v C/C++

Nikde jsem nenašel řešení mého problému, které by opravdu fungovalo.

Všem děkuji za rady

Nahlásit jako SPAM
IP: 2001:718:1001:700:200:5ef...–
ingiraxo+15
Grafoman
6. 11. 2012   #2
-
0
-
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
ondra
~ Anonymní uživatel
244 příspěvků
6. 11. 2012   #3
-
0
-

Mohl by jsi mě to nějak ujasnit?
Dá se v c++ programovat i s podporou grafiky nebo se na to musím učit nějaký nový jazyk c++/CLI ?

Mám vytvořený Form kde mám textBox, label a Button.

Chci aby program dělal následující:

Napíšu text do textBoxu, kliknu na tlačitko, text se vypíše do labelu.

Můžete mě tedy někdo poradit jak na to?

Nahlásit jako SPAM
IP: 93.153.126.–
ingiraxo+15
Grafoman
6. 11. 2012   #4
-
0
-

gui můžeš dělat i ve winform přes winapi, ale to nedoporučuju, to je strasný sraní s tim.. radší dneska zvol nějakej framework pro formy.. jako třeba .NET/Qt, kde je ještě desinger (visual studio, qt creator)

k tomu tlačítku.. musiš vytvoři událost OnClick a do těla napíšeš co chceš udělat

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
ondra
~ Anonymní uživatel
244 příspěvků
7. 11. 2012   #5
-
0
-

Dělám to přes windows Form v c++,  a já právě nevím co napsat do té události onClick :D to je ten můj problém :D

Nahlásit jako SPAM
IP: 2001:718:1001:700:200:5ef...–
ondra
~ Anonymní uživatel
244 příspěvků
7. 11. 2012   #6
-
0
-

#5 ondra

Třeba když načtu do proměné hodnotu z textBoxu takto:
string text = textBox1->Text;

Tak to vyhodí nějakou chybu, že nelze překonvertovat String ^ na basic string.

S tím potřebuju poradit? jak tey uložím ten text z textboxu do proměnné text?

Nahlásit jako SPAM
IP: 2001:718:1001:700:200:5ef...–
vitamin+8
Grafoman
7. 11. 2012   #7
-
0
-

String^ je typ premennej z c++/cli a std::string je typ z c++. Su to uple ine typy.

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
ondra
~ Anonymní uživatel
244 příspěvků
7. 11. 2012   #8
-
0
-

aha, tak jak teda načtu do proměnné string text hodnotu z textBoxu1?

Nahlásit jako SPAM
IP: 2001:718:1001:700:200:5ef...–
ondra
~ Anonymní uživatel
244 příspěvků
7. 11. 2012   #9
-
0
-

#8 ondra
Nebo mám založený špatný project? Když ho základám ve Visual Stuiu tak mám napravo napsané C++.

Dělám teda chybu při zakládání projektu? Jak mám tedy založit projekt abych programoval v c++ a ne v c++/cli ?

Nahlásit jako SPAM
IP: 2001:718:1001:700:200:5ef...–
ingiraxo+15
Grafoman
7. 11. 2012   #10
-
0
-

ty bys hlavně měl začít v něčem jednoduššim.. doporučuju fakt C#, kde se naučít tyhle základí problémy ve tvorbě GUI

ty si možná založil c++, ale přidal si form a to už znamená, že vytvoříš CLR aplikaci

ty string jsem ti napsal prvně.. viz. String^ je managed string v .NET a string je z std::string

pokud opravdu chceš dělat GUI přes winapi, tak počítej s tím, že tam nejsou žádný události (nebo aspon ne task jednoduchy) jako v existujicim frameworku... taky počítej s tim, že tam nemáš žádnej desinger, takže vše musíš psát rucne a díky winapi je kod 3x delsi nez normalne

nerikam ze je spatny znat winapi, jen by se v tom nemely delat GUI aplikace, tot muj nazor :)

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
ondra
~ Anonymní uživatel
244 příspěvků
10. 11. 2012   #11
-
0
-

No mám za sebou rok pascalu, rok delphi, 2 roky javy, 2 roky php, rok mysql, css, html, xhtml. Teď bych se rád naučil dělat v Cčku. Z předchozích zkušeností vím, že začátky jsou vždycky plné problémů než na to člověk příjde. Moc se mě nechce učit se C# což je prý hodně podobné javě. Ví vůbec někdo jak tea v tom Cčku/c++ můžu udělat to co chci?  nebo mě prostě nikdo přímo neporadí?

Nahlásit jako SPAM
IP: 79.127.196.–
ingiraxo+15
Grafoman
10. 11. 2012   #12
-
0
-
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
ondra
~ Anonymní uživatel
244 příspěvků
10. 11. 2012   #13
-
0
-

Takže to nikdo nevíte? nebo je to tak složité že to tady nikon echce napsat? chci si udělat jenom jednoduchý program :-( proč mě to nikdo nemůže říct? :-(

Nahlásit jako SPAM
IP: 79.127.199.–
Radek Chalupa
~ Redaktor
+1
Super člen
10. 11. 2012   #14
-
0
-

#13 ondra
Když chceš udělat JEDNODUCHÝ program, tak ho nedělej ve WinForms, WPF nebo podobném přeplácaném frameworku. JEDNODUCHÝ program by neměl mít desítky MB v paměti (což v případě WinForms má i program s jedním prázdným oknem). Na tohle je opravdu nejlepší WinAPI, klidně s využitím ATL nebo WTL.
Tutoriál na WinAPI najdeš např. zde: http://www.radekchalupa.cz/clanky/?kod=213&obsah=1

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
ingiraxo+15
Grafoman
10. 11. 2012   #15
-
0
-

pokud jde o ten problém, kvůli čemu si tohle téma zakládal, tak tohlě může být jedno z řešení 

    private: Void button1_Click(Object^ sender, EventArgs^ e)
             {
                 // prevede String^ na double
                 double value = double::Parse(textBox1->Text);
                 // prevede double na String^
                 String^ text = value.ToString();
                 // přiřadí String^ do labelu
                 label1->Text = text;
                 // prevede String^ na std::string
                 std::string str = marshal_as<std::string>(text);
                 // priradi std::string do labelu
                 label1->Text = marshal_as<String^>(str);
             }

co se tyce ty pameti, tak dneska ma kazdej minimalne 4GB, nezijeme v 90 letech, nejakych par MB navic je dneska zanedbatelny na ukor rychlejsimu a snazsimu vyvoji

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
ondra
~ Anonymní uživatel
244 příspěvků
11. 11. 2012   #16
-
0
-

dík moc :D konečně někdo schopný, snad to bude fungovat

Nahlásit jako SPAM
IP: 79.127.196.–
ingiraxo+15
Grafoman
11. 11. 2012   #17
-
0
-

#16 ondra
ale upozornuji na 2 věci:

1) jedná se o .NET nikoli o form přes klasický Win32
2) neměl by si používat string, ale String^ (resp. nemíchat typy mezi .NET a stl)

jinak C# a C++/CLI je naprosto stejný, jen se lehce liší zápis a místo "::" a "->" píšeš jen "." a nemusíš používat ukazatelé (ale jdou)

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 112 hostů

Podobná vlákna

Linky v Textboxu — založil Denis

SaveFileDialog u textBoxu — založil matesz

Kontrola TextBoxů — založil ospaly.stanislav

Formátování textboxu — založil Slim

Rozšíření textboxu — založil Tase

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý