All pastes #370482 Raw Edit

prime numbers

public text v1 · immutable
#370482 ·published 2007-02-24 16:38 UTC
rendered paste body
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Edit1: TEdit;
    Button2: TButton;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Button2Click(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  a: real;
  n,x: int64;
  b: array [1 .. 99999999] OF real;
  c: boolean;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text = '') OR (Edit1.Text = '0') OR (Edit2.Text = '') then messagedlg('You must enter a number from 1',mtWarning,mbOKCancel,1)
else
begin
c:= false;
n:=strtoint(Edit2.Text);
x:=strtoint(Edit1.Text);
Memo1.Text:=#0;
while n < x do
  begin
    n:=n+1;
    a:=n-1;
    while a > 0 do
        begin
          if a <> 1 then
            begin
              if a <> n then
              begin
                b[n] := n/a;
                if b[n] = round(b[n]) then
                c:= true;
              end;
            end;
          a:=a-1;
        end;
    if c = false then Memo1.Text:=Memo1.Text + ' ' + inttostr(n);
    c:= false;
  end;
end;
ActiveControl := Button2;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
Memo1.Text:=#0;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then Button1.Click
else
begin
if (Key > '9') OR (Key < '0') AND (Key <> #8) then
  begin
    Key := #0;
    MessageDlg('You may only use numbers.',mtWarning,mbOKCancel,1)
  end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Text := #0;
Edit1.Text := '0';
Edit2.Text := '0';
ActiveControl := Edit2;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then ActiveControl := Edit1
else
begin
if ((Key > '9') OR (Key < '0')) AND (Key <> #8) then
  begin
    Key := #0;
    MessageDlg('You can only use numbers',mtWarning,mbOKCancel,1)
  end;
end;
end;

end.