Liste de chaînes

Utilisation de la classe non visuelle avec héritage
 (CD-ROMDelphi.ListeChaines\Liste3PiLifo.Dlfi)



: Les projets Delphi


Objectif : Utiliser la classe Delphi  (TAD de  liste de chaînes de caractères) héritant directement de la classe des listes internes de string  "TStringList" dans un TAD de pile LIFO (Last In First Out).

La fiche principale, le code associé dans la unit

Exécuter le programme

interface de la classe de base utilisée
 

La fiche principale du  projet :


                                  interface de test de la pile LIFO
                                                                                                    Remonter 

Le code de la Unit fiche principale :

Uses UListBaseHerite,StdCtrls;
  type
  piLifo =class(liste)

          public
            function Est_Vide_Pile: boolean;
            procedure Empiler (elt: T0);
            procedure Depiler (var elt: T0);
            function premier: T0;
            procedure creationPiLifo(Box:TListBox);
          end;

 implementation
{//////////////////////////////// PUBLIC /////////////////////////////}
  function piLifo.Est_Vide_Pile: boolean;
  begin
    if self.longueur=0 then
      Est_Vide_Pile:=true
    else Est_Vide_Pile:=false
  end;

   procedure piLifo.Empiler (elt: T0);
  begin
   self.Ajouter(elt);
  end;

   procedure piLifo.Depiler (var elt: T0);
  begin
   if not self.Est_Vide_Pile then
   begin
      elt:=self.premier;
      self.supprimer(self.count);
   end
  end;

   function piLifo.premier: T0;
  begin
   if not self.Est_Vide_Pile then
    premier:=self.strings[self.count-1];
  end;

   procedure piLifo.creationPiLifo(Box:TListBox);
 {création de la Pile LIFO (le ListBox est déjà
                            chargé manuellement}
  begin
   self.creationListe(Box)
  end;

 end.
                                                                             Remonter 
Rappel de l'interface de la classe liste :

unit UListBaseHerite;

interface
Uses Classes,StdCtrls;
type
 T0 = string;
 liste =class(TstringList)
         public
          procedure init_liste;
          function longueur : integer;
          procedure supprimer (k: integer);
          procedure inserer (k: integer; x: T0);
          function kieme (n: integer): T0;
          function Test (x: T0): boolean;
          procedure Rechercher (x: T0; var place: integer);
          procedure creationListe(Box:TListBox);
          procedure Ajouter(x:T0);
          procedure effacer;
         private
          function Est_vide:boolean;
        end;
        .....
                                                                                     Remonter 



EXECUTION DU PROGRAMME :