qqn me dit que C ptet du à une gestion de la liste....
je vs met le code alors:
void DTraduct::OnSelchangeComboLangue(const bool valide)
{
/// --------------------------------------------------------------------
/// ---------------- DTraductions::OnSelchangeCombo() ----------------
/// --------------------------------------------------------------------
/// ----- Objectif : valide et passe a l'elt demandé
/// ----- Auteur(s) : Bruno CELLE 27/07/04
/// ----- PreCond : /
/// ----- PostCond : m_sMemLangue1, m_sMemLangue2, m_sMemData à jour
/// ----- Etat : 1 (-1<0<1<2)
/// --------------------------------------------------------------------
/// ----- Var : classes externes dont on appelle des méthodes (1) : BFichierIni
/// ----- Var Utilisées de la classe (6) : m_comboData ,m_comboLangue1 ,m_comboLangue2 ,m_sFicIni ,m_sLangue1 ,m_sLangue2
/// ----- Var Internes à la fonction (4) : lang1 ,lang2 ,plomp ,valeur
/// ----- Var In (4) : m_comboData ,m_comboLangue1 ,m_comboLangue2 ,m_sFicIni
/// ----- Var Out (1) : m_sLangue1
/// ----- Var In-Out (1) : m_sLangue2
/// algo : sécu
if(c_comboData.GetCount()==0 || c_comboLangue1.GetCount()==0)
return;
/// algo : valide
if(valide)
valider();
else
UpdateData(true);
CString plomp;
/// algo : maj des cadres des 2 langues & mem...
c_comboLangue1.GetWindowText(plomp);
c_staticLangue1.SetWindowText(plomp);
m_sMemLangue1=plomp;
c_comboLangue2.GetWindowText(plomp);
c_staticLangue2.SetWindowText(plomp);
m_sMemLangue2=plomp;
c_comboData.GetWindowText(plomp);
m_sMemData=plomp;
UpdateData(false);
/// algo : charger
charger();
}
void DTraduct::valider()
{
///algo : maj du fichier ini de la modif (si modif il y a eu)
//postCond : UpdateData(true) fait
/// algo : sécu
if(c_comboData.GetCount()==0 || c_comboLangue1.GetCount()==0)
return;
try
{
UpdateData(true);
/// algo : SI vide
if(m_sLangue2=="")
{
/// algo : SI pas videOK
if(!m_BVideOK)
{
BString plomp;
/// algo : SI un elt d'une fenetre
if(((BString)m_sMemData).endWith("__"))
{
/// algo : txt de cette langue + " - TOTRANSLATE " + (lang)
plomp=m_sLangue1;
plomp+=" - TOTRANSLATE (";
plomp+=m_sMemLangue1;
plomp+=')' ;
}
else /// algo : SINON
{
/// algo : "TRANSLATION TODO : " + langue + txt de cette langue
plomp="TRANSLATION TODO : ";
plomp+=m_sMemLangue1;
plomp+=" : " ;
plomp+=m_sLangue1;
}
/// algo : MeF
plomp=plomp.convertTxtMisEnForme(true);
plomp.winFormat(false);
/// algo : SAV
BFichierIni::set(m_sMemLangue2,m_sMemData,m_sFicIni,plomp);
}
}
else/// algo : SINON (donnée OK)
{
/// algo : SI changement
if(m_sLangue2!=m_sMemRep)
{
/// algo : MeF
BString plomp=m_sLangue2;
plomp.winFormat(false);
plomp=plomp.convertTxtMisEnForme(true);
/// algo : SaV
BFichierIni::set(m_sMemLangue2,m_sMemData,m_sFicIni,plomp);
}
}
}
TRAITE_EXCEPTION_B;
}
void DTraduct::charger()
{
/// --------------------------------------------------------------
/// ---------------- DTraductions::OnBCharger() ----------------
/// --------------------------------------------------------------
/// ----- Objectif : init données de ref & donnée réponse & affiche warning éventuel
/// ----- Auteur(s) : Bruno CELLE 27/07/04
/// ----- PreCond : m_sMemLangue1, m_sMemLangue2, m_sMemData à jour
/// ----- PostCond : m_sMemRep à jour
/// ----- Etat : 1 (-1<0<1<2)
/// --------------------------------------------------------------
/// ----- Var : classes externes dont on appelle des méthodes (1) : BFichierIni
/// ----- Var Utilisées de la classe (6) : m_comboData ,m_comboLangue1 ,m_comboLangue2 ,m_sFicIni ,m_sLangue1 ,m_sLangue2
/// ----- Var Internes à la fonction (4) : lang1 ,lang2 ,plomp ,valeur
/// ----- Var In (4) : m_comboData ,m_comboLangue1 ,m_comboLangue2 ,m_sFicIni
/// ----- Var Out (2) : m_sLangue1 ,m_sLangue2
/// algo : Sécu
if(c_comboData.GetCount()==0 || c_comboLangue1.GetCount()==0)
return;
try
{
UpdateData(true);
/// algo : init val langue1
BString plomp=BFichierIni::get(m_sMemLangue1,m_sMemData,m_sFicIni,false);
plomp=plomp.convertTxtMisEnForme(false);
plomp.winFormat(true);
m_sLangue1=plomp;
/// algo : init val langue2, MeF & mem rsltat (m_sMemRep)
m_sMemRep=BFichierIni::get(m_sMemLangue2,m_sMemData,m_sFicIni,false);
if(m_sMemRep=="default")m_sMemRep="";
else
{
m_sMemRep=m_sMemRep.convertTxtMisEnForme(false);
m_sMemRep.winFormat(true);
}
m_sLangue2=m_sMemRep;
/// algo : affichage éventuel du warning (si un elt de fenetre)
c_sWarning.ShowWindow((m_sMemData).endWith("__"));
/// algo : slection de la boite de réponse
c_sLangue2.SetFocus();
/// algo : curseur à la fin
c_sLangue2.SetSel(m_sMemRep.getLength(),m_sMemRep.getLength(),FALSE);
UpdateData(false);
/*
//c_sLangue2.SetSel(0,-1);// tt sélectionner
c_sWarning.ShowWindow(((BString)m_sMemValeur).endWith("__"));
UpdateData(false);
*/
}
TRAITE_EXCEPTION_B;
}
Magic Nono:
l'informagicien!