PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  62703 - COMO INDICAR LA RUTA DONDE DEBE BUSCAR LOS ARCHIVOS DEL PROY
Autor:  Bety Mar
Hola. Siempre he trabajado en Foxpro y ahora estoy intentando pasarme a Visual Fox pero me cuesta acostumbrarme a la POO. Quisiera saber como indico en el prog. principal la ruta donde debe buscar los archivos del proyecto (formularios, bases de datos, etc). He intentado colocar HOME()+"nombre de carpeta tipo", pero aparentemente no funciona porque me dice que los archivos no existen y están dentro de cada carpeta.
También me interesa algun material para estudiar el lenguaje.

Desde ya gracias
  Respuesta:  manuel betancur
el el main program pones los parametros que pones en desktop
Procedure efrinvent
Parameters DS,DT
en propiedades en el dsktop pones en propiedades

C:e-floralrecorse-floral.exe s:e-floraldata S:e-floraldataqb C: emp-efloral
puedes usar un programa para abrir los files del programa

para abrir un file
Use &dS.CUSTOMER IN 0 Alias CUSTOMER Shared
espero te sirva
manuel betancur

    Pregunta:  62737 - VARIABLES DE MEMORIA
Autor:  Ricardo
Estimados:
Estoy usando vfp9 sp2 y uso el recurso de guardar variables en un archivo mem.
Alguien sabe como hacer para utilizar las variables levantadas desde un archivo mem (restore from variables addi) desde un form y que las mismas al salir del form, desaparezcan ?

El tema es que son muchas(+100), para poner un release de a una, y que siempre se me transforman en publicas, haciendo que si uso varios form que hacen lo mismo, voy a tener muchisimas variables existente en el sistema.

Desde ya muchas gracias
Ricardo
  Respuesta:  Marga del Pino
Yo en un sistema con muchos formularios distintos, guardo en 1 fichero de variables de memoria (pueden ser casi 100), variables de memoria con un sufijo fijo en el nombre de cada una, y las que son particulares de cada formulario, o modulo fuente del sistema cuido que su nombre no empiece con ese sufijo.
Ejemplo
vgsemp="Nombre de la Empresa"
vgsfec=date()
vgsnom="Nombre del operario del sistema en el momento actual"
vgsniv="Nivel de acceso del operario del sistema actual"
.......

Cuando actualizo alguna de esas variables y debo tambien actualizar el fichero .mem (supongamos que se llama sistema.mem) utilizo

save to sistema all like vgs*

luego para liberar esas variable sean cuantas sean solo hay que poner

release all like vgs*

Eso puedes hacerlo formulario a formulario y si quieres cambiar los sufijos en cada uno, pero yo en mis sistemas defino exactamente cuales variables iran al fichero .mem y optimizo la cantidad de variables, de manera que las que estan en el .mem las empleo en cualquier lugar del sistema y no tengo que preocuparme por liberarlas al salir de ningun modulo o codigo fuente (programas, eventos de formularios o de reportes, etc)
Espero te sirva

    Pregunta:  62750 - NO INICIA AUTOMATICAMENTE EN VISTA
Autor:  felipe ramirez
TENGO UN APLICACION HECHA EN FOXPRO 2.6 FOR WINDOWS Y CORRE PERFECTAMENTE, PERO TENGO UN PROBLEMA EN XP FUNCIONA BIEN CON EL PARCHE, PERO CON VISTA GENERO EL SHORTCUT NORMAL PARA CORRER FOXPOW.EXE Y GENERO LA PATH DE DONDE ESTA LA APLICACION Y LE AGREGO -r -t PERO SOLO LLEGA A CORRER FOXPRO PERO TENGO QUE CORRER MANUALMENTE LA APLICACION, HAY ALGUN PARCHE PARA ESTA VERSION DE VISTA?
  Respuesta:  Guadalupe Leija
Espero te ayude esto que tome de la pagina:

http://windows.microsoft.com/es-MX/windows-vista/Make-older-programs-run-in-this-version-of-Windows

y lo comparto co gusto contigo:
*********************************
Ejecutar el Asistente para compatibilidad de programas
1.Para abrir el Asistente para compatibilidad de programas, haga clic en el botón Inicio, en Panel de control, en Programas y, a continuación, en Usar un programa antiguo con esta versión de Windows.

2.Siga las instrucciones del asistente.

Si no puede instalar un programa, inserte su disco de instalación y, mediante el asistente, busque el archivo de instalación, generalmente Setup.exe, Install.exe o un nombre similar. El asistente no está diseñado para trabajar con programas que tengan la extensión de nombre de archivo .msi.

Para cambiar manualmente la configuración de compatibilidad de un programa, haga clic con el botón secundario en el icono del programa, elija Propiedades y seleccione la ficha Compatibilidad.

    Pregunta:  62774 - MENU MPR EN _SCREEN VFP 8
Autor:  Mariano Rodriguez
Hola amigos, estoy cambiando mi programa de fox 2.6 a Visual fox, soy novato en visual y no me deja poner un menu en el _screen en mi programa principal le pongo:

_screen.visible = .t.
_screen.Width = nwscr - 10
_screen.Height = nhscr - 100
SET CLOCK STATUS
= CAPSLOCK(.T.)
_screen.icon = "HUWAREHUMWARE.ICO"
_screen.windowstate=0
_screen.caption= info_sys
_screen.BackColor = RGB(180,200,200)
_SCREEN.Picture = "huwarefondo.bmp"
SET MESSAGE TO info_sys
WAIT WINDOW "buscando datos" TIMEOUT 1
_Screen.AddObject('ilogo','image')
_Screen.ilogo.picture = 'HUWAREIMAGLOGO_SYS.JPG'
_Screen.ilogo.STRETCH = 0
_Screen.ilogo.LEFT = 1
_Screen.ilogo.TOP = 1
_Screen.ilogo.height = 300
_Screen.ilogo.width = 300
_screen.ilogo.backstyle = 0
_screen.ilogo.visible = .t.
_SCREEN.ShowTips = .T.

SET SYSMENU TO
DO MENU_MAIN.MPR
Read Events

y me dice que el form debe ser de nivel superior.

le agregue:

_SCREEN.ShowWindow = 2

pero me manda una pantalla que es solo lectura la propiedad. showwindow

en un principio habia ocultado la pantalla de fox pero me complica otros procesos,

ya le busque y busque y no le busco.

de antemano muchas gracias.
:-)
  Respuesta:  Junior :)
todo esta bien... pero la forma como llamas al menu esta mal es decir tendrias que poner...

menu1.mpr = es el nombre del menu

do menu1.mpr
do while .t.
read events
enddo

y eso es todo el problema y los formularios no deben estar en nivel superior

    Pregunta:  62870 - SERIAL DEL DISCO DURO
Autor:  Julio Rodriguez
Quisiera saber que función en Ffoxpro 2.6 para Windows debo utilizar para obtener el serial del disco duro.
Gracias
  Respuesta:  Ing. Adrián Raúl Hernández Hernández
Hola, Julio Rodriguez:

en la versión de Foxpro 2.6 no se, pero actualmente yo saco el serial del disco duro de la siguiente manera

LOCAL oFs, cLnoserie
oFS=CreateObject("scripting.filesystemobject")
cLnoserie = oFS.Drives("c:").SerialNumber

Espero que te sirva el dato

    Pregunta:  62913 - NUMERO CORRELATIVOS EN TABLAS
Autor:  Patrick Ramirez
Buenas tardes a todos, me estoy iniciando en visual fox, he creado unas tablas que tienen el campo llamado "codproveedor", como puedo hacer para generar un numero correlativo cada vez que quiera ingresar un nuevo registro en la tabla.
  Respuesta:  Marga del Pino
Si tienes un boton Nuevo, y un campo ReadOnly cod donde reflejas el nuevo valor calculado del articulo, pon en el evento valid del boton Nuevo
algo como esto. Hay botones alta,baja,cambios y nuevo en el formulario que responden a la funcion que realizan , la tabla que se va a llenar se ordena por nombre para visualizarla en un campo grid o rejilla del formulario, pero en la funcion creacodnum hay que ordenar temporalmente por el campo cod, para poder encontrar numeros vacios y darlos

WITH THISFORM
STORE " " TO .nomb.VALUE
.cod.VALUE=creacodnum() && se ordena por tag cod
.cod.REFRESH
set order to tag nomb
STORE .F. TO .baja.ENABLED,.cambios.ENABLED
.alta.ENABLED=.T.
ENDWITH

Debajo tienes la funcion que debes poner en el fichero de procedimientos de la aplicacion, para poder utilizarla en otro formulario

FUNCTION creacodnum
PARAMETERS caralf
* Debe utilizarse para ficheros con pocos artículos, con campo COD numérico,
* o alfabético pero que solo contenga números y en ese caso incluir el
* parametro caralf indicando cuantos caracteres tiene la cadena (1 a 3)
SET ORDER TO TAG cod
GOTO TOP
m.num=RECCOUNT()
esta=.T.
m.cad=" "
*Si no hay artículos en m.esta debe ser .T
FOR i=1 TO m.num
esta=.F.
SCAN WHILE NOT esta
IF PARAMETERS()=1 && cod es de tipo CHARACTER
IF i=VAL(cod)
esta=.T.
EXIT
ENDIF
ELSE && cod es de tipo NUMERIC
IF i=cod
esta=.T.
EXIT
ENDIF
ENDIF
ENDSCAN
IF NOT esta
EXIT
ENDIF
ENDFOR
m.num=IIF(NOT esta,i,m.num+1)
IF PARAMETERS()=0
RETURN m.num
ELSE
DO CASE
CASE caralf=1 OR (caralf=2 AND m.num>9) OR (caralf=3 AND m.num>99)
m.cad=STR(m.num,caralf)
CASE (caralf=2 AND m.num<10) OR (caralf=3 AND m.num>9 AND m.num<100)
m.cad="0"+STR(m.num,caralf-1)
CASE (caralf=3 AND m.num<10)
m.cad="00"+STR(m.num,1)
ENDCASE
RETURN m.cad
ENDIF

    Pregunta:  62915 - IMPRESION POR GRUPOS
Autor:  Fernando Cortez
En VisualFox 9.0 Necesito que al generar un reporte por grupos, el grupo que abarque el final de la página y el inicio de la siguiente, no se imprima así, sino que empiece en la siguiente página por ejemplo:

El reporte originalmente se despliega

Página 1
D001 JUAN DOMINGUEZ
F-87 $ 500.00
Total $ 500.00
C001 FERNANDO CORTEZ
F-345 $1,200.00
F-267 $ 800.00

Página 2
C001 FERNANDO CORTEZ
F-45 $1,000.00
Total $3,000.00

Y como deseo que salga:
Página 1
D001 JUAN DOMINGUEZ
F-87 $ 500.00
Total $ 500.00

Página 2
C001 FERNANDO CORTEZ
F-45 $1,000.00
F-345 $1,200.00
F-267 $ 800.00
Total $3,000.00

ESPERO QUE ASI ESTE CLARO... GRACIAS!!!
  Respuesta:  Oscar Cerdeira
Hola Fernando
Lo que tenes que hacer es indexar tu archivo por el grupo que queres por cada pagina
Y despues en el reporte accedes al menu reporte-agrupar datos y agregas el campo por el que indexas
Y pones un tilde en comenzar grupo en una nueva pagina

eso es todo
Oscar desde Argentina

    Pregunta:  62926 - COMO OCULTAR LA PANTALLA COMMAND AL EJECUTAR UN MENU
Autor:  dubody bolaños
Al ejecutar un menu en visual foxpro 6.0 me aparece la pantalla command la cual quiero que salga
  Respuesta:  Guadalupe Leija
Te dejo mi codigo inicial de un sistema:

salir=.f.

do while salir=.f.
do servmenu.mpr
if wexist('pantalla')
show wind pantalla
else
do form pantalla.scx
endif
read events
sal=messagebox("¿REALMENTE DESEA SALIR DEL SISTEMA?",4+32+256,"SALIR")
if sal=6
salir=.t.
rele wind pantalla
exit
else
salir=.f.
loop
endif
enddo

    Pregunta:  62964 - IMPRIMIR EN COLOR CON HP 670
Autor:  pedro robles
buenos dias
tengo un programa hecho por mi en foxpro 2.6 para windows que corre en windows 2000 ,aclaro que no soy profesional. solo aficionado
no encuentro la respuesta a mi pregunta y por eso la formulo aqui
concretamente quiero imprimir en color con una clausula @ say .

En pantalla todo ok ,pero no se como hacerlo en la impresora
agradeceria si alguien puede contestarme ,muchas gracias

pedro (Cordoba, Argentina)
  Respuesta:  Martí Valls Ridorsa
A la clausula @0,0 say... has de añadir "color rgb(xxx,xxx,xxx), donde xxx equivale a la combinación de color rojo, amarillo,azul en proporciones entre 0 y 255 para cada uno (ejemplo RGB(255,0,0) equivale a rojo puro y RGB(0,0,255) equivale a zul puro.

    Pregunta:  62984 - ARCHIVO NECESARIIO PARA CORRER EN VISTA
Autor:  FELIPE RAMIREZ
tengo una aplicacion en foxpro for windows 2.6 que corre perfectamente en xp con el parche dzpatch pero ahora la necesito correr en vista hay algun parche para vista, agradeceria me ayudaran saludos
  Respuesta:  PEPE BR
Yo utilicé el Foxpro en win vista y win 7 y es muy sencillo, el el directorio raiz (C:) debes de poner la carpeta de fox (c:\fx), despues te vas a la carpeta de windows/System32 y ahi le agregas al archivo autoexec.nt las siguientes lineas:

path c:\fx;%path%
set foxprocfc=C:\fx\config.fp

Despues modificas el archivo config.nt con las siguientes lineas
dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=120
bufers=120

Y con esto te debe de correr de maravilla !! suerte

|<  <<  132 133 134 135 136 137 138 139 140 141 142  >>  >|