Ciao a tutti, sto facendo un programa in vc++ in cui devo simulare il tasto del in una textbox.
Questo tasto deve cancellare un carattere: prova dopo aver schiacciato del prov.
A questo punto ho fatto il codice che gestisce la stringa e lo fa:
e fin qui tutto funziona.codice:int i=0; IntPtr p = Marshal::StringToHGlobalAnsi(textBox1->Text); char *s = static_cast<char*>(p.ToPointer()); while(s[i+1]!='\0'){i++;} s[i]='\0'; String^ str = gcnew String(s); textBox1->Text=str; Marshal::FreeHGlobal(p);
dopo di che dato che questo tipo di gestione stringhe la usero un po ho fatto una funzione:
e il codice che la richiama:codice:/// funzioni char* StringToChar(String^ s){ IntPtr p = Marshal::StringToHGlobalAnsi(s); char *c = static_cast<char*>(p.ToPointer()); Marshal::FreeHGlobal(p); return c; } System::String^ CharToString(char* c){ String^ s = gcnew String(c); return s; } /// funzioni
da qualche parte in questi codici ci sara un errore, ma non lo trovo mi potete aiutare.codice:int i=0; char* s=StringToChar(textBox1->Text); while(s[i+1]!='\0'){i++;} s[i]='\0'; textBox1->Text=CharToString(s);
vb compila il tutto per al posto di cancellare un solo carattere come fa con 1 codice cancella tutto. ;( grz per l'aiuto

Rispondi quotando