PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  61025 - ¿COMO APLICO TRANSPARENCIA A UN FORMULARIO?
Autor:  Rebe Fortín
Hola.. Alguien podria decirme como puedo hacer qe un formulario se haga transparente de poco en poco? Por favorr!! Gracias! =)!
  Respuesta:  Juan
*pega este codigo en el init

IF thisform.ShowWindow = 2 .and. thisform.showInTaskBar = .F.
DECLARE INTEGER SetLayeredWindowAttributes IN win32api;
INTEGER HWND, INTEGER crKey, INTEGER bAlpha, INTEGER dwFlags
DECLARE INTEGER SetWindowLong IN user32.DLL ;
INTEGER hWnd, INTEGER nIndex, INTEGER dwNewLong
DECLARE INTEGER GetWindowLong IN user32.DLL ;
INTEGER hWnd, INTEGER nIndex
****************************
#DEFINE LWA_COLORKEY 1
#DEFINE LWA_ALPHA 2
#DEFINE GWL_EXSTYLE -20
#DEFINE WS_EX_LAYERED 0x00080000
LOCAL lnFlags
lnFlags = GetWindowLong(thisform.HWND, GWL_EXSTYLE) &&Gets the existing flags from the window
*thisform.nFlags = lnFlags
lnFlags = BITOR(lnFlags, WS_EX_LAYERED) &&Appends the Layered flag to the existing ones
SetWindowLong(thisform.HWND, GWL_EXSTYLE, lnFlags) &&Sets the new flags to the window
SetLayeredWindowAttributes(thisform.HWND, 0, 0, LWA_COLORKEY)
WITH Thisform
.AutoCenter = .T.
.BorderStyle= 0
.Caption = ""
.Closable = .F.
.ControlBox = .F.
.TitleBar = 0
.BackColor = 0
ENDWITH
ELSE
MESSAGEBOX("La propiedad showWindow del formulario debe ser 2"+ CHR(13)+ ;
"La propiedad showInTaskBar = .F.")
endif

    Pregunta:  61027 - LLAMAR A UN PROC.ORACLE DESDE VFP CON ODBC
Autor:  Eduardo Q
Buenas....

Necesito, por favor, alguien me pase la sintaxis de la llamada a un paquete Oracle, pasandole parametros de entrada y recibiendo en variables las respuestas. La conexion a la Bd Oracle la tengo Ok y es con ODBC.

Gracias.
  Respuesta:  carlos mupe
Estimado la sintaxis debe ser igual a la utilizada en oracle, solo debes apoyarte en las funciones

STORE SQLCONNECT('nombreodbc', 'usuario', 'pass') TO ccon
IF ccon<= 0
= MESSAGEBOX('no se pudo conectar', 16, 'SQL Connect Error')
return
ENDIF
=SQLSETPROP(ccon, 'asynchronous', .f.)

Cmdo=" llamado store proc con parametros "
=SQLEXEC(ccon,Cmdo,'nombrecursor')

=SQLDISCONNECT(ccon)

select nombrecursor
scan
* recorrer
select nombrecursor
endscan

    Pregunta:  61028 - TRUNCAR NOMBRES DE VARIABLES EN VISUAL FOXPRO 7.0
Autor:  JORGE ARTURO BENITO DUARTE
Constantemente trunca el tamaño de las variables creadas en una tabla de visual foxpro 7.0
Por ejemplo primero creo la variable "tiponotrec" y después cuando hago copia de la tabla y la paso a otro equipo aparece con el nombre de "tiponot", recortandole caracteres a las variables creadas inicialmente.
cómo hago para que conserve el tamaño de laas variables
  Respuesta:  ricardo soldini
ESO PASA POR PASAR TABLAS DE UNA BD A TABLAS LIBRES QUE SOPORTAN MAXIMO 8 CARACTERES

    Pregunta:  61090 - AUTOCOMPLETAR EN FOXPRO 6.0
Autor:  alvaro cabrera
Quisiera que me ayudaran, estoy haciendo un programa en foxpro 6 y no se como colocar un combobox con una funcion de autacompletar. por ejemplo: en una tabla tengo registros como "alvaro y alejandro", si escribo en el combobox "al" que me autocomplemente segun coincida
y si escrivo "alv" me autocomplemente "alvaro" por que es el que mas coincide.
  Respuesta:  carlos mupe
debes programar en el evento onkeypress, y cuando presiones una tecla lea la tabla en cuenstion y posicione via indice en los datos

    Pregunta:  61124 - EJECUTAR EN PROCESO BAT
Autor:  luis martin
Como puedo ejecutar proceso BAT de Dos desde Visual Fox 8 y poder capturar el ERRORLEVEL que me deja el programa DOS que se ejecuta dentro de un BAT ?

Gracias
  Respuesta:  Ingrid Pazmiño
Hola Luis

Por ejemplo en un sistema de VFP que tengo, uso archivos .BAt para copiar datos de un PC a un Servidor_PC. Esto lo hago de la siguiente manera:

1. Se crea un archivo .bat el cual tiene los comandos de DOS que deseas ejecutar. Por ejemplo, supongamos el archivo c:misbatCOPIAR.BAT, el cual contiene:
cls
@echo off
echo "Enviando informacion al SERVIDOR_PC ...presione 'enter' y VERIFIQUE...!!"
pause
cd enlacecategoria
xcopy *.* /v /y /s /e \Servidor_PCd_Servidor_PCsistemacarpeta
ECHO "La conexion fue EJECUTADA..Verifique resultado...GRACIAS..!!"
pause

2. Para ejecutar este .BAT desde VFP en la forma que tengas diseñada al presionar el objeto que da la opcion debes ejecutar el siguiente comando:
RUN "c:MISBATCOPIAR"
y el sistema ejecuta lo que contiene el .bat

3. Para conocer el resultado de ERRORLEVEL busca en la ayuda de windows donde encontrarás entre otras esta manera de capturar el error:

Utilizar defined variable
Si se utiliza defined variable, se agregarán las tres variables siguientes: %errorlevel%, %cmdcmdline% y %cmdextversion%.

%errorlevel% se expande en una representación de cadena del valor actual de errorlevel, siempre y cuando no exista ya una variable de entorno con el nombre ERRORLEVEL, en cuyo caso obtendrá su valor. El siguiente ejemplo muestra cómo se puede utilizar errorlevel después de ejecutar un programa por lotes:

goto respuesta%errorlevel%
:respuesta0
echo El programa ha devuelto el código 0
:respuesta1
echo El programa ha devuelto el código 1
goto final
:final
echo Terminado.

También se pueden utilizar los operadores de comparación de operadorDeComparación de la forma siguiente:

if %errorlevel% LEQ 1 goto correcto
%cmdcmdline% se expande en la línea de comandos original pasada a Cmd.exe antes de que éste realice ningún procesamiento, siempre y cuando no exista ya una variable de entorno con el nombre cmdcmdline, en cuyo caso obtendrá su valor.

%cmdextversion% se expande en una representación de cadena del valor actual de cmdextversion, siempre y cuando no exista ya una variable de entorno con el nombre CMDEXTVERSION, en cuyo caso obtendrá su valor.

Bueno espero te ayude algo...

Suerte

    Pregunta:  61161 - COMO MODIFICAR EL OBJETO DE UN OLECONTROL
Autor:  eddy lara
Amigos podrian decirme si existe alguna forma de cambiar desde un formulario el objeto de un olecontrol, es decir cuando se incerta un olecontrol te sale un mensaje de insertar objeto con las siguientes opciones crear nuevo, crear desde archivo, crear control, cuando eliges crear desde archivo te pide una direccion y lo vinculas, es aqui que me interesa cambiar pero mediante programacion, porque mediante el menu se puede, pero es muy largo,y nada sencillo para que otras personas lo hagan
  Respuesta:  Juan L
A mí los objetos OLE me han dado bastantes dolores de cabeza, pero puedes cambiar el tamaño de un objeto OLE (yo lo utilizaba con Office) en el GotFocus del objeto. Imagínate: ThisForm.ole1.Height = 1000 y lo mismo con el Width o como quieras, pero claro te cambiarán cuando el Foco esté en el objeto.

    Pregunta:  61226 - ENVIAR MAILS CON ARCH. ADJ. EN FOX PRO 2.6W
Autor:  Ariel Sandilo
Tengo una aplicacion en Fox pro 2.6w, necesito enviar mails adjuntando archivos de Exel, que son generados con esta aplicion mediante el comando EXPORT TO &NARCH XLS.
Desde ya Muchas gracias.....
  Respuesta:  Luis A. Barrantes A
**Parametros de destino

FOR inifor = 1 to 2

IF inifor=1
strRecipient = CUR_SBPERSONAL.emailuser
Else
strRecipient = CUR_SBPERSONAL.emailjefat
Endif

strSubject = "Ingreso de un(a), Proyecto o tarea"
strBody0 = "El Sistema de TRACKING,le notifica que se generado una tarea o proyecto, "+CHR(13)
strBody1 = "Depto/Origen "+ALLTRIM(ThisForm.TAREAS.n_departa.value)+CHR(13)
strBody2 = "Dependencia" +ALLTRIM(ThisForm.TAREAS.n_DEPEND.value)+CHR(13)
strBody3 = "Asignado a " +ALLTRIM(ThisForm.TAREAS.n_Personal.DisplayValue)+CHR(13)
strBody4 = "Con prioridad"+ThisForm.TAREAS.n_PRIORIDADES.displayvalue+CHR(13)
strBody5 = "Jefatura Notificada."+CHR(13)+CHR(13)
strBody6 = "Detalle de la tarea.."+CHR(13)

strBody= strBody0+strBody1+strBody2+strBody3+strBody4+strBody5+strBody6

**Archivos Adjunto
*xarchivos="'"+GETFILE()+"'"
*theMailItem.Attachments.Add(&xarchivos) && si quieres enviar archivo adjunto
a mi me funcion perfecto, espero que te funciones

** Parametros del objeto
SBOJECT = CreateObject("Outlook.Application")
theNameSpace = SBOJECT.GetNameSpace("MAPI")
theNameSpace.Logon("sb","sb")
SBOJECT.ActiveExplorer.CurrentFolder

theMailItem = SBOJECT.CreateItem(0)
theMailItem.Recipients.Add( strRecipient )
theMailItem.Subject = strSubject
theMailItem.Body = strBody
theMailItem.Send
theNameSpace.Logoff
ENDFOR

    Pregunta:  61227 - SINCRONIZAR UN DBF BIDIRECCIONAL
Autor:  Fabricio Baldi
Hola, estoy buscando la forma de sincronizar una tabla dbf de forma bidireccional...
el principal problema es que no tengo un ID de registro, como podria utilizar el identificador de registro interno de la tabla?se puede?
ademas como tiene que ser bidireccional hay que tener en cuenta el ultimo que se modifico...

existe un programa DBF Sync pero es pago y la tabla tiene que tener un campo clave, cosa que aca no tengo...

podría hacer un trigger que guarde en otra tabla los cambios?el tema despues como los actualizo....

me estoy volviendo loco #@! jeje

bueno les paso la inquietud y espero que por favor me puedan ayudar
desde ya mil gracias!!!!!
  Respuesta:  Jose S
Hola.
Lo que creo puedes hacer es tomas tu tabla x creas una temporal esta temporal la ordenas o indexas por algo, la sinconizas con la tabla y que necesites.
Luego haces un zap de la tabla x y un append from desde tu tabla sincronizada.

No se si te peuad servir de algo

    Pregunta:  61279 - PROBLEMA CON BACKCOLOR DE VFP 9
Autor:  Jose Antonio P A
Mil disculpas por la molestia, pero tengo formularios en VFP 7 y ahora que tengo instaldo VFP 9 SP1 no me reconoce el BackColor de un pageframe que tiene varios page, a pesar de ya tener definido el código de color me aparecen los pageframes en blanco, ya he buscado soluciones pero nada, ¿ me pueden ayudar a solucionar el problema y comentarme porque sucede eso ?. Gracias de antemano
  Respuesta:  tony rengifo del castillo
fijate en la propieda themes del pageframe
esta tiene que estar en false
espero te sirva

    Pregunta:  61480 - PROBLEMAS AL ACTUALIZAR UN COMBO
Autor:  Gabriel Chavez Carrera
Por favor necesito ayuda...
Un abrazo a todos los colegas de LWP, mi problema es este... En una formulario de (Alta de Proveedores) ... Lo que pasa es que tengos varios combos, y los estoy llenandos con con tablas por ejemplo (Estados.bdf, Ciudades.dbf) Anteriormente mi problema era llenarlos, y lo hice desde el entorno de datos pero en el PROCEDIMIENTO (BeforeOpen Tables) Y ahi si puedo abrir mas de una tabla... pero eso ya lo solucioné gracias a uds... El detalle esta en que por ejemplo Si el Nombre del Estado o la Ciuadad No esta, El usuario en ese momento tendra que dar de alta La Nueva Ciudad o Estado, Y para eso en el Evento Key press de Combo Hago esto:

if lastkey() = -1
*//Se manda a llamar un formulario
do form altaciudades
endif

*// El -1 Es el codigo ASCII de F2, al ser presionado manda a llamar el Formulario para dar de alta La nueva Ciuda...

Todo va bien, abre el formulario, agrega la Nueva Ciudad, Pero al momento de Cerrar el Formulario de Ciudades, me manda un ERROR de que no se puede accesar a la tabla seleccionada, lo curioso es que actualiza los datos de la tablaCiudades...?, En el PROCEDIMIENTO INIT del Formulario AltaCiudades No abro ninguna Tabla, por que las tablas los abro cuando lleno los combos, Y como no puedo abrir 2 veces una tabla... En el Destroy Solo Pongo CLOSE DATABASES ALL

Mi problema es ese, que cuando Doy de alta una nueva Cd. Al momento de cerrar el Formulario me dice que no se puede accesar a la tabla seleccionada, y Le doy aceptar y aceptar y Hasta me desaparece el Combo... (y lo mismo pasa el De Estados), Por favor es un proyecto para de fin de curso, necesito su ayuda... Si kieren mas Detalles Con gusto se las enviaré... [email protected] , Un saludo y gracias de antemano.
  Respuesta:  Javier Caballero
Lo principal a tu problema es el lugar en el que pones en uso las bases de datos, lo correcto es hacerlo en el ENTORNO DE DATOS, de la forma en que mejor lo administres, ( BUFFERMODEOVERRIDE). Esto lo tienes que hacer en el formulario principal, en los secundarios que llamas para hacer el ADD de los registros, directamente no tienes que hacer ni un USE ni un CLOSE o algo de eso, ya que este segundo formulario tiene que asumir que las bases se encuentran abiertas.
Lo que tendrias que hacer una ves agregado el registro correspondiente, es actualizar tu combo, una idea es...

thisform.formu1.rowsource='select * from pais into cursor tm_pais'
con esto actualizaria la lista del combo...

Saludos,

Javier Caballero
Asunción - Paraguay

|<  <<  128 129 130 131 132 133 134 135 136 137 138  >>  >|