All pastes #26798 Raw Edit

c03

public text v1 · immutable
#26798 ·published 2005-10-26 23:43 UTC
rendered paste body
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

var
n, a1, a2, linenr : int64;

{$R *.dfm}


procedure fibonacci;
begin
 Form1.Memo1.Clear;
 Form1.Memo1.Lines.Add('0:   1');
 Form1.Memo1.Lines.Add(IntToStr(linenr+1)+':   1');
 while a2<StrToInt64(Form1.Edit1.Text) do
  begin
   n:=a1+a2;
   a1:=a2;
   a2:=n;
   Form1.Memo1.Lines.Add(IntToStr(linenr)+':   '+IntToStr(a2));
   Inc(linenr);
  end;
  Form1.Memo1.Lines.Delete(Form1.Memo1.Lines.Count - 1);
    if linenr>83 then
      begin
       Form1.Memo1.Lines.Add('');
       Form1.Memo1.Lines.Add('Max reached!!!');
      end
       else
         begin
          Form1.Memo1.Lines.Add('');
    end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
fibonacci;
Form1.Button1.Enabled:=False;
Form1.Button2.Enabled:=True;
Form1.Edit1.Enabled:=False;

if StrToInt64(Form1.Edit1.Text)<3 then
 begin
 Form1.Memo1.Clear;
 Form1.Memo1.Lines.Add('Please choose a number higher than 2');
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Memo1.Clear;
Form1.Button1.Enabled:=True;
Form1.Button2.Enabled:=False;
Form1.Edit1.Enabled:=True;
Form1.Edit1.SetFocus;
linenr:=0;
n:=0;
a1:=1;
a2:=1;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Edit1.Enabled:=True;
Form1.Button1.Enabled:=True;
Form1.Button2.Enabled:=False;
end;

initialization
linenr:=0;
n:=0;
a1:=1;
a2:=1;

end.