Ver Mensaje Individual
  #892  
Antiguo 09-05-2017
josecarrillo josecarrillo is offline
Miembro
 
Registrado: may 2014
Posts: 13
Reputación: 0
josecarrillo Va por buen camino
Me respondo a mi mismo por si le sirve a alguien.
Es un tipo enumerado y hay funciones específicas.
Seguro que hay alguna forma mas simple, pero esta me funciona.
De esta forma si cambia la lista en versiones futuras, seguirá funcionando.

uses ..., typinfo ;

var
idpais,ci:integer;
codigopais:string;

begin
CodigoPais:='IT';
idpais:=-1;
for ci := ord(Low(countrytype2)) to ord(High(countrytype2)) do
if CodigoPais= GetEnumName(TypeInfo(countrytype2),ci) then
begin
idpais:=ci;
ShowMessage( GetEnumName(TypeInfo(countrytype2),ci)); // solo para comprobar valor.
end;
...

if idPais>-1 then
ARegLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDOtro.CodigoPais:=CountryType2(idpais);

...
Responder Con Cita