PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  45128 - EJECUTABLE EN VISUAL FOX 7.0
Autor:  Manuel Rivera León
Cómo puedo generar un ejecutable liviano?
En este momento mi ejecutable pesa 2780 kb y sigue creciendo, al ejecutar en red se demora bastante en cargar.
  Respuesta:  Gladis
Manuel,
tal vez tengas objetos incluidos en tu proyecto que no necesariamente deberían estarlo y eso puede estar influyendo en el tamaño de tu .exe.
Por ejemplo, podrias intentar excluir del proyecto archivos muy grandes (magenes), los reportes si son muchos ó contienen gráficos pesados.
Instalas el exe, y por aparte creas una carpeta con los archivos excluidos.
Espero que funcione

    Pregunta:  45172 - DETECTAR EXE EJECUTáNDOSE
Autor:  Arturo Yep
Cómo puedo detectar si el ejecutable está activo o no. Esto es para evitar abrir varias veces el mismo programa.
  Respuesta:  Jorge Athanassopoulos
Tendrias que agregar en tu programa principal las siguientes funciones

***** Llama a la funcion

PUBLIC llret
IsActive("Nombre de tu ejecutable.exe")
YaActiva()
IF llret = .t.
Clear WINDOWS
CLOSE DATABASE
CLOSE ALL
Clear ALL
SET sysmenu to default
QUIT
ENDIF

******Funciones

*******************************************************
* FUNCTION IsActive(tcCaption)
*--------------------------------------------------------
* Verifica si una aplicación ya está activa
* USO: ? IsActive("Nombre del ejecutable.exe")
*--------------------------------------------------------
FUNCTION IsActive(tcCaption)
DECLARE INTEGER FindWindow IN WIN32API ;
STRING cNULL, ;
STRING cWinName
RETURN FindWindow(0, tcCaption) # 0
ENDFUNC

*--------------------------------------------------------
* FUNCTION YaActiva()
*--------------------------------------------------------
* Comprueba que la aplicación no se esta ejecutando
* Invoca a IsActive() descripta anteriormente
*--------------------------------------------------------
FUNCTION YaActiva()
*LOCAL llRet, lcCaption
PUBLIC llret, lcCaption
llret = .F.
lcCaption = _SCREEN.CAPTION
*--- Renombra temporariamente el caption de la app
_SCREEN.CAPTION = "_" + lcCaption
IF IsActive(lcCaption)
*--- Si ya esta activo
MESSAGEBOX("ATENCION ESTE PROGRAMA YA ESTA ABIERTO, NO PUEDE ABRIRLO NUEVAMENTE, CIERRE LA APLICACION",16," PROGRAMA YA ABIERTO" )
llret = .T.
ENDIF
_SCREEN.CAPTION = lcCaption
RETURN llret
ENDFUNC

******************************************************

    Pregunta:  45316 - REDIRECCIONAMIENTO DEL PUERTO USB AL LPT1
Autor:  Lalo Landa
Tengo una impresora hp 3535 que se conecta por puerto USB pero no puedo imprimir reportes generados desde Foxpro de Dos...Se sabe que Foxpro solo utiliza el puerto LPT1 para imprimir... Cuando envio algo me sale un mensaje de que no encuentra la impresora...
  Respuesta:  Daniel Fuentes V.
hola respondiendo a tu pregunta es muy facil la solucion mira
a tu impresora cambiale el nombre por uno corto ej: "hp"
luego en ms-dos usa el siguiente comando

net use lpt1 \nombredepc ombredeimpresora /persistent:yes

amigos tambien debes tener compartida la impresora
para que te funcione el comando

yo los he usado para imprimir en ms-dos atravez de mi impresora usb

saludos cualquier duda envia un mensaje a mi correo.

Buena Suerte!
  Respuesta:  Manuel Puche
hola lola

hay un programa que se llama nodosimp.exe que lo invocas desde el programa foxpro con un run/!, tienes que llevar la impresion a un archivo plano.

escribeme y te lo envio.

    Pregunta:  45400 - COMO HACER PARA MOSTRAR ASTERISCOS EN UN CAMPO GET (PASSWORD
Autor:  Yangnhay Gutierrez
Como hacer para que en Foxpro 2.6 para dos al introducir datos en un campor GET aparezcan asteriscos, ejemplo, un campo de contraseña.

Le agradeceré cualquier sugerencia.
  Respuesta:  Juan Fuentes
En Foxpro 2.6 para DOS lo mejor que he podido hacer es incluir esta linea:
@ 10,40 GET VJPASS FUNC 'K' COLOR ,W+/W*, ,,,N+/N* SIZE 1,25 PICTURE '@!' DEFAULT SPACE(20)
READ

No muestra asteriscos, pero no muestra lo tecleado, solo se ve que el cursor avanza.

Por otra parte, creé una función que usa Inkey() para capturar lo tecleado y mostrar asteriscos:

V_CLAVE = ""
V_PASS = ""
CONTEO = 0
DO WHILE V_PASS # V_CLAVE AND CONTEO < 3
CONTEO = CONTEO + 1
V_PASS = PASSWRD(8)
IF V_CLAVE # V_PASS
WAIT WIND "Esa no es la llave de acceso..."
ENDIF
ENDDO

Las lineas anteriores permiten 3 oportunidades de teclear un password correcto.

Esta funcion muestra asteriscos y devuelve los datos tecleados.

FUNC PASSWRD
PARA PW_LEN
PRIV PW_LEN, PASS_STR, KEY, CUR_CURS
PUSH KEY CLEAR
IF PARA() = 0 && Si no hay parametros, se asume
PW_LEN = 8 && una longitud de 8 caracteres.
ENDIF
PASS_STR = ''
KEY = 0
CUR_CURS = SET('CURSOR') = 'ON' && Estado actual del cursor
SET CURSOR ON
CUR_WIN = WOUTPUT()
DEFI WIND PASS_WIN FROM 08,20 TO 15,60
ACTI WIND PASS_WIN
@ 02,08 SAY 'Ingrese llave de Acceso'
@ 03,12 SAY '(' + ltrim(str(pw_len)) + ' caracteres)'
@ 05,15 SAY ''
DO WHILE KEY # 13 && Ingresar hasta que presione Enter
M.KEY = INKEY(0)
DO CASE
CASE ISALPHA(CHR(M.KEY)) OR (M.KEY >= 32 AND M.KEY <= 64)
PASS_STR = PASS_STR + CHR(M.KEY)
CASE M.KEY = 19 OR M.KEY = 127 OR M.KEY = 7
@ ROW(),COL()-1 SAY ' '
@ ROW(),COL()-1 SAY ''
PASS_STR = SUBS(PASS_STR,1,LEN(PASS_STR)-1)
ENDCASE
IF LEN(PASS_STR) >= PW_LEN
M.KEY = 13
ENDIF
@ 05,15 SAY SPAC(PW_LEN)
@ 05,15 SAY REPL('*',LEN(PASS_STR))
ENDDO
RELE WIND PASS_WIN
IF EMPTY(CUR_WIN)
ACTIVATE SCREEN
ENDIF
IF NOT CUR_CURS
SET CURSOR OFF
ENDIF
POP KEY
IF LEN(PASS_STR) < PW_LEN
FOR J_K = LEN(PASS_STR) TO PW_LEN-1
PASS_STR = PASS_STR + " "
NEXT
ENDIF
PASS_STR = UPPER(PASS_STR)
RETURN(PASS_STR)

Espero te sirva.
  Respuesta:  Jose Luis Henriquez
Gutierrez

En la propiedad del Text Box llamada: PasswordChar ponle un (*)

    Pregunta:  45573 - PROBLEMAS DE RESOLUCION EN VISUAL FOX
Autor:  JOSE GALVEZ NIVERA
HOLA A TODOS, EL PROBLEMA ES QUE EN VISUAL FOX PRO 5 BAJO UN SISTEMA OPERATIVO WINDOWS 98 MIS REPORTES POR PANTALLA LO VISUALIZO CORRECTAMENTE EN ENCAMBIO EN WINDOWS 2000 SERVER Y WINDOWS XP LA RESOLUCION DEL REPORTE SE EMPEORA Y NO SE PUEDE VISUALIZAR NITIDAMENTE
POR FAVOR ALGUIEN QUE ME PUEDA AYUDAR SE LO AGRADECERIA.
  Respuesta:  Eduardo Ureña Solano
La única manera es cambiar el font en tus reportes. Utiliza, por ejemplo, New Times Roman en un tamaño igual o mayor a 10 puntos. Fuera de eso, no se puede hacer absolutamente nada.

Saludos

EduarFox

    Pregunta:  45587 - IMáGENES EN FOX PRO 2.6 MS-DOS
Autor:  ranefi ranefi
Hola a todos, necesito que me ayuden con este problema: Debo mostrar e imprimir una imagen desde Fox Pro 2.6 para MS-DOS, ya intenté con los controladores FOXGIF y FOXPCX, pero no son compatibles con la versión de Fox Pro que utilizo; además no he podido encontrar los controladores FOXDRIVER. Espero que me puedan ayudar con esto o proporcionar los controladores. Gracias.
  Respuesta:  santiago scheppmann
AMIGUITO: CREO QUE YA TE HE CONTESTADO ESTO, PERO EN FIN ALLI VA DE NUEVO, EL FOX 2.6 DOS, NO PUEDE MANEJAR FOTOS, LO TIENES QUE HACER INVOCANDO UN PROGRAMA EXTERNO.

EL FORMATO ES:

RUN VERFOTO IMAGEN

DONDE RUN ES EL COMANDO, VERFOTO ES EL VISUALIZADOR E IMAGEN ES LA FOTO EN CUESTION.

SI TIENES PROBLEMAS PRUEBA CON:

RUN FOXSWAP VERFOTO IMAGEN

DONDE FOXSWAP FUERZA A USAR EL PROGRAMA VERFOTO

SANTIAGO

    Pregunta:  45602 - COMO COMPARAR 200 CAMPOS IDENTICOS EN DOS TABLAS DISTINTAS
Autor:  Margarita salinas
Manejo dos tablas identicas, una tiene registros de datos vigentes y la otra cuando alguien realiza en registro se guarda en la segunda, y necesito compar la diferencia entre campos contra la primera tabla;
si alguien sabe les agradesco de antemano
  Respuesta:  Eduardo Ureña Solano
Hola

Sugerencia: Hazte una rutina simple, verifica con la función LUPDATE() ambos campos con el mismo nombre aunque en tablas distintas. Si los resultados son distintos, quiere decir que el contenido cuya fecha sea la más reciente fue modificado, si es así, verifica los contenidos y si son distintos actualiza la el campo más antiguo con el valor mas nuevo.

Saludos
EduarFox

    Pregunta:  45648 - COMO CREAR UN DEMO
Autor:  Guillermo (GMO) Perez Vargas
bueno soy un programador de visual foxpro y necesito ayuda para crear unos demos dentro de mis sistemas, es decir que sean de pruebas solamente.
les doy las gracias de ante mano
  Respuesta:  Eduardo Ureña Solano
Te diré lo que yo hago...

1. Establezco una variable .T. que yo llamo simplemente "prueba"
2. Hice una función que cuenta los registros ingresados en tablas maestras, tales como empleados, clientes, artículos de inventarios, proveedores.. etc. no así en las tablas que contienen los registros de movimientos (movimientos del punto de ventas, movimientos de inventario... etc)

Con ésto puedo controlar por ejemplo, que las tablas maestras no puedan contener, por ejemplo, más de cinco empleados, o más de quince productos de inventario o más de5 proveedores o clientes (en la función establezco los parámetros). Si es así envió un mensaje en un form indicando que el sistema es sólo un demo y que por lo tanto no podrá utilizarlo para crear más registros... adicionalmente hice una función un tanto compleja, que verifica que el sistema esté instalado por primera vez, y además inicia un conteo regresivo de ingresos al mismo (45 veces) que cuando se agota envía un form agradeciendo la prueba realizada y que se le motiva a comprar la versión comercial..

Si deseas ver cómo funciona esto, ingresa a www.ursolcr.com a la zona de descarga y baja por ejemplo el sistema de planillas.

Un saludo desde Costa Rica. (Ah... me cuenta cómo le va)

    Pregunta:  45740 - COMO RESPALDAR BD DE VISUAL FOX
Autor:  Miguel Martinez
Buenos dias...

Necesito me informen si es posible, como realizar el resaldo de la base de datos de visual fox, estoy trabajando en V Fox 6.0. Si bien es posible copiar las tablas DBF, como regenerar las relaciones y definiciones de integridad referencial?.

Existe alguna herramienta de respado y restauracion de bases de datos de visual foxpro?

Desde ya gracias por su aporte
  Respuesta:  Pablo Vidal
Hola, miguel en realidad existen varias formas de crear tus copias de respaldo para base de datos y archivos en general. por lo que leo en la pregunta estas preocupado por los indices y las realciones.
no solo debes respaldar los DBF si no tambien los archivos q se generan con la DBF (BAK(backup dbf), FPT(archivo campo memo), CDX(indice)..., ETC) de otro modo si se te dañan los archivos te sera util la dbf pero t sera complicado el reponer tus datos.
tambien las DBC y DCT que son los archivos de la base de datos ahi la base de datos tambien tienen un archivo indice de tipo DCX pero no importa si no lo respaldas por que se regenera solo.
y lo mas importante q debes guardar es un archivo RIP.OLD que es donde se guarda todo el codigo de integridad referencial de tus relaciones dentro de la base de datos. Espero t sirva de algo.
PD. lo mejor es que crees tu propia aplicación con herramientas de respaldo y regeneración de base de datos.

lee algo sobre el comando ADIR y veras que te puede ser muy util, trata de guardar todos los archivos de tipo data en una sola carpeta de eso modo te sera más facil respaldarlo, si te puedo ayudar en algo avisame al correo. saludo Oldfoxman

    Pregunta:  45810 - EJECUTAR VFOX 7.0 SIN INSTALARLO
Autor:  hector salazar perez
Hola amigos, tengo un aplicativo en vfox 7.0
que lo quiero correr en una pc con Windows XP, pero sin la necesidad de instalar todo el programa Visual Foxpro 7.0, escuche que existe unos dll's base de Visual fox para que cualquier programa pueda ejecutarse

saludos
  Respuesta:  Roger Torres Carrión
Bueno, si te he entendido bien, tienes una aplicativo ya ejecutable que lo has hecho en visual fox 7, y quieres correrlo en un pc con Win XP sin la necesidad de instalar todo el software, pues bien si ese es tu problema, es muy sencillo, cuando compiles tu proyecto, añadele los RUNTIMES del visual fox, son dos archivos DLL que se tiene que copiar en una carpeta del windows, yo hice lo siguiente, muy aparte del proyecto que tenia, en el menu de herramientas (Tools), dentro de ella hay una menu Asistente (Wizards) y alli encontraras Instalacion (Setup), en las opciones que aparecen marca la opcion RUNTIME, y sigues lo pasos que te indican, una vez que tengas la carpeta creada con los archivos de instalacion, instalalo en un lugar de di disco duro, alli encontraras estos dos archivos DLL que requieres, cuando lo tengas, copialos en la carpeta de C:\Windows\systems y eso es todo.

|<  <<  103 104 105 106 107 108 109 110 111 112 113  >>  >|