Tampilkan postingan dengan label Trik Delphi. Tampilkan semua postingan
Tampilkan postingan dengan label Trik Delphi. Tampilkan semua postingan

Kamis, 01 Januari 2015

Cara Buka File Excel menggunakan Delphi XE5

Dipostingan penulis kali ini akan berbagi bagaimana cara membuka file excel agar bisa tampil ke delphi dengan bantuan listview, ibarat katakita mengekstrak isi excel dan menginputkan ke listview caranya cukup simple karena cukup mengkopi saja sebuah fungsi. Selahkan cermati langkah-langkahnya..

Langkah 1 :
Silahkan Buka Delphi XE5

Langkah 2 :
Siapkan sebuah form dan yang pasti kita butuh komponen ListView yang bisa temukan pada Win 32, kita juga butuh sebuah OpenDialog, yang bisa di temukan pada Dialogs, untuk membuka file dan tombol tentunya, serta silahkan tambahkan pernak-pernik biar tambah siip, dan desain form yang penulis buat tampak seperti gambar berikut :

Langkah 3 :
Sekarang klik ListView dan set tiga propertis berikut seperti gambar dibawah ini :

Langkah 4 :
Kita setting bagian ReadOnly, RowSelect, dan ViewStyle sesuai gambar.

Keterangan :
readonly tentu saja supaya listview tidak bisa diedit isinya.
RowSelect supaya saat kursor masuk ListView dia menyorot baris bukan cell, 

Langkah 5 :
Sekarang kita menyiapkan data excel seperti berikut ini :


Langkah 6 :
Selanjutya kita akan tambahkan klausa uses ComObj, karena nanti kita akan gunakan untuk memanipulasi aplikasi excel.

Langkah 7 :
Setelah menambahkan uses tersebut tuliskan tambahkan source code berikut :
Procedure TForm1.bacaexcel(SheetIndex:integer);
Var
 Xlapp1, Sheet :Variant ;
 i, MaxRow, MaxCol,x,y :integer ;
 Temp,Lokasi :string;
 Baris :TListItem;
begin
 Lokasi := OpenDialog1.FileName;
 XLApp1 := CreateOleObject('excel.application');
 XLApp1.Workbooks.open(Lokasi) ;
 Sheet := XLApp1.WorkSheets[SheetIndex] ;
 MaxRow := Sheet.Usedrange.EntireRow.count ;
 MaxCol := sheet.Usedrange.EntireColumn.count;
 ListView1.Columns.Clear;
for i:=1 to MaxCol do
 begin
 ListView1.Columns.Add.Caption:=Sheet.Cells.Item[1,i].value;
 end;
 for x:=2 to MaxRow do
 begin
 Baris:=ListView1.Items.add;
 Baris.Caption:=Sheet.Cells.Item[x,1];
 for y:=2 to MaxCol do
 begin
 Baris.SubItems.Add('');
 Temp:=Sheet.Cells.Item[x,y];
 ListView1.Items[x-2].SubItems.Strings[y-2]:=Temp
 end;
 end;
 XLApp1.Workbooks.Close;
end;

Langkah 8 :
Pada Bagian button yang digunakan untuk membuka file tambahakan source code berikut ini :
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Edit1.Text:=OpenDialog1.FileName;
bacaexcel(1);
end;
end;

Langkah 9 :
Jalankan aplikasi dengan klik run, hasilnya seperti gambar dibawah :

Read More

Cara Tambah Icon Pada Status Bar di Delphi XE5

Kali ini penulis akan mencoba membuat trik desain untuk mempercantik aplikasi yang kita buat, yaitu dengan memberikan icon-icon atau gambar pada statusbar aplikasi, biasanya disana kan ada indikasi koneksi database, tanggal, jam, user aktif dan lain sebaginya untuk mempercantik tampilan tersebut kita bisa gunakan trik ini.

Pada posting kali ini penulis menggunakan TsAlphaImageList dari alphacontrol (pakek imageList juga bisa) bagi yang ingin mengistall AlphaControl silahkan disini, dan yang perlu diperhatikan adalah pengaturan properities size (Width dan Height) gambarnya jadi sebesar atau sekecil apapun gambar yang kita masukkan list akan dikonvert sesuai ukuran oleh komponen, kalau untuk statusbar kita bisa menggunkan standart bawaan delphi.

Langkah 1 :
Buka terlebih dahulu Delphi XE5

Langkah 2 :
Pasangkan sebuah komponen statusbar pada Main Form aplikasi kita, serta sebuah komponen ImageList, seperti pada gambar di berikut :

Langkah 3 :
Setelah itu set properties Height dan Width menjadi 16 pada imagelist, kemudian masukan gambar sesuai yang diinginkan, Seperti gambar berikut :

Langkah 4 :
Sekarang kita buat  setting pada Statusbar, pada contoh penulis menggunakan 8 panel, dan penulis akan jadikan panel genap tempat icon, sedang panel ganjil informasi text nya, pada panel genap (0,2, 4 dan 6) kita ubah properties Style nya menjadi PsOwnerDraw, sedangkan untuk properties hegiht pada statusbar saya gunakan nilai 23, perhatikan gambar berikut :

Langkah 5 :
Ketik source code berikut ke event onDrawPanel :
procedure TForm1.sStatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
sAlphaImageList1.Draw(StatusBar.Canvas, Rect.Left+5, Rect.Top+2, Panel.Index) ;
end;

Penjelasan :
+5 dan +2 bisa kita ubah dan sesuaikan agar gambar/icon bisa tepat di tengah panel.

Langkah 6 :
Sekarang Run aplikasi dan kita bisa membuat icon pada statusbar seperti pada gambar dibawah  ini:
Read More

Selasa, 30 Desember 2014

Membuat Enskripsi dan Deskripsi di Delphi XE5

Penulis akan share cara enkripsi dan deskripsi yang berfungsi untuk menyamarkan password pada database jika database bisa dibuka user. cara ini kita bisa customize hash yang kita buat dengan merubah nilai yang  ada didalam funsinya.

Langkah 1 :
Tulis source code berikut ini :
//Fungsi Enskripsi (Tulis)
Function Encrypt(const InString:string; StartKey,MultKey,AddKey:Integer):string;
var
I : Byte;
begin
Result := '';
      for I := 1 to Length(InString) do
      begin
      Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
      StartKey := (Byte(Result[I]) + StartKey) * MultKey + AddKey;
      end;
end;

Langkah 2 :
Tulis source code berikut ini :
//Fungsi Deskripasi (Baca)
Function Decrypt(const InString:string; StartKey,MultKey,AddKey:Integer):string;
var
I : Byte;
begin
Result := '';
    for I := 1 to Length(InString) do
    begin
    Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
    StartKey := (Byte(InString[I]) + StartKey) * MultKey + AddKey;
    end;
end;

Langkah 3 :
Untuk Cara pemakaian fungsi-fungsi diatas dengan cara berikut ini :
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text:=Encrypt(Edit1.Text,5,8,1);
// nilai 3,2,1 bisa dirubah-rubah sesuai keinginan
Edit3.Text:=Decrypt(Edit1.Text,5,8,1);
//saat men deskrip nilai 3,2,1 harus sama dengan nilai saat enskripnya
end;

Langkah 4 :
Hasilnya akan seperti berikut ini :

Read More

Membuka PDF di Delphi XE5

Pada postingan kali ini penulis akan menjelaskan cara membuka pdf lewat delphi xe5, ok langsung saja kita akan lakukan langkah-langkah berikut :

Langkah 1 :
Komponen yang diperlukan seperti berikut ini :
1. OpenDialog (Dialogs)
2. Edit (Standard)
3. Button (Standard)
4. WebBrowser (Internet)

Setelah itu susun pada sebuah form dalam project baru, kira kira seperti tampilan dibawah ini:
Logikanya seperti berikut :
Kita klik tombol buka dan setelah itu kita mencari file PDF yang ingin di tampilkan setelah itu di pilih akan tampil di form.

Langkah 2 :
Jika sudah membentuk seperti form diatas, kita isikan properties Filter pada open dialog seperti dibawah ini, tujuanya untuk memfilter agar file PDF saja yang nanti bisa dipilih oleh user.

Langkah 3 :
Jika sudah, maka kita cukup masukan source code di bawah ini pada button buka :
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
Edit1.Text:=OpenDialog1.FileName;
WebBrowser1.Navigate(Edit1.Text);
end;

Langkah 4 :
Jika sudah jalankan Aplikasi yang kita buat, tekan tombol buka, dan pilih dimana file PDF berada, seperti berikut ini :

Read More

Menulis dan Membaca Ini Files pada Delphi XE5 (Pendalaman)

Sebelumnya penulis sudah membahas ini dalam posting sebelumnya, bagi yang belum baca silahkan klik disini dan kali ini penulis akan memperdalam pembahasan ini agar kita dapat menyimpan dan membaca data di ini files yang secara otomatis akan dibuat oleh program delphi xe5. Sebenarnya ini files adalah sebuah catatan configurasi untuk suatu program, pada postingan ini penulis fokuskan pada cara menulis dan membaca data di ini files.

Langkah 1 :
Pertama buat sebuah form seperti ini dibawah ini :

Langkah 2 :
Di sini ada 3 label, 3 edit, 2 button dan 1 listbox yang semua ada di standart dan edit value untuk kolom pengisiannya menjadi Enama, Ealamat dan Etelp kemudian 2 button yaitu btntulis dan btnbaca.

Langkah 3 :
Tambahkan IniFiles pada Klausa Uses

Langkah 4 :
Klik double button tulis dan tulis seperti di bawah :
procedure TForm1.BtnTulisClick(Sender: TObject);
var
Myini : TIniFile;
begin
myini := tinifile.Create(ExtractFilePath (Application.exename)+'IniFile-Baguscakepz.ini');
myini.WriteString('pengaturan','nama', ENama.text);
myini.WriteString('pengaturan','alamat',EAlamat.text);
myini.WriteString('pengaturan','telp',ETelp.text);
myini.Free;
end;

Keterangan :
myini := Tinifile.create adalah membuat file.ini
extractfilepath adalah direktory tempat penyimpanan file tersebut, jika hanya dituliskan seperti itu maka inifile akan ada pada direktory tempat project/program disimpan.
IniFile-Baguscakepz.ini adalah nama ini file yang akan kita simpan.
myini.writestring adalah tahapan dimana kita menulis isi dari ini file..
'pengaturan' adalah judul dari isi inifile.

Langkah 5 :
Klik double button baca dan isikan source code berikut :
procedure TForm1.BtnBacaClick(Sender: TObject);
var
myini:tinifile;
begin
myini := tinifile.Create(extractfilepath (application.exename)+'IniFile-Baguscakepz.ini');
listbox1.Items.Add (myini.ReadString('pengaturan','nama','ga ada isinya'));
listbox1.Items.Add (myini.ReadString('pengaturan','alamat','ga ada isinya'));
listbox1.Items.Add (myini.ReadString('pengaturan','telp','ga ada isinya'));
myini.Free;
end;

Langkah 6 :
Sekarang uji coba, klik tombol run (F9), secara berurutan seperti berikut :

Read More

Senin, 29 Desember 2014

Penjelasan Fungsi Shell di Delphi XE5

Shell adalah suatu aplikasi yang mampu mengendalikan aplikasi lain dalam sebuah sistem operasi Microsoft Windows. Shell mampu mengendalikan aplikasi lain dalam hal membuka file/folder, mencetak file, menjalankan file executable dll. Sedangkan Shell Programming adalah suatu pemrograman yang menghasilkan suatu aplikasi yang dapat mengendalikan aplikasi lain.

Pada Delphi, shell dideklarasikan menjadi beberapa fungsi yang berbeda. Ada 11 fungsi shell yang tercantum dalam Shell Library Functions yaitu :
-> DragAcceptFiles
-> DragFinish
-> DragQueryFile
-> DragQueryPoint
-> ExtractAssociatedIcon
-> ExtractIcon
-> ExtractIconEx
-> FindExecutable
-> ShellAbout
-> ShellExecute
-> ShellExecuteEx

Karena keterbatasan pengetahuan penulis maka implementasi dari fungsi-fungsi shell tidak akan dibahas semua. Namun yang pasti fungsi-fungsi yang dibahas disini adalah fungsi shell yang penting dan umum digunakan didalam pembuatan aplikasi. Untuk menggunakan fungsi-fungsi shell dalam delphi, kita perlu mendeklarasikan file header ( file library yang berisi fungsi-fungsi shell ) terlebih dahulu, supaya delphi mengkompile file header tersebut bersama dengan file aplikasi yang kita buat sehingga fungsi-fungsi shell tersebut berjalan. File library yang dimaksud adalah ShellApi.h, untuk mendeklarasikannya cukup dengan menambahkanShellApi pada klausa uses.

Uses ShellApi,Windows, Messages, SysUtils, .....;

atau bisa juga di bawah klausa Implementation

Implementation
uses ShellApi;

Berbagai source code shell :

- Menjalankan program aplikasi tertentu :
ShellExecute(handle, 'open', Pchar('C:\BagusSoft.exe'),0,0,SW_SHOW);

- Menjalankan Notepad dan membuka sebuah file dokumen
ShellExecute(handle,'open','notepad.exe',Pchar('C:\unit1.pas'),0, SW_SHOW);

- Mencetak file dokumen
ShellExecute(handle,'print',Pchar('C:\latihan.txt'),0,0,SW_SHOW);

- Membuka browser dengan alamat URL tertentu
ShellExecute(handle,'open',Pchar('http://www.qmpctutorial.com'),nil,nil, SW_SHOW);

- Mengeksplore folder dengan Windows Eksplorer
ShellExecute(handle,'explore',PChar('C:\WINDOWS'),nil,nil,SW_SHOW)

- Menjalankan sebuah perintah DOS
ShellExecute(handle, 'open', PChar('command.com'),
PChar('/c copy file1.exe file2.exe'),nil,SW_SHOW);
Read More

Membuat *.Ini File Di Delphi XE5

Apakah pembaca tahu apa itu file *.Ini atau File ini/File Configurasi? Ini File digunakan untuk menyimpan Properties-Properties dari komponent-komponent yang terakhir kali di atur oleh pengguna,, semisal kita membuat aplikasi text editor dan pengguna mengubah font dari arial menjadi times new roman setelah itu pengguna keluar dari aplikasi dan pengguna kembali membuka aplikasi yang tadi maka font akan tetap menjadi font arial saat kita membuat aplikasi tersebut. Dan di tutorial Delphi XE5 kali ini penulis akan mencoba share bagaimana cara membuat file .ini di Delphi XE5.

Langkah 1 :
Buka Delphi XE5

Langkah 2 :
Tambahkan Sebuah Component Edit dan satu Component Button, hasilnya akan terlihat seperti berikut ini :
Langkah 3 :
Setelah itu pada klausa Uses tambahkan IniFiles

Langkah 4 :
Sekarang kita akan mengetikkan source code berikut di event oncreate :
procedure TForm1.FormCreate(Sender: TObject);
var
appINI : TIniFile;
LastUser : string;
LastDate : TDateTime;
begin
appINI := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
LastUser := appINI.ReadString('Pengguna','Terakhir',LastUser) ;
LastDate := appINI.ReadDate('Pengguna', 'Tanggal', Date) ; ShowMessage('Program ini terakhir dipakai oleh: ' + LastUser + ' on ' + DateToStr(LastDate));
Top := appINI.ReadInteger('Penempatan','Top', Top) ;
Left := appINI.ReadInteger('Penempatan','Left', Left);
Width := appINI.ReadInteger('Penempatan','Width', Width);
Height := appINI.ReadInteger('Penempatan','Height', Height);
finally
appINI.Free;
end;
end;

Langkah 5 :
Sekarang pada event onclose samakan dengan source code ini :
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
appINI : TIniFile;
begin
appINI := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
appINI.WriteString('Pengguna','Terakhir',Edit1.Text) ;//Edit1.text sebagai variable string appINI.WriteDate('Pengguna', 'Tanggal', Date) ;
with appINI, Form1 do begin
WriteInteger('Penempatan','Top', Top) ;
WriteInteger('Penempatan','Left', Left) ;
WriteInteger('Penempatan','Width', Width) ;
WriteInteger('Penempatan','Height', Height) ;
end;
finally
appIni.Free;
end;
end;

Langkah 6 :
Sekarang pada button klik double dan ketikkan ini :
Close;

Langkah 7 :
Hasilnya akan seperti ini:

Langkah 8 :
Lihat difolder .exe sudah ada file baru yang bernama ini.ini dan kita coba buka isi dari file ini.ini

Read More

Mengakses File txt di Delphi XE5

Pada tutorial kali ini penulis akan menjelaskan tentang bagaimana cara mengakses file yang berekstesi .txt, langkah-langkahnya seperti berikut ini :
Langkah 1 :
Pertama yang harus dilakukan yaitu dengan membuat file txt dan di tempatkan dalam satu folder dengan aplikasi yang akan kita buat contohnya seperti berikut ini :
Langkah 2 :
Simpan file txt dengan nama file-txt.txt dan diletakkan di dalam folder project.

Langkah 3 :
Selanjutnya yaitu membuat aplikasi yang dapat mengakses file txt dan membaca isi di dalam file txt tersebut.

Langkah 4 :
Tambahkan komponen button dan memo dan tempatkan di dalam form. Hasilnya seperti berikut ini :

Langkah 5 :
Kemudian klik dua kali pada komponen button dan ketikan source code berikut ini :
procedure TForm1.Button1Click(Sender: TObject);
var
myFile : TextFile;
text : string;
begin
AssignFile(myFile, 'file-txt.txt');
Reset(myfile) ;
Memo1.Clear;
while not Eof(myFile) do
begin
ReadLn(myFile, text);
Memo1.Lines.Add(text);
end;
CloseFile(myFile);
end;

Langkah 6 :
Simpan aplikasi yang kita buat dan di simpan satu folder dengan file txt yang kita buat tadi. setelah itu run aplikasi yang kita buat. ketika di jalankan dan button di klik maka isi yang ada di dalam file txt akan di salin dan dimasukkan ke dalam memo dan hasilnya seperti berikut ini :
Read More

Minggu, 28 Desember 2014

Membuat File Excel tanpa OLE di Delphi XE5

Dibawah ini adalah fungsi dan prosedur untuk membuat file excel di dalam Delphi XE5, silahkan dirangkai sendiri ya :D

const
  CXlsBof: array[0..5] of Word = ($809, 8, 00, $10, 0, 0);
  CXlsEof: array[0..1] of Word = ($0A, 00);
  CXlsLabel: array[0..5] of Word = ($204, 0, 0, 0, 0, 0);
  CXlsNumber: array[0..4] of Word = ($203, 14, 0, 0, 0);
  CXlsRk: array[0..4] of Word = ($27E, 10, 0, 0, 0);
procedure XlsBeginStream(XlsStream: TStream; const BuildNumber: Word);
begin
  CXlsBof[4] := BuildNumber;
  XlsStream.WriteBuffer(CXlsBof, SizeOf(CXlsBof));
end;
procedure XlsEndStream(XlsStream: TStream);
begin
  XlsStream.WriteBuffer(CXlsEof, SizeOf(CXlsEof));
end;
procedure XlsWriteCellRk(XlsStream: TStream; const ACol, ARow: Word; const AValue: Integer);
var
  V: Integer;
begin
  CXlsRk[2] := ARow;
  CXlsRk[3] := ACol;
  XlsStream.WriteBuffer(CXlsRk, SizeOf(CXlsRk));
  V := (AValue shl 2) or 2;
  XlsStream.WriteBuffer(V, 4);
end;
procedure XlsWriteCellNumber(XlsStream: TStream; const ACol, ARow: Word; const AValue: Double);
begin
  CXlsNumber[2] := ARow;
  CXlsNumber[3] := ACol;
  XlsStream.WriteBuffer(CXlsNumber, SizeOf(CXlsNumber));
  XlsStream.WriteBuffer(AValue, 8);
end;
procedure XlsWriteCellLabel(XlsStream: TStream; const ACol, ARow: Word; const AValue: string);
var
  L: Word;   
begin
  L := Length(AValue);
  CXlsLabel[1] := 8 + L;
  CXlsLabel[2] := ARow;
  CXlsLabel[3] := ACol;
  CXlsLabel[5] := L;
  XlsStream.WriteBuffer(CXlsLabel, SizeOf(CXlsLabel));
  XlsStream.WriteBuffer(Pointer(AValue)^, L);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  FStream: TFileStream;
  I, J: Integer;
begin
  FStream := TFileStream.Create('J:\e.xls', fmCreate);
  try
    XlsBeginStream(FStream, 0);
    for I := 0 to 99 do
      for J := 0 to 99 do
      begin
        XlsWriteCellNumber(FStream, I, J, 34.34);
       // XlsWriteCellRk(FStream, I, J, 3434);
       // XlsWriteCellLabel(FStream, I, J, Format('Cell: %d,%d', [I, J]));
      end;
    XlsEndStream(FStream);
  finally
    FStream.Free;
  end;
end;
Read More

Sabtu, 20 Desember 2014

Cara Membuat Update Aplikasi Otomatis Lewat Internet dengan Delphi XE5

Sebagaimana yang telah penulis sebutkan dibuku ke-2 penulis yang berjudul "Membuat Program Basic DLL dengan Delphi XE5 : Studi Kasus Rental Mobil", untuk mendapatkan informasi melalui internet, aplikasi bisa menggunakan koneksi http – sebagaimana layaknya browser Mozilla atau Google Chrome – yang diarahkan pada suatu halaman situs dimana kita meletakkan informasi versi terbaru. Dengan demikian Anda mesti mempunyai website di internet sebagai sumber informasi versi terbaru bagi aplikasi pembaca.

Untuk sementara, penulis telah menyediakan informasi versi aplikasi di website penulis yang dapat diakses dengan mengetikkan alamat url http://qmpctutorial.com/version.htm pada browser.

Sebagai Latihan :
Sebagai latihan lakukan langkah-langkah berikut ini :

Langkah 1 :
Buatlah suatu aplikasi dengan satu form, kemudian tambahkan komponen TPanel, TIdHTTP yang terletak di Tab Indy Clients, dan komponen TMemo.

Langkah 2 :
Ganti nama komponen TMemo menjadi lstGet,  nama komponen form menjadi FrmUpdateAplikasi, kemudian simpan unit dengan nama UFrmUpdateAplikasi.pas.

Langkah 3 :
Set property Caption dari form menjadi Bagus Soft – Update Aplikasi.

Langkah 4 :
Set property align dari komponen TPanel menjadi alBottom, BevelInner menjadi bvLowered, BevelOuter menjadi bvNone. 

Langkah 5 :
Tambahkan ShellAPI pada deklarasi uses. Penambahan ini memungkinkan kita untuk memanggil fungsi ShellExecute.  

Langkah 6 :
Deklarasikan konstanta dengan nama CURRENT_VERSION isikan nilai '1.0.1.124'. Sebagai penanda bahwa aplikasi saat ini mempunya versi 1.0.1.124.

Langkah 7 :
Isikan kode berikut pada event  OnActivate  dari form.
Source code ada di buku ke 2 penulis

Langkah 8 :
Pembaca bisa mendapatkan source code tersebut di folder \Source Code\Update Aplikasi pada CD penyerta buku ke 2 penulis. Dan jika aplikasi kita jalankan akan seperti gambar berikut ini :

Langkah 9 :
Selamat mencoba :D
Read More

Selasa, 16 Desember 2014

Membuat Laporan Berdasarkan Kategori Tertentu Pada Delphi XE5 Bag. 2

Pada Bagian 2 ini akan dibahas desain dan pembuatan laporan step by step. Bagi anda yang belum membaca bagian 1 bisa klik disini. Ok untuk langkah-langkahnya seperti berikut ini :

Langkah 1 :
Silahakan buat sebuah project baru pada Delphi XE5 dan tambahkan :
1. ADOConnection dan ADOTable yang ada pada ADO,
2. FrxReport dan FrxDBDataset yang ada pada Fastreport.
3. Button, yang ada pada Standart
4. DataSource dan DBGrid, yang ada pada Data Access & Data Controls

Langkah 2 :
Hasilnya akan seperti berikut ini :
Langkah 3 :
Koneksikan ADOConnection1 ke Data.mdb yang telah kita buat tadi. Penulis sangat menyarankan pada saat desain Laporan, koneksi dibuat active atau terkoneksi karena data pada laporan susah diatur jika harus di Run setiap melihat data. Jika sudah, Atur juga AdoTable ke Table Transaksi. Data Source ke AdoTable dan DBGRid ke datasource. Jika sudah tentunya sekarang DBGrid kita sudah menampilkan data.

Langkah 4 :
Untuk membuat laporan dengan group header pada Fastreport kita harus membuat suatu pengelompokan yang unik. Karena di IDE fastreport nanti, pembacaan dilakukan otomatis. Sekarang tujuan kita adalah membuat laporan tahunan yang dibagi perbulan, maka kita buat pengelompokan pada bulan. Cara membuat pengelompokan yang paling mudah membuat field baru bisa dengan query tapi kali ini kita akan membuat dengan CalcField.

Langkah 5 :
Bersambung ke bagian 3 :D



Read More

Senin, 15 Desember 2014

Membuat Laporan Berdasarkan Kategori Tertentu Pada Delphi XE5 Bag. 1

Pada bagian 1 ini penulis akan menjelaskan pembuatan database terlebih dulu, dalam kasus ini access yang akan dipakai oleh penulis dan penulis akan menggunakan fast report di dalam pembuatan laporan berdasarkan kategori, untuk studi kasus penulis akan membuat studi kasus laporan tahunan penjualan yang dijadikan per bulan. Ok tidak perlu panjang lebar, berikut ini langkah pembuatannya :

Langkah 1 :
Buat sebuah Database di Access, disini penulis akan membuatnya dengan Access 2013, dan penulis menganggap pembaca sudah mengerti dalam pembuatan database di access 2013.

Database kita beri nama data.mdb. dengan sebuah Table transaksi. Field silahkan dilihat pada gambar dibawah ini :

Langkah 2 :
Isi database dengan data-data. (Usahakan per bulan ada datanya, supaya nanti terlihat disaat laporan sudah jadi)

Langkah 3 :
Jika sudah diisi datanya maka akan seperti berikut ini :

Langkah 4 :
Bersambung ke Bagian 2 :D
Read More

Format Currency Pada Tedit Delphi XE5

Dalam pembacaan bilangan, format sangat mempermudah, angka yang dituliskan 123456789 akan lebih sulit dibaca ketimbang 123.456.789. Pada tutorial kali ini penulis akan mencoba membuat 1 procedure dan function untuk membuat format yang berfungsi jika TEdit diketik secara otomatis mengubah menjadi bilangan berformat currency dan function untuk menghapus format currency ke format biasa.

Langkah 1 :
Buka Delphi XE5, buat sebuah project, kemudian tambahkan procedure ini sebelum {$R *.dfm}
procedure ribuanrp(edit : Tedit);
var
 sRupiah: string;
 iRupiah: Currency;
begin
 //ribuan --> currency ( menyesuaikan setting windows )
 sRupiah := edit.Text;
 sRupiah := StringReplace(sRupiah,',','',[rfReplaceAll,rfIgnoreCase]); // hilangkan char koma , pemisah //ribuan selain IDR
 sRupiah := StringReplace(sRupiah,'.','',[rfReplaceAll,rfIgnoreCase]); //remove char titik . pemisah //ribuan IDR
 iRupiah := StrToCurrDef(sRupiah,0); // convert srupiah ke currency
//currency --> format ribuan
 edit.Text := FormatCurr('#,###',iRupiah);
 edit.SelStart := length(edit.text);
end;
function hapusribuan(edit : Tedit): string;
var hasil : string;
begin
 hasil := edit.text;
 hasil := StringReplace(hasil,',','',[rfReplaceAll,rfIgnoreCase]);
 hasil := StringReplace(hasil,'.','',[rfReplaceAll,rfIgnoreCase]);
 hapusribuan := hasil;
end;

Langkah 2 :
Selanjutnya untuk menggunakan Format currency kita cukup menuliskan seperti berikut ini :
ribuanrp(edit1);

Langkah 3 :
Hasilnya seperti berikut ini :

Langkah 4 :
Semalat mencoba :D
Read More

Kamis, 04 Desember 2014

Lingkungan Kerja Delphi XE5

Membangun sebuah aplikasi menggunakan Delphi berarti bekerja dengan satu lingkungan terpadu yang di namakan Delphi IDE (Integrated development environment), IDE ini meliputi beberapa form yang berguna dalam mendukung aktivitas pemograman yang kita lakukan. Ketika pertama kali kita menjalankan program Delphi, maka kita akan memperoleh tampilan seperti berikut ini :

Untuk yang terbiasa menggunakan Delphi versi yang lama dan kurang nyaman dengan tampilan versi baru, pembaca juga bisa mengubah tampilan layout klasik untuk mengkonversi layout baru ke layout yang lama (Delphi 5,6,7).

Form Menu
Form ini adalah utama dari IDE Delphi XE5. Berfungsi melalui menu-menunya untuk mengakses seluruh utilitas yang di sediakan Delphi baik yang berhubungan dengan pembuatan aplikasi, pengaturan file, konfigurasi file IDE, konfigurasi compiler dan banyak settingan yang lainnya.

Form Designer
Form ini juga merupakan salah satu form utama IDE Delphi XE5, khususnya untuk pemogramman aplikasi berbasis windows. Fungsi utamanya adalah menjadi object parent bagi komponen-komponen Delphi lainnya pada saat mendesain form, akan terdapat garis titik-titik yang disebut Grid. Grid sangat berguna untuk membantu pengaturan tata letak object yang digambarkan kedalam form.

Tool Pallette
Bekerja dengan Delphi berarti bekerja pula dengan menggunakan peralatan yang telah disediakan oleh Delphi XE5. Peralatan-peralatan tersebut selanjutnya kita sebut dengan komponen, Component Palette berisi kumpulan icon yang melambangkan komponen-komponen pada VCL (Visual Component Library). VCL adalah merupakan pustaka komponen yang dapat membangun sebuah aplikasi. Pada Component Palette, terdapat beberapa tab, yaitu Standard, Additionals, Data Access, Data Controls dan lain sebagainya.

Object Inpector 
Form Object Inpector terdiri dari dua bagian.Bagian pertama adalah Propertis, berguna untuk mengatur property komponen yang sedang aktif. Dan bagian ke dua adalah Events yang berfungsi sebagai trigger/pemicu komponen bersangkutan untuk menjalankan perintah tertentu.


Structure 
Structure adalah media navigasi bagi programmer untuk berpindah-pindah dari satu komponen ke komponen yang lainnya. Ini sangat membantu dalam mencari satu komponen yang letaknya tersembunyi di balik komponen lainnya.

Unit Editor
Unit Editor adalah modul kode program. Unit dapat berisi kumpulan function atau prosedure yang dipakai project. Function dan procedure adalah salah satu lebih baris program yang dipakai untuk melakukan tugas tertentu. Manfaat penggunaan unit dalam program aplikasi antara lain sbb:
1. Membagi program aplikasi yang besar dalam beberapa unit, sehingga kita dapat mengedit unit-unit tertentu.
2. Membuat library (daftar pustaka).

Project Manager
Project Manager ini adalah media navigasi bagi programmer untuk berpindah-pindah dari satu unit ke unit lainnya, atau bahkan ketika berpindah dari satu project ke project lainnya.

Read More

Selasa, 02 Desember 2014

Cara Menulis dan Membaca String Pada Registry dengan Delphi 2010

Seperti judul di atas tutorial kali ini akan membahas mengenai cara menggunakan registry pada delphi 2010. Disini dibahas cara menuliskan string dan membacanya yang tersimpan pada registry. Ok, sebelum lanjut mungkin ada baiknya kita tau apa itu registry. Registry merupakan databasenya Sistem Operasi, dalam hal ini windows. Singkatnya, registry adalah vault untuk menyimpan informasi yang di tulis oleh Sistem Operasi. Biasanya berisi konfigurasi mengenai sebuah software. Semisal expired date pada trial software, seperti yang pernah penulis postingkan sebelumnya, untuk postingannya klik disini.

Nah kali ini , penulis akan membahas mengenai cara menyimpan string pada registry. Untuk apa kita belajar registry? Apa manfaatnya? Pertanyaan yang bagus (yang nanya itu kan saya sendiri :D). Bayangkan ketika kita membuat suatu program , lalu kita merubah konfigurasi program tersebut misalnya jenis font yang semula Comic ingin kita ubah menjadi Times new Roman pada saat run time, konfigurasi tersebut akan hilang bila program di terminate. Lalu bagaimana caranya supaya konfigurasi tersebut tidak hilang? Pertanyaan yang bagus (yang nanya saya lagi kan :D") , Itulah gunanya kita belajar registry :D

Flowchat kurang lebih seperti ini, kita akan membuat program yang berfungsi untuk menuliskan string pada registry, lalu nanti string tersebut dibaca kemudian di terapkan pada komponen label. Untuk jelasnya seperti berikut ini :

Langkah 1 :
Buka Delphi 2010 dan buat project baru kemudian pada Form tambahkan 2 komponen button , lalu 1 komponen label dan 1 komponen edit. Untuk jelasnya cek gambar berikut ini :

Langkah 2 :
Tambahkan registry pada klausa uses. Kita akan membuat 1 buah prosedure untuk menulis registry dan 1 buah function untuk membaca registry.

Langkah 3 :
Double klik button tulis lalu ketikan source code berikut :
procedure TForm1.Button2Click(Sender: TObject);
var
reg:tregistry;
begin
    reg :=tregistry.Create;
    reg.RootKey:=HKEY_LOCAL_MACHINE;
    reg.OpenKey('SOFTWARE\Bagus Soft\Contoh',true);
    reg.WriteString('Bagus Soft',edit1.Text);
    ShowMessage('Setting koneksi tersimpan ');
    close;
end; 

Langkah 4 :
Lalu double klik button baca dan ketikan source code berikut :
procedure TForm1.Button1Click(Sender: TObject);
var
reg:tregistry;
begin
reg:=tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\BagusSoft\Contoh',true);
Label1.Caption:=reg.ReadString('Bagus Soft');
reg.free;
end;  

Langkah 5 :
Jalankan program dengan tekan F9, lalu ketikan sesuatu pada edit1. Setalah itu tekan button tulis. Selanjutnya tekan button baca. kemudian label1.caption akan sesuai dengan apa yang anda tulis. Sekarang kita coba keluar dari program lalu jalankan lagi. Sekarang, coba tekan langsung button baca dan label1.caption berubah, akan sesuai dengan apa yang anda tulis sebelum program di terminate.

Langkah 6 :
Hasilnya akan seperti berikut ini :

NB :
Jika diwindows 7 & 8 harus di run as administrator.
Read More

Cara Membuat Expired Date Aplikasi di Delphi 2010

Pada tutorial kali ini penulis akan membahas mengenai bagaimana cara membuat expired date aplikasi di Delphi 2010. Kalau kita membuat aplikasi yang bertujuan untuk komersil dan di gunakan secara massal , maka kita harus membuat masa trial pada aplikasi kita. Nantinya bila sudah expired, user akan diminta untuk registrasi untuk dapat digunakan lagi. Oleh karena itu , lebih baik kita contoh kan saja dengan praktek.

Cara kerjanya seperti ini , bila user menjalankan aplikasi sebelum masa expired , maka akan tampil pesan bahwa masa expired aplikasi tinggal beberapa hari lagi. Namun bila user menjalankan aplikasi setelah lewat masa expired , maka aplikasi tidak akan bisa di jalankan. Tidak usah panjang lebar karena akan menjadi luas :D

Langkah 1 :
Silahkan buka Delphi 2010 pembaca. Kita akan membuat procedure dengan nama expired. Ketikan kode berikut setelah {$R *.dfm}
procedure expired; 
var tahun , bulan , tanggal  , sisa:Integer; 
    tempo : TDate; 
begin 
  tahun:=2015;  // tahun expired 
  bulan:=01;    //bulan expired 
  tanggal:=01;  //tanggal expired 
  //membandingkan tanggal hari ini dengan tanggal expired 
  
  if (Date >= EncodeDate(tahun, bulan, tanggal)) then 
      begin 
        ShowMessage('Masa trial software anda telah habis , silahkan registrasi'); 
        Application.Terminate; 
      end 
   else 
    begin 
    //mencari selisih tanggal antara tanggal expired , dan tanggal hari ini 
      tempo:=EncodeDate(tahun , bulan , tanggal); 
      sisa:=trunc(tempo-date); 
      ShowMessage('Masa trial anda tersisa ' + IntToStr(sisa) +' Hari lagi' ); 
    end; 
end;

Langkah 2 :
Untuk tanggal expired , pembaca bisa memodifikasinya dengan mencari tau tanggal kapan pertama kali aplikasi pembaca dijalankan dengan memanfaatkan fungsi dari registry. Pembaca bisa melihatnya dipostingan penulis disini. Ok setelah procedure expired dibuat maka pembaca tinggal memanggilnya pada form1 event on show. Ketikan source code seperti di bawah ini :
procedure TForm1.FormActivate(Sender: TObject); 
begin 
  expired; 
end;

Langkah 3 :
Coba jalankan aplikasi dengan cara klik F9. Atur-atur kembali tanggal expired yang di tulis tadi untuk mengecek apakah berfungsi dengan benar atau tidak. Dan berikut adalah hasilnya :

Langkah 4 :
Selamat mencoba :D
Read More

Cara Shutdown dan Restart Komputer dengan Delphi XE5

Ada banyak hal yang dapat kita lakukan pada komputer jika kita bisa Bahasa Pemrograman. Pada postingan ini akan membahas tentang auto shutdown dengan design menarik.

Langkah 1 :
Desain Form seperti dibawah ini (lebih bagus lebih baik), gunakan skin dari alpha skin yang pernah penulis posting sebelumnya.

Langkah 2 :
Untuk Source code Aktifkan :
if edit1.Text='' then
begin
ShowMessage('Isi waktu eksekusi dan contreng salah satu pilihan!!');
Abort;
edit1.SetFocus; end
else begin
waktu:=strtoint(edit1.Text);
edit2.Enabled:=false;
combobox1.Enabled:=false;
radiogroup1.Enabled:=false;
button1.Enabled:=false;
Button2.Enabled:=true;
timer1.Enabled:=false;
case combobox1.ItemIndex of
0: waktu:=waktu*60;
1: waktu:=waktu*360;
end;
end;

Langkah 3 :
Untuk Source code Batalkan :
timer1.Enabled:=false;
edit1.Enabled:=true;
combobox1.Enabled:=true;
radiogroup1.Enabled:=true;
Button2.Enabled:=false;
button1.Enabled:=true;

Langkah 4 :
Jalankan aplikasi maka akan muncul seperti ini :

Langkah 5 :
Selamat mencoba :D

NB :
untuk software jadi bisa download disini.
Read More

Jumat, 28 November 2014

Cek Apakah Aplikasi Sudah Berjalan dengan Delphi XE5

Dalam membangun aplikasi khususnya dengan Delphi XE5 kita akan banyak bermain di event semisal event on click, on close, on show dan semacamnya. dalam event-event tersebutlah kita meletakkan source code yang kita ketikan. oleh karenanya penguasaan penggunaan event menjadi salah satu kunci dalam menguasai Delphi EX5.

Kali ini penulis akan berbagi sedikit trik tentang cara mengetahui apakah program sudah dijalankan atau belum. Hal ini dapat kita manfaatkan untuk meminimalisir penggunaan memori karena jika program sudah dijalankan maka aksi yang akan dilakukan adalah memunculkan pesan dan menutup program yang kedua dijalankan. seperti gambar berikut ini :

Cek Apakah Aplikasi Sudah Berjalan di Delphi XE5. Langkah-Langkahnya adalah sebagai berikut :

Langkah 1 :
Tambahkan TlHelp32 dalam uses.

Langkah 2 :
Buat Sebuah Fungsi dengan source code seperti berikut. Fungsi inilah yang akan melakukan pengecekan pada aplikasi yang kita jalankan.
function cekaplikasi(const ExeName: String): Integer;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
FSnapshotHandle:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize:= SizeOf(FProcessEntry32);
ContinueLoop:= Process32First(FSnapshotHandle, FProcessEntry32);
Result:= 0;
while Integer(ContinueLoop) <> 0 do begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeName))) then Inc(Result);
ContinueLoop:= Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;

Langkah 3 :
Untuk mengetahui program sudah berjalan atau belum, Kita perlu menggunakan fungsi tersebut dalam event onshow milik form dengan listing code seperti berikut :
if cekaplikasi(ExtractFileName(Application.ExeName)) > 1 then begin
MessageDlg('Aplikasi sudah berjalan! Creat Baguscakepz.blogspot.com', mtError, [mbOK], 0);
Application.Terminate;


Langkah 4 :
Selamat mencoba :D
Read More

Kamis, 27 November 2014

Berkenalan dengan Komponen Raudus

Raudus adalah framework keluarga pascal yang dikhususkan untuk membuat aplikasi berbasis website, karena masih untuk keluarga pascal, jadi raudus juga bisa kita pasang di delphi. Selain itu jika anda pengguna IDE Free Pascal (Lazarus) pembaca juga dapat menggunakannya juga. Raudus sendiri dikembangkan oleh Igor Klopov dan masih bersifat freeware (bebas digunakan).

Pada saat postingan ini ditulis versi Raudus yang telah dirilis sudah sampai 0.9.8 dan telah support di beberapa IDE dari Delphi 7 sampai XE6 dan Lazarus. Raudus juga tersedia dalam versi Linux. Pembaca dapat mendownloadnya pada situs resminya disini.

Kali ini penulis ingin mengajak pembaca untuk berkenalan dengan Framework Delphi ini namun penulis hanya akan mencontohkan penggunaannya di lingkungan windows dan Delphi 2010 karena untuk versi linux dan yang lain masih belum penulis coba.

Langkah membuat website dengan framework Raudus di Delphi 2010, seperti berikut ini :

Langkah 1 :
Pastikan pembaca sudah mendownload frameworknya kemudian lakukan instalasi (Tutup terlebih dahulu Delphi 2010). Sebagai catatan, Jika anda menjumpai Error seperti gambar dibawah ini jangan galau dulu karena Raudus membutuhkan hak akses Administrator.

Solusinya klik kanan pada Raudus -> Run As Administrator. Selanjutnya ikuti saja langkah-langkahnya karena menurut penulis instalasinya mudah dan jika berhasil akan muncul seperti gambar dibawah ini. Sebagai informasi, disini penulis menggunakan Raudus versi 0.9.8. Hasil instalasi biasanya akan muncul di Tools Pallete terakhir.

Langkah 2 :
Jalankan Delphi 2010. Klik File->New->Other masuk ke Tab Raudus seperti gambar berikut :

Langkah 3 :
Masuk ke Pallete Raudus dan tambahkan beberapa komponen raudus. atur juga propertinya seperti gambar dibawah ini :

Langkah 4 :
Ok. Jangan galau dulu. kita masih belum selesai. Selanjutnya jalankan aplikasi (seperti biasa Run/F9). Jika sukses, Aplikasi anda akan meminta ijin untuk dijalankan | Klik Allow Access seperti gambar berikut ini :
Coba perhatikan jendela command prompt diatas yang muncul secara bersamaan dengan gambar windows security alert. Ada sebuah teks yang mengatakan "http://localhost:8080/ - open in browser" kita diperintahkan untuk membuka browser dan mengetikan alamat tersebut (http://localhost:8080). 

Langkah 5 :
Sekarang kita buka browser dan aktifkan xampp dan ketikkan http://localhost:8080 kemudian akan terlihat seperti berikut ini :


Langkah 6 :
Selamat mencoba :D
Read More
Copyright@2014. Bagus Cakepz. All Right Reserved. Powered by QMPC Tutorial