John Dogget
Messages postés384Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention 7 mai 2009
-
22 juil. 2006 à 21:32
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
23 juil. 2006 à 21:31
Bonjour à tous.
J'ecris une fonction qui charge une liste d'opérations depuis un fichier. Certaines de ces opérations doivent être executées, d'autres non, on dira que ces opérations sont actives ou inactives.
Je souhaiterais que ma fonction renvoie un nombre réel sous le format suivant
<Nombre total de règles>,<Nombre de règles actives>
Ainsi si ma fonction charge 10 règles, dont 5 seulement sont actives, elle renvera le nombre "10,5"
Est'il possible d'assigner à part les deux partie d'un nombre réel (avant et après la virgule) ?
Par exemple ...
PartieEntière(Nombre):=10;
ParieRéelle(Nombre):=5;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 23 juil. 2006 à 10:16
Salut,
en fait ce que tu désire c'est pouvoir renvoyer deux valeurs dans une Variable et de pouvoir les récuperer.
Il existe d'autres possibilitées, mais en voici une que tu pourras peut être trouver utile :
Function MaFonction: Integer;
Var PartieEntiere, PartieReelle : Integer;
begin PartieEntiere := 10; // ici on simule le résultat de ta fonction
PartieReelle := 5;
Result := MAKELong(PartieEntiere, PartieReelle); // et ici on affecte les deux valeurs à Result
end ;
procedure TForm1.Button1Click(Sender: TObject);
Var PartieEntiere, PartieReelle : Integer;
begin PartieEntiere : = Loword(MaFonction); // Récupération de la première Valeur
PartieReelle := hiword(MaFonction); // Récupération de la deuxième Valeur
Label1.Caption := Format('%d, %d', [PartieEntiere, PartieReelle]); // Et pour finir un affichage pour le contrôle des Valeurs
end;
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 23 juil. 2006 à 21:31
ATTENTION AUX APELS REDONDANT DE FONCTIONS!
procedure TForm1.Button1Click(Sender: TObject);
Var PartieEntiere, PartieReelle : Integer;
begin PartieEntiere := Loword(MaFonction); // Récupération de la première Valeur
PartieReelle := hiword(MaFonction); // Récupération de la deuxième Valeur
Label1.Caption := Format('%d, %d', [PartieEntiere, PartieReelle]); // Et pour finir un affichage pour le contrôle des Valeurs
end ;
<hr size ="2" width= "100%" />
Function MaFonction : dword;
Var CHigh, CLow : word;
begin CHigh : = 10;
CLow := 5;
Result := MakeLong(CHigh, CLow);
end ;