Ce code se compose d'un module de classe et d'un module normal contenant un "sub main".
Il faut donc supprimer la Form1 qui est créee par défaut et ajouter un module, le projet se mettra automatiquement en démarrage sur "sub main" de ce module. Il faut donc bien créer un "sub main".
Le module de classe contient deux variables privees et 3 fonctions publique permettant de faire fonctionner cette pile.
Push : ajoute une element a la pile
Pop : preleve un element a la iple
IsEmpty : verifie si la pile contient ou non des elements
La pile fonctionne sur un modele LIFO (Last In First Out), c'est a dire que le dernier element placé sur la pile sera le premier "popé" (extrait, prelevé).
Le module de classe est ici nommé "Stack" n'oublier pas de renseigner la propriété Name du module de classe a cette valeur.
Source / Exemple :
'MODULE DE CLASSE (STACK)
Private table()
Private current_element As Long
Public Sub Push(ByVal element)
current_element = current_element + 1
ReDim Preserve table(1 To current_element)
table(current_element) = element
End Sub
Public Function Pop()
Pop = table(current_element)
current_element = current_element - 1
If current_element <> 0 Then
ReDim Preserve table(1 To current_element)
End If
End Function
Public Function IsEmpty() As Boolean
If current_element = 0 Then
IsEmpty = True
Else
IsEmpty = False
End If
End Function
'MODULE DE DEMARRAGE (MODULE1)
Sub main()
Dim s As New Stack
s.Push "salut"
s.Push 5
s.Push -1.23
While Not s.IsEmpty
Debug.Print "pop : ", s.Pop
DoEvents
Wend
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.