Otro ejercicio rescatado, para todos aquellos que en alguna lado de este mundo necesitan ejercicios o codigos de Dbase&Clipper, la experiencia de conocer estos lenguajes, sin lugar a dudas en emocionante.

Mi primer manejo de punteros con base de datos, aunque el lenguaje DBase es bastante precario en el manejo de punteros, porque teni que estar controlando a cada rato que el puntero vaya bien, luego de 3 veces programar el mismo codigo, resulto. Imaginense que con otros lenguajes esto lo resumi a un par de lineas.
El ejercicio consistia en que tenias 4 bases de datos, y todas se iban relacionando a medida que las recorrias con alguna campo entre ellas, lo cual habian que recorrer y preguntar a cada rato si existia, si era si, almacenar todas las variables con un store, para asi ocuparlas dentro del programa en otra consulta.

*generar base de datos
go top
select 4
do while .not. eof()
store rut to rut_sele4
store cod_ramo to codr_sele4
store nota to nota_sele4
select 5
append blank
replace NOTA with nota_sele4
select 2
locate for rut=rut_sele4
if found()
store rut to rut_sele2
store cod_carr to codc_sele2
store nombre to nomb_sele2
endif
select 5
replace ALUMNO with nomb_sele2
select 1
locate for cod=codc_sele2
if foun()
store area to area_sele1
store carrera to carr_sele1
store cod to cod_sele1
endif
select 5
replace AREA with area_sele1
replace CARRERA with carr_sele1
select 3
locate for cod_ramo=codr_sele4
if found()
store cod_ramo to codr_sele3
store nombre to nomb_sele3
endif
select 5
replace RAMO with nomb_sele3
select 4
skip
enddo
select 5
wait
list
return

El resultado de todo lo anterior, se puede visualizar en la siguiente imagen:

dbase.png

Tau.