[ Foro de BASIC ]
„
'=============================================================================
' Programa de impresion automatica de POR CAPTURA DEL PUERTO USB
'
'=============================================================================
'Inicio del programa
SiempreON$ = "S"
SYSVAR(43)=1
miversion$=" V2.1" + CHR$(169)
' Tiempo MAX que muestra la info
MAXRETARDO%=3
GOSUB zInstallImages
'Selección del puerto de entrada
'1->uart1 (RS232C)
'5->Ethernet
'6->USB1
'Puerto% = 1
' Desactiva el boton de atras.
BREAK 0 OFF
' Pone NASC en Formato ANSI
NASC -2
ON ERROR GOTO AvisoError
'KEY(17) ON:ON KEY(17) GOSUB FinalizaPrograma
' Para todos los mensajes.
'OPEN "console:" AS #10
'OPEN "uart1:" AS #20
open "SETUP.SYS" for output as #1
print #1,"SERVICE,MEDIA SIZE,WIDTH,840"
print #1,"SERVICE,MEDIA SIZE,LENGTH,200"
'print #1,"MEDIA,MEDIA SIZE,XSTART,116"
'print #1,"FEEDADJ,STARTADJ,-142"
print #1,"MEDIA,MEDIA TYPE,LABEL (W GAPS)"
close#1
setup "SETUP.SYS"
GOSUB fMensajeListo
MYCODE1$=""
OPEN "usbhost:" FOR INPUT AS #7
' Impresion Lista *************
MAG 2,2:PRPOS 240,10:PT "PREPARADA":PF
WHILE SiempreON$="S"
WHILE NOT LOC(7):WEND
''Data exists, read it
LINE INPUT #7,MYCODE1$
'MYCODE$ = INPUT$(LOC(7), 7)
IF MID$(MYCODE1$,1,1)="j" THEN
MYCODE2$=MID$(MYCODE1$,2,LEN(MYCODE1$))
ELSE
MYCODE2$=MID$(MYCODE1$,1,LEN(MYCODE1$))
ENDIF
IF MYCODE2$="SALIR" THEN GOSUB SalirAplicacion
' Impresion del Codigo de Barras *************
MAG 1,1
PRPOS 240,10
IF LEN(MYCODE2$)>=15 THEN
BARSET "CODE128",3,1,2,90
ELSE
BARSET "CODE128",3,1,3,90
ENDIF
BARFONT "Swiss 721 BT",8,0,0,1,1,100 ON
PRBAR MYCODE2$
PF
WEND
CLOSE #7
END
'---------------------------------------------------------- AVISO DE ERROR ------
AvisoError:
' Enciende el Led de Error y Apaga Ready
LED1 OFF:LED0 OFF
LED1 OFF:LED0 ON
GOSUB fDisplayError
' Music de Colonel Bogie
SOUND 392,15:SOUND 330,20:SOUND 330,15
SOUND 349,15:SOUND 392,15:SOUND 659,25
SOUND 659,25:SOUND 523,25
RETURN
AlmacenaError:
OPEN "ERROR.LOG" FOR APPEND AS #9
PRINT #9, "Error: Fichero vacio" + CHR$(13)
CLOSE #9
RETURN
fDisplayError:
OPEN "console:" FOR OUTPUT AS #1
PRINT #1, CHR$(155) + "2J";
PRINT #1:PRINT #1
PRINT #1, "IREPLICA" + miversion$
PRINT #1, "Error " + STR$(ERR);
CLOSE #1
GOSUB Temporizador
GOSUB fMensajeListo
RETURN
'---------------------------------------------------------- AJUSTA GAP ----------
' Hace una impresion de x Label para ajustar el GAP
AjustaGap:
TESTFEED
RETURN
' Mensaje en display
fMensajeListo:
OPEN "console:" FOR OUTPUT AS #1
PRINT #1, CHR$(155) + "2J";
PRINT #1:PRINT #1
PRINT #1,"IREPLICA" + miversion$
PRINT #1,"Lista";
CLOSE #1
RETURN
'------------------------------------------------- SALIR DE APLICACION ----------
' Sale de la aplicación for cualquier error.
SalirAplicacion:
GOSUB fMensaExit
END
RETURN
fMensaExit:
OPEN "console:" FOR OUTPUT AS #1
PRINT #1, CHR$(155) + "2J";
PRINT #1:PRINT #1
PRINT #1, "IREPLICA" + miversion$
PRINT #1, "Saliendo...";
CLOSE #1
GOSUB Temporizador
RETURN
FinalizaPrograma:
END
RETURN
Temporizador:
TIME1$=TIME$
WHILE RETARDOS%<MAXRETARDO%
RETARDOS%=TIMEDIFF(TIME1$,TIME$)
WEND
RETURN
zInstallImages:
'Copy required images to the display directory
'SYSVAR(43)=1
COPY "c:FUNCKEY_101.PNG","/c/display/funckey_101.png"
COPY "c:FUNCKEY_102.PNG","/c/display/funckey_102.png"
COPY "c:FUNCKEY_103.PNG","/c/display/funckey_103.png"
COPY "c:FUNCKEY_104.PNG","/c/display/funckey_104.png"
COPY "c:FUNCKEY_105.PNG","/c/display/funckey_105.png"
DISPLAY Key 1,101
DISPLAY Key 2,102
DISPLAY Key 3,103
DISPLAY Key 4,104
DISPLAY Key 5,105
RETURN
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)