PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  55094 - COMO CREAR PDF DESDE FOXPRO PARA DOS
Autor:  eduardo cacsi santin
Deseo crear un reporte en formato PDF desde foxpro 2.6. la plataforma es Windows XP, alguien sabe como ?. gracias
  Respuesta:  rodrigo erazo
instala una impresora virtual....tipo fineprint o cutepdf
  Respuesta:  santiago scheppmann
Hola, no puedes crear un pdf desde fox 2.6, sin embargo puedes crear un txt, el que luego convertiras a pdf con algun programa conversor de tu eleccion, el programa lo puedes bajas de softonic, la sintaxis desde programa seria:

RUN CONVERSOR ARCHIVO.TXT ARCHIVO.PDF

Santiago.

    Pregunta:  55115 - DESCARGAR HTTP CON WINSOCK
Autor:  Ignacio Martín Cordón
Tengo una rutina que conecta a una dirección web mediante winsock y solicita un fichero usando el comando:
oSOCK.SendData("GET "+cOrigen+" HTTP/1.1"+CHR(13)+CHR(10)+"Host: "+cHost+CHR(13)+CHR(10)+"Accept: */*"+CHR(13)+CHR(10)+"Connection: close"+CHR(13)+CHR(10)+CHR(13)+CHR(10))

Mi problema es que cuando el documento que se trae es pequeño (pocos megas) funciona correctamente casi el 100% de las veces. Pero con documentos de mayor tamaño pasan cosas raras como por ejemplo:
· Sólo un 3% de las veces llega a descargar el 100% del documento. Casi siempre se desconecta el socket cuando falta un paquete por llegar.
· La información que se recibe no es correcta. He comparado los paquetes que recibo con los que debería recibir y uno de cada 50 contiene errores.

¿Qué puede estar ocurriendo?
Suprimir la cláusula "Connection: close" no tiene ningún efecto adverso ni positivo.
Tampoco se aprecian mejoras sin en lugar de usar el método DataArrival empleo un timer llamando a GetData yo mismo.

Gracias.
  Respuesta:  Claudio Romero
En esta pagina
http://www.fpress.com/revista/Num9709/Sep97.htm

Hay una rutina en Foxpro para bajar un archivo a disco de texto o binario
por ej:

DO VFPHTTP WITH "http://www.linux.org","c:linux.htm"
o
DO VFPHTTP WITH "http://mirror.pacific.net.au/linux/slackware/slackware-12.2/slackware/l/aspell-0.60.5-i486-2.tgz","c:aspell.tgz"

Utiliza la api de wininet.dll, que funciona bien para archivos de cualquier tamaño,
aunque yo la utilice desde delphi, son las mismas funciones.

**Esta es la rutina
PROCEDURE VFPHTTP
LPARAMETER cURL, cNameFich
*** Definición de constantes básicas
#DEFINE INTERNET_OPEN_TYPE_PRECONFIG 0
*** Declaración de funciones del API
DECLARE LONG GetLastError ;
IN WIN32API
DECLARE INTEGER InternetCloseHandle ;
IN "wininet.dll" ;
LONG hInet
DECLARE LONG InternetOpen ;
IN "wininet.dll" ;
STRING lpszAgent, ;
LONG dwAccessType, ;
STRING lpszProxyName, ;
STRING lpszProxyBypass, ;
LONG dwFlags
DECLARE LONG InternetOpenUrl ;
IN "wininet.dll" ;
LONG hInet, ;
STRING lpszUrl, ;
STRING lpszHeaders, ;
LONG dwHeadersLength, ;
LONG dwFlags, ;
LONG dwContext
DECLARE LONG InternetReadFile ;
IN "wininet.dll" ;
LONG hFtpSession, ;
STRING @lpBuffer, ;
LONG dwNumberOfBytesToRead, ;
LONG @lpNumberOfBytesRead
*** Apertura
nInternet = InternetOpen( ;
"pruebavfp", ;
INTERNET_OPEN_TYPE_PRECONFIG, ;
"", "", 0 )
IF nInternet = 0
MESSAGEBOX( "Error: " ;
+ LTRIM( STR( GetLastError() ) ) ;
+ " en InternetOpen.", 16 )
RETURN
ENDIF
*** Abrir el URL
nFichHTTP = InternetOpenUrl ( ;
nInternet, ;
cUrl, ;
NULL, 0, 0, 0 )
IF nFichHTTP = 0
MESSAGEBOX( "Error: " ;
+ LTRIM( STR( GetLastError() ) ) ;
+ " en InternetOpenUrl.", 16 )
InternetCloseHandle( nInternet )
RETURN
ENDIF
*** Abir el fichero en el cliente
nFich = FCREATE( cNameFich )
*** Contruir las variables necesarias
nTama = 0
nLen = 1
*** Bucle de lectura
DO WHILE nLen # 0
cBuffer = REPLICATE( CHR(0), 2048 )
*** Leer del fichero en el servidor
InternetReadFile( ;
nFichHTTP, ;
@cBuffer, ;
LEN( cBuffer ), ;
@nLen )
*** Escribir el fichero en el cliente
FWRITE( ;
nFich, ;
SUBSTR( cBuffer, 1, nLen ) )
*** Aumentar el tamaño total
nTama = nTama + nLen
WAIT WIND "Recibidos " ;
+ LTRIM( STR( nTama ) ) NOWAIT
ENDDO
WAIT CLEAR
*** Cerrar el fichero local
FCLOSE( nFich )
*** Cierre del uso del API
InternetCloseHandle( nInternet )

    Pregunta:  55121 - BLOQUEO DE REGISTROS DE XBASE
Autor:  Alicia Barat
Hola, necesitamos urgente que alguien nos indique como bloquear registros, estamos trabajando con archivos XBASE y hemos creado una rutina pero no nos funciona.
  Respuesta:  Fernando Rodriguez Niemann
Pueden usar RECORDLOCK PARA BLOQUEAR y UNLOCK para bloquear.
Si es una aplicación Multiusuario, definen las tablas con BUFFERMODE 3 y después de grabar el registro incluir la sentencia TABLEUPDATE. Si tienen que deshacer la grabación, entonces usan TABLEREVERT.

Suerte.

    Pregunta:  55138 - COMANDOS ESC/P2 PARA SETEAR ORIENTACIÓN APAISADA
Autor:  María Alejandra Ghisolfi
He recorrido todo el foro en este apartado y no he podido encontrar los comandos esc/p2 para setear orientación apaisada en impresoras epson desde un .prg en fox 2.5 para DOS. Tampoco lo encontré en el manual de la impresora. Necesito hacer el seteo desde el .prg.

Gracias desde ya.
  Respuesta:  Oscar Cerdeira
Hola Maria
el comando es
?CHR(27)+'&l#1O'
pero no creo que te lo tome si trabajas en sistemas operativos superiores a WIN98

Saludos Oscar Argentina

    Pregunta:  55177 - NO EJECUTA UN SISTEMA EN WINDOWS VISTA
Autor:  edu edu
hola ayuda urgente, tengo un proyecto en vfp y se ejecuta en todos los tipos de windows menos en vista que tengo que hacer para que se ejecute en vista.
me sale un error de
RUTA DE RECURSOS ERRONEA O RED NO DISPONIBLE

lA RED NO PUEDE SER PORQUE MI SERVIDOR ESTA EN WINDOWS XP
Y MI MAQUINA ES WINDOWS VISTA Y LO PUEDE VER MENOS EJECUTARLOS
  Respuesta:  Jaime Gattorno
Mira tienes que descargar el SP2, de Visual Fox, volver a compilar tu aplicación y crear los ejecutables, tambien tienes que considerar la actualización del InstallShield para que genere aplicación de intalación para Win Vista.

Nota. Existe un dwongrese, es decir con licencia de Vista puedes regresar a XP, que es lo normalmente se está haciendo en todo el mundo, debido a la cantidad de incompatibilidades.

    Pregunta:  55181 - GRID SE BLANQUEA AL REFRESCAR
Autor:  nestor buritica restrepo
por favor ayuda - tengo una grilla que esta en el recordsource = cTema
cTema es el cursor que cree con un la insturccion
SELECT ID_TEMAS,TEMA from temas INTO CURSOR cTema
la crilla tiene el nombre de grdtemas - el cursor lo cargo en el load de el formulario y aparece cuando carga el formulario muy bien. pero el problema es que al modificar o adicionar un registro trato de refrescar la grilla y sale todo en blanco. en la tabla se nota que si hace los cambios y las adiciones pero yo vuelvo y ejecuto la instuccion del selec para crear nuevamente el cursor y en ese momento se blanque la grilla - ayuda
  Respuesta:  Miguel Angel Henao A.
Nestor, cuando vuelves a generar cTema al ejecutar el Select este se borra antes de generar el nuevo. Es enese momento que el grid pierde su Record Source. Te recomiendo que hagas 2 cosas: 1. No repitas el select, mas bien genera el cursor cTema en el Load como READ WRITE y posteriormente añade o borra registros pero no vuelvas a ejecutar el select. 2. Dile al grid que el record source type es SQL Statement y asigan el select al record source.

Saludos...

    Pregunta:  55203 - UNA APLICACIÓN FOXPRO EN UN PEN-DRIVE
Autor:  Hugo Alonso
¿Es posible hacer una aplicación fox-pro y ejecutarla en un pen-drive sin preocuparte de lo que tenga el ordenador en el que lo enchufas el pen-drive ?

Hola,
necesito hacer una aplicación en FoxPro que se pueda ejecutar desde un pen-drive y que me permita gestionar datos.
Es algo así como una gestión de una biblioteca o de las películas que tengo para dejar a mis amigos: es para consultar, insertar, modificar y eliminar datos y que pueda transportar a cualquier ordenador sin necesidad de instalar en los equipos donde ponga el pen-drive un SGBD.
¿Lo puedo hacer en foxPro? ¿Cómo lo hago para el pen-drive? ¿Necesito ficheros especiales?
¿Me podéis dar alguna solución? Gracias de antemano por vuestra colaboración.
  Respuesta:  andy aguirre
Hola Hugo!!

Pues mira no necesitas nada especial para desarollar un sistema que funcione en un Pendrive, ya que este es como un Disco Rigido.

Lo unico a tener en cuenta es que las librerias de la version de VisualFoxpo que tu utilices deberas ponerla en la Carpeta de tu aplicacion, y hacer copias periodicamente de los datos de tu aplicacion en alguna maquina, por las dudas, ya que un PenDrive es muy facil de perder y/o dañarse

Cualquier otra cosa escribeme a mi mail: [email protected]

    Pregunta:  55303 - DESEO PONER UN BOTON A UN FORMULARIO PARA PEDIR UN REPORTE
Autor:  Halcon White
Saludo.
Deseo colocar un boton para llamar el reporteador de VFP. Necesito ponerle a un formulario un boton donde el usuario pueda seleccionar los campos de la tabla que desee para diseñar su propio reporte.
Este reporteador se encuentra en menu principal SYSMENU de foxpro, pero deseo llamarlo desde un boton y no se que opcion utilizo para ponerlo. Por favor si alguien puede ayudarme, le estare muy agradecido.
Gracia.
  Respuesta:  Jaime Gattorno
Mira lo que tienes que hacer es fácil, pon en uso tu tabla de consulta. y luego pon el botón en el vento clic, esto

CREATE REPORT ?

el signo de interrogación le permite guardar el reporte en donde quieran, asi los usuarios crearian sus propios reportes, que podrian ejecutar con otra instrucción en un segundo boton asi:

REPORT FORM ? TO PRINTER PROMPT PREVIEW

el signo de interrogación le permite buscar el reporte requerido.

    Pregunta:  55311 - PARTIR UNA TABLA DE 2GB EN 2
Autor:  Salvador Magne
Tengo una tabla que ya se esta acercando a 2gb y la solucion que estamos planteando es partir la tabla en 2 y que el sistema la reconozca como una sola, me gustaria saber si alguno de uds ha tenido experiencia con este tipo de problemas, para plantearme una solucion practica y hacer la menor cantidad de modificaciones al codigo fuente del sistema. Gracias de antemano por su ayuda.

Salvador Magne.
  Respuesta:  ABEL BG
Hola, Salvador, tendras que crear una tabla con la misma estrucutura que la original ( a nivel de la ventana command: )

Use tablaoriginal
copy stru to tablanueva

Una vez hecho esto podras abrir la nueva tabla y via un programa o por medio de comandos a nivel de la ventana command copiar la mitad de los registro ( no exactamente quiza mas o menos ) a la nueva tabla.

Use tablanueva
go top
append from tablaoriginal for recno()>=(Numero de registro desde donde deseas pasar de la tabla original a la nueva) and recno()<=( no de registro ultimo de la tabla original)

Despues en tu aplicacion hacer cambios para que si estas consultando o modificando ( busqueda ) algun registro y no lo encuentra en la tabla original ( con la mitad de registros ) abra la nueva tabla y vuelva a hacer la busqueda ahi. Tendrás que hacer estos cambios en todos los programas que utilicen esta tabla ( tanto para consultar, modificar o eliminar )

Espero te sirva esto

Saludos

    Pregunta:  55371 - REFRESCO PANTALLA - CONTROLES SUPERPUESTOS
Autor:  Maximiliano Gonzalez
holas, el problema que tengo es el siguiente.

tengo un boton que lo que hace es actualizar una vista y la muestra en un grid

cuando hago esto se me mueve la pantalla y me queda adentro de mi pantalla todo movido de lugar, como si se sacudieran los controles y quedan superpuestos... como si tubiera un problema de refresco de pantalla...
alguien sabe quepodria ser?
desde ya muchas gracias
  Respuesta:  Emilson Carranza
Yo tambien tube el mismo problema con un formulario de Facturacion pero lo resolvi con la siguiente linea de codigo... Colocala en el programa principal o en el Thisform.init del formularioque te de el problema... espero que te sirva

****Te amo mi Flackita Presiosa*****

SET ECHO OFF
SET TALK OFF
SET BELL ON
SET SAFETY OFF
SET SCOREBOARD OFF

|<  <<  116 117 118 119 120 121 122 123 124 125 126  >>  >|