[HELP] Programming

Started by johan3000, 24 August 2009, 01:45:19 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

johan3000

Mencari kesalahan dlm program seperti mencari pembunuh.
Banyak sebab yg tak terduga, dan kadang kala kita membutuhkan bantuan orang lain.

Moga2 dgn topic ini, pembunuhan tsb cepat ketangkap!....  :))  :))
dan anda kembali bisa tidur nyenyak  ;D  ;D  ;D
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya

johan3000

#1
kasus :
Kira2 8 thn dgn visualfoxpro, gw membuat program
penerima pasien yg mencetak label (kira2 berkisar 10cmx4cm)
label dlm bentuk kertas berlubang (tractor feed).
printer yg dipakai adalah Epson LX 300+, dgn window 98

minggu lalu komputernya rusak, maka semua program dipindah
ke komputer lain window XP dan dipasang driver LX300+

programpun direbuilt EXE dgn visualFoxPro9, semua berjalan lancar,
kecuali sekarang kalau print label, kertasnya jalan sampai 1 halaman.

Dibagian report udah nyoba utik2 tapi gak berhasil (pilihan, manual feed,
tractor feed, no new page after printing, dsb)...

info : printer epson LX300+ tidak punya paper custom size, dan kalau pilih
kertas A5, ya kertas tsb jalannya gak terlalu banyak.

pertanyaan : KIRA2 kesalahan ada dimana ya ?
pertanyaan menyerupain : apa yg perlu diperhatikan utk print label* dgn LX-300+ (winXP vFox9)
(dimana label adalah print area ukuran kecil)

mohon bantuan detektif2 dari DC,... semoga gw bisa tidur nyenyak lagi!...

kalau ada yg kurang jelas dari gw, silahkan tanya lagi yo!  :'( :'( :'(
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya

Indra

Bro Johan,

coba anda buat custom paper size dengan cara

Start->Printer and Faxes->pada menu (di bagias atas) click File->Server Properties

setelah anda mendefinisikan jenis paper ini, kemudian pilih paper jenis ini saat print, pasti beres.


Forte

oh.. foxpro ya..
btw.. itu printnya pake frx / pake prg jalaninnya ?
kalau pake frx emang agak ribet seh.. dan memang harus customize paper

tapi kalau pake prg kita bisa panggil code ascii buat stop print.. tapi gw lupa kunci angkanya :P
pake function  [at]

Ini bukan milikku, ini bukan aku, ini bukan diriku
6 kelompok 6 - Chachakka Sutta MN 148

hatRed

yupp..

i juga punya problem yg sama...... 

program ticket yg dulu bisa tuh tanpa custom size di server properties.. tapi bisa pas... printnya berhenti pas sampe ukuran tiketnya aja..

nah pas i bikir program serupa, cuman i gak tau deh gmana cara nyetopin kertasnya...
i'm just a mammal with troubled soul



Forte

try this..

Code (visual foxpro) Select

local lcTempFile, lcPrinterName, lcFileInRam
SET SAFETY OFF
lcTempFile = 'c:\coba.txt'
lcPrinterName = SET("Printer",2) &&
SET PRINTER TO NAME (lcPrinterName) &&
SET DEVICE TO FILE (lcTempFile)
[at] PROW(),10 SAY ALLTRIM(CUST_ID)
[at] PROW(),43 SAY ALLTRIM(PENERIMA)
[at] PROW()+1,3 SAY ALLTRIM(PENGIRIM)
[at] PROW()+1,3 SAY ALLTRIM(alam1)
[at] PROW()+1,3 SAY ALLTRIM(alam2)

[at] PROW()+1,0 say ' ' &&biar posisi head printer kembali ke posisi 0(nol)


itu hasil google..

kelemahannya, yaitu gak bisa huruf besar, tapi bisa diakali.. dengan kombinasi kunci pada LX-300
nanti malam coba gw cari dan gw share.. mudah2an masih ada di lappie
Ini bukan milikku, ini bukan aku, ini bukan diriku
6 kelompok 6 - Chachakka Sutta MN 148

Forte

#6
SET SAFETY OFF
lcTempFile = 'c:\kwita.txt'
SET DEVICE TO FILE (lcTempFile)


** Cek berapa banyak No Transaksi
SELECT no_transaksi FROM printfaktur GROUP BY no_transaksi INTO CURSOR banyaktransaksi
recendtran=RECCOUNT()

FOR rectran = 1 TO recendtran
SELECT banyaktransaksi
GO rectran
notran = no_transaksi

SELECT * FROM printfaktur WHERE no_transaksi=notran INTO CURSOR curtransaksi
SELECT curtransaksi

recend=RECCOUNT()
endfaktur=CEILING(recend/10)

FOR nfaktur=1 TO endfaktur
**Baris 1
STORE totaldetail TO _TOTALDETAIL
STORE discdetail TO _DISCDETAIL
STORE disc TO _DISC
STORE disc_cash TO _DISC_CASH
STORE ppn TO _PPN
STORE total TO _TOTAL

[at] PROW(),1 SAY CHR(27)+CHR(33)+CHR(36) && <======= INI CONTOH KOMBINASI


[at] PROW(),1 SAY "TRANSAKSI ORDER PEMBELIAN"
[at] PROW()+01,1 say REPLICATE(CHR(205),25)+SPACE(12)+"NO FAKTUR  : "+NO_TRANSAKSI
[at] PROW()+01,2 SAY SPACE(36)                       +"TGL FAKTUR : "+DTOC(TGL_TRANSAKSI)
[at] PROW()+02,2 SAY CHR(27)+CHR(33)+CHR(4)
[at] PROW(),2 SAY SPACE(74)                   +"KEPADA YTH."
[at] PROW()+01,2 SAY "KODE SUPPLIER  : "+SUPPLIER+SPACE(47)+NAMA_SUPPLIER
[at] PROW()+01,2 SAY SPACE(74)                       +KOTA
[at] PROW()+02,1 say CHR(201)+REPLICATE(CHR(205),22)+CHR(203)+REPLICATE(CHR(205),50)                              +CHR(203)+REPLICATE(CHR(205),22)  +CHR(203)+REPLICATE(CHR(205),26)      +CHR(187)
[at] PROW()+01,1 SAY CHR(186)+SPACE(22)             +CHR(186)+SPACE(50)                                           +CHR(186)+SPACE(22)               +CHR(186)+SPACE(26)+CHR(186)  
[at] PROW()+01,1 SAY CHR(186)+"     J U M L A H      " +CHR(186)+"      N  A  M  A            B  A  R  A  N  G      "+CHR(186)+"     HARGA SATUAN     "+CHR(186)+"   S U B      T O T A L   "+CHR(186)
[at] PROW()+01,1 SAY CHR(186)+SPACE(22)             +CHR(186)+SPACE(50)                                           +CHR(186)+SPACE(22)               +CHR(186)+SPACE(26)                   +CHR(186)  
[at] PROW()+01,1 say CHR(204)+REPLICATE(CHR(205),22)+CHR(206)+REPLICATE(CHR(205),50)                              +CHR(206)+REPLICATE(CHR(205),22)  +CHR(206)+REPLICATE(CHR(205),26)      +CHR(185)

no=0

IF nfaktur=endfaktur
batas=RECCOUNT()
ELSE
batas=nfaktur*10
ENDIF

FOR rec=(nfaktur-1)*10+1 TO batas
GO REC
no=no+1
SCATTER MEMVAR field jumlah,satuan,kode_barang,nama_barang,harga,sub_total
[at] PROW()+01,1 SAY CHR(186)+" "+TRANSFORM(jumlah,' [at] z 9,999,999,999.99')+" "+satuan+" "+CHR(186)+" "+LEFT(nama_barang,25)+" / "+kode_barang+" "+CHR(186)+" "+TRANSFORM(harga,' [at] z 9,999,999,999,999.99')+" "+CHR(186)+" "+TRANSFORM(sub_total,' [at] z 9,999,999,999,999,999.99')+" "+CHR(186)                                  
NEXT

FOR i=9 TO no STEP -1
[at] PROW()+01,1 SAY CHR(186)+SPACE(22)             +CHR(186)+SPACE(50)                                           +CHR(186)+SPACE(22)               +CHR(186)+SPACE(26)                   +CHR(186)  
NEXT

[at] PROW()+01,1  say CHR(200)+REPLICATE(CHR(205),22)+CHR(202)+REPLICATE(CHR(205),50)                              +CHR(202)+REPLICATE(CHR(205),22)  +CHR(202)+REPLICATE(CHR(205),26)      +CHR(188)
[at] PROW()+01,1  SAY +"TERBILANG : "
[at] PROW(),88    SAY                                                   "SUB TOTAL : "+TRANSFORM((_totaldetail+_discdetail),' [at] z 9,999,999,999,999,999.99')
[at] PROW()+01,1  SAY KONV_RP(_TOTAL)
[at] PROW(),88    say                                                    "DISCOUNT  : "+TRANSFORM((_discdetail+_disc+_disc_cash),' [at] z 9,999,999,999,999,999.99')
[at] PROW()+01,88 SAY                                                      "P.P.N.    : "+TRANSFORM(_ppn,' [at] z 9,999,999,999,999,999.99')   
[at] PROW()+01,88 SAY                                                  "T O T A L : "+TRANSFORM(_total,' [at] z 9,999,999,999,999,999.99')   
[at] PROW()+02,70 SAY "(Hormat Kami)"
[at] PROW()+01,1  SAY " "
[at] PROW()+01,1  SAY " "
[at] PROW()+01,1  SAY " "
[at] PROW()+01,0  say " "

NEXT
NEXT

SET DEVICE TO SCREEN
lcFileInRam = FILETOSTR( lcTempFile )
??? lcFileInRam+CHR(13)
SET PRINTER TO
**************
   
Ini bukan milikku, ini bukan aku, ini bukan diriku
6 kelompok 6 - Chachakka Sutta MN 148

hatRed

mo nanya

itu yg bikin kertas gak kegulung sampe abis yg baris ini ya


[at]  PROW()+01,0  say " "
i'm just a mammal with troubled soul



Forte

Ini bukan milikku, ini bukan aku, ini bukan diriku
6 kelompok 6 - Chachakka Sutta MN 148

hatRed

intinya cuman ngeprint spasi apa karakter apa tuh?

soalnya aye pake VB ;D
i'm just a mammal with troubled soul



Forte

bukan print karakter spasi seh tapi mengembalikan posisi head printer ke asal rimbanya. makanya diset prow()+1,0

Ini bukan milikku, ini bukan aku, ini bukan diriku
6 kelompok 6 - Chachakka Sutta MN 148

johan3000

Quote from: Indra on 24 August 2009, 02:16:21 PM
Bro Johan,

coba anda buat custom paper size dengan cara

Start->Printer and Faxes->pada menu (di bagias atas) click File->Server Properties

setelah anda mendefinisikan jenis paper ini, kemudian pilih paper jenis ini saat print, pasti beres.



Thanks bro Indra atas masukannya, tetapi printer driver LX-300+ bawaan window XP tsb
tidak menyediakan CUSTOM SIZE, sedangkan kalau ganti printer inkJet baru seharusnya gak masalah. Tapi pelanggan mendengar BELI, BELI, BELI,... udah gak mau.

sharing : Dokumentasi/backup sangalah penting dalam dunia software developer.
seingat saya dulu juga begitu printernya di pasang gak bisa langsung mulus. Jadi saya coba beberapa driver (bisa juga download dari internet), dan akhirnya bisa. Sayangnya kejadian tsb tidak didokumentasikan dgn baik dan driver (LX-300+) yg bisa itu tidak dicopy dan disimpan, jadilah setelah sekian tahun udah gak ingat DULU BISA, DGN CARA GIMANA ?

Udah juga dicoba pilih amplot size yg lain2 dan belum berhasil.


thanks again, bro Indra udah membantu.
_/\_
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya

Indra

Quote from: johan3000 on 25 August 2009, 07:57:33 AM
Quote from: Indra on 24 August 2009, 02:16:21 PM
Bro Johan,

coba anda buat custom paper size dengan cara

Start->Printer and Faxes->pada menu (di bagias atas) click File->Server Properties

setelah anda mendefinisikan jenis paper ini, kemudian pilih paper jenis ini saat print, pasti beres.



Thanks bro Indra atas masukannya, tetapi printer driver LX-300+ bawaan window XP tsb
tidak menyediakan CUSTOM SIZE, sedangkan kalau ganti printer inkJet baru seharusnya gak masalah. Tapi pelanggan mendengar BELI, BELI, BELI,... udah gak mau.

sharing : Dokumentasi/backup sangalah penting dalam dunia software developer.
seingat saya dulu juga begitu printernya di pasang gak bisa langsung mulus. Jadi saya coba beberapa driver (bisa juga download dari internet), dan akhirnya bisa. Sayangnya kejadian tsb tidak didokumentasikan dgn baik dan driver (LX-300+) yg bisa itu tidak dicopy dan disimpan, jadilah setelah sekian tahun udah gak ingat DULU BISA, DGN CARA GIMANA ?

Udah juga dicoba pilih amplot size yg lain2 dan belum berhasil.


thanks again, bro Indra udah membantu.
_/\_


sptnya Bro Johan belum mencoba trik ini, saya sering mengalami hal yg sama dan Server Properies pada Printer selalu bisa menyelesaikan. saran saya, coba dulu

johan3000



Setelah saya create myLabel, trus gimana myLabel (paperForm ini) dapat dikenal oleh printer2 lainnya ? soalnya gw buka printer Epson C90, dan gak bisa akses myLabel.

Bisa jelaskan setelah myLabel di buat, bagaimana printer menggunakan setting ini ?

mohon bantuannya, soalnya ini barang canggih bagi saya...

_/\_
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya

hatRed

kalo gak salah itu untuk ukuran2 kertas di windows...

kalo buat c90 tergantung neh.. print lewat kodeprogram atau pake aplikasi printer c90..

tapi bukannya ngeprint di lx-300 ???
i'm just a mammal with troubled soul