begin process at 2012 02 05 05:46:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > PETIT CODE DE LEÇON D'ANGLAIS

PETIT CODE DE LEÇON D'ANGLAIS


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :anglais, xml, visual, faux, amis Niveau :Débutant Date de création :02/10/2008 Date de mise à jour :01/11/2008 17:27:54 Vu / téléchargé :4 576 / 181

Auteur : randriano

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note


 Description

Voici un petit programme édité sous Visual C++ 2003 mais fonctionne également sur VS 06 et VS 2005!
Il s'agit de l'apprentissage des FAUX AMIS et des VERBES IRREGULIERS en anglais.
Les données se trouvent en fait dans un fichier XML

Source

  • void CEnglish_GrammarDlg::OnBnClickedLoadxml()
  • {
  • CoInitialize(NULL);
  • srand(time(NULL));
  • CXMLDOMDocument m_xmlEnglishDoc;
  • CXMLDOMNode xmlWordBookNode;
  • CXMLDOMNodeList xmlWordBookNodeList;
  • CXMLDOMNode xmlWorkSheetNode1;//Faux Amis
  • CXMLDOMNode xmlWorkSheetNode2;//Irregular Verbs
  • CXMLDOMNodeList xmlRowNodeList;
  • CString test = "";
  • if (!m_xmlEnglishDoc.CreateDispatch(_T("MSXML.DOMDocument")))
  • return;
  • if(!m_xmlEnglishDoc.load(COleVariant(_T("ENGLISH (FAUX AMIS).xml"))))
  • {
  • AfxMessageBox(_T("ENGLISH (FAUX AMIS).xml NON EXISTENT\nOR ERROR INSIDE THE XML!!!!"));
  • return;
  • }
  • xmlWordBookNode.AttachDispatch(m_xmlEnglishDoc.get_documentElement());
  • xmlWordBookNodeList.AttachDispatch(xmlWordBookNode.get_childNodes());
  • xmlWorkSheetNode1.AttachDispatch(xmlWordBookNodeList.get_item(0));
  • xmlRowNodeList.AttachDispatch(xmlWorkSheetNode1.get_childNodes());
  • m_iFauxAmisCount = xmlRowNodeList.get_length();//101
  • for (int i = 0; i < xmlRowNodeList.get_length(); i++)
  • {
  • CXMLDOMNodeList xmlCellNodeList;
  • CXMLDOMNode xmlRowNode;
  • CXMLDOMNode xmlDataNode;
  • xmlRowNode.AttachDispatch(xmlRowNodeList.get_item(i));
  • if (xmlRowNode.get_baseName() == "Word")
  • {
  • xmlCellNodeList.AttachDispatch(xmlRowNode.get_childNodes());
  • xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(0));
  • m_EnArray.push_back((LPCTSTR)xmlDataNode.get_text());
  • xmlDataNode.DetachDispatch();
  • xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(1));
  • m_FrArray.push_back((LPCTSTR)xmlDataNode.get_text());
  • xmlDataNode.DetachDispatch();
  • }
  • xmlRowNode.DetachDispatch();
  • xmlCellNodeList.DetachDispatch();
  • }
  • xmlRowNodeList.DetachDispatch();
  • xmlWorkSheetNode2.AttachDispatch(xmlWordBookNodeList.get_item(1));
  • xmlRowNodeList.AttachDispatch(xmlWorkSheetNode2.get_childNodes());
  • m_iIrregularCount = xmlRowNodeList.get_length();//126
  • for (int i = 0; i < xmlRowNodeList.get_length(); i++)
  • {
  • CXMLDOMNodeList xmlCellNodeList;
  • CXMLDOMNode xmlRowNode;
  • CXMLDOMNode xmlDataNode;
  • xmlRowNode.AttachDispatch(xmlRowNodeList.get_item(i));
  • if (xmlRowNode.get_baseName() == "Verb")
  • {
  • xmlCellNodeList.AttachDispatch(xmlRowNode.get_childNodes());
  • xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(0));
  • m_InfArray.push_back((LPCTSTR)xmlDataNode.get_text());
  • xmlDataNode.DetachDispatch();
  • xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(1));
  • m_SimplePastArray.push_back((LPCTSTR)xmlDataNode.get_text());
  • xmlDataNode.DetachDispatch();
  • xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(2));
  • m_PpArray.push_back((LPCTSTR)xmlDataNode.get_text());
  • xmlDataNode.DetachDispatch();
  • xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(3));
  • m_TranslArray.push_back((LPCTSTR)xmlDataNode.get_text());
  • xmlDataNode.DetachDispatch();
  • }
  • xmlRowNode.DetachDispatch();
  • xmlCellNodeList.DetachDispatch();
  • }
  • xmlRowNodeList.ReleaseDispatch();
  • xmlWorkSheetNode1.ReleaseDispatch();
  • xmlWorkSheetNode2.ReleaseDispatch();
  • xmlWordBookNodeList.ReleaseDispatch();
  • xmlWordBookNode.ReleaseDispatch();
  • m_xmlEnglishDoc.ReleaseDispatch();
  • GetDlgItem(IDC_NEXTWORD)->EnableWindow(TRUE);
  • GetDlgItem(IDC_FAUXAMIS_TOCORRECT)->EnableWindow(TRUE);
  • GetDlgItem(IDC_NEXTVERB)->EnableWindow(TRUE);
  • GetDlgItem(IDC_IRREGULARVERB_TOCORRECT)->EnableWindow(TRUE);
  • GetDlgItem(IDC_LOADXML)->EnableWindow(FALSE);
  • m_iFauxAmisStartIndex = rand() % m_iFauxAmisCount;
  • m_iIrregularStartIndex = rand() % m_iIrregularCount;
  • CoUninitialize();
  • }
  • void CEnglish_GrammarDlg::OnBnClickedNextword()
  • {
  • GetDlgItem(IDC_LABEL_FRENCH)->ShowWindow(SW_HIDE);
  • GetDlgItem(IDC_EDITFRENCH)->SetWindowText("");
  • m_edEnglish.SetWindowText(m_EnArray[m_iFauxAmisStartIndex].c_str());
  • m_labFrench.SetWindowText(m_FrArray[m_iFauxAmisStartIndex].c_str());
  • m_iFauxAmisStartIndex = (++m_iFauxAmisStartIndex) % m_iFauxAmisCount;
  • }
  • void CEnglish_GrammarDlg::OnBnClickedFauxamisTocorrect()
  • {
  • GetDlgItem(IDC_LABEL_FRENCH)->ShowWindow(SW_SHOW);
  • CString str = m_FrArray[(m_iFauxAmisStartIndex - 1) % m_iFauxAmisCount].c_str();
  • UpdateData(TRUE);
  • if (str.CompareNoCase(m_strFrench) == 0)
  • AfxMessageBox(_T("CORRECT"));
  • }
  • void CEnglish_GrammarDlg::OnBnClickedIrregularverbTocorrect()
  • {
  • GetDlgItem(IDC_LABEL_INFINITIVE)->ShowWindow(SW_SHOW);
  • GetDlgItem(IDC_LABEL_SIMPLEPAST)->ShowWindow(SW_SHOW);
  • GetDlgItem(IDC_LABEL_PP)->ShowWindow(SW_SHOW);
  • GetDlgItem(IDC_LABEL_TRANSLATION)->ShowWindow(SW_SHOW);
  • CString str1 = m_InfArray[(m_iIrregularStartIndex - 1) % m_iIrregularCount].c_str();
  • CString str2 = m_SimplePastArray[(m_iIrregularStartIndex - 1) % m_iIrregularCount].c_str();
  • CString str3 = m_PpArray[(m_iIrregularStartIndex - 1) % m_iIrregularCount].c_str();
  • CString str4 = m_TranslArray[(m_iIrregularStartIndex - 1) % m_iIrregularCount].c_str();
  • UpdateData(TRUE);
  • CString strError = "ERRORS :\n";
  • if (str1.CompareNoCase(m_strInfinitive) != 0)
  • strError += "- Infinitive\n";
  • if (str2.CompareNoCase(m_strSimplePast) != 0)
  • strError += "- Simple past\n";
  • if (str3.CompareNoCase(m_strPP) != 0)
  • strError += "- Past participle\n";
  • if (str4.CompareNoCase(m_strTranslation) != 0)
  • strError += "- Translation\n";
  • if (strError == "ERRORS :\n")
  • AfxMessageBox(_T("100% CORRECT"));
  • else
  • AfxMessageBox(strError);
  • }
  • void CEnglish_GrammarDlg::OnBnClickedNextverb()
  • {
  • GetDlgItem(IDC_LABEL_INFINITIVE)->ShowWindow(SW_HIDE);
  • GetDlgItem(IDC_LABEL_SIMPLEPAST)->ShowWindow(SW_HIDE);
  • GetDlgItem(IDC_LABEL_PP)->ShowWindow(SW_HIDE);
  • GetDlgItem(IDC_LABEL_TRANSLATION)->ShowWindow(SW_HIDE);
  • GetDlgItem(IDC_EDITINFINITIVE)->SetWindowText("");
  • GetDlgItem(IDC_EDITSIMPLEPAST)->SetWindowText("");
  • GetDlgItem(IDC_EDITPP)->SetWindowText("");
  • GetDlgItem(IDC_EDITTRANSLATION)->SetWindowText("");
  • int nEdit = rand() % 4;
  • switch(nEdit)
  • {
  • case 0:
  • m_edInfinitive.SetWindowText(m_InfArray[m_iIrregularStartIndex].c_str());
  • break;
  • case 1:
  • m_edSimplePast.SetWindowText(m_SimplePastArray[m_iIrregularStartIndex].c_str());
  • break;
  • case 2:
  • m_edPP.SetWindowText(m_PpArray[m_iIrregularStartIndex].c_str());
  • break;
  • case 3:
  • m_edTranslation.SetWindowText(m_TranslArray[m_iIrregularStartIndex].c_str());
  • break;
  • }
  • m_labInfinitive.SetWindowText(m_InfArray[m_iIrregularStartIndex].c_str());
  • m_labSimplePast.SetWindowText(m_SimplePastArray[m_iIrregularStartIndex].c_str());
  • m_labPP.SetWindowText(m_PpArray[m_iIrregularStartIndex].c_str());
  • m_labTranslation.SetWindowText(m_TranslArray[m_iIrregularStartIndex].c_str());
  • m_iIrregularStartIndex = (++m_iIrregularStartIndex) % m_iIrregularCount;
  • }
void CEnglish_GrammarDlg::OnBnClickedLoadxml()
{
   CoInitialize(NULL);

   srand(time(NULL));

   CXMLDOMDocument m_xmlEnglishDoc;
   CXMLDOMNode xmlWordBookNode;
   CXMLDOMNodeList xmlWordBookNodeList;
   CXMLDOMNode xmlWorkSheetNode1;//Faux Amis
   CXMLDOMNode xmlWorkSheetNode2;//Irregular Verbs
   CXMLDOMNodeList xmlRowNodeList;
   CString test = "";

   if (!m_xmlEnglishDoc.CreateDispatch(_T("MSXML.DOMDocument")))
      return;

   if(!m_xmlEnglishDoc.load(COleVariant(_T("ENGLISH (FAUX AMIS).xml"))))
   {
      AfxMessageBox(_T("ENGLISH (FAUX AMIS).xml NON EXISTENT\nOR ERROR INSIDE THE XML!!!!"));
      return;
   }

   xmlWordBookNode.AttachDispatch(m_xmlEnglishDoc.get_documentElement());
   xmlWordBookNodeList.AttachDispatch(xmlWordBookNode.get_childNodes());
   xmlWorkSheetNode1.AttachDispatch(xmlWordBookNodeList.get_item(0));
   xmlRowNodeList.AttachDispatch(xmlWorkSheetNode1.get_childNodes());
   m_iFauxAmisCount = xmlRowNodeList.get_length();//101

   for (int i = 0; i < xmlRowNodeList.get_length(); i++)
   {
      CXMLDOMNodeList xmlCellNodeList;
      CXMLDOMNode xmlRowNode;
      CXMLDOMNode xmlDataNode;
      xmlRowNode.AttachDispatch(xmlRowNodeList.get_item(i));
      if (xmlRowNode.get_baseName() == "Word")
      {
         xmlCellNodeList.AttachDispatch(xmlRowNode.get_childNodes());
         xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(0));
         m_EnArray.push_back((LPCTSTR)xmlDataNode.get_text());
         xmlDataNode.DetachDispatch();
         xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(1));
         m_FrArray.push_back((LPCTSTR)xmlDataNode.get_text());
         xmlDataNode.DetachDispatch();
      }
      xmlRowNode.DetachDispatch();
      xmlCellNodeList.DetachDispatch();
   }

   xmlRowNodeList.DetachDispatch();

   xmlWorkSheetNode2.AttachDispatch(xmlWordBookNodeList.get_item(1));
   xmlRowNodeList.AttachDispatch(xmlWorkSheetNode2.get_childNodes());
   m_iIrregularCount = xmlRowNodeList.get_length();//126

   for (int i = 0; i < xmlRowNodeList.get_length(); i++)
   {
      CXMLDOMNodeList xmlCellNodeList;
      CXMLDOMNode xmlRowNode;
      CXMLDOMNode xmlDataNode;
      xmlRowNode.AttachDispatch(xmlRowNodeList.get_item(i));
      if (xmlRowNode.get_baseName() == "Verb")
      {
         xmlCellNodeList.AttachDispatch(xmlRowNode.get_childNodes());
         xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(0));
         m_InfArray.push_back((LPCTSTR)xmlDataNode.get_text());
         xmlDataNode.DetachDispatch();
         xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(1));
         m_SimplePastArray.push_back((LPCTSTR)xmlDataNode.get_text());
         xmlDataNode.DetachDispatch();
         xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(2));
         m_PpArray.push_back((LPCTSTR)xmlDataNode.get_text());
         xmlDataNode.DetachDispatch();
         xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(3));
         m_TranslArray.push_back((LPCTSTR)xmlDataNode.get_text());
         xmlDataNode.DetachDispatch();
      }
      xmlRowNode.DetachDispatch();
      xmlCellNodeList.DetachDispatch();
   }

   xmlRowNodeList.ReleaseDispatch();
   xmlWorkSheetNode1.ReleaseDispatch();
   xmlWorkSheetNode2.ReleaseDispatch();
   xmlWordBookNodeList.ReleaseDispatch();
   xmlWordBookNode.ReleaseDispatch();
   m_xmlEnglishDoc.ReleaseDispatch();

   GetDlgItem(IDC_NEXTWORD)->EnableWindow(TRUE);
   GetDlgItem(IDC_FAUXAMIS_TOCORRECT)->EnableWindow(TRUE);
   GetDlgItem(IDC_NEXTVERB)->EnableWindow(TRUE);
   GetDlgItem(IDC_IRREGULARVERB_TOCORRECT)->EnableWindow(TRUE);
   GetDlgItem(IDC_LOADXML)->EnableWindow(FALSE);

   m_iFauxAmisStartIndex = rand() % m_iFauxAmisCount;
   m_iIrregularStartIndex = rand() % m_iIrregularCount;

   CoUninitialize();
}

void CEnglish_GrammarDlg::OnBnClickedNextword()
{
   GetDlgItem(IDC_LABEL_FRENCH)->ShowWindow(SW_HIDE);
   GetDlgItem(IDC_EDITFRENCH)->SetWindowText("");

   m_edEnglish.SetWindowText(m_EnArray[m_iFauxAmisStartIndex].c_str());

   m_labFrench.SetWindowText(m_FrArray[m_iFauxAmisStartIndex].c_str());

   m_iFauxAmisStartIndex = (++m_iFauxAmisStartIndex) % m_iFauxAmisCount;
}

void CEnglish_GrammarDlg::OnBnClickedFauxamisTocorrect()
{
   GetDlgItem(IDC_LABEL_FRENCH)->ShowWindow(SW_SHOW);

   CString str = m_FrArray[(m_iFauxAmisStartIndex - 1) % m_iFauxAmisCount].c_str();

   UpdateData(TRUE);
   if (str.CompareNoCase(m_strFrench) == 0)
      AfxMessageBox(_T("CORRECT"));
}

void CEnglish_GrammarDlg::OnBnClickedIrregularverbTocorrect()
{
   GetDlgItem(IDC_LABEL_INFINITIVE)->ShowWindow(SW_SHOW);
   GetDlgItem(IDC_LABEL_SIMPLEPAST)->ShowWindow(SW_SHOW);
   GetDlgItem(IDC_LABEL_PP)->ShowWindow(SW_SHOW);
   GetDlgItem(IDC_LABEL_TRANSLATION)->ShowWindow(SW_SHOW);

   CString str1 = m_InfArray[(m_iIrregularStartIndex - 1) % m_iIrregularCount].c_str();
   CString str2 = m_SimplePastArray[(m_iIrregularStartIndex - 1) % m_iIrregularCount].c_str();
   CString str3 = m_PpArray[(m_iIrregularStartIndex - 1) % m_iIrregularCount].c_str();
   CString str4 = m_TranslArray[(m_iIrregularStartIndex - 1) % m_iIrregularCount].c_str();

   UpdateData(TRUE);
   CString strError = "ERRORS :\n";
   if (str1.CompareNoCase(m_strInfinitive) != 0)
      strError += "- Infinitive\n";
   if (str2.CompareNoCase(m_strSimplePast) != 0)
      strError += "- Simple past\n";
   if (str3.CompareNoCase(m_strPP) != 0)
      strError += "- Past participle\n";
   if (str4.CompareNoCase(m_strTranslation) != 0)
      strError += "- Translation\n";
   if (strError == "ERRORS :\n")
      AfxMessageBox(_T("100% CORRECT"));
   else
      AfxMessageBox(strError);
}

void CEnglish_GrammarDlg::OnBnClickedNextverb()
{
   GetDlgItem(IDC_LABEL_INFINITIVE)->ShowWindow(SW_HIDE);
   GetDlgItem(IDC_LABEL_SIMPLEPAST)->ShowWindow(SW_HIDE);
   GetDlgItem(IDC_LABEL_PP)->ShowWindow(SW_HIDE);
   GetDlgItem(IDC_LABEL_TRANSLATION)->ShowWindow(SW_HIDE);
   GetDlgItem(IDC_EDITINFINITIVE)->SetWindowText("");
   GetDlgItem(IDC_EDITSIMPLEPAST)->SetWindowText("");
   GetDlgItem(IDC_EDITPP)->SetWindowText("");
   GetDlgItem(IDC_EDITTRANSLATION)->SetWindowText("");

   int nEdit = rand() % 4;

   switch(nEdit)
   {
   case 0:
      m_edInfinitive.SetWindowText(m_InfArray[m_iIrregularStartIndex].c_str());
      break;
   case 1:
      m_edSimplePast.SetWindowText(m_SimplePastArray[m_iIrregularStartIndex].c_str());
      break;
   case 2:
      m_edPP.SetWindowText(m_PpArray[m_iIrregularStartIndex].c_str());
      break;
   case 3:
      m_edTranslation.SetWindowText(m_TranslArray[m_iIrregularStartIndex].c_str());
      break;
   }

   m_labInfinitive.SetWindowText(m_InfArray[m_iIrregularStartIndex].c_str());
   m_labSimplePast.SetWindowText(m_SimplePastArray[m_iIrregularStartIndex].c_str());
   m_labPP.SetWindowText(m_PpArray[m_iIrregularStartIndex].c_str());
   m_labTranslation.SetWindowText(m_TranslArray[m_iIrregularStartIndex].c_str());

   m_iIrregularStartIndex = (++m_iIrregularStartIndex) % m_iIrregularCount;
}

 Conclusion

N'hésitez pas à me poser des questions

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

01 novembre 2008 17:27:55 :
XML enhancement !!

 Sources du même auteur

Source avec Zip Source avec une capture CHAT UTILISANT 2 SERVEURS
Source avec Zip TRANSLATION HOMOTHETIE ROTATION
Source avec Zip PINGER DES HOTES D'UNE BD MYSQL + GRAPHIQUE
Source avec Zip CUBIC SPLINE
Source avec Zip MFC - DESSINER SOUS VC++ AVEC SELECTION

 Sources de la même categorie

Source avec Zip SCHEDULER RR FIFO par yvesB87
Source avec Zip ALGORITHMES RÉCURSIFS VS ALGORITHMES ITÉRATIFS par yvesB87
Source avec Zip Source avec une capture C++ FORMAT D'IMAGE AVEC QT par pop70
Source avec une capture EXEMPLE DE POINTEURS DE FONCTION par pop70
Source avec Zip Source avec une capture [C++] CLASS REGISTER par Miwik

 Sources en rapport avec celle ci

Source avec Zip COMPRESSER SES SAUVEGARDES SMSBACKUPRESTORE (ANDROID) EN C A... par ThalLab
Source avec Zip PARSER XML par MagnumPP
Source avec Zip Source avec une capture CHAT UTILISANT 2 SERVEURS par randriano
Source avec Zip Source avec une capture COMMENTAIRES DOXYGEN VERS VISUAL par coucou747
Source avec Zip MAIL MANAGER par mad_charif

Commentaires et avis

Commentaire de randriano le 03/10/2008 09:04:45

Bonjour!

Je suis dans l'attente de vos remarques!

Commentaire de LeFauve42 le 06/10/2008 10:49:17

Salut,

J'ai surtout regarde le .xml, et je remarque qu'il est domage que tes donnees ne soient organisees qu'en table (avec des noeuds <row> et <cell>).
On dirait que c'est un export d'Excel :o)

Tu pourrais faire ton propre ML avec un truc plus structure genre:

<lecon>
  <faux_amis>
    <mot>
      <anglais>abusive</anglais>
      <francais>injurieux</francais>
    </mot>
    <mot>
      <anglais>actual</anglais>
      <francais>(vrai)</francais>
    </mot>
    .../...
  </faux_amis>
  <verbes_irreguliers>
    <verbe>
      <infinitif>Be</infinitif>
      <preterit>was/were</preterit>
      <participe_passe>Been</participe_passe>
      <traduction>Etre</traduction>
    </verbe>
    <verbe>
      <infinitif>Beat</infinitif>
      <preterit>Beat</preterit>
      <participe_passe>Beaten</participe_passe>
      <traduction>Battre</traduction>
    </verbe>\
    .../...
  </verbes_irreguliers>
<lecon>
    

Ou si tu preferes un format plus concis, un truc genre:

<lecon>
  <faux_amis>
    <mot anglais="abusive" francais="injurieux"/>
    <mot anglais="actual" francais="(vrai)"/>
  </faux_amis>
  <verbes_irreguliers>
    <verbe infinitif="Be" preterit="was/were" participe_passe="Been" traduction="Etre"/>
    <verbe infinitif="Beat" preterit="Beat" participe_passe="Beaten" traduction="Battre"/>
    .../...
  </verbes_irreguliers>
<lecon>

Eric

Commentaire de vidjidu91 le 06/10/2008 12:26:20

j'ai pas regardé la source, mais c'est dommage d'utiliser de l'XML, car ça nous donne un fichier beaucoup plus important que, par exemple, deux fichiers (pour les VI, et les FA) avec par ligne deux mots, français anglais (ou vice-versa).

Commentaire de randriano le 07/10/2008 08:05:45

En effet, c'était de l'Excel Export, bon je vais le personnaliser
Pour ta remarque vidjidu91, je crois que l'idée d'un XML plus parlant est le mieux non?

Commentaire de LeFauve42 le 07/10/2008 10:27:36

Oui, c'est plus flexible de faire du XML.
Meme si le logiciel sera plus complexe, c'est mieux et plus evolutif que d'implementer une methode de serialisation a la main.
Ce n'est pas pour rien que l'industrie utilise ce format.

Commentaire de randriano le 01/11/2008 17:29:27

Salut les amis!

Je viens d'updater mon code, j'aurais pu le faire depuis le temps mais faute de paiement de ma connexion ...
L'amélioration c'est au niveau du XML mais je projette déjà de faire un programme pour pouvoir ajouter d'autres mots et verbes

Commentaire de LeFauve42 le 04/11/2008 11:12:35 8/10

C'est deja beaucoup plus clair !
Bravo, mais il reste quelques defauts a ton XML :
- Tu continues a utiliser le tag "Cell" pour contenir plusieurs types d'informations, en te basant sur leur ordre pour connaitre leur signification.
Tu devrais plutot utiliser des tags plus explicites. Ex:
   <Verb>
    <Cell><Data>Do</Data></Cell>
    <Cell><Data>Did</Data></Cell>
    <Cell><Data>Done </Data></Cell>
    <Cell><Data>Faire</Data></Cell>
   </Verb>
serait mieux en:
    <Verb>
      <infinitif>Do</infinitif>
      <preterit>Did</preterit>
      <participe_passe>Done</participe_passe>
      <traduction>Faire</traduction>
    </Verb>


De meme, dans ton code tu utilises l'ordre des noeuds ce qui n'est pas tres conseille (mais c'est vrai que tu n'as pas le choix comme tu utilises toujours le meme noeud) :
    xmlCellNodeList.AttachDispatch(xmlRowNode.get_childNodes());
    xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(0));
    .../...
    xmlDataNode.AttachDispatch(xmlCellNodeList.get_item(1));

Si ce qui t'arrete est le faite de devoir editer ton fichier a la main, je te conseille de faire rapidement un petit programme d'export qui convertirait ton format actuel au format desire (parce qu'a la main, tu vas te prendre la tete, et il y aura forcement une eerreur ou deux d'inattention...)

Bonne chance pour la suite, je l'attend avec impatience (lire ton fichier XML a deja fait beaucoup pour mon niveau d'anglais :o) )

Commentaire de randriano le 05/11/2008 14:14:19

Merci de ton intérêt! :-)

En effet, ce sera plus explicite! Mais c'est mon but sur le fait de permettre d'ajouter/supprimer des mots/verbes à l'aide du programme! Ce qui évitera aux users de lire le XML

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Le XML et visual C++ [ par sevay ] Bonjour à tous,Le problème qui m'arrive est que je dois lire un fichier en XML dans un prog C++ sous visual studio 6.J'ai bien lu les message qui en p ajouter le bibliothèque XML et un appel à une commande dos dans un programme C sous Visual Studio [ par boualiasma ] Bonjour, Je suis entrain de programmer en C avec Visual studio 2008 sous Windows XP. Je voudrais parser un fichier XML dans mon programme C. J'ai trou problème de compilation de bibliothèque XMlL dans un programme C sous visual Studio. [ par boualiasma ] Salut,- j' extrais tous les sept archives libxml2-2.7.3.win32, iconv-1.9.2.win32, zlib-1.2.3.win32, libxmlsec-1.2.11+.win32, libxslt-1.1.24.win32, xsl Installation Visual studio C++ 2003 sous XP 64bits [ par Quemar ] Bonjour à tous,je ne sais pas si je suis au bon endroit pour poser cette question mais la voila:J'utilise depuis 5ans Visual studio 2003 pour créer de convertir un fichier texte en fichier XML. [ par boualiasma ] Salut à tous !Je suis en train d'essayer de convertir un fichier texte en xml.Ce fichier texte est structuré, et j'ai donc un identifiant en début de Configuration de visual c++ v6 pour mysql [ par ovni00237 ] Salut mes frères du club.Je veut créer une application windows dans laquelle j'utilise les données (valeurs réelle) d'une relation MYSQL pour tracé de [A SUPPRIMER]suestion a propos de visual c++ [ par yasseross ] bonjour .. je sus un programmeur de visual basic et je veux passé au microsoft visual c++ et je sais pas est ce que cette langue est tres fort pou gérer l'exécution de 2 logiciels en c++ ( visual C++) [ par sunvi ] Bonjour, Je suis une étudiante en ingénierie réseaux et télécoms et je fais un stage où je dois programmer sur windows en C++, langage que je ne conna Comment extraire des informations à partir d'un fichier XML ? [ par boualiasma ] Bonjour, Je suis entrain de programmer en C avec Visual studio 2008 sous Windows XP. Je voudrais extraire des informations à partir d'un fichier XML Traduire données hexadecimal à partir d'un fichier XML [ par pgcyohome ] Bonsoir, Je ne connais pas grand chose aux fichiers XML, et j'aimerai vous soumettre ma problématique. J'ai en entrée un fichier avec des données he


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales