Ver Mensaje Individual
  #8  
Antiguo 19-09-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Diferentes opciones:

1- Por que no lo haces con SQL (la sintaxis puede variar dependiendo del motor)?

Código SQL [-]
 SELECT * FROM TABLA WHERE Campo IN ('A','PA','M,'PM','C','PC')

2- Puedes usar las funciones de RTI de Delphi y utilizar una enumeracion, que haga:

Código Delphi [-]
 type
   TCosasEnum = (Alternadores,PiezasAlternador...) ;
  
  
  uses TypInfo;
 
  var s: string;
 
  s := GetEnumName(TypeInfo(TCosasEnum ),
                    integer(tpDelphi)) ;
  
  //s='Alternadores'
 
 
 
 //Devolver a ENUM
 
 Cosa := TCosasEnum(GetEnumValue(TypeInfo(TCosasEnum ),s)) ;

Puedes crear un objeto, que interno maneje un Array. Me gusta un poco mas esto, porque es mas extensible (y solo si lo del SQL no se puede, aunque lo dudo)

Código Delphi [-]
 
 ObjetoDeCosas.EstaEnTipos(DataModule2.IBSQL1.FieldByName('ref_type').AsString

Ademas, la sintaxis del if se escribe de forma mas clara y sin tantas anidaciones

Código Delphi [-]
 if DataModule2.IBSQL1.FieldByName('ref_type').AsString = 'A' then
begin
  ... //Acciones que deseas si el caracter obtenido es 'A'
end else begin
if  DataModule2.IBSQL1.FieldByName('ref_type').AsString = 'PA' then
begin
   ...//Acciones que deseas si el caracter obtenido es 'PA'
end else begin end;//if
__________________
El malabarista.
Responder Con Cita