Plusieurs Units

m_cyril1 Messages postés 59 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 3 juin 2005 - 27 avril 2005 à 16:36
m_cyril1 Messages postés 59 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 3 juin 2005 - 10 mai 2005 à 11:08
Je souhaiterais savoir s' il est possible d'avoir plusieurs Units pour une même Form
Si oui comment il faut faire
(insertion, liens entre les units, appels des fonctions entre units, ...)
Ca m'arrangerais bien que ça soit oui, ça me permettrais d'alléger mon code

10 réponses

yvescollet Messages postés 55 Date d'inscription mardi 26 août 2003 Statut Membre Dernière intervention 22 janvier 2006
27 avril 2005 à 17:46
Hello,

Si le but de ta question est de pouvoir alléger ton code comme tu le dis, tu peux tout à fait utiliser plusieurs unités dans ton application. Une unité qui appartient à ta Form (où tu vas mettre les événements onclick... de tes composants ou gérer leur propriétés) et autant d'autres unités que tu veux à côté qui seront utilisées comme Objet métier, unité pour des calculs, unité pour un DataModule...

J'espère que ça répond à ta question.

et si tu veux un exemple et ben tu fais signe

++

Yves
0
m_cyril1 Messages postés 59 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 3 juin 2005
28 avril 2005 à 08:48
C'est vrai qu'un exemple n'est pas de refus. Cela ne fait qu’un mois que je programme et j’ai encore un peu beaucoup de mal !


Je sais que lorsqu’on ajoute une nouvelle fiche (form) il y a un Unit qui s’ajoute aussi, idem avec les bases de données. Mais pour une seule (et unique) Form avoir plusieurs Units je sais pas faire.
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
28 avril 2005 à 11:40
Une fiche ne peut pas avoir plusieurs unités. Cependant tu as la possibilité de rajouter des unités au projet sans pour autant rajouter de fiche en faisant ( Ficher | Nouveau | Unité ) et tu peux lier les unités entre elles en faisant ( Fichier | Utiliser l'unité... ).

Imaginons que dans l'événement OnClick d'un bouton sur la form1 (l'unit1 étant gestionnaire de l'événement), on veuille lancer la procedure MaProc de l'unit2. Tout d'abord, on lie l'unit2 à l'unit1 (voir ce-dessus). Le code sera le suivant :

code de l'unit1 : = =================
uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
MaProc;
end;

== ===========================

code de l'unit2 : ==================
unit Unit2;

interface

uses
Dialogs; // Nécessaire pour le showmessage


procedure MaProc;


implementation


procedure MaProc;
begin
ShowMessage('Vous avez appuyé sur le bouton');
end;


end.

=============================

@+
Bonne Prog'
Nico


<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
28 avril 2005 à 15:02
Je crois que pour avoir accès à la procédure tu devrais déclarer unit2 dans implémentation (uses unit2;) mais ensuite tu devrais faire unit2.MaProc; pour faire appel à la procédure qui se trouve dans unit2.

pseudoOM
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
28 avril 2005 à 15:17
Pour la déclaration, c'est bien ce que je disais(j'ai bien mis uses unit2; dans le code de l'unit1
). Cependant, désolé de n'avoir pas précisé que c'est dans le bloc implementation qu'il fallait le mettre. J'étais parti du principe que m_cyril1 se servirait de [ Fichier | Utiliser l'unité... ], ce qui place automatiquement la déclaration dans ce bloc...

ensuite tu devrais faire
unit2.MaProc;
pour faire appel à la procédure qui se trouve dans unit2
>>
dans ce que je propose , ce n'est pas nécessaire... On peut tout simplement faire MaProc;
pour appeler la procédure


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
arbeitsstation Messages postés 13 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 29 avril 2005
29 avril 2005 à 15:55
Pour alléger le code d'une appliquation, il y a posibilité de lier plusieurs unités entre elles. Mais cela a déjà été expliqué.

Une autre solution consiste a créé un fichier .asm ou .txt ou se que vous voulez avec des procedure ou des fonctions. Et de les inclures dans le code source par la directive de compilation {INCLUDE monfichier.txt} si celui-ci comprend des espaces il doit être déclarer entre : "X" et enfin pour un fichier pascal il n'est pas nécéssaire de noter son extention car ceci est la valeur par défaut.

superlaulau1@yahoo.fr
www.arbeitsstation.new.fr
0
m_cyril1 Messages postés 59 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 3 juin 2005
9 mai 2005 à 08:40
Est ce qu'il serait possible d'avoir un petit exemple simple avec plusieurs Units Cela m'aiderais beaucoup à comprendre comment ça marche
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
9 mai 2005 à 15:13
je t'en ai déjà donné un...


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
m_cyril1 Messages postés 59 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 3 juin 2005
9 mai 2005 à 16:52
Je me suis mal exprimé Un exemple un peut plus compliqué ou par exemple il faut faire la somme des chiffres mémorisés dans un tableau dynamique. La mémorisation sur l'Unit1 et le calcul sur l'Unit2, et bien sur le résultat renvoyé dans un TEdit de la Form1.
(donc sur la form 2 TButton et 2 TEdit)
0
m_cyril1 Messages postés 59 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 3 juin 2005
10 mai 2005 à 11:08
Hoops j'ai mélangé mes messages la!!
Le message c'était:
"Je me suis mal exprimé Un exemple un peut plus compliqué ou par exemple il faut faire la somme des chiffres mémorisés dans un tableau dynamique. La mémorisation ce fait avec l'Unit1 et le calcul avec l'Unit2, et bien sur le résultat renvoyé dans un TEdit de la Form1 lorsqu'on appui sur le bouton calculer."
0
Rejoignez-nous