Ouvrir un fichier texte

Résolu
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 24 août 2005 à 18:27
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 24 août 2005 à 20:17
bonsoir
en cliquant sur un bouton,je voudrais ouvrir un fichier texte qui se trouve dans le même dossier que mon programme,comment procède t'on .
merci
@ plus
petchy

10 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
24 août 2005 à 19:31
c'est encore un peu vague.

bon je te le mets dans une ListView ligne par ligne comme exemple.







ListView1.ColumnHeaders.Add , , "nom"



Dim Zone As String



Open App.Path & "" & "essai.txt" For Input As #1

While Not EOF(1)

Line Input #1, Zone

ListView1.ListItems.Add , , Zone

Wend

Close #1


Daniel
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
24 août 2005 à 18:52
Open App.Path & "" & "essai.txt" For Input As #1

MsgBox LOF(1)

Close #1


Daniel
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
24 août 2005 à 18:53
Salut,
As-tu fait une tite recherche sur le forum et/ou dans les sources ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
24 août 2005 à 19:19
bonsoir à vous
CanisLupus j'ai fait une recherche sur le forum mais je n'ait pas trouver,j'ai peut etre mal fait la recherche
Merci Daniel pour ton code,mais il ne fonctionne pas,il m'affiche un MSGBOX
petchy
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
24 août 2005 à 19:24
et qu'est ce que tu voudrais faire avec ton fichier.

l'ouvrir c'est une chose mais ensuite ?

le lire ligne par ligne, le lire entièrement, le mettre dans une Listview,

tout est possible

Daniel
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
24 août 2005 à 19:26
oups j'ai oublier ,je voudrais le lire
0
EREF Messages postés 31 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 24 février 2006
24 août 2005 à 19:43
voiçi quelque chose de plus "pédagogique" et de plus "puriste" concernant l'ouverture pour écrire ou lire un fichier texte en mode séquentiel et en mode direct: (je l'avais déjà exposé à quelqu'un sur ce site le 15/06/05.)


regarde la fonction OPEN de Visual Basic.
tu as généralement 3 cas : ouvrir un fichier pour le lire, ouvrir un fichier pour y écrire dedans, ( ces deux cas sont caractérisés par ce qu'on appelle le mode séquentiel); et enfin ouvrir un fichier pour lire et/ou écrire ( ceci est le mode direct).

1°)
Le mode SEQUENTIEL comme son nom l'indique, on lit, ou on écrit ce fichier donnée après donnée.
Pour LIRE voir la fonction VB suivante:
OPEN <Ch.directeur du fichier à lire> FOR INPUT AS #1
ce qui veut dire: "ouvre le fichier XXX qu'on appelera dorénavant #1 (ou #2,#3,#4,....), pour y prendre des données les unes après les autres"
INPUT #1,ENR
ce qui veut dire: "prend la ligne en cours du fichier #1, et stock la dans la variable ENR"
CLOSE #1
ce qui veutt dire: "ferme ce fichier , et remet le compteur des lignes à zéro

Pour ECRIRE, c'est idem mais on tape OUTPUT au lieu de INPUT pour la ligne contenant OPEN, et on utilise PRINT au lieu de INPUT pour stocker la variable ENR

ATTENTION: Tout est question du format avec lequel le fichier à été écrit à l'origine, mais généralement tout est réalisable.
Si on veut intercaler une ligne dans un fichier déjà existant, il faut ouvrir le fichier à lire en #1 mode INPUT; et un nouveau fichier ,nommé différement, en écriture en #2 mode OUTPUT; il faudra lire dans #1 toutes les lignes avant, et les écrire dans #2, inscrire dans #2 la ligne à intercaler, puis lire le reste de #1 pour l'écrire dans #2.

PS : Voir aussi sous VB la fonction LINE INPUT.

2°)
Le mode DIRECT est pratique mais ne fonctionne pas du tout comme les 2 modes que je t'avais expliqué .
On utilise RANDOM pour ouvrir un fichier , et les instructions GET pour lire , et PUT pour écrire dedans.
Comment ça marche !??!

Ex: Tu veux stocker dans un fichier ton Nom,Prénom,Adresse,et Téléphone, et surtout tu veux pouvoir y accéder directement sans être obligé de lire tout le fichier.

Ces données tu vas les stocker ligne par ligne.
Tu as (en mode RANDOM) un peu plus de 32000 lignes disponibles.

Il est conseillé de passer par une variable Tampon (Ex: Dim ENR as String)
Le code est le suivant:

OPEN <Ch.directeur du fichier à écrire> FOR RANDOM AS #1
ENR=Nom
PUT #1,1,ENR
ENR=Prénom
PUT #1,2,ENR
ENR=Adresse
PUT #1,3,ENR
ENR=Téléphone
PUT #1,4,ENR
CLOSE #1

On à fait quoi ?? en language humain !!!!

On à écrit dans #1, à la ligne 1, la variable ENR, dans laquelle on avait stocké le Nom
On à écrit dans #1, à la ligne 2, la variable ENR, dans laquelle on avait stocké le Prénom
Etc,Etc,..........

Tu as compris ???

Maintenant, si tu veut ressortir ton N° de Téléphone, tu sais qu'il est stocké à la ligne 4, donc le code est le suivant:

OPEN <Ch.directeur du fichier à lire> FOR RANDOM AS #1
GET #1,4,ENR
CLOSE #1

A toi de faire les liens avec les textbox, listbox, combo, label..de tes Form.
Tu peux faire des boucles, et remplacer le N° de ligne par une variable, de manière à incrémenter automatiquement tes lignes.

PS: Si tu ouvres avec WordPad ou Notepad, Etc.. ce fichier, il sera bizarre à l'écran, ne le modifie surtout pas, tu ne pourrait plus l'ouvrir avec l'instruction OPEN comme on vient de faire.

2ème PS: Je ne peux pour le moment consulter ce site uniquement les Mercredis.


Salut !!!!
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
24 août 2005 à 19:50
merci EREF pour ses informations,qui sont forte intéressante


Daniel,j'ai tester ça n'a pas l'air mal,en fait j'ai créer un fichier d'aide en .txt et c'est pour que les personnes puissent le lire.
encore merci à vous
bonne soirée
petchy
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
24 août 2005 à 20:08
ce n'était qu'un exemple.

avec un TextBox en Multilignes et Scrollbar vertical, tu peux lire tout le fichier d'un coup.





Open App.Path & "" & "essai.txt" For Input As #1

Text1.Text = Input(LOF(1), #1)

Close #1


Daniel
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
24 août 2005 à 20:17
Re merci Daniel,c'est vrai que c'est plus lisible avec un textbox
petchy
0
Rejoignez-nous