• Advertisement

Lire le nom d'un fichier

Tout ce qui concerne la version 11 & plus récentes de windev

**Windev est une marque déposée de Pcsoft**

Lire le nom d'un fichier

Messagepar Dark_Schneider » Lun Mar 05, 2007 10:24 am

Bonjour,

Petite question un peu bette, voila je dois faire une petite application et pour cela je dois lire certains fichiers dans un répertoire mais seulement certains fichiers.
Les fichiers à lire ont un nom commençant par MD.
J'aimerai donc savoir si l'on peut lire le nom d'un fichier pour ensuite lire à l'intérieur.
Merci d'avance.

Cordialement, Dark
Dark_Schneider
 

Advertisement

Messagepar tegesto » Lun Mar 05, 2007 2:51 pm

Regarde du côté de la fonction flistefichier qui te permet de lister les fichiers d'un répertoire et d'effectuer des traitements sur ces fichiers
tegesto
(tegesto_nospam@hotmail.com)
enlevez le _nospam pour répondre
tegesto
Membre Confirmé
 
Messages: 279
Inscription: Jeu Sep 08, 2005 2:35 pm
Localisation: Montpellier - France

Messagepar Dark_Schneider » Lun Mar 05, 2007 3:22 pm

Merci tegesto, je vien de regarder vite fait, fListeFichier et ListeFichier cela a plutot l'air de compter le nombre de fichier contenu dans un répertoire.
Je regarde cela de plus près et je dit le résultat demain :lol:
Merci encore
Dark_Schneider
 

Messagepar tegesto » Lun Mar 05, 2007 3:43 pm

Non avec flistefichier tu parcours les fichiers d'un répertoire et tu leur appliques une procédure
tegesto
(tegesto_nospam@hotmail.com)
enlevez le _nospam pour répondre
tegesto
Membre Confirmé
 
Messages: 279
Inscription: Jeu Sep 08, 2005 2:35 pm
Localisation: Montpellier - France

Messagepar Dark_Schneider » Mar Mar 06, 2007 10:00 am

Je pense que je vai utiliser ceci ca à l'air d'être correct comme programmation ^^


// Permet de lister tous les fichiers d'un répertoire
Recherch est une chaîne
sRepCourant est une chaîne = fRepEnCours()+"\*.*"
//On amorce la recherche. La constante FRFichier indique
//qu'on recherche des fichiers
sRecherch=fRep(sRepCourant,frFichier)
// Rechech = "" si plus de fichiers dans le répertoire
TANTQUE sRecherche <> ""
// On ajoute le fichier trouvé dans la liste LISTFIC
ListeAjoute(LISTE_FichierRepertoireCourant, sRecherch)
// On recherche le suivant
sRecherch=fRep("",frFichier)
FIN

Merci tegesto d'avoir pris le temps de me lire, de réfléchir et de m'avoir conduit sur la bonne voix, j'indiquerai plus tard si elle a marché
Dark_Schneider
 

Messagepar freddy77 » Mar Mar 06, 2007 9:11 pm

Ca marche mais comme ca c'est plus logique

il faut utiliser flistefichier comme ceci :


// Liste les fichiers commencant par "MD"
// Le parcours se fait également dans les sous-répertoires et est interruptible.
sRepCourant est une chaîne = fRepEnCours()+"\MD*.*"
ResListeFichier = fListeFichier(sRepCourant, frRécursif+frInterruptible)
// Pour chaque fichier trouvé
POUR TOUTE CHAÎNE UnFichier DE ResListeFichier SEPAREE PAR RC
// Ajout du fichier dans la table TableFic
listeAjoute(LISTE_FichierRepertoireCourant, UnFichier)
FIN
freddy77
Membre
 
Messages: 61
Inscription: Sam Mar 03, 2007 6:13 pm

Messagepar Dark_Schneider » Jeu Mar 22, 2007 10:48 am

merci pour ton aide freddy77,
j'ai du laisser tomber mon programme un moment pour cause de travail plus urgent,
voilà, ma partie de programme ne marche pas du tout, car sRecherch reste toujours égal à ""
Je vien d'eesayer ce que tu m'as donné, mais a quoi correspond pour toi les variable :
LISTE_FichierRepertoireCourant , j'ai mit que c'était une chaîne
frInterruptible (cela doit etre une fonction mais moi il me le prend en tant que variable)
et
UnFichier est une chaîne

Merci d'avance freddy77
Dernière édition par Dark_Schneider le Ven Mar 23, 2007 10:52 am, édité 2 fois.
Dark_Schneider
 

Messagepar freddy77 » Ven Mar 23, 2007 10:29 am

LISTE_FichierRepertoireCourant c'est une liste (dans la fenetre) qui recoit le nom des fichiers.

Mais tu peux mettre le resultat dans une table ou un hyperfile ou une table-memoire etc ...
freddy77
Membre
 
Messages: 61
Inscription: Sam Mar 03, 2007 6:13 pm

Messagepar Dark_Schneider » Ven Mar 23, 2007 11:16 am

moi j'utilise ca : sRecherch=fRep(sRepCourant,frFichier)
mais sRecherch = ""
Donc j'arrive a rien récupérer

si j'utilise ca : ResListeFichier = fListeFichier(sRepCourant, frRécursif+frInterruptible)
J'obtient un entier car fListeFichier renvoi un entier
Or c'est le nom du fichier que je veu récupérer et non le nombre du fichier du répertoire
:'(
Dark_Schneider
 

Messagepar freddy77 » Ven Mar 23, 2007 11:23 am

tu dois avoir un pb avec le contenu de :

sRepCourant

il doit bien contenir

sRepCourant est une chaîne = fRepEnCours()+"\MD*.*"
freddy77
Membre
 
Messages: 61
Inscription: Sam Mar 03, 2007 6:13 pm

Messagepar Dark_Schneider » Ven Mar 23, 2007 11:44 am

Si je fait ça : sRepCourant est une chaîne = fRepEnCours()+"/*.*"
sRepCourant = C:\Mes Projets\EXPRESS_automatisation\Exe\*.*

Moi j'ai mit : sRepCourant est une chaîne = "C:\TEDESP\EAA\A021"+"\*.*"
comme ca j'obtient sRepCourant = C:\TEDESP\EAA\A021, car c'est dans ce répertoire que je veu effectué ma recherche
Dark_Schneider
 

Messagepar freddy77 » Ven Mar 23, 2007 11:48 am

non le pb vient de la il faut qu'il y ait dans le chemin "\*.*" sinon ca marche pas
freddy77
Membre
 
Messages: 61
Inscription: Sam Mar 03, 2007 6:13 pm

Messagepar Dark_Schneider » Ven Mar 23, 2007 12:55 pm

Mon code

sRecherch est une chaîne
LISTE_FichierRepertoireCourant est une chaîne
sRepCourant est une chaîne = "C:\TEDESP\EAA\A021"+"\*.*"

//permet de lister tous les fichiers d'un répertoire
//On amorce la recherche, la constante FRFichier indique qu'on recherche des fichiers
sRecherch=fRep(sRepCourant,frFichier)
// sRechech = "" si plus de fichiers dans le répertoire
TANTQUE sRecherch <> ""
// On ajoute le fichier trouvé dans la liste LISTFIC
ListeAjoute(LISTE_FichierRepertoireCourant, sRecherch)
// On recherche le fichier suivant
sRecherch=fRep("",frFichier)
FIN

Bon la le sRepCourant contient le bon truc le problème que j'avais bettement fait et que j'avais mit ça :
sRepCourant est une chaîne = "C:\TEDESP\EAA\A021\"+"\*.*"
sRepCourant = C:\TEDESP\EAA\A021\\*.*, normal qu'il buggé car \\ *_*
Merci de m'avoir aidé a trouver mon erreur freddy77


La j'ai un autre problème, quand j'exécute le programme pas à pas quand j'arrive à :
ListeAjoute(LISTE_FichierRepertoireCourant, sRecherch)
Il me dit que LISTE_FichierRepertoireCourant n'est pas une liste, hors pour ListeAjoute il faut :
ListeAjoute(une chaîne de caractère, une chaîne de caractère)
Si je met LISTE_FichierRepertoireCourant est une Liste
Il me souligne ListeAjoute et me dit que je doit avoir : ListeAjoute(une chaîne de caractère, une chaîne de caractère)

Je voit pas d'ou vient le problème là, car d'une manière ou d'une autre ils se contredisent.
Merci d'avance
Dark_Schneider
 

Messagepar freddy77 » Ven Mar 23, 2007 1:07 pm

mais il faut un champ liste dans la fenetre il faut :

insertion>champs>liste

et la nommer :

LISTE_FichierRepertoireCourant
freddy77
Membre
 
Messages: 61
Inscription: Sam Mar 03, 2007 6:13 pm

Messagepar Dark_Schneider » Ven Mar 23, 2007 1:29 pm

Ok ça marche merci grandement freddy77
Dark_Schneider
 



  • Advertisement

Retourner vers Forum windev 11 & plus récentes

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités