Generation d'un fichier .rtf

Signaler
Messages postés
2
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
26 mai 2007
-
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
-
 BillyprOg  

Bonjour Tout le Monde,

En ce moment j'essaie de m'amuser en créeant un programme permettant de charger des partitions (.rtf) et de les ouvrir dans un doc WORD les unes à la suite des autres. Je pourrai choisir les choisir à partir d'un bouton PARCOURIR et les RECOPIER sur un document que j'aurai générer à l'aide d'un second bouton.
Voici mon code.
Il me semble que j'utilise mal les fonctions WRITESTRING et mes boucles WHILE. Le bouton Parcourir fonctionne parfaitement mais Recopier bug.
Si vous avez des Solutions,Conseils ou Autres, ils seront les bienvenus.
Merci d'avance.

void CtablookDlg::OnBnClickedParcourir()
{

                CFileDialog File(true);   
                File.DoModal();
                m_strFileName=File.GetPathName();       
    int i=m_strFileName.GetLength();
    CString tst;
    while(i>0 && tst!=_T("E"))
    {
        i=i-1;
        tst=m_strFileName.GetAt(i);
    }
    m_strFileName=m_strFileName.Left(i);
    UpdateData(FALSE);

}
    void CtablookDlg::OnBnClickedRecopier()
{
    CStdioFile FileR;// On crée un objet de la classe CStdioFile.
   
    FileR.Open(m_strFileName,CFile::modeRead); //m_strFileName contient le chemin du fichier sur lequel on double click.
   
                CString str= _T("");
                CStdioFile FileW;
    FileW.Open(_T("C://Temp.Fichiersortie.rtf"),CFile::modeCreate|CFile::modeWrite);

    str=_T("{\rtf1\ansi\ansicpg1252\deff0\deflang1036\deflangfe1036\deftab708{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset0 Times;}{\f2\fswiss\fprq2\fcharset0 Berlin Sans FB;}}\n{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\nowidctlpar\f0\fs24");

//je recopie l'entête de mes fichiers de bases de telle sorte à ce que Word les reconnaisse.
//ensuite je fais une boucle qui recopiera chacun de fichiers et une autre qui recopiera chaque fichier ligne par ligne.

    FileW.WriteString(str);
    CFileFind finder;
    BOOL bWorking = finder.FindFile(_T("C:\\*.txt"));
    while (bWorking)
        {
            bWorking = finder.FindNextFile();
            CStdioFile FileR;
            FileR.Open(m_strFileName,CFile::modeRead);   
        }   
        bool bEnd = true;
        while(bEnd == true)
        {
            bEnd = FileR.ReadString(str);
            FileW.WriteString(_T("\par")+str+(_T("\n")));
        }   
            FileR.Close();  // On ferme le fichier d'entrée
            FileW.WriteString(_T("\page"));//saut de page.
        }
    FileW.Close();//Fermeture de fichier de sortie
    }

1 réponse

Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
5
salut:
 c'est du C# ça oO ?
ton message est visible sur tous les forums codes-sources, tu doit le posté dans le forum convenable; merci

<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.