Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1529 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  classe et unit

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

classe et unit

n°914966
website200​0
Posté le 04-12-2004 à 23:45:20  profilanswer
 

Salut,
 
j'aurais besoin de votre aide...
 

Code :
  1. unit Unit1;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, Menus, StdCtrls;
  5. type
  6.     Stationnement = class
  7.     private
  8.       Place : integer;
  9.       Cout : integer;
  10.       TerrainOccuper : integer;
  11.       VoitureEntrerTotal : integer;
  12.     public
  13.       constructor Create;
  14.     end;
  15.   TForm1 = class(TForm)
  16.     Button1: TButton;
  17.     Button2: TButton;
  18.     Button3: TButton;
  19.     Button4: TButton;
  20.     Button5: TButton;
  21.     MainMenu1: TMainMenu;
  22.     Fichier1: TMenuItem;
  23.     procedure Fichier1Click(Sender: TObject);
  24.     procedure Button1Click(Sender: TObject);
  25.     procedure Button3Click(Sender: TObject);
  26.     procedure Button4Click(Sender: TObject);
  27.     procedure Button5Click(Sender: TObject);
  28.     procedure Button2Click(Sender: TObject);
  29.   private
  30.     { Déclarations privées }
  31.   public
  32.     { Déclarations publiques }
  33.   end;
  34. var
  35.   Form1: TForm1;
  36.   NombreStationnement: array[1..3] of Stationnement;     //Instance de Stationnement
  37.   var i : integer;
  38. implementation
  39. uses Unit2;
  40.   constructor Stationnement.Create;  //On crée un stationnement
  41.   begin
  42. Place := 50;
  43. Cout := 10;
  44.   TerrainOccuper :=0;
  45.   VoitureEntrerTotal :=0
  46.   end;


 

Code :
  1. unit Unit2;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, Menus,Unit1;
  6. type
  7.   TForm2 = class(TForm)
  8.     Edit1: TEdit;
  9.     Edit2: TEdit;
  10.     Edit3: TEdit;
  11.     Edit4: TEdit;
  12.     Label1: TLabel;
  13.     Label2: TLabel;
  14.     MainMenu1: TMainMenu;
  15.     Options1: TMenuItem;
  16.     Entrerunvhicule1: TMenuItem;
  17.     Sortirunvhicule1: TMenuItem;
  18.     Fermer1: TMenuItem;
  19.     Entrer1: TMenuItem;
  20.     Sortir1: TMenuItem;
  21.     Gains1: TMenuItem;
  22.     entrestotales1: TMenuItem;
  23.     Label3: TLabel;
  24.     Label4: TLabel;
  25.     procedure FormShow(Sender: TObject);
  26.     procedure entrestotales1Click(Sender: TObject);
  27.   private
  28.     { Déclarations privées }
  29.   public
  30.     { Déclarations publiques }
  31.   end;
  32. var
  33.   Form2 : TForm2;
  34. implementation
  35. {$R *.dfm}
  36. procedure TForm2.FormShow(Sender: TObject);
  37. begin
  38. Edit2.Text := inttostr(NombreStationnement[1].TerrainOccuper);
  39. end;


 
C'est une partie de mes 2 form
Dans mon premier form pour entrer des paramètres dans ma class "Stationnement" j'utilise "NombreStationnement[]". Pour ça sa fonctionne... Quand je veux reutilisé ma classe "Stationnement" grâce a "NombreStationnement[]" dans ma form2 c'est impossible...
 
J'ai fais plusieurs test de différentes façons et j'ai fais plusieurs recherches sous google sans rien trouver pour mon problème. J'ai trouvé pour une classe seul mais dès qui a un tableau plus rien marche.
 
Je vous remercie d'avance.  :hello:


Message édité par website2000 le 04-12-2004 à 23:46:28
mood
Publicité
Posté le 04-12-2004 à 23:45:20  profilanswer
 

n°915029
antp
Super Administrateur
Champion des excuses bidons
Posté le 05-12-2004 à 11:55:35  profilanswer
 

website2000 a écrit :

c'est impossible


 
... c'est-à-dire ?


Message édité par antp le 05-12-2004 à 11:56:03

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°915161
website200​0
Posté le 05-12-2004 à 16:40:34  profilanswer
 

le compilateur me dit Undeclared identifier "TerrainOccuper"
dans ma form2

n°915167
antp
Super Administrateur
Champion des excuses bidons
Posté le 05-12-2004 à 17:02:50  profilanswer
 

bah c'est normal : il est en private et donc ne peut être manipulé que par la classe elle-même et les classes qui sont dans la même unit qu'elle...


Message édité par antp le 05-12-2004 à 17:03:08

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°915177
website200​0
Posté le 05-12-2004 à 17:18:52  profilanswer
 

ok merci... a part mettre mes valeurs en public existe t'il une autre manière de procéder ?

n°915193
antp
Super Administrateur
Champion des excuses bidons
Posté le 05-12-2004 à 17:41:41  profilanswer
 

Faire des property pour accéder aux variables de manière "propre" (càd en lecture seule par exemple, ou prévoir la possibilité d'appeler une fonction lors de l'assignement d'une valeur)
 
L'intérêt de mettre les valeurs en privé c'est pour que seule la classe y ait accès directement


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  classe et unit

 

Sujets relatifs
Serialisation de classe en c++[C++] Pointeur sur constructeur ou Pointeur sur Classe ?
[GTK & C++] compilation de classe avec erreurProbleme avec une classe que j'ai herité
un map<> static dans une classe ?[JAVA] Le type Super Classe ne peut être résolu...
Classe Vector: différence entre at() et [ ] ?help classe auto référentielle ( chainage d'objets )
classe HashMap avec jspprobleme de classe
Plus de sujets relatifs à : classe et unit


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR