
21.10.2009, 22:24
|
|
Прохожий
|
|
Регистрация: 13.09.2009
Сообщения: 19
Репутация: 10
|
|
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):integer;
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);
result:=sum;
end;
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.
Я тоже уже на это обратил внимание, изменил, теперь несовместимость типов String и Integer в строке if Key = #13 then Edit2.Text:=st(Edit1.Text);
|