Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Fattorizzatore - Unit1.pas

Unit1.pas

Caricato da: Anonymous
Scarica il programma completo

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  6.   StdCtrls, ComCtrls, Menus;
  7.  
  8. type
  9.   TForm1 = class(TForm)
  10.   Edit1: TEdit;
  11.   Button1: TButton;
  12.   Button2: TButton;
  13.   MainMenu1: TMainMenu;
  14.   FIle1: TMenuItem;
  15.   Esci1: TMenuItem;
  16.   Scomponi1: TMenuItem;
  17.   About1: TMenuItem;
  18.   Info1: TMenuItem;
  19.   cancella1: TMenuItem;
  20.   Button3: TButton;
  21.   Button4: TButton;
  22.   Edit2: TRichEdit;
  23.   Label1: TLabel;
  24.  
  25.     procedure Button2Click(Sender: TObject);
  26.     procedure Button1Click(Sender: TObject);
  27.     procedure Edit1Change(Sender: TObject);
  28.     procedure Esci1Click(Sender: TObject);
  29.     procedure Cancella1Click(Sender: TObject);
  30.     procedure Info1Click(Sender: TObject);
  31.     procedure Button4Click(Sender: TObject);
  32.  
  33.   private
  34.  
  35.   public
  36. end;
  37.  
  38. var Form1: TForm1;
  39.  
  40. implementation
  41.   {$R *.DFM}
  42. procedure TForm1.Button2Click(Sender: TObject);
  43. begin
  44.  halt
  45. end;
  46.  
  47. procedure TForm1.Button1Click(Sender: TObject);
  48.  var n,i,q,r:integer;
  49. begin
  50.  n:=strtoint(edit1.text);
  51.  label1.visible:=true;
  52.  label1.caption:=('I fattori primi di '+ edit1.text +  ' sono i seguenti:');
  53.  if edit1.text='1' then
  54.   begin
  55.    label1.visible:=false;
  56.    showmessage('Digitare un numero intero compreso tra ''1'' e ''2147483648'' esclusi');
  57.   end;
  58.  scomponi1.enabled:=false;
  59.  button1.enabled:=false;
  60.  edit2.clear;
  61.  q:=n;
  62.  for i:= 2 to n do
  63.   begin
  64.    repeat r:=q mod i;
  65.     if r=0 then
  66.      begin
  67.       edit2.text:=edit2.text +'  ' + inttostr( i) ;
  68.       q:=q div i
  69.     end;
  70.    until r <> 0;
  71.   end;
  72. end;
  73.  
  74. procedure TForm1.Edit1Change(Sender: TObject);
  75. begin
  76.  label1.visible:=false;
  77.  scomponi1.enabled:=true;
  78.  button1.enabled:=true;
  79.  edit2.clear;
  80. end;
  81.  
  82. procedure TForm1.Esci1Click(Sender: TObject);
  83. begin
  84.  Halt
  85. end;
  86.  
  87. procedure TForm1.Cancella1Click(Sender: TObject);
  88. begin
  89.  label1.visible:=false;
  90.  edit1.clear;
  91.  edit2.clear;
  92.  edit1.setfocus;
  93.  scomponi1.enabled:=false;
  94.  button1.enabled:=false;
  95. end;
  96.  
  97. procedure TForm1.Info1Click(Sender: TObject);
  98. begin
  99.  showmessage('Anonymous is the creator ');
  100. end;
  101.  
  102. procedure TForm1.Button4Click(Sender: TObject);
  103. begin
  104.  showmessage('Se il numero è eccessivamente elevato, l''operazione potrebbe richiedere qualche minuto');
  105.  showmessage('Digitare un numero intero compreso tra ''1'' e ''2147483648'' esclusi') end;
  106. end.