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/
