Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

msflex et array

3 réponses
Avatar
jose MULLER
bonjour
je dois lire des mesures en provenance d un fichier ascii
si je sépare les valeurs par un VBTAB il est facile d'ajouter une ligne dans
la grille msflex par .additem
mais j aimarais aussi avoir ces valeurs dans un array pour les calculs
y a t il moyen simple de remplir l'array ?

Myarray(imes ). ......

merci

3 réponses

Avatar
Clive Lumb
Regarder du coté de la fonction "Split" ?


"jose MULLER" a écrit dans le message de news:

bonjour
je dois lire des mesures en provenance d un fichier ascii
si je sépare les valeurs par un VBTAB il est facile d'ajouter une ligne


dans
la grille msflex par .additem
mais j aimarais aussi avoir ces valeurs dans un array pour les calculs
y a t il moyen simple de remplir l'array ?

Myarray(imes ). ......

merci




Avatar
jose MULLER
Open sFullName For Input As #FileNum

Do While Not EOF(FileNum) ' Loop until end of file.

Line Input #FileNum, sData
'----------------------------------------
strParam = Replace(sData, ",", vbTab, 1, -1, vbTextCompare)
' Stock les paramètres dans un tableau
tblParam() = Split(strParam, vbTab) ' Le <tab> est le séparateur que j
'ai choisi
' Permet de voir le contenu du tableau de stockage des paramètres !
' LBound = plus petit index du tableau
' UBound = plus grand index du tableau
'For intBoucle = LBound(tblParam) To UBound(tblParam)
DRecord(iMesNb).sDate = tblParam(0) ' je ne prends pas tout
DRecord(iMesNb).sTime = tblParam(1)

DRecord(iMesNb).s05 = tblParam(17)
DRecord(iMesNb).s10 = tblParam(19)
DRecord(iMesNb).s20 = tblParam(21)
DRecord(iMesNb).s30 = tblParam(23)
DRecord(iMesNb).s50 = tblParam(25)
DRecord(iMesNb).s100 = tblParam(27)

Debug.Print iMesNb & vbTab & DRecord(iMesNb).s05

'Next intBoucle
'-----------------------------------------
' extraire la date et l heure
sTmp = Left(sData, 19)
sAddedLine = Replace(sTmp, ",", vbTab, 1, -1, vbTextCompare) & vbTab

' se mettre après CM et prendre le reste
iPos = InStr(1, sData, "CM", vbTextCompare) + 3
sTmp = Right(sData, Len(sData) - iPos)
sTmp = Replace(sTmp, ",", vbTab, 1, -1, vbTextCompare)

sAddedLine = sAddedLine + sTmp

frmMain.MSFlexGrid1.AddItem sAddedLine

iMesNb = iMesNb + 1 ' incrementation du numero de la mesure
DRecord(iMesNb).iMesCur = iMesNb

Loop

Close #FileNum



"Clive Lumb" a écrit dans le message de news:
#986#
| Regarder du coté de la fonction "Split" ?
|
|
| "jose MULLER" a écrit dans le message de news:
|
| > bonjour
| > je dois lire des mesures en provenance d un fichier ascii
| > si je sépare les valeurs par un VBTAB il est facile d'ajouter une ligne
| dans
| > la grille msflex par .additem
| > mais j aimarais aussi avoir ces valeurs dans un array pour les calculs
| > y a t il moyen simple de remplir l'array ?
| >
| > Myarray(imes ). ......
| >
| > merci
| >
| >
|
|
Avatar
Sundowne
'jour

Une méthode très simple consiste à utiliser l'array de msflexgrid.
TextMatrix(Row As Long, Col As Long) As String . A charge pour toi de
convertir les strings si necessaires , ou d'utiliser la conversion auto de
VB.
@+

"jose MULLER" a écrit dans le message de
news:
bonjour
je dois lire des mesures en provenance d un fichier ascii
si je sépare les valeurs par un VBTAB il est facile d'ajouter une ligne


dans
la grille msflex par .additem
mais j aimarais aussi avoir ces valeurs dans un array pour les calculs
y a t il moyen simple de remplir l'array ?

Myarray(imes ). ......

merci