|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
[C++] Input da un Textbox: ottenere una stringa da un Textbox
Con VisualC++, in un progetto clr, se nella progettazione dell'evento click di un Textbox scrivo: textBox1->Text= "prova"; io visualizzo "prova" nel Textbox.
Se invece io voglio importare in una stringa std::string il testo digitato nel Textbox, come posso fare? Ultima modifica di Albitexm : 27-01-2013 alle 23:06. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Edit: poi, se ci fornisci qualche dettaglio in più sul come vuoi utilizzare quel valore possiamo aiutarti meglio. Ultima modifica di [Kendall] : 28-01-2013 alle 09:59. |
|
|
|
|
|
|
#3 | ||
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
Io importo nel textbox la posizione che è stata copiata nella cliboard come stringa dalla chess GUI con il codice: textBox1->Text = Clipboard::GetText(); ora questa stringa che ho e visualizzo adesso nel textbox, come l'assegno a una std::string? Quote:
Il programma riceve gli input dall'utente sotto forma di stringa. Ritorna come output delle stringhe. Le mie idee concettuali per la realizzazione di una GUI per l'applicazione sono due: 1- scrivere un progetto clr che incorpora il codice del motore d'analisi(quello che ho sritto per ora in modalità console). 2-scrivere un progetto clr che realizza solo la GUI, e che lancia il programma d'analisi come processo Children, comunicando con esso tramite DLL. Questo è il metodo usato dalle Chess GUI in circolazione, che "caricano" l'engine scacchistico da usare. (I chess engine, sono ditribuiti come file .exe, e se si clicca sopra, partono e si possono usare in modalità console). Il mio programma, come tutti i chess engines, riceve i dati di input tramite il metodo Getline() e restituisce gli output tramite cout<<. Ultima modifica di Albitexm : 28-01-2013 alle 14:08. |
||
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Se hai bisogno di copiare il valore della textBox in una nuova variabile semplicemente fai un assegnamento diretto: Codice:
std::string copy = textBox1->Text; Codice:
std::string* copy = textBox1.Text; |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
"Errore 1 error C2440: 'inizializzazione': impossibile convertire da 'System::String ^' a 'std::basic_string<_Elem,_Traits,_Ax>'" |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Capito. Il problema sta nel fatto che effettivamente l'implementazione del C++/CLR non è C++ standard, e utilizza una serie di costrutti nonchè una sintassi in diversi aspetti differente.
Tra le varie cose viene definita una classe String per la compatibilità con gli altri linguaggi del CLR, classe che pertanto non è compatibile con le string della STL. Non ho mai lavorato con il C++/CLR ma ho dato un'occhiata alla documentazione relativa alla classe System::String. Non vi sono metodi interni alla classe System::String o relativi extension methods che permettono un passaggio diretto ad una std::string o ad una stringa stile c, però ho trovato un interessante articolo a riguardo. Articolo by MSDN. Una cosa importante: le std::string non sono stringhe di caratteri unicode (sono stringhe di char, pertanto non hanno l'estensione tale per essere idonee allo scopo). Ti consiglio pertanto di affidarti alle wstring (che sono composte da wchar_t) che fanno comunque sempre parte della libreria standard ma ti permettono una maggiore interfacciabilità con il C++/CLR (oltre ad essere ben più moderne e funzionali delle sue sorelle string) |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
Ho sentito parlare bene di un'applicazione Nokia per creare interfaccie grafiche. Dicono che sia semplice e funzionale. La proverò. Grazie per le info. Ultima modifica di Albitexm : 31-01-2013 alle 00:35. |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Per una interfaccia C++ il consiglio che hai letto è valido. Usa le QT (non sono più seguite dalla Nokia però, bensì dalla Digia) |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
Forse le versioni più vecchie erano free? |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Probabilmente hai guardato nella pagina della versione a pagamento.
Ecco la versione gratuita: http://qt-project.org/downloads |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:06.




















