Necesito ayuda para hacer funcionar un programa implementado con visual fox pro

Mi nombre es Esteban y necesito hacer una consulta a un gran problema que me ha surgido. Resulta que hace años había comprado un programa hecho en foxpro (así me dijeron). El problema surgió cuando actualicé mi computadora, ya que cuando lo compré al programa vieno el encargado, lo copió en mi vieja computadora y cada vez que tenia algún problema con el programa venia y me lo arreglaba aquí. Como dije, eso fue hace mucho y el negocio cerró. No he podido localizar a los dueños. Lo que he tratado de hacer es copiar el programa en un disquete y pasarlo a la nueva, pero me da el mensaje que es algo así: cannot locate desired version of foxpro 2600. ¿Se puede solucionar de algún modo? He copiado los archivos foxpro. Esl y foxpro. Eso y ahora cuando corro la aplicación me sale el siguiente mensaje en una ventana DOS: "sistema no instalado". ¿Qué debo hacer para que el bendito programa ande?

2 Respuestas

Respuesta
1
Te recomiendo que vuelvas a instalar el foxpro en tu maquina, copia el los archivos con extensión *. Esl al directorio donde se encuentra tu sistema, si después de esto no funciona. Quiere decir que tu programa tiene un archivo de control (archivo de configuración del sistema), que solo el que lo hizo sabe cual es el nombre y com volver a funcionar tu programa.
Respuesta
1
Si o sí tienes que copiar todo el disco rígido viejo al nuevo tal como está en el viejo y ejecutar el programa. Tiene que andar, no creo que lo haya protegido de un modo más sofisticado.
Sugeriencia : pone tu disco rígido viejo como esclavo en tu nuevo PC y andá copiando carpeta por carpeta del viejo al nuevo y probando.
Asumo que no seguís teniendo tu disco viejo. Confírmame esto por favor y hacé como te indico. Quizás tengas que hablar a algún técnico en hardware para que te instale el disco viejo en tu nueva PC.
Suerte
Hola, disculpá que moleste de nuevo, pero me aconsejaron bajar el refox para encontrar el archivo en cuestión. Lo bajé y lo corrí, pero no se que borrar, mira, cuando lo descompilo se generan 4 archivos:
eyelab.fxp <---- este aparece como main en refox
eyelab.prg
la.fpx
la.prg
Te quería preguntar desde lo que voy entendiendo:
A los 2 primeros los puedo abrir, pero a los otros no ¿son importantes?
¿Los &drvf son archivos que se deben encontrar en el directorio? ¿y los &drvh?
Esta es la primera porción del código
¿debo modificar algun set?
Al final aparece lo que creo yo que debería borrar, pero no funciona ¿alguna idea?
que significa sdOs = ALLTRIM(teCla1) <-- ¿Debo agregar algún archivo? ¿Qué significa Alltrim?
close databases
clear all
on key
SET HELP TO EYELHELP
ON KEY LABEL F1 HELP
SET PROCEDURE TO LA
ON ERROR DO RUTIERRO WITH ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO()
SET ESCAPE OFF
SET TALK OFF
SET ECHO OFF
SET CLEAR OFF
SET ALTERNATE TO
SET CONFIRM OFF
SET BELL OFF
SET DATE BRIT
SET CENTURY ON
SET SAFETY OFF
SET STATUS OFF
SET DELETED OFF
SET NEAR OFF
SET EXCLUSIVE ON
SET COLLATE TO 'MACHINE' <---¿y esto?
SET RESOURCE TO EYELUSER <---¿y esto?
SET SYSMENU OFF
SET BORDER TO 'Ä', 'Ä', 'º', 'º', 'Ö', '·', 'Ó', '½', 'Ä', 'Ä', '³', '³', 'Ú', '¿', 'À', 'Ù'
CLEAR MACROS
= INSMODE(.F.)
= CAPSLOCK(.T.)
= NUMLOCK(.T.)
= SYS(2009)
PUBLIC srAso, snUla, srAso1, smAtr1, sdIre1, srAso2, smAtr2, sdIre2, ;
srAso3, smAtr3
PUBLIC sdIre3, sdRvf, sdRvh, ssEx1, ssEx2, ssEx3
PUBLIC spEco, sfEve, smOda, smOdb, smOdc
PUBLIC ceNca, caDmi, crEta, crEse, ccAcl
USE TECLADO
sdOs = ALLTRIM(teCla1)
USE
IF .NOT. deInlabo() <---------------------------¿deinlabo?
CLEAR
? '<<< sistema no instalado >>>'
QUIT
Endif
on error do rutierro with error(), message(), message(1), program(), lineno()
sdRvf = SYS(2003)+'\'
IF ! FILE('&SDRVF.PARAMETR.DBF')
CLEAR
? 'duplicado no autorizado'
QUIT
Endif
USE &SDRVF.PARAMETR
Tal vez seria importante aclarar que el programa esta en la carpeta c:\eyelab y en c:\labo
hago la aclaración porque en varias partes aparece cualquiernombre&I_labo
Por ultimo:
&drvhres&manme..dbf
&drvhres&manme..cdf
no encuentro estos archivos, son importantes?
la ultima:
FUNCTION deInlabo
ON ERROR RETURN .F.
M_ARCH = FOPEN('&SDOS.MDIR.COM')
IF m_Arch<=0
RETURN .F.
Endif
¿En dónde debería estar el mdir ese? Lo busqué por todo el rígido y no lo encuentro
Antes que nada hacete una copia de todo lo descompilado. Luego en vez de borrar probá poniendo un * el inicio de la linea, eso inhabilita el comando completo de la linea y hacé desde el fox do eyelab. Prg para ver si entra sin problema
Los archivos con extensión fxp no son importantes son los compilados de los prg. Teóricamente tienes que tener siempre un prg y otro fxp. Por cualquier cosa no lo borres.
De seguro que en la. Prg está la función que te bloquea el sistema por lo que la vamos a anular poniendo * (arterisco) como te indico en el programa.
Probá y decime que mensaje te da. Suerte
Eyelab. Fxp <---- este aparece como main en refox
eyelab. Prg
la. Fpx
la. Prg
Te quería preguntar desde lo que voy entendiendo:
A los 2 primeros los puedo abrir, pero a los otros no ¿son importantes? No son importantes
¿Los &drvf son archivos que se deben encontrar en el directorio? ¿y los &drvh?
Esta es la primera porción del código
¿debo modificar algun set?
Al final aparece lo que creo yo que debería borrar, pero no funciona ¿alguna idea?
NO MODIFIQUES NINGUN SET
La variable tecla1 está en un archivo que se llama TECLADO.DBF y que debe estar en tu carpeta, y si no la ves debe estar oculta, pero no importa. Sigamos
que significa sdOs = ALLTRIM(teCla1) <-- ¿Debo agregar algún archivo? ¿Qué significa Alltrim?
close databases
clear all
on key
SET HELP TO EYELHELP
ON KEY LABEL F1 HELP
SET PROCEDURE TO LA
ON ERROR DO RUTIERRO WITH ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO()
SET ESCAPE OFF
SET TALK OFF
SET ECHO OFF
SET CLEAR OFF
SET ALTERNATE TO
SET CONFIRM OFF
SET BELL OFF
SET DATE BRIT
SET CENTURY ON
SET SAFETY OFF
SET STATUS OFF
SET DELETED OFF
SET NEAR OFF
SET EXCLUSIVE ON
SET COLLATE TO 'MACHINE' <---
¿y esto?
es para la ordenación de caracteres. no importa
SET RESOURCE TO EYELUSER <---
es el archivo de recursos del fox
¿y esto?
SET SYSMENU OFF
SET BORDER TO 'Ä', 'Ä', 'º', 'º', 'Ö', '·', 'Ó', '½', 'Ä', 'Ä', '³', '³', 'Ú', '¿', 'À', 'Ù'
CLEAR MACROS
= INSMODE(.F.)
= CAPSLOCK(.T.)
= NUMLOCK(.T.)
= SYS(2009)
PUBLIC srAso, snUla, srAso1, smAtr1, sdIre1, srAso2, smAtr2, sdIre2, ;
srAso3, smAtr3
PUBLIC sdIre3, sdRvf, sdRvh, ssEx1, ssEx2, ssEx3
PUBLIC spEco, sfEve, smOda, smOdb, smOdc
PUBLIC ceNca, caDmi, crEta, crEse, ccAcl
USE TECLADO
sdOs = ALLTRIM(teCla1)
USE
*iF .NOT. deInlabo() <---------------------------¿deinlabo?
* CLEAR
* ? '<<< SISTEMA NO INSTALADO >>>'
* QUIT
* ENDIF
ON ERROR DO RUTIERRO WITH ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO()
sdRvf = SYS(2003)+'\'
IF ! FILE('&SDRVF.PARAMETR.DBF')
CLEAR
? 'DUPLICADO NO AUTORIZADO'
* QUIT
ENDIF
USE &SDRVF.PARAMETR
Tal vez seria importante aclarar que el programa esta en la carpeta c:\eyelab y en c:\labo
hago la aclaración porque en varias partes aparece cualquiernombre&I_labo
por ultimo:
&drvhres&manme..dbf
&drvhres&manme..cdf
no encuentro estos archivos, son importantes?
la ultima:
FUNCTION deInlabo
ON ERROR RETURN .F.
M_ARCH = FOPEN('&SDOS.MDIR.COM')
IF m_Arch<=0
RETURN .F.
Endif
Al problema ya lo solucionaste. Si no tienes éxito probá poniendo en donde dice quit pone * quit. El arterisco anula la acción. El famoso QUIT es el que te saca del sistema, así que mejor probá primero sólo poniendo el * antes de los quit y si no anda hacé como te indico en el ejemplo que te mando anulando toda la función.
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas