Generation d'un fichier .rtf

Billyprog Messages postés 2 Date d'inscription mercredi 16 mai 2007 Statut Membre Dernière intervention 26 mai 2007 - 26 mai 2007 à 13:57
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 - 26 mai 2007 à 16:04
 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

amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
26 mai 2007 à 16:04
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.
0
Rejoignez-nous