Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > wxWidgets
wxWidgets Forums d'entraide pour la programmation wxWidgets en C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/06/2011, 04h21   #1
Pierrick584
 
Homme Pierrick Charlebois
Inscription : avril 2005
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Pierrick Charlebois
Localisation : Canada

Informations forums :
Inscription : avril 2005
Messages : 61
Points : -3
Points : -3
Envoyer un message via MSN à Pierrick584
Par défaut Rassembler des chaînes

Bonjour, j'essai de créé une interface style "chat" avec wxwidgets, et je veux rassemblé des bout de chaine, dans le but de faire un peut de mise en forme.. mais je n'arrive pas a les rassemblé... voila mon bout de code

Code :
1
2
3
4
5
6
7
8
9
10
void testconsoleFrame::OnTextCtrl2TextEnter(wxCommandEvent& event)
{
    wxString value1 = TextCtrl1->GetValue();
    wxString value2 = TextCtrl2->GetValue();
    wxStringvalue3 = "Me: " << value2 << "\n";
    wxString value4 value1 + value3;
    TextCtrl1->ChangeValue(value4);
 
  TextCtrl2->Clear();
}

et voici l'erreur de compilation
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
/home/pierrick/programming/testconsole/testconsoleMain.cpp||In member function ‘void testconsoleFrame::OnTextCtrl2TextEnter(wxCommandEvent&):|
/home/pierrick/programming/testconsole/testconsoleMain.cpp|136|error: ‘wxStringvalue3’ was not declared in this scope|
/home/pierrick/programming/testconsole/testconsoleMain.cpp|136|error: no match for ‘operator<<’ in ‘"Me: " << value2’|
/usr/include/wx-2.8/wx/bitmap.h|36|note: candidates are: wxVariant& operator<<(wxVariant&, const wxBitmap&)|
/usr/include/wx-2.8/wx/bitmap.h|36|note:                 wxBitmap& operator<<(wxBitmap&, const wxVariant&)|
/usr/include/wx-2.8/wx/colour.h|49|note:                 wxVariant& operator<<(wxVariant&, const wxColour&)|
/usr/include/wx-2.8/wx/colour.h|49|note:                 wxColour& operator<<(wxColour&, const wxVariant&)|
/usr/include/wx-2.8/wx/longlong.h|1071|note:                 wxTextOutputStream& operator<<(wxTextOutputStream&, long long int)|
/usr/include/wx-2.8/wx/longlong.h|1070|note:                 wxTextOutputStream& operator<<(wxTextOutputStream&, long long unsigned int)|
/usr/include/wx-2.8/wx/string.h|1649|note:                 std::ostream& operator<<(std::ostream&, const wxString&)|
/home/pierrick/programming/testconsole/testconsoleMain.cpp|137|error: expected initializer before ‘value1’|
/home/pierrick/programming/testconsole/testconsoleMain.cpp|138|error: ‘value4’ was not declared in this scope|
||=== Build finished: 11 errors, 0 warnings ===|
Quelqun peut m'aider? un moyen de contourner ca, ou pour me permettre d'utiliser <<, peut importe, tant que sa marche bien
Pierrick584 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 08h45   #2
fregolo52
Expert Confirmé Sénior
 
Avatar de fregolo52
 
Homme
Développeur C
Inscription : août 2004
Messages : 2 078
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur C

Informations forums :
Inscription : août 2004
Messages : 2 078
Points : 4 027
Points : 4 027
Euh ...
Citation:
/home/pierrick/programming/testconsole/testconsoleMain.cpp|136|error: ‘wxStringvalue3’ was not declared in this scope|
Ca me parait vachement clair !!! Tu n'aurais pas oublier de mettre un espace ?
Code :
wxStringvalue3 = "Me: " << value2 << "\n";
je dirais plutôt qu'il faut mettre des '+' (à confirmer) :
Code :
wxString value3 = "Me: " + value2 + "\n";
fregolo52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 13h38   #3
Pierrick584
 
Homme Pierrick Charlebois
Inscription : avril 2005
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Pierrick Charlebois
Localisation : Canada

Informations forums :
Inscription : avril 2005
Messages : 61
Points : -3
Points : -3
Envoyer un message via MSN à Pierrick584
haha... c'est ce que sa fait de passé 2h sur un probleme... on fait tellement d'essai et de modification que quan on copie pour de l'aide, y'as une erreur stupide XD

sinon, avec l'espace et les + c'est ce que sa donne comme erreur : \
Code :
1
2
3
4
5
6
7
8
/home/pierrick/programming/testconsole/testconsoleMain.cpp||In member function ‘void testconsoleFrame::OnTextCtrl2TextEnter(wxCommandEvent&):|
/home/pierrick/programming/testconsole/testconsoleMain.cpp|136|error: ambiguous overload foroperator+’ in ‘"Me: " + value2’|
/usr/include/wx-2.8/wx/string.h|1620|note: candidates are: wxString operator+(const wxWCharBuffer&, const wxString&) <near match>|
/usr/include/wx-2.8/wx/string.h|1424|note:                 wxString operator+(const wxString&, const wxChar*) <near match>|
/usr/include/wx-2.8/wx/string.h|1423|note:                 wxString operator+(wxChar, const wxString&) <near match>|
/usr/include/wx-2.8/wx/string.h|1422|note:                 wxString operator+(const wxString&, wxChar) <near match>|
/usr/include/wx-2.8/wx/string.h|1421|note:                 wxString operator+(const wxString&, const wxString&) <near match>|
||=== Build finished: 6 errors, 0 warnings ===|
Pierrick584 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 14h42   #4
fregolo52
Expert Confirmé Sénior
 
Avatar de fregolo52
 
Homme
Développeur C
Inscription : août 2004
Messages : 2 078
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur C

Informations forums :
Inscription : août 2004
Messages : 2 078
Points : 4 027
Points : 4 027
Je connais mal.
Tu as la méthode Append.
un truc du style :
Code :
1
2
wxString value3;
value3.Append("Me: ").Append(value2).Append("\n");
pourrait marcher !!
fregolo52 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 14h52   #5
Pierrick584
 
Homme Pierrick Charlebois
Inscription : avril 2005
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Pierrick Charlebois
Localisation : Canada

Informations forums :
Inscription : avril 2005
Messages : 61
Points : -3
Points : -3
Envoyer un message via MSN à Pierrick584
C'est ce que ton fix donne

Code :
/home/pierrick/programming/testconsole/testconsoleMain.cpp|137|error: expected initializer before ‘.’ token|
j'ai essayé aussi plusieurs fix dérivé de ce que tu m'as proposé et sans success :S


Et meme un Append tres simple ne marche pas ...

Code :
1
2
    wxString textvalue = TextCtrl2->GetValue();
    TextCtrl1->Append (textvalue);
Code :
/home/pierrick/programming/testconsole/testconsoleMain.cpp|151|error:class wxTextCtrl’ has no member named ‘Append’|
Pierrick584 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 15h28   #6
Pierrick584
 
Homme Pierrick Charlebois
Inscription : avril 2005
Messages : 61
Détails du profil
Informations personnelles :
Nom : Homme Pierrick Charlebois
Localisation : Canada

Informations forums :
Inscription : avril 2005
Messages : 61
Points : -3
Points : -3
Envoyer un message via MSN à Pierrick584
Bon, j'ai finalement réusis!


Code :
1
2
3
4
5
6
7
8
9
void testconsoleFrame::OnTextCtrl2TextEnter(wxCommandEvent& event)
{
    wxString user = wxT("Me: ");
    wxString inputvalue = TextCtrl2->GetValue();
    wxString newline = wxT("\n");
    wxString userinput = user + inputvalue + newline;
    TextCtrl1->AppendText (userinput);
    TextCtrl2->Clear();
}
Maintenant me reste plus qu'a créé une fonction qui fait ca de maniere propre
Pierrick584 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h32.


 
 
 
 
Partenaires

Hébergement Web