[MFC]Migrer dans un fichier txt le contenu d'un TreeCtrl
Bonjour à tous
J'ai donc un TreeControle dans lequel je viens placer tout une arborescence de fichiers. La méthode de création de cet arbre est récursive, je ne peux donc pas "batcher" à la voler dans mon fichier texte.
Je souhaite donc, une fois mon arbre créé entièrement, placer le contenu de mon arbre dans un fichier texte, en reflétant la hierarchie par des tabulations.
Auriez vous une petite idée pour faire la chose de manière relativement simple et claire ?
Merci d'avance !!
Re: [MFC]Migrer dans un fichier txt le contenu d'un TreeCtrl
Merci Farscpae :D
perso j'ai essayé ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| CString PostTreatement(HTREEITEM hParent, int nLevel, int nMaxLevel)
{
CString strTmp, str, strWriteFile;
CTreeCtrl* ptrTree = (CTreeCtrl*) GetDlgItem(IDC_TREE);
int nNiveau = --nLevel;
if (ptrTree->ItemHasChildren(hParent))
{
HTREEITEM hItem = ptrTree->GetChildItem(hParent);
while (hItem != NULL )
{
/* on formate la chaine en fonction du niveau d'arborescence */
str="";
int i=nNiveau;
if (i != nMaxLevel)
{
str +="\t";
i++;
}
while ( i != nMaxLevel)
{
str +="|\t";
i++;
}
strTmp.Format("%s+--- %s\n",str,ptrTree->GetItemText(hItem));
strWriteFile += strTmp;
/* si on pointe sur un dossier et que le niveau d'arborescence limite n'est pas atteint */
if ( ptrTree->ItemHasChildren(hItem) && (nNiveau>0) )
{
strWriteFile += PostTreatement( hItem, nNiveau, nMaxLevel );
}
hItem = ptrTree->GetNextSiblingItem(hItem);
}
}
return strWriteFile ;
} |
NOTE : les levels sont là pour développer mon arbre jusqu'à un certain rang d'arborescence....
Dernière chose : je dois formatter la taille de mes fichiers sous forme
XX.XXX.XXX ( cad insérer des points dans la taille de mon dossier )
Y a t'il un outils permettant de formatter mon entier ?