Visual FoxPro







En esta ocasión les traigo el codigo de un pequeño sistema hecho en Microsoft Visual FoxPro
a continuacion esta el codigo del Menu principal; en esta ocasion trabaje al lado de
Angel,Alex y Pepillo ^^ para crear un sistema para una Fabrica. Cada programa a excepcion del "Crear" y "Menu Principal" no tienen su respectivo Diagrama de Flujo:


"Menu Principal" [Codigo]:

@0,0 clear
clear all
release all
use fem===> Nombre de su tabla[Reemplazar por fem]
resp="0"
do while resp!="6"
   @2,35 say "Factory J.A.V.A."
   @3,1 clear
   @5,20 say "Programadores: J. Manuel, Angel, Vicente, Alejandro"
   @8,40 say "MENU"
   @10,19 say "1.- Crear Empleados"
   @10,47 say "2.- Consultar Empleado"
   @13,19 say "3.- Modificar Empleado"
   @13,47 say "4.- Despedir Empleado"
   @16,19 say "5.- Impresión de reportes"
   @16,47 say "6.- Salida"
resp=" "
do while .NOT. resp$'1,2,3,4,5,6'
   @20,28 say "Opción elegida==>" get resp
read
enddo
do case
  case resp="1"
       do crear
  case resp="2"
       do ver
  case resp="3"
        do recrear
  case resp="4"
        do despedir
  case resp="5"
        do ide
 endcase
 enddo
 @24,35 say "Corriendo......Para salir ª_ª"
 wait
 clear
 close databases
 close all
 return


"Crear" [Codigo]

@8,100 say "Creacion de Empledos"
resp1="s"
DO WHILE resp1="s"
clave=0000
nombre=space(25)
puesto=SPACE(15)
turno=SPACE(1)
horario=SPACE(15)
sueldo=SPACE(10)
sind=space(1)
STORE "n" to resp2
DO WHILE resp2="n"
APPEND BLANK
@10,90 say "Clave" get clave
@11,90 say "Nombre" get nombre
@12,90 say "Puesto" get puesto
@13,90 say "Turno" get turno
@14,90 say "Horario" get horario
@15,90 say "Sueldo" get sueldo
@16,90 say "Sind" get sind
READ
@18,90 say "Datos correctos[s/n]?"get resp2
READ
ENDDO
@19,90 say "Desea crear otro Empleado [s/n] ^_^?" get resp1
READ
ENDDO
RETURN

"Ver" [Codigo]:

@6,100 say "Ver Empleados"
resp1="s"
do while resp1="s"
m=space(15)
@8,80 say "Aquien buscas U_U ?" get m

read
store "N" to resp2
         Do while resp2="N"
do case
case empty(m)
        loop
case eof()
@19,100 say "ERROR: SE NOS PERDIO LA PERSONA T_T"
otherwise
        = CURSORSETPROP('Buffering', 5, 'fem')  && Activa el almacenamiento de tablas en búfer
        @10,90 say "Clave =>" get clave
        @11,90 say "Nombre =>" get nombre
        @12,90 say "Puesto =>" get puesto
        @13,90 say "Turno=>" get turno
        @14,90 say "Horario=>" get horario
        @15,90 say "Sueldo=>" get sueldo
        @16,90 say "Sindicalisado=>" get sind
read
if upper(resp1) = "S"
            = TABLEUPDATE(.T.)  && Graba los cambios
            = CURSORSETPROP('Buffering', 1, 'fem')  && DesActiva el almacenamiento de tablas en búfer
        else
            =TABLEREVERT(.T.)  && Descarta todos los cambios de la tabla
            = CURSORSETPROP('Buffering', 1, 'fem')  && DesActiva el almacenamiento de tablas en búfer
        endif
@20,90 say "BUSCAS A OTRO PERDIDO XP?" get resp1
read
@19,100 say "Deseas salir[s/N]?" get resp2
read
endcase
enddo
enddo
return

"Recrear" [Codigo]:

@8,100 say "Recrear Empleados"
resp1="s"
do while .T.
    @9,90 clear to 20,180
    m=space(10)
    @9,88 say "Empleado.                    o para salir"
    @9,99 get m
    read

    locate for nombre=m
   
    do case
    case lastkey()= 27
        exit
    case empty(m)
        loop
    case eof()
        @20,93 say "!! No se encuentra >.< ¡¡"
    otherwise
        = CURSORSETPROP('Buffering', 5, 'fem')  && Activa el almacenamiento de tablas en búfer
        @10,90 say "Nombre" get nombre
        @11,90 say "Clave" get clave
        @12,90 say "Puesto" get puesto
        @13,90 say "Turno" get turno
        @14,90 say "Horario" get horario
        @15,90 say "Sueldo" get sueldo
        @16,90 say "Sind" get sind
        read
        @17,90 say "Desea guardar [s/n]?" get resp1
        read
        if upper(resp1) = "S"
            = TABLEUPDATE(.T.)  && Graba los cambios
            = CURSORSETPROP('Buffering', 1, 'fem')  && DesActiva el almacenamiento de tablas en búfer
        else
            =TABLEREVERT(.T.)  && Descarta todos los cambios de la tabla
            = CURSORSETPROP('Buffering', 1, 'fem')  && DesActiva el almacenamiento de tablas en búfer
        endif
    endcase
enddo
return




"Despedir" [Codigo]:


release all
@8,100 say "Despedir >_<"
resp1="s"
do while resp1="s"
store "n" to res
m=space[15]
@9,90 say "Empleado=>" get m
read
locate for nombre=m
@10,90 say "Clave=>" get clave
@11,90 say "Nombre=>" get nombre
@12,90 say "Puesto=>" get puesto
@13,90 say "Turno=>" get turno
@14,90 say "Horario=>" get horario
@15,90 say "Sueldo=>" get sueldo
@16,90 say "Sind=>" get sind
read
@16,90 say "Desea Despedirlo[s/n]?" get res
read
if res="s"
delete
pack
endif

@18,90 say "Desea despedir a otro empleado :S[s/n]?" get resp1
read
enddo
return



"Ide" [Codigo][Impremir Reportes]

read
if buscar=1
list to printer
else if buscar=2
go top
buscar=0
@13,15 say "Introduzca el No. de registro" get buscar
read
go buscar
@15,25 say "Clave"
@15,33 get clave
@16,25 say "Nombre"
@16,33 get nombre
@17,25 say "Puesto"
@17,33 get puesto
@18,25 say "Turno"
@18,33 get turno
@19,25 say "Horario"
@19,33 get horario
@20,25 say "Sueldo"
@20,33 get sueldo
@21,25 say "Sind"
@21,33 get sind

clear gets
resp2=" "
@25,25 say "Es la persona a imprimir s/n?" get resp2
read

if resp2="s"
display to printer
endif
endif
resp1="s"
@27,25 say "Desea hacer otra impresion s/n?" get resp1
read
enddo
go top
return







Bien pues eso todo por hoy ^^ espero les sea de ayuda este sistema ó si no pues que sea por diversion ^^
Salu2
Atte. Vince




No hay comentarios:

Publicar un comentario