Comment declarer une fonction ou procedure pour que l ensemble des unites puissent les utilisés ?
Merci
Comment declarer une fonction ou procedure pour que l ensemble des unites puissent les utilisés ?
Merci
Pour cela il te faut créer une unité "Globale" où tu vas mettre ta procédure.
Après il te suffit de rajouter cette unité dasn les uses de tes autres unités.
Ex :
Dans une form
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Unit uGlobale; interface uses Dialogs ; //[ICI LES UNITES NECESSAIRES POUR LES VARIABLES OU COMPOSANTS procedure Affiche; implementation procedure Affiche; begin Showmessage('Test'); end; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 unit unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,uGlobale; type TfrmMain = class(TForm) Button1 : TButton; procedure Button1Click(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var frmMain: TfrmMain; implementation procedure TfrmMain.Button1Click(Sender: TObject); begin Affiche; end;
Salut Malatar,
Tu peux créer un module .pas (unité) dans laquelle tu peux mettre toutes tes déclarations globales comme les variables procédures ou fonctions...
Comme ça tu n'a plus qu'à les appeler directement en placant le nom de l'unité dans la clause uses...
A plus,
Christopher
Merci de m'avoir aidé et continuer comme ça.
a+
C'est pas moi le demandeur ^^Envoyé par lapec_and_cie
Alors, j'arrive bien à déclarer des prodedure globales mais pour les variables globales, il me dit "INITIALIZATION attendu mais un identificateur 'openffice' reçu, voila le code
Aidez moi sil vous plait ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 unit uGlobale; interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, ExtCtrls, DateUtils, StrUtils, Unit1, Unit2, Unit3; //Procédure et fonctions globales procedure VerifModifTarifs(ZoneTarif:string); implementation //Variables globales OpenOffice:variant; RepertoireAnnee:string; RepertoireAnneeURL:string; OpenDesktop:variant; LoadParams:variant; Document:variant; MonClasseur:variant; MaFeuille:variant; Cellule:variant; // VerifModifTarifs : Vérifie si les champs "poids" et "tarifs" sont toujours // identiques à la feuille de calcul et enregistre les modifs si nécessaire. procedure VerifModifTarifs(ZoneTarif:string); var i:integer; n:integer; m:integer; NomChamps:string; TextCursor:variant; Begin MaFeuille:=MonClasseur.getByName(ZoneTarif); // Vérification de la colonne des Poids For i:=1 to 31 do Begin NomChamps:='Edit'+inttostr(i); Cellule:=MaFeuille.getCellByPosition(0,i); If TEdit(Unit3.Form_Menu_Modif_Tarif_Exapaq.FindComponent(NomChamps)).Text <> Cellule.Value then Begin TextCursor:=Cellule.CreateTextCursor; Cellule.Insertstring(TextCursor,TEdit(Unit3.Form_Menu_Modif_Tarif_Exapaq.FindComponent(NomChamps)).Text, false); End ; End ; // Vérification de la colonne des Tarifs For i:=1 to 31 do Begin n:=31; m:=n+i; NomChamps:='Edit'+inttostr(m); Cellule:=MaFeuille.getCellByPosition(1,i); If TEdit(Unit3.Form_Menu_Modif_Tarif_Exapaq.FindComponent(NomChamps)).Text <> Cellule.Value then Begin TextCursor:=Cellule.CreateTextCursor; Cellule.Insertstring(TextCursor,TEdit(Unit3.Form_Menu_Modif_Tarif_Exapaq.FindComponent(NomChamps)).Text, false); End ; End ; document.storeAsURL('file:///'+FeuilleSelect, VarArrayCreate([0,-1], varVariant)); end; end.
Tous ce qu'y est var, const, type, etc doit se trouver avant implementation, le code des procedures/fonctions doivent se trouver apres l'implementation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 unit uGlobale; interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, ExtCtrls, DateUtils, StrUtils, Unit1, Unit2, Unit3; type Montype= record toto : string; tata : integer; end; const Maconst = 'toto'; var //Variables globales OpenOffice:variant; RepertoireAnnee:string; RepertoireAnneeURL:string; OpenDesktop:variant; LoadParams:variant; Document:variant; MonClasseur:variant; MaFeuille:variant; Cellule:variant; //Procédure et fonctions globales procedure VerifModifTarifs(ZoneTarif:string); implementation // VerifModifTarifs : Vérifie si les champs "poids" et "tarifs" sont toujours // identiques à la feuille de calcul et enregistre les modifs si nécessaire. procedure VerifModifTarifs(ZoneTarif:string); var i:integer; n:integer; m:integer; NomChamps:string; TextCursor:variant; Begin MaFeuille:=MonClasseur.getByName(ZoneTarif); // Vérification de la colonne des Poids For i:=1 to 31 do Begin NomChamps:='Edit'+inttostr(i); Cellule:=MaFeuille.getCellByPosition(0,i); If TEdit(Unit3.Form_Menu_Modif_Tarif_Exapaq.FindComponent(NomChamps)).Text <> Cellule.Value then Begin TextCursor:=Cellule.CreateTextCursor; Cellule.Insertstring(TextCursor,TEdit(Unit3.Form_Menu_Modif_Tarif_Exapaq.FindComponent(NomChamps)).Text, false); End ; End ; // Vérification de la colonne des Tarifs For i:=1 to 31 do Begin n:=31; m:=n+i; NomChamps:='Edit'+inttostr(m); Cellule:=MaFeuille.getCellByPosition(1,i); If TEdit(Unit3.Form_Menu_Modif_Tarif_Exapaq.FindComponent(NomChamps)).Text <> Cellule.Value then Begin TextCursor:=Cellule.CreateTextCursor; Cellule.Insertstring(TextCursor,TEdit(Unit3.Form_Menu_Modif_Tarif_Exapaq.FindComponent(NomChamps)).Text, false); End ; End ; document.storeAsURL('file:///'+FeuilleSelect, VarArrayCreate([0,-1], varVariant)); end; end.
Merci :o
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager