Selasa, 08 Mei 2018

Mencetak Nama File dalam Suatu Folder Tertentu Kedalam Teks dengan delphi

Kita terkadang memerlukan daftar files atau folder untuk lokasi tertentu misalnya untuk dicetak. sehingga kita harus membuat list nama nama file dan extensionnya dan kemudian menuliskannya kedalam sebuah text


berikut contoh programnya dalam delphi

buat project baru yang isinya

1. ListBox

2. Button

3. OpenDialog




procedure LoadFilesByMask(lst: TStrings; const SpecDir: string);
var
   intFound: Integer;
   SearchRec: TSearchRec;
begin
   lst.Clear;
   intFound := FindFirst(SpecDir + '*.*', faAnyFile, SearchRec);
   while intFound = 0 do
      begin
         //lst.Add(SpecDir + SearchRec.Name); // gunakan bila ingin sampai folder
           lst.Add(SearchRec.Name); // gunakan untuk nama file saja
           intFound := FindNext(SearchRec);
      end;
   FindClose(SearchRec)
end;


kemudian doubleklik pada Button1 dan isikan procedure berikut


procedure TForm1.Button1Click(Sender: TObject);
var
   strDir:string;
   DirSelected: string;
begin
   if SelectDirectory('Select a folder:', 'D:\Delphi', DirSelected) then
      begin
         strDir:=DirSelected + '\'; // bagian pentingnya disini
         LoadFilesByMask(ListBox1.Items, strDir); // bagian pentingnya disini
      end
   else
      begin
         ShowMessage('You did not select a folder');
      end;
end;



jangan lupa pada uses tambahkan FileCtrl karena kita menggunakan open folder (ada pada postingan sebelumnya tentang Select Folder Memanfaatkan Open Dialog di Delphi)


selesai...
saatnya untuk RUN


Klik Button1


Pilih Folder yang ingin di list


Kemudian Klik OK. maka akan muncul isi dari folder tersebut kedalam ListBox


bagian yang tidak ada extensionnya adalah folder.

bila ingin menampilkan seluruh isi sampai ke akar foldernya maka lakukan sedikit modifikasi pada coding nya


procedure LoadFilesByMask(lst: TStrings; const SpecDir: string);
var
   intFound: Integer;
   SearchRec: TSearchRec;
begin
   intFound := FindFirst(SpecDir + '*.*', faAnyFile, SearchRec);
   while intFound = 0 do
      begin
         if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
            begin
               if (SearchRec.Attr and faDirectory) = faDirectory then
                  LoadFilesByMask(lst, SpecDir + SearchRec.Name + '\')
              else
                  lst.Add(SpecDir + SearchRec.Name); // gunakan bila ingin sampai folder
               //lst.Add(SearchRec.Name); // gunakan untuk nama file saja
             end;
       intFound := FindNext(SearchRec);
   end;
   FindClose(SearchRec);
end;



Terimakasih

Berkah Dalem ⍏









Select Folder Memanfaatkan Open Dialog di Delphi

Kali ini kita akan membuat program untuk select nama folder, ingat nama folder ya yang diambil bukan nama filenya...

okay langsung aja


Kita bikin form baru, beri komponen Edit, Button dan Open Dialog

double click button1

isikan coding berikut

procedure TForm1.Button1Click(Sender: TObject);                         
var                                                                                                       
  DirSelected: string;                                                                           
begin                                                                                                   
  if SelectDirectory('Select a folder:', 'D:\Delphi', DirSelected) then 
    Edit1.Text:=DirSelected + '\'                                                          
  else                                                                                                    
    ShowMessage('You did not select a folder');                                  
end;                                                                                                     

kemudian jangan lupa tambahkan FileCtrl di Uses nya

Run



klik button1



Pilih Foldenya,



Misal kita pilih folder COBA CPY

klik OK

Maka Edit 1 akan terisi alamat folder tersebut



Sekian

Jumat, 18 Desember 2015

Menampilkan Tanda Titik Pemisah Untuk (Ribuan) di Delphi

Saat bermain main dengan komponen edit di delphi ketemu deh masalah yang sebenarnya sederhana cuman lumayan bikin pusing plus galau juga kalau gak tau triknya. hahahaha,
masalah kali ini adalah memberi tanda titik pemisah saat kita menginputkan suatu nilai mata uang.

biasanya kalau kita memasukkan suatu nilai mata uang akan muncul titik pemisah tiap 3 angka dari belakang, misalkan untuk menuliskan 3.000.000 akan ada titik untuk memisahkan antar angka. sebenernya hal ini bukanlah sesuatu yang krusial cuman kalau ditambahkan akan bisa mempercantik tampilan....

okay gak usah lagi berpanjang lebar, langsung saja kita kembali ke laptop.... hehehehe

pertama buka dulu delphi, bikin new aplication

pada form kasih 2 buah komponen edit


selanjutnya masukkan procedure dan funnction berikut pada bagian implementation


procedure ribuan(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;


Okay selesai sudah procedure dan function nya, sekarang tinggal cara panggil dan penggunaannya
double click komponen edit1
masukkan perintah dibawah ini


procedure TForm1.Edit1Change(Sender: TObject);
begin
ribuan(edit1);
edit2.text:=hapusribuan(edit1);
end;              


Beres, sekarang tinggal kita uji coba......
dan....
mision complate..!!!!

Hasil uji coba


Pengenalan Delphi

TENTANG DELPHI

Borland Delphi merupakan salah satu bahasa pemrograman Windows yang sangat handal, cocok untuk pemula maupun untuk yang berpengalaman. Dengan menggunakan Delphi kita bisa membuat aplikasi Windows yang user friendly dan efisien dengan cepat dan dengan sedikitcoding manual.
Delphi menyediakan semua tool yang berguna untuk membangun, test dan menyebarkan aplikasi Windows, termasuk segudang komponen-komponen, baik yang disediakan Borland maupun yang disediakan produsen lain atau dari komunitas Delphi sendiri.
Bahkan pada versi terakhirnya, Borland menyediakan suatu solusi cross platform yang bernama Borland Kylix (bisa dikatakan Delphi-nya Linux).
Delphi berasal dari aplikasi pemrograman DOS yang bernama Borland Turbo Pascal, yang diperkenalkan pada pertengahan tahun 1980-an. Object Pascal, dukungan terhadap pemrogramanobject-oriented oleh Pascal, adalah yang mendasari bahasa pemrograman Delphi. Visual Component Library (VCL) merupakan suatu hierarki dari objek-objek Object Pascal yang memungkinkan untuk mendesain aplikasi. Sehingga, Delphi bisa dikatakan sebagai suatu aplikasi pemrograman visual yang berdasarkan Object Pascal.


PENGENALAN ISTILAH

Variabel

Variabel merupakan sesuatu yang nilainya bisa berubah, namun harus memiliki tipe data tertentu.
Contoh:
     A + B = C;
Dalam kasus tersebut, A, B, dan C merupakan suatu variabel yang nilainya bisa berubah/diubah. Misal A=5 dan B=4, maka C=9. Jika A=7 dan B=6, maka C=13.
Tetapi, A, B, dan C harus memiliki tipe data tertentu misalnya bilangan bulat. Jika A, B, dan C sudah dinyatakan sebagai bilangan bulat, maka A, B, dan C tidak bisa digunakan untuk menyimpan nilai desimal/pecahan seperti A=4.5 dan B=3.4 maka C=7.9 (sekali lagi hal ini tidak bisa diterapkan dalam pola pikir komputer).

Konstanta

Sebagaimana variabel, konstanta juga harus memiliki tipe data tertentu. Namun, kebalikan dari variabel, konstanta pada umumnya nilainya tidak bisa diubah/berubah (kecuali konstanta bertipe).
Contoh:
     Phi = 3.14;

 

Tipe Data

Bilangan Bulat

Tipe bilangan bulat yang umum pada Delphi adalah Integer dan Cardinal. Disarankan sebisa mungkin menggunakan tipe data ini karena CPU dan sistem operasi akan lebih cepat memproses tipe data ini. Tabel berikut menjelaskan semua tipe data yang termasuk pada bilangan bulat.

Tipe

Jangkauan
Format
Ukuran Memori
Integer
–2147483648..2147483647
signed 32-bit
4 byte
Cardinal
0..4294967295
unsigned 32-bit
4 byte
Shortint
-128..127
signed 8-bit
1 byte
Smallint
–32768..32767
signed 16-bit
2 byte
Longint
–2147483648..2147483647
signed 32-bit
4 byte
Int64
-263 .. 263-1
signed 64-bit
8 byte
Byte
0..255
unsigned 8-bit
1 byte
Word
0..65535
unsigned 16-bit
2 byte
Longword
0..4294967295
unsigned 32-bit
4 byte

 

Bilangan Pecahan

Tipe data pecahan yang sudah umum adalah Real. Berikut tabel yang memperlihatkan tipe-tipe data yang termasuk pecahan.

Tipe

Jangkauan
Ketelitian
Ukuran Memori
Real
5.0x10–324..1.7x10308   
15-16 digit
8 byte
Real48
2.9x10–39 .. 1.7x1038   
11-12 digit
6 byte
Single
1.5x10–45 .. 3.4x1038   
7-8 digit
4 byte
Double
5.0x10–324 .. 1.7x10308 
15-16 digit
8 byte
Extended
3.6x10–4951 .. 1.1x104932
19-20 digit
10 byte
Comp
-263+1 .. 263-1
19-20 digit
8 byte
Currency
–922337203685477.5808.. 922337203685477.5807
19-20 digit
8 byte



Catatan:

  1. Real48 disediakan untuk alasan kompatibilitas terhadap versi-versi lama, karena sesungguhnya Real48 dalam Delphi adalah tipe data Real yang dipakai ketika jamannya Pascal (6-byte; tipe Real pada Delphi 8-byte).
  2. Extended memang menyediakan ketelitian lebih tinggi, namun kurang portable pada platform lain.
  3. Comp (computational) merupakan bawaan dari prosesor Intel dan merupakan tipe bilangan bulat 64-bit. Dikelompokkan sebagai bilangan pecahan, karena tidak memiliki sifat seperti tipe bilangan bulat biasa. Misalnya kita tidak bisa melakukan incrementdengan prosedur Inc() dan decrement dengan prosedur Dec() pada tipe ini. Untuk amannya gunakan saja tipe data Int64.
  4. Currency merupakan fixed-point (tidak ditulis dalam format a x 10b) yang mempunyai sifat meminimalkan kesalahan perhitungan pembulatan. Tipe ini sangat cocok untuk penggunaan perhitungan yang melibatkan nilai mata uang.


Boolean

Tipe data boolean hanya memiliki nilai antara TRUE dan FALSE saja.
Ada 4 tipe boolean yang didefinisikan pada Delphi, yaitu: BooleanByteBoolWordBool, danLongBool. Semuanya sengaja didefinisikan untuk menjamin kompatibilitas dengan bahasa pemrograman dan Windows yang berbeda. Namun, pada modul ini kita hanya akan “berurusan” dengan tipe Boolean saja.

Karakter

Tipe karakter (char) merupakan tipe yang hanya terdiri dari satu karakter saja. Untuk menyatakan konstanta bertipe char, suatu karakter harus diawali dan diakhiri dengan tanda petik-tunggal atau apostrof (). Contoh:
      ‘A’   Karakter huruf A
      ‘7’   Karakter angka 7
      ‘~’   Karakter simbol ~

String

String atau literal merupakan sejumlah karakter yang bisa berjumlah nol atau lebih. Suatu konstanta string ditulis dengan diapit oleh tanda petik-tunggal (). Contohnya:
      ‘Borland Delphi’
      ‘Jum’’at’   { hasilnya berupa string Jum’at }
      ‘’          { string kosong }
Panjang string mengacu pada jumlah karakter yang ada pada string tersebut. Suatu string yang panjangnya 1 kompatibel dengan tipe karakter, dan string yang terdiri dari n karakter kompatibel dengan array n karakter.

Operator

Operator bertugas untuk mengoperasikan variabel atau konstanta yang ada. Operator terbagi menjadi beberapa bagian sesuai fungsinya:
Operator Aritmatika
     +, -, /, *, mod, div
Operator Perbandingan
     >, >=, <, <=, <>, =
Operator Logika
     and, or, not

Keyword

Keyword merupakan kata kunci yang sudah dimiliki oleh Delphi, sehingga kita tidak bisa menggunakan salah satu keyword tersebut sebagai nama variabel atau konstanta. Contohnya:
case, string, if, while, repeat, until, for, integer, real, dsb.


MENJALANKAN DELPHI

Untuk memulai Delphi, Anda bisa melakukan double click (klik ganda) pada icon Borland Delphi 7 (versi Delphi tergantung yang Anda install) di Desktop. Atau Anda bisa juga melakukannya melalui menu Start > Program > Borland Delphi 7 > Delphi 7. Setelah berhasil menjalankan Delphi, maka akan muncul tampilan seperti gambar berikut.


Gambar 1. Tampilan Delphi

 

PROJECT

Project merupakan sekumpulan form dan unit yang saling berhubungan. Jika kita membuka, menyimpan, dan menjalankan (kompilasi) project, Delphi akan tahu file-file mana saja yang terlibat dengan project tersebut. Dengan kata lain project adalah program yang kita buat.
Ketika pertama kali membuat aplikasi baru, Delphi secara default akan menghasilkan file .DPR yang isinya kurang lebih sebagai berikut:
program Project1; { nama dari project }

uses { menandakan unit-unit yang digunakan project... }
 Forms,     { ...bisa yang bukan form unit... }
 Unit1 in 'UNIT1.PAS' {Form1};      { ...maupun form unit}
{$R *.RES}  { file resource }
begin { awal dari program utama }
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);   { form pertama }
 Application.Run; { menjalankan aplikasi }

end.  { akhir dari program utama }
Ketika kita membuat project baru, Delphi akan secara otomatis membuat juga file-file lain diantaranya:


File

Keterangan
.CFG
File konfigurasi project.
.DOF
File yang berisi option yang berhubungan dengan project, pengaturan compiler dan linker, direktori, dan lain-lain.
.DPR
File utama project.
.RES
Berisi informasi versi resource dan icon yang dipakai oleh aplikasi kita.
.PAS
File unit yang berisi kode pascal yang kita ketik.
.DFM
File form dari unit yang bersangkutan. Namanya sama dengan nama file unitnya.
.~PAS, .~DFM
File backup dari file-file .PAS dan .DFM.


FORM
Form merupakan bagian yang sering terlihat pada suatu project. Form nantinya akan menjadi window pada saat program sudah jadi. Sehingga selama kita melakukan design program, kita melakukannya terhadap form. Semua pengaturan form tersimpan pada file .DFM. Kita mengatur form sesuai kebutuhkan dan melakukan pengaturan properties dan event melalui Object Inspector.


UNIT

Setiap form pada project memiliki satu unit. Unit ini akan berisi source code yang kita program nantinya sesuai kebutuhan. Suatu unit yang berhubungan dengan suatu form sering disebut dengan form unit, tapi kita juga bisa membuat unit tersendiri yang tidak berhubungan dengan form. (contohnya bisa Anda lihat pada bagian Sound Card)
Manfaat penggunaan unit dalam program aplikasi antara lain sebagai berikut:
  1. Membagi program menjadi beberapa bagian sehingga akan mudah dalam melakukan perubahan-perubahan terutama pada aplikasi besar.
2.      Membuat library berupa function dan procedure, sehingga dapat digunakan pada project lain.
3.      Unit dapat dikompilasi terpisah dari program aplikasi, sehingga program lain yang memerlukan bisa menggunakannya tanpa harus menulis ulang source code-nya.
Struktur unit adalah sebagai berikut:
unit Unit1; { unit identifier }
interface
uses  { uses clause }
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs;
type
 TForm1 = class(TForm)  { class declaration }
 private
   { Private declarations }
 public
   { Public declarations }
 end;
var
 Form1: TForm1;   { instance declaration }
implementation
{$R *.DFM}  { compiler directive to link form file }
end.


PROPERTY

Properti, seperti halnya field, menandakan atribut dari objek. Suatu objek bisa memiliki beberapaproperti, yang dapat diatur langsung dari tab Properties pada Object Inspector atau melalui kode program. Setting properti akan menentukan cara kerja objek yang bersangkutan saat program dijalankan, misalnya menentukan warna objek, ukuran objek, huruf yang dipakai, dan lain-lain.
Gambar 2. Tab Properties
Beberapa objek bisa memiliki beberapa properti yang sama.

EVENT

Event merupakan peristiwa atau kejadian yang menimpa suatu objek. Misalnya klik, drag, tunjuk, dan lain-lain. Event tersebut akan memicu Delphi untuk memeriksa kode program yang didefinisikan untuk objek yang bersangkutan, jika ada maka kode program tersebut akan dijalankan.


Gambar 3. Tab Events
Untuk membuat suatu procedure yang akan dijalankan ketika suatu event terjadi, bisa Anda lihat pada saat membuat program pertama nanti.

METHOD

Method merupakan prosedur atau fungsi yang ada di dalam objek. Cara pemanggilannya kurang lebih sama dengan cara mengakses properti, bedanya kita mengakses properti ketika kita ingin mengisi atau mendapatkan suatu nilai / atribut dari suatu objek, sedangkan method untuk melakukan sesuatu.


VISUAL COMPONENT LIBRARY (VCL)

Sebagai bahasa pemrograman berbasis objek, Delphi menyediakan objek-objek yang sangat berguna. Dengan objek yang sudah tersedia ini, kita bisa merancang program aplikasi dengan cepat. Kita sebagai pemrogram tidak perlu lagi membuat fungsi-fungsi tertentu, karena semuanya sudah ada pada objek tersebut dan kita tinggal memakainya saja.
Kumpulan objek yang sudah disediakan dinamakan Visual Component Library atau disingkat menjadi VCL. Semua VCL ditampung pada tempat yang namanya Component Palette.


Gambar 4. Component Palette
Component Palette terdiri atas beberapa kategori yang masing-masing kategori ditampung pada suatu tab, antara lain tab StandardAdditional, Win32, System, dan lain-lain. Pada masing-masing tab terdapat beberapa komponen.
Pada sesi pertama ini akan dibahas komponen form, label, button dan edit beserta properti-nya yang sering digunakan.

TForm

Komponen form (TForm) merupakan komponen untuk tampilan standar pada suatu aplikasi. Secaradefault ketika membuat project baru, akan disediakan satu buah form. Setelah program jadi, form biasa disebut sebagai window oleh penggunanya.
Properti yang sering diubah-ubah pada objek ini antara lan:
Properti
Keterangan
Caption
Menentukan judul dari form.
Color
Menentukan warna form.
Font
Menentukan font default yang akan dipakai oleh komponen-komponen di dalam form ini.
Name
Menentukan nama objek.
Semua objek pasti memiliki properti ini. Karena property ini nantinya akan dipakai sebagai pengenal dalam program.
WindowState
Menentukan bagaimana form (window) nantinya muncul di layar. Nilainya antara lain:
Ø      wsNormal untuk tampilan normal.
Ø      wsMinimize untuk minimize.
Ø      wsMaximize untuk maximize.


TLabel
 Komponen label (TLabel) merupakan objek yang digunakan untuk menampilkan teks yang tidak bisa diubah-ubah oleh user ketika program berjalan. Biasa digunakan sebagai judul atau keterangan.


Properti
Keterangan
Alignment
Menentukan perataan teks label. Nilainya:
  • taLeftJustify untuk rata kiri
  • taCenter untuk rata tengah
  • taRightJustify untuk rata kanan
AutoSize
Menentukan apakah ukuran label akan otomatis menyesuaikan dengan panjang teks pada properti Caption. Nilainya antara TRUEdan FALSE.
Caption
Menentukan isi dari label atau teks yang akan ditampilkan.
Color
Menentukan warna label.
Font
Menentukan font yang dipakai label.


TButton

Komponen button (TButton) merupakan objek yang bilamana ditekan oleh user, akan melakukan fungsi tertentu sesuai dengan procedure yang ditetapkan pada event OnClick.

Property
Keterangan
Cancel
Jika bernilai TRUE, maka setiap kali user menekan tombol ESC eventOnClick akan berjalan.
Caption
Menentukan teks yang tampil pada tombol.
Default
Jika berniai TRUE, maka setiap kali ditekan tombol ENTER akan mengakibatkan seakan-akan tombol ini ditekan. Pada satu form hanya bisa memiliki satu tombol default.

TEdit
 Komponen edit (TEdit) akan menampilkan teks yang bisa dipilih dan dimanipulasi olehuser ketika program berjalan. Komponen ini hanya menampung satu baris teks saja.

Properti
Keterangan
AutoSelectJika bernilai TRUE, maka setiap kali objek ini terfokus isi teksnya akan otomatis terseleksi (terblok).
ColorMenentukan warna objek ini.
ReadOnlyJika bernilai TRUE, objek ini tidak dapat dipilih atau diedit.
TextMenunjukkan isi teks dari objek ini.