Arsip: Grab Data yang masuk ke Printer

more 17 years ago
zuyo
Dear all delphier,
mo tanya nih, ada yang tau caranya grab Data yang dikirim ke Printer ?
kasusnya adalah sebuah perusahaan jasa penerbangan (travel agent) menggunakan software web-based ke maskapai, semua komputer disisi clientnya adalah dumb terminal. Masalahnya semua transaksi yang web based menyebabkan perusahaan tersebut tidak mempunyai catatan sama sekali mengenai transaksi, selain rekap yang diberikan oleh maskapai. Tiket langsung dicetak ke printer khusus untuk Tiket.
Sampai saat ini perusahaan tersebut terpaksa melalukan pencatatan manual ulang per transaksi (not a very good idea :wink: ) .. ada yang tau ngga cara 'mengambil' data sebelum masuk printer tiket tadi ?
mohon bantuannya :)
best regards
zeyo

more 17 years ago
simba
Untuk mengambil "copy" transaksi memang bisa dgn cara grab data yg menuju ke printer. Namun cara ini, menurut saya, terlalu complicated, walaupun sebenarnya juga bisa. Kesulitannya antara lain:
- Anda harus bisa mendecode data yg dikirim ke printer, bisa dilakukan dgn menggunakan fitur2 windows API dan dokumentasi dari printer yg digunakan. Kerugiannya, program Anda jadi terikat dgn windows dan jenis printer tsb.
- Anda juga harus bisa membedakan pencetakan yg dilakukan windows, mana yg berasal dari aplikasi transaksi tsb (web-based), mana yg berasal dari aplikasi lain (misal word, dlsb). Hal ini juga bisa dilakukan dgn windows API. Tapi kesulitan akan bertambah jika terjadi pencetakan yg dilakukan dari browser yg sama, tapi dari aplikasi web atau URL yg berbeda.
Mungkin bisa dipertimbangkan cara lain yg mungkin lebih mudah dibanding grabbing data printer. Salah satunya adalah dgn meng-intercept data transaksi yg lewat di HTTP. Anda bisa bikin semacam virtual proxy untuk aplikasi tsb dan mencatat (log) seluruh data yg lewat di port HTTP, khususnya yg menuju ke URL server milik maskapai. Dari log tsb, kemudian bisa dilakukan parsing dan analisa yg hasilnya bisa disimpan ke database sbg "copy" dari data transaksi yg berlangsung. Tapi cara ini akan bermasalah jika transaksi melalui secure channel, baik yg menggunakan SSL maupun VPN. :D
Solusi lain, Anda bisa bikin web browser sendiri dan merekam seluruh data yg diproses di browser bikinan sendiri tsb. Cara ini "kebal" thd secure channel sebab seluruh data yg diolah di browser sudah lolos dari saringan secure channel. Web browser buatan sendiri ini bisa dibikin pake Delphi atau, kalo Anda bisa, dijadikan plugin browser, misalnya extension Firefox. ;)
Ada banyak alternatif solusi, silakan Anda pilih mana yg sekiranya paling tepat. :D
HTH.

more 17 years ago
zuyo
@simba: Untuk mengambil "copy" transaksi memang bisa dgn cara grab data yg menuju ke printer. Namun cara ini, menurut saya, terlalu complicated, walaupun sebenarnya juga bisa. Kesulitannya antara lain: - Anda harus bisa mendecode data yg dikirim ke printer, bisa dilakukan dgn menggunakan fitur2 windows API dan dokumentasi dari printer yg digunakan. Kerugiannya, program Anda jadi terikat dgn windows dan jenis printer tsb. - Anda juga harus bisa membedakan pencetakan yg dilakukan windows, mana yg berasal dari aplikasi transaksi tsb (web-based), mana yg berasal dari aplikasi lain (misal word, dlsb). Hal ini juga bisa dilakukan dgn windows API. Tapi kesulitan akan bertambah jika terjadi pencetakan yg dilakukan dari browser yg sama, tapi dari aplikasi web atau URL yg berbeda.hiks.. betul, makanya binun cari caranya.. btw untuk pencetakan, kebetulan printernya tipe khusus (mirip printer kasir) yang khusus untuk cetakan tiket
@simba: Mungkin bisa dipertimbangkan cara lain yg mungkin lebih mudah dibanding grabbing data printer. Salah satunya adalah dgn meng-intercept data transaksi yg lewat di HTTP. Anda bisa bikin semacam virtual proxy untuk aplikasi tsb dan mencatat (log) seluruh data yg lewat di port HTTP, khususnya yg menuju ke URL server milik maskapai. Dari log tsb, kemudian bisa dilakukan parsing dan analisa yg hasilnya bisa disimpan ke database sbg "copy" dari data transaksi yg berlangsung. Tapi cara ini akan bermasalah jika transaksi melalui secure channel, baik yg menggunakan SSL maupun VPN. :D.yup, secure channel Https, SSL klo ngga salah ( :roll: ) yang jelas bukan VPN, soale kemarin proyek VPN direject :mrgreen:
@simba: Solusi lain, Anda bisa bikin web browser sendiri dan merekam seluruh data yg diproses di browser bikinan sendiri tsb. Cara ini "kebal" thd secure channel sebab seluruh data yg diolah di browser sudah lolos dari saringan secure channel. Web browser buatan sendiri ini bisa dibikin pake Delphi atau, kalo Anda bisa, dijadikan plugin browser, misalnya extension Firefox. ;).kayanya solusi ini paling mungkin dipraktekin, bisa dibantu dengan clue lainnya om ? soale belum pernah buat programming delphi yang web based :oops:

more 17 years ago
simba
Untuk solusi pake custom browser, Anda bisa bikin aplikasi Delphi biasa (desktop) yg embed dgn browser engine (OCX) baik dari IE atau FF. Jadi bukan web-based programming, tetep aja desktop programming, tapi control yg dipantau adalah komponen browser. Nanti akses ke URL aplikasi di server maskapai harus melalui aplikasi tsb, jgn pake browser biasa.
Di aplikasi yg udah embed browser tsb, tinggal dipasang observer yg memantau seluruh input control html (editbox, combobox, textarea, submit-button, dlsb) yg sedang ditampilkan browser. Juga memantau event yg terjadi dalam browser, terutama event onSubmit dan event respon balikan dari server, sehingga Anda bisa memastikan bahwa Anda hanya akan menyimpan data transaksi yg bener2 terjadi dan diterima di sisi server. Dgn mempelajari struktur HTML yg diterima dari server, Anda tentu bisa menentukan input yg mana saja yg sekiranya perlu dipantau dan data terkait transaksi yg perlu disimpan. Mungkin Anda bisa mulai pelajari component TWebBrowser yg disertakan di Delphi. Komponen tsb adalah wrapper thd engine IE yg terinstall di client.
Kira2 logikanya begitu, detil praktisnya saya juga kurang tau, soalnya belum pernah bikin yg sampe seperti itu. :D Tapi harusnya bisa lah. Yg jelas, Anda harus banyak tau bgaimana berinteraksi dgn ActiveX component melalui COM interface (bukan COM serial port :P). Remember, Google is your best friend on learning something. ;)

more 17 years ago
DelphiExpert
kalau menohok ActiveX component melalui COM interface tak jamin pasti bakal ribet & blm tentu dapat dipakai hasil-nya (apalagi dng dokumentasi yg minim) :mrgreen:
saran... coba hack SLL (ato bikin virtual SSL-decoder di proxy) xixixi... certificate... certificate... :mrgreen:

more 17 years ago
simba
@DE:
Gak juga kok, tergantung gmn komponent ActiveX itu memberikan fitur2 interface. Setauku OCX IE cukup mudah dipake soalnya itu jadi standar komponen untuk internet programming di VB. Kalo VB aja mampu, apalagi Delphi, pasti bisa. :D

more 17 years ago
DelphiExpert
:mrgreen: ... akuuuurr... :mrgreen:
@zuyo:
harap melaporkan kesulitan2 yg ditemui selama meng-implementasi... ada bro simba koq, tenang ajaaa... xixixi :lol:

more 17 years ago
zuyo
kalau tampilan aplikasi yang di Terminal Client sekilas mirip dengan HyperTerminal.. mm.. bisa disebut mirip ding :mrgreen:, soale hampir semua inputannya cuman kode2 aja :roll:
:wink: belum kebayang aslinya.. sekarang lagi gugling dulu..
btw, klo di Delphi Demos'nya ada sample yang bisa diubek2 ngga ya ?
more ...
- Pages:
- 1
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- mengubah warna pada TbitButton
by divanda in Tip n Trik Pemrograman more 17 years ago - Mendeteksi nama, serial number, nama vendor hardware di PC
by yunacorp in Tip n Trik Pemrograman more 18 years ago - [ASK] Memperpendek Coding
by lord_kimm in Tip n Trik Pemrograman more 18 years ago - Bantuan kirim sms lewat jaringan pstn
by DeulleDo-X in Enginering more 19 years ago - Download E-Mail
by xerion in Tip n Trik Pemrograman more 18 years ago - [ASK] Kapan harus menggunakan stdcall, cdecl, dll?
by tailstrike in Enginering more 16 years ago - Bewara SQL for maniak 2
by kaka-delphi in MySQL more 17 years ago - gammu lagiii?
by sulth4n in Network, Files, I/O & System more 18 years ago - help:merancang database inventaris yang benar
by her1z_yu2n in MySQL more 16 years ago - mengetahui nilai tersebut adalah string,integer atau date???
by sandy in Tip n Trik Pemrograman more 16 years ago