Caio81
08-06-2006, 18:40
Ciao a tutti,
sto cercando di estrarre il testo scritto in una textbox della mia applicazione grafica, sviluppo il tutto con VS2003, e il programma è scritto in VC++.
Il problema è che semplicemente istanziando una stringa e cercando di assegnargli il valore del campo di testo, in questo modo:
string dati=textBoxInviaScrittura->Text->ToString();
ottengo questo errore:
error C2440: "inizializzazione": impossibile convertire da "System::String __gc *" a "std::basic_string<_Elem,_Traits,_Ax>"
e fin qui ok, la mia stringa della classe std (che ho incluso nel file) non può contenere la stringa System::String __gc *.
Ovviamente dichiarando la stringa in questo modo:
System::String *dati=textBoxInviaScrittura->Text->ToString();
il tutto funziona.
Quindi vorrei capire, il metodo tostring() della textbox mi ritorna un puntatore ad una stringa della classe System?
Qualcuno mi sa spiegare che differenza c'è tra i due tipi di stringa?
Da qui poi io vorrei splittare la stringa a blocchi di 2, e metterla in un array di char.
Se però provo a farlo, in questo modo:
char sottostr[]=dati->Substring(0,2)->ToCharArray();
non funziona con questo errore:
error C2440: "inizializzazione": impossibile convertire da "__wchar_t __gc[]" a "char []"
Ho l'impressione di stare mischiando un po i tipi standard del C++ e quelli di Visual C++, ma sono alle prime armi con questo linguaggio per cui avrei bisogno di un po di chiarezza.
Qualcuno mi sa aiutare? :)
sto cercando di estrarre il testo scritto in una textbox della mia applicazione grafica, sviluppo il tutto con VS2003, e il programma è scritto in VC++.
Il problema è che semplicemente istanziando una stringa e cercando di assegnargli il valore del campo di testo, in questo modo:
string dati=textBoxInviaScrittura->Text->ToString();
ottengo questo errore:
error C2440: "inizializzazione": impossibile convertire da "System::String __gc *" a "std::basic_string<_Elem,_Traits,_Ax>"
e fin qui ok, la mia stringa della classe std (che ho incluso nel file) non può contenere la stringa System::String __gc *.
Ovviamente dichiarando la stringa in questo modo:
System::String *dati=textBoxInviaScrittura->Text->ToString();
il tutto funziona.
Quindi vorrei capire, il metodo tostring() della textbox mi ritorna un puntatore ad una stringa della classe System?
Qualcuno mi sa spiegare che differenza c'è tra i due tipi di stringa?
Da qui poi io vorrei splittare la stringa a blocchi di 2, e metterla in un array di char.
Se però provo a farlo, in questo modo:
char sottostr[]=dati->Substring(0,2)->ToCharArray();
non funziona con questo errore:
error C2440: "inizializzazione": impossibile convertire da "__wchar_t __gc[]" a "char []"
Ho l'impressione di stare mischiando un po i tipi standard del C++ e quelli di Visual C++, ma sono alle prime armi con questo linguaggio per cui avrei bisogno di un po di chiarezza.
Qualcuno mi sa aiutare? :)