Exemple:
Code : Tout sélectionner
Define monTableau(5)={1,2,3,4,5} ; Ne fonctionnera pas
Remarque: Je n'ai malheureusement pas peux inclure les strings et décimaux dans la même macro. Et je n'ai pas peux utiliser TypeOf non plus d'ou l'ajout du choix de variable.
Code : Tout sélectionner
Macro mDim(Variable,value,Type=#PB_Long)
Dim Variable(CountString(value,",")+1)
Define i
For i=1 To CountString(value,",")+1
Select Type
Case #PB_Long,#PB_Integer
Variable(i-1)=Val(StringField(value,i,","))
Case #PB_Float
Variable(i-1)=ValF(StringField(value,i,","))
Case #PB_Double
Variable(i-1)=ValD(StringField(value,i,","))
EndSelect
Next
EndMacro
Macro mSDim(Variable,value)
Dim Variable(CountString(value,",")+1)
Define i
For i=1 To CountString(value,",")+1
Variable(i-1)=StringField(value,i,",")
Next
EndMacro
; Teste
Define mDim(test.l,"1,2,3,4,5")
Debug "Liste du tableau de long"
For i=0 To ArraySize(test())-1
Debug test(i)
Next
Define mDim(test2.f,"0.75,2.30,3.60,4.80,5.47",#PB_Float)
Debug "Liste du tableau de réel"
For i=0 To ArraySize(test2())-1
Debug test2(i)
Next
Define mDim(test3.d,"0.75,2.30,3.60,4.80,5.47",#PB_Double)
Debug "Liste du tableau de double"
For i=0 To ArraySize(test3())-1
Debug test3(i)
Next
Define mSDim(test4.s,"Zorro,Toto,Martin,Max,Gérard,guillaume")
Debug "Liste du tableau de string"
For i=0 To ArraySize(test4())-1
Debug test4(i)
Next