Ultimo test de la ronda del Semestre, todo un hito…realmente fue algo heroico, terminarlo.

Finalmente me salio completamente un test de OMA, bueno acá les dejo el codigo, para que puedan estudiar, o si por ahí en la red a alguien le sirve.

programacion.gif

oma3.PRG

*Jonathan Ramírez Medina / Grupo 2
*Menu principal
set status off
set bell off
set confirm on
set talk off
set date british
set wrap on
set message to 24 center
public opcion,codigo,dedonde,pedido
do bases
si=.T.
do while si
do menu
menu to opcion
do case
case opcion=1
keyboard chr(0)
do depar
do compras
case opcion=2
keyboard chr(0)
do depar
do listado
case opcion=3
si=.F.
clear
endcase
enddo
return
*------------------------
procedure bases
select 1
use deptos
select 2
use empresa
select 3
use compras
return
*-----------------------
procedure menu
@0,0 clear
@7,10 say "***** TEST NUMERO TRES DE OMA G2 *****"
@9,10 prompt "1. Compras" message "Presione <ENTER> para continuar"
@10,10 prompt "2. Listado" message "Presione <ENTER> para continuar"
@11,10 prompt "3. Salir" message "Presione <ENTER> para salir"
@13,10 say "Alumno: Jonathan Ramirez"

depar.PRG

*Listado de departamentos
select 1
go top
declare campo[2], forma[2], titulo[2]
campo[2]=”CLAVE”
campo[1]=”DEPTO”
forma[2]=”99″
forma[1]=”@! AAAAAAAAAAAAAAA”
titulo[2]=”Codigo;Departamento”
titulo[1]=”Nombre;Departamento”
@0,0 CLEAR
@7,10 SAY “***** LISTADO DE DEPARTAMENTOS *****”
set color to /w
@16,10 SAY ” ENTER(ingresar) ESC(Salir) ”
set color to
dbedit(7,10,14,61,campo,”func1″,forma,titulo)
return
*—————————————–
function func1
parameters resp1
do case
case lastkey()=27
resp1=0
case lastkey()=13
store CLAVE to codigo
resp1=0
otherwise
resp1=1
endcase
return resp1

compras.PRG

*Listado de compras filtradas por departamento
keyboard chr(0)
select 3
go top
declare campo[3], forma[3], titulo[3]
campo[1]=”RUT”
campo[2]=”MES”
campo[3]=”MONTO”
forma[1]=”999″
forma[2]=”99″
forma[3]=”999″
titulo[1]=”Rut”
titulo[2]=”Mes”
titulo[3]=”Monto”
@0,0 clear
@7,10 SAY “***** LISTADO DE COMPRAS *****”
set color to /w
@16,10 say ” F2(Agregar) F3(Eliminar) ESC(salir) ”
set color to
locate for DEPTO=codigo
set filter to DEPTO=codigo
dbedit(9,10,14,66,campo,”func2″,forma,titulo)
return
*—————————————
function func2
parameters resp2
do case
case lastkey()=27
resp2=0
case lastkey()=-1
set cursor on
var1=0
var2=0
var3=0
@row(),31 GET var1 pict forma[1] valid existe(var1)
@row(),37 GET var2 pict forma[2]
@row(),42 GET var3 pict forma[3]
read
if lastkey() <> 27
append blank
replace RUT with var1, MES with var2, MONTO with var3, DEPTO with codigo
else
resp2=2
endif
case lastkey()=-2
dele
pack
keyboard chr(0)
resp2=2
otherwise
resp2=1
endcase
return resp2
*———————
function existe
parameters si
locate for RUT=var1
if found()
si=.F.
else
si=.T.
endif
return si

listado.PRG

*Listado de montos filtrados por departamento y mes
pedido=0
@0,0 CLEAR
@7,10 SAY "***** MES DEL FILTRO *****"
@10,10 SAY "Ingrese el mes a filtar: " GET pedido pict "99"
READ
keyboard chr(0)
select 3
go top
declare campo[2], forma[2], titulo[2]
campo[1]=”MONTO”
campo[2]=”MES”
forma[1]=”999″
forma[2]=”99″
titulo[1]=”Monto”
titulo[2]=”Mes filtrado”
@0,0 clear
@7,10 SAY “***** LISTADO DE MONTOS *****”
set color to /w
@16,10 say ” ESC(salir) ”
set color to
locate for DEPTO=codigo .and. MES=pedido
set filter to DEPTO=codigo .and. MES=pedido
dbedit(9,10,14,66,campo,”func3″,forma,titulo)
return
*—————————–
function func3
parameters resp3
do case
case lastkey()=27
resp3=0
otherwise
resp3=1
endcase
return resp3

Tau.