begin process at 2012 02 10 14:43:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Divers

 > 

Utlisation des attributs de la classe 1 de unit1 dans unit2


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utlisation des attributs de la classe 1 de unit1 dans unit2

samedi 15 octobre 2005 à 02:35:16 | Utlisation des attributs de la classe 1 de unit1 dans unit2

emidelphi

le thread repond a ma question mais j'ai essayer ce que vous avez decris mais ca marche pas .

j'ai le classe suivante dans unit1 :
Classe1 = class(TObject)
                        protected
                        {les inputs}
                        Inputs: string;
                        support: integer;
                        Nb: integer;
                        ……………
                        end;

Dans unit2 j’ai une autre classe

Classe2 = class(TObject)
                        protected
                       
                        item: string;
                        FItems: string;
                        count: integer;
                        ……………
                        end;

J’ai un tableau T a remplir :

for i :=0 to 5 do  T[i] =i ;

alors je veux faire le déclaration suivante : au lieu de  5  --> NB de la classe Class1 .

J’ai  essayé unit1.NB: for i :=0 to unit1.NB  do  T[i] =i ;   error NB non declare.

J’ai déclaré classe1 dans unite2 ca marche pas la encore.

Merci de m'aider a résoudre ce problème.

Cordialement

samedi 15 octobre 2005 à 05:19:52 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

yvemoreau

dans unit2 ajoutes dans les uses de la partie implémentation unit1;

il devrais être visible ...

yve
samedi 15 octobre 2005 à 05:26:25 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

yvemoreau

mais ce n'est qu'une classe pas un objet si tu fais ça ?

se serait plus correct de creer un objet et de s'y référer ensuite

dans unit1 :

var
yyy:Classe1;
begin
     yyy:=Classe1.create();
end;

et dans unit 2
if unit1.yyy<>nil then
begin
    for i :=0 to unit1.yyy.NB do  T[i] =i ; 
end; 
 
???? pas sur


yve
samedi 15 octobre 2005 à 06:07:07 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

mamohamed

ca marche pas :(

samedi 15 octobre 2005 à 09:17:25 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

Delphiprog

Administrateur CodeS-SourceS
Les attributs que tu souhaites utiliser sont déclarées en section Protected.
Il faudrait :
1- que tu revoies les règles de portée avant de te lancer.
2- que tu respectes un minimum de convention d'écritures sinon gare aux confusions entre les classes et les instances de classe
3- que tu revoies aussi la différence entre une classe et une instance de la classe (voire réponse de yvemoreau : " mais ce n'est qu'une classe pas un objet si tu fais ça")

Enfin bref, apprendre les bases du langage...


Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
samedi 15 octobre 2005 à 15:28:50 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

mamohamed

La vraiment j'ai tous compris vous m'avez bien aidé même :)

Merci.

dimanche 23 octobre 2005 à 19:09:33 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

f0xi

Membre Club Administrateur CodeS-SourceS
si tu veux pas t'embeter avec des classes, car apparement dans ton exemple c'est inutile, fait plutot des Type Record ou Object.

exemple :

type
Record1 = record
  inputs : string;
  support,
  nb     : integer;
end;


var
  Rec1 : Record1;

implementation

procedure Kipulkk;
var x : integer;
begin
  for x := 0 to rec1.nb do begin
   ... traitement
  end;
end;

ensuite un autre conseil, ne dissemine pas tes types ou classes perso dans toutes les unitées du projet... sinon tu vas vite perdre le fils.
le mieux c'est de créer une unité qui vas contenir tout les types et classes personnalisé.
ensuite il suffirat de declarer cette unité dans la close Uses, de créer les instances et de les inclures dans les traitements.

generalement dans mes projets je travail comme cela :

- unitée propre a une Form = ne gere que l'interface et methode specifique a la form

- unitée de types et classe personnalisée

au final beaucoup plus clair et propre.

mais pour ton probleme, deja ne fait pas des classes alors que c'est inutile,
fait des enregistrement (type record) ou objet (type object)
ç'est un truc du pascal (le vieux) qui permet de se familiarisé avec ce genre de chose.

par exemple pour créer un type qui vas contenir des coordonnées 3D,
tu ne vas pas faire une classe TObject ou autre ... ce serait ... stupide.
tu fait un record :

type
Coor3D = record
   X,Y,Z : double;
end;

ensuite tu n'auras plus qu'a declarer une varaible de Type Coord3D pour l'utilisée partout ou tu veux.

var CoordCube : Coord3D;

et les divers apel dans les procedures et fonctions :

CoordCube.X  
CoordCube.Y
CoordCube.Z

mais comme certains te l'ont conseiller, commence deja par apprendre les rudiements du Pascal objet, syntaxe ect...
dimanche 23 octobre 2005 à 19:14:16 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

f0xi

Membre Club Administrateur CodeS-SourceS
ah zut j'ai oublier un conseil,

quand tu te retrouve dans une declaration avec des variables de meme type :

var
str1 : string;
str2 : string;
str3 : string;
int1 : integer;
int2 : integer;

tu peu les regroupées en une seule declaration qui serat beaucoup plus simple et courte :

var
str1, str2, str3 : string;
int1, int2 : integer;

tu y gagneras en temps et en octets sur tes fichiers.
dimanche 23 octobre 2005 à 19:38:45 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

f0xi

Membre Club Administrateur CodeS-SourceS
decidement, une fonction "editer" sur ce forum ne serait pas du luxe...
ou alors je suis aveugle ...

pour finir aussi, admettons que tu veuille integré des fonctions dans ton type Coord3D (je reprend mon exemple)

le type record n'autorise pas les fonction (si mes souvenir sont bon) il faut donc utiliser le type Objet :

INTERFACE

type
TCoordSet = (cdX, cdY,cdZ);
TCoord3D = object
   X,Y,Z : double;
   function Get(coord : TCoordSet) : double;
   procedure Set(coord : TCoordSet; value : double);
end;

IMPLEMENTATION

function TCoord3D.Get(coord : TCoordSet) : double;
begin
  case coord of
    0: result := X;
    1: result := Y;
    2: result := Z;
  end;
end;

procedure TCoord3D.Set(coord : TCoordSet; value : double);
begin
  case coord of
    0: X := value;
    1: Y := value;
    2: Z := value;
  end;
end;


voila, j'espere que ça te serviras.
tu noteras que c'est tout de meme plus simple au depart,
tant qu'on a pas bien assimiler les notion de Public, Private et Protected.

mais malgrés la simplicitée de la methode, cela ne dois pas t'empecher
de t'essayer aux classes, car les enregistrements c'est bien beau mais
c'est assé vieux et limité... bien que souvent utile.
dimanche 23 octobre 2005 à 19:57:56 | Re : Utlisation des attributs de la classe 1 de unit1 dans unit2

emidelphi

merci  pour votre aide et vos conseils.

1 2

Cette discussion est classée dans : string, classe, nb, unit1, unit2


Répondre à ce message

Sujets en rapport avec ce message

Classe [ par plhea ] Bonjour à tous,Je suis débutant en Delphi et j'ai un petit problème.J'ai une Form avec des boutons, des labels, etc, une form normale quoi, qui se tro comment connecter unit1 et unit2?? [ par Smeito79 ] Slt,j'ai un programme qui contient 2 unit et 2 fiches.J'ai mit dans l'unit1: uses unti2Cela me permet d'avoir acces a des fonction ou au composant qui Comment implémenter des classes en delphi? [ par furax13 ] bonjour,j'ai plusieurs classes à créer en delphi.<span lang="FR" style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-ansi-lang Une classe dans une classe [ par Inconnu Anonyme ] Bonjour, j'ai un petit prob avec mon code pour avoir 2 classes dans ma classe primaire: Type TpPersonne = Class     private          No TList et Tobject : Probleme d'ajout [ par mobilotek ] Bonjour;j'utilise une liste (PlayList) de fichier (TFichier), et apres  l'ajout d'elements, cest toujours le meme qui est present lors d'une consultat Utiliser un composant d'une autre unité [ par kabbabi ] Bonjour, J'ai 3 unités : Unit1 , Unit2 et Unit3 qui devraient communiquer car j'ai placé dans les [color=blue]uses[/color] de l'Unit1 : ..., Unit2, U executer une fonction en delphi [ par inegliz ] bonjour ! j'ai une fonction getusername(en delphi6) que j'ai mis dans l'unite principale du projet , je dois l'executer a partir de mes procedures , j String Search-Function in Listbox [ par sarssor ] Salut j ai teste cet code. sa marche mais il y a un Problème. le code peut trouver un seul String dans chaque ligne Example: je voudrais charcher sur Classe privée [ par Nicolas___ ] Bonjour, j'ai une petite question : existe t-il en Delphi la possibilitée d'écrire une classe privée ? J'ai un composant (appelons le TMaitreComp Wake On Lan - XP [ par gta126 ] Bonjour à tous, Voilà j'ai réalisé un petit code pour le wake on lan qui fonctionne parfaitement bien sur seven mais pas moyen de le faire aller sur


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales