Preview hade-framework development


target pembaca : Advance

Masih tetap berambisi bikin opf/orm framework sendiri cari referensi sana sini,bahkan sampai 2 kali redesign , sekarang saya sudah cukup yakin dengan designnya.
Sekarang hade-framework sudah mampu menjalankan tugas dasarnya :D mari saya contohkan penggunaannya.

- Pertama yang anda lakukan adalah membuat Bussines Objectnya yang merupakan turunan dari THadeObject

uses
   hadeobject;
Type
  TTest = class(THadeObject)
  private
   FAge: integer;
   FLName: string;
   FName: string;
  public
   function Full_Name : String;
  published
   property First_Name: string read FName write FName;
   property Last_Name: string read FLName write FLName;
   property Age: integer read FAge write FAge;
  end;


Property yang ingin di mapping harus berada pada published section, property yang berada pada published section juga tidak harus di mapping ke schema database.
semisal anda hanya ingin First_Name dan Last_Name saja yang di mapping anda tidak perlu meremove property Age.

- Langkah berikutnya adalah melakukan Register Mapping ( uses unit hademapping ).

GHadeMappingManager.RegisterMapping(TTest, 'person', 'OID', 'oid',
ftInteger, 0, [ptkPK, ptkReadOnly]);

GHadeMappingManager.RegisterMapping(TTest, 'person', 'Name',
'first_name', ftVarchar, 25);

GHadeMappingManager.RegisterMapping(TTest, 'person', 'Age', 'age', ftInteger);

GHadeMappingManager.RegisterMapping(TTest, 'person', 'Last_Name',
'last_name', ftVarchar, 25);


GHadeMappingManager adalah singleton function lebih detil bisa dilihat hademappingmanager.pas
interface dari RegisterMapping adalah

procedure RegisterMapping(const AObjClass: THadeObjectClass;
const ATable, APropName, AColName: string; const AFieldType: THadeFieldType;
const ALength: integer = 0; const ASetPtkInfo: TSetPtkInfo = []);


- Selanjutnya Register Connection ( uses unit hadeopfmanager,hadebroker )

GHadeOPFManager.RegisterConnection('test', 'test.s3db',
'', '', '', SQLDB_SQLITE);
GHadeOPFManager.OIDStrategy := oidAutoInc;

code diatas berarti "Registrasikan koneksi dengan nama 'test' , 'nama DB','Host','username','password' dengan menggunakan broker SQLLite"

anda bisa mempunyai lebih dari satu koneksi dalam satu applikasi :D .
OIDStrategy := oidAutoInc berarti anda menggunakan PK(Primary Key) dengan strategy AutoIncrement fitur yang tersedia dihampir semua R/DBMS, anda juga bisa menggunakan oidGUID sebagai OIDStrategy, oidGUID menggunakan GUID(Global Unique Identifier) sebagai primary key nya yang disimpan sebagai string.

- Create/Read/Update/Delete Bussines Object
Untuk Melakukan CRUD pada Bussines Object anda harus menggunakan session, mungkin bagi sebagian orang penggunaan session cuma bikin ribet,tetapi sebenarnya penggunaan session sangat powerfull untuk melakukan transaksi,management koneksi dll.

uses
hadeobject,
hadeopfmanager,
hademapping,
hadession;
//..some code omitted for brevity
var
MySession : THadeSession;
obj : TTest;//class TTest yang tadi
begin
MySession := GHadeSessionFactory('test');//session dengan koneksi 'test'
obj := TTest.Create(71);//mengeset OID/pk dengan nilai 71
Try
MySession.read(obj);//sekarang obj = record di table person dengan OID = 71

//kita update
obj.First_Name := 'Test Doank';
obj.MarkDirty;//tandai object ini adalah dirty( kotor dalam artian tidak sama dengan database )
MySession.save(obj);//sekarang record dengan OID 71 sudah terupdate.
end.
untuk melakukan Create(Insert) sangat mudah dan sama seperti operasi update/delete

//tanpa OID karena oidAutoInc , jika oidGUID tambahkan(uses) unit hadeoid
//tmp := GHadeOID.getOID.getGUID; dan pass variable tmp ke TTest Constructor
obj := TTest.create();
obj.First_Name := 'Test';
obj.Last_Name := 'Lagi'
obj.Age := 76;
MySession.save(obj);//tersimpan

//untuk Delete cukup tandai object dengan MarkDelete
obj.MarkDelete();
MySession.save(obj);// record terhapus

- Transaction
Katakanlah anda mempunyai 2/lebih object yang harus di save(insert/update/delete) yang mana jika salah satu objectnya gagal maka keseluruhan object tersebut harus di rollback.

begin
MySession.StartTransaction;
Try
//save/read operation
except
MySession.Rollback;
//raise again?
end;
MySession.Commit;
end.

Session tidak perlu di free secara manual karena THadeSession adalah interface.
anda juga bisa menaruh Session di constructor suatu class dan session akan hidup sepanjang object dari class tersebut hidup.

well tentunya framework ini masih jauh untuk di release saya masih berhati-hati takutnya gagal lagi :D. nanti tak kabarin lagi kalo ada major improvement.

kalo mau ngulik sourcenya bisa di checkout di http://hd-framework.googlecode.com/svn/trunk/ dengan svn client kesayangan anda :D

Thanks happy coding.
Read more

FeedReader 3.14 Open Source RSS Feed Desktop



RSS Feed(Really Simple Syndication Feed) ,pada tau RSS Feed donk?yang belum tau silahkan klik link tadi.
disini saya tidak akan menjelaskan apa itu rss feed karena saya yakin anda pasti lebih tau dari saya.saya cuma mau bagi-bagi  feeed reader desktop yang free.nih situs resminya http://feedreader.com ,dengan software ini anda dapat berlangganan artikel situs/blog favorite anda dan di update setiap ada entry baru jadi anda tidak perlu membookmark situs blog/situs favorite anda di browser.cara penggunaannya pun sangat mudah ada dua cara:
1.langsung memasukan alat rss ke feedreader dengan cara menekan tombol F3 lalu masukan alamat rss nya.
2.langsung dari browser,sebuah web yang mempunyai RSS pada  navigation toolbarnya bertanda seperti yang anda lihat di navigation toolbar anda sekarang



Anda tinggal mengklik tanda itu lalu jika situs itu mempunyai 2 rss/atom klik salah satunya: atau biar lebih gampang deh,pada browser anda(Firefox ya)klik Tools-->Option-->Tab Application,perhatikan screen shoot berikut: lalu klik Ok selesai.



silahkan download feedreader nya:



Semoga bermanfaat
Read more

KooMail Alternatif Mail Client



Kenalin nih KooMail sebuah software Mail Client sebagai alternatif Microsoft Office Outlook,saya sendiri sudah lama mengunakan KooMail alasannya KooMail ini lebih ringan dari pada Outlook tapi dengan fitur yang luar biasa.
Interfacenya pun good looking,bisa dipakai untuk Feed reader jga,emoticons,mudah dalam penggunaan,dan yang paling keren KooMail ini Free.KooMail ini buatan Programmer China sepertinya.. ya udah lah gak usah basa-basi silahkan bagi yang berminat download dari server softpedia:
Cetak Artikel Ini
Read more

Firebird embeded server


Firebird embeded server adalah database firebird yang dapat di akses tanpa running service firebird server. firebird embed server ini sangat cocok jika kita mengembangkan aplikasi dengan database firebird yang digunakan untuk satu komputer saja, jadi user tidak perlu menginstall firebird server di komputernya. tapi tidak bisa digunakan untuk arsitektur client-server.
kita hanya perlu mendistribusikan sedikitnya 4 buah File yaitu:
  1. fbembed.dll akan di rename menjadi fbclient.dll.
  2. icuin30.dll.
  3. icudt30.dll.
  4. icuuc30.dll
File-file yang di distribusikan dapat berbeda tergantung versi firebird yang di pakai, contoh pada firebird 1.5 file-file yang diperlukan adalah fbembed.dll dan ib_util.dll . feedreader,Tips Explorer adalah beberapa software yang menggunakan firebird embed server ini.
Untuk mendapatkan fbembed.dll anda bisa mendownloadnya dari sf nya firebird.atau jika anda menggunakan firebird 2.0 anda tidak perlu repot mencarinya karena saya sudah upload fbembed.dll(udah di rename jadi fbclient.dll)+ 3 file yang lainnya.
fbembed.zp(1.20 mb)
Referensi
http://www.firebirdsql.org/manual/fbmetasecur-embedded.html http://www.firebirdsql.org/manual/ufb-cs-embedded.html
Read more

Penjaringan Error secara global (Catching Exception)


Pada saat mengoperasikan windows pasti/mungkin anda pernah mengalami error yang tidak diketahui biasanya windows akan memunculkan sebuah window/jendela/dialog yang bertulisan "sory bla bla bla" lalu ada beberapa buah button kalo gak salah report to microsoft,continue,details>>>.
atau yang aplikasi berbasis web seperti pesbuk dengan kalimat khasnya "maaf terjadi kesalahan,kami akan segera memperbaikinya". dan aplikasi2 lain yang menerapkan "catching exception"  atau apalah itu namanya.
to the point aja(males nulis) berikut ada source code tentang bagaimana menjaring error yang kadang tidak  kita duga sebelumnya. silahkan pelajari source codenya.
Read more

File Wiper (menghapus File secara permanen dan aman)



File Wiper ini fungsinya sama seperti File shreder atau semacamnya yang tujuannya adalah untuk menghapus File secara permanen dan aman.Program ini adalah hasil modifikasi dari  WipeFile 1.0 yang ditulis oleh pak budi sukmawan tepatnya pada artikel beliau yang berjudul "Penghapusan Data Secara Permanen" makasih pak atas sharing ilmunya.

Sebenarnya enggak banyak yang saya rubah,saya hanya merubah Interface dan penambahan context menu handler nya aja.untuk Core code nya saya belum melakukan perubahan mungkin nanti nyusul,masih perlu banyak belajar sama beliau .
pada artikelnya beliau memberikan catatan seperti berikut:


 Catatan: Metoda penulisan untuk menimpa file data yang digunakan pada komponen wipe.pas tidak aman bila digunakan pada sistem Windows NT, 2000 atau XP dengan file system NTFS karena penanganan file yang berbeda, jadi hanya bisa dipakai pada Windows 9x dengan FAT16/FAT32.

jadi tentunya harus dilakukan perubahan jika di implementasikan dengan file system NTFS,tidak aman disini maksudnya bukan kata tidak aman sebagai kata ganti "merusak" tetapi  tidak aman pada metoda yang dilakukan oleh program ini.saya sudah mencobanya pada komputer saya dengan file system NTFS dan berjalan dengan baik (tested by me).

-download Wiper(exe)
-download source code wiper
Read more

Mengenal Borland Delphi 7.0


Delphi adalah sebuah bahasa pemrograman visual di lingkungan windows ( under windows) yang menggunakan bahasa pascal sebagai Compiler. Keberadaan bahasa pemrograman Delphi tidak bisa dipisahkan dari bahasa Turbo pascal yang diluncurkan pada tahun 1983 oleh Borland International Incorporation. Turbo pascal memang dirancang untuk dijalankan pada operasi DOS (Disk Operating System) yang merupakan sistem operasi yang banyak digunakan pada saat ini. Seiring dengan perkembangan zaman, dimana sistem operasi mulai bergeser ke sistem operasi windows, maka borland International merilis Turbo Pascal for windows yang dijalankan dibawah sistem operasi windows 3.X.


Sejarah Borland Delphi 7.0

pada tahun 1992 muncul bahasa pemrograman baru bernama Borland Pascal 7 yang merupakan penggabungan dari Turbo Pascal dan Turbo pascal for windows.

Namun ternyata bahasa pemrograman baru tersebut ternyata masih sulit di gunakan. Trend penggunaan bahasa pemrograman visual untuk membangun sebuah aplikasi telah mendorong Borland membuat bahasa pemrograman baru pada tahun 1995 diperkenalkan kepengguna komputer sebuah bahasa pemrograman visual yang berbasis bahasa pascal. Bahasa pemrograman baru tersebut diberi nama Borland Delphi setahun kemudian versi ke dua dari delphi dilempar kepasaran.

Penggunaan delphi dapat mempersingkat waktu pemrograman, karena anda tidak perlu lagi menuliskan kode program yang rumit dan panjang untuk menggambar, meletakkan dan mengatur komponen. Selain itu anda dapat menyusun aplikasi yang lebih interaktif. Delphi menyediakan cukup banyak pilihan komponen interface aplikasi, antara lain berupa tombol menu, drop down, ataupun menu pop up, kotak text, radio button, check box, dan sebagainya. Bahkan ada berbagai mascam komponen Skin tampilan yang beragam yang disediakan oleh beberapa vendor lainnya, seperti, SUIPack, Sxskincomponents, dan lain sebagainya. Anda tinggal memilih komponen yang dibutuhkan dengan klik mouse, mengatur tampilannya kemudian menuliskan sedikit kode program, maka aplikasi anda siap dijalankan.

Delphi 7.0, versi terbaru yang dikeluarkan oleh Borland, memiliki support yang sangat tinggi terhadap data base-data base yang sudah terkenal (seperti MS Accsses, Paradox, Foxpro, Dbase, Oracce, dan lain sebagainya), dan dilengkapi dengan objek-objek yang baru sehingga memudahkan pembuatan database maupun program lainnya (Game, Utility dan lainnya).


Gambar Tampilan Borland Delphi 7.0


Kelebihan Borland Delphi 7.0

Borland delphi 7.0 merupakan pilihan bagi sebagian kalangan programmer untuk membuat aplikasi. Hal ini disebabkan kelebihan yang ada pada borland delphi 7.0 berikut ini beberapa kelebihan borlan delphi 7.0 antara lain :


  • Berbasis Objek Orientid programming, seperti bagian yang ada pada program dipandang sebagai suatu objek yang mempunyai sifat-sifat yang dapat diubah dan diatur , sehingga kita dapat membuat tampilan sebuah program dengan desain kita sendiri tanpa harus membuat codding yang panjang.
  • Suatu file EXE, setelah anda merancang program pada IDE Delphi akan mengkomplikasinya pada sebuah file executable tunggal. Program yang anda buat dapat langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan file lain, kecuali file yang beretensi *.exe atau Applikasi tersebut membutuhkan file lain seperti database, koneksi atau file pendukung lainnya, ini merupakan kelebihan yang sangat berarti.

  • Borland delphi 7.0 hadir bersama borland Kylix 3 yang berbasis Linux, bila ingin berganti flattform dari Windows ke Linux maka aplikasi yang dibuat di Delphi dapat dijalankan di Kylix 3 yang dikarenakan kedua produk tersebut merupakan produk Borland.



Kebutuhan Sistem

Agar delphi versi 7.0 ini dapat dioperasikan dengan baik anda membutuhkan perangkat keras dan perangkat lunak dengan spesifikasi tertentu. Delphi memerlukan perangkat keras (Hardware) dengan ruang hard disk dan memori yang relatif besar untuk untuk pembuatannya tetapi untuk pemakaiannya / menggunakan hasil file Aplikasinya tidaklah membutuhkan spesifikasi yang besar, tergantung besar kecilnya program yang kita terapkan pada komputer tersebut, Spesifikasi minimal yang dibutuhkan antara lain :


  • Processor pentium 233 MHz atau yang lebih tinggi.
  • Sistem operasi windows XP, windows 2000 atau windows 98.
  • Memori membutuhkan RAM 64 MB untuk edisi Architect, Enterprise, dan propesional, kecuali untuk personal 32 MB disarankan 128 MB.
  • Untuk Hard disk minimal size yang kosong sebesar 500 Megabyte.
  • Mouse,Keybord.dll
referensi: Wahana Komputer. 2002. Pemrograman Borland Delphi 7.0, Andi Offset, Yogyakarta
Read more

Archive