Jumat, 08 April 2011

PROGRAM PERULANGAN

untuk kawan-kawan delphier yang lagi cari tentang program faktorial...
ni ku cuba kasih sedikit pencerahan atau berbagi pengalaman gitu...

ni ku buat yang standard ja yach...
pertama kita desain dulu formnya...
seperi gambar nie...




disini ku cuba  pake' pagecontrol untuk tempat dari macam- macam program perulangan...dan panel-panel untuk memperindah tampilan....
 dan image tentunya,,,

ok langsung ja kita ke code program...

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan, jpeg, ExtCtrls, ComCtrls;
type
  TUTAMA = class(TForm)
    XPManifest1: TXPManifest;
    Panel2: TPanel;
    PageControl1: TPageControl;
    FAKTORIAL: TTabSheet;
    Panel1: TPanel;
    Image1: TImage;
    Label1: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    FORTODO: TTabSheet;
    PNLFORTODO: TPanel;
    Image2: TImage;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    RadioButton9: TRadioButton;
    RadioButton10: TRadioButton;
    EDARI: TEdit;
    ESAMAPI: TEdit;
    ListBox3: TListBox;
    FORDOWNTO: TTabSheet;
    PNLFORDOWNTODO: TPanel;
    Image5: TImage;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    RadioButton12: TRadioButton;
    Edit7: TEdit;
    Edit8: TEdit;
    ListBox4: TListBox;
    RadioButton1: TRadioButton;
    WHILEDO: TTabSheet;
    PNLWHILEDO: TPanel;
    Image4: TImage;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    ListBox1: TListBox;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    EDTDARI: TEdit;
    EDTSAMPAI: TEdit;
    REPEATUNTIL: TTabSheet;
    PNLREPEATUNTIL: TPanel;
    Image3: TImage;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    RadioButton7: TRadioButton;
    RadioButton8: TRadioButton;
    ListBox2: TListBox;
    EDTKATA: TEdit;
    EDTJUMLAH: TEdit;
    Timer1: TTimer;

    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure RadioButton7Click(Sender: TObject);
    procedure RadioButton8Click(Sender: TObject);
    procedure RadioButton5Click(Sender: TObject);
    procedure RadioButton6Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton12Click(Sender: TObject);
    procedure RadioButton9Click(Sender: TObject);
    procedure RadioButton10Click(Sender: TObject);
    procedure Panel2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  UTAMA: TUTAMA;
implementation

{$R *.dfm}

procedure TUTAMA.Button3Click(Sender: TObject);
begin
Application.Terminate;
end;



procedure TUTAMA.Button2Click(Sender: TObject);
begin

Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit1.SetFocus;
end;
//"script diatas untuk membersihkan edit1,edit2dan edit3 yang ada di faktorial"

procedure TUTAMA.Button1Click(Sender: TObject);
var
n : integer;
i : integer;
jumlah : integer;
fak : integer;
begin
if trystrtoint(Edit1.Text,n)=false then
begin
showmessage('salah memasukan jumlah n, ulangi!!!');
Edit1.SetFocus;
Edit1.Clear;
exit;
end;
jumlah := 0;
for i:=1 to n do
jumlah := jumlah + i;
fak := 1;
for i:=1 to n do
fak := fak * i;
Edit3.text := inttostr(jumlah);
Edit2.Text := inttostr(fak);
end;
//"yang ni...untuk melakukan proses perhitungan perulangan faktorial"...

procedure TUTAMA.RadioButton7Click(Sender: TObject);
VAR
  KATA:STRING;
 J,K:INTEGER;
begin
KATA:=EDTKATA.Text ;
K:=STRTOINT(EDTJUMLAH.Text );
 J:=1;
REPEAT
   ListBox2.Items.Add(KATA);
   J:=J+1;
   UNTIL J>K ;
end;
//"yang ni...untuk melakukan proses perhitungan perulangan Repeat Until"...

procedure TUTAMA.RadioButton8Click(Sender: TObject);
begin
 ListBox2.Clear;
EDTKATA.Text:='';
EDTJUMLAH.Text:='';
end;  
//"script diatas untuk membersihkan edtkata,edtjumlah dan listbox2 yang ada di Repeat until"

procedure TUTAMA.RadioButton5Click(Sender: TObject);
VAR
  I,SAMPAI:INTEGER;
begin
I:=STRTOINT(EDTDARI.Text );
SAMPAI:=STRTOINT(EDTSAMPAI.Text);
WHILE I  < SAMPAI DO
BEGIN
  ListBox1.Items.Add(INTTOSTR(I));
   I:=I+2;
end;
end; //"yang ni...untuk melakukan proses perhitungan perulangan While do"...

procedure TUTAMA.RadioButton6Click(Sender: TObject);
begin
 ListBox1.Clear;
EDTDARI.Text:='';
EDTSAMPAI.Text:='';
end; //"script diatas untuk membersihkan listbox1,edtdari dan edtsampai yang ada di while do"

procedure TUTAMA.RadioButton1Click(Sender: TObject);
 VAR
   I,M:INTEGER;
begin
I:=STRTOINT(Edit7.Text);
 M:=STRTOINT(Edit8.Text );
  FOR I:=I DOWNTO M DO
  BEGIN
  IF I MOD 2=0 THEN
  ListBox4.Items.Add(INTTOSTR(I));
end;
end; //"yang ni...untuk melakukan proses perhitungan perulangan for down to do"...

procedure TUTAMA.RadioButton12Click(Sender: TObject);
begin
 ListBox4.Clear;
EDIT7.Text:='';
EDIT8.Text:='';
end; //"script diatas untuk membersihkan listbox4,edit7 dan edit8 yang ada di for downto do"

procedure TUTAMA.RadioButton9Click(Sender: TObject);
VAR
  I,S:INTEGER;
begin
  I:=STRTOINT(EDARI.Text);
  S:=STRTOINT(ESAMAPI.Text );
  FOR I:=I TO S DO
  BEGIN
  IF I MOD 2=0 THEN
  ListBox3.Items.Add(INTTOSTR(I));
  END;
end; //"yang ni...untuk melakukan proses perhitungan perulangan For to do"...

procedure TUTAMA.RadioButton10Click(Sender: TObject);
begin
  ListBox3.Clear;
EDARI.Text:='';
ESAMAPI.Text:='';
end; //"script diatas untuk membersihkan listbox3,edari dan esampai yang ada di for to do"

procedure TUTAMA.Panel2Click(Sender: TObject);
begin
self.Left:=(utama.ClientWidth-self.ClientWidth )DIV 2;
self.TOP:=(utama.ClientHeight -self.ClientHeight )DIV 2;
end;
// "nah nie....untuk membuat form tepat berada di tengah-tengah layar dekstop ketika di run"...
end.


selamat berkarya....dan mencoba...

Tidak ada komentar:

Posting Komentar