Вообщем сам перевод я по сути сделал:
Код:
procedure TForm1.BinToDecClick(Sender: TObject);
var
i,result:integer;
bin:string;
begin
bin:=BinDec.Text;
result:=0;
for i:=1 to length(bin) do
begin
result:=result+(1 shl(length(bin)-i));
end;
tr.Caption:=IntToStr(result);
end;
Но вот такой вопрос: как указать, что если вводится числа отличные от 0 или 1, то программа выводит сообщение и сбрасывается, я делал так:
Код:
if not (bin in ['0','1']) then
begin
ShowMessage('Ошибка');
Exit;
end;
но не получается, выдаёт ошибку о несовместимости типов данных String и Сhar (((
И как сделать так, что программа считает по формуле
Код:
result:=result+(1 shl(length(bin)-i));
только лиш когда соответственный элемент строки равен 1 . Заранее благодарен.