| 
					Sujet : Pascal Objet, au secours !!! | 
			
				| BifaceMcLeOD | 
				J'ai regardé un peu ton code (enfin, celui que j'ai reformatté), et je me dis qu'il y a quand même un petit problème... de conception.
 Et effectivement, j'ai compris l'erreur de compilation.
   A quoi il te sert ton objet ? Pourquoi tu passes un tableau à une des méthodes de l'objet, alors que tu l'as déjà dans l'objet, le tableau en question. A mon avis, le code correct aurait été de définir 2 objets : un "Vehicule" et un "StockVehicule", comme suit :
 Code :
 - unit bibstock;
 - interface
 -    uses crt, drivers;
 -    const maxStock = 500;
 -    type cVehic = object
 -                     modele    : string[20];
 -                     marque    : string[20];
 -                     immatr    : string[20];
 -                     anImmatr  : integer;
 -                     prixVente : real;
 -                     procedure saisie;
 -                  end; { object }
 -    type cStockVehic = object
 -                          stock    : array[1..maxStock] of stockVehic;
 -                          numVehic : integer;
 -  
 -                          procedure saisieTab;
 -                          procedure affichSuivModel;
 -                          procedure affichSuivPrix;
 -                          procedure insert;
 -                          procedure delete;
 -                       end; { object }
 - implementation
 -    procedure cVehic.saisie;
 -    begin
 -       write ('MODELE : ');                   readln (self.modele);
 -       write ('MARQUE : ');                   readln (self.marque);
 -       write ('IMMATRICULATION : ');          readln (self.immatr);
 -       write ('ANNEE D''IMMATRICULATION : '); readln (self.anImmatr);
 -       write ('PRIX DE VENTE : ');            readln (self.prixVente);
 -    end; { cVehic.saisie }
 -    procedure cStockVehic.saisieTab;
 -    var fin : boolean;
 -        rep : string;
 -    begin
 -       fin           := false;
 -       self.numVehic := 0;
 -       repeat
 -          Inc (self.numVehic);
 -          self.stock[self.numVehic].saisie;
 -          if (self.numVehic < maxStock) then begin
 -             repeat
 -                write ('Voulez-vous référencer un autre véhicule ? (O/N) ');
 -                readln (rep);
 -             until (rep='O') or (rep='o') or (rep='n') or (rep='N');
 -             fin := ((rep='n') or (rep='N'));
 -          end
 -          else begin
 -             fin := true;
 -          end; { if }
 -       until (fin);
 -    end; { cStockVehic.saisieTab }
 - end. { unit }
 
  |  
 
 Mes souvenirs de Pascal sont très lointains, et j'ai arrêté de programmer en Pascal au moment où les extensions objet sont sorties. Donc je ne suis pas 100% sûr que c'est "self" qu'il faut utiliser, mais si ce n'est pas ce mot-là, le mot réservé qui fait la même chose ne doit pas être très différent (par exemple, d'autres langages comme C++ ou Java utilisent "this" pour cet usage).  [edit]--Message édité par BifaceMcLeOD--[/edit]    |