Bonjour
En 5 minutes, montre en main, j'ai écrit vite et bien( ou mal !!! qui sait ) le code suivant si cela peut aider :
program Project1;
{$APPTYPE CONSOLE}
uses
TypInfo,
SysUtils;
type
TMonEnumeration =
( meElementParDefaut // Valeur par défaut de l'énumération (=0)
, meElement1
, meElement2
, meElement3
, meElement4
, meElement5
);
function NiemeElement ( const n : integer ) : TMonEnumeration ;
var
i : integer ;
begin
Result := meElementParDefaut ;
for i := Integer(Low(TMonEnumeration)) to Integer(High(TMonEnumeration)) do
begin
if (i=n) then Result := TMonEnumeration(i) ;
end;
end;
procedure ShowElement ( const E : TMonEnumeration ) ;
begin
writeln( GetEnumName(TypeInfo(TMonEnumeration), integer(E)) );
// Toutefois, Attention !!!
// si des valeurs sont affectées à l'énumération, comme ci-dessous,
// alors il me semble que la fonction GetEnumName ne fonctionnera plus !!
// TMonEnumeration =
// ( meElementParDefaut
// , meElement1 = 10
// , meElement2 = 13
// , meElement3
// , meElement4 = 20
// , meElement5
// );
end;
begin
try
ShowElement( NiemeElement(3) );
readln;
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
N.B. Application console testée sous Delphi 2009 uniquement !
Cordialement.[hr]"L'imagination est plus importante que le savoir." Albert Einstein