home *** CD-ROM | disk | FTP | other *** search
- FUNCTION ibmlaser
- PARAMETERS pc_todo,px_param1,px_param2,px_param3,px_param4,px_param5,px_param6,px_param7
-
- PRIVATE lc_params,lc_str,ll_query,ll_toprint
- lc_params = "pc_todo,px_param1,px_param2,px_param3,px_param4,px_param5,px_param6,px_param7"
-
- lc_str = ""
- ll_query = .F.
- ll_toprint = .T.
- pc_todo = UPPER(pc_todo)
- IF pc_todo="QUERY"
- ll_query = .T.
- ll_toprint = .F.
- IF PCOUNT()=1
- RETURN .T.
- ENDIF
- pc_todo = UPPER(px_param1)
- px_param1 = px_param2
- px_param2 = px_param3
- px_param3 = px_param4
- px_param4 = px_param5
- px_param5 = px_param6
- px_param6 = px_param7
- ENDIF
-
- DO CASE
- CASE pc_todo = "VMI"
- lc_str = CHR(27)+"[\"+int2bytstr(2)+int2bytstr(1440)
- lc_str = lc_str +CHR(27)+"A" + ;
- CHR(INT(1440/px_param1))+CHR(27)+"2"
-
- CASE pc_todo = "ORIENTATION"
- PRIVATE la_orients,ln_x
- DECLARE la_orients[3,2]
-
- la_orients[1,1] = "PORTRAIT"
- la_orients[1,2] = "k"
- la_orients[2,1] = "LANDSCAPE"
- la_orients[2,2] = "l"
-
- ln_x = 1
- px_param1 = UPPER(px_param1)
- DO WHILE TYPE("la_orients[ln_x,1]")='C'
- IF la_orients[ln_x,1] = px_param1
- EXIT
- ENDIF
- ln_x = ln_x + 1
- ENDDO
-
- IF TYPE("la_orients[ln_x,1]") = 'C'
- lc_str = CHR(27)+la_orients[ln_x,2]
- ENDIF
-
- CASE pc_todo = "PFEED"
- lc_str = CHR(27)+"[F"+int2bytstr(1)+;
- CHR(IIF(UPPER(px_param1)="MANUAL",1,3))
-
- CASE pc_todo = "PSIZE"
- PRIVATE la_psizes,ln_x
- DECLARE la_psizes[6,2]
-
- la_psizes[1,1] = "LETTER"
- la_psizes[1,2] = 1
- la_psizes[2,1] = "LEGAL"
- la_psizes[2,2] = 2
- la_psizes[3,1] = "B5"
- la_psizes[3,2] = 3
- la_psizes[4,1] = "A4"
- la_psizes[4,2] = 4
- la_psizes[5,1] = "EXECUTIVE"
- la_psizes[5,2] = 5
-
- ln_x = 1
- px_param1 = UPPER(px_param1)
- DO WHILE TYPE("la_psizes[ln_x,1]")='C'
- IF la_psizes[ln_x,1] = px_param1
- EXIT
- ENDIF
- ln_x = ln_x + 1
- ENDDO
-
- IF TYPE("la_psizes[ln_x,1]") = 'C'
- lc_str = CHR(27)+"[F"+int2bytstr(4)+;
- REPLICATE("{0}",3)+;
- CHR(la_psizes[ln_x,2])
- ENDIF
-
- CASE pc_todo = "TMARGIN"
- lc_str = CHR(27)+"[K"+int2bytstr(4)+;
- CHR(6)+CHR(49)+CHR(1)+CHR(32+128)
- lc_str = lc_str + CHR(27)+"[S"+int2bytstr(2)+;
- int2bytstr(px_param1,.T.)
-
- ENDCASE
-
-
-
- IF ll_toprint
- ??? lc_str
- ELSE
- IF ll_query
- px_param7 = px_param6
- px_param6 = px_param5
- px_param5 = px_param4
- px_param4 = px_param3
- px_param3 = px_param2
- px_param2 = px_param1
- ENDIF
- ENDIF
-
- RETURN .NOT. ISBLANK(lc_str)
-
- FUNCTION int2bytstr
- PARAMETER pn_int,pl_hilo
-
- PRIVATE ln_hi,ln_lo,lc_str,ln_sbyte,ln_ebyte
-
- ln_hi = INT(pn_int/256)
- ln_lo = MOD(pn_int,256)
- lc_str = ""
-
- ln_sbyte = IIF(pl_hilo,ln_hi,ln_lo)
- ln_ebyte = IIF(pl_hilo,ln_lo,ln_hi)
-
- lc_str = lc_str + IIF(ln_sbyte # 0,CHR(ln_sbyte),"{0}")
- lc_str = lc_str + IIF(ln_ebyte # 0,CHR(ln_ebyte),"{0}")
-
- RETURN lc_str
- *EOP: int2bytstr
-
-
-