<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stillcetek &#187; Delphi</title>
	<atom:link href="http://www.stillcetek.com/category/delphi/feed" rel="self" type="application/rss+xml" />
	<link>http://www.stillcetek.com</link>
	<description>Blog Lukman Stillcetek, Delphi Tutorial, Php Tutorial, Article CSS, Mysql, Javascript Tutorial, MSSQL Server, Linux Ubuntu</description>
	<lastBuildDate>Fri, 23 Jul 2010 06:50:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Filter Without Query on Paradok (Delphi)</title>
		<link>http://www.stillcetek.com/2010-07-23/filter-without-query-on-paradok-delphi.html</link>
		<comments>http://www.stillcetek.com/2010-07-23/filter-without-query-on-paradok-delphi.html#comments</comments>
		<pubDate>Fri, 23 Jul 2010 06:42:17 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/?p=119</guid>
		<description><![CDATA[Sebelum kenal dengan query, saya memakai fungsi Filter di delphi dengan database paradok, ini juga bisa di pakai untuk database lain, seperti yang pernah saya pakai dengan menggunakan Microsoft Access, belakangan ada yang tanya bagaimana sih jika mau menampilkan data buku yang judulnya mengandung kata &#8216;Delphi&#8217;?
Untuk kebutuhan diatas kita bisa menulis kodenya seperti berikut :
Adotable1.Filtered:=False;
Adotable1.Filter:='Judul_Buku [...]]]></description>
			<content:encoded><![CDATA[<p>Sebelum kenal dengan query, saya memakai fungsi Filter di delphi dengan database paradok, ini juga bisa di pakai untuk database lain, seperti yang pernah saya pakai dengan menggunakan Microsoft Access, belakangan ada yang tanya bagaimana sih jika mau menampilkan data buku yang judulnya mengandung kata &#8216;Delphi&#8217;?</p>
<p>Untuk kebutuhan diatas kita bisa menulis kodenya seperti berikut :</p>
<pre>Adotable1.Filtered:=False;
Adotable1.Filter:='Judul_Buku like '+QuotedStr('%'+Edit1.Text+'%') ;
Adotable1.Filtered:=False;</pre>
<p>Dengan kode diatas maka anda akan mendapatkan buku-buku yang ada kata &#8216;delphi&#8217; nya. Semoga membantu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2010-07-23/filter-without-query-on-paradok-delphi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DBgrid Can&#8217;t be Scrolled</title>
		<link>http://www.stillcetek.com/2009-05-15/dbgrid-cant-be-scroll.html</link>
		<comments>http://www.stillcetek.com/2009-05-15/dbgrid-cant-be-scroll.html#comments</comments>
		<pubDate>Fri, 15 May 2009 02:57:25 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2009-05-15/dbgrid-cant-be-scroll.html</guid>
		<description><![CDATA[Ada kasus nih, ternyata dbgrid yang saya buat untuk menampilkan data, scroll mouse g berfungsi, ada triknya nih sapa tau ada yang mengalami masalah yang sama

unit dataFranc;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SXSkinControl, SXSkinImage, SXSkinLibrary, SXSkinForm,
SXSkinLabel, SXSkinGroupBox, StdCtrls, Grids, DBGrids,. . . . .

typeNewControl = class(TControl);
TForm1 = class(TForm)
. . . . . .

privateprocedure
 [...]]]></description>
			<content:encoded><![CDATA[<p>Ada kasus nih, ternyata dbgrid yang saya buat untuk menampilkan data, scroll mouse g berfungsi, ada triknya nih sapa tau ada yang mengalami masalah yang sama</p>
<pre>
unit dataFranc;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SXSkinControl, SXSkinImage, SXSkinLibrary, SXSkinForm,
SXSkinLabel, SXSkinGroupBox, StdCtrls, Grids, DBGrids,. . . . .

typeNewControl = class(TControl);
TForm1 = class(TForm)
. . . . . .

privateprocedure
 DBGridScroll(var Message: TMessage);
{ Private declarations }
public
{ Public declarations }
end;

procedure TForm1.DBGridScroll(var Message: TMessage);
var count : short;
begin
if (Message.Msg = WM_MOUSEWHEEL) then
begin
  count:=HIWORD(Message.WParam);
  count:=count div 120;
  DBGrid1.DataSource.DataSet.MoveBy(-count)
end
else
  NewControl(DBGrid1).WndProc(Message);
end;

Procedure TForm1.FormCreate(Sender: TObject);
begin
 DBGrid1.WindowProc := DBGridScroll;
end;end.</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2009-05-15/dbgrid-cant-be-scroll.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delphi Connect to MS Access with Blank Password &amp; Exclusive Protect</title>
		<link>http://www.stillcetek.com/2009-05-15/delphi-connect-to-ms-access-with-blank-password-exclusive-protect.html</link>
		<comments>http://www.stillcetek.com/2009-05-15/delphi-connect-to-ms-access-with-blank-password-exclusive-protect.html#comments</comments>
		<pubDate>Fri, 15 May 2009 02:37:20 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2009-05-15/delphi-connect-to-ms-access-with-blank-password-exclusive-protect.html</guid>
		<description><![CDATA[Kita bisa menggunakan ADO Connection untuk mengakses database Access, saya bisa menggunakan Ado Query dan Datasource di data access untuk mengolah data, berikut contoh Kode Connectionnya
Connection String untuk blank password :
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ GetCurrentDir +'mydatabase.mdb;Persist Security Info=False';
Connection Strin untuk database yang di password :
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ GetCurrentDir +'mydatabase.mdb;Persist Security Info=False;Jet OLEDB:Database Password=mypassword';
Set datasource [...]]]></description>
			<content:encoded><![CDATA[<p>Kita bisa menggunakan ADO Connection untuk mengakses database Access, saya bisa menggunakan Ado Query dan Datasource di data access untuk mengolah data, berikut contoh Kode Connectionnya</p>
<p>Connection String untuk blank password :</p>
<pre>ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ GetCurrentDir +'mydatabase.mdb;Persist Security Info=False';</pre>
<p>Connection Strin untuk database yang di password :</p>
<pre>ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ GetCurrentDir +'mydatabase.mdb;Persist Security Info=False;Jet OLEDB:Database Password=mypassword';</pre>
<p>Set datasource ADOquery1 dengan ADOconnection1, dan set dataset Datasource1 dengan ADOquery1</p>
<pre>
ADOQuery1.ConnectionString:=ADOConnection1.ConnectionString;</pre>
<pre>With ADOQuery1 Do
Begin
  Close;
  SQL.Clear;
  SQL.Add('select * from table1');
  Open;
End;

DataSource1.DataSet := ADOQuery1;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2009-05-15/delphi-connect-to-ms-access-with-blank-password-exclusive-protect.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Input , Search Data With ADO &amp; MS Access</title>
		<link>http://www.stillcetek.com/2008-07-15/input-search-data-with-ado-ms-access.html</link>
		<comments>http://www.stillcetek.com/2008-07-15/input-search-data-with-ado-ms-access.html#comments</comments>
		<pubDate>Tue, 15 Jul 2008 14:58:12 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2008-07-15/input-search-data-with-ado-ms-access.html</guid>
		<description><![CDATA[Blogku, sebenarnya g tega meninggalkan blog lama2, dah hampir 2 bulan ga sentuh stillcetek  (
Ada yang  menanyakan tentang ADO dan MS Access,  kebetulan tugas akhir dulu saya menggunakan delphi, dengan ADO Connection, dan MS Access sebagai databasenya, program sederhana ya tapi alhamdulillah bener2 buat sendiri jadi puas sedapatnya.  
Ini Contoh program [...]]]></description>
			<content:encoded><![CDATA[<p>Blogku, sebenarnya g tega meninggalkan blog lama2, dah hampir 2 bulan ga sentuh stillcetek <img src='http://www.stillcetek.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> (<br />
Ada yang  menanyakan tentang ADO dan MS Access,  kebetulan tugas akhir dulu saya menggunakan delphi, dengan ADO Connection, dan MS Access sebagai databasenya, program sederhana ya tapi alhamdulillah bener2 buat sendiri jadi puas sedapatnya. <img src='http://www.stillcetek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ini Contoh program  Add :</p>
<pre>
procedure TFrBarang.BTAddClick(Sender: TObject);
begin
if Application.MessageBox('Benar mau disimpan ?','Konfirmasi',4+32)=idyes then
begin
with ADOobat do
begin
append;
FieldByName('kdobat').AsString:=ed1.Text;
FieldByName('nmobat').AsString:=ed2.Text;
FieldByName('satuan').AsString:=ed3.Text;
FieldByName('harga').AsFloat:=StrToInt(ed4.Text);
FieldByName('stok').AsInteger:=StrToInt(ed5.Text);
FieldByName('kdjenis').AsString:=DbJenis.KeyValue;
post;
end;
end;
end;</pre>
<p>Saya menggunakan method Append; dan Post; untuk save data, ADOobat adalah Ado table yang saya rename, kalo untuk Edit data tinggal ganti Append dengan Edit;</p>
<p>Untuk pencarian saya gunakan query, contohnya sebagai berikut; contoh mencari Obat sesuai kodenya:</p>
<pre>
With ADOobat Do
begin
Close;
Sql.Clear;
sql.Add('Select * From tb_obat Where kode_obat=:kd');
Prepared;
Parameters.Items[0].Value:=comboObat.KeyValue;
Open;
if Not Eof then
ed2.Text:=FieldByname('nama_obat').AsString;
end;</pre>
<p>Close : tutup koneksi<br />
sql.clear :  bersihkan query yang mungkin sudah ada sebelumnya<br />
sql.Add : buat query pencariannya<br />
Prepared : query dipersiapkan<br />
Parameters : Poin yang dicari; items[0] adalah mengambil nilai parameter pertama yang ada comboObat(Dbcombobox) atau jika ada disebuah textbox maka text.text;<br />
Jika ketemu maka  contoh nama obat akan di tampilkan di ed2;</p>
<p>Contoh dengan dua parameter pencarian; Mencari data di table tbbeli dengan nofaktur tertentu dan kode barang tertentu:</p>
<pre>
With DM.Abeli Do
begin
Close;
Sql.Clear;
sql.Add('Select * From tbbeli where nofaktur=:nf and kdobat=:ko');
Prepared;
Parameters.Items[0].Value:=Ed1.Text;
Parameters.Items[1].Value:=Edit1.Text;
Open;
If not eof then
begin
Date1.Date:=FieldByName('tglbeli').AsDateTime;
DbPasok.KeyValue:=FieldByName('kdpemasok').AsString;
Ed2.Text:=FieldByName('nmpemasok').AsString;
Ed3.Text:=FieldByName('nmobat').AsString;
end
else
begin
MessageDlg('Kode barang '+Edit1.Text+ ' dengan no faktur '+ed1.Text+' tidak ada!',mtInformation,[MbOK],0);
end;</pre>
<p>Semoga membantu</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2008-07-15/input-search-data-with-ado-ms-access.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Filter Data Database Paradok di Delphi 7</title>
		<link>http://www.stillcetek.com/2007-12-19/filter-data-database-paradok-di-delphi-7.html</link>
		<comments>http://www.stillcetek.com/2007-12-19/filter-data-database-paradok-di-delphi-7.html#comments</comments>
		<pubDate>Wed, 19 Dec 2007 15:23:02 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2007-12-19/filter-data-database-paradok-di-delphi-7.html</guid>
		<description><![CDATA[Artikel kali ini membahas tentang bagaimana memfilter data dalam membuat laporan dari hasil pengolahan data yang kita buat. Mb Sri yang nanya nih.  .
Misalkan kita hanya akan mencetak data penjualan  pada tanggal sekian saja, atau akan mencetak data barang yang stoknya menipis, atau mencetak data mahasiswa yang nilainya A saja, atau anda ingin [...]]]></description>
			<content:encoded><![CDATA[<p>Artikel kali ini membahas tentang bagaimana memfilter data dalam membuat laporan dari hasil pengolahan data yang kita buat. Mb Sri yang nanya nih. <img src='http://www.stillcetek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p>Misalkan kita hanya akan mencetak data penjualan  pada tanggal sekian saja, atau akan mencetak data barang yang stoknya menipis, atau mencetak data mahasiswa yang nilainya A saja, atau anda ingin memfilter data karyawan yang menerima gaji tanggal sekian dan dengan NIK tertentu, serta masih banyak lagi lainnya. Yang pasti Filter data sangat penting sekali dalam proses pembuatan laporan.</p>
<p>Saya Menggunakan Object Table di BDE dan  Data Source di Data Access untuk koneksi dan pengolahan datanya.</p>
<p>1. Tampilkan data Karyawan dengan NIK &#8220;040001&#8243;</p>
<p>Code :</p>
<pre>
Table1.Filtered:=False;
Table1.Filter='NIK='+QuotedStr('040001');
Table1.Filtered:=True;
</pre>
<p>2. Tampilkan data yang karyawan yang gajinya lebih besar dari 2 juta.</p>
<p>code:</p>
<pre>
Table1.Filtered:=False;
Table1.Filter:='Total_Gaji&gt;2000000';
Table1.Filtered:=True;
</pre>
<p>3. Tampilkan data penjualan tanggal 17/05/2007 dan dengan Nomor Jual 1002</p>
<p>code:</p>
<pre>
Table1.Filtered:=False;
Table1.Filter:='Tgl_Jual='+QuotedStr('17/05/2007') +'And No_Jual='+QuotedStr('1002');
Table1.Filtered:=True;
</pre>
<p>Anda bisa menggunakan statement And atau Or jika terdapat dua atau lebih kondisi. <img src='http://www.stillcetek.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2007-12-19/filter-data-database-paradok-di-delphi-7.html/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Membuat Menu Aplikasi di Delphi 7</title>
		<link>http://www.stillcetek.com/2007-12-19/membuat-menu-aplikasi-di-delphi-7.html</link>
		<comments>http://www.stillcetek.com/2007-12-19/membuat-menu-aplikasi-di-delphi-7.html#comments</comments>
		<pubDate>Wed, 19 Dec 2007 14:01:03 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2007-12-19/membuat-menu-aplikasi-di-delphi-7.html</guid>
		<description><![CDATA[
Menanggapi respon dari mas rohman, yang ingin membuat menu utama pada aplikasinya. Monggo ikuti langkah-langkah berikut untuk membuat menu seperti contoh diatas.

Buat Project sebuah baru anda, dari menu File -&#62; New -&#62; Application,maka akan otomatis ada form1
Buat beberapa form baru di dalam project anda tersebut. Dari menu File -&#62; New -&#62; Form, pada contoh ini [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.stillcetek.com/cf/2007/12/contohmenu.jpg" alt="contohmenu.jpg" /></p>
<p>Menanggapi respon dari mas rohman, yang ingin membuat menu utama pada aplikasinya. Monggo ikuti langkah-langkah berikut untuk membuat menu seperti contoh diatas.</p>
<ol>
<li>Buat Project sebuah baru anda, dari menu <strong>File -&gt; New -&gt; Application,</strong>maka akan otomatis ada form1</li>
<li>Buat beberapa form baru di dalam project anda tersebut. Dari menu <strong>File -&gt; New -&gt; Form,</strong> pada contoh ini saya membuat 3 form yaitu <strong>Form1</strong> (sebagai menu utama), <strong>Form2</strong> dan <strong>Form3</strong> sebagai Form prompt ketika di klik salah satu menu.</li>
<li>Jangan lupa menyimpan project dan form-form anda, dari menu <strong>File -&gt; Save All</strong>.</li>
<li>Mulai membuat menupada Form1 letakkan object <strong>MainMenu </strong>yang ada ditab <strong>Standar. </strong>Klik kanan pada <strong>MainMenu1 -&gt; Menu Designer</strong>. maka akan ada tampilan edit menu.<img src="http://www.stillcetek.com/cf/2007/12/2.jpg" alt="2.jpg" />
<p>Klik pada area biru gambar diatas, kemudian pada properties Caption ketikkan &#8220;<strong>Document</strong>&#8220;, kemudian enter. Satu menu utama sudah terbuat.Untuk membuat<em> menu</em> dari <strong>Document</strong>, klik pada menu document,  akan ada satu area menu yang masih kosong, klik kemudian pada caption ketikkan <strong>Baru </strong> dan enter, dan seterusnya untuk menu-menu lain.</p>
<p>Untuk membuat  <em>garis pembatas antar menu</em>, cukup ketikkan <strong>- (tanda min), </strong>pada caption.</p>
<p>Untuk membuat <em>sub menu</em> dari menu <strong>Baru, </strong>klik kanan pada Menu <strong>Baru -&gt; Create Sub Menu</strong>, klik pada satu area kosong dari sub menu baru, kemudian ketik <strong>Dokument Kosong. </strong>Demikianjuga untuk membuat menu-menu.</p>
<p>Close windows  editor menu untuk selesai dan kembali ke design Form1. Jika berhasil maka pada form1 sudah ada menu-menu yang kita buat.</li>
<li>Membuat Form show/dan showmodal.untuk contoh ini, Form2 akan ditampilkan jika dipilih menu Document -&gt; Buka.<br />
pilih menu Document dan klik Buka, maka akan masuk ke lebar source code, Kodenya adalah</p>
<pre>Form2.Show;</pre>
<p>atau bisa juga</p>
<pre>Form2.ShowModal.</pre>
<p>Apa perbedaan antara kedua kodenya?</p>
<p>Jika menggunakan fungsi show, maka form1 dan form2 bisa bertukar tempat, artinya form1 bisa diatas Form2 dan Form2 bisa diatas form1. Tapi ShowModal akan membuat Form1 sebagai menu utama selalu berada dibelakang, dan Form2 akan selalu berada diatas (Always on Top).</li>
<li>Simpan kembali project anda.</li>
<li>Run / F9 untuk eksekusi.ketika run akan ada pesan berikut
<p><img src="http://www.stillcetek.com/cf/2007/12/info.jpg" alt="info.jpg" /></p>
<p>Pilih Yes, bahwa benar Form1 mereferensikan form dua di unitnya.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2007-12-19/membuat-menu-aplikasi-di-delphi-7.html/feed</wfw:commentRss>
		<slash:comments>55</slash:comments>
		</item>
		<item>
		<title>Skin Changer Dengan Delphi</title>
		<link>http://www.stillcetek.com/2007-11-20/change-skinner-aplikasi-dengan-delphi.html</link>
		<comments>http://www.stillcetek.com/2007-11-20/change-skinner-aplikasi-dengan-delphi.html#comments</comments>
		<pubDate>Tue, 20 Nov 2007 09:01:48 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2007-11-20/change-skinner-aplikasi-dengan-delphi.html</guid>
		<description><![CDATA[Yang menunggu tutorial ini, mohon maaf kelamaan dipostingnye.. he he. biasa deh ga perlu banyak ceramah langsung aja.
Berikut adalah contoh penggunaan multi skin diaplikasi seperti halnya Winamp skins, jadi anda bisa menganti tampilan program anda langsung, tinggal pilih skin kemudian OK, berubah deh tampilannya. Ketika anda menutup program anda dan membukanya kembali nanti, maka skin [...]]]></description>
			<content:encoded><![CDATA[<p>Yang menunggu tutorial ini, mohon maaf kelamaan dipostingnye.. he he. biasa deh ga perlu banyak ceramah langsung aja.</p>
<p>Berikut adalah contoh penggunaan multi skin diaplikasi seperti halnya Winamp skins, jadi anda bisa menganti tampilan program anda langsung, tinggal pilih skin kemudian OK, berubah deh tampilannya. Ketika anda menutup program anda dan membukanya kembali nanti, maka skin yang akan ditampilkan adalah skin settingan anda terakhir kali.</p>
<p>Pastikan Skin library sudah diinstall di Delphi anda, jika belum ikuti langkah-langkah <a href="http://www.stillcetek.com/2007-09-22/delphi-skinner-sxskincomponents.html">disini</a></p>
<p>Agar langkah-langkah kita seiring, silahkan atur folder dan file-file anda seperti berikut:</p>
<p><img src="http://www.stillcetek.com/cf/2007/11/folder.jpg" border="0" height="265" width="334" /></p>
<p>Ket:</p>
<ol>
<li>Folder <strong>skinTest </strong>: adalah folder utama letak program kita dibuat</li>
<li>Folder <strong>skin </strong>: adalah letak folder skin-skin yang anda punya.<br />
Skin-skin tersebut bisa anda download di <a href="http://www.saarixx.info/sxskincomponents/en/downloads.php">http://www.saarixx.info/sxskincomponents/en/downloads.php</a><br />
atau dari skin-skin yang anda buat sendiri.</li>
<li><strong>cetekSkin.conf</strong> : adalah file config untuk menyimpan settingan skin. file ini berguna untuk menyimpan setting yang anda pilih, File ini tidak perlu dibuat karena akan dicreate dengan kode program.</li>
<li>file <strong>dpr,exe,pas,dfm dkk</strong>, sopasti file-file program kita.</li>
</ol>
<p>Selanjutnya buat design sesuai selera anda.</p>
<p>Saat mendesign tampilan, lebih baik pasang terlebih dahulu object SXSkinLibrary1, SXSkinForm1, dan kemudian baru object-object lainnya. Ini bermanfaat supaya object-object lain akan secara otomatis mengatur sendiri properties-propertiesnya.</p>
<p>Untuk SXSkinLibrary1, SXSkinForm1 tidak perlu diatur propertiesnya, karena kita akan mengaturnya langsung dari script.</p>
<p>Yuk bahas scriptnya:</p>
<pre>
unit test;
interface
uses

  Windows, Messages, SysUtils, Variants, Classes,Graphics, Controls, Forms,
  Dialogs, SXSkinLibrary, SXSkinForm, SXSkinControl,SXSkinRadioButton,
  SXSkinCheckBox, SXSkinButton, SXSkinEdit,SXSkinPanel, SXSkinImage,
  SXSkinLabel, Grids, DBGrids, SXSkinSpinEdit,StdCtrls, Menus,
  ComCtrls, DirOutln, Outline;Type

{membuat variable object TcetekSkin dengan type record,
dan menambahkan nameOfSkin type string size 20 sebagai satu field}

Type
<strong>  TcetekSkin = record</strong>
<strong>  nameOfSkin : string[20];</strong>
<strong>  end;</strong>

TForm1 = class(TForm)
  SXSkinRadioButton1: TSXSkinRadioButton;
  SXSkinLibrary1: TSXSkinLibrary;
  SXSkinForm1: TSXSkinForm;
  SXSkinImage1: TSXSkinImage;
  SXSkinEdit2: TSXSkinEdit;
  SXSkinEdit1: TSXSkinEdit;
  SXSkinSpinEdit1: TSXSkinSpinEdit;
  SXSkinButton6: TSXSkinButton;
  SXSkinLabel1: TSXSkinLabel;
  SXSkinButton7: TSXSkinButton;
  ComboBox1: TComboBox;
  procedure FormCreate(Sender: TObject);
  procedure SXSkinImage1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  procedure SXSkinImage1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
  procedure SXSkinImage1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
  procedure Button2Click(Sender: TObject);
  procedure SXSkinButton7Click(Sender: TObject);
  private
  { Private declarations }
public
  { Public declarations }
  DraggingForm:Boolean;
  StartDragPT:TPoint;
end;

var
  Form1 : TForm1;
<strong>  myConf : File of TcetekSkin;</strong>
<strong>  cetekSkin : TcetekSkin;</strong>

implementation

uses DateUtils;

{$R *.dfm}</pre>
<p>Ketika form dijalankan maka yang akan dikerjakan adalah: mencari file &#8216;cetekskin.conf&#8217;, jika tidak ada maka skin akan dibuat default yaitu memanggil skin kayu, jika ada maka kode akan membaca isi file tersebut, jika file tidak ada isinya maka akan default ke skin kayu, jika ada, maka isi tersebut adalah nama skin yang akan dipanggil.</p>
<pre><strong>procedure TForm1.FormCreate(Sender: TObject);</strong>
var
dir,myfileconf : String;

begin
myfileconf:= 'cetekskin.conf';

if FileExists(myfileconf) then //check file ada/tidak
begin

     AssignFile(myConf, myfileconf);
     FileMode := fmOpenRead;
     Reset(myConf);
     Read(myConf, cetekSkin); //baca file
     if cetekSkin.nameOfSkin&lt;&gt;''then
            dir := GetCurrentDir +'/skin/'+cetekSkin.nameOfSkin //folder skin
     else
           dir := GetCurrentDir +'/skin/kayu'; //folder skin default
     CloseFile(myConf);
end
else
      dir := GetCurrentDir +'/skin/kayu'; //folder skin default

//actifkan skin terpilih
With SXSkinLibrary1 DO
Begin

     SkinDir:= dir;
     SkinFile:='skin.ini';
     SkinFile2:='skin.ini';
     Active:=True;

end;
end;</pre>
<p>tiga procedure dibawah adalah setting agar form dapat didrag/digeser</p>
<pre>
<strong>procedure TForm1.SXSkinImage1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);</strong>
begin

if Button=mbLeft then
begin

     DraggingForm:=True;
     StartDragPT:=Mouse.CursorPos;
     Dec(StartDragPT.X,Left);
     Dec(StartDragPT.Y,Top);

end;
end;

<strong>procedure TForm1.SXSkinImage1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);</strong>
var PT:TPoint;

begin
if DraggingForm then
begin
     PT:=Mouse.CursorPos;
     SetWindowPos(Handle,0,PT.X-StartDragPT.X,PT.Y-StartDragPT.Y,0,0,SWP_NOSIZE or SWP_NOZORDER);

end;

end;

<strong>procedure TForm1.SXSkinImage1MouseUp(Sender: TObject; Button: TMouseButton;</strong>
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
     DraggingForm:=False;
end;</pre>
<p>//procedure untuk merubah setting skin</p>
<pre>
<strong>procedure TForm1.SXSkinButton7Click(Sender:TObject);</strong>
vardir : string;
begin

AssignFile(myConf, 'cetekskin.conf'); //setting file config
ReWrite(myConf); //kosongkan isi file
cetekSkin.nameOfSkin := ComboBox1.Text;
Write(myConf, cetekSkin); //tulis file dengan text combo terpilih
CloseFile(myConf);

//aktivkan skin

dir := GetCurrentDir + '/skin/'+ LowerCase(ComboBox1.Text);

With SXSkinLibrary1 DO
Begin

     SkinDir:= dir;
     SkinFile:='skin.ini';
     SkinFile2:='skin.ini';
     Active:=True;

end;
end;
end.</pre>
<p>Monggo dicoba. Contoh sederhana.</p>
<p><img src="http://www.stillcetek.com/cf/2007/11/skin1.jpg" height="335" width="300" /></p>
<p><img src="http://www.stillcetek.com/cf/2007/11/skin2.jpg" height="332" width="298" /></p>
<p>Jika anda mau menjalankan dikomputer lain, sedangkan dikomputer baru tersebut ga ada SXSkinnya atau Delphi, maka file yang perlu di sertakan tentu saja .EXE dan folder skin</p>
<p>Jika anda mau membuat skin sendiri, anda bisa membuatnya dengan adobe photoshop atau program grafis lainnya yang bisa menghasilkan file *.png. anda tidak perlu mengotak-atik file skin.ini, anda cukup mereplace file *.png yang ada di folder skin dengan image baru anda, tentunya dengan memperhatikan size dari image-image yang sudah ada difolder skin tersebut.</p>
<p>Semoga ada manfaatnya. download <a href="http://www.stillcetek.com/cf/2007/11/skintest.zip" title="skintest.zip">skintest.zip 238kb<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2007-11-20/change-skinner-aplikasi-dengan-delphi.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mengeksekusi Aplikasi dan Files dari Delphi</title>
		<link>http://www.stillcetek.com/2007-11-14/mengeksekusi-dan-menjalankan-aplikasi-dan-files-dari-delphi.html</link>
		<comments>http://www.stillcetek.com/2007-11-14/mengeksekusi-dan-menjalankan-aplikasi-dan-files-dari-delphi.html#comments</comments>
		<pubDate>Wed, 14 Nov 2007 15:22:02 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2007-11-14/mengeksekusi-dan-menjalankan-aplikasi-dan-files-dari-delphi.html</guid>
		<description><![CDATA[Hemm saya ingin membuka file chm, atau html dibrowser, atau membuka file doc dengan MS Word langsung dari aplikasi Delphi yang saya buat. Yuk di coba.
Kode untuk mengeksekusi aplikasi atau file adalah shellExecute(),  sebelumnya anda harus menambahkan sebuah library ShellApi di bagian uses. Yuk lihat beberapa contoh dibawah.

unit Unit1;
  interface uses
  Windows, [...]]]></description>
			<content:encoded><![CDATA[<p>Hemm saya ingin membuka file chm, atau html dibrowser, atau membuka file doc dengan MS Word langsung dari aplikasi Delphi yang saya buat. Yuk di coba.</p>
<p>Kode untuk mengeksekusi aplikasi atau file adalah shellExecute(),  sebelumnya anda harus menambahkan sebuah library ShellApi di bagian uses. Yuk lihat beberapa contoh dibawah.</p>
<pre>
unit Unit1;
  interface uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,StdCtrls, ShellApi;

type

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;
  var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.bukaAppWord(Sender: TObject);
begin
ShellExecute(Handle,'open','C:Program FilesMicrosoft OfficeOFFICE11WINWORD.EXE',nil,nil,SW_SHOWNORMAL)
end;

procedure TForm1.bukaFileDocPakeWord (Sender: TObject);
begin
ShellExecute(Handle,'open', 'C:Program FilesMicrosoft OfficeOFFICE11WINWORD.EXE','C:MyDocument.doc', nil, SW_SHOWNORMAL) ;
end;

procedure TForm1.bukaFileSesusaiTypenya(Sender: TObject);
begin
ShellExecute(Handle,'open','C:file.chm', nil,nil, SW_SHOWMAXIMIZED) ;
end;

procedure TForm1.bukaWebStillcetekCom(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'http://www.stillcetek.com',nil,nil, SW_ SHOWMAXIMIZED) ;
end;

end.
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2007-11-14/mengeksekusi-dan-menjalankan-aplikasi-dan-files-dari-delphi.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Delphi Skinner SXSkinComponents</title>
		<link>http://www.stillcetek.com/2007-09-22/delphi-skinner-sxskincomponents.html</link>
		<comments>http://www.stillcetek.com/2007-09-22/delphi-skinner-sxskincomponents.html#comments</comments>
		<pubDate>Sat, 22 Sep 2007 13:06:15 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2007-09-22/delphi-skinner-sxskincomponents.html</guid>
		<description><![CDATA[Menanggapi respon dari article sebelumnya Form Cantik Dengan Delphi dan Photoshop, jadi sekalian deh saya posting.

Langkah-langkah berikut adalah yang saya coba di Borland Delphi 7, Pastikan anda sudah download komponennya. SXSkinComponents dan Graphics32_1_8_1_SX2, anda bisa mendownloadnya di http://www.saarixx.info/sxskincomponents/en/index.htm. gratis.
1. Install Component 


Copy kedua folder itu ke C:\Program Files\Borland\Delphi7\Lib, default instalasi delphi begitu.  
Masuk ke [...]]]></description>
			<content:encoded><![CDATA[<p>Menanggapi respon dari article sebelumnya <a href="http://www.stillcetek.com/2007-06-21/form-cantik-dengan-delphi-photoshop.html">Form Cantik Dengan Delphi dan Photoshop</a>, jadi sekalian deh saya posting.</p>
<p><img src="http://www.stillcetek.com/cf/2007/09/form.jpg" height="271" width="411" /></p>
<p>Langkah-langkah berikut adalah yang saya coba di Borland Delphi 7, Pastikan anda sudah download komponennya. <strong>SXSkinComponents</strong> dan <strong>Graphics32_1_8_1_SX2, </strong>anda bisa mendownloadnya di<strong> </strong><a href="http://www.saarixx.info/sxskincomponents/en/index.htm" target="_blank" rel="nofollow">http://www.saarixx.info/sxskincomponents/en/index.htm</a>. gratis.</p>
<p><strong>1. Install Component </strong></p>
<p><img src="http://www.stillcetek.com/cf/2007/09/packagejpg.jpg" border="0" /></p>
<ul>
<li>Copy kedua folder itu ke C:\Program Files\Borland\Delphi7\Lib, default instalasi delphi begitu. <img src='http://www.stillcetek.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
<li>Masuk ke folder Packages yang ada di <strong>SXSkinComponents</strong> ada beberapa file dengan extensi .dpk, double klik salah satu file tersebut. Saya menggunakan <em>SXSkin_BDSxxxx_D.dpk.</em></li>
<li>Klik Compile kemudian Klik Install. Abaikan saja jika ada warning, jika Error coba file .dpk yang lain sesuaikan dengan versi delphi anda.</li>
<li>Buka folder Packages yang ada di <strong>Graphics32_1_8_1_SX2</strong>. saya menggunakan <em>GR32_BDSxxxx.dpk</em>, lakukan seperti saat menginstall <em>SXSkin_BDSxxxx_D.dpk.</em></li>
<li>Kopi semua file yang ada di <strong>SXSkinComponents</strong> ke C:\Program Files\Borland\Delphi7\Lib. Kecuali folder packages</li>
<li>Kopi semua file yang ada di <strong>Graphics32_1_8_1_SX2</strong> ke C:\Program Files\Borland\Delphi7\Lib. Kecuali folder packages .</li>
</ul>
<p>Jika berhasil maka dipastikan akan ada tab komponen baru.</p>
<p><img src="http://www.stillcetek.com/cf/2007/09/component.jpg" height="74" width="458" /></p>
<p>Sampai disini selesai install component baru.</p>
<p><strong>2. Test Component </strong></p>
<p>Buat project baru, sebaiknya anda atur folder penempatan skin dan project. Saya mengatur folder project saya seperti berikut. Jadi jika ingin menambahkan skin baru tinggal kopi paste aja deh ke SKIN (Folder).</p>
<p><em>2.1. Mengatur tata letak project </em></p>
<ul>
<li>File-file project dpr, pas, res, dfm dll</li>
<li>Skin (folder)
<ul>
<li>Kayu ( contoh nama skin yang saya pakai buat contoh ini ).
<ul>
<li>Folder-folder skin object</li>
<li>File skin.ini</li>
</ul>
</li>
</ul>
<ul>
<li>skin others</li>
</ul>
</li>
</ul>
<p><em>2.2. Mulai design </em></p>
<ul>
<li>Letakkan object SXSkinLibrary1 dan SXSkinForm1 pada form</li>
<li>Atur protiesnya SXSkinLibrary1 sbb :
<ul>
<li>skinfile = cari file skin.ini (D:\Oprek\test1\skin\kayu\skin.ini)</li>
<li>skindir = D:\Oprek\test1\skin (otomatis setelah browse skinfile)</li>
<li>active = true;</li>
</ul>
</li>
<li>Letakkan object-object aplikasi yang anda butuhkan button, text, label combobox dan lain-lain.</li>
<li>Untuk membuat background form letakkan juga object SXSkinImage1, dan atur propetiesnya sebagai berikut:
<ul>
<li>SkinLibrary = SXSkinLibrary1</li>
<li>Skin file, skin dir. Atur sebagai mana object SXSkinLibrary1.</li>
<li>SkinStyle = Background</li>
<li>Align = alClient (agar lebar SXSkinImage1 akan mengikuti lebar Form)</li>
</ul>
</li>
</ul>
<p><img src="http://www.stillcetek.com/cf/2007/09/design.jpg" height="162" width="400" /></p>
<p><em>2.3 Mulai Program </em></p>
<p>unit Frm_1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, SXSkinForm, SXSkinLibrary, SXSkinControl, SXSkinButton,SXSkinImage, SXSkinSpinEdit, SXSkinEdit, SXSkinCheckBox;typeTForm1 = class(TForm)SXSkinLibrary1: TSXSkinLibrary;</p>
<p>SXSkinForm1: TSXSkinForm;</p>
<p>SXSkinImage1: TSXSkinImage;</p>
<p>SXSkinButton1: TSXSkinButton;</p>
<p>SXSkinEdit1: TSXSkinEdit;</p>
<p>SXSkinEdit2: TSXSkinEdit;</p>
<p>SXSkinButton2: TSXSkinButton;</p>
<p>procedure SXSkinImage1MouseDown(Sender: TObject; Button: TMouseButton;</p>
<p>Shift: TShiftState; X, Y: Integer);</p>
<p>procedure SXSkinImage1MouseMove(Sender: TObject; Shift: TShiftState; X,</p>
<p>Y: Integer);</p>
<p>procedure SXSkinImage1MouseUp(Sender: TObject; Button: TMouseButton;</p>
<p>Shift: TShiftState; X, Y: Integer);</p>
<p>procedure FormCreate(Sender: TObject);</p>
<p>private</p>
<p>{ Private declarations }</p>
<p>public</p>
<p>{ Public declarations }</p>
<p>{Tambahkan variable berikut}</p>
<p><strong>DraggingForm:Boolean;<br />
StartDragPT:TPoint;</strong></p>
<p>end;</p>
<p>var</p>
<p>Form1: TForm1;</p>
<p>implementation</p>
<p><strong>{$R *.dfm}</strong></p>
<p><strong>procedure TForm1.FormCreate(Sender: TObject);</strong></p>
<p>begin</p>
<p>SXSkinLibrary1.StoredSkin:=GetStoredSkinByIndex(0);</p>
<p>SXSkinLibrary1.Active:=True;</p>
<p><strong>end;</strong></p>
<p><strong>procedure TForm1.SXSkinImage1MouseDown(Sender: TObject;</strong></p>
<p>Button: TMouseButton; Shift: TShiftState; X, Y: Integer);</p>
<p>begin</p>
<p>if Button=mbLeft then</p>
<p>begin</p>
<p>DraggingForm:=True;</p>
<p>StartDragPT:=Mouse.CursorPos;</p>
<p>Dec(StartDragPT.X,Left);</p>
<p>Dec(StartDragPT.Y,Top);</p>
<p>end;</p>
<p><strong>end;</strong></p>
<p><strong>procedure TForm1.SXSkinImage1MouseMove(Sender: TObject; Shift: TShiftState;</strong></p>
<p><strong>X, Y: Integer);</strong></p>
<p>var PT:TPoint;</p>
<p>begin</p>
<p>if DraggingForm then</p>
<p>begin</p>
<p>PT:=Mouse.CursorPos;</p>
<p>SetWindowPos(Handle,0,PT.X-StartDragPT.X,PT.Y-StartDragPT.Y,0,0,SWP_NOSIZE or SWP_NOZORDER);</p>
<p>end;</p>
<p><strong>end;</strong></p>
<p><strong>procedure TForm1.SXSkinImage1MouseUp(Sender: TObject; Button: TMouseButton;</strong></p>
<p>Shift: TShiftState; X, Y: Integer);</p>
<p>begin</p>
<p>if Button=mbLeft then</p>
<p>DraggingForm:=False;</p>
<p>end;</p>
<p><strong>end.</strong></p>
<p><em>2.4. Run</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2007-09-22/delphi-skinner-sxskincomponents.html/feed</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>SQL Query In Paradox 7</title>
		<link>http://www.stillcetek.com/2007-08-06/sql-query-in-paradok.html</link>
		<comments>http://www.stillcetek.com/2007-08-06/sql-query-in-paradok.html#comments</comments>
		<pubDate>Mon, 06 Aug 2007 16:46:56 +0000</pubDate>
		<dc:creator>Lukman</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.stillcetek.com/2007-08-06/sql-query-in-paradok.html</guid>
		<description><![CDATA[Pernah melakukan query untuk mengakses table paradok?. Pada suatu kasus saya menginginkan pemfilteran data untuk dapat menyaring data bulan tertentu pada tahun tertentu. Saya mempunyai kolom tanggal_transaksi dengan type data date.
Sebenarnya saya biasa menggunakan Mysql, dan MSSQL. di mysql kita bisa menggunakan sintax
&#8220;SELECT * FROM table WHERE MONTH(tanggal_transaksi)=8  AND YEAR(tanggal_transaksi)=2007&#8220;.
Ternyata untuk paradok aga sedikit [...]]]></description>
			<content:encoded><![CDATA[<p>Pernah melakukan query untuk mengakses table paradok?. Pada suatu kasus saya menginginkan pemfilteran data untuk dapat menyaring data bulan tertentu pada tahun tertentu. Saya mempunyai kolom tanggal_transaksi dengan type data date.</p>
<p>Sebenarnya saya biasa menggunakan Mysql, dan MSSQL. di mysql kita bisa menggunakan sintax</p>
<p>&#8220;<span style="font-style: italic">SELECT * FROM table WHERE MONTH(tanggal_transaksi)=8  AND YEAR(tanggal_transaksi)=2007</span>&#8220;.</p>
<p>Ternyata untuk paradok aga sedikit berbeda.</p>
<p>Berikut contoh di paradok untuk keperluan yang sama dengan query mysql diatas.</p>
<p style="font-style: italic">&#8220;SELECT * FROM table<br />
WHERE<br />
EXTRACT(MONTH FROM tanggal_transaksi)=8<br />
AND<br />
EXTRACT(YEAR FROM tanggal_transaksi)=2007&#8243;;</p>
<p style="font-style: italic">&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stillcetek.com/2007-08-06/sql-query-in-paradok.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
