Код: Выделить всё
procedure TForm1.Button8Click(Sender: TObject);
var
L,R,m,x,N:integer;
found:boolean;
begin
x:=StrToInt(Edit2.Text);
L:=0;
N:=Length(Arr);
R:=N-1;
found := FALSE;
WHILE (L <= R) AND NOT found DO
m := (L + R) div 2;
IF Arr[m] = x THEN
begin
found := TRUE;
IF Arr[m] < x THEN L := m+1
ELSE R := m-1;
End;
if found then ShowMessage('FOUND!') else ShowMessage('Not FOUND!');
End;
Массив динамический. Берется из списка TList.