PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → lire un fichier txt
lire un fichier txt
Débuté par jf.felix, 11 jan. 2006 16:19 - 9 réponses
Posté le 11 janvier 2006 - 16:19
bonjour et bonne année

je vous contacte pour savoir comment on fais pour lire dans un fichier txt mais ligne par ligne. et par le suite envoyer les lignes dans des champs de saisies
si quelqu'un a une idée qu'il m'eclaire please

merci
Posté le 11 janvier 2006 - 17:51
Bonjour,

pour lire un fichier texte ligne par ligne, tu a la fonction pour l'ouvrir et ensuite la lire. Les fonctions sont fouvre() flitLigne()...

Tu as meme un assistant pour t'aider.

Bonne continuation.

Chris Letellier.
Posté le 11 janvier 2006 - 17:52
sLigne est une chaine
#1 est un entier = fOuvre("c:\fichier.txt",foLecture)
SI #1<>-1 ALORS
//Ligne 1 du fichier.txt
sLigne = fLitLigne(#1)
//Ligne 2 diu fichier.txt
sLigne = flitligne(#1)
FIn


Bonne continuation
Posté le 11 janvier 2006 - 17:52
C'est assez simple, voir exemple ci-dessous de parcours sur fichier texte "Fetes.txt"
sBuffer contiendra l'enregistrement lu
La fonction "ExtraitChaîne" lit l'élément de sBuffer en fonction des tabulations du fichier texte. En effet, si l'enregistrement du fichier texte contient plusieurs valeurs, chacune d'entre elles doit être séparé par une tabulation. Ainsi "ExtraitChaîne(sBuffer,3)" extrait le 3ème valeur de l'enregistrement texte. Cette valeur peut ensuite être manipulée dans Windev.

NumFic est un entier
sBuffer est une chaîne
sValeur est une chaîne

NumFic=fOuvre("Fetes.txt",foLecture)
SI NumFic>0 ALORS
sBuffer=fLitLigne(NumFic)
TANTQUE sBuffer <> EOT
sValeur = ExtraitChaîne(sBuffer,3)
sBuffer=fLitLigne(NumFic)
FIN
fFerme(NumFic)
FIN
Posté le 11 janvier 2006 - 18:28
Bonjour,
Jete un oeil sur les fonction fouvre/flitligne/fferme et l'aide associée, tu devrais y trouver ton bonheur.

Frédéric.
Posté le 11 janvier 2006 - 18:29
bonjour,

declarer ton fichier texte genre

fictxt est une chaine
recfic est compsé de
chp1 est une chaine fixe sur x
....
fin

ouvrir le fichier texte
avec la commande fouvre

faire une boucle en utilisant la commande flitligne

affecter le contenu de recfic au fichier hyperfile

terminer avec la commande fFerme



En espérant que ça t'aideras
Posté le 11 janvier 2006 - 18:31
salut

alors d'abord il faut ouvrir ledit fichier avec fOuvre()
ensuite lire les lignes avec fLitLigne()

c'est pas compliqué avec windev
Bon dev
Posté le 11 janvier 2006 - 18:31
Voici l'exemple tiré de l'aide WD

// Déclaration des variables
NomCheminFichier est une chaîne
IdFichier est un entier
LigneLue est une chaîne
ResFermeFichier est un entier
// Sélection du nom et du chemin du fichier
NomCheminFichier = "C:\MesRépertoires\Fichier.txt"
// Ouverture du fichier
IdFichier = fOuvre(NomCheminFichier)
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
Erreur(ErreurInfo( errMESSAGE ))
SINON
// Lecture de la première ligne du fichier
LigneLue = fLitLigne (IdFichier)
// Affichage de la première ligne dans le champ de saisie
SaisieFichier = LigneLue
// Autres lignes à lire ? Erreur de lecture ?
TANTQUE LigneLue <> EOT ET LigneLue <> ""
// Lecture des lignes suivantes du fichier
LigneLue = fLitLigne (IdFichier)
// Affichage des lignes suivantes dans le champ de saisie
SaisieFichier = SaisieFichier + LigneLue
FIN
// Affichage du message d'erreur si la lecture n'a pas été effectuée
SI LigneLue = "" ALORS Erreur(ErreurInfo(errMESSAGE))
SI LigneLue = EOT ALORS Info("La fin du fichier a été atteinte")
// Fermeture du fichier
ResFermeFichier = fFerme(IdFichier)
SI ResFermeFichier = -1 ALORS
// Affichage du message d'erreur si la fermeture n'a pas été effectuée
Erreur(ErreurInfo(errMESSAGE))
FIN
FIN
Posté le 11 janvier 2006 - 18:31
Bonjour,

hFic est un entier = fouvre(<MonFic>, FoLecture)
si hFic=-1 alors <traitement de l'erreur> ; retour
sLigne est une chaine

sLigne = flitligne(hfic)
tantque sLigne<>eot
//Affectation du contenu de sligne aux champs
sLigne = flitligne(hfic)
fin

fferme(hfic)


Cordialement,

Lionel
Posté le 12 janvier 2006 - 11:56
merci de votre aide a tout le monde
je ne pouvais pas espérer mieu

encore merci et bonne année