RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Erreur de syntaxe ????

Forum : C++
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ C++

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C++

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
molo2003
Nouveau membre
Inscrit : 11/04/2006
Messages : 8
Message
#138984
Posté le 23/07/07 à 13:45
Bonjour les experts,

J'ai déjà ,il y a quelques années programmer léger en Visual C++ Version 6 (avec MFC). Je viens d'acheter Microsoft Visual Studio 2005 Standard et je me suis remis à la programmation basique en C++ .
Voici mon problème:

Dans mon programme, j'ai établi un « Array de FileSystemInfo » par la Classe DirectoryInfo au moyen du membre GetFileSystemInfos.Je récupère ainsi la liste des fichiers et sous répertoire de mon repertoire origine(String^ origine). Cele marche très bien puisque je peux lire la liste exacte du chemin complet de ceux ci par le premier « Console::WriteLine(« Repertoire ..... ».
Mais mon problème provient a la suite: pour chaque élement du « Array  ^FileSystemInfo^ », je veux tester si c'est un répertoire ou un fichier. Je veux utiliser la propriété « Attributes.Get() » pour tester , dans le « FileAttributes » donné,si le membre « Directory » est présent ou absent . Je saurais affirmer si l'élément est un répertoire ou pas.

Et c'est dans cette ligne du if((File::GetAttributes( .... que ce produit l'erreur ci dessous:
« Erreur 1 error C3063: opérateur '&' : tous les opérandes doivent avoir le même type énumération »

Je veux absolument utiliser la Classe FileSystemInfo et ses membres. Dans la documentation, on parle de pouvoir « caster » les éléments de FileSystemInfo en elements de File.... mais je ne sais pas faire.
Je vous soumets une petite parti du code source

Code source:

DirectoryInfo^ dirinfo = gcnew DirectoryInfo(origine); // origine

array<FileSystemInfo^>^ reper = dirinfo -> GetFileSystemInfos ();

for(int i=0; i < reper->Length; i++) //liste des fich et sous-dir du rep_ori
{ String^ fich_ou_dir = gcnew String((reper[i]->FullName)->ToString());
Console::WriteLine("Repertoire_{0}: {1}", i, fich_ou_dir);

if ((File::GetAttributes( fich_ou_dir )) & FileAttributes::Directory == FileAttributes::Directory )
{ Console::WriteLine("\n\n OUIIIIIIIII c'est un directory");
}

}


Voilà, si quelqu'un connait la syntaxe exacte pour obtenir mon résultat, je suis prenneur.

Autre petite question banale: quelle syntaxe pour convertir un int en String^ ???

Grand merci d'avance à ceux qui voudront m'aider.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

vortex666
Modérateur :
- C & C++
- OpenGL
- Delphi
Chef de projet(s) :
- Vortez3DEngine

Avatar de vortex666
Inscrit : 20/09/2004
Messages : 490
Message
#139116
Posté le 24/07/07 à 20:03
J'au eu de la misere a comprendre ton code, mais si tu veut un coup de main, regarde ici: http://msdn2.microsoft.com/en-us/library/system.io.filesysteminfo.aspx

Et pour convertir un int en string, ben je ne sais que le faire en c.

Par explemple, tu peut faire:

int i = 352;
char c[32];
sprintf(c, "%d", i);

ps: sprintf ajoute le "NULL character" a la fin automatiquement...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

molo2003
Nouveau membre
Inscrit : 11/04/2006
Messages : 8
Message
#139170
Posté le 25/07/07 à 12:37
Grand merci à Vortex666 d'avoir donner un peu de sontemps pour me répondre.

En fait , j'ai trouvé la solution à mes problèmes à force de fouiller dans la doc MSCN Library que j'ai en français (livrée avec Microsoft Visual Studio 2005) et surtout en me creusant la cervelle pour faire la distinction entre pointeur de Array et élément de Array. Il suffisait dans mon code de mettre "fich_ou_dir[i]" puisque j'étais dans un "for" pour tester tous les éléments du Array.

Pour la question basique de transformation, j'ai aussi les solutions:

- de int num = 22; en String ===> num.ToString() (remplace le itoa en C).
- de String^ txt = "00123"; en Int ===> Convert::ToInt32(txt) (remplace le atoi en C.

Encore merci à toi Vortex666 et je pense encore venir ici car j'ai beaucoup de choses à découvrir. Mais je ne suis qu'un programmeur amateur et je travaille sur un projet personnel de sauvegarde de disque sur un autre sans faire une copie "bestiale" de tous les fichiers et répertoires mais uniquement des fichiers modifiés depuis la dernière sauvegarde (je dois économiser un temps fou)... Voila c'est déjà un tres bon exercice....

A++++++++++++++++=

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C++



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.