



As vezes temos um vetor(array) de inteiros, como por exemplo códigos contantes,
e precisamos recuperar a posição de um elemento dentro do vetor.
Para resolver este problema, podemos utilizar a seguinte função:
1 2 3 4 5 6 7 8 9 10 11 12 13 | function IndexInt(const ANumber: Integer; const ANumbers: array of Integer): Integer; var i: Integer; begin Result := -1; for i := Low(ANumbers) to High(ANumbers) do if (aNumber = ANumbers[i]) then begin Result := i; break; end; end; |
Exemplo de uso:
1 2 3 4 5 6 7 8 9 | procedure TForm1.Button1Click(Sender: TObject); const DFeUFCodigo: array[0..26] of Integer = (12,27,16,13,29,23,53,32,52,21,51,50,31,15,25,41,26,22,33,24,43,11,14,42,35,28,17); begin ShowMessage( IntToStr( IndexInt(35, DFeUFCodigo)) ); ShowMessage( IntToStr( IndexInt(27, DFeUFCodigo)) ); end; |
Dúvidas ou sugestões deixe nos comentários do post.