Me podrías decir como puedo ir al anterior, siguiente, primero y último registro que despliego en un formulario y así mismo como puedo imprimir esta salida.
1 respuesta
Respuesta de César Pech
1
1
César Pech, Me defiendo en lo que a VFP se refiere
Primero que nada debes crear un botón para cada operación, y crear un Método que actualice el despliegue de datos actual. Para cada botón debes poner: Ir al anterior: SKIP -1 Ir al siguiente: SKIP Ir al último: Go bottom Ir al primero Go top Y después de haber realiza dicha acción, llamas al método de actualización. Toma en cuenta que si te intentas mover hacia el siguiente registro y estas en EOF(), se generará un error. Así como con BOF() Por lo de la impresión no te comprendo que salida quieres imprimir, pero puedes usar un informe, que diseñes en el "diseñador de informes".
Gracias por respuesta me fue de mucha utilidad, en cuanto a la impresión a través de informes ya los he realizado pero solo a través de botones o directamente los he mandado imprimir. ¿Cómo puedo vincular una búsqueda de un formulario que contiene cuadros de texto con una salida en un informe y así mandar a imprimir mi formulario? Gracias
Para poder imprimir un formulario o el escritorio de windows tal y como está, te mando una función para poder realizarlo. Este código hace uso de las APIs de Windows, así como llama a funciones externas... Espero que te sea de utilidad **************** Formulario: DECLARE INTEGER GetFocus IN WIN32API PrintWindow(GetFocus(), "Imprimiendo el formulario") Escritorio: PrintWindow(MainhWnd(), "Imprimiendo Escritorio") ************************************************************ * * Funcion: PRINTWINDOW * * Imprime una ventana * * Parametros: * * tnHWnd Handle a la ventana (Window handle) * tcJobName Nombre del Job de Impresion * * Ejemplos: * * PrintWindow(GetFocus(), "Imprimiendo el formulario") * ****************************** FUNCTION PRINWINDOW LPARAMETERS tnHWnd, tcJobName LOCAL lcJobName && Nombre de la tarea de impresion LOCAL lnRetVal && Valor de retorno de las funciones del API DECLARE INTEGER PrintWindow IN DibApi32 ; INTEGER HWnd, ; INTEGER fPrintArea, ; INTEGER fPrintOpt, ; INTEGER wxScale, ; INTEGER wyScale, ; STRING @ szJobName *!* Imprimir la ventana entera o el area cliente *!* Como ajustar la imagen *!* PW_BESTFIT se ajusta al papel pero se mantienen las proporciones *!* PW_STRETCHTOPAGE se ajusta para cubrir totalmente el papel pero distorsiona las proporciones *!* PR_SCALE escala el tamaño de impresion *!* Si no se incluye el FoxPro.H descomente estas lineas *!* *!* lcJobName = tcJobName + CHR(0) lnRetVal = PrintWindow( tnHWnd, PW_WINDOW, PW_STRETCHTOPAGE, 0, 0, @lcJobName) IF lnRetVal != 0 IF lnRetVal != 6 && 6 = El usuario cancelo la impresión = MESSAGEBOX("Imposible Imprimir la ventana" + CRLF + ; "PrintWindow API retorno " + STR(lnRetVal), ; MB_ICONEXCLAMATION + MB_OK, ; "ERROR") Endif Endif RETURN Endfunc