Нужно оформить алгоритм в виде подпрограммы. Без нее работает отлично, но нужно именно так... Возникает ошибка "Statement expected but 'PROCEDURE' found ". В чем дело?
PHP код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
procedure FormCreate(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
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)-i do sum2:=sum2*2;
end
else sum2:=0;
sum:=sum+sum2;
end;
if s[Length(s)]='1' then Inc(sum);
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then Edit2.Text:=st(Edit1.Text);
end;
end.
С этим уже разобрался.. энда не хватало, но после нажатия Enter числа в 1-ой строке не появляется результат перевода...