Альтернативное решение задачиможет кому то понадобится)
Код:
procedure TForm1.Button1Click(Sender: TObject);
var base, rez : int64;
i : integer;
begin
base := 1;
rez := 0;
for i := Length(Edit1.Text) downto 1 do
if Not ( Edit1.Text[i] in ['0'..'1'] ) then begin
Application.MessageBox('В edit1 не двоичное число!!',
'Ошибка', MB_ICONSTOP or MB_OK);
Exit
end
else begin
rez := rez + StrToInt(Edit1.Text[i])*Base;
Base := Base * 2;
end;
Edit2.Text := IntToStr( rez )
end;