unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Menus;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
MainMenu1: TMainMenu;
FIle1: TMenuItem;
Esci1: TMenuItem;
Scomponi1: TMenuItem;
About1: TMenuItem;
Info1: TMenuItem;
cancella1: TMenuItem;
Button3: TButton;
Button4: TButton;
Edit2: TRichEdit;
Label1: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Esci1Click(Sender: TObject);
procedure Cancella1Click(Sender: TObject);
procedure Info1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
public
end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button2Click(Sender: TObject);
begin
halt
end;
procedure TForm1.Button1Click(Sender: TObject);
var n,i,q,r:integer;
begin
n:=strtoint(edit1.text);
label1.visible:=true;
label1.caption:=('I fattori primi di '+ edit1.text + ' sono i seguenti:');
if edit1.text='1' then
begin
label1.visible:=false;
showmessage('Digitare un numero intero compreso tra ''1'' e ''2147483648'' esclusi');
end;
scomponi1.enabled:=false;
button1.enabled:=false;
edit2.clear;
q:=n;
for i:= 2 to n do
begin
repeat r:=q mod i;
if r=0 then
begin
edit2.text:=edit2.text +' ' + inttostr( i) ;
q:=q div i
end;
until r <> 0;
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
label1.visible:=false;
scomponi1.enabled:=true;
button1.enabled:=true;
edit2.clear;
end;
procedure TForm1.Esci1Click(Sender: TObject);
begin
Halt
end;
procedure TForm1.Cancella1Click(Sender: TObject);
begin
label1.visible:=false;
edit1.clear;
edit2.clear;
edit1.setfocus;
scomponi1.enabled:=false;
button1.enabled:=false;
end;
procedure TForm1.Info1Click(Sender: TObject);
begin
showmessage('Anonymous is the creator ');
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
showmessage('Se il numero è eccessivamente elevato, l''operazione potrebbe richiedere qualche minuto');
showmessage('Digitare un numero intero compreso tra ''1'' e ''2147483648'' esclusi') end;
end.