PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  65680 - NO PUEDO VALIDAR MEDIANTE SEEK
Autor:  Miguel Arre
Hola a todos, tengo un formulario para dar de altas a vendedores y necesito validar que los datos que el usuario vaya tipeando no esten ya ingresados, en el codigo siguiente (que escribi en el evento VALID de la Textbox)el dato a validar/verificar es el n° de documento(DNI) :

select revvf
PUBLIC mdni
mDNI= val(STR(thisform.txtDni.Value))

SET ORDER to DNI1 && DNI

SEEK mDNI

IF FOUND()

=MESSAGEBOX("Este N° DNI ya se uso para otra revendedora",64,"Error")
RETURN

THIS.SetFocus

endif

Sin embargo, cualquier n° que se ingrese dispara el mensaje de error, aunque no figure en la tabla, me sabrian decir donde está el error? Gracias
  Respuesta:  Javier Caballero
Hola, podrias darme mas detalles del error que te da, y tambien detalles de la estructura de tu indice, yo creo que por ahi esta el problema.

saludos,

Javier
Asunción - Paraguay

    Pregunta:  65845 - SEMANAS TRANSCURRIDAS ENTRE DOS FECHA
Autor:  Arnoldo Chavarria
Hola , A todos , la pregunta del Millon es la siguientes , como se pude hacer una rutina en Visual fox Pro 9 que permita calcular las semanas transcurridas entre dos fechas, tomando en cuenta que algunos años tiene 53 semanas , por ejemplo cuantas semanas han transcurrido del 05/11/2009 a 20/02/2010
el año 2009 tiene 53 semanas., ya he encontrado preguntas para sacar años , dias , horas , segundo, usando la funsion WEEK pero no encuentro una formula o funsion que me permita calcular las semnas transcurridas grasias por ayudarme , le agradeceria si me ayudan en este tema
  Respuesta:  Jose Maria Vilar
Bueno, no se si te servira pero por lo menos probalo y me comentas si es otra cosa

a= CTOD("20/02/2010")
b= CTOD("05/11/2009")
d= ( VAL(SYS(11,a)) - VAL(SYS(11,b)) ) / 7 && obtenes dias julianos

?INT(d) && cantidad de semanas
?? " Semanas"
??INT(ROUND((d-INT(d))*7,2)) && dias restantes
?? " Dias "

    Pregunta:  65878 - VALIDAR INGRESO DE DATOS EN GRID
Autor:  Maynor Alvarez
Como puedo hacer para validar los datos que se modifican en una columna en un grid creado por programacion, el cual recibe los datos de una tabla,
Por ejemplo la celda de la columna recibio 200 y al modificarla deseo que solo puedan ingresar un numero igual o menor y no un numero mayor en este caso a 200, y que esto sea para todas las filas del grid.
  Respuesta:  Jose Menarguez
Hola. Debes usar el metodo valid del cuadro de texto de la columna del Grid.
Ahi pones el codigo de validacion.

Saludos

    Pregunta:  65908 - TIPOS DE DATOS EN CUADROS DE TEXTO
Autor:  Joel Duran
Hola Foro!, Gracias a sus respuestas he avanzado un poco en mi aprendizaje de VFP. Pero esta pregunta me sigue dando problemas:

En una tabla tengo campos con diferente tipo de datos, la mayoría de tipo Currency, aunque tambien hay numericos y de fecha.

Mi problema es que no se manejar las propiedades para cuadros de texto en un formulario, y al intentar guardar en la tabla lo que capturo en el formulario, me sale el mensaje de Data type missmatch.... imagino que es porque me falta agregar alguna propiedad o metodo a los cuadros de texto para que se adapten al tipo de datos que almacenan los campos de mi tabla.

como ejemplo, tengo un campo clave, que debe ser numérico. y otro campo monto que debe ser currency. ¿cómo debo dar las propiedades a los cuadros de texto respectivos? Intenté con Input Mask, pero al ejecutar el formulario, no me deja seleccionar el cuadro de texto (aunque si aparece como "enabled") ya que al dar clic para introducir un número, el cursor pasa rapidamente al siguiente cuadro de texto..

Gracias por su ayuda!
  Respuesta:  claudio
Data type Mism. significa distinto tipo de dados, es decir estas intentando colocar un dato alfanumerico en uno numerico o viceversa. tenes que definir antes los campos en las tablas como numeros o alfanumericos y para trabajar con el input mask, te recomiendo ver en el command de visual, help input command, inputmask propierty

    Pregunta:  65929 - IMPRIMIR PANTALLA
Autor:  daniel sica
Estimados, necesito si me pueden dar una mano para resolver el siguiente tema:

Tengo un formulario que se rellena en pantalla con datos desde varias tablas y necesito imprimir lo que veo en la pantalla.
Hay alguna aplicacion que me imprima la pantalla tal cual la veo , o no tengo mas remedio que generar un reporte con los datos a imprimir.
  Respuesta:  Mario Rodriguez
** encontre un codigo no me acuerdo en donde pero lo he utilizado
el codigo no es mio lo encontre en algun foro hace tiempo

en el form creo un metodo que se llame print_pant con el siguiente codigo
*************************** ********
Lparameters tnHWnd, tcJobName
*
Local lcJobName && Nombre de la tarea de impresion
Local lnRetVal && Valor de retorno de las funciones del API

Declare Integer PrintWindow In DibApi32 ;
INTEGER HWnd, ;
INTEGER fPrintArea, ;
INTEGER fPrintOpt, ;
INTEGER wxScale, ;
INTEGER wyScale, ;
STRING @ szJobName

*!* PW_WINDOW para imprimir la ventana entera
*!* PW_CLIENT para imprimir el area cliente
*!* Como ajustar la imagen
*!* PW_BESTFIT se ajusta al papel pero se mantienen las proporciones
*!* PW_STRETCHTOPAGE se ajusta para cubrir totalmente el papel pero distorsiona las proporciones
*!* PR_SCALE escala el tamaño de impresion

#Define PW_WINDOW 1
#Define PW_CLIENT 2 &&2
#Define PW_BESTFIT 1
#Define PW_STRETCHTOPAGE 2
#Define PW_SCALE 3&&3

lcJobName = tcJobName + Chr(0)
*lnRetVal = PrintWindow( tnHWnd, PW_CLIENT, PW_BESTFIT, 0, 0, @lcJobName)
lnRetVal = PrintWindow( tnHWnd, PW_window, PW_BESTFIT, 0, 0, @lcJobName)
If lnRetVal != 0
If lnRetVal != 6 && 6 = El usuario cancelo la impresión
= Messagebox("Imposible Imprimir la ventana" + CRLF + ;
"PrintWindow API retorno " + Str(lnRetVal), ;
MB_ICONEXCLAMATION + MB_OK, ;
"ERROR")
Endif
Endif

***** para esto hay que poner unos dll en el system32

dibapi32.dll
difxapi.dll

***luego cree un boton con la siguiente instruccion en el click :

Thisform.print_pant(GetFocus(), "Imprimiendo ...")

**** la palabra imprimiendo es el nombre con el que sale mi archivo

**** de hecho yo le pido lo mande a un pdf para tener la pantalla

***** no se si falte algo si te falta algo me avisas y te mando mi form.

saludos
:-)

    Pregunta:  65974 - BLOQUEAR PROGRAMA ATRAVEZ DE LA FECHA DEL SISTEMA
Autor:  oscar cabrera
Buenas noches, me gustaria crear un programa que permita verificar la fecha del sistema operativo en Windows y hacer que el programa se bloquee en determinada fecha al igual pedir al usuario que ingrese una clave para poder continuar usandolo si el usuario no ingresa la clave el programa pueda borrar el contenido de los prg y borrar todas las bases que utilize para su funcionamiento, practicamente dejar los prg vacios y borrarlos junto con sus bases de datos, ¿ Habra alguna forma de programar algo asi?
  Respuesta:  carlos mupe
Siempre es posible programar lo que sea, lo importante es saber realmente cual es tu necesidad de hacer esto, me imagino que necesitas que un programa deje de funcionar despues de pasado un tiempo, algo asi como un trial, te recomiendo que manejes esta informacion en una tabla de fox y que no dependa de la fecha de windows esto ya que si el usuario cambia la fecha "la retrocede intencionalmente" tu control dejara de ser valido y el usuario habra "jackeado tu sw", en sintesis te recomiendo usar una tabla con un contador diario, es decir le dare 30 ingresos al sistema por ej, cuando se cumpla el 31 el programa dejara de funcionar.

    Pregunta:  65995 - CAMPO MEMO EN VFO Y MYSQL
Autor:  Carlos Huglich
Hola
Tengo un sistema funcionando correctamente en VFP9 y los datos en MySQL, y el problema se me presento ahora con una tabla en MySQL que tiene un campo definido como LONGTEXT, al realizar una consultya com SQLEXEC() me retorna bien un cursor, pero me corta el campo ese en 255 carácteres y ese es un campo que tiene mas cantidad de datos en mi BD.-

Para guardar no hay problema, me graba bien la cantidad de caracteres que le cargue, ahora cuando los recupera el VFP me lee solo 255.-

No encuntro como decirle que me lo cargue todo.-

Desde ya muchas gracias
  Respuesta:  Guadalupe Leija
Me sucedía algo parecido hasta que inserte "Edit Box" en lugar de "Text Box" en los formularios y con esto corregí este problema, ojala te funcione.

    Pregunta:  65997 - IMPRIMIR DESDE FOXPRO 2.6. D.O.S. EN PUERTO USB
Autor:  Guillermo
Hola , necesito imprimir desde foxpro 2.6. para D.O.S. pero corriendo bajo windows XP en una impresora USB. Como el puerto es posterior y tal vez no exista un comando, si alguien sabe la forma de llamar al panel de impresión y así elegirla y direccionarla. El comando set printer on o set printer to, anda para las impresoras paralelo setedas por defecto, pero no para las USB, aunque también estén configuradas por defecto.
Gracias
  Respuesta:  Guillermo
Jose, recordé la forma de direccionar a un .txt, te lo paso, tal vez te sirva:

report form ventas to ventas.txt
! notepad ventas.txt

! = RUN, ejecuta un programa externo.

Obviamente debes tener generado previamente el reporte con la herramienta create report del fox.
Una vez que lo tenes en el notepad, podes hacer lo que quieras con la impresión, PERO OJO que también podes modificar contenido.

Saludos
Guillermo
  Respuesta:  guillemo
Gracias Jose por responder. Lo pruebo y te cuento.
Otra pregunta, tenes idea como direccionar un reporte a un archivo??
Por ejemplo, uso la siguiente instrucción para imprimir:

report form ventas

Mi idea es ese archivo ventas, direccionarlo por ejemplo a un archivo ventas.txt, porque despues desde el mismo fox, lo llamás a través del notepad y ahi ya tenes control del panel de impresión, es mas sencillo. En algun momento lo había hecho pero no recuerdo como mandar la impresión a un .txt
Saludos y gracias
Guillermo
  Respuesta:  Jose Menarguez
Hola. Yo solucione ese problema con un programa que captura las impresoras usb o paralelas y te permite imprimir desde D.O.S.
Se llama DOSPRN. Ademas te permite configurar margenes, tamaños de hoja, tamaños de letra, etc.
Pruebalo
Saludos

    Pregunta:  66044 - ERROR FEATURE IS NOT AVAILABLE AL CORRER APLICACION
Autor:  Milton Mercado de Avla
Hola, me esta saliendo este error recientemente al ejecutar una aplicación, sale al cargar la aplicación y al darle ignorar la deja correr. Al compilar la aplicación me dice que el código no tiene errores y no se por donde empezar para resolver el problema. la aplicación corre perfectamente, pero es molesto ese mensaje al inicio y no se a que se refiere y por lo tanto como corregirlo.
si alguien tiene indicios de como resolver o de que se trata, favor indicarmelo.

programa generado en vfp9
compilado con BUILD.EXE
  Respuesta:  Eduardo Ureña
Probablemente un suspend o cualquier otro comando que se utiliza para depurar el código y que al momento de crearse el ejecutable no tiene sentido.

Revisa el código... a la larga es algún "suspend" que dejaste por ahí olvidado. :-)

Saludos

Eduardo

    Pregunta:  66125 - NOMBRES DE MAS DE 8 CARACTERES
Autor:  Roberto Patron
Necesito crear un archivo de texto con nombre de 20 caracteres desde Foxpro 2.6, alguna idea? Genero el nombre y me lo corta en los primeros 8, si me respeta la terminacion xml el

tengo archivodest='dasxml84130_C_PAZR670822TX6.XML'
set prin to &archivodest
y al final me genera el archivo xml con nombre 84130_C_.xml me corta el resto de los caracteres

Saludos de nuevo y gracias,

Roberto.
  Respuesta:  Luis Luis
Hola se me ocurre que generes el archivo con un nombre corto tipo aa.xml y despues uses run para cambiar el nombre algo tipo RUN "Rename aa.xml dasxml84130_C_PAZR670822TX6.XML"

|<  <<  136 137 138 139 140 141 142 143 144 145 146  >>  >|