Visual FoxPro

 "impresion de REPORTES"

use agenda
@8,100 say "reportes"
resp="s"
resp2="s"
nom="(teclee un nombre)"
do while resp="s"
op="0"
@10,90 say "opciones"
@13,90 say "1.- Imprimir lista"
@14,90 say "2.- Imprimir registro"
@15,90 say "3.- salir"

@17,90 say"opcion elegida" get op
read
clear
 do case
   case op="1"
  resp1="s"
   do while resp1="s"
   list
   @25,90 say "desea imprimir lista[s/n]?"get resp1
   read
   if resp1="s"
   list to print
   clear
   endif
  enddo
 
 case op="2"
do while resp2="s"
     @10,90 say "dar Nombre de registro" get nom
     read
     locate for nombre=nom
     display
     @25,90 say "desea imprimir registro [S/N]?" get resp2
     read
     if  resp2="s"
     display to print
     endif
     enddo
     clear
    
    case op="3"
     @20,90 say"salir"
endcase    
@21,90 say"regresar a opciones" get resp
read
enddo
return