PDA

Ver la Versión Completa : if ... in [] con cadenas????


neon
10-12-2004, 11:53:07
Hola,
quiere hacer la siguiente comprobación, suponiendo que grupo es numérico, quiero comprobar si está en una cadena recuperada de una sentencia sql.
Me explicaré mejor con un ejemplo:

Grupo := 12; (Integer)
GrupoPrueba := 1,2,12,45 (String)

if IntToStr(Grupo) in [GrupoPrueba] then
Realizar Operacion

Resulta que no funciona, sabeis como hacerlo de esta forma? y alguna otra?

Lepe
10-12-2004, 12:27:17
Yo usaría otro método para eso:

var grupoprueba : TStringList;
begin
grupoprueba := TStringList.Create;
try
grupoprueba.CommaText:= '1,12,123';
if grupoprueba.IndexOf('12') <>-1 then
ShowMessage('si existe');
finally
grupoprueba.Free;
end;

end;


Tambien puedes poner Grupoprueba.duplicates := dupError; y añadir directamente la cadena al StringList, si existe, saltaría una excepción que debes capturarla.

Tú eliges.

Saludos

cahp
10-12-2004, 12:40:41
Hola:

La cadena de recuperas, es un conjunto de valores de una select?

Saludos

ruina
10-12-2004, 13:15:39
¿que tal un sencillo pos?


if Pos(inttostr(Grupo)+',',Grupoprueba+',')>0 then ...