Par fonctionEn principe lorsqu'on modifie une variable, il est logique de passer par une fonction.
Mais Basic permet de le faire également par une sous-routine.
Créons d'abord une table mémoire contenant 2 chaînes :
Code : Tout sélectionner
Sub Test()
aTable = array("Toto", "Tata")
For Each elem In aTable
sRet = sRet & elem & " " 'on concatène
next
msgbox sRet
End Sub
Le contenu affiché sera bien sûr :
- capture1.jpg (6.79 Kio) Vu 15377 fois
Si nous voulons ajouter un élément dans notre table, nous pouvons passer par une fonction telle que :
Code : Tout sélectionner
Function fAjouteTable(aEntree, sEntree)
nTaille = UBound(aEntree)+1
aSortie = aEntree
ReDim Preserve aSortie(0 To nTaille)
aSortie(nTaille) = sEntree
fAjouteTable = aSortie
End Function
A l'usage dans notre routine de test, nous allons ajouter une nouvelle chaîne (Titi) :
Code : Tout sélectionner
Sub Test()
aTable = array("Toto", "Tata")
aTable = fAjouteTable(aTable, "Titi")
For Each elem In aTable
sRet = sRet & elem & " "
next
msgbox sRet
End Sub
Le contenu affiché sera alors :
- capture2.jpg (7.13 Kio) Vu 15377 fois
Par routineMaintenant, on peut également passer par une sous-routine telle que :
Code : Tout sélectionner
Sub sAjouteTable(aEntree, sEntree)
nTaille = UBound(aEntree)+1
ReDim Preserve aEntree(0 To nTaille)
aEntree(nTaille) = sEntree
End Sub
Faisons un nouvel appel avec cette fois, l'ajout d'une autre chaîne (Tutu) :
Code : Tout sélectionner
Sub Test()
aTable = array("Toto", "Tata")
aTable = fAjouteTable(aTable, "Titi")
sAjouteTable(aTable, "Tutu")
For Each elem In aTable
sRet = sRet & elem & " "
next
msgbox sRet
End Sub
Le contenu affiché sera :
- capture3.jpg (7.74 Kio) Vu 15377 fois