หน้า 1 จากทั้งหมด 2

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

โพสต์โพสต์แล้ว: ศุกร์ พ.ย. 28, 2008 10:42 am
โดย sutthipongr
ผมทดลอง 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 ต่างกันยังไงครับ

โพสต์โพสต์แล้ว: เสาร์ พ.ย. 29, 2008 2:05 pm
โดย nufc
แก้ตรงบรรทัดนี้นะครับ ?? "EXC DRUGBANNER.LBX"

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

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

ผมรองกับเครื่องพิมพ์ Termal ครับ

โพสต์โพสต์แล้ว: เสาร์ พ.ย. 29, 2008 4:57 pm
โดย sutthipongr
nufc เขียน:แก้ตรงบรรทัดนี้นะครับ ?? "EXC DRUGBANNER.LBX"

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




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

แต่ยังไม่ใช่ไปเรียก drugbanner.lbx ใน c:\mitutility ครับ

โพสต์โพสต์แล้ว: จันทร์ ธ.ค. 15, 2008 12:58 pm
โดย nufc
เรียนถามท่านผู้รู้ ช่วยตอบหรือแนะนำวิธี ปรับแก้ฟอร์มสติกเกอร์ยาที่พิมพ์ผ่านฟอร์มหน่อยครับ

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



รูปภาพ

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

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

โพสต์โพสต์แล้ว: จันทร์ ธ.ค. 29, 2008 11:01 pm
โดย sutthipongr
ทราบมาจากพี่ฉลอง หนองจิก ปัตตานี ครับ
พี่แกก็กะลัง 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 ให้หน่อยครับ

...

โพสต์โพสต์แล้ว: ศุกร์ ม.ค. 02, 2009 3:47 pm
โดย sutthipongr
ปัญหาที่ติดตอนนี้คือ ขนาดกระดาษใน 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 ให้มีขนาด เป็นกระดาษที่เรากำหนดไว้

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

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

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

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

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


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

รูปภาพ
By sutthipongr

stickerยา กับ thermal printer

โพสต์โพสต์แล้ว: จันทร์ ม.ค. 12, 2009 4:48 pm
โดย raknim
การ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
รูปภาพ

โพสต์โพสต์แล้ว: พฤหัสฯ. ม.ค. 15, 2009 8:29 am
โดย dD
ถามแบบไม่รู้ ครับ ว่า สลากยาที่เราพิมพ์ ผ่านtermal printer

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

การอยู่ ได้ กี่วัน กี่เดือน ขึ้นอยุ่กัับอะไรครับ

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

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

โพสต์โพสต์แล้ว: จันทร์ ม.ค. 19, 2009 8:41 am
โดย dD
แสดงว่า ขึ้นอยู่กับชนิดของกระดาษ

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

หรือต้องเชื่อตาม ที่บริษัท บิิอก ??????????

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

โพสต์โพสต์แล้ว: ศุกร์ ม.ค. 23, 2009 10:45 pm
โดย raknim
คงต้องลองครับ ตอนนี้สั่งทำกระดาษสติ๊กเกอร์อยู่ ได้ผลยังไงจะแจ้งมาทาง webboard อีกทีครับ