{ 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 " Elejir Printer Asegurese de que la impresora este encendida." AT 16,10 ATTRIBUTE(REVERSE,YELLOW) DISPLAY " Ejecuta impresion 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