Hola.
El código de
nlsgarcia funciona correctamente. Y como utiliza las funciones
Low y
High lo haría del mismo modo fuera cual fuere el rango del índice declarado.
Otro ejemplo similar:
Código Delphi
[-]
...
var
Vector: array [1512..1515] of string =('Opcion1', 'Opcion2', 'Opcion3', 'Opcion4');
function IsInArray(const Value: string): Integer;
var
i: Integer;
begin
Result := -1;
for i := Low(Vector) to High(Vector) do
if Vector[i] = Value then
begin
Result := i;
Exit;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
inx: Integer;
begin
inx := IsInArray(ComboBox1.Text);
if inx <> -1 then
ShowMessage(Format('Encontrado en posición: %d',[inx]))
else
ShowMessage('No encontrado');
end;
Si no encuentra un item, me inclino a pensar que los valores del arreglo difieren en algo de los del Combo, como por ejemplo un acento...
Saludos