cs_nono93
Messages postés2Date d'inscriptionjeudi 6 février 2003StatutMembreDernière intervention 7 février 2003
-
6 févr. 2003 à 23:45
cs_nono93
Messages postés2Date d'inscriptionjeudi 6 février 2003StatutMembreDernière intervention 7 février 2003
-
7 févr. 2003 à 18:23
bonjour j ai grand besoib d aide c pour mon projet de fin d année je connais un peu visual mais la on ma posé une colle
donc je dispose d' un fichier txt de cette forme
bobo.txt
G0 X10 Y50 Z10 xxx
G1 Y10 Z20
je desirerai lire le fichier et mettre tout dans un tableau
pour voous c peu etre simple mais moi g un peu de mal
la 2 eme partie c identifier donc organiser chaque parti dans le tableau puis identifier separement et donner un code visual pour faire un dessin car c une succession d ordre
enfin si kk un peu me donner des pistes ou meme un code pour me simplifier la tache ca serai sympa car la ca tourne au cauchemard
SibosisITS
Messages postés72Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention20 juin 2003 7 févr. 2003 à 11:57
Pour ouvrir un fichier texte (ou n'importe quel autre fichier), on utilise l'instruction 'Open'. Dans le cas présent, l'idéal est de faire une lecture ligne par ligne, et de découper ensuite la ligne courante, qui est stockée sous la forme d'une chaine de caractère... mais je crois qu'un peu de code rendra les choses plus clair... (j'écris, et je commente après)
Dim LigneEnCour as String
...
Open "NomduFichier" For Input As #1
While Not(EOF(1)) 'Tant qu'on n'est pas en fin de fichier
Line Input #1, LigneEnCour 'Lit la ligne courante.
'traitement de la ligne... j'y reviendrait
...
Wend
Close #1
...
Voilà pour la structure générale. Maintenant, les commentaires :
* 'As #1' : ceci associe au fichier qui vient d'être ouvert un numéro d'identification (ici, c'est 1) ;
* EOF(1) retourne Vrai si la fin du fichier identifié par
le numéro 1 est atteinte, non sinon. Ainsi, 'While Not(EOF(1))' permet de parcourir l'intégralité du fichier, jusqu'à sa dernière ligne.
- Pour ce qui est du traitement de la ligne récupérée :
je ne sais pas si tu dois découper la ligne à chaque fois que tu rencontres un espace(dans "G0 X10 Y50 Z10 xxx" par exemple), et comment tu dois stocker les données. Toutefois, voici une méthode qui permet de découper suivant les espaces (je suppose déclarées les variables que je vais utiliser) :
LigneEnCour = Trim(LigneEnCour) 'Supprime tous les espaces en début et fin de chaîne
While LigneEnCour<>""
Pos = InStr(LigneEnCour, " ") 'recherche la première occurence d'un espace dans la chaîne
If pos<>0 then
Tmp$ = Left(LigneEnCour,Pos-1)
LigneEnCour = Trim(Mid(LigneEnCour, Pos+1))
Else
Tmp$ = LigneEnCour
LigneEnCour=""
end If
'Ici, tu stockes Tmp$ là où tu veux qu'il soit stocké.
Wend