bonjour a tous ceux qui lirons ce message et merci d'avance si vous trouvez une solution.
je voudrai lire un fichier exemple avec 30303030 dedans soit 1111 en ascII.
je voudrai lire les hexa du debut j'usqu'a la fin du fichier tout
en les mettant un par un dans une variable X pour les traiter.
mon prob est que ne c'est pas comment incrementer le debut de la lecture. (la fourchette de lecture d'un fichier)
voila ce que moi j'ai fai
cela fonctionne mais je ne ve pas ouvrir tous le fichier d'un coups
pour le mettre dans (a) je veux les LIRE un par un.
Open (FILE) For Binary As #1
LNG = FileLen(FILE)
a = Input(LNG, #1) "comment incrementer la lecture 1 par 1??
For I = 1 To LNG
X = hex(Mid(a, I + 1, 1))
"traitement divers sur X"
Next I
BYE:
close #1
merci encore a ceux qui pourrons m'aider (c'est pas super bien expliquer je sais lol) BYE
Si tu ne veux pas charger tous le fichier en mémoire d'un coup, tu peux essqyer ça :
Dim a As String * 2
Dim X As String
Dim FILE As String
Dim LNG As Long
Dim i As Long
FILE = "c:\temp\essai.dat" ' le chemin et le nom de ton fic
LNG = FileLen(FILE)
Open (FILE) For Random As #1 Len = 2
For i = 1 To LNG / 2
Get #1, i, a
tu choisi
X = a ' là tu as la valeur hexa lue par ex '30'
ou
X = Chr(a) ' là tu as le caractère représenté par la valeur lue
Next i
Salut bobo91
Tu étais bien parti, mais tu t'es compliqué : Lis d'une traite le fichier et fais ton traitement sur le String que tu vas récupérer.
Je suppose que les codes hexa que tu récupères sont tous par couple (de 00 à FF) :
Open (FILE) For Binary As #1
LNG = FileLen(FILE)
Texte = String(LNG, " ")
Get #1, , Texte
Close #1
For I = 1 to LNG Step 2
Chiffre = Chr(Val("&H" & Mid(Texte, I, 2)))
Next I
merci a tous oui en effet c pour de gros fichier donc en memoire dans une variable c fait beaucoup donc je vai rester sur la solution a canislupus et je garde com mem les autre dans ma tete. merci infiniment a tous.bye
ta solution est bonne sauf qu'il y a un petit hic:
j'ai fait un fichier text comportant 123456
et il me sort : 12;34;56
moi je voudrais qu'il me sorte 1;2;3;4;5;6
merci encore une petite modif a faire mais je ne sais pas ou
et je ne comprend pas le "Dim a As String * 2" ke ve dire le *2
merci beaucoup.
Tout à fait,
Scuse pour l'erreur ds le code mais je pensais d'après ta question de départ que ton fichier était en hexa.
Mais tu t'en es très bien sorti tout seul.
Pourquoi le string * 1 ? Ben, tout simplement parce que cette méthode d'ouverture et de lecture de fichier impose ça. Sinon, ça marche pas.
Le get lit autant de caractères que peut contenir la taille du buffer (a ds l'ex).