ยังไม่สามารถปรับแก้ฉลากยาพิมพ์ผ่าน utility ได้เองครับ

ยังไม่สามารถปรับแก้ฉลากยาพิมพ์ผ่าน utility ได้เองครับ

โพสต์โดย sutthipongr เมื่อ ศุกร์ พ.ย. 28, 2008 10:42 am

ผมทดลอง copy drugbanner.lbx drugbanner.lbt ไปวางที่ c:\mitutility แล้วทดลองปรับดูก็ยัง ไม่ได้ พอสั่ง ก็จะขึ้นเหมือนของเดิม
ถ้าจะปรับแก้ ต้องไปแก้ไข p_d-ban.prg ยังไงบ้างครับ



โค้ด: เลือกทั้งหมด
******************************************************************
*  ส่งข้อมูล พิมพ์ STICKER ยา   ให้ Mit Utility           แบบสร้าง      CURSOR              *
******************************************************************
*  ตัวแปร temno = เลขที่ใบสั่งยา   
*        banref= ลำดับยา         
*       _lang .f.=ไทย .t.=english
*  หมายเหตุ  ถ้าเป็น thai  จะใช้ข้อมูลจำเพราะของยา ที่ ; ตัวที่ 1 และ 2
*            ถ้าเป็น english จะใช้ข้อมูลจำเพราะของยา ที่ ; ตัวที่ 3 และ 4
* 1.ใช้ Esp2 code          : chr(27)+chr(67)+chr(0)+chr(X) X = ความยาวกระดาษเป็นนิ้ว(จำนวนเต็มบวกเท่านั้น)
* 2.ใช้ function ใน mit-net : p_long(X,Y,D)                X = ความยาวกระดาษเป็นนิ้ว เช่น 2.5 
*                                             Y = ความละเอียด ถ้าไม่กำหนดให้จะใช้ค่า 360          
*                                             D = ไว้ใช้กรณีต้องการกำหนดเป็นเศษส่วน เช่น ยาว 4/3 นิ้ว(หนึ่งเศษหนึ่งส่วนสาม)
*                                                 กำหนดเป็น p_long(4,360,3)
******************************************************************
PARAMETERS  C_date,C_name,C_DIRECTION,C_DOSE,N_AMOUNT,C_UNIT,C_LANGUE  &&&sattahip 23/11/2002
PRIVATE HAVE,DATA1,DATA2,DATA3,DATA4,COMMENT1,COMMENT2,LLEN,NLINE,FSPACE,NLEN,a1,a2,b1,b2,NRET
STORE '' TO DATA1,DATA2,DATA3,DATA4,DATA5,DATA6,COMMENT1,COMMENT2
STORE 0 TO A1,A2,B1,B2
DATA1 = ALLTRIM(SUBTHAI(C_DIRECTION,1,34))
NLEN=LENTHAI(C_DIRECTION)
IF NLEN > 34
   DATA2    = ALLTRIM(SUBTHAI(C_DIRECTION,35,34))
   NLEN   = NLEN-40
   NLINE   = 2
ELSE
   DATA2    = ''
   NLINE   = 1
ENDIF
C_DOSE = ALLTRIM(C_DOSE)
HAVE = .F.
DO WHILE !EMPTY(C_DOSE)
   FSPACE = AT(" ",C_DOSE)
   IF FSPACE = 0
      SUBDAT = C_DOSE+' '
      C_DOSE =''
   ELSE
      SUBDAT = LEFT(C_DOSE,FSPACE)
      C_DOSE=ALLTRIM(SUBSTR(C_DOSE,FSPACE+1))
   ENDIF
   SUBDESC = D_SIG(SUBDAT,C_LANGUE)      &&เพิ่ม parameter C_LANGUE พิมพ์ภาษา E,T
   IF INLIST(SUBDAT,"M ","N ","E ","B ","HS ","NN ").AND.!HAVE
      NLINE   = NLINE+1
      C_VAR   = 'DATA'+STR(NLINE,1,0)
      &C_VAR= SUBDESC
         NLEN        = LENTHAI(SUBDESC)
       HAVE    =  .T.   
   ELSE
      IF  NLEN+LENTHAI(SUBDESC) > 34
         NLINE   =NLINE+1
         C_VAR   ='DATA'+STR(NLINE,1,0)
         &C_VAR= SUBDESC
            NLEN   =LENTHAI(SUBDESC)   
      ELSE
         C_VAR   ='DATA'+STR(NLINE,1,0)
         &C_VAR= &C_VAR+SUBDESC
         NLEN   =NLEN+LENTHAI(SUBDESC)
      ENDIF    
    ENDIF
ENDDO
***** COMMENT 2 lines *********************
A1=AT(";",J.TEXT)
B1=AT(";",J.TEXT,2)
IF A1 > 0
   IF !EMPTY(C_LANGUE)
      A2=AT(";",J.TEXT,3)
      B2=AT(";",J.TEXT,4)
      IF A2 > 0
         A1=A2
         A2=B1+1
         B1=B2
         B2=A1-A2-1
      ELSE
         A2=1
         B2=A1-1   
      ENDIF
   ELSE
      A2=1
      B2=A1-1   
   ENDIF
   COMMENT1 = SUBSTR(J.TEXT,A2,B2)
   NRET=RAT(CHR(13),COMMENT1)
   IF NRET>0
      COMMENT1=SUBSTR(COMMENT1,NRET+2,A1-3-NRET)
   ENDIF
   *******************
   *NLINE   =NLINE+1
   NLINE   = 5
   *******************
   C_VAR   ='DATA'+STR(NLINE,1,0)
   &C_VAR   = ALLTRIM(COMMENT1)
   IF B1>0
      COMMENT2=SUBSTR(J.TEXT,A1+1,B1-A1-1)
      NRET=RAT(CHR(13),COMMENT2)
      IF NRET>0
         COMMENT2=SUBSTR(COMMENT2,NRET+2,A1-3-NRET)
      ENDIF   
      *********************
      *NLINE   =NLINE+1
      NLINE   = 6
      *********************
      C_VAR   ='DATA'+STR(NLINE,1,0)
      &C_VAR   = ALLTRIM(COMMENT2)
   ENDIF
ENDIF
*** ส่งข้อมูลออกไปพิมพ์ ทาง Utility *********************
?? "EXC DRUGBANNER.LBX"  &&สั่งให้ โปรแกรม Utility run LABEL FROM นี้ใช้ EXC เพื่อให้สร้าง cursor
? "DATE"+CHR(1)+C_date
? "NAME"+chr(1)+C_name
? 'AMOUNT'+CHR(1)+str(N_AMOUNT,6,0)
? 'UNIT'+CHR(1)+C_UNIT
? 'ITEM'+CHR(1)+banref
? 'HN'+CHR(1)+b_hn
? 'NO'+CHR(1)+temno
? 'DRUG'+CHR(1)+j.ban_name
FOR NLEN = 1 TO 6
   C_VAR = 'DATA'+STR(NLEN,1,0)
   ? 'DATA'+STR(NLEN,1,0)+CHR(1)+&C_VAR
NEXT
EJECT PAGE
RETURN      


และแบบสร้าง cursor กับไม่สร้าง cursor ต่างกันยังไงครับ
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

โพสต์โดย nufc เมื่อ เสาร์ พ.ย. 29, 2008 2:05 pm

แก้ตรงบรรทัดนี้นะครับ ?? "EXC DRUGBANNER.LBX"

ให้เป็น ?? "RUN DRUGBANNER.LBX"

แต่ผมยังปรับฟอร์มไม่ได้เลย ปรับแก้ฟอร์มได้อย่างไรช่วยอัพขึ้นให้ load หรือ ช่วยแนะนำวิธีแก้ให้ด้วยนะครับ

ผมรองกับเครื่องพิมพ์ Termal ครับ
nufc
 
โพสต์: 14
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 11:12 am
ที่อยู่: โรงพยาบาลปราสาท จ.สุรินทร์

โพสต์โดย sutthipongr เมื่อ เสาร์ พ.ย. 29, 2008 4:57 pm

nufc เขียน:แก้ตรงบรรทัดนี้นะครับ ?? "EXC DRUGBANNER.LBX"

ให้เป็น ?? "RUN DRUGBANNER.LBX"




ไม่่น่าจะใช่นะครับ เพราะความต่างคือ ถ้า ใช้ run จะเป็นแบบ ไม่สร้าง cursor
แต่ถ้าใช้ exc จะเป็น แบบสร้าง cursor
(ไม่รู้เหมือนกันว่า ตอนพิมพ์จริง จะต่างกันยังไง)

แต่ยังไม่ใช่ไปเรียก drugbanner.lbx ใน c:\mitutility ครับ
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

โพสต์โดย nufc เมื่อ จันทร์ ธ.ค. 15, 2008 12:58 pm

เรียนถามท่านผู้รู้ ช่วยตอบหรือแนะนำวิธี ปรับแก้ฟอร์มสติกเกอร์ยาที่พิมพ์ผ่านฟอร์มหน่อยครับ

ผมลองขยับลงมาแล้วแต่เวลาพิมพ์ออกมาก็ไปออกที่เดิมครับไม่รู้จะปรับแก้ยังงัย คือผมต้องการที่จะขยับลงมาเพื่อที่จะพิมหัวสติ๊กเกอร์ครับ ช่วยรบกวนชี้แนะด้วย



รูปภาพ
nufc
 
โพสต์: 14
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 11:12 am
ที่อยู่: โรงพยาบาลปราสาท จ.สุรินทร์

โพสต์โดย raknim เมื่อ อังคาร ธ.ค. 16, 2008 12:43 am

หากทำได้แล้วเนี๊ยะ จะได้ไม่ต้องพึ่ง port ISA ที่ห้องยาอีกต่อไป เกือบหมดแล้วครับสำหรับข้อจำกัดของ mitnet บน windowsXP ที่เหลือก็จะเป็นงานprint บางอย่างที่ยังเข้ากันไม่ได้กับ windowsXP เช่น ใบเสร็จรับเงิน(P_bill) สติ๊กเกอร์ติดชาร์ตผู้ป่วยใน(P_i-ban) ให้กำลังใจต่อไปครับ
raknim
 
โพสต์: 140
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 16, 2008 12:24 am
ที่อยู่: รพ.หนองจิก อ.หนองจิก จ.ปัตตานี

วิธี set ฉลากบน winxp

โพสต์โดย sutthipongr เมื่อ จันทร์ ธ.ค. 29, 2008 11:01 pm

ทราบมาจากพี่ฉลอง หนองจิก ปัตตานี ครับ
พี่แกก็กะลัง test อยู่ผมยังไม่ได้ทดสอบกับเครื่องพิมพ์จริงๆแต่สามารถ ปรับแต่งฉลากยาได้แล้ว
วิธีง่ายๆคือ
1 copy drugbanner.lbx ,drugbanner.lbt ไปยัง c:\mitutility
2 rename เป็นชื่ออื่นที่ต้องการทั้ง 2 file เช่น drugbanner1.lbx,drugbanner1.lbt
3 ใน p_d-ban.prg ตรง ?? "EXC DRUGBANNER.LBX" เปลี่ยนเป็น
?? "EXC DRUGBANNER1.LBX"
(ตรงนี้อาจใช้ ?? "RUN DRUGBANNER1.LBX" ก็ได้ ต่างกันยังไงยังไม่แน่ใจ)
4 compile โดยใช้ fox 2.6

ตอนนี้ผมกำลังคิดว่าจะปรับฟ้อนท์ให้ใหญ่ๆ เพื่อใช้กับคนสูงอายุที่อ่านไม่ค่อยเห็นแต่คงใช้ 4 รูไม่ได้ ไม่แน่ใจว่าลองปรับได้ไหม


ใครทำได้แล้ว โชว์บ้างครับ และใครพอจะบอกข้อดีของ termal printer ให้หน่อยครับ
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

...

โพสต์โดย sutthipongr เมื่อ ศุกร์ ม.ค. 02, 2009 3:47 pm

ปัญหาที่ติดตอนนี้คือ ขนาดกระดาษใน windows XP ที่ mitutiliy(vfp) มองมันไม่พอดีกับ ขนาด drugbanner1
ผมทดสอบกับเครื่อง lq300+ โดยใช้ run drugbanner1 แต่ mitutility(vfp) ยังมองเป็น A4 ทำให้พอพิมพ์แล้ว ถ้ายังยาวไม่ถึง A4 ก็จะ feed ออกมาเท่า A4
ถ้าเป็นไปได้ หมอสุมิตร ADD ขนาดกระดาษให้มาด้วยน่าจะ work สุดๆ เลยครับ

คือจริงๆแล้วต้องทำแบบนี้ไปก่อนเพื่อที่จะ set ขนาดกระดาษให้เท่่ากับ label คือ 4น้ิว*2 นิ้ว แต่ผมยังทำไม่ได้
ใครทำได้ ช่วยบอกกันด้วยครับ



รูปภาพ

ก็จะมีหน้าต่าง Print Server Properties เปิดขึ้นมา

รูปภาพ

ให้คลิกที่ 1. Create a new form , 2. ใส่ชื่อของฟอร์มที่ต้องการ , 3. กำหนดขนาดของฟอร์มทั้ง Width และ Height หน่วยเป็น Metric , 4. กดปุ่ม Save form และ 5. จะมีชื่อของฟอร์มใหม่ขึ้นมาแล้ว กดปุ่ม Close ได้เลย
รูปภาพ

กลับมาคลิกขวาที่เครื่องพิมพ์ที่ใช้งาน เลือก Properties เพื่อเปิดหน้าต่าง Properties ขึ้นมา คลิกที่แท็บ Device Settings
รูปภาพ
คลิกที่บรรทัด 1. Tractor Feed : , 2. Manual Paper Feed : แล้วเลือกเป็นชื่อฟอร์มที่ตั้งขึ้น ส่วน 3. Sheet Feeder - Bin 1 : , 4. Sheet Feeder - Bin 2 : จะตั้งด้วยหรือเปลี่ยนเป็น Not Available ก็ได้ แล้วคลิก OK ครับ

รูปภาพ
เมื่อกลับมาหน้า Properties อีกครั้ง ในช่อง Paper available ก็จะมีชื่อของฟอร์มใหม่แล้ว ทีนี้ก็สั่งพิมพ์ได้เลยครับ

รูปภาพ

อ้างอิงจาก http://www.golden99.com/modules.php?name=News&file=article&sid=13

ถ้าทำขั้นตอนขนาดกระดาษได้แล้วก็ไปตั้งหน้า page setup โดยใช้ vfp9 ตั้งหน้ากระดาษ drugbanner1 ให้มีขนาด เป็นกระดาษที่เรากำหนดไว้
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

โพสต์โดย mit เมื่อ เสาร์ ม.ค. 03, 2009 11:59 pm

ใช้ EXC สร้าง CURSOR ตรงนี้หมอใช้ในกรณีที่พิมพ์ sticker หลายดวงต่อเนื่องกันจะได้สั่งงานครั้งเดียวครับหลังจากเก็บข้อมูลที่ส่งมาเป็นชุดครับ
mit
 
โพสต์: 314
ลงทะเบียนเมื่อ: จันทร์ ต.ค. 27, 2008 11:47 pm

โพสต์โดย mit เมื่อ อาทิตย์ ม.ค. 04, 2009 12:07 am

อีกอย่างขนาดกระดาษกำหนดที่ Properties ของเครื่องพิมพ์ครับ และตอนที่ออกแบบ label ก็เข้าไปset ที่ PAGE SETUP และอย่าลืมเอาเครื่องหมายถูกออกจากช่อง SAVE PRINTER ENVIRONMENT ไม่เช่นนั้นจะเกิดอาการ งง! เวลาพิมพ์แล้วมันไปออกที่เครื่องที่ออกแบบ
mit
 
โพสต์: 314
ลงทะเบียนเมื่อ: จันทร์ ต.ค. 27, 2008 11:47 pm

ตอนนี้ติดตั้งได้แล้วครับ

โพสต์โดย sutthipongr เมื่อ จันทร์ ม.ค. 05, 2009 4:58 pm

1.lq300+ มีปัญหาที่ driver ครับ ผมแก้ไขโดย ลง driver lq1000 (มีอยู่แล้วใน windows) แทน กระดาษที่ตั้งค่าไว้จากวิธี server properties ก็จะขึ้นมา
(เครื่องพิมพ์ epson บางรุ่น ไม่มีให้กำหนด หน้ากระดาษได้ครับ)
2.ใช้ exc ใน prg

ข้อดีของ sticker บน xp คือสามารถปรับรูปร่างฟอนท์รวมทั้งขนาดได้เลยครับ
ตอนนี้ทดลองได้ผลดีเลยแหล่ะครับ


**ผมเข้าใจว่า Termal printer ก็ต้อง set ลักษณะเดียวกัน***

รูปภาพ
By sutthipongr
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

stickerยา กับ thermal printer

โพสต์โดย raknim เมื่อ จันทร์ ม.ค. 12, 2009 4:48 pm

การprint sticker ยา กับ thermal printer
1. หลังจากติดตั้ง driver printer แล้ว set ขนาดกระดาษที่ properties ของ printer ที่ผมใช้ 3.25"x2.00" ลอง set แบบ user defined แล้วไม่ work ครับ
2. copy file P_D-BAN.prg จากหน้า d/l ส่วนที่ส่งงานพิมพ์ให้ mit-utility(window printer) มาใส่ไว้ที่ H:\home ของแต่ละเครื่อง หรือ ใน hospital, compile ด้วย foxpro for dos เปลี่ยนตรง EXC drugbanner.lbx เป็นชื่ออื่นเช่น drugbanner1.lbx ถ้าไม่เปลี่ยนชื่อ mit-utility จะพิมพ์ตาม default เดิม(คือ drugbanner.lbx) ไม่สามารถแก้ไขแบบฟอร์มได้
3. copy file drugbanner.lbx,drugbanner.lbt จากหน้า d/l ส่วน Prg,Fxp,Reportและ label มาใส่ในfolder mit-utility ในdrive C:\ ของแต่ละเครื่อง
4. เปลี่ยนชื่อ drugbanner.lbt,drugbanner.lbx ตามชื่อใหม่ที่แก้ไขใน P_d-ban.prg เช่น drugbanner1.lbt และ drugbanner1.lbx
5. ใช้ vfp 7 หรือ 9 แก้ไขแบบฟอร์ม drugbanner1 ได้ตามต้องการ เช่น แบบอักษร,ตำแหน่งข้อความ,ข้อความเพิ่มเติม
6. กรณีพิมพ์ผ่าน LAN share printer ลองแล้วก็ OK ครับ
7. ข้อดี thermal printer เงียบ,ชัด,ไม่เปลืองผ้าหมึก,เร็ว ครับ
8. ที่ยังไม่สมบูรณ์ กรณียาตั้งแต่10ตัวขึ้นไป จำนวน item ใน sticker จะเป็น /1 เช่น 12/1 ไม่เป็น 12/14
รูปภาพ
raknim
 
โพสต์: 140
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 16, 2008 12:24 am
ที่อยู่: รพ.หนองจิก อ.หนองจิก จ.ปัตตานี

โพสต์โดย dD เมื่อ พฤหัสฯ. ม.ค. 15, 2009 8:29 am

ถามแบบไม่รู้ ครับ ว่า สลากยาที่เราพิมพ์ ผ่านtermal printer

จะอยู่ได้นาน ถึง 6 เดือน ไหม ครับ

การอยู่ ได้ กี่วัน กี่เดือน ขึ้นอยุ่กัับอะไรครับ
dD
 
โพสต์: 47
ลงทะเบียนเมื่อ: ศุกร์ ต.ค. 31, 2008 9:11 am

อายุข้อความบนsticker thermal

โพสต์โดย raknim เมื่อ ศุกร์ ม.ค. 16, 2009 1:46 pm

สอบถามจากบริษัทผู้จำหน่าย zebra thermal printer ครับ ได้ความว่า อายุของข้อความขึ้นกับชนิดกระดาษที่ใช้ครับ ถ้าเป็นกระดาษบางๆ เช่น ตั๋วเครื่องบินที่บริษัทสายการบินใช้จะมีอายุประมาณ 1 เดือน แต่ถ้าเป็นกระดาษที่เราใช้กันอยู่ที่แปะซองยาให้ผู้ป่วยจะเป็นกระดาษthermalที่หนากว่า จะมีอายุประมาณปีเศษครับ
raknim
 
โพสต์: 140
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 16, 2008 12:24 am
ที่อยู่: รพ.หนองจิก อ.หนองจิก จ.ปัตตานี

โพสต์โดย dD เมื่อ จันทร์ ม.ค. 19, 2009 8:41 am

แสดงว่า ขึ้นอยู่กับชนิดของกระดาษ

แล้วเราจะมีวิธิทดสอบอย่างไร

หรือต้องเชื่อตาม ที่บริษัท บิิอก ??????????
dD
 
โพสต์: 47
ลงทะเบียนเมื่อ: ศุกร์ ต.ค. 31, 2008 9:11 am

อายุตัวอักษรบนกระดาษ thermal

โพสต์โดย raknim เมื่อ ศุกร์ ม.ค. 23, 2009 10:45 pm

คงต้องลองครับ ตอนนี้สั่งทำกระดาษสติ๊กเกอร์อยู่ ได้ผลยังไงจะแจ้งมาทาง webboard อีกทีครับ
raknim
 
โพสต์: 140
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 16, 2008 12:24 am
ที่อยู่: รพ.หนองจิก อ.หนองจิก จ.ปัตตานี

ต่อไป

ย้อนกลับไปยัง ถาม-ตอบ ปัญหาต่างๆ เกี่ยวกับโปรแกรม MIT-NET

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 83 ท่าน