Contoh Kode
Di sini saya tempatkan berbagai contoh program yang pernah saya buat dengan Delphi. Setelah didownload, gantlah nama file *.ppt ke *.zip.
NetSend adalah implementasi fungsi API “NetMessageBufferSend” dari NETAPI32.DLL, untuk mengirim pesan antar Windows (2000 ke atas). Implementasi dengan pure API dan Multithread.
Ukuran : 14KB
EXE : included
Source : included
Versi Delphi : 3-7, BDS 2006
Sebuah contoh enkripsi file dengan Wizard.
Ukuran : 608KB
EXE : included
Source : included
Versi Delphi : 3-7, BDS 2006Requires uilib.dll, this library has been included in download package.
Contoh kamus Indonesia-Inggris [ vice-versa ]
Ukuran : 2.14MB
EXE : included
Source : N/A
Versi Delphi : 8, 7, BDS 2006
Dictionary is translation from TransTool.
Uilib DLL, sebuah library yang dibuat dengan delphi untuk menampilkan dialog yang lebih menarik dari standar Windows.
Ukuran : 553KB
EXE : included
Source : included
Versi Delphi : 3-7, BDS 2006Required TXiButton Included, this library has been included in download package.
Download it from this blog’s archieves. Use search tool up-righted there, with keyword XiButton, to shortcatch this library.

Download Al-Qur'an Digital
View Al-Qur'an Digital Online





mksh mas,atas ilmu yg tlah dbgi!
id yahoony apa? biar aq add aja via p0nsel
insya allah. thank
mas mo nanya nehh…boleh ya.heeee
gni mas..saya kan mo buat program multi user dengan delphi.
nha disini saya ngunain koneksi ado. setiap saya mo ngedit record yg sama secara bersamaan program eror. gmn cara nanganinya ya? mhon bantuannya….
Kalau setahu saya sih, koneksi ado digunakan untuk mengakses Ms.Access, dan biasanya Ms.Access tidak mendukung program multiuser kalaupun bisa, Ms.Access jadi kurang stabil, kenapa anda tidak menggunakan MySQL Server aja, disamping gratis, koneksinya mudah sekali, misalnya menggunakan Zeos, Scibit, DirectMySQL, dbExpress, dan semua komponen tersebut mendukung program multi user.
Betul sekali. Meskipun ADO juga dapat mengakses koneksi database lainnya, tetap saja ADO dianggap merepotkan.
program yang mas buat menjadi inspirasi buat saya untuk bereksperimen labih dalam untuk mengenal delphi, thank’s
buat ilmunya. semoga menjadi ilmu yang bisa bermanfaat dan dimanfaatkan orang lain
Mohon contoh dan penjelasan langkah2 dalam pembuatan laporan menngunakan fast report. Terima kasih.
Dalam posting tersendiri Mas Arif, jika ada kelonggaran waktu dan kesempatan. Amin
.
Ok. mas. Semoga cepat terlaksana. Saya dan rekan2 tunggu kabar baiknya ..
sample nya ok punya
tapi mas saya mohon conto cara pemanggilan file html kedalam form tanpa load dan open file seperti menu awal turbo delphi and saya menggunakan turbo delphi.
A. Menggunakan TWebBrowser:
Tetap harus diload.
Misalnya dengan cara memasukkannya sebagai resource saat compile time (dengan directive {$R }), tetap saja harus diekstrak ke harddisk dan diload.
B. Menggunakan mekanisme lain:
Tergantung dari komponen yang digunakan. Contoh pada D6 & D7, untuk aplikasi CLX-based tersedia komponen untuk memparsing HTML dan menampilkannya seperti browser.
Assalamu’alaikum.wr.wb.
Selamat pagi dan salam kenal buat semuanya….
saya sedang ngerjain TA tentang aplikasi belajar ILMU TAJWID + PENGENAL SUARA….
saya kesulitan dalam beberapa hal :
1. Bagaimana cara menginputkan suara kita ke dalam program (pake delphi) lewat microphone (catatan : saya sudah pernah nyoba yang di artikel http://delphi-id.org/dpr/module-News-display-sid-155.pas tapi tidak berhasil)
2. bagaimana cara menampilkan histogramnya seperti program ROSETTASTONE / TELLME MORE
3. bagaimana cara mencocokkan / membandingkan tingkat kesamaan dari suara yang diinputkan tadi dengan suara yang sudah ada di database.
4. terima kasih sebelumnya kepada temen-temen delphier yang mo ngebantu….
5. email saya di addin2digit@gmail.com
tabya ya……..
gimana program agar program yang kita buat bisa di koneksikan dengan printer langsung
Anda bisa menggunakan unit printers.
Tambahkan unit printers ke klausa uses.
Salam hormat, ada librari dll buatan dalam negeri untuk keperluan encrypt/decrypt data, dapat didownload di http://www.ciauldownload.blogspot.com, terima kasih
permisi… mau nanya nich… bagaimana ya caranya membuat pencocokan pola suara dengan menggunakan delphi…,,,, {source code, please)…
biasanya dapat dibuat menggunakan matlab, tapi saya disuruh membuatnya menggunakan delphi kira2 bisa tidak ya???
dan apakah matlab bisa digabungkan dengan delphi???
Mas, mau nanya nich sekarang saya lg buat program pake delphi tentang matrik pakai komponen stringgrid. Yang jadi permasalahan ketika saya mau mindah data dari stringgrid ke variabel arraynya pasti error dan dikatakan kalau nilai integernya tidak valid. Gmn ya seharusnya?
Kalo arraynya bertipe integer, nilai dari stringgrid musti diubah ke integer juga: array[1][3] = StrToInt(Stringgrid1.Cells[1,3]);
Bila masih tidak jalan, berarti ada faktor lain. Anda bisa mengirimkan source codenya via e-mail saya (jokorb[at]yahoo[dot]co[dot]uk) biar bisa kita diskusikan lebih jelas.
aslamkum..
mas… gimana caranya membuat aplikasi multi-user dengan komponen zeos
mas bisa bantu ga bikin program absensi suara….pake program dhelphi….???dimohon kabarnya.. makasih
wuihh…
berat tuh. maaf, butuh waktu yang lama dan coding yang rumit…
mas, mau nanya2 nich…
begini mas, bagaimana sich cara uji aplikasi client-server (ada ga softwarenya)
kan aq buat aplikasi client-server pakai komponen zeos, cuma ga tau cara ujinya..
itupun buat aplikasinya dibantu.. hehehehe
maklum mas, kagak mudeng banyak soal coding..
trims.. maaf kal pertanyaannya kurang jelas..
Assalamualaikum wr.wb,pak dosen.saya mau nanya,sya buat program Toko Baju.. Tapi Atahan Form Dpr dsbg.Kehapus Coz windowsnya baru aja diformat di pc saya.Tpi Program Jadinya saya udah ada.untungnya di laptop.buat tugas akhir kuliah.permasalahannya saya,sewaktu saya msuk form barang,dan pilih cetak laporan di ujung atas kiri tidak tercantum nama misal (UNIKOM …alamat Jl. ????) maksudnya keterangan identitas.Pertanyyan sya bagaimana cara merubahnya pak?.. klo buat lagi memakan waktu lama.mhon pencerahannya
Ktinggalan pak File nya Berformat Shanny acces,terdiri dari Format (PX,XGO,YGO)trus Shanny menu A & B(PX,FAM,TV),ShannyUser (MB.PX,XGO) Nuhun Pak.Basok Lusa Dikumpulin .. mohon pencerahanya pak
Maaf mas, saya kurang paham maksudnya. Akan baik jika diperjelas…
gini pak maksudnya ,, sewaktu cetak faktur / cetak laporan, di laporan dan fakturnya,, tidak ada keterangan nama perusahaan dan alamatnya… nah pertanyyan saya pak,gimana cara merubah laporan itu agar tercantum nama perusahaan dan alamat perusahaan ,sedangkan program sudah terbentuk instaler
Assalamualaikum,wr.wb. pak kl edit toolbar forms yg udah jadi exe, gmn caranya pak ?
apanya yg mau diedit? Kalau teksnya, bisa coba ResourceHacker. Itu kalau resource EXE-nya belum diprotect (misalnya pake UPX atau ASPack)…
Maksudnya gini pak,aku pengen ganti skin tampilan formnya.+misal nama exenya regard,dibuka tampilan di atas kiri form ya regard.. pertanyaanya gmna cara merubah nama form itu,MIsal regard jadi sanny,aku pakai resource tunner,tp ulik2 ga ktmu pak.. gmn caranya ya pak?
Lihat di sini:
Mengedit File EXE Hasil Kompilasi Dengan Resource Tuner
Semoga membantu
pak nuhun aatas penjelasanya.tapi belum berhasil pak.. msh tetep aja Regard,,TForm Utama nya uda dganti captionnya.. di dalam
RC DATA Ada : TForm Utama,Tform Lokasi Data,TForm Login Dialog dll
Di TFORM Utama ADa : BsSkinPanel2,BsSkinPanel1,BsSkinData1 & 2,BsCompresedStoredSkin1&2,,
jadi opini sya ga ngaruh pak walau di TFORM UTAMA Pada captionnya diganti..tetep aja Regard .. Mohon Solusinya Pak,atau sya kirim via email File Exe nya
Kemungkinan Captionnya bukan caption form, tapi caption komponen skin (BussinesSkinForm) yang ada di form tersebut. Atau, caption diatur saat runtime dengan perintah:
Bila ragu-ragu, coba kirimkan file EXE (beserta file-file pendukungnya agar bisa jalan), kami coba bantu. Soal berhasil atau tidak, kami gak bisa jamin. Tapi soal softwarenya kami jamin gak bakal disebarkan…
alamatnya donk
jokorb[at]yahoo[dot]co[dot]uk
atau:
rivaprima[at]gmail[dot]com
Teh .. size nya lumayan gede 546 MB belum databasenya,gmn klo aku uploadin 1 file exe nya ya teh..
Kirim file exe yang mau diubah saja
Ass.. Gini mas. Sy kan dah beli fingerprint uareu dan udh donlod one touch sdknya. Tapi mslhnya gimana nampilin gmbr hasil scannya ke Timage. Dstu ada event onComplete tpi sample hsil scnnya brtipe Idispatch. Mhon bntuannya ni mas Atw mas punya conth dasar capture n verify figrprin. Makasih sblmnya mas..
@Amir:
DigitalPersona memang bisa dibilang kikir. Apalagi bila fingerprintnya yang berbasis USB dan bentuknya seperti mouse. SDK yang dibawa, UareU, menyimpan hasil scan langsung dalam gambar, dan hasil encoding dalam bentuk nomor seri fingerprint sajalah yang dikasih ke programmer. Sebagain info, UareU menggunakan database Microsoft Access dengan password adalah nomor seri UareU Installation CD. Di dalam database ini, ada tabel yang berisi gambar, tapi tampaknya dienkripsi.
Di panduan mereka, memang disebutkan bahwa data yang disimpan adalah data serial fingerprint (fingerprint template), dan tidak dapat diubah lagi ke gambar aslinya.
http://www.digitalpersona.com/uploadedFiles/Collateral/White_papers/DP-wp-appbestpractices2009-08-21.pdf
Di atas Library yang dibuat dengan C++, ada COM Object yang (tampaknya) dibuat dengan Visual Basic dengan database MS Access, sehingga sangat lambat. Apalagi bila jumlah data yang disimpan sudah lumayan banyak.
Menurut saya, satu-satunya cara adalah mengcapture gambar fingerprint saat di-register (biasanya ada 4 gambar). Dicapture semuanya dan disimpan sendiri ke database.
Ass…. mas langsung aja ya, bagaimana cara membuat program multi user dengan delphi 6 menggunakan database access 2007. step by step ya mas. kalau berkenan via e-mail. please help me…
@saiful anwar:Sulit mas. Database MS. Access memang tidak mendukung multi user. Kalaupun dipaksakan, di tengah jalan akan banyak kendala..
Teh ini Link Buat Download Exe nya
http://www.mediafire.com/?6jzf1kfpk12i75p makasih atas bantuannya ya teh.. ditunggu kabarnya
Gw dah download. Tapi yang jadi soal, aplikasi gak bisa di test… gimana ya?
http://www.mediafire.com/?xglx3f5katadv15 part 1
http://www.mediafire.com/?0olc4ylj5uivetx part 2
http://www.mediafire.com/?syezwd7botb150r part 3
http://www.mediafire.com/?gpveuf74qr34b8r part 4
http://www.mediafire.com/?uekzxg3tdil9uiu part 1 menu
http://www.mediafire.com/?yvvg0h4wyrh268g part 2
http://www.mediafire.com/?p0pwq9ev8qf0njl#1 part 1 menu b
http://www.mediafire.com/?8x5e985dvhtj8bs part 2 menu b
http://www.mediafire.com/?afhftml7ic911a0 cat acces part 1
nanti disatukan dalam sebuah folder sorot program ke database yang di atas yang telah disatukan dalam sebuah folder
Banyak amat yah
wkwk .. iya teh..
he..
gmna mba revalina uda dicoba..
susah amat downloadna. Gagal mulu, beberapa part blom bisa.
procedure TForm1.Button1Click(Sender: TObject);
type
TRGBTripleArray = ARRAY[Word] of TRGBTriple;
pRGBTripleArray = ^TRGBTripleArray; // Use a PByteArray for pf8bit color.
var
x,y : Integer;
bx, by : Integer;
BitMap, BigBitMap : TBitMap;
P, bigP : pRGBTripleArray;
pixForm, bigpixForm : TPixelFormat;
begin
BitMap := TBitMap.create;
BigBitMap := TBitMap.create;
try
BitMap.LoadFromFile(‘littlefac.bmp’);
pixForm := BitMap.PixelFormat;
bigpixForm := BigBitMap.PixelFormat;
BitMap.PixelFormat := pf24bit;
BigBitMap.PixelFormat := pf24bit;
BigBitMap.Height := BitMap.Height * 2;
BigBitMap.Width := BitMap.Width * 2;
for y := 0 to BitMap.Height – 1 do
begin
P := BitMap.ScanLine[y];
for x := 0 to BitMap.Width – 1 do
begin
bx := x * 2;
by := y * 2;
bigP := BigBitMap.ScanLine[by];
bigP[bx] := P[x];
bigP[bx + 1] := P[x];
bigP := BigBitMap.ScanLine[by + 1];
bigP[bx] := P[x];
bigP[bx + 1] := P[x];
end;
end;
Canvas.Draw(0, 0, BitMap);
Canvas.Draw(200, 200, BigBitMap);
finally
BitMap.Free;
BigBitMap.Free;
end;
end;
bisa minta tolong bagaman caranya menyisipkan”saveDialog dan open dialog”
karna ini program skripsi ku yaitu buat program memperbesar gambar atau pixel…
mohon bantuannya….
OpenDialog dan SaveDialog dapat dipanggil pada baris ini:
Kemudian, baris LoadFromFile dapat diganti ke:
Untuk menyimpan hasil zoom, kode SaveToFile dapat ditambahkan tepat sebelum keyword finally:
Semoga potongan kode di atas bermanfaat buat Anda
sudah saya coba Mas tapi muncul Errornya ini pesannya…
Project project1.exe raise Exception class EAccessViolation with Message ‘Access Violation at Address 000000000. Read of Address 000000000′. Process Stop …..dst
… apa nya itu Mas?? :
oh saya dapat mi mas….. kesalahannya…
ada lagi pertanyaanku……….mas maaf kalo merepotkan sekali….,
itu program yang kita buat compress pake zlib,,
yang mau saya tanyakan knp tdk bisa dibuka……??
terimah kasi banyak Mas…..
1. Pesan error AV (Access Violation) dengan kode 00000000 disebabkan karena pemanggilan objek yang tidak ada di memory. Apakah Anda menjalankan kode di atas tanpa menambahkan komponen TOpenDialog dan TSaveDialog ke form? Bila belum, keduanya berada di page Dialog pada Component Palette.
2. Berarti ada yang keliru. ZLib sudah saya gunakan tahun 2004 untuk membuat file setup (installer) seperti InstallShield. Saya sudah coba membuat setup untuk game Stronghold Crussader dan tidak ada error sedikitpun. Silahkan kirim kode kompres dan dekompres yang Anda buat ke sini agar bisa kita diskusikan.
Sukses buat Anda
salam kenal.
begini mas ada yang saya mau tanyakan, bagaimana membuat report di delphi untuk menampilkan gambar format jpg yang sudah disimpan dalam database. Database yang saya gunakan Mysql dengan koneksi Zeos..
Terima kasih banyak
mas joko Mau nanya 2 aja?
1.giaman caranya membuat CPU temperatur pada delphi7.kalo bisa minta codingya mas?
2.gimana caranya perintah riley di port COM5 menjadi ON dan OF..klo bisa minta codinnya mas..
kiranya dapat membantu? by email ya mass klo bisa..di tunggu ya ?
mas saya ada kendala saat edit data, proses lancar tapi data tidak berubah… listingnya seperti ini:
with DM1.ZTempOSB do
begin
SQL.Clear;
SQL.Text:=’update osberobat set status_layanan=:parstatuslayanan where
no_reg=:parnoreg’;
Params.ParamByName(‘parstatuslayanan’).AsString:=Edit20.Text;
Params.ParamByName(‘parnoreg’).AsString:=label24.Caption;
end;
ExecSQL;
tolong pencerahannya dong….
eh ada yg kelewat, saya mengunakan mysql, xamp, delphi 6 koneksi menggunakan zeos 6…
Ada yang kelewat…
Beberapa kemungkinan:
1. Data dalam osberobat dengan no_reg yang dimaksud tidak ada (tidak valid/salah ketik).
2. Bila data ditampilkan lewat dataset lain, misalnya ZTable1, pastikan dataset ZTable1.Refresh dipanggil untuk merefresh data, setelah update lewat DM1.ZTempOSB dilakukan.
3. Dari kode di atas, ExecSQL harus berada di antara [Begin] dan [End]. Jangan lupa tambahkan Close(); sebelum [End].
4. Pastikan dan biasakan, penulisan parameter setelah tanda “=” dipisahkan dengan spasi. Contoh:
update osberobat set status_layanan=:parstatuslayanan where no_reg=:parnoreg
seharusnya menjadi:
update osberobat set status_layanan=:parstatuslayanan where no_reg=:parnoreg
Konvensi ini untuk mencegah kesalahan interpretasi oleh database server.
“update tabel set jumlah = jumlah-:angka”
di mana ParamByName(‘angka’).Asinteger := -1;
query di atas akan menjadi
“update tabel set jumlah = jumlah – -1″
dan dibaca oleh server:
“update tabel set jumlah = jumlah + 1″
Celaka duabelas!
Semoga ke-empat poin di atas dapat menjadi solusi. Thanks kunjungannya
private
{ Private declarations }
procedure ExceptionHandler(Sender: TObject; e: Exception);
public
{ Public declarations }
function Folder:String;
end;
var
FMain: TFMain;
implementation
uses SysConst, zLibEx;
{$R *.dfm}
const
FORMAT_FLOAT = ‘#,#0.00 ;(#,#0.00) ;- ‘;
var
ListV : TListView;
/////////////////////////////////
/// KOMPRESSION FUNCTIONS ///
/////////////////////////////////
function CompressStreamToStream(const InStream, OutStream: TStream; const Level:TZCompressionLevel; var OutSize: Int64):Boolean;
begin
Result := False;
OutSize := 0;
try
ZCompressStream(InStream, OutStream, Level);
OutSize := OutStream.Size;
Result := True;
finally
end;
end;
function CompressFileToFile(const InputFile, OutFile:String; const Level:TZCompressionLevel; var OutSize: Int64):Boolean;
var
SS, TS: TFileStream;
begin
Result := False;
SS := TFileStream.Create(InputFile, fmOpenRead + fmShareDenyNone);
TS := TFileStream.Create(OutFile, fmCreate);
OutSize := 0;
try
ZCompressStream(SS, TS, Level);
OutSize := TS.Size;
Result := True;
finally
TS.Free;
SS.Free;
end;
end;
function CompressFileToStream(const InputFile: String; const Level:TZCompressionLevel; var OutStream:TStream; var OutSize: Int64):Boolean;
var
SS: TFileStream;
begin
Result := False;
OutStream.Size := 0;
SS := TFileStream.Create(InputFile, fmOpenRead + fmShareDenyNone);
OutSize := 0;
try
ZCompressStream(SS, OutStream, Level);
OutSize := OutStream.Size;
Result := True;
finally
SS.Free;
end;
end;
function CompressStreamToFile(InStream: TStream; const Level:TZCompressionLevel; const OutFile:String; var OutSize: Int64):Boolean;
var
TS: TFileStream;
begin
Result := False;
TS := TFileStream.Create(OutFile, fmCreate);
OutSize := 0;
try
ZCompressStream(InStream, TS, Level);
OutSize := TS.Size;
Result := True;
finally
TS.Free;
end;
end;
/////////////////////////////////
/// DEKOMPRESSION FUNCTIONS ///
/////////////////////////////////
function DeCompressStreamToStream(const InStream, OutStream: TStream; var OutSize: Int64):Boolean;
begin
Result := False;
OutSize := 0;
try
ZDecompressStream(InStream, OutStream);
OutSize := OutStream.Size;
Result := True;
finally
end;
end;
function DeCompressFileToFile(const InputFile, OutFile:String; var OutSize: Int64):Boolean;
var
SS, TS: TFileStream;
begin
Result := False;
SS := TFileStream.Create(InputFile, fmOpenRead + fmShareDenyNone);
TS := TFileStream.Create(OutFile, fmCreate);
OutSize := 0;
try
ZDecompressStream(SS, TS);
OutSize := TS.Size;
Result := True;
finally
TS.Free;
SS.Free;
end;
end;
function DeCompressFileToStream(const InputFile: String; var OutStream:TStream; var OutSize: Int64):Boolean;
var
SS: TFileStream;
begin
Result := False;
OutStream.Size := 0;
SS := TFileStream.Create(InputFile, fmOpenRead + fmShareDenyNone);
OutSize := 0;
try
ZDecompressStream(SS, OutStream);
OutSize := OutStream.Size;
Result := True;
finally
SS.Free;
end;
end;
function DeCompressStreamToFile(InStream: TStream; const OutFile:String; var OutSize: Int64):Boolean;
var
TS: TFileStream;
begin
Result := False;
TS := TFileStream.Create(OutFile, fmCreate);
OutSize := 0;
try
ZDecompressStream(InStream, TS);
OutSize := TS.Size;
Result := True;
finally
TS.Free;
end;
end;
/////////////////////////////////
function FileSize(const AFile:String):int64;
begin
Result := 0;
with TFileStream.Create(AFile, fmOpenRead or fmShareDenyNone) do
begin
Result := Size;
Free;
end;
end;
function TFMain.Folder: String;
begin
Result := ”;
SelectDirectory(‘Select Target Folder’, ”, Result);
end;
function ItemExists(List: TListView; const AItem:String):Boolean;
var
i:integer;
begin
Result := False;
if List.Items.Count = 0 then exit;
for i := 0 to List.Items.Count -1 do
begin
if lowercase(list.Items[i].Caption) = lowercase(Aitem) then
begin
Result := True;
List.ItemIndex := i;
List.Refresh;
Break;
end;
end;
end;
procedure TFMain.FormCreate(Sender: TObject);
begin
Application.OnException := ExceptionHandler;
PageControl1.ActivePageIndex := 0;
Icon.Handle := Application.Icon.Handle;
Caption := Application.Title;
lvComp.Clear;
lvDecomp.Clear;
PageControl1Change(PageControl1);
end;
procedure TFMain.Button1Click(Sender: TObject);
var
OutDir: String;
AFileSrc, AFileTrg:String;
i:integer;
sz,x: int64;
begin
if ListV.Items.Count = 0 then
begin
ExceptionHandler(Self, Exception.Create(‘Tidak ada file yang akan dikompress.’));
exit;
end;
OutDir := Folder();
if trim(OutDir) = ” then exit;
OutDir := ExcludeTrailingPathDelimiter(OutDir);
if not DirectoryExists(OutDir) then
begin
raise Exception.Create(‘Direktori tidak ditemukan!’);
exit;
end;
for i:= 0 to ListV.Items.Count -1 do
begin
AFileSrc := ListV.Items[i].Caption;
AFileTrg := OutDir +”+ ExtractFileName(AFileSrc)+’.zlib’;
ListV.Items[i].ImageIndex := 1;
Application.ProcessMessages;
x := FileSize(AFileSrc);
if CompressFileToFile(AFileSrc, AFileTrg, zcMax, Sz) then
begin
ListV.Items[i].SubItems[1] := FormatFloat(FORMAT_FLOAT, sz/1024)+’KB’;
ListV.Items[i].SubItems[2] := FormatFloat(FORMAT_FLOAT, sz / x) +’%';
ListV.Items[i].ImageIndex := 2;
end
else
begin
ListV.Items[i].SubItems[2] := ‘Error’;
ListV.Items[i].ImageIndex := 6;
end;
Application.ProcessMessages;
end;
end;
procedure TFMain.ExceptionHandler(Sender: TObject; e: Exception);
begin
MessageBox(handle,PChar(‘Following error has occured: ‘#13 + e.Message), ‘Error’, MB_ICONHAND);
end;
procedure TFMain.Add1Click(Sender: TObject);
var
i:integer;
begin
if PageControl1.ActivePageIndex = 1 then
begin
OpenDialog1.Filter := ‘Zlib Compressed Files (*.zlib)|*.zlib’;
end
else
begin
OpenDialog1.Filter := ‘All Files (*.*)|*.*’;
end;
if not OpenDialog1.Execute then exit;
ListV.Items.BeginUpdate;
try
for i:=0 to OpenDialog1.Files.Count -1 do
begin
if ItemExists(ListV, OpenDialog1.Files[i]) then
ExceptionHandler(Self, Exception.Create(‘File ini telah ada di daftar:’#13#13+OpenDialog1.Files[i]))
else
begin
with ListV.Items.Add do
begin
Caption := OpenDialog1.Files[i];
ImageIndex := 0;
with SubItems do
begin
Add(FormatFloat(FORMAT_FLOAT, FileSize(OpenDialog1.Files[i])/1024)+’KB’);
Add(FormatFloat(FORMAT_FLOAT, 0)+’KB’);
add(FormatFloat(’0.00′,0)+’%');
end;
end;
end;
end;
finally
ListV.Items.EndUpdate;
end;
end;
procedure TFMain.PageControl1Change(Sender: TObject);
begin
if PageControl1.ActivePageIndex = 0 then
ListV := lvComp
else
ListV := lvDecomp;
end;
procedure TFMain.RemoveSelected1Click(Sender: TObject);
begin
ListV.DeleteSelected;
end;
procedure TFMain.RemoveAll1Click(Sender: TObject);
begin
ListV.Items.Clear;
end;
procedure TFMain.SelectAll1Click(Sender: TObject);
begin
ListV.SelectAll;
end;
procedure TFMain.InvertSelection1Click(Sender: TObject);
var
i:integer;
begin
ListV.Items.BeginUpdate;
try
for i:= 0 to ListV.Items.Count -1 do
begin
ListV.Items[i].Selected := not ListV.Items[i].Selected;
end;
finally
ListV.Items.EndUpdate;
end;
end;
procedure TFMain.Button2Click(Sender: TObject);
var
OutDir: String;
AFileSrc, AFileTrg:String;
i:integer;
sz,x: int64;
begin
if ListV.Items.Count = 0 then
begin
ExceptionHandler(Self, Exception.Create(‘Tidak ada file yang akan dikompress.’));
exit;
end;
OutDir := Folder();
if trim(OutDir) = ” then exit;
OutDir := ExcludeTrailingPathDelimiter(OutDir);
if not DirectoryExists(OutDir) then
begin
raise Exception.Create(‘Direktori tidak ditemukan!’);
exit;
end;
for i:= 0 to ListV.Items.Count -1 do
begin
AFileSrc := ListV.Items[i].Caption;
AFileTrg := OutDir +”+ ExtractFileName(AFileSrc);
Delete(AFileTrg, length(AFileTrg)-4,5);
ListV.Items[i].ImageIndex := 1;
Application.ProcessMessages;
x := FileSize(AFileSrc);
if DeCompressFileToFile(AFileSrc, AFileTrg, sz) then
begin
ListV.Items[i].SubItems[1] := FormatFloat(FORMAT_FLOAT, sz/1024)+’KB’;
ListV.Items[i].SubItems[2] := FormatFloat(FORMAT_FLOAT, sz / x) +’%';
ListV.Items[i].ImageIndex := 2;
end
else
begin
ListV.Items[i].SubItems[2] := ‘Error’;
ListV.Items[i].ImageIndex := 6;
end;
Application.ProcessMessages;
end;
end;
end.
mas maaf baru masuk lagi…!
itu diatas Listing yang ingin saya pisahkah form karna Compress dan Dekompres itu dalam 1 form. jadi bgaimana cara pisahkannya….. untuk 1form untuk Compres dan 1 form buat Decompress. terim kasih…
Mas ada programku mau saya ubah tampilannya menjadi ” :ebih User Frendly”
bisa minta tolong terimah kasi”"” saya kirimkan lewat E-mail saja…
mas sya mau tanya.
bagaimana cara load file jpeg dari dB Access untuk di tampilkan ke quick repot.
saya sudah berhasil menyimpan file jpeg ke Access tapi saya tidak bisa menampilkan file tersebut ke dalam quick report delphi 7.
mohon bantuannya..
terima kasih
Mas saya mau tanya nih
Saya buat laporan di delphi dengan menggunakan komponen Quick Report
Gmn caranya supaya laporan yang sudah di buat itu bisa diakses melalui Internet
Mohon pencerahannya
Thanks
assalamu’alaikum gan, mau nanya niiihh
1. gmn caranya manggil file *.exe ??
2. gmn caranya memasukkan file *.gif ataupun video??
MATUR NUHUN
mau tanya nih… tentang matriks Tstringgrid..
misalnya : matriks 5×5
O/D 1 2 3 4 5
1 0 5 10 5 5
2 5 0 2 5 10
3 10 2 0 10 12
4 5 5 10 0 10
5 5 10 12 10 0
cara kosongkan baris dan kolom, misalnya 3,1,5, jadi baris 3 dikosongkan, baris dan kolom 1 dikosongkan, dan 5 hanya kolomnya saja..
dalam delphi gmn caranya?
Salam.
Bgini saya kan buat aplikasi pake delpi mysql dengan Zeos. Saya mau delete data. Ktika tekan Button Del malah muncul pesan ini ” Acces violation at addres 005FAAE8 ini module Administrasi.exe”
Kira – kira Q salah codenya ato apa ya?
Tolong kasih bantuan tmen2.
Makasih
Rubiman
satia_firdausi@yahoo.com
FB : Mas Rubiman
Kode untuk menghapusnya bagaimana?