FoxPro/Visual FoxPro - No entiendo este programa

   
Vista:

No entiendo este programa

Publicado por Rubi (1 intervención) el 23/07/2011 19:09:00
set status off
set talk off
set echo off
set device to print
use existenc
pagina=0
repetir=.t.
go top
clear
do while repetir
pagina=pagina+1
@2,23 say 'Existencia de Artículos'
@3,23 say replicate('',23)
@4,50 say 'Pag.:'+ltrim(str(pagina))
@6,5 say 'Codigo'
@6,16 say 'Descripcion'
@6,42 say 'Saldo'
@6,50 say 'Observación'
linea=8
do while linea<66
if eof()
repetir=.f.
exit
endif
if saldo<minima
observacion='A Pedir'
else
observacion='space(7)'
endif
@linea.5 say codigo
@linea.16 say descripcio
@linea.36 say str(saldo)
@linea.51 say observacion
skip
linea=linea+1
enddo
wait'Presione ENTER'
enddo
set device to screen
close data
set status on
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No entiendo este programa

Publicado por Santiago (376 intervenciones) el 23/07/2011 22:39:45
Hola, que es lo que no entiendes?, quizas porque son lineas de programacion estructural, en la forma antigua, antes que existieran los formularios, en fin, si fueras mas especifica podria ayudarte.

Santiago.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No entiendo este programa

Publicado por many (332 intervenciones) el 23/07/2011 23:33:09
Rubi, este es un programita con la finalidad de imprimir un reporte por impresora tiene algunos comandos que se ejecutan antes de el programa entrar materia.
Todos estan en la ayuda

set status off
set talk off *****
set echo off
set device to print
use existenc
pagina=0
repetir=.t.
go top
clear

este es el encabezado del reporte que se imprime solo cuando se han impreso 66 lineas es decir una pagina completa.


do while repetir
pagina=pagina+1
@2,23 say 'Existencia de Artículos'
@3,23 say replicate('',23)
@4,50 say 'Pag.:'+ltrim(str(pagina))
@6,5 say 'Codigo'
@6,16 say 'Descripcion'
@6,42 say 'Saldo'
@6,50 say 'Observación'
linea=8


y este es otro bucle que esta dentro del anterior para imprimir cada linea de las 66 antes mencionadas

do while linea<66
if eof()
repetir=.f.
exit
endif
if saldo<minima
observacion='A Pedir'
else
observacion='space(7)'
endif
@linea.5 say codigo
@linea.16 say descripcio
@linea.36 say str(saldo)
@linea.51 say observacion
skip
linea=linea+1
enddo
wait'Presione ENTER'
enddo



set device to screen (regresa al estado normal, es decir se ven los procesos en pantalla)
close data (cierra las tablas o base de datos)
set status on


ya hay otras formas pero esto es una realidad, funciona y en algunos casos son muy utiles.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No entiendo este programa

Publicado por DEVILSITO (311 intervenciones) el 29/08/2011 17:16:03
La verdad si consigues adaptarlo a VFP9, las lineas de codigo se reducirían a menos de la mitad, y seria mucho mas facil el entendimiento del código. Ese codigo que muestras es del tiempo de Fox Pro para DOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar