posting baru lagi lah,lumayan panjang sumpah ni listing kodenya,
kali ini tentang bagaimana menghapus dan menambhan data memakai Array.
skrinsut nya bisa dilihat seperti gambar dibawah ini :
1. rancang form seperti diatas dengan 3 buah button,1 buah edit text dan 1 buah StringGrid.
StringGrid dapat ditemukan di pallete Additional
2. pada stringgrid nya beri nilai 1 pada properties ColCount nya
3. sekarang ke kodenya,pertama-tama tambahkan konstanta maks dengan nilai 10 pada bagian bawah jajaran uses,
lalu pada deklarasi privat,deklarasikan variabel jum dengan tipe integer dan array kota 1 sampai maks dengan tipe string. dan pada deklarasi publik,tambahkan sebuah prosedur dengan nama tampil
lihat susu nan nya seperti dibawah ini :
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids; const maks = 10; type TForm1 = class(TForm) StringGrid1: TStringGrid; Edit1: TEdit; btntambah: TButton; btnexit: TButton; btnhapus: TButton; procedure FormCreate(Sender: TObject); procedure btntambahClick(Sender: TObject); procedure btnhapusClick(Sender: TObject); procedure btnexitClick(Sender: TObject); private { Private declarations } kota : array[1..maks] of string; jum : integer; public { Public declarations } procedure Tampil; end;
4. sebelumnya,kita beri kode dulu pada prosedur tampil tersebut,kodenya seperti ini :
procedure TForm1.Tampil; var i : integer; begin StringGrid1.RowCount:=jum+1; StringGrid1.Cells[0,0]:='Daftar Kota'; for I := 1 to jum do StringGrid1.Cells[0,i]:=kota[i]; end;
5. berilah event pada Form tersebut dengan event OnCreate
lalu isikan kode berikut :
procedure TForm1.FormCreate(Sender: TObject); begin kota[1]:='Bandung'; kota[2]:='Ciamis'; kota[3]:='Jakarta'; kota[4]:='Semarang'; jum:=4; tampil; end;
NB : Nama kota bebas lah asal berurutan abjadnya
6. coba jalankan segitu dulu
7. sekarang pada button untuk tambah isikan kode ini :
procedure TForm1.btntambahClick(Sender: TObject);
var
i,j : integer;
posisi : integer;
begin
//cek jika kosong
if Trim(edit1.Text) = '' then
begin
showmessage('Nama Kota tidak boleh kosong');
exit;
end;
//cek array penuh atau tidak
if jum = maks then
begin
showmessage('Array Pinuh');
exit;
end;
//cek jika sama
for I := 1 to jum do
if edit1.Text = kota[i] then
begin
showmessage('kota sudah ada');
exit;
end;
//cari posisi
posisi:=0;
for I := 1 to jum do
if edit1.Text < kota[i] then
begin
posisi:=i;
break;
end;
if posisi = 0 then
begin
jum:=jum+1;
kota[jum]:=edit1.Text;
end
else
begin
for j := jum downto posisi do
kota[j+1]:=kota[j];
//sisipkan
kota[posisi]:=edit1.Text;
jum:=jum+1;
end;
tampil;
end;
8. lalu pada button hapus kodenya seperti ini :
procedure TForm1.btnhapusClick(Sender: TObject); var i,j : integer; posisi : integer; begin //cari posisi penghapusan posisi:=0; for I := 1 to jum do if edit1.Text = kota[i] then begin posisi:=i; break; end; //kalau tidak ditemukan if posisi = 0 then begin showmessage('nama kota tidak ditemukan'); exit; end; //hapus kota if posisi = jum then begin //hapus kota di bagian akhir jum:=jum-1; end else begin //geser keatas for j := posisi+1 to jum do kota[j-1]:=kota[j]; jum:=jum-1; end; tampil; end;9. pada tombol hapus bisa close atau application.terminate
10. oke selesai silahkan di Run dan coba hapus atau tambah
11. semoga bermanfaat
0 komentar:
Posting Komentar