Halo Semua,
Sorry nih mengganggu. Saya mau menawarkan library framework database 
development Delphi dengan Oracle (client server). Framework ini memudahkan 
development aplikasi menggunakan Delphi dengan Oracle. Terutama pada 
pengembangan proyek yang besar, lingkungan development yang membutuhkan 
perubahan dengan cepat dan tenaga developer yang tersedia terbatas. Berikut 
ini spesifikasi dari framework yang saya tawarkan:

Data Access menggunakan Direct Oracle Access (DOA) yang langsung 
menggunakan SQL*Net driver.
Data Aware menggunakan InfoPower.
Kedua 3rd party component ini tidak termasuk dalam penawaran saya. Namun 
framework saya menggunakan kedua 3rd party component ini. Direct Oracle 
Access digunakan karena robustnessnya. InfoPower saya pilih karena 
kelengkapan data aware controlnya.

Data Access:
Pada saat design cukup terdapat satu TDataSet instance pada sebuah 
repository data module. Saat runtime TDataSet instance tersebut dapat 
di-clone ke form lain maupun data module lain (prototype design pattern). 
Hal ini memudahkan perubahan TDataSet. Perubahan TDataSet cukup dilakukan 
di satu tempat.
Lookup dilakukan saat record di-edit sementara saat retrieval lookup 
diperoleh dari SQL. Hal ini mempercepat proses retrieval. Cloning juga 
dapat dikonfigurasi agar sekaligus meng-clone LookupDataSet dari 
field-field yang dimiliki TDataSet.
Sebuah event dari sebuah component dapat memiliki lebih dari satu event 
handler (event chain). Mekanisme ini diperlukan karena ada kemungkinan 
sebuah TField maupun TDataSet sudah mempunyai event handler pada 
repository, namun juga memerlukan event handler lagi pada form yang 
meng-clone DataSet.
Semua field dapat dikonfigurasi beberapa property-nya dari sebuah file text 
shg utk mengubah property field tidak harus mengubah project dan mem-build 
ulang.
Dari konfigurasi property field di atas dapat didefinisikan 
DefaultExpression. Property ini merupakan default value yang akan diisikan 
pada field saat sebuah record baru ditambahkan.
Semua pesan integrity constraint exception dapat di-customize menjadi 
Bahasa Indonesia (feature dari DOA). Saya sudah menyediakan script untuk 
meng-extract semua integrity constraint dari data dictionary schema 
tertentu (kecuali not null). Pesan exception not null di-handle langsung 
pada exception handler.
Pada TDataSet select bisa dilakukan dari sebuah table dan insert, update 
dan delete dilakukan terhadap view (feature dari DOA). Dengan demikian 
dapat diatur security melalui view.

Application:
Untuk reporting report template berupa file RTF dan external queries file 
berupa file text. Kedua file ini dapat dijadikan plugin menu untuk 
menggenerate report berbentuk RTF. Plugin menu definition berupa sebuah 
file text sehingga mudah sekali untuk menambahkan report pada aplikasi 
tanpa rebuild. External queries dapat berupa master-detail queries. 
External queries juga dapat berupa parameterized queries dan parameter tsb 
bisa diisi oleh user sebelum report di-generate. External queries juga 
dapat digabungkan dengan TDataSets milik sebuah form untuk menggenerate 
report. External queries bisa dijadikan detail dari TDataSets milik sebuah 
form. Parameter bisa mengambil nilai field tertentu dari TDataSets milik 
sebuah form.
RTF template dapat menggunakan User Defined Function (UDF) yang dapat anda 
tambah bila diperlukan. Pada framework yang saya tawarkan sudah terdapat 
cukup banyak UDF yang bisa dipergunakan, misal: Say untuk mengkonversi 
angka menjadi kata-kata dalam Bahasa Inggris, Terbilang untuk mengkonversi 
angka menjadi kata-kata dalam Bahasa Indonesia, Barcode untuk mengenerate 
barcode image sesuai dengan parameter yang dipassingkan, Fjpeg untuk 
menampilkan sekaligus me-resize sebuah blob field yang berisi file jpeg dan 
masih banyak lagi.
RTF reporting ini juga dapat digunakan untuk mengeksekusi non select SQL. 
Misal mengexecute unnamed PL-SQL block (bisa digunakan untuk mengeksekusi 
stored procedure di dalamnya), update, insert dan delete.
RTF reporting ini juga dapat menghasilkan CSV dari external queries file.
RTF reporting ini juga dapat mengexecute Visual Basic Script (VBS) dengan 
memassingkan parameter-parameter yang diawali dengan kata-kata SCRIPT_. 
Sebelum VBS script dieksekusi dapat dipilih lehih dahulu salah satu 
external query yang hendak dijadikan file text berupa CSV. Contoh 
penggunaannya adalah menjadikan file text menjadi chart maupun pivot table 
pada spreadsheet menggunakan OLE Automation.
Kemampuan CSV Export untuk semua tabel yang dimiliki oleh sebuah schema. 
Pada saat CSV export dapat dipilih fitur untuk menggenerate control file 
yang dapat digunakan saat meng-load CSV menggunakan SQL*Loader. Saat export 
tabel dengan kolom blob dapat dipilih untuk menjadikan blob text pada kolom 
atau menjadikan blob sebuah file dan mengisikan namanya pada kolom. Text 
yang mengandung karakter ; akan diubah menjadi <SEPARATOR/>, karakter crlf 
akan dijadikan <CR/><LF/>.
Kemampuan CSV Import yang sangat berguna untuk mengimport CSV yang 
mengandung blob berupa file dan user yang tidak biasa menggunakan 
SQL*Loader. Import berupa dialog untuk membentuk pasangan-pasangan kolom 
pada CSV dan kolom pada TDataSet. Terdapat tiga mode import yaitu: Insert 
All, Insert Non Existed Records or Update Existed Records dan Insert Non 
Existed Records Only.
Seluruh form yang digunakan untuk memanipulasi records pada tables 
merupakan descendant dari sebuah form yang memiliki fitur lengkap. Dengan 
demikian hanya minimal coding yang dilakukan pada derived form, seluruh 
feature milik base form secara otomatis dimiliki oleh derived form. Pada 
derived form feature-feature ini tersedia secara dinamis sehingga menu pada 
derived form yang satu dapat berbeda dengan derived form lainnya. Aplikasi 
berbentuk MDI application.
Pada form tidak terdapat instance TDataSet, pada form hanya terdapat 
instance dari TCloneDataSource yang merupakan TDataSource yang dapat 
meng-clone DataSet dari repository saat runtime.
TDataSet hanya diaktifkan saat diperlukan dengan demikian mengurangi waktu 
yang diperlukan untuk meng-load form. DOA juga mempunyai feature partial 
retrieval shg hanya records yang diperlukan saja yang di-retrieve.
Semua data aware control yang digunakan oleh DataSet didefinisikan di 
repository. Base form yang akan akan mengclone control-control ini.
Base form juga akan secara otomatis mengolah informasi lookup untuk 
kemudian membuat TwwDBLookupComboDlg (sebuah lookup combo box yang akan 
menampilkan dialog untuk menampilkan lookup dataset saat tombol di-click) 
pada LookupKeyFields. LookupDataSet juga bisa berwujud sebuah parameterized 
query yang akan memassingkan parameter dari field-field dataset saat 
TwwDBLookupComboDlg menerima focus.
Bookmark, Search, Locate dan Filter menggunakan fitur dari InfoPower.
Manipulasi records dapat dilakukan dalam bentuk Grid dan RecordView. Secara 
default tampilan dalam bentuk grid hanya dengan menekan shortcut tampilan 
bisa diubah menjadi RecordView plus detail dataset pada panel di bawahnya.
Sorting dapat dilakukan dengan melakukan click maupun shift click pada Grid 
Title maupun menampilkan Sort Dialog.
Pada saat berada di TwwDBLookupComboDlg user dapat menekan shortcut untuk 
mengedit LookupDataSet maupun mengurutkan LookupDataSet.
Terdapat fasilitas untuk mengcopy record dari sebuah DataSet kemudian 
setelah mengubah primary key-nya user dapat menduplikat record-record pada 
detail dataset record sebelumnya.
Key Generator dapat didefinisikan pada sebuah form. Key ini menggunakan 
sequence digabung dengan prefix expression dan postfix expression. Key 
Generator ini juga dapat di-set agar otomatis diisikan pada sebuah DataSet 
saat record baru ditambahkan. Seluruh key yang diminta dari server disimpan 
di client pada sebuah text file. Setiap kali user connect ke server maka 
key-key yang terdapat pada file text ini akan dicari pada tabel yang telah 
ditentukan. Apabila key ditemukan maka akan dihapus dari text file.
Semua DataSet pada form dapat disimpan sebagai CSV maupun me load data dari 
CSV.
Terdapat supervisory mode untuk membypass update, insert dan delete pada 
dataset yang semula dilakukan terhadap view menjadi terhadap tabel pertama 
dalam from clause.
Untuk load dan save blob field berisi bmp,wmf,gif dan jpeg dapat dilakukan 
dari sebuah dialog yang memiliki preview pane.
Untuk load dan save blob field berisi file-file kecuali file di atas dapat 
dilakukan dari sebuah dialog yang dapat meng-run file tersebut dari shell.
Pada form ini juga bisa didefinisikan report plugin menu.
Masih terdapat beberap fitur lain yang terdapat pada base form seperti 
custom default value yaitu untuk mendefinisikan default value tertentu di 
luar default value pada DefaultExpression dan fitur-fitur lainnya. 
Pengembangan pada base form ini infinite sehingga feature-feature baru 
dapat ditambahkan setiap saat.
MDI form (main form) juga diinherit dari sebuah base form. Dengan demikian 
user tidak kesulitan memecah-mecah project dam memberikan feature yang sama 
kepada main form dari setiap object.

Saya juga mempunyai sebuah aplikasi akuntansi multi currency yang 
menggunakan framework ini yang saya tawarkan secara terpisah
dari framework ini.

Silahkan kirim e-mail melalui japri apabila ada yang tertarik atau punya 
pertanyaan atas penawaran saya. Buat yang cuma pengen discuss sama saya, 
silahkan japri juga. OK sekian penawaran saya, sekali lagi saya minta maaf 
kalau mengganggu dengan penawaran ini. Terima kasih.

Regards,

Alex Wijoyo

"So do not worry about tomorrow, for tomorrow will bring worries of its 
own. Today's trouble is enough for today."


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges at Myinks.com - Save 80%. Quality inkjet cartridges &
refill kits! FREE s/h on $50 orders to the US & Canada. Fast shipping.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/hwZBYB/zoVGAA/ySSFAA/i7folB/TM
---------------------------------------------------------------------~->

Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Kirim email ke