PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  50668 - PROTEGER UN SóLO CAMPO DE UNA TABLA DBF
Autor:  Martha Silvia
Hola, estoy trabajando con algunas tablas de las cuáles deseo q el usuario o capturista pueda modificar ciertos campos de dicha tabla. Pero tengo un campo muy importante que es mi llave y mi campo principal, ése no se deberá modificar por ningún motivo. Hay alguna opción q me proteja éste campo??? Gracias por su ayuda
  Respuesta:  Angel Hernandez
Si estas presentando los datos en un GRID lo que puedes hacer es ir a las propiedades de la columna que conitene los datos que te interesan y colocas el objeto a solo lectura y todos los demás a lectura y escritura.

Saludos!!!

    Pregunta:  50960 - TABLA E INDICE NO COINCIDEN
Autor:  alberto alvares
que tal mi pregunta es la siguiente, tengo una aplicacion multiusuario en vfox-pro 7, y hace poco me ha salido el sig. error,grabo en una tabla la factura y en otra tabla el detallado de la misma, sucede que hace poco solo me guarda el detallado y si voy a la tabla de la factura esta no fue guardada y no marca ningun error al grabar, pero si trato de agregar manualmente el folio de esa factura que no se gravo me maca un error de indice repetido, osea como si en el iindice de esa tabla si estubiera el folio pero en la tabla no, y tengo que reindexar la tabla para que me permita agregar ese folio de esa factura qque no se grabo, a que se debe que este ocurriendo esto, aclaro que mis formularios estan abiertos con sesion privada de datos y mis tablas estan con buffer=5 (blokeo optimista de tablas) de antemano gracias por su aayuda
  Respuesta:  Jose Amilcar Sauceda
Hola,

Lo que estas teniendo es un problema de indices, tenes que utilizar un reindex para volver a generar los indices porque cuando le das browse a la tabla, se te mostrara los datos ordenados segun el indice, ya sea de un archivo IDX o CDX y si en estos indices hay menos registros existentes que en la tabla solo te mostraran los que el indice contiene registrados, si en caso de reindexar no te arregla nada, borra los indices y volvelos a crear, verifica que el bufer este en OFF y exclusiva la tabla para hacer esta operacion

    Pregunta:  50995 - CONSULTA EN UNA TABLA MEDIANTE EL CONTENIDO DE UNA VARIABLE
Autor:  Daniel Riveros
Hola tengo un pequeño problema con variable
en unas variables tengo almacenado el nombre de unatabla y el campo
EJM VARIABLE1=TABLA.NOMCAMPO
VARIABLE2=TABLA2.NOMCAMPO2

intento utilizar un locate para la consulta ya que no puedo utilizar el nombre de la tabla ni del campo directamente porque es una importacion donde el nombre de la tabla puede ser cualquiera y los campos de las tablas los relaciono y almaceno en varibles
el problema esta cuando hago la consulta
LOCATE FOR VARIABLE1=VARIABLE2
si lo utilizo asi me toma el contenido de las variables y compara tabla.nomcampo=tabla2.nomcampo intente cambiando
VARIABLE1=\"&\"+TABLA.NOMCAMPO
VARIABLE2=\"&\"+TABLA2.NOMCAMPO2
PARA VER SI TOMAVA EL VALOR DENTRO DE TABLA.NOMCAMPO Y NO TOMARA TABLA.NOMCAMPO COMO EL CONTENIDO

lo que quiero decir es necesito que compara el contenido de la base de datos; la informacion y no que tome el contenido de la variable como si eso fuera lo que tuviera que comparar

si hay alguna forma de hacer esta consulta por favor necesito que me ayuden Gracias
  Respuesta:  MARVIN CALLEJAS
Tú solución se encuentra en la función de vfp:EVALUATE()
Esta función es similar a cada función de FoxPro y cada comando más eficaz. EVALUATE() se puede utilizar para devolver en alguna parte los valores de expresiones en el código excepto cuándo son expresiones de nombre see anterior necesario. Esta función normalmente se utiliza para recuperar que ordena, que filtra o que consulta información del usuario en tiempo de ejecución como se muestra en el ejemplo siguiente: cCondition="CNO='A'"
@ 2,2 SAY "Type filter condition for appending records or hit <ENTER>:";
GET cCondition VALID CHECK()
READ
USE customer
APPEND FROM customer FOR EVALUATE(cCondition)

FUNCTION CHECK
* Validation code for expressions typed
RETURN .t. && or .f.

    Pregunta:  51003 - COMO SABER SI TENGO UNA APLICACION INSTALADA
Autor:  Carlos E. Herrera
Hola que tal soy nuevo desarrollando en foxpro mi fuerte es VB me preguntaba como podria saber desde foxpro si tengo instalada una aplicacion, es decir, digamos que tengo un programa que me guarda datos a SQL Server desde un archivo plano de excel, es logico que para la lectura de la hoja de excel desde fox deve estar instalado excel en la maquina, bueno ¿Como saber o como puedo validar que este instalada el office (la aplicacion de excel) antes de ejecutar el proceso, de antemanos muchas gracias por la ayuda prestada
  Respuesta:  Leonardo Alfaro A.
Saludos y bendiciones, Carlos.
Prueba estas funciones

*----------------------------------------------------
* FUNCTION BuscaWord
* Busca si MS Word está instalado en la PC
*----------------------------------------------------
FUNCTION BuscaWord
LOCAL lcErrorAnt, loApp, CR
CR = CHR(13)
lcErrorAnt = ON("ERROR")
ON ERROR DO _MiError
loApp = CREATEOBJECT("Word.Application")
IF VARTYPE(loApp) = "O"
MESSAGEBOX("Nombre: " + loApp.NAME + CR + ;
"Versión: " + loApp.VERSION + CR + ;
"Build: " + TRANSFORM(loApp.BUILD), 64 )
RELEASE loApp
ELSE
MESSAGEBOX("Word no está instalado", 16)
ENDIF
ON ERROR &lcErrorAnt
RETURN
ENDFUNC

*----------------------------------------------------
* FUNCTION BuscaExcel
* Busca si MS Excel está instalado en la PC
*----------------------------------------------------
FUNCTION BuscaExcel
LOCAL lcErrorAnt, loApp, CR
CR = CHR(13)
lcErrorAnt = ON("ERROR")
ON ERROR DO _MiError
loApp = CREATEOBJECT("Excel.Application")
IF VARTYPE(loApp) = "O"
MESSAGEBOX("Nombre: " + loApp.NAME + CR + ;
"Versión: " + loApp.VERSION + CR + ;
"Build: " + TRANSFORM(loApp.BUILD), 64 )
RELEASE loApp
ELSE
MESSAGEBOX("Word no está instalado", 16)
ENDIF
ON ERROR &lcErrorAnt
RETURN
ENDFUNC

*----------------------------------------------------
* PROCEDURE _MiError
* Usado por BuscaWord y BuscaExcel
*----------------------------------------------------
PROCEDURE _MiError
RETURN
ENDPROC
*----------------------------------------------------

    Pregunta:  51134 - LEER EL PUERTO COM1 EN WIN XP - VFP 8.0
Autor:  Eduardo J. Galetto
Hola Gente

en la Web del programador vi un pequeño programa donde definian como leer el puerto COM1.
Definitivamente no me funciona bajo WinXP.

Yo usaria MSCOMM32.OCX para la lectura del puerto, pero necesito desarrollar una DLL por lo que no puedo utilizarla

la balanza que tengo que leer es una KRETZ Single . (Solo envia información)

(Programo en VFP 8.0 y sistema operativo Win XP)

yo estoy PROBANDO con este pequeño código:

nH = FOPEN("COM1.DOS",10)

MESSAGEBOX(nH) && es para que me duelva el numero que asigno o -1 si no pudo habrir el puerto

MESSAGEBOX(FGETS(nH,10))

= FCLOSE(nH)

pero realmente me trae porquerias. Ahora lo que mas me desconcierta es que si yo antes hago leer ese puerto (COM1) con la OCX antes mencionada, despues este pequenos PRG funciona Bien.
Me poduen dar una mano con esto.
De cualquier forma me gustaría una respuesta para saber si se recibió este correo o si me explrese correctamente..

Toda ayuda Bienvenida sea ya que necesito Confirmar si puedo desarrollar esto dentro de este fin de semana y principio de la otra.

Desde ya, mil gracias
  Respuesta:  Leonardo Alfaro A.
Eduardo, Saludos y Bendiciones.
Prueba esto, a ver si te sirve.

*Funcion que nos permitira saber que puertos tenemos en nuestra PC instalados

DECLARE INTEGER CreateFile IN kernel32;
STRING lpFileName, INTEGER dwAccess, INTEGER dwShareMode,;
INTEGER lpSecurityAttr, INTEGER dwCreationDisp,;
INTEGER dwFlagsAndAttr, INTEGER hTemplateFile

DECLARE INTEGER CloseHandle IN kernel32 INTEGER hObject

FUNCTION TestPort (lcPort)
#DEFINE OPEN_EXISTING 3
#DEFINE GENERIC_READ 2147483648 && 0x80000000
#DEFINE FILE_FLAG_OVERLAPPED 1073741824 && 0x40000000
#DEFINE INVALID_HANDLE_VALUE -1

LOCAL hPort
hPort = CreateFile (lcPort, GENERIC_READ, 0,0,;
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)

= CloseHandle(hPort)
RETURN (hPort INVALID_HANDLE_VALUE)

&&--TESTEAMOS CADA UNO DE LOS PUERTOS
? "Testing port COM1:", TestPort("COM1")
? "Testing port COM2:", TestPort("COM2")
? "Testing port COM3:", TestPort("COM3")
? "Testing port COM4:", TestPort("COM4")

WAIT wind "Testing port COM1:", TestPort("COM1")

    Pregunta:  51174 - AGREGAR COMENTARIOS ENCIMA DE BOTONES
Autor:  David Lopez
Hola me gustaria saber como agrego un comentario o ayuda cuado paso el mouse encima de un boton. Algo q diga como "Boton para cancelar" ..

Gracias
  Respuesta:  Stalin Plaza
tienes q poner en tu formulario la propiedad showtip en .t. y el comentario lo debes poner en la propiedad toolstip...de tu boton, cuadro texto o lo que sea ...
  Respuesta:  José Gabriel Sánchez Taya
Hola mi estimado David.
-Lo primero que debes hacer es seleccionar el boton.
-ir a la ventana de prodiedades y seleccionar la propiedad
"Tooltiptext".
-Digitar el mensaje que deseas.
-luego ir a la propiedad "show tips" del formulario y cambiar .f. por .t.
y listo!!!!!!
Buena suerte Feliz Navidad Y venturoso año 2007.
Bye.

    Pregunta:  51397 - MOSTRAR NUMEROS CON PUNTOS Y COMAS DECIMALES
Autor:  jose garcia
al imprimir un reporte los totales no aparecen con los puntos cada tres digitos y la coma en los decimales... si alguien me puede ayudar se los agradezco.
  Respuesta:  Gonzalo Pérez Castro
Das doble click en el campo del reporte que quieres configurar y te aparece la pantalla de Expresión de Informe; donde dice formato escribes 999,999,999.00, dependiendo del número máximo que vayas a imprimir.

Otra razón puede ser que en el Panel de Control, en la Configuración Regional y de Idioma, en la pestaña Opciones Regionales, en Estándares y Formatos no tengas Español México; chécalo.

    Pregunta:  51427 - IMPRIMIR LINEAS DOBLES EN INFORMES
Autor:  Daniel Riveros
Hola tengo un problema con un informe el cual debe sacar todo el nombre de un item; Si tengo un producto el cual su nombre sobrepasa los 25 caracteres el resto de caracteres se pierde y no se visualiza en la pantalla lo que quiero es una opcion como si se le diera un enter y continuara en la siguiente linea intente escribiendo el nombre del campo y utilice el siguiente codigo SUBSTR(nombre,1,26)+CHR(13)+CHR(10)+SUBSTR(ALLT(nombre),27,LEN(ALLT(nombre))-26) para ver si asi continuava el texto pero no me funciono entonces quiero saber si hay algun codigo mediante el cual pueda hacer que se amplie la caja de texto o algo para que esto me funcione

tambien amplie la caja de texto manualmente el problema es que si hay un nombre corto entonces va a quedar un espacio en blanco

Gracias por la ayuda que me puedan brindar
  Respuesta:  Gonzalo Pérez Castro
Es muy simple, solamante debes activar la casilla de Verificación que dice Ajustar al Contenido del Texto, en la pantalla Expresión de Informe que aparece cuando das doble click en el campo de salida.

Posiblemente deberás poner flotantes las líneas que tengas debajo de los campos, para que no se atraviesen en el texto.

    Pregunta:  51453 - LA TABLA NO ESTA EN FORMA EXCLUSIVA. NO ELIMINA REGISTROS
Autor:  Fernando Gallardo
Hola Amigos!!!
Estuve leyendo sus respuestas pero no encuentro la que busco, yo se que en los FORM para eliminar un registro fisicamente se usan el DELETE y el PACk pero resulta que me surge un problema porque me pide que la tabla este en forma exclusiva y de este trabajo tengo que hacer un ejecutable (eso si se) pero no lo puedo dejar con el borrado logico..como hago para borrarlos de ambas formas logica y fisicamente? desde ya les agradesco y por favor denme una respuesta que la necesito
  Respuesta:  Leonardo Alfaro A.
Utiliza instrucción SQL.
DELETE FROM <NameTabla> WHERE <Condicion>

Ejemplo:

BEGIN TRANSACTION
DELETE FROM Facturas WHERE NumFac='123456789'
END TRANSACTION

Bendiciones...

    Pregunta:  51489 - BACKUPS DE BD DESDE VISUAL FOX
Autor:  agustin piovano
buenas gente, agradeceria si alguien puede ayudarme a ver en que forma puedo hacer backups de mis bases de datos desde un programa diseñado en visual foxpro. desde ya muchas gracias
  Respuesta:  Leonardo Alfaro A.
Saludos y bendiciones, Agustín.

Puedes hacer backups con winzip desde Visual Foxpro 9.0.

Consulta esta página en Internet y Descarga una clase que está allí.
http://www.galeon.com/tortugaproductiva/zip.html

|<  <<  109 110 111 112 113 114 115 116 117 118 119  >>  >|