Besoin d'aide pour un programme c++

Résolu/Fermé
karinn Messages postés 49 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 10 mai 2009 - 12 mars 2008 à 11:15
karinn Messages postés 49 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 10 mai 2009 - 20 mars 2008 à 21:17
Bonjour,
Je travaille sur un projet en c++ et j'aurais besoin d'un petit coup de pouce !
Je mets mon code :

#include "projetsmsdialogimpl.h"
#include "qvaluelist.h"
#include "qlineedit.h"
#include "qstring.h"
#include "qmessagebox.h"
#include "qfile.h"
#include "qtextstream.h"
#include "qmap.h"




projetsmsDialogImpl::projetsmsDialogImpl( QWidget* parent, const char* name, bool modal, WFlags f )
: projetsmsDialog( parent, name, modal, f )
{

//Ouverture du fichier en mode lecture
QFile fichier("lexique.txt");
if (!fichier.open(IO_ReadOnly | IO_Translate))
{
QMessageBox::critical(0,"SMS","Fichier non ouvert !");
qDebug("coucou j'ai ouvert le fichier lexique");
return;

}
QTextStream ligne(&fichier);
QString smsLu;
QString francaisLu;

while (!ligne.atEnd())
{
smsLu = ligne.readLine();
francaisLu = ligne.readLine();
m_lexique[smsLu] = francaisLu;
m_lexique[francaisLu] = smsLu;
qDebug("%s - %s", smsLu.latin1(), francaisLu.latin1());
}
}
//**********************************************************
//Cette fonction est appelée quand l'utilisateur clique sur le bouton TRADUIRE
void projetsmsDialogImpl::f_traduire()
{
//On veut parcourir et segmenter le texto écrit par l'utilisateur dans la lineEdit "motSMS"
QString texto = motSMS->text(); //c'est notre texto !
QValueList < QString > lesMotsATraduire;
QString motExtrait;
int position;
for (position = 0 ; position < texto.length() ; ++position) //parcours du texto
if (texto[position] != ' ')
motExtrait += texto[position];
else
{
lesMotsATraduire.append(motExtrait);
motExtrait = "";
}
lesMotsATraduire.append(motExtrait);

//On traduit
QString traduction;
QString motsInconnus;
QValueList <QString>::Iterator doigt; //doigt=chaque mot du texto
for (doigt = lesMotsATraduire.begin() ; doigt != lesMotsATraduire.end() ; ++ doigt) //parcours de la QValueList
{
traduction += m_lexique[*doigt] + " ";

motsInconnus+=*doigt + " ";
}


motFR->setText(traduction+motsInconnus);
}

J'ai un petit problème avec le doigt( lol) dans motsInconnus. Je ne veux pas tous les doigts (qui correspond à chaque mot du texto tapé dans un qlineedit motSMS) je veux juste le doigt pas traduit (pour les mots qui ne sont pas contenus dans ma qMap m_lexique).

Merci d'avance !

1 réponse

karinn Messages postés 49 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 10 mai 2009 1
20 mars 2008 à 21:17
Bonjour

Bon bah personne m'a répondu mais le pb pr lequel javais demandé un petit coup de pouce est résolu...
Il y a maintenant un autre petit pb (je ne sais pas pkoi je n'y arrive pas...) concernant la mise en majuscule du premier caractère d'une QString...
QQun peut m'aider svp ???
Merci d'avance !
si vous avez besoin de mon code je le mettrai sans pb...
0