10 ' ============ ::::::::   AEMARG :::::::: ==============================
   '
   ' :::::::  ESTADISTICA DE VENTAS
   '
   ' SISTEMAS SIERRA SA DE CV                    MODIFICA TARJETAS             
   ' 07-Ago-2003 1730  creaci˘n inicial del programa
   ' ======================================================================
   
    ' $INCLUDE: 'EDITAL.BAS'
      DIM SHARED V1%(2000),V2%(2000),V3%(2000)
      ON ERROR GOTO ErrorHandler
      WIDTH LPRINT 150                                     ' asigna impresor

      GOSUB 9802                                           ' carga parametros
      CVEACC=60:GOSUB 6897:IF VCVE=1 THEN CLOSE:END
    ' $INCLUDE: 'AUTARG.BAS'

      IF LEN(ANO$)=2 THEN XANO$=ANO$:IF ANO$<"80" THEN ANO$="20"+ANO$ ELSE ANO$="19"+ANO$

    ' $INCLUDE: 'OPNTEM.BAS'
    ' $INCLUDE: 'OPNXME.BAS'
      GET#5,1
      MM=CVS(MM5$)                                         ' maximo de meseros
      UM=CVS(UM5$)                                         ' ultimo mesero
      GOSUB 350                                            ' MODIFICA TARJETAS
      CLOSE                                                ' cierra archivos
      END

350                                                        ' ACUMULA DIAS ANTERIORES
     GOSUB 10016                                           ' cuadro pantalla
     SISTEMA$="ANALISIS DE VENTAS":LG=79                   ' titulo
     MENU$="Tarjetas"                             
     GOSUB 8300                                            ' encabezado
     COLOR 7,0                                             ' intensidad media
     PR=06:PC=19:NR=01:NC=04:GOSUB 9981
     PR=09:PC=19:NR=02:NC=24:GOSUB 9981
     PR=13:PC=19:NR=01:NC=02:GOSUB 9981

     COLOR 0,7
        LOCATE 07,03:PRINT "N£mero tarjeta" 
        LOCATE 10,03:PRINT "Nombre completo"
        LOCATE 11,03:PRINT "Nombre corto" 
        LOCATE 14,03:PRINT "Grupo meseros"

900  GOSUB 902:GOSUB 904:GOSUB 906:GOSUB 908:GOTO 1000
902  COLOR 15, 7:LOCATE 07,20:PRINT SPACE$(04):RETURN
904  COLOR 15, 7:LOCATE 10,20:PRINT SPACE$(24):RETURN
906  COLOR 15, 7:LOCATE 11,20:PRINT SPACE$(08):RETURN
908  COLOR 15, 7:LOCATE 14,20:PRINT SPACE$(02):RETURN


1000 MENSAJE$=" Tarjeta.  F8=por n£mero.  F9=por nombre.  F10=por grupo.  ESC=terminar.":GOSUB 15710
     NOL$=SPACE$(24):NOC$=SPACE$(8):GPO$=SPACE$(2):GPO=0:REG=0
     COLOR 16,15:LOCATE 24,13:PRINT "F8";
                 LOCATE 24,29:PRINT "F9";
                 LOCATE 24,45:PRINT "F10";
                 LOCATE 24,61:PRINT "ESC";
                 LOCATE 23, 2:PRINT ""
     S$=""
     COLOR 15,1:W=07:Z=20:L=4:T=1:keypressed = edit(z,w,l,S$) ' NUMERO
     IF KEYPRESSED=ESCAPE OR KEYPRESSED=UPARROW THEN RETURN
     IF KEYPRESSED=FF8  THEN GOSUB 5500:IF BAND<>1 THEN 1000
     IF KEYPRESSED=FF9  THEN GOSUB 5510:IF BAND<>1 THEN 1000
     IF KEYPRESSED=FF10 THEN GOSUB 5520:IF BAND<>1 THEN 1000
        NUM$=STRING$(4-LEN(S$),"0")+S$
        REG=0
        FOR I=1 TO UM                                      ' busca mesero
            GET#2,I                                        ' accesa registro
            IF ASC(F2$)=0 THEN
               IF NU2$=NUM$ THEN                           ' localiz˘ mesero
                  REG=I
                  NOL$=NL2$
                  NOC$=SN2$
                  GPO =CVI(GP2$)
                  GPO$=MID$(STR$(GPO),2):IF LEN(GPO$)=1 THEN GPO$="0"+GPO$
                  GOTO 1002
               ENDIF
            ENDIF
        NEXT I
        IF REG=0 THEN
           GOSUB 7590
           GOTO 1000
        ENDIF
1002    GOSUB 1500                                         ' exhibe nombres

1010 MENSAJE$=" Nombre completo. ":GOSUB 15710
     IF NOL$=SPACE$(24) THEN S$="" ELSE S$=NOL$
     COLOR 15,1:W=10:Z=20:L=24:T=3:keypressed = edit(z,w,l,S$) ' NOMBRE LARGO
     IF KEYPRESSED=ESCAPE OR KEYPRESSED=UPARROW THEN 900  
        NOML$=S$+SPACE$(24-LEN(S$))
        GOSUB 1504

1020 MENSAJE$=" Nombre corto.  Apodo.":GOSUB 15710
     IF NOC$=SPACE$(08) THEN S$="" ELSE S$=NOC$
     COLOR 15,1:W=11:Z=20:L=24:T=3:keypressed = edit(z,w,l,S$) ' NOMBRE CORTO
     IF KEYPRESSED=ESCAPE OR KEYPRESSED=UPARROW THEN GOSUB 1506:GOTO 1010  
        NOMC$=S$+SPACE$(8-LEN(S$))
        GOSUB 1506

1030 MENSAJE$=" Grupo al que pertenece el mesero.  00 al 99.":GOSUB 15710
     COLOR 16,15
        LOCATE 24,38:PRINT "00";
        LOCATE 24,44:PRINT "99";
        LOCATE 23, 2:PRINT ""
     IF GPO$=SPACE$(02) THEN S$="00" ELSE S$=GPO$
     COLOR 15,1:W=14:Z=20:L=02:T=1:keypressed = edit(z,w,l,S$) ' GRUPO
     IF KEYPRESSED=ESCAPE OR KEYPRESSED=UPARROW THEN GOSUB 1508:GOTO 1020  
        GPO$=S$
        IF LEN(GPO$)=1 THEN GPO$="0"+GPO$
        IF LEN(GPO$)=0 THEN GPO$="00"
        GOSUB 1508
        GPO=VAL(GPO$)

1100 GOSUB 7500                                            ' GRABAR
     IF KEYPRESSED=ESCAPE OR KEYPRESSED=UPARROW THEN 1030
     IF KEYPRESSED=FF1 OR S$="1" THEN 1200
     IF KEYPRESSED=FF2 OR S$="C" OR S$="c" THEN 900
        GOSUB 7600:GOTO 1100

1200 LSET NU2$=NUM$                                        ' numero
     LSET NL2$=NOL$                                        ' nombre largo
     LSET NC2$=NOC$                                        ' nombre corto
     LSET GP2$=MKI$(GPO)                                   ' grupo
     PUT#2,REG
     BEEP
     GOTO 900

1500 GOSUB 1502:GOSUB 1504:GOSUB 1506:GOSUB 1508:RETURN
1502 COLOR 15,7:LOCATE 07,20:PRINT NUM$:RETURN
1504 COLOR 15,7:LOCATE 10,20:PRINT NOL$:RETURN
1506 COLOR 15,7:LOCATE 11,20:PRINT NOC$+SPACE$(16):RETURN
1508 COLOR 15,7:LOCATE 14,20:PRINT GPO$:RETURN

5500                                                       ' CONSULTA TARJETAS POR NUMERO
     ' $INCLUDE: 'P55ARG.BAS'
       PR=10:PC=20
       LSET PR55$  =MKI$(PR)
       LSET PC55$  =MKI$(PC)
       LSET CVE55$ =SPACE$(4)
       LSET BAND55$=MKI$(0)
       PUT#55,1
       CLOSE#55
       SHELL "\SIEARG2\YETARG"
       ' $INCLUDE: 'P55ARG.BAS'
       GET#55,1
       BAND=CVI(BAND55$)
       S$=NUM55$
       CLOSE#55
       RETURN

5510                                                       ' CONSULTA TARJETAS POR NOMBRE
     ' $INCLUDE: 'P55ARG.BAS'
       PR=10:PC=20
       LSET PR55$  =MKI$(PR)
       LSET PC55$  =MKI$(PC)
       LSET CVE55$ =SPACE$(4)
       LSET BAND55$=MKI$(0)
       PUT#55,1
       CLOSE#55
       SHELL "\SIEARG2\YENARG"
       ' $INCLUDE: 'P55ARG.BAS'
       GET#55,1
       BAND=CVI(BAND55$)
       S$=NUM55$
       CLOSE#55
       RETURN

5520                                                       ' CONSULTA TARJETAS POR GRUPO
     ' $INCLUDE: 'P55ARG.BAS'
       PR=10:PC=20
       LSET PR55$  =MKI$(PR)
       LSET PC55$  =MKI$(PC)
       LSET CVE55$ =SPACE$(4)
       LSET BAND55$=MKI$(0)
       PUT#55,1
       CLOSE#55
       SHELL "\SIEARG2\YGPARG"
       ' $INCLUDE: 'P55ARG.BAS'
       GET#55,1
       BAND=CVI(BAND55$)
       S$=NUM55$
       CLOSE#55
       RETURN

6999 ' $INCLUDE: 'R50GRL.BAS'
     ' $INCLUDE: 'LEFARG.BAS'
     ' $INCLUDE: 'KEYARG.BAS'
     ' $INCLUDE: 'VERSFT.BAS'

ErrorHandler:
      IF ERR=70 THEN LOCATE 24,01:COLOR 16,15:PRINT "pd...";:LOCATE 23,2:PRINT "":RESUME
      IF ERR=24 OR ERR=25 OR ERR=27 THEN GOSUB 7510:RESUME
      COLOR 16,15:LOCATE 24,01:PRINT "Error en los datos ";ERR;" Linea ";ERL;". Llame a SIERRA.";:LOCATE 23,2:PRINT "":W$=INPUT$(1):CLOSE:END
