Si j'ai:
Procedure Calcul1;
Procedure Calcul2;
Procedure Calcul3;
Comment écrire un appel à une de ces procedures en fonction d'une variable ?
Si j'ai:
Procedure Calcul1;
Procedure Calcul2;
Procedure Calcul3;
Comment écrire un appel à une de ces procedures en fonction d'une variable ?
Désolé pour les fautes d'ortographes, mais ma prof de français était vraiment trés moche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var vaiable: integer; begin case variable of 1: Calcul1; 2: Calcul2; 3: Calcul3; end; end;
Ben c'est la solution que j'utilise, mais je pensais qu'il existait une solution sur une seul ligne, du style:
Calcul(I); <- marche pô
Désolé pour les fautes d'ortographes, mais ma prof de français était vraiment trés moche...
Tu peux aussi créer un tableau de fonctions. Par exemple :
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 Function Calcul1(A,b:Integer):Integer; Begin Result:=a+b; End; Function Calcul2(A,b:Integer):Integer; Begin Result:=a-b; End; Function Calcul3(A,b:Integer):Integer; Begin Result:=a*b; End; Type TMaProc=Function(A,b:Integer):Integer; Const Tab:Array[1..3]Of TMaProc=(Calcul1,Calcul2,Calcul3); procedure TForm1.Button1Click(Sender: TObject); Var r:Integer; begin // Exemple d'appel r := Tab[SpinEdit3.Value](SpinEdit1.Value,SpinEdit2.Value) ShowMessage(IntToStr(r)); end;
Parfait Nono, merci...
Désolé pour les fautes d'ortographes, mais ma prof de français était vraiment trés moche...
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