[Delphi] Вывести число

01.01.2001

[Delphi] Вывести число
Простой конвертер чисел.
На TForm1.edt1 подается число в двоичном виде, в TForm1.edt2 это число сразу же конвертируется в бинарный Код Грея функцией BinToGray() и выводится.
Но конвертирует некорректно. В чем моя ошибка?

=======================================================================================================================
implementation

{$R *.dfm}

function BinToGray(b: Integer):Integer;
begin
BinToGray := b xor (b shr 1)
end;

procedure TForm1.edt1Change(Sender: TObject);
var b: Integer;
begin
b := StrToInt(Edt1.Text);
Edt2.Text := IntToStr(BinToGray(b));
end;
=======================================================================================================================

  • Если вы заполняете Edt1.Text двоичным кодом типа 01010101001011, то StrToInt разумеется его воспринимает как десятичное. :)
    Вам необходимо его самому преобразовать из символов в число, а уже потом обрабатывать. :)
    Ну и на выходе будет тоже десятичное число, вы у вас везде Integer.

Вас заинтересует