1. File Project (.Dpr ) dan file Unit (.Pas )
Sebuah program Delphi terbangun dari modul-modul source code yang disebut unit. Delphi menggunakan sebuah file projek (.Dpr ) untuk menyimpan program utama. File sumber untuk unit biasanya berisi sebagian besar kode di dalam aplikasi, file ini ditandai dengan ekstensi (.Pas ). Setiap aplikasi atau projek terdiri atas file projek tunggal atau lebih dalam file unit.
2. File Form (.Dfm )
File form adalah file biner yang dibuat oleh Delphi untuk menyimpan informasi yang berkaitan dengan form.
3. File Resource (. Res )
File resource merupakan file biner yang berisi sebuah ikon yang digunakan oleh project. File ini secara terus menerus di-update atau diubah oleh Delphi sehingga file ini tidak bisa diubah oleh pemakai.
4. File Project Options (. Dof ) dan File Desktop Settings (. Dsk)
File project options merupakan file yang berisi options-options dari suatu project yang dinyatakan melalui perintah Options dari menu Project. Sedang file desktop setting berisi option-option yang dinyatakan melalui perintah Environment Options dari menu Tools. Perbedaan di antara kedua jenis file tersebut adalah bahwa file project options dimiliki oleh setiap project sedangkan file desktop setting dipakai untuk lingkungan Delphi. Apabila ada kerusakan pada kedua jenis file tersebut dapat mengganggu proses kompilasi. Prosedur yang dapat kita tempuh untuk menangani gangguan tersebut adalah dengan menghapus kedua jenis file tersebut yaitu . Dof dan . Dsk karena kedua file tersebut akan terbentuk secara otomatis pada saat menyimpan project.
5. File Backup (.~dp, . ~df, .~pa)File-file dengan ekstensi di atas merupakan file backup dari suatu project, form dan unit. Ketiga jenis file tersebut akan terbentuk pada saat proses penyimpanan untuk yang kedua kalinya. Kerena ketiga file tersebut berjenis backup (cadangan) maka ketiga jenis file tersebut berisi salinan terakhir dari file-file utama sebelum disimpan lebih lanjut.
6. File jenis lain
File-file dengan ekstensi lain yang dapat ditemukan dalam folder tempat penyimpanan program aplikasi selain yang memiliki ekstensi yang telah disebutkan pada umumnya adalah file-file yang dibentuk oleh compiler10 dan beberapa file Windows yang digunakan Embarcadero. File-file tersebut adalah:
File Executable (.Exe ). File ini dibentuk oleh compiler dan meruakan file esekusi (executable) dari program aplikasi. File ini berdiri sendiri dan hanya memerlukan file library di DLL , VBX dan lain-lain.
File unit Object (.Dcu). File ini merupakan file unit (.Pas) yang telah dikompilasi oleh compiler yang akan dihubungkan dengan file esekusi.
File Dinamic Link Library (.Dll). File ini dibentuk oleh compiler apabila kita merancang. DLL sendiri.
File Help. File ini merupakan file Windows dan merupakan file help standar yang dapat dipakai diprogram aplikasi Embarcadero.
File Image (. Wmf, .Bmp, .Ico ). File-file ini merupakan file Windows dari aplikasi selain Delphi yang dapat digunakan untuk mendukung program aplikasi yang kita rancang tampak lebih menarik.
Adalah tipe data yang menyatakan bilangan/angka. Macam-macam tipe data integer :
Tipe Data |
Jangkauan Nilai |
Format |
Shortint |
-128 s/d 127 |
8bit, signed |
Smallint |
-32768 s/d 32767 |
16bit, signed |
Longint |
-2147483648 s/d 2147483647 |
32bit, signed |
Int64 |
-2^63 s/d 2^63 -1 |
64bit, signed |
Byte |
0 s/d 255 |
8bit, unsigned |
Word |
0 s/d 65535 |
16bit, unsigned |
LongWord |
0 s/d 4294967295 |
32bit, unsigned |
Adalah tipe data yang menyatakan himpunan bilangan/angka. Tipe Real juga disebut tipe float.Macam-macam tipe data real:
Tipe Data | Jangkauan Nilai |
Significant digit |
Ukuran |
Real48 |
2.9×10^-39 s/d 1.7×10^38 |
11-12 |
6 Byte |
Single |
1.5×10^-45 s/d 3.4×10^38 |
7-8 |
4 Byte |
Double |
5.0×10^-324 s/d 1.7×10^308 |
15-16 |
8 Byte |
Extended |
3.6×10^-4951 s/d 1.1×10^4932 |
19-20 |
10 Byte |
Comp |
-2^63+1 s/d 2^63-1 |
19-20 |
8 Byte |
Currency |
-922337203685477.5808 s/d |
19-20 |
8 Byte |
Adalah tipe data yang menyatakan nilai benar atau salah (True atau False).
Macam-macam tipe data Boolean:
Tipe Data | Nilai |
Ukuran Memori |
Boolean |
True or False |
1 Byte |
ByteBool |
True or False |
1 Byte |
WordBool |
True or False |
2 Byte |
LongBool |
True or False |
4 Byte |
Adalah tipe data untuk menyatakan sebuah huruf/karakter. Tipe character fundamental adalah AnsiChar dan WideChar. AnsiChar berukuran satu byte dan WideChar berukuran lebih dari satu byte. Tipe character generic adalah Char, yang ekuivalen dengan AnsiChar. Karakter bisa juga ditunjukkan pada konstanta string dengan panjang 1, misalnya ‘A’. Fungsi Chr menghasilkan nilai karakter bagi setiap range integer AnsiChar. Contoh fungsi Chr(65) menghasilkan huruf A.
Tipe String
Adalah tipe data yang menyatakan rangkaian beberapa karakter. Macam-macam tipe string :
Tipe Data | Panjang Teks |
Ukuran Memori |
Pemakaian |
ShortString |
255 karakter |
2 s/d 256 Byte |
compatible |
AnsiString |
~2^31 karakter |
4 Byte s/d 2GB |
8bit ansi character |
WideString |
~2^30 karakter |
4 Byte s/d 2GB |
Unicode character |
Tipe Pointer
Adalah sebuah variabel yang menunjukkan sebuah alamat memori. Pointer dipakai untuk mengindikasi jenis data yang disimpan pada alamat yang dikandungnya. Pointer menempati 4 byte memori.
Tipe Variant
Adalah tipe data yang menyatakan nilai yang bisa berubah saat runtime program. Variant dapat berisi semua tipe data. Variant menawarkan kompatibilitas yang tinggi namun membutuhkan memori yang besar.
Adalah operator untuk keperluan operasi bilangan. Operator aritmatika dibagi menjadi dua, yaitu operator binary dan operator unary.
Macam-macam operator aritmatika binary:
Operator |
Operasi |
Tipe Operand |
Tipe Hasil |
Contoh |
+ |
Penjumlahan |
integer, real |
integer, real |
X + Y |
– |
Pengurangan |
integer, real |
integer, real |
X – Y |
* |
Perkalian |
integer, real |
integer, real |
X * Y |
/ |
Pembagian real |
integer, real |
real |
X / Y |
div |
Pembagian integer |
integer |
integer |
X div Y |
mod |
Sisa |
integer |
integer |
X mod Y |
Adalah operator yang dipakai untuk menangani operasi data bertipa boolean. Operator ini juga menghasilkan data bertipe boolean.
Macam-macam operator boolean:
Operator | Operasi |
Tipe Operand |
Tipe Hasil |
Contoh |
not |
Negasi |
Boolean |
Boolean |
Tidak sesuai |
and |
Konjungsi |
Boolean |
Boolean |
Keduanya nilai benar |
or |
Disjungsi |
Boolean |
Boolean |
Salah satu benar |
xor |
Disjungsi Eksklusif |
Boolean |
Boolean |
|
Adalah operator untuk menangani operasi logika pada bit-bit angka. Berbeda dengan operator boolean, operator logika berfungsi mirip dengan operator aritmatika, artinya operator ini tidak menangani data berupa pernyataan namun berupa angka / integer.
Macam-macam operator logika :
Operator |
Operasi |
Tipe Operand |
Tipe Hasil |
Contoh |
not |
bit negation |
integer |
integer |
not A |
and |
bit and |
integer |
integer |
A and B |
or |
bit or |
integer |
integer |
A or B |
xor |
bit xor |
integer |
integer |
A xor B |
shl |
bit shift left |
integer |
integer |
A shl 2 |
shr |
bit shift right |
integer |
integer |
B shr 3 |
Adalah operator yang menangani data berupa string atau huruf/karakter. Operator string hanya satu, yaitu operator +. Operator ini berfungsi sebagai perangkai, jadi tidak sama dengan + pada operator aritmatika.
Operator |
Operasi |
Tipe Operand |
Tipe Hasil |
Contoh |
+ |
Perangkaian |
String, Character |
String |
'A' + 'ku' |
adalah operator yang khusus menangani data berupa pointer, hasil operator pointer bisa berupa pointer, integer, atau boolean.
Macam-macam operator pointer:
Operator |
Operasi |
Tipe Operand |
Tipe Hasil |
Contoh |
+ |
Penjumlahan Pointer |
Character pointer, Integer |
Character pointer |
P+I |
– |
Pengurangan Pointer |
Character Pointer, Integer |
Character Pointer, Integer |
P-Q |
^ |
Selisih Pointer |
Pointer |
Tipe dasar pointer |
P^ |
= |
Persamaan |
Pointer |
Boolean |
P=Q |
<> |
Pertidaksamaan |
Pointer |
Boolean |
P<>Q |
Adalah operator yang menangani data berupa himpunan. Macam-macam operator himpunan :
Operator | Operasi |
Tipe Operand |
Tipe Hasil |
Contoh |
+ |
Union |
set |
set |
S1+S2 |
– |
Selisih |
set |
set |
S1-S2 |
* |
Intersection |
set |
set |
S1*S2 |
<= |
Subset |
set |
boolean |
S1<=S2 |
>= |
Superset |
set |
boolean |
S2>=S1 |
= |
Persamaan |
set |
boolean |
S1=S2 |
<> |
Pertidaksamaan |
set |
boolean |
S1<>S2 |
in |
Keanggotaan |
ordinal, set |
boolean |
S1 in S2 |
Operator |
Operasi |
Tipe Operand |
Tipe Hasil |
Contoh |
= |
Persamaan |
simple, class, class reference, interface, string, packed string |
Boolean |
A=B |
<> |
Pertidaksamaan |
simple, class, class reference, interface, string, packed string |
Boolean |
A<>B |
< |
Kurang dari |
simple, string, packed string, PChar |
Boolean |
A<B |
> |
Lebih Dari |
simple, string, packed string, PChar |
Boolean |
A>B |
<= |
Kurang dari atau sama dengan |
simple, string, packed string, PChar |
Boolean |
A<=B |
>= |
Lebih dari atau sama dengan |
simple, string, packed string, PChar |
Boolean |
A>=B |
Delphi adalah sebuah perangkat lunak (bahasa pemrograman) untuk membuat program aplikasi komputer berbasis windows yang saat ini berkembang menjadi Embarcadero dan juga mampu membuat sebuah aplikasi android. Delphi merupakan bahasa pemrograman berbasis obyek yang artinya semua komponen yang ada merupakan obyek – obyek. Ciri sebuah obyek adalah memiliki nama, properti, dan method / prosedure.
Untuk awal sebaiknya kita bahas mengenai IDE (Integrated Development Environment) yaitu apa saja yang terdapat program delphi dari fasilitas sampai fungsi fungsi dengan tujuan untuk mengembangkan aplikasi konsol, desktop, web, ataupun perangkat mobile
Constanta.
Deklarasi konstanta adalah tanda pengenal dalam Delphi yang mempunyai nilai yang sudah tetap. Definisi konstanta diawali dengan kata baku Const diikuti dengan kumpulan indentifier yang diberi sebuah nilai.Variable.
Deklarasi variabel adalah tanda pengenal dalam Delphi yang mempunyai nilai yang mana nilai tersebut akan terus berubah selama proses berjalan. Definisi variabel diawali dengan kata baku Var diikuti dengan kumpulan identifier yang diikuti dengan tipe data yang dibutuhkan.Keuntungan menggunakan Constanta
1. Program lebih mudah dimengerti (dibaca)Tipe Data.
1. Tipe data Integer / OrdinalOperator.
Operator adalah bagian dari program untuk membuat operasi pada data. Terdapat beberapa operator untuk menangani operasi program sesuai tipe data.Array.
Array atau disebut larik merupakan tipe data tersetruktur dimana didalamnya terdiri dari komponen – komponen yang mempunyai tipe data yang sama. Didalam suatu array jumlah komponen banyaknya adalah tetap. Didalam suatu larik atau array setiap kompoenen ditunjukan oleh suatu index yang unik. Index dari setiap komponen array menunjukan urutan data atau identitas yang mewakili data yang ada didalamnya.Form adalah komponent dasar yang akan kita gunakan untuk membentuk suatu antarmuka atau interfacesecara grafik dimana pada form bisa kita letakkan komponen-komponen yang support terhadap delphi embarcadero
Dialog adalah sebuah pesan atau informasi yang bersifat modal (tampil paling atas) untuk disampaikan kepada pengguna, pada umumnya untuk menyampaikan pesan, pertanyaan, atau peringatan
Unit adalah sebuah file terpisah dalam suatu project yang berfungsi untuk menyimpan sekumpulan prosedur dan fungsi
Module sebuah sarana untuk menampung komponen
Percabangan adalah merupakan operator yang digunakan untuk menentukan pilihan terhadap beberapa pilihan yang ada.
Percabangan If merupakan operator percabangan yang digunakan untuk menentukan pilihan atas beberapa kondisi yang merupakan syarat terhadap pilihan yang sudah ditentukan.
Case of adalah merupakan metode lain dari sebuah percabangan, berfungsi sama seperti fungsi if yaitu melakukan seleksi atas beberapa pilihan dengan kondisi sebagai syarat yang harus terpenuhi. Secara fungsi case dan if tidak ada perbedaan tetapi untuk penulisan fungsi case lebih mudah diterapkn untuk pilihan atau kondisi lebih dari satu.
Perulangan adalah suatu cara untuk mengulang satu atau sekumpulan perintah sampai mencapai kondisi yang sudah ditentukan.
Perulangan 3 ada macam :
For
procedure TForm1.Button1Click(Sender: TObject);
Var i : byte;
begin
i := 0;
for i := 1 to 50 do
Begin
// Statement Anda
End;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var i : byte;
begin
i := 0;
for i := 50 downto 1 do
Begin
// Statement Anda
End;
end;
While do
Perulangan While Do adalah statement perulangan akan terus melakukan suatu proses selama kondisi/syarat yang ditentukan bernilai benar.
procedure TForm1.Button2Click(Sender: TObject);
var i : byte;
begin
i := 0;
while i <= 50 do
Begin
// Statement Anda
inc(i);
End;
end;
Repeat until
Perulangan repeat until digunakan untuk mengulang suatu kondisi sampai (until) kondisi bernilai salah. Cara Penulisan
procedure TForm1.Button2Click(Sender: TObject);
var i : byte;
begin
i := 0;
repeat
inc(i);
until i >= 50
end;
Prosedur adalah suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai satu sub program yang bisa dipanggil setiap saat sesuai posisinya
Function adalah suatu program yang akan memberi nilai kepada pengguna sebagai hasil yang bisa dimanfaatkan juga sebagai alat uji.
Kenapa harus menggunakan prosedur atau function :
1. Digunakan untuk penggalan program yang akan digunakan secara berulang – ulang dalam suatu proses program.
2. Digunakan untuk memecah – mecah program menjadi sebuah modul program, sehingga listing program menjadi lebih sederhana.
Macam macam prosedur dan function :
1. Procedure tanpa parameter
Procedure TForm1.hitung;
var hasil,b,c : integer;
Begin
hasil := b + c;
End;
2. Procedure parameter
Procedure TForm1.hitung(b,c : integer);
var hasil : integer;
Begin
hasil := b + c;
End;
dan cara memanggilnya : hitung(10,15);
3. Procedure tersarang
Procedure TForm1.hitung;
var hasil, a,b : integer;
Procedure penjumlahan;
begin
hasil := a + b;
end;
Begin
penjumlahan;
End;
dan cara memanggilnya : hitung(10,15);
4. Procedure rekursif
Function pangkat(nilai, n : integer): integer;
Begin
if n=1 then
pangkat := nilai
else
pangkat := nilai * pangkat(nilai, n -1);
End;
dan cara memanggilnya :
Edit1.Text := inttostr(pangkat(5,3));
Anda mestinya pernah mengalami salah entry pada form salah contohnya yang seharusnya dimasukkan angka ternyata dimasukkan huruf, ada dua kemungkinan hal ini terjadi kesalahan yaitu dari error coding atau error yang memasukkan.
Pertanyaannya bagaimana cara menghandlenya ?
Ada dua cara untuk menghandle hal ini yaitu dengan menggunakan Try Except atau Try Finally:
Sekarang kita bahas yang pertama dulu yaitu : Try Except dan cara penulisan script seeprti dibawah ini :
Try
Nilai := 1 div 0;
Except
on E : Exception do
ShowMessage(E.ClassName +' error '+ E.Message);
End;
Yang kedua adalah menggunakan Try Finally
Scripnya seperti dibawah ini :
var a, b, d, e :integer;
c : double;
begin
try
a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.Text);
c := a / b;
d := a + b;
Finally
e := 2;
Edit3.Text := Floattostr(C);
Edit7.Text := Floattostr(d);
Edit8.Text := Floattostr(e);
end;
end;
Perbedaannya jelas sekali antara Try Except dan Try Finally yaitu : Dalam latihan program akan dibahas banyak fungsi dan tentunya diajarkan semua komponen, dan komponen wajibnya adalag Combobox, Stringgrid, Listview, DBGrid.
Beberapa komponen standart yang harus kita tahu fungsinya
Pointer adalah komponen khusus dan terdapat disetiap tab dalam component palatte. Komponen pointer adalah komponen select yang digunakan untuk memilih komponen dalam form designer.Dalam latihan akan ditunjukan bagaimana menempatkan komponen yang tepat dan bagus sebagai interface yang user friendly
1. Instalasi XAMPP dan Database MySQL
2. Penggunaan komponen komponen database
3. Create Read Update Delete (CRUD)
Apa itu SQL (kami bahas saat kursus)? dan yang jelas sql dalam delphi sangat membantu sekali dalam program salah satunya adalah menampilkan data, menghitung, melihat rata rata, update, delete,
Dibawah ini beberapa perintah SQL yang bisa dijadikan dasar untuk mengexecusi sql
// Cara menampilkan kolom
select * from t_pelanggan; // menampilkan semua kolom pada tabel pelanggan
select kode_pelanggan, nama_pelanggan, alamat, telp from t_pelanggan; // menampilkan semua data pada kolom kode_pelanggan, nama_pelanggan, alamat, telp
select kode_pelanggan, nama_pelanggan, alamat, telp from t_pelanggan where kota ='SURABAYA' // menampilkan data kode_pelanggan, nama_pelanggan, alamat, telp yang nama kotanya adalah Surabaya
select kode_pelanggan, nama_pelanggan, alamat, telp from t_pelanggan where kota LIKE 'SURABAYA' or kota LIKE 'JAKARTA' // menampilkan data kode_pelanggan, nama_pelanggan, alamat, telp yang nama kotanya adalah Surabaya atau kota Jakarta
select count(id_pelanggan) as tot_pelanggan from t_pelanggan; // menampilkan count atau jumlah pelanggan
select sum(jumlah) as tot_barang from t_barang; // menampilkan jumlah total barang
// Cara memasukkan data pada kolom
insert into (namakolom1, namakolom2, …) VALUES ('isikolom1', 'namakolom2', …);
// Cara mengkoreksi data pada kolom
update t_pelanggan set nama_pelanggan='PT. Fathon' where kode_pelanggan='NAM001'; // mengkoreksi tabel pelanggan dengan nama PT. Fathon yang kode pelanggannya 'NAM001'
// Cara menghapus record atau isi baris
delete from t_pelanggan where kode_pelanggan='NAM001'; // menghapus isi tabel pelanggan yang kode pelanggannya 'NAM001'
// mengosongkan isi tabel dan memulai nomor urut 1 pada autonomor
truncate table nama_table
// Cara menghapus tabel
drop table nama_tabel
// Cara menghapus tabel
drop database nama_tabel
Dibawah ini beberapa kutipan insert update delete dan pencarian data dalam delphi
1. Pencarian data dalam SQL dengan menggunakan delphi
Function CariQuery(Query: String; Dataset: TADODataset): Boolean;
begin
if not Dataset.Prepared then
Dataset.Prepared := True;
Dataset.Close;
Dataset.CommandText := Query;
Dataset.Open;
if Not (Dataset.Eof or Dataset.IsEmpty) Then
Begin
Result:=true;
end else
begin
Result:=False;
end;
end;
2. Penambahan data (insert)
procedure TFPelangganEntry.AGBSimpanClick(Sender: TObject);
begin
if ceksebelumsimpan = True then
begin
if SimpanPelanggan = true Then
begin
if vlpelanggan = OnAppend then
begin
if Pertanyaanku('Data pelanggan telah berhasil ditambahkan'+#10+#13+
'Apakah Anda akan memasukkan kembali ?') = ID_YES then
begin
end;
end;
if vlpelanggan = OnEdit then
begin
Pesanku('Data pelanggan telah berhasil dikoreksi');
Close;
end;
end;
end;
end;
3. Koreksi data (update)
if vlpelanggan = OnEdit then
begin
Fpelanggan.MQPelanggan.Edit();
end;
Fpelanggan.MQPelanggan.FieldByName('alias_pelanggan').AsString := FPelangganEntry.EdtAliasPelanggan.Text;
Fpelanggan.MQPelanggan.FieldByName('nama_pelanggan').AsString := FPelangganEntry.EdtNamaPelanggan.Text;
Fpelanggan.MQPelanggan.FieldByName('badan_usaha').AsString := FPelangganEntry.CmbBU.Text;
Fpelanggan.MQPelanggan.FieldByName('alamat').AsString := FPelangganEntry.EdtAlamatPelanggan.Text;
Fpelanggan.MQPelanggan.FieldByName('kota').AsString := FPelangganEntry.Cmbkota.Text;
Fpelanggan.MQPelanggan.FieldByName('propinsi').AsString := FPelangganEntry.Cmbpropinsi.Text;
Fpelanggan.MQPelanggan.FieldByName('telpon').AsString := FPelangganEntry.EdtTelp.Text;
4. hapus data (delete)
if (vlpelanggan = OnBrowse) then
begin
if pertanyaanku('Apakah yakin akan dihapus ?')= id_yes Then
begin
MQPelanggan.delete;
end;
end;
Materi lebih lanjut adalah menyajikan data yang siap dicetak dengan menggunakan Quickreport.
Praktek langsung saat online kursusMateri dalam lagi materinya yaitu membuat kumpulan variable supaya nama variable tidak berulang ulang, mengelompokan procedure dan unit, dan mengelompokan nama nama komponen dengan tujuan hemat memory, hemat koding yang secara otomatis menghemat waktu dalam membuat koding.
Praktek langsung saat online kursusDibawah ini adalah step step latihan/materi yang diajarkan pada saat kursus delphi online, program pemrograman menggunakan versi delphi 7 sampai Delphi Embarcadero 10.4
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Bttampilpesan: TButton;
BttampilpesanOk: TButton;
Bttampilpesan_MD_OK: TButton;
BttampilpesanYesNo: TButton;
BttampilpesanYesNoCancel: TButton;
Bttampilpesan_MD_YesNO: TButton;
Bttampilpesan_MD_YesNoCancel: TButton;
BttampilpesanPertanyaan: TButton;
Bttampilpesan_MD_Pertanyaan: TButton;
Memo1: TMemo;
procedure BttampilpesanClick(Sender: TObject);
procedure BttampilpesanOkClick(Sender: TObject);
procedure BttampilpesanYesNoClick(Sender: TObject);
procedure BttampilpesanYesNoCancelClick(Sender: TObject);
procedure Bttampilpesan_MD_OKClick(Sender: TObject);
procedure Bttampilpesan_MD_YesNOClick(Sender: TObject);
procedure Bttampilpesan_MD_YesNoCancelClick(Sender: TObject);
procedure BttampilpesanPertanyaanClick(Sender: TObject);
procedure Bttampilpesan_MD_PertanyaanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BttampilpesanClick(Sender: TObject);
begin
ShowMessage('Hallooo Dunia Pemrograman');
end;
procedure TForm1.BttampilpesanOkClick(Sender: TObject);
begin
Application.MessageBox('Hallo dunia pemrograman','Peringatan', MB_OK);
end;
procedure TForm1.BttampilpesanYesNoClick(Sender: TObject);
begin
Application.MessageBox('Hallo dunia pemrograman','Peringatan', MB_YESNO);
end;
procedure TForm1.BttampilpesanYesNoCancelClick(Sender: TObject);
begin
Application.MessageBox('Hallo dunia pemrograman','Peringatan', MB_YESNOCANCEL);
end;
procedure TForm1.Bttampilpesan_MD_OKClick(Sender: TObject);
begin
MessageDlg('Exiting the Delphi application.', mtInformation, [mbOk], 0);
end;
procedure TForm1.Bttampilpesan_MD_YesNOClick(Sender: TObject);
begin
MessageDlg('Exiting the Delphi application.', mtInformation, [mbYes, mbNo], 0);
end;
procedure TForm1.Bttampilpesan_MD_YesNoCancelClick(Sender: TObject);
begin
MessageDlg('Exiting the Delphi application.', mtInformation, [mbYes, mbNo, mbCancel], 0);
end;
procedure TForm1.BttampilpesanPertanyaanClick(Sender: TObject);
begin
if Application.MessageBox('Hallo dunia pemrograman'+#13+
'Anda suka Delphi Embarcadero ?' ,'Peringatan', MB_YESNO) = id_yes Then
Begin
Application.MessageBox('Selamat'+#13+
'Anda bisa sekalian mencoba versi Android' ,'Peringatan', MB_OK);
End;
end;
procedure TForm1.Bttampilpesan_MD_PertanyaanClick(Sender: TObject);
begin
if MessageDlg('Hallo dunia pemrograman'+#13+
'Anda suka Delphi Embarcadero ?', mtCustom, [mbYes, mbNo], 0)=id_yes Then
Begin
MessageDlg('Selamat'+#13+
'Anda bisa sekalian mencoba versi Android', mtInformation, [mbOk], 0);
End;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
BTTampilkanForm: TButton;
BtShowModal: TButton;
procedure BtShowModalClick(Sender: TObject);
procedure BTTampilkanFormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.BtShowModalClick(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.BTTampilkanFormClick(Sender: TObject);
begin
Form2.Show;
end;
end.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, dateutils, Math;
type
TForm3 = class(TForm)
Panel1: TPanel;
Memo1: TMemo;
BtSet: TButton;
BtTampilkan: TButton;
Memo2: TMemo;
procedure BtSetClick(Sender: TObject);
procedure BtTampilkanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Const
Angka_Kesukaan = 100;
var
Form3: TForm3;
satu_sd_sejuta : Integer;
pecahan : double;
tanggal : tdate;
jam : ttime;
nilai_acak : Integer;
implementation
{$R *.dfm}
procedure TForm3.BtSetClick(Sender: TObject);
begin
satu_sd_sejuta := 10;
pecahan := 15.90;
tanggal := Dateof(now);
jam := timeof(now);
nilai_acak := RandomRange(1,100);
end;
procedure TForm3.BtTampilkanClick(Sender: TObject);
begin
Memo2.Clear;
Memo2.Lines.Add('Satu sampai Sejuta '+ IntToStr(satu_sd_sejuta));
Memo2.Lines.Add('Pecahan '+ FloatToStr(pecahan));
Memo2.Lines.Add('Tanggal '+ DateToStr(tanggal));
Memo2.Lines.Add('Jam '+ TimeToStr(jam));
Memo2.Lines.Add('Nilai Acak '+ inttostr(nilai_acak));
Memo2.Lines.Add('Angka Kesukaan '+ inttostr(Angka_Kesukaan));
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, dateutils;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Edit4: TEdit;
Edit5: TEdit;
BtPengurangan: TButton;
Edit6: TEdit;
Label6: TLabel;
Panel4: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BtPenjumlahan: TButton;
Edit3: TEdit;
PnlPenambahan: TPanel;
PnlPengurangan: TPanel;
Label11: TLabel;
Edit7: TEdit;
Edit8: TEdit;
BtPerkalian: TButton;
Edit9: TEdit;
PnlPerkalian: TPanel;
Label15: TLabel;
Edit10: TEdit;
Edit11: TEdit;
BtPembagian: TButton;
Edit12: TEdit;
Pnlpembagian: TPanel;
Panel8: TPanel;
Panel9: TPanel;
Label4: TLabel;
Label5: TLabel;
Label9: TLabel;
Label10: TLabel;
Label13: TLabel;
Label14: TLabel;
Panel10: TPanel;
PnlDiv: TPanel;
Edit13: TEdit;
Edit14: TEdit;
BtDiv: TButton;
Edit15: TEdit;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Panel12: TPanel;
PnlMod: TPanel;
Edit16: TEdit;
Edit17: TEdit;
BtMod: TButton;
Edit18: TEdit;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
procedure FormCreate(Sender: TObject);
procedure BtPenjumlahanClick(Sender: TObject);
procedure BtPenguranganClick(Sender: TObject);
procedure BtPerkalianClick(Sender: TObject);
procedure BtPembagianClick(Sender: TObject);
procedure BtDivClick(Sender: TObject);
procedure BtModClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
// setup awal
Edit1.Text := '1';
Edit2.Text := '5';
Edit4.Text := '1';
Edit5.Text := '5';
Edit7.Text := '1';
Edit8.Text := '5';
Edit10.Text := '1';
Edit11.Text := '5';
Edit13.Text := '10';
Edit14.Text := '5';
Edit16.Text := '10';
Edit17.Text := '5';
end;
procedure TForm1.BtPenjumlahanClick(Sender: TObject);
var A, B : Double;
Hasil : Variant;
begin
A := Strtoint(Edit1.Text);
B := Strtoint(Edit2.Text);
hasil := A + B;
Edit3.Text := (hasil);
end;
procedure TForm1.BtPenguranganClick(Sender: TObject);
var A, B : Double;
Hasil : Variant;
begin
A := Strtoint(Edit4.Text);
B := Strtoint(Edit5.Text);
hasil := A - B;
Edit6.Text := (hasil);
end;
procedure TForm1.BtPerkalianClick(Sender: TObject);
var A, B : Double;
Hasil : Variant;
begin
A := Strtoint(Edit7.Text);
B := Strtoint(Edit8.Text);
hasil := A * B;
Edit9.Text := (hasil);
end;
procedure TForm1.BtPembagianClick(Sender: TObject);
var A, B : Double;
Hasil : Variant;
begin
A := Strtoint(Edit10.Text);
B := Strtoint(Edit11.Text);
hasil := A / B;
Edit12.Text := (hasil);
end;
procedure TForm1.BtDivClick(Sender: TObject);
var A, B : integer;
Hasil : integer;
begin
A := StrToInt(Edit13.Text);
B := StrToInt(Edit14.Text);
hasil := A div B;
Edit15.Text := Inttostr(hasil);
end;
procedure TForm1.BtModClick(Sender: TObject);
var A, B : integer;
Hasil : integer;
begin
A := StrToInt(Edit16.Text);
B := StrToInt(Edit17.Text);
hasil := A Mod B;
Edit18.Text := Inttostr(hasil);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, dateutils;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
BtPenguranganJam: TButton;
Panel1: TPanel;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Panel2: TPanel;
Label3: TLabel;
Edit4: TEdit;
Edit5: TEdit;
BtPenguranganTanggal: TButton;
Edit6: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
procedure FormCreate(Sender: TObject);
procedure BtPenguranganJamClick(Sender: TObject);
procedure BtPenguranganTanggalClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var Jamawal : ttime;
begin
// setup awal
Jamawal := timeof(now);
Edit1.Text := timetostr(Jamawal);
Edit2.Text := TimeToStr(Jamawal);
Edit4.Text := DateToStr(now);
Edit5.Text := DateToStr(now + 60);
end;
procedure TForm1.BtPenguranganJamClick(Sender: TObject);
var Jam_datang, Jam_Pulang : Ttime;
Hasil : Variant;
begin
Jam_datang := StrToTime(Edit1.Text);
Jam_Pulang := StrToTime(Edit2.Text);
hasil := Jam_Pulang - Jam_datang;
Edit3.Text := TimeToStr(hasil);
end;
procedure TForm1.BtPenguranganTanggalClick(Sender: TObject);
var tgl_terdaftar, tgl_keluar : TDate;
Hasil : Variant;
begin
tgl_terdaftar := StrToDate(Edit4.Text);
tgl_keluar := StrToDate(Edit5.Text);
hasil := tgl_keluar - tgl_terdaftar;
Edit6.Text := (hasil);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Button2: TButton;
Button1: TButton;
Panel2: TPanel;
Label1: TLabel;
EdtNama_if: TEdit;
EdtHp: TEdit;
Memo1: TMemo;
Label2: TLabel;
RBlakilaki: TRadioButton;
Panel3: TPanel;
RBPerempuan: TRadioButton;
BtLihatHasilif: TButton;
CBSepakbola: TCheckBox;
Panel4: TPanel;
CBBasket: TCheckBox;
CbVoliball: TCheckBox;
Panel5: TPanel;
Memo2: TMemo;
BtLihatHasilCase: TButton;
CmbJenisKelamin: TComboBox;
Label3: TLabel;
Label4: TLabel;
EdtHandphone: TEdit;
Edtnama_Case: TEdit;
Label5: TLabel;
RBSepedaMotor: TRadioButton;
RBMobil: TRadioButton;
Panel6: TPanel;
Label6: TLabel;
EdtNilaiOlahraga: TEdit;
Panel7: TPanel;
Panel8: TPanel;
Memo3: TMemo;
Memo4: TMemo;
Memo5: TMemo;
Memo6: TMemo;
procedure BtLihatHasilifClick(Sender: TObject);
procedure RBMobilClick(Sender: TObject);
procedure BtLihatHasilCaseClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtLihatHasilifClick(Sender: TObject);
var hobi : string;
begin
Memo1.Lines.Clear; hobi := '';
Memo1.Lines.Add('Nama '+ EdtNama_if.Text);
Memo1.Lines.Add('Handphone '+EdtHp.Text);
if RBlakilaki.Checked = true Then
Begin
Memo1.Lines.Add('Kelamin Laki-Laki');
End else
if RBPerempuan.Checked = true Then
Begin
Memo1.Lines.Add('Kelamin Perempuan');
End else
Memo1.Lines.Add('Kelamin tidak terdeteksi');
if CBSepakbola.Checked then hobi := hobi +'Sepakbola ';
if CBBasket.Checked then hobi := hobi +'Basket ';
if CbVoliball.Checked then hobi := hobi +'Voli Ball ';
Memo1.Lines.Add('hobi' + hobi);
end;
procedure TForm1.RBMobilClick(Sender: TObject);
begin
case (sender as TRadioButton).Tag of
0 : Begin
ShowMessage('Anda menggunakan sepeda motor');
End;
1 : Begin
ShowMessage('Anda menggunakan mobil');
End;
end;
end;
procedure TForm1.BtLihatHasilCaseClick(Sender: TObject);
var hobi : string;
nilai : integer;
begin
Memo2.Lines.Clear; hobi := '';
Memo2.Lines.Add('Nama '+ Edtnama_Case.Text);
Memo2.Lines.Add('Handphone '+ EdtHandphone.Text);
Memo2.Lines.Add('Kelamin '+ CmbJenisKelamin.Text);
nilai := strtoint(EdtNilaiOlahraga.Text);
case nilai of
90..100 : Begin
Memo2.Lines.Add('Nilai anda mengagumkan');
End;
80..89 : Begin
Memo2.Lines.Add('Nilai anda sangat baik');
End;
70..79 : Begin
Memo2.Lines.Add('Nilai cukup baik');
End;
60..69 : Begin
Memo2.Lines.Add('nilai anda biasa ');
End
else
Memo2.Lines.Add('Belajar lagi BROOOOO');
end;
end;
end.
unit Unit1;
interface
uses
Winapi.Windows, Strutils, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Edt1: TEdit;
Edt2: TEdit;
Edt3: TEdit;
Edt4: TEdit;
Edt1a: TEdit;
Edt2a: TEdit;
Edt3a: TEdit;
Edt4a: TEdit;
BtCopy: TButton;
BtLeftStr: TButton;
BtRightStr: TButton;
BTMidSTR: TButton;
Panel2: TPanel;
Panel3: TPanel;
Memo1: TMemo;
procedure BtCopyClick(Sender: TObject);
procedure BtLeftStrClick(Sender: TObject);
procedure BtRightStrClick(Sender: TObject);
procedure BTMidSTRClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtCopyClick(Sender: TObject);
begin
Edt1a.Text := copy(edt1.Text,4,2);
end;
procedure TForm1.BtLeftStrClick(Sender: TObject);
begin
Edt2a.Text := LeftStr(edt2.Text,2);
end;
procedure TForm1.BtRightStrClick(Sender: TObject);
begin
Edt3a.Text := RightStr(edt3.Text,2);
end;
procedure TForm1.BTMidSTRClick(Sender: TObject);
begin
Edt4a.Text := MidStr(edt4.Text,2,3);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, dateutils;
type
TForm1 = class(TForm)
Panel1: TPanel;
BtFor: TButton;
MemoFor: TMemo;
BtWhile: TButton;
MemoWhile: TMemo;
BtRepeat: TButton;
MemoRepeat: TMemo;
Panel2: TPanel;
Panel3: TPanel;
Memo5: TMemo;
Memo7: TMemo;
Memo8: TMemo;
procedure BtForClick(Sender: TObject);
procedure BtWhileClick(Sender: TObject);
procedure BtRepeatClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtForClick(Sender: TObject);
var i : Byte;
begin
i := 1; MemoFor.Lines.Clear;
for i := 1 to 9 do
Begin
MemoFor.Lines.Add(inttostr(i));
End;
end;
procedure TForm1.BtWhileClick(Sender: TObject);
var i : Byte;
begin
i := 1; MemoWhile.Lines.Clear;
While i <= 9 do
Begin
MemoWhile.Lines.Add(inttostr(i));
inc(i);
End;
End;
procedure TForm1.BtRepeatClick(Sender: TObject);
var i : Byte;
begin
i := 1; MemoRepeat.Lines.Clear;
repeat
MemoRepeat.Lines.Add(inttostr(i));
inc(i);
until i > 9
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
PnlEntri: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
BBHitung_procedure: TBitBtn;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Label2: TLabel;
Label6: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
BBHitung_Function: TBitBtn;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Memo3: TMemo;
Memo2: TMemo;
Memo1: TMemo;
Memo4: TMemo;
procedure BBHitung_procedureClick(Sender: TObject);
procedure BBHitung_FunctionClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure Hitung(A,B : Double);
Function Hitung_Penjumlahan(A,B : Double) : Double;
end;
var
Form1: TForm1;
Hasil : Double;
implementation
{$R *.dfm}
Procedure TForm1.Hitung(A,B : Double);
Begin
Hasil := A + B;
End;
Function TForm1.Hitung_Penjumlahan(A,B : Double) : Double;
Begin
Result := 0;
Result := A + B;
End;
procedure TForm1.BBHitung_procedureClick(Sender: TObject);
begin
// memanggil procedure hitung
Hitung(StrToFloat(edit1.Text), StrToFloat(edit2.Text));
Edit3.Text := FloatToStr(Hasil);
end;
procedure TForm1.BBHitung_FunctionClick(Sender: TObject);
begin
// memanggil function hitung
Edit6.Text := FloatToStr(Hitung_Penjumlahan(StrToFloat(edit1.Text), StrToFloat(edit2.Text)));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := '10';
Edit2.Text := '10';
Edit4.Text := '10';
Edit5.Text := '10';
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, dateutils;
type
TForm1 = class(TForm)
Panel1: TPanel;
BtSetLooping: TButton;
Memo1: TMemo;
BTTampilkan: TButton;
Panel2: TPanel;
Panel3: TPanel;
BTSet: TButton;
Memo9: TMemo;
procedure BtSetLoopingClick(Sender: TObject);
procedure BTTampilkanClick(Sender: TObject);
procedure BTSetClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
baris : array[1..9] of integer;
implementation
{$R *.dfm}
procedure TForm1.BtSetLoopingClick(Sender: TObject);
var i : Byte;
begin
i := 0; Memo1.Lines.Clear;
for i := 1 to 9 do
Begin
baris[i] := i * 2;
End;
end;
procedure TForm1.BTTampilkanClick(Sender: TObject);
var i : Byte;
begin
i := 0; Memo1.Lines.Clear;
for i := 1 to 9 do
Begin
Memo1.Lines.Add(IntToStr(baris[i]));
End;
end;
procedure TForm1.BTSetClick(Sender: TObject);
begin
baris[1] := 2;
baris[2] := 4;
baris[3] := 6;
baris[4] := 8;
baris[5] := 10;
baris[6] := 12;
end;
end.
unit Uutama;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ExtCtrls, Buttons;
type
TFUtama = class(TForm)
MainMenu1: TMainMenu;
System1: TMenuItem;
ransaksi1: TMenuItem;
Laporan1: TMenuItem;
Master1: TMenuItem;
Perusahaan1: TMenuItem;
Login1: TMenuItem;
N1: TMenuItem;
Logoff1: TMenuItem;
Pembelian1: TMenuItem;
penjualan1: TMenuItem;
Retur1: TMenuItem;
Pembelian2: TMenuItem;
Penjualan2: TMenuItem;
Pembelian3: TMenuItem;
penjualan3: TMenuItem;
N2: TMenuItem;
Keluar1: TMenuItem;
Panel1: TPanel;
StatusBar1: TStatusBar;
Image1: TImage;
Pelanggan1: TMenuItem;
Pemasok1: TMenuItem;
Karyawan1: TMenuItem;
Profil1: TMenuItem;
HakAkses1: TMenuItem;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
procedure Keluar1Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FUtama: TFUtama;
implementation
{$R *.dfm}
procedure TFUtama.Keluar1Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TFUtama.SpeedButton3Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Cmbisi: TComboBox;
EdtIsi: TEdit;
BTAdd: TButton;
Label1: TLabel;
Label2: TLabel;
procedure BTAddClick(Sender: TObject);
procedure CmbisiSelect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BTAddClick(Sender: TObject);
begin
Cmbisi.Items.Add(EdtIsi.Text);
end;
procedure TForm1.CmbisiSelect(Sender: TObject);
begin
Label2.Caption := Inttostr(Cmbisi.ItemIndex);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
StringGrid1: TStringGrid;
PnlEntri: TPanel;
BBSetupHeader: TBitBtn;
Edit3: TEdit;
Label3: TLabel;
Edit4: TEdit;
Label4: TLabel;
Edit5: TEdit;
Label5: TLabel;
BBSimpan: TBitBtn;
BBHapusBaris: TBitBtn;
procedure BBSetupHeaderClick(Sender: TObject);
procedure BBSimpanClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BBHapusBarisClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure konfig_kolom(namagrid : TStringGrid);
end;
var
Form1: TForm1;
vlRow : Smallint;
implementation
{$R *.dfm}
Procedure TForm1.konfig_kolom(namagrid : TStringGrid);
Begin
StringGrid1.Cells[0,0] := 'NO.';
StringGrid1.ColWidths[0] := 50;
StringGrid1.Cells[1,0] := 'NAMA';
StringGrid1.ColWidths[1] := 150;
StringGrid1.Cells[2,0] := 'ALAMAT';
StringGrid1.ColWidths[2] := 150;
StringGrid1.Cells[3,0] := 'HP';
StringGrid1.ColWidths[3] := 100;
StringGrid1.ColCount := 4;
End;
procedure TForm1.BBSetupHeaderClick(Sender: TObject);
begin
konfig_kolom(StringGrid1);
end;
procedure TForm1.BBSimpanClick(Sender: TObject);
begin
StringGrid1.Cells[0,StringGrid1.RowCount -1] := Inttostr(StringGrid1.RowCount -1 );
StringGrid1.Cells[1,StringGrid1.RowCount -1] := Edit3.Text;
StringGrid1.Cells[2,StringGrid1.RowCount -1] := Edit4.Text;
StringGrid1.Cells[3,StringGrid1.RowCount -1] := Edit5.Text;
StringGrid1.RowCount := StringGrid1.RowCount + 1;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.RowCount := 2;
konfig_kolom(StringGrid1);
end;
procedure TForm1.BBHapusBarisClick(Sender: TObject);
begin
vlRow := StringGrid1.Row;
for vlRow := StringGrid1.Row to StringGrid1.RowCount-1 do
begin
StringGrid1.Cells[0,vlRow] := StringGrid1.Cells[0,vlRow+1];
StringGrid1.Cells[1,vlRow] := StringGrid1.Cells[1,vlRow+1];
StringGrid1.Cells[2,vlRow] := StringGrid1.Cells[2,vlRow+1];
StringGrid1.Cells[3,vlRow] := StringGrid1.Cells[3,vlRow+1];
end;
StringGrid1.RowCount := StringGrid1.RowCount -1;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
PnlEntri: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edtnama: TEdit;
Edtalamat: TEdit;
EdtHanphone: TEdit;
BBSimpan: TBitBtn;
BBHapus: TBitBtn;
ListView1: TListView;
procedure BBSimpanClick(Sender: TObject);
procedure BBHapusClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
vlrow : Integer;
implementation
{$R *.dfm}
procedure TForm1.BBSimpanClick(Sender: TObject);
Var l: TListItem;
Item : TStringList;
begin
l := ListView1.Items.Add;
l.Caption := Edtnama.Text;
l.SubItems.Add(Edtalamat.Text);
l.SubItems.Add(EdtHanphone.Text);
end;
procedure TForm1.BBHapusClick(Sender: TObject);
begin
ListView1.DeleteSelected;
end;
end.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
EdtNama: TEdit;
EdtAlamat: TEdit;
EdtHandphone: TEdit;
BTSimpan: TButton;
Memo1: TMemo;
BtLoad: TButton;
procedure BTSimpanClick(Sender: TObject);
procedure BtLoadClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure Simpantxt(path: string; isiStr : String);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtLoadClick(Sender: TObject);
Var f : TextFile;
s, Alltext : string;
i : byte;
begin
AssignFile(F, 'H:\kursus embarcadero dan materi dekstop\belajar\15_File_Tak_Bertipe\1.txt');
Reset(F);
while not Eof(F) do
begin
Readln(F, S);
Alltext := Alltext + S + #10+#13;
end;
memo1.Lines.add(Alltext);
CloseFile(F);
end;
Procedure TForm1.Simpantxt(path: string; isiStr : String);
Var NamaFile : TextFile;
begin
// Path := 'C:\Users\Admin\Documents\File_Tak_bertipe\1.txt';
if FileExists(path) then
begin
AssignFile(namafile, Path);
Append(namafile);
end else
begin
AssignFile(namafile, Path);
Rewrite(namafile);
end;
Writeln(namafile, isiStr);
CloseFile(namafile);
end;
procedure TForm1.BTSimpanClick(Sender: TObject);
begin
Simpantxt('H:\kursus embarcadero dan materi dekstop\belajar\15_File_Tak_Bertipe\1.txt', EdtNama.Text);
Simpantxt('H:\kursus embarcadero dan materi dekstop\belajar\15_File_Tak_Bertipe\1.txt', EdtAlamat.Text);
Simpantxt('H:\kursus embarcadero dan materi dekstop\belajar\15_File_Tak_Bertipe\1.txt', EdtHandphone.Text);
end;
end.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, registry, Vcl.StdCtrls, Vcl.ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
EdtNomor: TEdit;
EdtNama: TEdit;
EdtAlamat: TEdit;
BtSimpan: TButton;
EdtNomor_Hasil: TEdit;
EdtNama_Hasil: TEdit;
EdtAlamat_Hasil: TEdit;
BtLoad: TButton;
procedure BtSimpanClick(Sender: TObject);
procedure BtLoadClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtSimpanClick(Sender: TObject);
Var Reg : Tregistry;
begin
Reg := TRegistry.Create;
Try
if Reg.OpenKey('\Software\Settingmenu\Belajar', True) then
begin
Reg.WriteInteger('Nomor', StrToInt(EdtNomor.Text));
Reg.WriteString('Nama', EdtNama.Text);
Reg.WriteString('Alamat', EdtAlamat.Text);
end;
Finally
Reg.Free;
Inherited;
End;
end;
procedure TForm1.BtLoadClick(Sender: TObject);
Var Reg : Tregistry;
begin
Reg := TRegistry.Create;
Try
if Reg.OpenKey('\Software\Settingmenu\Belajar', True) then
begin
if Reg.ValueExists('Nomor') then
begin
EdtNomor_Hasil.Text := inttostr(Reg.ReadInteger('Nomor'));
end;
if Reg.ValueExists('Nama') then
begin
EdtNama_Hasil.Text := Reg.ReadString('Nama');
end;
if Reg.ValueExists('Alamat') then
begin
EdtAlamat_Hasil.Text := Reg.ReadString('Alamat');
end;
end;
Finally
Reg.Free;
Inherited;
End;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
PnlEntri: TPanel;
Panel2: TPanel;
ListBox1: TListBox;
ListBox2: TListBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
ProgressBar1: TProgressBar;
Animate1: TAnimate;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
indexstr : byte;
bobot, progress : double;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i : Smallint;
begin
i := 1; ProgressBar1.Position := 0; progress := 0;
bobot := (1 / 200) * 100;
for i := 1 to 200 do
Begin
ListBox1.Items.Add(inttostr(i));
Application.ProcessMessages;
progress := progress + bobot;
ProgressBar1.Position := round(progress);
sleep(10); // ini sifatnya hanya untuk menunjukan adanya proses saja
End;
ShowMessage('Setup Selesai');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ListBox2.Items.Add(ListBox1.Items.Strings[ListBox1.ItemIndex]);
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ListBox1.Items.Add(ListBox2.Items.Strings[ListBox2.ItemIndex]);
ListBox2.Items.Delete(ListBox2.ItemIndex);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Animate1.Active := true;
Animate1.Play(1, 20,100);
Animate1.Visible := True;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Animate1.Active := False;
Animate1.Visible := False;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TeEngine, Series, TeeProcs, Chart, ExtCtrls, StdCtrls,
VclTee.TeeGDIPlus;
type
TForm1 = class(TForm)
Panel1: TPanel;
Chart1: TChart;
Series1: TBarSeries;
BtSimpan: TButton;
Label1: TLabel;
EdtnamaSales: TEdit;
Label2: TLabel;
EdtTarget: TEdit;
EdtPencapaian: TEdit;
Label3: TLabel;
procedure BtSimpanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtSimpanClick(Sender: TObject);
begin
// Series1.Clear;
Series1.AddBar(Strtofloat(EdtTarget.Text), EdtnamaSales.Text, clGreen);
Series1.AddBar(Strtofloat(EdtPencapaian.Text), 'Target', clYellow);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Timer1: TTimer;
Label1: TLabel;
MEjam: TMaskEdit;
Label2: TLabel;
EdtInterval: TEdit;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
interval : integer;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
MEjam.Text := TimeToStr(now);
inc(interval);
EdtInterval.Text := inttostr(interval);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
interval := 1;
end;
end.
Tidak ada koding karena semua perintah bisa dilakukan dari properties
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ExtDlgs;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
EdtNamaFileTxt: TEdit;
Label1: TLabel;
BtOpendialogfileTXT: TButton;
Memo1: TMemo;
Panel1: TPanel;
EdtNamaFileGambar: TEdit;
Label2: TLabel;
BtOpendialogfileGambar: TButton;
Image1: TImage;
OpenPictureDialog1: TOpenPictureDialog;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure BtOpendialogfileTXTClick(Sender: TObject);
procedure BtOpendialogfileGambarClick(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtOpendialogfileTXTClick(Sender: TObject);
begin
if OpenDialog1.Execute Then
Begin
EdtNamaFileTxt.Text := OpenDialog1.FileName;
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
End;
end;
procedure TForm1.BtOpendialogfileGambarClick(Sender: TObject);
begin
if OpenPictureDialog1.Execute Then
Begin
EdtNamaFileGambar.Text := OpenPictureDialog1.FileName;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
End;
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Image1.AutoSize := True;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Image1.Center := True;
end;
end.
Tugas diberikan secara online
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.ActnList, Vcl.StdCtrls,
System.Actions;
type
TForm2 = class(TForm)
Panel1: TPanel;
ActionList1: TActionList;
Edtnama: TEdit;
Edtalamat: TEdit;
Edthandphone: TEdit;
EdtEmail: TEdit;
BtSimpan: TButton;
BtCancel: TButton;
Bttutup: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Action1: TAction;
Action2: TAction;
procedure BttutupClick(Sender: TObject);
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure Batal;
Function Tutup : Boolean;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Action1Execute(Sender: TObject);
begin
Batal;
Edtnama.SetFocus;
end;
procedure TForm2.Action2Execute(Sender: TObject);
begin
Tutup;
end;
Procedure TForm2.Batal;
begin
Edtnama.Clear;
Edtalamat.Clear;
Edthandphone.Clear;
EdtEmail.Clear;
end;
Function TForm2.Tutup : Boolean;
begin
Close;
end;
procedure TForm2.BttutupClick(Sender: TObject);
begin
Tutup;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
BtTryexcept: TButton;
BtTryFinally: TButton;
Edit1: TEdit;
Panel2: TPanel;
Panel3: TPanel;
Memo5: TMemo;
Memo6: TMemo;
Memo7: TMemo;
procedure BtTryexceptClick(Sender: TObject);
procedure BtTryFinallyClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Var Nilai, Zero : Integer;
implementation
{$R *.dfm}
procedure TForm1.BtTryexceptClick(Sender: TObject);
begin
Zero := 0; Nilai := 0;
Try
Nilai := 1 div zero;
Except
on E : Exception do
ShowMessage(E.ClassName +' error '+ E.Message);
End;
end;
procedure TForm1.BtTryFinallyClick(Sender: TObject);
var s : tdate;
begin
Try
Try
s := strtodate('');
Finally
s := strtodate('01/01/2021');
Edit1.Text := DateToStr(s);
End;
Except
end;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, DB, ADODB, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
Label1: TLabel;
MemoPerintahSQL: TMemo;
BtGo: TButton;
DBGrid1: TDBGrid;
BtSetkolom: TButton;
Panel3: TPanel;
Panel4: TPanel;
Memo8: TMemo;
procedure BtGoClick(Sender: TObject);
procedure BtSetkolomClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtGoClick(Sender: TObject);
begin
ADODataSet1.Close;
ADODataSet1.CommandText := MemoPerintahSQL.Text;
ADODataSet1.Open;
end;
procedure TForm1.BtSetkolomClick(Sender: TObject);
var kol, i : byte;
begin
kol := DBGrid1.Columns.Count -1;
i := 1;
for i := 1 to kol do
Begin
DBGrid1.Columns[i].Width := 100;
End;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, DB, Grids, DBGrids, ADODB, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
ADOConnection1: TADOConnection;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Panel2: TPanel;
Label2: TLabel;
ADOTable1: TADOTable;
BtTunjuk: TButton;
Edit1: TEdit;
Panel3: TPanel;
EdtNomorWA: TEdit;
EdtProvider: TEdit;
EdtKota: TEdit;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure BtTunjukClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtTunjukClick(Sender: TObject);
begin
if ADOTable1.Active=false Then ADOTable1.Open;
if ADOTable1.Locate('nama_kontak',edit1.Text,[loCaseInsensitive]) Then
Begin
EdtNomorWA.Text := ADOTable1.fieldbyname('nomor_WA').AsString;
EdtProvider.Text := ADOTable1.fieldbyname('provider').AsString;
EdtKota.Text := ADOTable1.fieldbyname('kota').AsString;
ShowMessage('Data nama ditemukan');
End else
Begin
ShowMessage('Data nama TIDAK ditemukan');
End;
end;
end.
Di Praktekkan secara visual
Di Praktekkan secara visual
Di Praktekkan secara visual
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, DB, Grids, DBGrids, ADODB, ExtCtrls, StdCtrls, Mask;
type
TForm1 = class(TForm)
Panel1: TPanel;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
BtSimpan: TButton;
METanggal: TMaskEdit;
EdtNamaKOntak: TEdit;
EdtnomorWA: TEdit;
CmbProvider: TComboBox;
CmbKota: TComboBox;
BtKoreksi: TButton;
BtHapus: TButton;
procedure BtHapusClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure BtKoreksiClick(Sender: TObject);
procedure BtSimpanClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtHapusClick(Sender: TObject);
var isipesan : string;
begin
isiPesan := 'Apakah anda yakin akan menghapus kontak '+ADODataSet1.fieldbyname('nama_kontak').asstring +' ?';
if Application.MessageBox(Pchar(isipesan), 'Peringatan', MB_YESNO )=id_yes Then
Begin
ADODataSet1.Delete;
End;
end;
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
METanggal.Text := ADODataSet1.fieldbyname('tanggal_terdaftar').AsString;
EdtNamaKOntak.Text := ADODataSet1.fieldbyname('nama_kontak').AsString;
EdtnomorWA.Text := ADODataSet1.fieldbyname('nomor_wa').AsString;
CmbProvider.Text := ADODataSet1.fieldbyname('Provider').AsString;
CmbKota.Text := ADODataSet1.fieldbyname('kota').AsString;
end;
procedure TForm1.BtKoreksiClick(Sender: TObject);
var isipesan : string;
begin
isiPesan := 'Apakah anda yakin akan mengoreksi '+ ADODataSet1.fieldbyname('nama_kontak').asstring +' ?';
if Application.MessageBox(Pchar(isipesan), 'Peringatan', MB_YESNO )=id_yes Then
Begin
ADODataSet1.Edit;
ADODataSet1.fieldbyname('tanggal_terdaftar').AsString := METanggal.Text;
ADODataSet1.fieldbyname('nama_kontak').AsString := EdtNamaKOntak.Text;
ADODataSet1.fieldbyname('nomor_wa').AsString := EdtnomorWA.Text;
ADODataSet1.fieldbyname('Provider').AsString := CmbProvider.Text;
ADODataSet1.fieldbyname('kota').AsString := CmbKota.Text;
ADODataSet1.Post;
ShowMessage('Data telah berhasil di koreksi');
End;
end;
procedure TForm1.BtSimpanClick(Sender: TObject);
begin
ADODataSet1.Append;
ADODataSet1.fieldbyname('tanggal_terdaftar').AsString := METanggal.Text;
ADODataSet1.fieldbyname('nama_kontak').AsString := EdtNamaKOntak.Text;
ADODataSet1.fieldbyname('nomor_wa').AsString := EdtnomorWA.Text;
ADODataSet1.fieldbyname('Provider').AsString := CmbProvider.Text;
ADODataSet1.fieldbyname('kota').AsString := CmbKota.Text;
ADODataSet1.Post;
ShowMessage('Data telah berhasil di ditambahkan');
end;
end.
Di Praktekkan secara visual (Online)
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus, Vcl.ComCtrls, Vcl.Buttons,
Vcl.ExtCtrls, Data.DB, DBAccess, MyAccess, MemDS;
type
TForm1 = class(TForm)
Image1: TImage;
Panel1: TPanel;
Panel2: TPanel;
SBLogin: TSpeedButton;
SBLogoff: TSpeedButton;
SBKeluar: TSpeedButton;
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
System1: TMenuItem;
Login1: TMenuItem;
N1: TMenuItem;
Logoff1: TMenuItem;
N2: TMenuItem;
Keluar1: TMenuItem;
ransaksi1: TMenuItem;
Pembelian1: TMenuItem;
penjualan1: TMenuItem;
Retur1: TMenuItem;
Pembelian2: TMenuItem;
Penjualan2: TMenuItem;
Laporan1: TMenuItem;
Pembelian3: TMenuItem;
penjualan3: TMenuItem;
Master1: TMenuItem;
Pelanggan1: TMenuItem;
Pemasok1: TMenuItem;
Karyawan1: TMenuItem;
Perusahaan1: TMenuItem;
Profil1: TMenuItem;
HakAkses1: TMenuItem;
HakAkses2: TMenuItem;
Menu2: TMenuItem;
Form2: TMenuItem;
MyConnection1: TMyConnection;
MyDataSource1: TMyDataSource;
MyQuery1: TMyQuery;
procedure Keluar1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
userid : String;
implementation
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
begin
userid := 'Mdy';
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('Select * from t_user_akses_menu where userid='''+ Userid +''' ');
MyQuery1.Open;
System1.Enabled := False;
Login1.Enabled := False;
Logoff1.Enabled := False;
Keluar1.Enabled := False;
while not MyQuery1.Eof do
begin
if MyQuery1.FieldByName('nama_menu').AsString = 'System' then
begin
System1.Enabled := True;
end;
if MyQuery1.FieldByName('alias_nama_menu').AsString = 'Login1' then
begin
Login1.Enabled := True;
end;
if MyQuery1.FieldByName('alias_nama_menu').AsString = 'Logoff1' then
begin
Logoff1.Enabled := True;
end;
if MyQuery1.FieldByName('alias_nama_menu').AsString = 'Keluar1' then
begin
Keluar1.Enabled := True;
end;
MyQuery1.Next;
end;
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('Select * from t_user_akses_form where userid='''+ Userid +''' ');
MyQuery1.Open;
while not MyQuery1.Eof do
begin
if MyQuery1.FieldByName('Nama_form').AsString = 'Penawaran' then
begin
if MyQuery1.FieldByName('is_baru').AsString = 'Ya' then
begin
// BtBaru.Enabled := True;
end;
if MyQuery1.FieldByName('is_koreksi').AsString = 'Ya' then
begin
// BtKoreksi.Enabled := True;
end;
if MyQuery1.FieldByName('is_simpan').AsString = 'Ya' then
begin
// BtSimpan.Enabled := True;
end;
if MyQuery1.FieldByName('is_cari').AsString = 'Ya' then
begin
// BtCari.Enabled := True;
end;
if MyQuery1.FieldByName('is_cetak').AsString = 'Ya' then
begin
// BtCetak.Enabled := True;
end;
if MyQuery1.FieldByName('is_acc').AsString = 'Ya' then
begin
// BtAcc.Enabled := True;
end;
end;
MyQuery1.Next;
end;
end;
procedure TForm1.Keluar1Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
Di praktekkan saat online
Di praktekkan saat online
Di praktekkan saat online
Di praktekkan saat online