Sélectionner des caractères sur un fichier txt et remplr un tab

- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 18 déc. 2015 à 13:24
Bonjour,

Je suis débutant en vb6 je souhaiterais lire des caractères bien précis sur un fichier texte . Par exemple mon fichier se présente comme ceci
11
14
0
12
efsc
toto
remio
gresso
froppo
miro
gégé
Abcisses
2
5
4
10
8

je voudrais lui dire dès qu'il voit le mot abcisses il remplit mon tableau avec ces chiffres (les multiples de 2 sont des abcisses et les multiplers de 5 sont les ordonnées) en dessous :)

voilà ce que j'ai commencé à faire :



Private Sub Command1_Click()

Dim i As Integer 'numero de lignes ou compteur pour les x
Dim j As Integer 'numero de colonnes ou compteur pour les y
Dim x As integer 'les coordonnées en abcisses
Dim y As integer 'les coordonées en ordonnées
Dim Mon_tableau As integer 'je déclare mon tableau de réels
Dim n As Integer
Dim textline As String 'le texte affiché sur une ligne

Open "\\BUREAU-\Dossiers Stagiaires\Exemple17.txt" For Input As #1

Do Until textline = "Abcisses" 'faire jusqu'à ce le texte Abcisses s'affiche
Line Input #1, textline 'lire la ligne
x = 0
For i = 0 To n

x = x + 1
Mon_tableau_d_abcisses(i) = Mon_tableau_d_abcisses(2i) 'mon tableau reçoit l'élement de la ligne suivante
Next

Do Until textline = "20"

y = y + 1
Mon_tableau_d_ordonnees(j) = Mon_tableau_d_ordonnees(j + 5) 'mon tableau reçoit l'élément de la colonne suivante
Afficher la suite 

4 réponses

0
Merci
Bonjour,

Je n'ai pas bien compris ce que tu veux faire.
Pour commencer, revoir la déclaration d'un tableau.

Il faut définir les dimensions du tableau: 1 ,2 ,3, (ou plus) dimensions. Pour des coordonnées c'est au minimum 2 (X et Y).

Il faut définir la taille maxi du tableau de manière à ce qu'il puisse contenir tous les éléments (par exemple 100 éléments maxi).

Enfin il faut definir le type d'éléments (par exemple des nombres entiers)

Ce qui donne:
Dim MonTableau(100,2) as Integer ' c.a.d. 100 éléments à 2 dimensions de type entiers

Chaque donnée est accessible par son indice (exemple pour l'élément n):
X=MonTableau(n,1)
Y=MonTableau(n,2)

Pour revenir à ton problème, voilà comment remplir ton tableau

Do Until textline = "Abcisses" 'faire jusqu'à ce le texte Abcisses s'affiche
Line Input #1, textline 'lire la ligne
Loop

n = 0
Do Until textline = "20" 'Pourquoi "20"?
n=n+1
Line Input #1, textline 'lire la ligne
X=val(textline) 'conversion du texte en integer
MonTableau(n,1)=X
Line Input #1, textline 'lire la ligne suivante
Y=val(textline) 'conversion du texte en integer
MonTableau(n,2)=Y
Loop
Commenter la réponse de Mosca
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13
0
Merci
Bonjour Xaxa BN.
Vous vous êtes trompé de forum. Vous programmez en Vb6, alors que vous êtes sur le forum Vb.net.
Cordialement.
Commenter la réponse de Zermelo
0
Merci
Merci Mosca ,

je dessiner une courbe en reliant les différents points mais j'arrive pas avec drawcurve
Commenter la réponse de Xaxa BN
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Bonjour,
1) j'ai donc déplacé cette discussion vers le sous-forum adéquat (VB6). Prends ce soin, dorénavant, s'il te plait (VB6 n'est pas VB.Net)
2)
je dessiner une courbe en reliant les différents points mais j'arrive pas avec drawcurve

est un autre aspect et n'a rien à voir avec ta question initiale. Relis s'il te plait les règles de ce forum (une seule question technique, spécifique et parfaitement isolée par discussion). Merci d'y veiller.
Si la réponse de Mosca t'a permis de résoudre le problème objet de la présente discussion, merci (c'est également une règle) de libérer cette discussion par un click sur le tag RESOLU au niveau de ton tout premier message.

OBSERVATION : DrawCurve est totalement inconnu sous VB6 !
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu