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