|
Erreur : ecriture dans un fichier TXT |
Débuté par bertaladil, 07 fév. 2006 11:29 - 3 réponses |
| |
| | | |
|
| |
Posté le 07 février 2006 - 11:29 |
bonjour,
dans mon programme je fais un parcour d'un répertoire pour exporter les données de chaque fichier txt dans un seul fichier tout en appelant une procedure avec la commande fListeFichier("C:\MesFichiers\"+"*.Txt","Affiche_Liste") dans ma procédure je fais : nfic = fOuvre(sNomFichierGeneration, foEcriture) puis nfic = fOuvre(sNomFichierSource, foLecture) puis fEcritLigne(sNomFichierGeneration,LigneFichier)
mais une erreur qui s'affiche lors de l'appel de fecritligne dans la procedure AfficheListe:
Vous avez appelé la fonction fEcritLigne. Vous avez demandé à manipuler le fichier n°0 qui n'a pas été ouvert par fOuvre ou fCrée.
merci, |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2006 - 11:47 |
salut
fEcritLigne attend le numéro du fichier et non pas son nom, donc tu devrais écrire
fEcritLigne(nfic,LigneFichier) où nfic = fOuvre(sNomFichierGeneration, foEcriture) |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2006 - 11:50 |
Bonjour,
Avec un minimum de recherche dans l'aide en ligne de Windev (très clair !) tu trouveras ta réponse
Je t'invite vivement à consulter l'aide de la commande fEcritLigne(). Cette coomande attend en paramètre l'ID du fichier ouver et non pas le nom du fichier
pour mémoire (extrait de l'aide en ligne)
// Ouverture d'un fichier externe IdFichier = fOuvre("C:\MesRépertoires\Fichier.txt", foLectureEcriture) SI IdFichier <> -1 ALORS // Écriture d'une ligne dans ce fichier ResEcriture = fEcritLigne(IdFichier, "Compte-rendu de la réunion") SI ResEcriture = Faux ALORS ... FIN FIN
Il y' a donc 2 erreurs dans ton code, je te laisse les corriger
Cordialement,
Stéphane
"Adil BERTAL" <bertaladil@yahoo.fr> a écrit dans le message de news: 43e86555$1@news.pcsoft.fr...
bonjour,
dans mon programme je fais un parcour d'un répertoire pour exporter les
données de chaque fichier txt dans un seul fichier tout en appelant une procedure avec la commande fListeFichier("C:\MesFichiers\"+"*.Txt","Affiche_Liste")
dans ma procédure je fais : nfic = fOuvre(sNomFichierGeneration, foEcriture) puis nfic = fOuvre(sNomFichierSource, foLecture) puis fEcritLigne(sNomFichierGeneration,LigneFichier)
mais une erreur qui s'affiche lors de l'appel de fecritligne dans la procedure AfficheListe:
Vous avez appelé la fonction fEcritLigne. Vous avez demandé à manipuler le fichier n°0 qui n'a pas été ouvert par
fOuvre ou fCrée.
merci,
|
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2006 - 15:07 |
YORK a écrit :
salut
fEcritLigne attend le numéro du fichier et non pas son nom, donc tu devrais écrire
fEcritLigne(nfic,LigneFichier) où nfic = fOuvre(sNomFichierGeneration, foEcriture)
De plus, si tu dois utiliser plusieurs fichiers, l'ID doit être différent pour chaque fichier. Dans ton exemple nfic correspond au 1er fichier ouvert en écriture, et au 2eme fichier ouvert en lecture seule. ça ne fonctionnera pas non plus, outre le fait que tu dois exécuter un fferme(idfic) avant d'en ouvrir un autre.
-- Jacques Trepp Albygest - 81160 - St Juery jacques-pas de spam.trepp@free.fr (enlever '-pas de spam' pour me joindre) http://www.albygest.com |
| |
| |
| | | |
|
| | | | |
| | |
|