ninuko
Messages postés1Date d'inscriptionvendredi 8 février 2002StatutMembreDernière intervention 8 février 2002
-
8 févr. 2002 à 10:01
Scarz59
Messages postés1Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 5 décembre 2005
-
5 déc. 2005 à 13:28
Aider moi, au secour!!!! URGENT!!!!!
unit UntClasPile; { UntClasPile porteuse de la Classe pile
Cette classe permet de :
- Gerer une pile d'information de type variant
- Rajouter un element dans la liste (Empiler)
- Retirer un element dans la liste (Dépiler)
Nom Programme : UnitClasPile
Auteur :
Date création : /02/2002 }
interface
Type
// Definition de la structure SCellule
PtPile = ^SCellule; // Pointeur Pile : Pointeur sur SCellule
SCellule = record
Information : variant;
PtPrec : SCellule;
end; // Fin de la definition de le structure
CPile=Class // Attribution d'un nom à la classe
Public
// Déclaration des méthodes publiques
// Constructeur de la pile
Constructor Creer() ;
// Ajoute une nouvelle information à la pile
Procedure Empiler( Info:variant);
{ Retire une information de la pile et la transmet dans le paramètre
information, l'information est la dernière empilée
si le retrait a été réalisé sans problème, la procedure renvoie vrai
dans OK,
si le retrait n'a pas été possible (pile vide), la procédure renvoie
faux dans OK }
Procedure Depiler( Info:variant ; OK:Boolean);
// Constructeur de la pile
Constructor CPile.Creer();
Begin
PtPile^:=nil; // *On met le pointeur pile a vide
End; // Fin du constructeur
// Ajoute une nouvelle information à la pile
Procedure CPile.Empiler( Info : variant);
var
PtNew : PtPile ; //
Begin
New(PtNew); // On alloue de la mémoire
PtNew^.PtPrec := PtPile; //*
PtNew^.Information:=Info;
PtPile:=PtNew; // *On met le contenue de PtPile dans PtNew
End; // Fin de la procadure empiler
// Retire une information de la pile
Procedure CPile.Depiler( Info : variant; OK : Boolean);
var
PtAnc : PtPile ;
Begin
If PtPile = nil Then //* Si le pointeur pile est vide
Begin
OK := False;
End
Else
Begin
Info := PtPile^.Information;
PtAnc := PtPile; //*
PtPile := PtPile^.PtPrec; //*
Freemem(PtAnc);
OK := True;
End;
End; // Fin Procedure Depiler