Files
MBS/PROYECTOS/isdir/menues/msgrp000.4gl
T

152 lines
5.4 KiB
Plaintext

{
Esta funcion se utiliza para dsplegar mensajes de los reportes de
los sistemas de Ray-O-Vac Dominicana.
Realizada por Lic. Abner Montalvo y Johnny Soto Agosto 21, 1992
}
DATABASE rayovac
FUNCTION msgrp000(tipo_papel)
DEFINE tipo_papel SMALLINT,
longitud CHAR(11),
linea_papel CHAR(50)
CASE
WHEN tipo_papel = 1
LET longitud = " 9 1/2 x 11"
WHEN tipo_papel = 2
LET longitud = "14 7/8 x 11"
END CASE
LET linea_papel = "Coloque papel ",longitud," en la impresora."
DISPLAY linea_papel
AT 15,14
DISPLAY
"<Ctrl-P> Elejir Printer Asegurese de que la impresora este encendida."
AT 16,10 ATTRIBUTE(REVERSE,YELLOW)
DISPLAY "<Esc> Ejecuta impresion <Ctrl-C> Cancela impresion"
AT 18,14
END FUNCTION
FUNCTION busca_printer()
DEFINE pcurr,impresor,idx SMALLINT,
negrillas_on,
negrillas_off,
doble_on,
doble_off,
doce,
comp_on,
comp_off,
normal CHAR(6)
DEFINE dspprt ARRAY[10] OF RECORD
nombre CHAR(30),
codigo SMALLINT,
puerto LIKE prttb00001.puerto,
prtcodigo LIKE prttb00001.prtcodigo
END RECORD,
prt RECORD LIKE prttb00001.*,
prtcodigo LIKE prttb00001.prtcodigo
OPEN WINDOW impresoras AT 10,5 WITH FORM "msgfmrp" ATTRIBUTE
(BORDER,FORM LINE FIRST + 1)
DECLARE busca CURSOR FOR
SELECT * FROM prttb00001
ORDER BY 1
LET idx = 1
FOREACH busca INTO prt.*
LET dspprt[idx].nombre = prt.nombre
LET dspprt[idx].codigo = prt.codigo
LET dspprt[idx].puerto = prt.puerto
LET dspprt[idx].prtcodigo = prt.prtcodigo
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
DISPLAY ARRAY dspprt TO s_prt.*
LET pcurr = arr_curr()
LET impresor = dspprt[pcurr].codigo
LET prtcodigo = dspprt[pcurr].prtcodigo
LET prt.puerto = dspprt[pcurr].puerto
CASE
WHEN prtcodigo = 1
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
WHEN prtcodigo = 2
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 031
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
EXIT CASE
END CASE
CLOSE WINDOW impresoras
RETURN prt.puerto,negrillas_on,negrillas_off,doble_on,doble_off,comp_on,comp_off,doce, normal
END FUNCTION
FUNCTION defecto(impresor)
DEFINE impresor,idx SMALLINT,
negrillas_on,
negrillas_off,
doble_on,
doble_off,
doce,
comp_on,
comp_off,
normal CHAR(6),
prt RECORD LIKE prttb00001.*
SELECT * INTO prt.* FROM prttb00001 a
WHERE codigo = impresor
CASE
WHEN prt.prtcodigo = 1
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
WHEN prt.prtcodigo = 2 {Printer Central. Contabilidad}
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 031
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
EXIT CASE
WHEN impresor = 3
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
END CASE
RETURN prt.puerto,negrillas_on,negrillas_off,doble_on,doble_off,
comp_on,comp_off,doce,normal
END FUNCTION