OpenFileDialog C'est Long :(

scottmat Messages postés 438 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 23 janvier 2011 - 22 sept. 2005 à 23:06
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 23 sept. 2005 à 16:40
Bonsoir à tous :


Dim AllText, LineOfText As String

OpenDoc1.Filter = "Fichier text (*.txt)|*.TXT"

OpenDoc1.FileName = ""

OpenDoc1.ShowDialog()

If OpenDoc1.FileName <> "" Then

Try

FileOpen(1, OpenDoc1.FileName, OpenMode.Input)

Do Until EOF(1)

LineOfText = LineInput(1)

AllText = AllText & LineOfText & vbCrLf

Loop

RichTextBox2.Text = AllText

Catch

MsgBox("Erreur ! MyAppne peut ouvrir ce fichier")

Finally

FileClose(1)

End Try

End If

J’ai une application, qui ouvre à l’aide d’une boite de dialogue ouvrir, un fichier Texte (comme vous pouvez le voir plus haut), et l’affiche dans un RichTextbox2. Le code marche a merveille, mais quand le fichier atteint + de 1Mo, mon pc commence a ramé alors que quand je l'ouvre avec Word il me l’ouvre immédiatement !!!


Comment pourrais-je améliorer mon code pour avoir la même rapidité ou sinon mieux ?


Merci
Amicalement Scottmat

6 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 sept. 2005 à 23:15
salut,
tu le lis ligne par ligne. il faut le lire d'un bloc.
je ne connais pas VB.Net, désolé, mais en VB6, à partir de ton TRY, le code serait :

Dim FF As Integer
FF = FreeFile
Open OpenDoc1.FileName For Input As #FF
RichTextBox2.Text
= Input(LOF(FF), 1)
Close #FF

PCPT
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
22 sept. 2005 à 23:31
Essais ceci pour l'ouverture de ton fichier


TextBox1.Text = IO.File.ReadAll("c:\monfichier.txt")

Est-ce mieux ?
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
23 sept. 2005 à 09:07
Avec un controle RichTextBox, c'est encore plus simple que cela ...
Tu as une méthode LoadFile() ...

OpenDoc1.Filter = "Fichier text (*.txt)|*.TXT"
OpenDoc1.FileName = ""
OpenDoc1.ShowDialog()
If OpenDoc1.FileName <> "" Then
Try
richtextbox1.LoadFile(OpenDoc1.FileName)
Catch
MsgBox("Erreur ! MyAppne peut ouvrir ce fichier")
Finally
FileClose(1)
End Try
End If

Christophe
0
scottmat Messages postés 438 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 23 janvier 2011 1
23 sept. 2005 à 14:11
Willi ta méthode marche beaucoup mieux,
crenaud76 ta méthode me renvoit en erreur !! je comprend pas pourquoi
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 sept. 2005 à 14:30
scott
ne fais pas un simple copier/coller

regarde le nom du RTB -> (1 .. 2)
PCPT
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
23 sept. 2005 à 16:40
de rien
Bon courage ++
0
Rejoignez-nous