Fichier texte merci

Signaler
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Statut
Membre
Dernière intervention
17 juillet 2007
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
salut a tous,

Voila je voudrai ouvrir le contenu d'un fihier texte et l'afficher en entier dans un textbox mon fichier texte contient plusieurs ligne,paragraphe etc... (un texte en fait lol)

Avec le code que j'utilise (en-dessous) il m'indique une erreur sur la ligne Get...

Quelqu'un saurait-il m'aider ???? merci

Private Sub cmdOpen_Click()
Dim intFile As Integer
Dim Valeur As String
intFile = FreeFile
Open "C:\Lecon16.txt" For Random As #intFile
Get #intFile, 1, Valeur
Text1.Text = Valeur
Close #intFile
intFile = MsgBox(" Ouverture réussie ! ")
End Sub

4 réponses

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Salut,
Essaie :

Open "C:\Lecon16.txt" For Input As #intFile
Text1.Text = Input(LOF(intFile), #intFile)
Close #intFile

De cette manière, si ton fichier n'est pas trop grand, tu l'importeras directement en entier dans ta textbox.
Si c'est trop pour une textbox, essaie avec une richtextbox.(composants Microsoft Rich Textbox 6.0 (SP 6).)

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Statut
Membre
Dernière intervention
17 juillet 2007

merci ca marche !!!
mais qu'estce que veut dire le "Input(LOF(intFIle),#intFile)"
Messages postés
338
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
4 novembre 2008
1
oui c plus simple d'utiliser Microsoft Rich Textbox

RichTextBox1.FileName = "c:\lecon16.txt"

Hassen TUNISIE
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
LOF(intFile) = taille de ton fichier en octets.
Avec Input(LOF(intFIle),#intFile) tu lis tout ton fichier d'un coup.

Tu pourrais lire octet par octet :
Dim intFile As Integer
Dim Valeur As String
intFile = FreeFile
Open "C:\Lecon16.txt" For Input As #intFile
do While not eof(intFile)
Valeur = valeur & Input(1,#intFile)
loop
textbox.text=valeur
close #intFile
C'est plus long.

Dans ce cas, si tu veux utiliser le get, l'équivalent serait :
Dim intFile As Integer
Dim Valeur As String
Dim tmp as string * 1
Dim i as long
intFile = FreeFile
Open "C:\Lecon16.txt" For Random As #intFile len = len(tmp)
for i = 1 to lof(intFile)
get #intFile, i, tmp
Valeur = valeur & tmp
next
textbox.text=valeur
close #intFile

La différence entre ces 2 derniers cas, c'est qu'avec random et get, tu peux lire l'octet ou le groupe d'octets que tu veux ou tu veux dans le fichier et qu'avec l'input(1,#intFile), tu lis en séquentiel sans possibilité de revenir au début sans réouvrir le fichier.

Dans ton cas, le plus simple et le plus rapide est la solution que je t'ai indiquée au début.

Bonne prog

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?