PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  24621 - ESCRIBIR BITS EN PUERTO PARALELO
Autor:  Manuel Rozados
En una aplicacion especial necesito prender los bits D0 - D7 secuencialmente del puerto paralelo.
Hay alguna forma directa de hacerlo desde VFox?
Si alguien tiene una DLL para hacerlo, por favor pasenmela con las lineas DECLARE completas.
Muchas gracias y saludos.
  Respuesta:  Gustavo Adrian Cagnola
Hola te paso el siguiente codigo que me funciono para controlar entradas en un gimnasio de pesas.

*/* Puerto paralelo para escritura
function EscribirPuertoParalelo(nDireccion, nValor)
declare integer Escritura in Puerto.dll integer Direccion, integer Valor
Escritura(nDireccion, nValor)
endfunc

Mandame tu direccion que te doy la dll
SaLutes
Tuky

    Pregunta:  24787 - COMO HACER QUE MI PROGRAMA HECHO EN FOXBASE SEA EJECUTABLE ?
Autor:  Luis del Campo Quintana
¿Como hacer que mi programa que hise en FoxBase o en FoxPlus lo compile o sea ejecutable mi archivo?

Ustedes disculparan mi pregunta pero soy principiante en foxbase, espero me contesten
  Respuesta:  Becquer Azuero
Que yo sepa Foxbase o Foxplus no generan ejecutables.
Te recomiendo que lo compiles en Fox 2.0 o 2.6, ya que todas las instrucciones se interpretan muy bien. Para eso debes crear un proyecto (pjt) con "create project", añadir el programa principal de tu aplicacion y con el boton "generar" escojes la opcion ".exe". Si la opción se aparece restringida, es que tu foxpro no es la versión profesional, y no podrás acerlo.

Saludos ...

    Pregunta:  24834 - CREAR UN REPORTE PROGRAMADO CON COORDENAS EN PIXELES
Autor:  ALEXANDER DIAZ
HOLA AMIGOS, NECESITO QUE ME AYUDEN CON UN PROBLEMA QUE TENGO EN VISUAL FOXPRO, EL CUAL ES EL SIGUIENTE, RESULTA QUE QUIERO CREAR UN REPORTE PROGRAMADO, O SEA POR CON SET DEVICE TO PRINT, Y QUE UTILICE EL @SAY, EN PROBLEMA RADICA QUE QUIERO QUE VISUAL FOXPRO ME RESPETE LAS COORDENADAS PERO EN PIXELES, POR EJEMPLO SI LE DOY @400,715 SAY 'EJEMPLO' , ME DA UN ERROR DICE QUE ESTA FUERA DE RANGO.
¿COMO HAGO PARA QUE LAS COORDENAS SEAN EN FORMA DE PIXELES?
GRACIAS POR TU AYUDA
  Respuesta:  Miguel Natividad
Hola: Una alternativa muy facil de ejecutar es asumir que un form es la hoja de tu reporte, asi puedes utilizar facilmente el @...SAY y luego mandar a imprimir el form. Pruebalo.

    Pregunta:  24983 - OBTENER LA MAC ADDRESS DE LA TARJETA DE RED
Autor:  DIEGO Iribarren
Como puedo obtener la mac address de la tarjeta de red instalada desde visualfoxpro.
Este código es único e irrepetible.
  Respuesta:  Julio Cesar Arango Cubillos
Lo que quieres hacer se puede llamando a una funcion API, debes aprender a invocar las llamadas a las api desde visual foxpro.

En la seccion de visual basic hay un ejemplo de cómo obtener la MAC de una tarjeta de red. Puedes traducir este ejemplo a visual foxpro, incluyendo la llamada a la api.

Espero que sirva.

    Pregunta:  25024 - ESTATUS DE LA IMPRESORA EN FOXPRO 2.6
Autor:  MANUEL BONILLA
Tengo el problema de que el fox para windows version 2.6 cuando le doy el estatus

IF SYS(13) = 'OFFLINE'
WAIT WINDOW 'Printer is offline'
ENDIF

si la impresora esta prendida o apagada siempre me dice offline

tambien le pregunto

IF SYS(102) <> 'OFF'
SET PRINTER OFF
ENDIF

STORE PRINTSTATUS( ) TO IMPRES

IF NOT IMPRES
WAIT 'LA IMPRESORA ESTA FUERA DE LINEA' WINDOW
ELSE
WAIT 'LA IMPRESORA ESTA APAGADA' WINDOW
ENDIF

y todas estas opciones me dice que la impresora esta apagada existe algun parche para la version de foxprow 2.6 para window lo estoy trabajando en windows 98.
  Respuesta:  Miguel Natividad
Prueba seteando _PageNo en 1, para que oblige al Fox detectar la printer. Otro caso puede ser que al instalar la impresora no se instalo con compatibilidad DOS. Reinstala la impresora y marca la opcion de compatibilidad con programas DOS.

Bye

    Pregunta:  25067 - CERRAR PROGRAMAS DESDE VISUAL FOXPRO
Autor:  Carlos Mario Taborda
Me gustaria cerrar cualquier programa que este abierto en mi ordenador (computadora), desde Visual FoxPro 6.0, que còdigo me recomiendan..
Gracias de antemano por cualquier ayuda que me puedan ofrecer.
  Respuesta:  Jeg
* Debes hacer uso de la api de windows

WM_CLOSE = 16
Declare Integer FindWindow In win32Api ;
String ClassName, ;
String WindowTitle && Titulo (caption) de la ventana a buscar

Declare Integer PostMessage In Win32Api ;
Integer hWnd, ;
Integer Msg, ;
Integer wParam, ;
Integer lParam

* Por ejemplo, si tienes el word abierto con un documento en blanco
* usas la siguiente linea de codigo

PostMessage(FindWindow(Null,"Documento1 - Microsoft Word"),WM_CLOSE,0,0)

Clear Dlls

    Pregunta:  25068 - AUMENTAR O DISMINUIER EL VOLUMEN DE MI PC.
Autor:  Carlos Mario Taborda
Me gustaria aumentar o disminuir el volumen de audio de mi computadora, con algun còdigo de Visual Foxpro 6.0
Gracias de todo corazon por la respuesta.
  Respuesta:  Sergio Sanchez
No es mas facil mover la perilla de las bocinas? Bueno, checa un libreria FLL con sus clases llamada Focus de www.fastwrite.com, ahi traen algunas funciones para manejo de audio con un ejemplo para construir un cd player totalmente en fox (por supuesto con control de volumen)

    Pregunta:  25200 - COMO SABER SI UN ARCHIVO ESTA SIENDO UTILIZADO
Autor:  Arturo Quiroz
Como se si un archivo esta siendo utilizado, por ejemplo un excel, tengo una opcion en la que copio un tabla a formato excel, pero habeces genero el mismo nombre del archivo, cuando existe lo elimino, pero cuando esta siendo usado no lo puedo eliminar, quiero saber si hay alguna función que me diga si el archivo esta siendo usado.
  Respuesta:  Marvin Antonio Callejas Melèndez
Hola:
Mediante APIS, puedes verificar el estado del archivo, sin embargo también puedes utilizar un método alternativo utilizando apertura de archivos de bajo nivel, con la funciòn FOPEN() de VFP, por ejemplo, si necesitas saber si el archivo miarchivo.xls esta abierto, puedes utilizar el siguiente còdigo:

CONTROL_ARCH=FOPEN(..\miarchivo.xls)

IF CONTROL_ARCH=-1
=messagebox("EL ARCHIVO ESTA ABIERTO")
RETURN
ENDIF

**LIBERAR LA APERTURA DE ARCHIVOS CON FOPEN PARA PODER
** ESCRIBIR EN EL.
IF CONTROL_ARCH<>-1
FCLOSE(CONTROL_ARCH)
ENDIF

Este código te permite verificar si el archivo esta abierto por otra persona y cancelar el procedimiento.

Cualquier consulta adicional, puedes escribirme.
  Respuesta:  Julio Cesar Arango Cubillos
No conozco una función que haga lo que necesitas, pero te doy una idea de lo que yo haría.

Antes de ejecutar el comando que copia la tabla haces una cláusula ON ERROR

ON ERROR do PROC_ERROR
use xxx
copy to miArchivo

.....
PROCEDURE PROC_ERROR
if Err = yyy
wait window "Archivo esta siendo utilizado"
....
EndIf
RETURN

El error yyy es el codigo de error que sale cuando el archivo esta siendo utilizado, debes buscar en las ayudas el numero exacto porque yo no me lo sé de memoria.

Espero que te sirva.
  Respuesta:  Jose Rolando Quintero Paz
Hola
En realidad lo que quieres es saber si el archivo esta abierto o no.
la funcion es la siguiente:

IF USED("EJEMPLO.XLS")
"wAIT WINDOWS "mensaje"
ENDIF

Aunque tambien podrias incluir una variable que reemplace el nombre del archivo. Esto funciona con las base de datos y tablas pero, nunca lo prove con otro tipo de archivo aunque con hacer la prueba no cuesta nada.
Si quieres escribeme y te envio un ejemplo que convierte archivos de excel a fox y usa una variable que reemplaza el nombre del archivo, es decir la tabla toma el nombre de la hoja de calculo.

    Pregunta:  25289 - FOXPRO2.5B: PROBLEMAS PARA GENERAR EJECUTABLE
Autor:  mercedes
Estoy generando el ejecutable de un programa en foxpro2.5b en dos máquinas distintas y en cada una me da un error distinto cuando trato de hacerlo.

En el primer máquina me aparece el cartel "Run/! command failed". Uso el comando RUN en algunas partes del programa y cuando lo ejecuto desde foxpro también me da el error. Saqué el comando del código, pero al generar el ejecutable sigue apareciendo el error. Esta Pc es pentium II, corre W98 y tiene 128 Mb de ram.

La cuestión es que llevé mi programa a otra pc para ver si allí podía generar mi ejecutable y cuando lo estoy haciendo no tengo el problema del comando RUN, pero sí me aparece otro mensaje de error: "Link command failed". Y después pone: "Error(3009): dynamic memory exhausted". Esta PC es pentium II, corre W98 y tiene 64 Mb de ram

La cuestión es que en cada pc tengo un problema distinto. El fox pro trae unos archivos de texto (Psskb.txt, Dkreadme.txt), en los que enumera ciertos mensajes de error que pueden aparecer y posibles soluciones para ellos. Precisamente, en esa lista aparecen estos problemas que tengo yo, pero por más que sigo las instrucciones que allí me dan no logro solucionarlos.

Por favor! alguien que me indique qué hacer!!! Necesito una solución para alguno de los dos problemas (en particular para "Link command failed").
  Respuesta:  Marga del Pino
En la maquina de 128 MB el problema es el path del sistema, o sea el comando PATH de MSDOS. En el no esta incluido el camino o directorio del programa que intentas correr con RUN desde el FoxPro. Por ejemplo si haces run pkzip .... y el pkzip.exe no esta en los caminos especificados en el comando path, te da este error. Una solucion ortodoxa seria poner el programa (el pkzip por ejemplo) en el mismo directorio donde esta el ejecutable foxpro, que es el primer lugar donde se busca el programa a ejecutar mediante RUN.

En la maquina de 64 MB al parecer el sistema operativo encuentra el programa que ejecutas con RUN pero 64 MB es insuficiente memoria en general y en particulara para tu ejecutable.

    Pregunta:  25330 - QUE COMANDO SE UTLIZA PARA PONE LA HORA EN FOX PRO
Autor:  elizabeth castro
por ejemplo yo tengo un programa que calcula la hora de un centro de internet pero calcula la hora pero no toma en cuenta los minutos
  Respuesta:  wences
El Time() , devuelve la hora , con minutos y segundos , por defecto ... y del sistema y el sys(2) lo devuelve en segundos los tiempos ...

Ahora bien si quieres trabajar con campos hora , tendras que usar transformaciones a caracter y numericas , para operar y volver a transformarlos a campos hora ....

parameters hora

hora=padl(alltrim(str(val(substr(hora,1,2)),2)),2,'0')+padl(alltrim(str(val(substr(hora,3,2)),2)),2,'0')

if val(substr(hora,1,2))<1 or val(substr(hora,1,2))>23 or val(substr(hora,3,2))>59 or val(substr(hora,3,2))<0
hora="Novale"
endif

return hora

esto devuelve la comprobacion de una hora correcta o no ... y esto otro el resultado de operar con una hora de comienzo y fin...

parameters inicio,final

empieza=(val(substr(inicio,1,2))*60)+val(substr(inicio,3,2))
acaba=(val(substr(final,1,2))*60)+val(substr(final,3,2))

totales=acaba-empieza

sonminutos=mod(totales,60)

if val(substr(inicio,3,2))<=val(substr(final,3,2))
sonhoras=val(substr(final,1,2))-val(substr(inicio,1,2))
else
sonhoras=(val(substr(final,1,2))-val(substr(inicio,1,2)))-1
endif

sontotal=padl(alltrim(str(sonhoras,2)),2,'0')+padl(alltrim(str(sonminutos,2)),2,'0')

return sontotal

espero te sirva...

|<  <<  81 82 83 84 85 86 87 88 89 90 91  >>  >|