Vianneyp
Messages postés82Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 2010
-
24 sept. 2007 à 19:07
dannymoh
Messages postés2Date d'inscriptionjeudi 4 octobre 2007StatutMembreDernière intervention 9 octobre 2007
-
9 oct. 2007 à 14:45
Bonsoir,
Je cherche a importer un fichier txt contenant de trés nombreux caractéres speciaux (tous dans la table ASCII).Seulement je n'arrive pas a mettre son contenue dans une textbox.
J'ai essayé ces deux methodes :
' Dim canal As Integer
' Dim text As String
' canal = FreeFile
' Open File For Input As #canal
' TxTIn.Text = Input(LOF(canal), #canal)' If TxTIn.Visible False Then ButtonPlus2.Value True
[Erreur : l'entrée dépasse la fin de fichier]
et
'Open File For Input As #1
'While Not EOF(1)
'Input #1, a$
'TxTIn.Text = TxTIn.Text + a$ + Chr$(13) + Chr$(10)
'Wend
'Close #1'If TxTIn.Visible False Then ButtonPlus2.Value True
[Erreur : mon texte n'est pas importé en entier (moins d'un quart)]
=> ces 2 methodes marchent pourtant a merveille avec des fichiers bien plus gros.
Avez vous un moyen qui me permetterai de réperer mon "texte" ?
Merci d'avance
xav0
Messages postés20Date d'inscriptionsamedi 23 septembre 2006StatutMembreDernière intervention10 octobre 2007 24 sept. 2007 à 20:46
S'il y a une erreur 'l'entrée dépasse la fin de fichier', c'est sans doute à cause d'un caractère nul. En plus il n'est de toute façon pas possible de l'afficher dans un textbox, puisque pour windows, le caractère nul signifie "fin du texte".
Par contre, il est possible de récupérer le texte dans une variable string :
Dim Contenu As String
Open File For Binary As #1
Contenu = String(LOF(1), 0)
Get #1, , Contenu
Close #1
Avec cette méthode de lecture, les caractères spéciaux ne devraient pas poser de problème.
Vianneyp
Messages postés82Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 6 janvier 2010 24 sept. 2007 à 21:04
Merci infiniment ca marche,reste a savoir si je comprendrai pourquoi un jour ^^
Pourquoi cela fonctionne de cette facon ?
Grace a la methode d'accés au fichier (binary) ou au simple fait de l'avoir enregistré dans une chaine avant ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
xav0
Messages postés20Date d'inscriptionsamedi 23 septembre 2006StatutMembreDernière intervention10 octobre 2007 24 sept. 2007 à 21:14
C'est le mode d'accès Binary qui permet de lire n'importe quoi. D'ailleurs, je viens de m'en apercevoir, la méthode Input normale marche aussi du moment que le fichier est en mode binaire : Contenu = Input(LOF(1), #1).
Par contre, attention, en mode binaire, l'ouverture d'un fichier qui n'existe pas crée un fichier vide et ne provoque aucune erreur.