27. Sigamos con la subrutina de ELIMINAR, abrimos
el control de lista Object, seleccionamos --- New Subroutine/Function
---, entramos a la ventana Name Subroutine/Function y digitamos:
ELIMINAR
Damos aceptar y digitamos:
rem ' -----------------------------------------------------------------
rem ' ELIMINAR
rem ' -----------------------------------------------------------------
ELIMINAR:
CLIEN.CODIGO$=CTRL(GB__SYSGUI,ID_CLIENTE,OBTENER_TEXTO)
if CVS(CLIEN.CODIGO$,2)="" then RETURN
SQLPREP(SQLCHAN)"SELECT * FROM CLIENTES
: WHERE CODIGO='"+CLIEN.CODIGO$+"'"
SQLEXEC(SQLCHAN)
DIM CLI$:SQLTMPL(SQLCHAN,ERR=NO_EXISTE_REGISTRO)
M=msgbox("Desea eliminar el cliente"+clien.codigo$,4+32,"Eliminar")
if M=7 then RETURN
SQLPREP (sqlchan)"DELETE FROM CLIENTES WHERE CODIGO='"+clien.codigo$+"'"
SQLEXEC (sqlchan)
GOSUB LIMPIAR_PANTALLA
Print (GB__SYSGUI)'CLRTITLE'(ID_CLIENTE)
GOSUB LISTA_NOMBRES
Print (GB__SYSGUI)'FOCUS'(ID_CLIENTE)
NO_EXISTE_REGISTRO:
return
28. Siguiendo con el orden arriba indicado, nos
corresponde escribir el código para la subrutina IMPRIMIR, para lo cual abrimos
el control de lista Object, seleccionamos --- New Subroutine/Function
---, entramos a la ventana Name Subroutine/Function y digitamos:
IMPRIMIR
Damos aceptar y digitamos:
rem ' -----------------------------------------------------------------
rem ' IMPRIMIR
rem ' -----------------------------------------------------------------
IMPRIMIR:
PCHAN=UNT
OPEN(PCHAN,MODE="PREVIEW,COLS=132",ERR=IMPRESORA_OCUPADA)"LP"
L=100,L1=54,P=0,TOTAL_CLIENTES=0
SQLPREP(SQLCHAN)"SELECT * FROM CLIENTES"
SQLEXEC(SQLCHAN)
DIM CLI$:SQLTMPL(SQLCHAN)
REPORTE_CLIENTES:
CLI$=SQLFETCH(SQLCHAN,ERR=FIN_DE_REPORTE)
if L>L1 then GOSUB ENCABEZADO
Print (PCHAN)CLI.CODIGO$," ",CLI.NOMBRE$," ",CLI.TELEFONO$
L=L+1, TOTAL_CLIENTES=TOTAL_CLIENTES+1
GOTO REPORTE_CLIENTES
FIN_DE_REPORTE:
if TOTAL_CLIENTES=0 then GOTO CERRAR_IMPRESORA
if L+3 > L1 then GOSUB ENCABEZADO
Print (PCHAN)FILL(132,"-")
Print (PCHAN)"TOTAL DE CLIENTES: ",TOTAL_CLIENTES
Print (PCHAN)FILL(132,"-")
CERRAR_IMPRESORA:
CLOSE(PCHAN)
Return
rem ' -----------------------------------------------------------------
rem ' ENCABEZADO
rem ' -----------------------------------------------------------------
ENCABEZADO:
L=0,P=P+1
if P>1 then Print (PCHAN)'FF',
Print (PCHAN)"CURSO DE VISUAL",@(75),"Pagina:",P,'LF',"Sistema de
: cuentas por cobrar",'lf',"Reporte de clientes",'LF',fill(80,"-"),'LF',
: "Cliente Nombre",@(30),"Telefono",'LF',fill(80,"-")
return
|