Arsip: Grab Data yang masuk ke Printer

 
user image
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
user image
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.
user image
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:
user image
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. ;)
user image
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:
user image
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
user image
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:
user image
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
Share to

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

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com