Pb avec tableau

pinou_fr Messages postés 16 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 1 août 2008 - 31 mars 2005 à 16:16
pinou_fr Messages postés 16 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 1 août 2008 - 1 avril 2005 à 15:57
bonjour à tous, je suis débutant en VB et j'ai du mal sur les tableaux!!!!!
voila au depart je cré un fichier.txt avec des octets dedans: 80 F4 32 C7 etc.
je voudrai recupérer ces octets, les mettre dans un tableau et écrire dans un autre fichier seulement 32 C7 par exemple, mais je n'y arrive, quelqu'un à surement une solution pour m'aider non!!!

Autrement je jette mon pc par la fenètre. merci d'avance

13 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
31 mars 2005 à 16:53
Tu as essayé avec la methode Get #Fnum,VariableDeTypeByte ?


Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
pinou_fr Messages postés 16 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 1 août 2008
31 mars 2005 à 17:18
c quoi Get #Fnum,VariableDeTypeByte, à quoi ça sert? comment on utilise ce truc de barbare!
tu sais je suis un novice alors je comprends vite mais faut m'expliquer longtemps

merci
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
31 mars 2005 à 17:27
Si g bien compri, ton fichier contient du texte représentant des octets en formats XX XX XX....



Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
pinou_fr Messages postés 16 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 1 août 2008
1 avril 2005 à 08:17
Oui c'est ça des données au format héxa, et veux les transférés dans un autres fichiers, mais entre les deux je vais les trier, mon problème c'est que j'arrive à les stocké dans un tableau mais après je n'arrive pas à les "print" dans un ouveau fichier, est-ce que c'est possible se que je demande?
j'espere que j'ai été assé clair dans mon expliquation.
0

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

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
1 avril 2005 à 10:09
pour chaque item de ton tableau, print #FNum,Tableau(Item){;|,}

g sais plu si c un ";" ou un "," pour concaténer directement à la suite.



Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
pinou_fr Messages postés 16 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 1 août 2008
1 avril 2005 à 14:25
je crois que tu ne comprends pas ma question, je sais comment print une variable dans un fichier, moi se que je veux c'est print un groupe de variable à la suite, sur la même ligne!!!!

Exemple: j'ai mon bloc
7F F8 31 62 2B FF 84 21 27 9C 02 00 28 9B 01 03 9A 01 FF 7F 4A 1A 90 18 73 27 46 39 53 88 CA 9E A0 25 F7 2F 65 65 81 87 5D ED 84 6F 9A A5 FD 25 85 02 E1 60 7F F8 31 62 2B FF 84 22 27 9C 02 00 28 9B 01 03 9A 01 FF 7F 4A 1A 90 18 B9 F7 69 64 80 63 6E AA A0 25 F7 2F 65 65 81 87 5D ED 84 6F 9A A5 FD 25 85 02 E1 60 7F F8 31 62 2B FF 84 23 27 9C 02 00 28 9B 01 03 9A 01 FF 7F 4A 1A 90 18 F2 7F A1 B9 1E 07 AC 87 A0 25 F7 2F 65 65 81 87 5D ED 84 6F 9A A5 FD 25 85 02 E1 60
et je veux obtenir ça:
7F F8 31 62 2B FF 84 21 27 9C 02 00 28 9B 01 03 9A 01 FF 7F 4A 1A 90 18 73 27 46 39 53 88 CA 9E A0 25 F7 2F 65 65 81 87 5D ED 84 6F 9A A5 FD 25 85 02 E1 60

7F F8 31 62 2B FF 84 22 27 9C 02 00 28 9B 01 03 9A 01 FF 7F 4A 1A 90 18 B9 F7 69 64 80 63 6E AA A0 25 F7 2F 65 65 81 87 5D ED 84 6F 9A A5 FD 25 85 02 E1 60

7F F8 31 62 2B FF 84 23 27 9C 02 00 28 9B 01 03 9A 01 FF 7F 4A 1A 90 18 F2 7F A1 B9 1E 07 AC 87 A0 25 F7 2F 65 65 81 87 5D ED 84 6F 9A A5 FD 25 85 02 E1 60

chaque entete en debut de ligne et ces données à la suite, tu comprends?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
1 avril 2005 à 14:38
Donc g te propose :

ChaineRetLigne as string 'contient la chaine de début de groupe

FNum As Long 'un fichier ouvert en écriture

ChTot as string 'Le contenu de ton fichier texte



do while ChTot<>""

a=instr(len(ChaineRetLigne),ChTot,ChaineRetLigne) 'A fin de la chaine

print #FNum, left$(ChTot, a))

ChTot=right$(ChTot, len(ChTot)-a))

loop


Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
pinou_fr Messages postés 16 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 1 août 2008
1 avril 2005 à 14:49
bon écoute je suis vraiment trop nul mais bon voilà mon prog avec t commande mais ça ne marche pas, aide-moi je t'en suppli!!!!!!!!!!!!!!

Private Sub OK_Click()
Dim chaine
Dim i

If strOpen = "" Then 's'assure qu'il y a bien un emplacement pour le mot a rechercher
MsgBox ("Aucun fichier n'a été sélectionné")
Else
Open "h:fichier2.txt" For Output As #1
chaine = List1.List(0)
tableau = Split(chaine, " ")
longueur = tableau(7)
longueur = UCase(longueur)
Call HexaDecimal2Decimal
For i = 5 To (text2 + 7)
Print #1, tableau(i)
Next i
Close #1
End If
End Sub

moi g fait ça mais les données sont mis à la suite l'une en dessous de l'autre moi je veux à la suite, et ne sais pas comment utilsé tes commandes, guide moi!!!!
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
1 avril 2005 à 15:15
Tous les tableaux commencent à partir de 0



dim TableauOctet() as {String|byte} 'Le tableau contenant toutes les données

dim TableauRech() as {String|byte} 'Le tableau contenant les données de paragraphe ("7F","F8","31" dans ton exemple)
dim FNum as long 'le numéro du fichier dans lequel les données doivent attérir



dim Min as long 'debut de la recherche

Min=ubound(TableauRech)

dim Max as long 'Max de la recherche

Max=ubound(TableauOctet)



dim LastIndex as long 'Mémorise l'octet de la derniere écriture

dim TmpTabl() as {string|byte} 'Permet de comparer

redim TmpTabl (0 to Min)



for i=0 to Max

Good=true

for j=1 to Min

Tmptabl(j-1)=TmpTabl(j)

next

TmpTabl(Min)=TableauOctet(i)

for j=0 to Min

if TmpTabl(j)<>TableauRech(i) then

Good=false

exit for

end if

next



if Good then

for j=LastIndex to i-Min

Print #FNum,
TableauOctet(j){,|;} 'Je ne sais jamais lequel écrit un espace après et
celui qui met une tabulation

next

Print #FNum,"" 'Retour à la ligne

LastIndex=i-Min

end if

next



Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
1 avril 2005 à 15:17
Ce systeme utilise un tableau dans lequel les octets sont mis les octets pour la comparaison



Il faudrat paut-être adapter en fonction de String ou Byte, mais c déjà un bon début si sa fonctionne.





Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
pinou_fr Messages postés 16 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 1 août 2008
1 avril 2005 à 15:44
bon j'ai regarder comment tu as fais je comprends un peu mieux mais le compilateur pas!!!!

Min = UBound(TableauRech) indice en dehors de la plage

dim TableauOctet() as {String|byte} ne comprends pas
Print #FNum, TableauOctet(j){,|;} ne comprends pas non plus

pour les separateur, se n'est pas très grave s'il n'y en à pas
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
1 avril 2005 à 15:51
Pour les tableaux, utilise redim et met-y tes données.
{,|;} veut dire "," ou ";"






Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
pinou_fr Messages postés 16 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 1 août 2008
1 avril 2005 à 15:57
ok merci je vais essayer de me debrouiller maintenant.
0
Rejoignez-nous