cs_moi4975
Messages postés109Date d'inscriptionlundi 27 juin 2005StatutMembreDernière intervention17 juillet 2007
-
2 août 2005 à 15:42
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 2006
-
2 août 2005 à 19:21
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
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 2 août 2005 à 16:05
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 !?
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 2 août 2005 à 19:21
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 !?