PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  321 - COMUNICACION VIA MODEM
Autor:  Eduardo
Necesito urgente crear una aplicación en foxpro para windows , esta aplicacion debe conectarse con otra maquina via linea telefonica, teniendo un modem cada una.
necesito capturar la siguiente informacion :

1.-tiempo duracion de la conceccion
2.-Errores del modem.

de ante manos muchas gracias.

  Respuesta:  Victor manuel suarez
hola amigo!!

yo tengo un form que hice para conectarme a otro computador por via modem atravez del winsock.ocx
este archivo obtiene las propiedades del modem en que estado está ,duracion, bytes recibidod,bytes enviados etc en fin todas las propiedades que tu las puedes usar

enviame un e-mails para enviarte el codigo bien explicado
  Respuesta:  Salvador Moreno
Para tener un total control del puerto de comunicaciones a través de Fox 2.6 he recurrido a una libreria externa que se llama SILVERFOX, es muy fácil de usar. Si quieres más datos, puedes ponerte en contacto conmigo y te proporcionaré la dirección de esta casa de software.

    Pregunta:  334 - COMO LEER CODIGOS DE BARRAS EN VISUAL FOXPRO 5.0
Autor:  Virgilio
Necesito saber como se leen codigos de barra en Visual FoxPro 5.0 y si es posible como hacer para imprimirlos
  Respuesta:  carlos baires
la lectura del codigo de barra lo hace un escaner comun y corriente la busqueda en la base de datos es parte del programa debes tener en una base de datos un campo en donde se almacene dicho campo y ordenarla base en ese campo y darle una busqueda mediante seek como a cualquier otro campo
  Respuesta:  Arturo Garcia Casas
mira amigo, en la actualidad los scanners de codigo de barras son faciles de usar, instalalo en el puerto del teclado, foxpro 5/6, puede interpretar los digitos automaticamente solo con hacer un pequeño formulario y un objeto textbox (text1), y usa el metodo KEYPRESS de ese objeto, ponle el siguiente codigo:

IF NKEYCODE=13
CODIGO=VAL(THISFORM.TEXT1.VALUE)
SEEK CODIGO
IF FOUND()
? "presentar los datos de x cosa"
else
?"codigo no registrado...verifique"
ENDIF
ENDIF

foxpro interpreta al lector como si en realidad estuvieras tecleando los datos e hicieras un ENTER....pruebalo.

SALUDOS DESDE VERACRUZ VER. MEXICO
  Respuesta:  Manuel Jesus Duran Chusa
Amigo lo del codigo de barras es facil.
Si quieres imprimir el codigo de barras en cualquier impresora lo que tienes que hacer es estructurar un codigo y ponerle en el reporte el tipo de letra de codigo de barras que ya lo han detallado, pero ponle an inicio un asterico y al final ejemplo
*123456* y el lector te leeara 123456 y para leerlo con la pistola solo compralo que se adapte al teclado.

para capturarlo por el puerto rs232 es otra historia
  Respuesta:  Felix Garcia
Existe una forma más facil de escribir códigos de barra, lo unico que necesitas es una Font que se llama "3 of 9 Barcode". Si queres te la mando por correo.
  Respuesta:  Fernando Gutiérrez
No estoy del todo seguro com funciona Visual FoxPro 5.0, pero como no se trata de programación en si, te puedo contar lo siguiente:
Estave haciendo hace algún tiempo mi práctica profesional en una empresa desarrolladora de software de mi ciudad, y un colega trabajaba con código de barras.
El asunto es que tenía un scanner de códigos micrologic que se conectaba al teclado.
Sencillamente, al leer el código de barras, enviaba la información por el minidin del teclado sin más. Lo que te quiero decir es que por lo menos ese tipo de scanner no necesitaba ningún programa ni procedimiento especial.
Entre paréntesis, la aplicación se estaba haciendo en Visual Basic 5.0 Profesional....
Espero que esta vivencia te sirva de algo.
  Respuesta:  Santiago Starita
Estimado amigo:
Yo hace tiempo programo en Clipper, pero hace unos meses lo vengo haciendo en fox5 tu problema se resuelve de dos maneras, la primera es adquiriendo una lectora de codigo de barras que se conecte directamente al teclado y todo resuelto!!(ya que se toma como una entrada de teclado normal, y no debes modificar en nada el codigo),la segunda es que tengas una lectora que se conecte al puerto serie y alli tienes al control MSCOMM32.OCX que viene en el fox profesional, con el te puedes comunicar con cualquier puerto serie, hasta con el modem, he aqui un ej(este ej. fue tomado del Sr. Pedro Pascua):
oCom=CreateObject("MSCOMMLIB.MSCOMM")
oCom.CommPort = 2
oCom.Settings = "14400,N,8,1"
oCom.PortOpen = .T.
oCom.Output = "ATDT123456789"+CHR(13)
Con estas cinco líneas deberíamos conseguir que el módem que tenemos en el puerto COM2, llamara al número 123456789 y conectara a 14400 baudios, sin paridad, con 8 bits de datos y uno de parada. La conexión se cortaría sin más que añadir
oCom.PortOpen = .T.
Adios y suerte.-
  Respuesta:  Marco Antonio
Hola !!!! desde Lima Perú, con respecto a tu pregunta creo tener la solución, la captura del código de barras lo puedes hacer mediante una pistola o un lector de codigo de barra, sobre la impresión en lo particular imprime desde visual fox usando un tipo de fuente (fonts) del corel draw que como resultado imprime la representacion en codigo de barras del texto dado, enviame un email y gustoso te estaria enviando el tipo de fuente para que lo uses o si tienes corel draw 6 puedes bajartelo dentro del directorio de fuentes, el que yo uso es el 3 of 9, espero que esto te pueda ayudar, bye bye
  Respuesta:  Foxito
Hola.. soy de Perú.

La lectura de código de barras se basa simple y sencillamente en un un dispositivo (scanner) que conectado en paralelo con el teclado envía una secuencias de caracteres (numeros por lo general) al pc (como si fuese digitado).

La impresión de los códigos de barra es otra cosa.. nunca lo he hecho pero ahora que lo mencionas tal vez puedas construir una tabla que contenga el equivalente de cada caracter (número) guardada como una representación gráfica en un campo General. Cada vez que se requiera ese caracter.. se deberá hacer una busqueda e imprimir el equivalente.

Es algo que me acabo de imaginar... si funciona me avizan para ponerle patente .. jejeje

Bye!

  Respuesta:  William Sáez
Desde Colombia, te puedo decir que trabajo actualmente con Dbfast en una empresa con puntos de venta en red Windows NT, y todo lo hacemos con codigo de barras, para leerlo solo consigue un lector de codigo de barras y lo conectas al puerto del teclado ya que trae dos conexiones una para el teclado y otra que sale directamente para el lector.

Para generar el codigo de barras, lo hacemos en un Software llamado luw, que puede seleccionar la base de datos y el campo que va a generar como codigo de barras y listo el lo hace automaticamente de una vez, pudiendo ademas generar diferentes tipos de barras.

Espero te sea de ayuda..

    Pregunta:  373 - CODIGO COMMAND BOTTOM
Autor:  Marco
necesito saber el codigo fuente que llevan por detras los botones(command bottom) para no generarlos quiero saber el codigo necesario para hacerlos yo mismo

Vos has visto que una forma de visual fox cuando se genera tiene los siguiente botones(agregar,modificar,borrar,salir,buscar,inicio,atras,siguiente,ultimo) pues a eso me refiero uno los genera que no los programa, lo que yo quiero es aprender ese codigo fuente de los command bottom.

  Respuesta:  pedro mateo arias
hola amigos:
hay tienes una definicion completa de botones de una clase con botones de movimiento

Visualizar
  Respuesta:  Sara Cecilia Vargas Sarmiento
Para generar botones de comando para un formulario sencillo (manejo de una tabla) siga los siguientes pasos:

Se está usando al almacenamiento en Buffer

SET MULTILOCKS ON && Determina si puede bloquear múltiples registros y permite el
&& almacenamiento optimista en búfer
=cursorsetprop("buffering",3) && Activa el almacenamiento optimista de filas en búfer


Cree un contenedor con los siguientes controles:

Siguiente: Moverse un registro adelante
Anterior: Retroceder un registro
Buscar: Buscar un registro
Agregar: Adicionar un registro a la tabla
Guardar: Grabar el registro en la tabla (Sobre agregar, no visible)
Modificar: cambiar los datos de un formulario
Cancelar: Cancelar la operación actual (Sobre Modificar, no visible)
Eliminar: Elimina un registro
Salir: Salir del formulario.

Algunos controles se realizan en forma global (todo el proceso), para ello cree propiedades
al formulario:
SalvaReg: Guarda el registro activo antes de una adición
Adicionando: Indica si está en modo inclusión de registros

Cada vez que presione un botón de desplazamiento se debe ejecutar siempre el mismo código,
para no duplicar cree eventos en el formulario. Aquí se maneja el botón guardar sobre el
botón Agregar y el botón cancelar sobre el botón Modificar, por ello cuando Agregar y
Modificar están visibles y accesibles, Guardar y Cancelar no lo están:

Botones
*Controla la habilitación de los botones de comando siguiente y anterior

SalvaReg = recno() && guarda el número de registro actual
If eof() ÿLM/W3SVC/157/Root
  Respuesta:  Victor Andrade
Tengo la sensación que no conoces mucho sobre clases en visual foxpro. El conjunto de controles a los que te refieres se encuentran el la biblioteca de clases WIZSTYLE.VCX de la carpeta C:\VFP\WIZARDS.

Puedes ver el código de dos formas distintas:
en la ventana de comando ejecuta:
1)MODI CLASS y busca en la ruta que te indique la biblioteca referida. Ahí apareceran todas las clases de la biblioteca. selecciona PICBTNS en la lista y aparecera la clase que tu dices. Estas es una subclase de la clase que contiene el código que tu buscas. Bórrala. busca la clase TXTBTNS y bingo!!!! esta es la clase deseada solo que los botones tienen texto y no gráficos. Investiga el código en la ventana correspondiente.
2)En el menú HERRAMIENTAS seleciona EXAMINADOR DE CLASES y busca la biblioteca indicada. apareciendo el examinador buscas la clase TXTBTNS y podrás ver sus métodos, propiedades, etc. Si haces un click en el botón CODIGO DE LA CLASE aparecerá el programa PRG que genera los controles.
Espero haberte sido útil.

  Respuesta:  Tomas Alberto Amarilla
Debido a que los códigos son un poco largos y depende mucho del tipo de datos con la que estás trabajando te doy una algunas que te pueden servir...pero no te funcionará todas las veces
*--Agregar
Append Blank
thisfprm.refresh

*--Borrar
Delete && Para marcar
Pack && Para borar del disco
thisform.refresh

*--Inicio
go top
thisform.refresh

*--Final
go bottom
thisform.refresh

*--Anterior
if not bof()  && pregunta si no es el principio del registro
skip-1 && Si no es retrodece un registro
else && Sino se va al principio
go top
endif
thisform.refresh

*--Siguiente
if not eof() && pregunta si no es el final del registro
skip Si no es avanza un registro
else
go bottom && Sino va al final
thisform.refresh

*--Modificar
*-- suponiendo que se tiene un cuadro de texto llamado text1, hariamos de esta forma.
thisform.text1.setfocus
thisform.refresh

*-- Buscar
En cuando al boton Buscar te recomiendo que consulte los Comandos: Seek, Scan...Endscan o Locate en la Ayuda porque depende de que tipo de busqueda queras hacer.

Espero haber colaborado contigo. Gracias!!!

    Pregunta:  376 - PROBLEMAS DE IMPRESION EN VISUAL FOXPRO
Autor:  Daniel Durand
PREGUNTA / RESPUESTA

Estimados amigos cybernautas.
Tengo una solución parcial para el problema de imprimir informes con opciones de impresión (Nº de copias, tamaño de página, etc...).En un principio cuando queria imprimir mas de una copia me salia cualquier cosa. Luego de no poder utilizar la opcion PROMPT del comando REPORT descubrí que insertando el comando SYS(1037) en  el evento INIT() del entorno de datos del informe se solucionaba el único problema que encuentro es que no puedo cancelar el informe desde esta pantalla de opciones de impresión.Si alguien conoce una solución mas eficiente , les agradecería enormemente  me envíen un meil.
GRACIAS...

  Respuesta:  marlene
Para mandar una impresion con todos los parametros que indicas es utilizando el siguiente comando:

repor form scimpord to printer prompt PREVIE

esta te da opciones de impresora , copias, paginas etc
  Respuesta:  wilson alvarez
Amigo, yo utilice la opcion RANGE de la instrucccion REPORT FORM. Fue necesario diseñar un nuevo formulario que simula el funcionamiento del prompt.
La verdad es que hasta ahora ha sido la solucion en nuestra empresa. Si deseas que te la envie solo comunicate.

ok?
  Respuesta:  Claudio N. Gagliero
Por el temaño de la respuesta, la hemos colocado en el archivo resp376.tx
  Respuesta:  Samuel Angel Herbas Gonza
Estimado amigo:
Te has debido dar cuenta que al usar SYS(1037) en el método INIT del Report no se despliega el rango de páginas, es porque aun no se ha ejecutado el Reporte, por mi parte he intentado ubicar la instrucción: keyboard ´repo form a to printer prompt {Enter}´ en el método DESTROY
Funciona pero el Reporte se vuelve Recursivo y no puede salir, si existiera una forma de pasar un parámetro al método INIT del Report posiblemente se podría controlar este error
Lo que estoy haciendo de momento es lo siguiente:
Report Form nom_report preview
Report Form nom_report to printer promp
Esto te daría el resultado que necesitamos aunque no como quisierasmos.

Quisera aprovechar la oportunidad de preguntarte como podríamos realizar una lista de todos los defectos (que por cierto son muchos), de tal manera que se pueda enviar como sugerencia de mejoras a los desarrolladores de VFP de la MICROSOFT. Cualquier respuesta por favor no dudes en enviarlo a mi correo.

Atentamente

    Pregunta:  403 - ICONOS EN LOS FORMULARIOS
Autor:  Emanuel
Solo quiero hacer una pregunta sobre programación y es esta ya cree mi programa ejecutable en Foxpro 2.6 y lo estoy corriendo en Windows 95 este ya cuenta con el un icono que le agrege al ejecutable por medio de la aplicación addicon.app de la versión profesional de foxpro y se ve cuando la pongo en el escritorio pero cuando ejecuto el programa y este ya esta funcionando dentro de la ventana principal aparece el icono de foxpro quiero que aparesca el icono que le agrege a mi programa como puedo hacerlo por su atención prestada muchas gracias.
  Respuesta:  Javier Prieto
Es un bug de fox. Fijate que si hacés doble click donde aparece el título de la ventana, te pone el icono correcto.
No se si hay algún parche.
  Respuesta:  Ricardo Peña
Mira en el apartado "Biblioteca de Temas" de La Web del Programador, mi tema : Corriendo aplicaciones FoxPro 2.6 bajo Windows 95
  Respuesta:  Carlos Guerra
Como todo mundo sabe, existe un problema al tratar de mostrar nuestro propio icono en una aplicacion distribuida en un archivo ".EXE", ustedes podrian cambiar el icono usando la utileria "ADDICON.APP" pero cuando la aplicacion es minimizada Windows95(98) utiliza el icono de "Default" de FoxPro, porque? se pregunta todo mundo, por que Microsoft lo puso ahi., donde? En el archivo ".ESL"!!!! (Foxw2600.esl)

Con mi sulucion no importa lo que hagas, siempre tu aplicacion distribuida en .EXE mostrara tu icono!!!

La solucion la encontraras en: http://adams.patriot.net/~johnson/html/neil/fox/fox.htm ó pidemela por correo, ya que es algo extensa la explicacion e incluyo un archivo ".ESL" de prueba.

  Respuesta:  Johan Ortigoza
LAS RESPUESTAS OFRECIDAS POR MIS COLEGAS SON MUY BUENAS... PERO DE ANTEMANO DE RECOMIENDO QUE PRUEBES LO SIGUIENTE PRIMERO QUE TODO PARA RESOLVER TU PROBLEMA.

EN EL PROGRAMA PRINCIPAL DE TU APLICACION A NIVEL DE FUENTES ESCRIBE ESTAS DOS INSTRUCCIONES

MODIFY WINDOW SCREEN TITLE "Titulo de tu App"
MODIFY WINDOW SCREEN ICON FILE "DIBUJO.ICO"
LA PRIMERA INSTRUCCION LE CAMBIA EL TITULO A LA VENTANA PRINCIPAL DE FOX...
LA SEGUNDA LE CAMBIA EL ICONO DEL ZORRITO POR TU ICONO PREFERIDO... EN EL EJEMPLO ES "DIBUJO.ICO"

PRUEBA ESTO Y VERAS LOS RESULTADOS...!ESPERO QUE TE SIRVA..

SALUDOS DESDE VENEZUELA... MARACAIBO...

    Pregunta:  414 - CONTROL PARA IMAGENES JPG
Autor:  Marco Antonio
Hola, mi nombre es Marco Antonio, y desarrollo en Visual Fox y V.Basic, necesito información donde pueda encontrar un control (OCX,Active X)para Visual Fox que me permita visualizar archivos JPG, agradesco su colaboración gracias ...
  Respuesta:  Henry Albert Salamanca Maldonado
Querido colega, cuando yo quiero ver un archivo JPG, lo hago de la siguiente manera y me funciona muy bien, además de rápido:

Creo un objet IMAGE común y corriente transteandolo de la biblioteca standard y luego cuando quiero que me visualice la imagen le doy la siguiente instrucción :
thisform.image2.picture=gcpathfotos+Nombre_file.jpg

Siendo gcpathfotos, el directorio donde se encuentra ubicada la fotos o la colección de ellas.

Pruebalo se que te va a ser de gran ayuda.
  Respuesta:  Javier Prieto
Los archivos JPG son soportado en la Version de Visual Fox 6.0. Ya está por salir, así que yo esperaría.
  Respuesta:  FoxCarlos
Hola, escribeme y te envio el Control OCX

Mucho mas Sencillo, Exsite un control llamado galeria de arte de microsoft o mejor dicho clip galery , este control inserta archivos JPG,sonidos,videos,e imagenes prediseñadas de office, primero insertas el control, luego con click derecho insertas la imagen si la imagen jpg que tu deseas no esta entonces has un click en importar, seleccionas tu imagen luego te pregunta en que categoria deseas la imagen escoges cualquiera y presionas Ok ahora presionas insertar y ya esta insertada tu JPG, Recuerda Colocar La Propiedad Enabled=.F. esto es para que cuando hagan doble click sobre la imagen que esta en tu formulario no te presente el cuadro de imagenes prediseñadas de office,tienes otra propiedad como stretch que puedes tener como recortar,isometrico o estirar no te envio este control porque supongo que lo tienes; ya que esta en todos los PC que tengan Office.

Maracaibo,Venezuela

    Pregunta:  418 - CONTROLAR LAS TECLAS DE FUNCION
Autor:  Julio Garcia
Como puedo desde Fox Pro 2.5 ( para MS DOS ) controlar las teclas de función, es decir, saber si pulsa F1, F2, etc...
He de activar/desactivar algún set?
  Respuesta:  Foxito
Lo mejor es crear un procedimiento (teclas.prg) invocado por las teclas de funcion (f1...f12), programandolas con ON KEY LABEL F2 DO TECLAS
Este procedimiento debe usar la funcion LASTKEY() para averiguar la tecla pulsada. Luego la validas para que realice lo que quieras.
  Respuesta:  Javier Prieto
Si querés capturar las teclas de función una vez presionandas tenés varios métodos:

Función LASTKEY()
Devuelve el valor de la tecla presionada

Modo de Uso:

Tecla=LastKey()

Los valores que nos interesan son los siguientes:
Tecla Sola May. Ctrl Alt
F1 28 84 94 104
F2 -1 85 95 105
F3 -2 86 96 106
F4 -3 87 97 107
F5 -4 88 98 108
F6 -5 89 99 109
F7 -6 90 100 110
F8 -7 91 101 111
F9 -8 92 102 112
F10 -9 93 103 113
F11 133 136 137 139
F12 134 136 138 140

Otra forma de capturar la entrada de estas teclas, es por ejemplo cuando deseo que presionando cierta tecla se ejecute un comando.
Para hacer esto se debe colocar al principio del programa y luego de los pararámetros, si es que los hubiera, lo siguiente:
ON KEY LABEL nombre_tecla comando

donde,nombre_tecla puede ser
F1, F2, F3 ...
Ctrl+F1, Ctrl+F2 ...
Shift+F1, Shift+F2 ...
Alt+F1, Alt+F2, Alt+F3

Cabe recordar, que no hay que ponerlo entre comillas, y el comando, es el comando a ejecutar.

Otra oción que tenés es estar a la espera que se presione una deteminada tecla, en este caso la función a utilizar es INKEY(), a la cual le debes pasar como parámetro la cantidad de segundos que debe esperar. Si le pasas 0, espera indefinidamente.
El valor que devuelve es el mismo que LASTKEY().

  Respuesta:  Foxito
Hola.. soy de Perú.

Sabes... algo sencillo de hacer...

On Key Label F1 Do Prog01
On Key Label F2 Do Prog02
On key Label F10 ??Chr(7) && Si No Quieres Programarla
On Key Label F11 Wait Wind NoWait "Tecla No Programada"
On Key Label F12 &&Desprograma la tecla
Bye!

    Pregunta:  432 - EJECUTABLE EN VISUAL FOX
Autor:  Marco Artavia
necesito saber en Visual Fox como hacer un ejecutable. Yo siempre los hago pero usando un menu. Ahora quiero un ejecutable que inicie con una forma y cuando lo hago el ejecutable se realiza pero cuando lo ejecuto tira la ventana un segundo y luego se quita.
Me dijeron que era que tenia que poner read events pero en que parte de la forma debe escribir eso.
espero me ayuden gracias
  Respuesta:  Ricardo Pérez
Hola Marco, tuve el mismo problema que tú, ojala te ayude la respuesta que voy a darte.
En tu formulario principal, es decir el que llamara a todos los demás, en el comando salir, escribe:
clear events
quit

...luego abre el formulario y busca la opcion ACTIVATE, dentro de esta opcion escribe:
_screen.hide "Esto es para que la ventana principal se oculte"
read events "espara que tu formulario no desaparezca"

ESpero te sirva y suerte...
  Respuesta:  carlos baires
para que un archivo ejecutable funcione debes tener en la carpeta donde se ejecuta el proyecto los archivos VFP6R.DLL Y VFP6RENU.DLL ADEMAS DE que en el formulario principal en el procedimiento init creo debe haber una instruccion read events para que el formulario principal permanezca en funcion
  Respuesta:  Fernando Osorio
Sa solucion es facil.
en las propiedades del formaulario hay una que se llama WindowType esa la coloca como 1-Modal y listo. si el formulario lo quiere maximizado hay una propieda llamada windowsState la puede modificar a su gusto como normal maximizado etc.
Espero que le sirva de ayuda
  Respuesta:  rodolfo roman sandoval
tengo la solucion atu problema ..
si tienes todos tus frms. y tus dbfs.fuera de un projecto pues te digo que crees un projecto
sintaxis..
modify project nonbre
una ves que tengas la ventana epieza a agregar lo necesario que se mostrara en tu sistema

En la opción código selecciona nuevo y se mostrara una ventana donde escriviras lo siguiete.

set date dmy
set..
set..
ser.. &&en estas cabeceras puedes activar todo lo necesario para tu programa

luego si quieres que muestre un formulario como presentacion del sistema ....

frminicio=createobject(´frm´)
inicio closable=.f.

*adicionar objetos

frminicio.addobject(´ mi titulo´, ´label1 ´)
frminico.addobject(´continuar´,´comamdo1´)
frminicio.addobject(´salir´,´comando2´)

frminicio.mititulo.visible=.t.
frminicio.continuar.visible=.t.
frminicio.salir.visble=.t.
frminicio.autoceter=.t.
frminicio.show
read events
* definir clases para personalizar los objetos
define class label1 as label
caption=´hola lo logre, sabia que lo haria ´
top=50
left=80
fontname=´times new roman´
endefine
define class comando1 as commandbutton
caption=´Continuar´
top=80
left=50
prcedure click
** accion que quieres que realice
do form nomfrm
enddefine
define class comando2 as commandbutton
caption=´salir´
top=80
left=120
procedure click
clear events
enddefine

espero que aun te sirva,.Si quieres personalizar mejor escriveme..
  Respuesta:  Foxito
Hola:
Antes de generar en EXE, inserta en la ultima linea de tu PRG principal (Inicial) el comando READ EVENTS para que tu sistema lea los eventos que se den luego de cargarlo. De la misma manera inserta el comando CLEAR EVENTS (antes de QUIT)para terminar la lectura de eventos y salga del sistema.
  Respuesta:  Nono Ocaranza
Debes indicarle al form que es modal o sea: la propiedad windowtype = 1
  Respuesta:  Wilson Barrantes Becerra
Para crear ejecutable en Visual Foxpro 5.0 a nivel de formularios debes de poner la propiedad WindowType en 1 - Modal en el formulario
  Respuesta:  Jorge Alvarado
No necesariamente tienes que arrancar desde la forma!!!
Puedes crear un programa como principal y desde alli llamar a tu form, y para el usuario eso sera lo primero que vea!!!!!
Main.prg
* Inicio
* Seteos Iniciales
Set exclusive ...
Set Talk ....

* Llama a forma Principal
Do Form Frm_main
Read evenst

p* Seteos de Salida
Set ....
Set ....
* Fin

No te olvides de colocar en algun boton de salida de tu forma el comando "clear events"
  Respuesta:  Esteban Bruna
Debes incluirle algun objeto a la pantalla (boton, campo de lectura, lista, etc) o en la creación de la pantalla colocarle un "read event"...
  Respuesta:  Emanuel
Hola mira es muy sencillo en el programa principal debes colocar el read events te pongo un ejemplo de como debes hacerlo bye saludos desde México
SET EXCLUSIVE OFF
SET MULTILOCK ON
SET TALK OFF
SET STAT OFF
SET EXCLUSIVE OFF
SET MULTILOCK ON
SET STATUS BAR OFF
SET RESOURCE OFF
SET ESCAPE off
public salir

@ 0,0 fill to 800,1000 color n
@ 0.000,0.000 SAY "Proyec_2.bmp" BITMAP ;
STYLE "T" center

salir = .t.

do form login
read events

IF salir = .t.
do princip.mpr && programa principal
ENDIF

Do While salir = .t.  && esta variable se encuentra en mi menu principal
Read events
Enddo

Clear events
Close all

Si tienes una pregunta respecto a esto dejamelo saber

    Pregunta:  437 - FOXPRO FOR DOS 2.6 Y AÑO 2000
Autor:  Jose Miguel
nesito informacion del True comportamiento del foxpro for dos en cambio de siglo, ya que he efectuado pruebas con el set century on/off, pero no me convencen.
atte muchas gracias.
  Respuesta:  Leo Aramendi
Hola amigo la unica manera de solucionar este problema es activando el comando SET CENTURY ON &&&& 4 DIGITO AÑO Y CON SET DATE TO FRENCH activas formato de fecha DD/MM/AAAA por defecto foxpro trae MM/DD/AAAA

bye
  Respuesta:  manuel medina jimenez
Hola Amigo, soy Dominicano.

Tu problema se solucina solo con poner SET CENTURY ON en tu programa principal, luego todos los campos tipo fecha tanto de memoria como de base de datos tomaran el formato. Es tu solucion.
cualquier cosa sobre foxpro me la puede pedir directamente.
A tus ordenes
  Respuesta:  Juan Carlos Flores
Amigazo, yo trabajo como programador para sistemas en Foxpro 2.6 y VFP 6.0, cuando se acerco el fin de milenio tuve muchas dudas, pero como a estas alturas ya te habras dado cuenta, la cláusula SET CENTURY ON resuelve el conflicto, y todos los consejos que te han dado son muy acertados. Respecto a lo del uso de 00 en vez de 2000 en la escritura de datos, es dificil acostumbrar a los usuarios a no hacerlo, máxime si lo hacen a menudo en otros programas de Wndows, asi que escribi la siguinete rutina:

IF YEAR(M.FECHA) < 1980
Anio=ALLTRIM(STR(YEAR(M.FECHA)))
Anio=ALLTRIM(Anio)
Anio=SUBSTR(Anio,3,2)
FECHA2=DTOC(M.FECHA)
FECHA2=SUBSTR(FECHA2,1,6)+"20"+Anio
M.FECHA=CTOD(FECHA2)
SHOW GETS && Actualiza campos gets del Screen
ENDIF

M.fecha representa la variable de fecha.

Esto te da un Roll Over desde 1980 al 2079
  Respuesta:  Foxito
Hola: te sugiero
1.- Crear un campo adicional SIGLO donde guardaras el prefijo del año del actual registro.
2.- Convertir el actual campo fecha a Caracter de 10 para almacenar las fechas en formato texto.
3.- Migrar a una version superior (Visual FoxPro 3,5 o 6).
  Respuesta:  JVG_FOX
Al inicair el programa tienes que activar SET CENTURY ON, lo que habilita las tablas para 4 digitos en el año, Además debes modificar todos los programas en los picture a 99/99/9999. Y listo.
Puedes seguir utilizando tu aplicación.
Obviamente la actualización a Viusual es lo ideal, pero se necesita recursos
  Respuesta:  Miguel Pena
Hola colega, en el web de Microsof hay informacion que te pueden ayudar bastante. Ahi encontrara una quia de los comando que no puedes utilizar para el proximo milenio.

El CENTURY ON funciona perfectamante, siempre y cuando no utilice los comandos (UPDATE,etc.) no autorizado por MS para el 2000. Espero encuentre la solucion en el web.

  Respuesta:  Fredy
Una alternativa puede ser activar el prefijo del siglo con set century on, aparte de esto almacenar la fecha no como un campo fecha sino como caracter, haciendo la conversion con la funcion (ctod(fecha)), puesto que los campos en formato fecha solo almacenan ocho caracteres, omitiendo el prefijo del siglo, lo cual aparentemente es controlado por Set Century On, pero en realidad el campo fisicamente sigue teniendo ocho caracteres, entonces una alternativa, incluso para facilitar futuras migraciones, es manipular las fechas como campos tipo caracter de 10 caracteres, y hacer la conversion de la fecha, para efectos de validacion, la captura del dato fecha se puede seguir haciendo en una variable fecha, puesto que asi se facilitan las validaciones, pero al pasar la informacion a la tabla se realiza la conversion. ahora, si en un futuro se piensa migrar, pues facilmente como la nueva version de fox ya tiene corregido el problema de la fecha, pues simplemente se crea un c!
Campo tipo fecha y se convierte la que estaba en formato caracter a fecha con la funcion (ctod(cadena)). Espero que te sirva de algo. chaoo.
  Respuesta:  Jorge Alvarado
Puedes empesar por abrir las tablas con set century on y comiensas a meter años del siglo 2000, en versiones anteriores si no me equivoco solo soporta hasta el año 2006, pero son para tablas del tipo dbase, las que todavia sobreviven son las de Foxpro 2.5 para arriba y acuerdate que dependiendo del programa que estes utilizando podras hacer un UPGRADE  a tus Tablas!!!!

Mejor piensa en emigrar a VFP 5.0 !!!!

  Respuesta:  Ahmed Bustamante
Desde Huaraz -Perú, me parece interesante tu preocupación y como bien lo señalaban anteriormente colocando SET CENTURY ON y luego ingresar las fechas a las bases de datos aparentemente es la solución correcta, pero para salvar posibles inconvenientes te recomendaría que a tus bases de datos aumentes un campo siglo el cual al ordenarse con tu campo fecha (SIGLO+FECHA) lógicamente salvarías cualquier problema ....
suerte !!!
  Respuesta:  Samuel Angel herbas Bonza
Por la largada de la respuesta, esta en el archivo resp437.txt

    Pregunta:  441 - ACTIVEX DATA OBJECT
Autor:  Esteban Bruna
Estoy creando un recordset (ADO), para llenarlo con los datos de una tabla que esta en una base de datos (sql Server 6.5), pero tengo un problema, cuando me encuentro con un dato tipo numeric, en sql server, este no almacena su real valor (su valor numerico), asi que cundo recorro el recordset para sacar los datos y me encuentro con el campo numerico no me retorna nada...

Ej: cNumero = rst.FIELDS.ITEM(´monto´).VALUE
cNumero --> me devuelve un error.

P.D.: Estoy trabajando con una tecnologia Cliente/servidor, (sql Server 6.5 y VisualFoxpro 5).

  Respuesta:  Oscar M.
Yo lo he utilizado con VisualBasic pero espero que la explicación te sirva para FoxPro. Utilizando ADO puedes hacer una referencia directa a un RecordSet usando el método OPEN, por ejemplo, la sintaxis siguiente se conecta a SQLServer:
Dim rs as New ADODB.Recordset
rs.Open "Select * from Authors","DNS=pubs;UID=sa;PWD="
Do until rs.EOF
print rs.au_lname
rs.MoveNext
loop
rs.Close
El problema que podrías tener en ese campo numérico es alguna asignación incorrecta en cuanto al tipo de campos que estas utilizando. Por ejemplo, en la base de datos podría estar como un string y al recuperarlo estás tratando de asignarlo a un campo numérico.

Espero te sea de utilidad. Saludos.

|<  <<  1 2 3 4 5 6 7 8 9 10 11  >>  >|