PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  53633 - SE PODRIA COMBINAR MYSQL O POSTGRES CON FOXPRO 2.5
Autor:  ana cruz
Hola saludos: Quiero saber si puedo utilizar mysql o postgres en foxpro 2.5 en lugar de utilizar la base de datos en dBaseIV, por eso de que es muy facil accesar a ellas y constantemente tengo problemas por ello; o en su caso que me sugieran algo por favor para proteger las bases de datos y que no puedan ingresar a ellas , mil gracias por su atención.
  Respuesta:  Francisco Villavicencio
Hola:

Yo tenía la misma inquietud, pero resulta que el soporte para DOS donde corre el Foxpro 2.5 cada vez es más precario. Por ello he optado por migrar mis aplicaciones a Visual Fox (Ahora V. 9) y los datos a Postgres. Los resultados son excelentes con la uutilización del Odbc de postgres para VFP. Las operaciones de SQL estándar trabajan muy bien con la función SQLEXEC () de Passthroug
Si tienes trabajando VFP puedes encontrar en las ayudas: 1. cómo setear el Odbc, 2. Como ejecutar la funcion sqlexec () de Passthroug para acceder a los datos en Postgres.

Suerte.

    Pregunta:  53645 - EVITAR MULTIPLES EJECUCIONES DE MI PROGRAMA.-
Autor:  Andy Panda
Hola a todos. Mi pregunta es bien concreta:

Hasta ahora he utilizado el siguiente codigo para evitar que mis programas sean abiertos en multiples instancias en un pc:

Private sFormCaption
DECLARE INTEGER FindWindow IN user32 string @Class, string @titre
sFormCaption = "MyApplication"
IF FindWindow(0, sFormCaption) != 0
QUIT
ENDIF

pero mi objetivo final es poder recrear el comportamiento que por ejemplo tiene el mesenger, es decir :

- Evitar que este se ejecute mas de una vez.
- Si ya esta abierto, maximar el programa si vuelvo a intentar ejecutarlo.

Espero que alguien me pueda entregar algun comentario.
Desde ya gracias a todos los de esta comunidad.-
  Respuesta:  Salvador Ruiz Campos
Yo resolví este problema determinando que aplicaciones están en ejecución en un momento determinado. El código que te anexo lo encontré en el sitio de MicroSoft. Espero que te sirva.

LOCAL awin_apps, vfp_handle, ln_current_window,ln_window_count
* Dimension array awin_apps to store running apps
DIMENSION awin_apps[1]
* Initialize variable to store handle for current application
vfp_handle=0
* Declare API Functions
DECLARE INTEGER FindWindow ;
IN win32api ;
INTEGER nullpointer, ;
STRING cwindow_name
DECLARE INTEGER GetWindow ;
IN win32api ;
INTEGER ncurr_window_handle, ;
INTEGER ndirection
DECLARE INTEGER GetWindowText ;
IN win32api ;
INTEGER n_win_handle, ;
STRING @ cwindow_title, ;
INTEGER ntitle_length
* End of API function declarations
* Get handle for current application
vfp_handle=findwindow(0,_SCREEN.CAPTION)
* Store handle of current app to a variable
ln_current_window=vfp_handle
* Initialize a count variable used to dimension array of running apps
ln_window_count=0
DO WHILE ln_current_window>0
* Initialize variable to store application title
lc_window_title=SPACE(255)
* Call to GetWindowText to fetch window caption
ln_length=getwindowtext(ln_current_window, ;
@lc_window_title,LEN(lc_window_title))
* Note that the lc_window_title variable is used as a buffer to
* receive text from the call to GetWindowText
IF ln_length>0
lc_window_title=STRTRAN(TRIM(lc_window_title),CHR(0),"")
ELSE
lc_window_title=""
ENDIF
IF ln_current_window>0 .AND. !EMPTY(lc_window_title)
* Increment the window count and re-dimension the array of running
* applications
ln_window_count=ln_window_count+1
DIMENSION awin_apps(ln_window_count)
awin_apps[ln_Window_Count]=lc_window_title
ENDIF
* Call to GetWindow to fetch handle of running applications.
ln_current_window=getwindow(ln_current_window,2)
ENDDO
CREATE TABLE runapps (appname m)
IF ALEN(awin_apps,1)>0
SELECT runapps
APPEND BLANK
FOR i=1 TO ALEN(awin_apps,1)
REPLACE appname WITH awin_apps[i]+CHR(13) ADDITIVE
NEXT
ENDIF
MODIFY MEMO appname NOEDIT

    Pregunta:  53648 - GUARDAR DOC. WORD EN BASE DATOS VISUAL FOX PRO
Autor:  ana maria avendaño sanchez
hola estoy diseñando un sistema que requiere almacenar documentos word (especificamente correspondencia) en una base de datos de manera que cuando se haga una consulta por fecha aparezca la debida correspondencia enviada. necesito que porfavor me den una opinion de como puedo trabajar más facilmente este sistema. y que comandos específicamente se utilizan para trabajar con word. agradezco la colaboración que pueda recibir.....
  Respuesta:  Victor Rodriguez
Puedes crear una tabla con un campo memo, digamos notas, y un campo texto que tenga el nombre del documento de word.
Ejemplo: CREATE TABLE DOCS ;
(DOCNAME C(70),;
NOTAS M(4))

Simplemente copias el archivo en su forma natural, por ejemplo, midocumento.doc y lo introduces en el campo memo. En el campo texto le pones el nombre del documento para que puedas saber como se llama.
Luego, cuando quieras recuperar la informacion aplicas el comando:
copy memo NOTAS TO &DOCNAME

Creo que tambien puedes llevar el documento de word a .dbf con el comando:
APPEND MEMO NOTAS FROM nombredocumento.doc

    Pregunta:  53780 - EN FOXPRO 2.5 COMO MANDO A IMPRIMIR EN UN PUERTO USB
Autor:  Carlos Jair Escobar Vivas
SOS..como hago para direccionar la salida de un REPORT FORM a una impresora que se encuentra instalada y configurada a un puerto USB, siempre la impresion se va al LPT1, trabajo en windows xp y 98 en modo DOS
  Respuesta:  Marti Valls Valls Ridorsa
Puedes poner la impresora como compartida con un nombre corto (máx 8 letras). Por ejemplo EPSON
Despue´s puedes iniciar tu Windows con la instrucción en un bat que use la impresora
Por ejemplo
Net use lpt1: \\miequipo\EPSON
La emulación es perfecta, pero no funciona si no estás en una red.
Es decir, si tienes un solo ordenador, no aiende esta instrucción.

    Pregunta:  53827 - SERIES DE DATOS EN MSGRAPH
Autor:  Andres Mauricio Valencia Ceballos
Estoy haciendo una aplicacion en VPF6, que genera un grafico, este es el codigo que utilizo.

***********************
sele 'w_grafic' &&&esta es la tabla que contiene los datos a graficar
&&&la tabla tiene 3 columnas
go top
lcData = " " + tab + " " + CRLF
do while !eof()
lcData = lcData + allt(materia) + tab
lcData = lcData + ALLTRIM(promedio) + tab
lcData = lcData + ALLTRIM(promeda1) + crlf
skip
enddo
create table w_grafico (grafico g)
select 'w_grafico'
append blank
append general grafico class "msgraph.chart.8" data lcdata
***********************

El problema que tengo, es que el grafico esta tomando la serie de datos en filas y necesito que los tome en columnas.

Gracias por la colaboración
  Respuesta:  GUADALUPE LEIJA
Si tenemos en un Form un textbox (llamado nom_file) para recoger el nombre de archivo y una Tabla con los campos:

campo1: nom_file caracter de 20
campo2: archivo Memo

Entonces podemos usar (para meter cualquier tipo de archivo:

if len(alltrim(thisform.nom_file.value))>0
store alltrim(thisform.nom_file.value) to CUAL
replace Tabla.nom_file with justfname(thisform.nom_file.value)
append memo Tabla.archivo from "&CUAL."
endif

Saludos!

    Pregunta:  53891 - CONVERSION DE UN SOFTWARE MONOUSUARIO A MULTIUSUARIO
Autor:  jose gregorio pulgarin morales
buenos :
necesti la colaboracion, para convertir una aplicacion de visual foxfro 6.0 monousuario a multiusuria ,la cual van a acceder varios equipos a la base de dato.
  Respuesta:  adrian aguirre
Dentro del foro y en esta misma seccion vas a encontrar numerosas respuestas a tu problema. Basicamente tienes que colocar en tu archivo de INICIO lo siguiente:
set exclusive off
set reprocess to automatic
set path to "miruta"
*donde "miruta" es el lugar donde esten tus tablas de acceso *compartido, por ejemplo: "G:\BASES\DATOS\TABLAS" o lo que sea.
*set exclusive off impide realizar acciones como pack,reindex,zap
* si necesitas hacerlo deberas poner:
* use mitabla exclusive
  Respuesta:  emmanuel carrillo ponce
Que tal.. buen dia.

Ok. estimado Visual foxpro es un lengueje muy potente, y tiene la gran ventaja de que no es complicado hacer un sistema multiusuario, te platico mis aplicaciones trabajan muy bien hasta con 10 equipos no es que llegue hasta ahi este maravilloso generador de bd. es que lo lo he intentado con mas equipos. dicen los expertos que soporta N. usuarios.. pero bueno dejemos la historia y te explico como lo hago.

1. no trabajo con las tablas utilizo cursores ó en su defecto tablas temporales

2. los formularios los trabajo con sesion privada de datos

3. en el inicio de la aplicacion pateo la bd.
* esto es que yo te recomendaria. alguna duda o comenterio hazmela llegar a mi correo [email protected], te ayudo con mucho gusto..

    Pregunta:  53991 - FOXPRO PARA POCKET PC WM2002
Autor:  Xavier PAz
Necesito saber si existe alguna version de foxpro o algun compilador que se pueda instalar en una pocket pc e740 con wm2002 y de ahi crear los programas , logrando asi sacarle mas provecho a la pocket pc ya que como no tengo una laptop para trabajar normal con fox pro para windows.
Espero que me sepan dar respuesta alguna a mi inquietud
  Respuesta:  Alejandro Kerek
Si, se puede. Necesitas vfp9 y Guineu, Saludos

    Pregunta:  54058 - DEMASIADOS READ ABIERTOS
Autor:  Maria Tohabanda
Hola.., me gustaria que me indique porque razón me aparece el mensaje demasiados read abiertos al programar en foxpro 2.6 DOS,
estoy aplicando el read cycle para capturar que botón fue presionada y me provoca éste error "demasiados read abiertos" .....Por favor necesito una solución para que no vuelva aparecer este mensaje de error...
  Respuesta:  iluminadosgfu gfunovicios
El sistema de programaciòn de foxpro 2x, solo administra cinco niveles de read.

Cuando vaya a compilar una aplicaciòn deberà especificarle al proyecto que su pantalla permitirà leear read multiples. Este paso se realiza desde el proyecto.

Trate en lo posible de manejar ventanas utilizando parámetros, de esta forma disminuirà enormemente este tipo de errores.
  Respuesta:  miguel chicas
este problema lo resuelves de la siguiente manera:

Para windows 98

editar el config.sys
y adicionar la siguiente instruccion

files = 100

Para Windows xp
cd\windows\system32
edit config.nt
cambiar files=40 a files=100

si tienes windows milenuin es diferente, si te interesa me mandas un mensaje para que te lo busque.

saludos desde santa cruz, bolivia

    Pregunta:  54120 - CONEXION A UNA BD EN VFP REMOTA DESDE ASP - ERROR 500
Autor:  Luis Salazar
Hola a todos!!!

En estos momento deseo conectarme a una BD en VFP que se enciantra en otra máquina de la red, quiero hacer esta conexión desde ASP pero no me funciona, estoy utilizando algo así:

<%
Set Conn = Server.CreateObject("ADODB.connection")

ConnStr= "Driver=Microsoft Visual Foxpro Driver;UID=;SourceType=DBC;SourceDB=132.132.1.199\C:\Apps32\EIREGQ\DATA\quantumdb.dbc"

Conn.Open ConnStr

Set rs=CreateObject("ADODB.Recordset")
rs.CursorType=1
rs.LockType=1

sql = "select * from CARDS"
rs.Open sql,Conn
'set rs=oConn.execute(sql)
%>

me arroja un Error 500 Error interno en el servidor!!!

supongo que me estoy conectando mal a la ruta de la Base de Datos ó no sé!!!

espero que puedan ayudarme!!!
  Respuesta:  erick
necesitas bajar bien el oledb para qu se conecte bien a la base de datos , y ome la paso como 4 semanas buscando la coneccion el error siempre esta ahi
ConnStr= "Driver=Microsoft Visual Foxpro Driver;UID=;SourceType=DBC;SourceDB=132.132.1.199C:Apps32EIREGQDATAquantumdb.dbc"
checalo
si necesitas ayuda mandame un mail yo tengo archivos de ejemplo ye el dll para que hagas la conexion suerte :)

    Pregunta:  54136 - COMO REPLICAR BASES DE DATOS ECHAS EN VISUAL FOXPRO
Autor:  Walter Alas
Hola!!! -- Necesito saber como hacer para replicar bases de datos de sistemas hechos en Visual Fox Pro, nose si para realizar esto necesitare una aplicacion externa Visual Fox o tengo que desarrollar la aplicacion para realizar la replicacion de mi sistema
  Respuesta:  Bigle Brizuela
Tienes dos formas de hacerlos, dependiendo del tipo de tabla

Si es tabla libre, usa lo siguiente

COPY FILE Tabla_origen.* TO Tabla_destino.*

Si está vinculada a un contenedor de Base de Datos, es diferente:

USE Tabla_origen
COPY STRUCTURE Tabla_origen TO Tabla_destino WITH CDX
USE Tabla_destino
APPEN FROM Tabla_origen

Si desea agregar la replica al contenedor de Base de Datos haces lo siguiente:
ADD TABLE Tabla_destino

Espero haberte ayudado

|<  <<  113 114 115 116 117 118 119 120 121 122 123  >>  >|