Показать сообщение отдельно
  #1  
Старый 21.10.2009, 22:05
inferno mf inferno mf вне форума
Прохожий
 
Регистрация: 13.09.2009
Сообщения: 19
Репутация: 10
По умолчанию перевод из двоичной, в чем ошибка?

Нужно оформить алгоритм в виде подпрограммы. Без нее работает отлично, но нужно именно так... Возникает ошибка "Statement expected but 'PROCEDURE' found ". В чем дело?

PHP код:
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
DialogsStdCtrls;

type
  TForm1 
= class(TForm)
    
Edit1TEdit;
    
Edit2TEdit;
    
procedure FormCreate(SenderTObject);
    
procedure Edit1KeyPress(SenderTObject; var KeyChar);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

var
  
Form1TForm1;

implementation

{$R *.dfm}

function 
st(s:string):string;
 var 
i,j,sum,sum2:integer;
 
begin
 sum
:=0;
 for 
i:=Length(s)-1 downto 1 do
 
begin
 
if s[i]='1' then
  begin
  sum2
:=1;
  for 
j:=1 to Length(s)-do sum2:=sum2*2;
  
end
  
else sum2:=0;
  
sum:=sum+sum2;
 
end;
 if 
s[Length(s)]='1' then Inc(sum);

  
procedure TForm1.FormCreate(SenderTObject);
begin
 Edit1
.Clear;
  
Edit2.Clear;
end;


procedure TForm1.Edit1KeyPress(SenderTObject; var KeyChar);
begin
    
if Key #13 then Edit2.Text:=st(Edit1.Text);
end;

end

С этим уже разобрался.. энда не хватало, но после нажатия Enter числа в 1-ой строке не появляется результат перевода...
Ответить с цитированием