Senin, Oktober 26, 2009

Rabu, September 09, 2009

Batch command for getting current date for file creation

if you wonder how to automate some task like backup that include current date in a batch file then this is a small tips how to do it

just add:

%date:~-4,4%%date:~-10,2%%date:~-7,2%

on the parts of the file that you want to add a date, it utilize the internal command of date, and substring it to get the current date with YYYYMMDD format, depending on your locale format, for the example above i use mm/dd/yyyy

you should adjust it to your need

refference : http://support.microsoft.com/kb/555314

Kamis, Agustus 06, 2009

Ide: Membuat Library dan membuka DLL / so dengan Lazarus, Part 2

Saya ingin melanjutkan tulisan saya tentang Penggunaan Dynamic Link Library di Lazarus, setelah mencoba program yang ada di link post sebelum-nya saya lihat contoh-nya cukup straight forward, dan coba punya coba.. alhasil memang kita bisa load sebuah library lengkap dengan method-nya.

setelah baca lanjutan artikel di bawah-nya, biarpun sedikit kurang mudeng, memang harus di akui yang kurang dari lazarus adalah fitur package-nya.

tapi ya sabar mungkin ngga sekarang tapi nanti.

buat catatan juga.. yang bikin agak mikir sebetul-nya sih ukuran file-nya hasil kompilasi-nya.. besar banget.. tapi kalo mau keukeuh modular and compiled yah.. musti mau..

tetap semangaaaat!!!

Rabu, Agustus 05, 2009

software application

In term of application software construction, sometimes the primary goals that i thought is that giving a deliverable, which is an application running with out problem program.. with the application program is standing on some infrastructure such as Operating System, Virtual Machine, and also built upon some language that most popular so that it's continuity support is guaranteed.
but recently i crossed my mind, that the main commodity that we should provide is the service to gather information and in unified way so that enable us to easily retrieve in sometime in the future.

so.. in that context i can say that the main deliverable is the mechanism and steps to help our client to gather data in unified way..

hm.. i think this is a basic knowledge that thought in MIS Lecture.. but who am i but some who damned to remember again and again.. hehehe like they say, more often you stumbled into something same, the more expert you'll be come.

Selasa, Juli 14, 2009

Ide: Membuat Library dan membuka DLL / so dengan Lazarus


Beberapa hari yang lalu ada sebuah ide muncul di kepala ini, bagaimana kalau seandai-nya bisa memecah modul program yang aku buat menjadi beberapa file yang bisa di update atau di buang setiap saat, dengan modul konfigurasi tentu-nya.
Maka di mulai lah perjalanan-ku dalam mencari bagaimana cara-nya di lazarus, tentu saja memang solusi-nya yang sekilas keluar di mata adalah BPL, cuma masalah-nya kalau di lazarus tidak bisa compile library dan di load pada saat runtime, hilang 1 opsi, maka setelah itu aku coba cari opsi lain, AHA ! DLL aja tuh.. Dynamic Link Library kalau di windows, .so kalau di linux.. di Mac aku ngga tau.. setelah beberapa saat browsing.. aku menemukan beberapa kendala dalam penggunaan dan pembuatan library di lazarus dan sangat mencolok adalah ngga bisa-nya fungsi ShareMem yang ngga bisa di pakai.
tapi memang belum afdol kalau tidak dicoba sendiri.

oke..
pertama kita bikin library-nya..
  • Buka IDE Lazarus
  • Buka New.. Project | Library
  • Setelah itu kita akan di sajikan editor windows tanpa ada yang lain-nya, kita coba simpan dulu dengan nama Library1
  • Mari kita lanjutkan dengan membuat 1 buah function dengan 1 parameter by reference dengan tipe PPChar
function test(var x:PPChar):Integer;export;
  • Untuk definisi variable-nya kita isi dengan
s: String;
  • Lalu kita isi badan-nya dengan
01| s := 'Hello_World';
02| x := StringToPPChar(s,0);
  • selanjutnya kita compile project tersebut
  • dan Voila ! file lib kita sudah jadi.. cari file Library1.lib
Lalu setelah Library-nya jadi, selanjut-nya kita buat aplikasi untuk memanggil-nya
  • Buka IDE Lazarus
  • Buka New.. Project | Application
  • Pada form pasang sebuah button
  • Pada definisi uses tambahkan unit DynLibs
  • Pada daftar variable di even OnClick tuliskan
l : TLibHandle;
f: function (var x:PPChar) :integer;
s: String;
p: PPChar;
  • selanjut-nya pada bagian badan tuliskan
01| l := LoadLibrary('library1.dll');
02| pointer(f) := GetProcAddress(l, 'test');
03| f( p);
04| s:=StrPas(p^);
05| showmessage(s);
06| FreeLibrary(l);
  • dan itu lah semua, yang perlu di lakukan selanjut-nya cuma tekan F9 untuk mencoba eksekusi program tersebut
  • Pada form tampilan tersebut tekan Button yang ada, dan kita akan melihat sebuah message box tang akan menampilkan kata Hello_World yang kita buat di Library bukan di Aplikasi-nya.
  • Ini menunjukkan bahwa lazarus bisa membuat library dan menggunakan library dinamis(Dynamic Library)
Keren kan? memang lazarus bisa di gunakan untuk membuat dan menggunakan library, tapi...
(memang ada tapi-nya sih) dengan cara di atas kita tidak bisa membuat library yang mengalokasikan memory di dalam library dan membagikan area memory tersebut ke pemanggil/host, saat ini aku sedang melihat kemungkinan ada cara lain dengan memanfaatkan memory manager, apa itu? aku sendiri belum tahu.. sedang membaca lebih lanjut
mungkin kalau sudah penasaran duluan silakan buka
di bagian bawah ada link yang memberikan contoh yang seperti-nya cukup menarik

referensi:

Password mdb file e-spt

mungkin kalau perlu cari untuk referensi saja..
password untukmdb file aplikasi e-spt adalah 'e_spt_pajak' dan sudah di coba untuk versi 20032009.
sebab kebetulan beberapa saat yang lalu sempet di minta untuk hapus 1 record yang ngga bisa di jalankan pakai app e-spt - sendiri, rasa-nya sih gara - gara delete key-nya ngga primary jadi kode kembar bisa masuk.. :D well i don't know how or why.. but still job must be accomplished..
oh ya.. cuma buat referensi saja, ada program sederhana dan gratis buat yang ingin buka mdb file-nya, nama-nya MDB Viewer
so.. buat editing aja.. bisa di coba tuh..


refference:

Kamis, Juni 18, 2009

How to move a form without clicking on the title bar

Recently i was wondering how can i make a borderless form dragged by using a mouse, since the border is not visible, after a few moment in search, and voila, although it was a tips for a delphi app i tried it on lazarus.
the only drawback is that it only applied for windows, i don't know wheter or not i works in lazarus

the only code the should be written

ReleaseCapture;
SendMessage(Form1.Handle, WM_SYSCOMMAND, 61458, 0) ;

When the event OnMouseDown fired, and don't forget to include uses windows on the top.
and since it uses windows library this feature is not multi platform

i am not finished in search how this behaviour can be applied on other platform, may be later i'll do some more research on this feature.
But for now i'm still playing around with it

Rabu, Juni 11, 2008

Information: ngga penting media-nya

Dsc00274setelah mendapatkan mainan baru beberapa saat yang lalu, aku punya sebuah kegiatan baru yaitu memindahkan isi notebook-ku ke versi digital, dengan confident-nya aku mulai perlahan memindahkan semua scribbler yang ada, halaman per halaman.. lembar per lembar.. tiba - tiba sesaat aku tersandung sebuah hal.. di mana aku menggambar suatu entity diagram, yang di dalam-nya aku kasih gambar kecil yang di gambar itu ada sebuah anak panah.. yang.. dst -nya, dan aku sedikit bingung harus pakai program apa? (catatan : notebook-ku belum ada fasilitas touchscreen).

sembari mencari ide bagaimana aku menggambar diagram 'aneh' itu aku browsing sebentar dan secara tidak sengaja stumble ke situs yang aku kira membahas jenis PDA baru, yang nama-nya HipsterPDA. And guess what ternyata itu cuma sebuah konsep kertas 3x5 inch yang di bendel pakai penjepit kertas. dan seperti biasa aku semakin curious dengan hal ini, dan yang pada akhir-nya membawa-ku ke dalam context 'lifehack', hm..

hal ini membuatku berpikir lebih dalam lagi, dalam hal ini aku relasi-kan dengan kondisi diri-ku yang ku sebut IT Officer(Orang jago Teknologi Informasi hehehe..) dan beberapa kilasan balik ke beberapa hal di masa lalu, aku tersadar bahwa apapun media-nya yang penting adalah informasi yang di kandung, dan seperti biasa kita bangsa manusia memiliki keinginan lebih lanjut untuk mengefisiensikan bagaimana informasi itu di olah, baik kecepatan informasi itu bergerak maupun ketahanan informasi itu tersedia.

dan di situlah aku tersadar pada masalah-ku yang sebelum-nya, no matter what the media are, yang penting informasi-nya dan bagaimana kita mengolah informasi tersebut. setelah menyadari hal ini, aku segera berhenti untuk memindahkan isi notebook-ku ke notebook-ku yang satu-nya.. dan mulai mengerjakan sesuatu untuk menindak lanjuti apa yang ada di dalam notebook-ku :-)