PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  63607 - IMPRIMIR VARIAS COPIAS DE UN REPORTE EN VF7
Autor:  Luis Francisco Piñero
Buenos dias. Tengo un reporte generado con el report form del vf 7.0 de unos recibos de sueldos, necesitaria saber como se hace para imprimir el mismo recibo 2 o mas veces. Les agradeceria si alguien puede darme una ayuda.
  Respuesta:  erick teran
seria asi
printjob
report form nombrereporte to printer
_pcopies = 3
endprintjob

    Pregunta:  63643 - ERROR AL GUARDAR ARCHIVO .PRG
Autor:  NELSON DELGADO SANMIGUEL
Cuando estoy modificando en mi archivo de proyecto un archivo .prg, al presionar "Ctrrl + S" para guardar los cambios, me aparece una ventana que dice "Denegado el Acceso al Archivo", luego le doy "Aceptar" y me aparace otra ventana que dice "Descriptor de Archivo No Valido" y se me bloquea el Visual Foxpro, me toca recurrir a "Cntrl + Alt + Del" para salir y a partir de ahi mi ejecutable (.exe) no llena la pantalla completa y peresenta problemas de ubicación de objetos en pantalla. Otra cosa cuando esto sucede me toca resetear el equipo para poder volver a restablecer el ejecutable y que ruede bien la aplicación.. Les ruego su valiosa ayuda por que dos (2) veces me ha sucedido y la unica forma en que he podido solucionarlo es formateando el Disco Duro y reinstalando el VFP . . . Se pueden Imaginar, en este momento me esta pasando lo mismo. A que se debe este problema?
  Respuesta:  hancito2003
Hola.-

Grave problema tienes.

Trata de observar algunos detalles a ver si esto te resuelve el problema:

1.- Verifica la caducidad de tu antivirus o instala uno bueno, porque todo indica que tu computador debe tener virus. Ejecuta tu antivirus.
2.- Verifica las carpetas donde tienes instalado el fox y el ejecutable, posiblemente existe algo bloqueado con READONLY (solo lectura). Coloca todo como archivo y quitales el atributo de solo lectura.
3.- Busca archivos ocultos en tus carpetas y verifica la validez de que el fox utilice estos archivos realmente, de no ser asi, eliminalos.
4.- No ejecutes tu fox atraves de los accesos directos existentes, crea nuevos accesos directos porque existen virus que crean accesos directos con vinculos ocultos para invocarse primero ellos antes de ejecutar dicha aplicacion.
5.- Obviamente, tambien tendras que re-instalar tu fox despues de lidiar con la parte del virus.
6.- Ejecuta tu aplicacion desde el mismo fox antes de hacerle cambios y no utilices teclas de acceso rapido hasta tanto no verifiques esto de los virus, ya que estos tambien tienden a modificar desde el windows las teclas de acceso rapido, asi que para salvar, en vez de CTRL+S, simplemente MENU-SALVAR, igual para las demas funciones.

Suerte.-

    Pregunta:  63691 - VISUAL FOXPRO 9 Y ODBC. ERROR EN SQLEXEC
Autor:  David Segura
Hola, me he perdido tratando de ejecutar codigo para recuperar un valor, en este caso necesito saber cuantos registros tiene una tabla, muestro el codigo:

1.- utilizando SQLEXEC, me dice que no reconoce el Cursor: MiCursorN:
creando el cursos puedo acceder con Select en cualquier momento, pero me vota un error

nReg=SQLEXEC(oConexion,'select COUNT(cod) from InvTemp','MiCursorN')

2.- lo mismo pero con:
oConexion.Execute("insert into InvTemp (cod,can) values('" + codigo + "', '" + descrip + "')",oConexion)

donde oConexion es una cadena que se conecta via ODBC a sql server, sin problema por que ya he provado otro codigo,

La tabla InvTemp, de hecho la creo más arriba y le inserto registros: eso sin problema, pero ahora trato de saber cuantos registros hay y...ta tan...ERROR, no veo donde esta, me ayudais?
  Respuesta:  Guadalupe Leija
*Porque no utilizas el código simplemente:

SQLEXEC(_oconnect,"select campox from tabla","_Temporal")

*luego solo utilizas RECCOUNT()

regsitros=RECCOUNT("_Temporal")

* espero te sirva

    Pregunta:  63786 - LENTITUD EN ACCESO A BASE DE DATO EN RED DOMESTICA EN WINXP
Autor:  Javier Peru
Amigos

Alguien me puede ayudar. Tengo un problema de velocidad de acceso a bases de datos compartidas en una red domestica en windows xp (3 pcs). Cada vez que 2 o las 3 pcs hacen uso de la base de datos y sobre todo en consultas en bloque, las pcs que no almacen la bases de datos se comportan de una manera insoportable con respecto al tiempo de respuesta.... Sino fui muy claro en mi pregunta se los grafico en un ejemplo.

pc1: win xp sp2, vfp6, *.prg, bases de datos (dbf)
pc2: win xp sp2, vfp6, *.prg
pc3: win xp sp2, vfp6, *.prg

cuando 2 pcs, ej pc1 y pc2 estan usando el sistema desarrollado en *.prg y ambas pcs estan usando las consultas en bloque con el comando

define popup tabla from 00,00 to 20,64 prompt field nropar+' '+str(cantid,4)+' '+descripcion+' '+trans(precio,'##,###.##')

@21,50 get cc popup tabla size 10,54 function '&T'
@37,02 get bb function '* Movimiento; Salir' size 2,12,1
read

como comando y en red esto funciona muy bien siempre y cuando 1 sola pc este haciendo uso de las consultas pero, cuando 2 cps hacen la misma consulta y usan la misma base de datos la pc que no tiene la base de datos (ej, pc2) se vuelve insoportbale y se queda como colgada reaccionando esta despues de unos 60 segundos aprox.

Favor,si alguien me pude brindar una yuda se los agradecere infinitamente....

Gracias
  Respuesta:  hancito2003
Hola.

Como accesas a las demas pc?
Si lo haces atraves de accesos de red \pc1mi carpetamis dbf, entonces tienes problemas con la configuracion que utilizas, ya que este metodo realmente es muy lento y no siempre funciona.

Lo ideal es MAPEAR la pc que te sirve como servidor desde las otras con una unidad, es decir, despues que haces el MAPEO, tienes que asignar una unidad a la red para poder accesar a ella: \pc1mi carpetamis dbf = w:
Esto se hace con right-click sobre MI PC, seleccionas CONECTAR A UNIDAD DE RED, y desde ahi ya todo es facil.

luego que tienes esta unidad mapeada, solo tienes que accesar como un disco duro local comun y corriente: w:mi carpetamis dbf

Estoy seguro de que esto te ayudara con la velocidad. A la hora de MAPEAR una pc, quizas tengas que conceder privilegios de administrador, si el servidor esta bloqueado por contraseña, pero puedes dejar la clave de forma definitiva y asi solo accesas la primera vez con clave.

Otra cosa, antes de que P2 y PC3 intenten conectarse a tu programa, PC1, que es la que contiene las DBF, debe estar encendida, si intentan accesar a PC1 estando apagada y luego la encienden, es necesario hacerle un REFRESH a la unidad mapeada desde cada computador. Para esto solo es entrar al icono de MI PC y darle doble click a la unidad de acceso al sistema.

Espero te ayude.-

    Pregunta:  63856 - ERROR DE MEMORIA EN FOXPRO DOS 2.6
Autor:  micaela ramirez
Tengo un error al abrir un proyecto en foxpro para DOS 2.6 , me marca "Falta memoria" no se de que se trata obviamente mi maquina tiene suficiente memoria, alguien puede darme una pista¿
  Respuesta:  erick teran
has intentado cambiar el config.nt si es xp para decirle
lines=88
buffer=88
?

    Pregunta:  63867 - NO ACTUALIZA TABLAS MYSQL
Autor:  Paul Martinez Navarro
cod=trim(thisform.text2.value)
nom=thisform.text1.value
ced=thisform.text3.value
are=trim(thisform.text5.value)
usu=thisform.text6.value
cla=thisform.text7.value
tel=thisform.text8.value
cel=thisform.text9.value
adre=thisform.text10.value
ema=thisform.text11.value
bir=thisform.text12.value
fo=thisform.image1.picture

CURSORSETPROP("Buffering",5)
update vis_maestros set nombre=nom where codigo=cod
update vis_maestros set cedula=ced where codigo=cod
update vis_maestros set area=are where codigo=cod
update vis_maestros set usuario=usu where codigo=cod
update vis_maestros set clave=cla where codigo=cod
update cursor1 set birthay=bir where codigo=cod
update vis_maestros set direccion=adre where codigo=cod
tableupdate()
wait windows "Registro Modificado" nowait

El anterior es parte del codigo de actualizacion para tablas Mysql desde VFOX. Mi problema es que no me actualiza las tablas, el cursor cambio pero a lo que cierro la aplicacion y vuelvo a consultarla, ya sea desde MYSQL o desde VFOX, no se graban los cambios. QUE ME FALTA?

Agradezco la ayuda.
  Respuesta:  Javier Caballero
Buenas Paul,
Podrias probar por favor al final, en el tableupdate() cambialo por tableupdate(.T.) para forzar el gravado.

Saludos,

Javier
Asunción - Paraguay

    Pregunta:  63876 - LIBRERIAS VFP9 PARA EJECUTABLES
Autor:  Paul Martinez Navarro
EStoy trabajando en Visual Foxpro 9 recientemente, dado a que antes trabajaba en visual foxpro 6. Generaba mis ejecutables y lo copiaba en computadores junto con los archivos de librerias vfp y me funcionaba correctamente.
Quiero saber ahora que trabajo en VFP9 que archivos librerias de3bo copiar al computador destino para que funcionen mis aplicaciones sin necesidad de instalar VFP9 en cada maquina?
Por favor ayudenme urgente con esto.
  Respuesta:  Mario Rodriguez
respondida en pregunta 55580

msvcr71.dll
gdiplus.dll
vfp9r.dll
vfp9t.dll

Archivos de Idiomas

vfp9renu.dll - Inglés
vfp9resn.dll - Español

msxml3.dll

se guardan en system 32

Ahora si estas trabajando con 64 bits no hay system 32 los guardas en la misma carpeta de tu aplicación.

Ten cuidado con el idioma si usas idiomas distintos en programacion y en tiempo de ejecución al usar variables como "cmonth()" cday() te cambia el nombre de los meses o dias y te va a dar lata el programa.

Espero te sirva.

:-D

    Pregunta:  63879 - COMPARACIÓN FECHA
Autor:  Isa
Tengo un inconveniente al comparar fechas que estan incluida en un tipo objeto

fr0 = THISFORM.txtfec.VALUE
fr1 = CTOD(DTOC(THISFORM.txtfecr.OBJECT.VALUE))
IF fr1 >= fr0
WAIT WINDOW NOWAIT " LA FECHA DE REQUISICION DEBE SER MENOR O IGUAL A LA FECHA DE REMISION "
THISFORM.txtfecr.SETFOCUS
THISFORM.txtfecr.ENABLED =.T.
ENDIF

Cuando la fecha es igual se presenta error y a mi parecer el comparador esta bien.

Le agradezco su ayuda ISA
  Respuesta:  Jose Maria Vilar
1. En el inicio del formulario tengo definido lo siguiente

public v_fecha_d,v_fecha_h

v_fecha_d = DATE()-DAY(DATE())+1
v_fecha_h = date()

con lo que le pongo a cada olecontrol el rango de fechas que deseo
inicialmente

2. en el olecontrol de cada una le establesco el nombre correspondiente
en CONTROLSOURCE = "v_fecha_d "al primero y "v_fecha_h" al
segundo

3.- en el LOSTFOCUS del segundo va lo siguiente

v_fecha_d = thisform.fecha_desde.object.value
v_fecha_h = thisform.fecha_hasta.object.value

do case
case v_fecha_h < v_fecha_d
=messagebox("La Fecha debe ser MAYOR o IGUAL al "+dtoc
v_fecha_d),"Error de Ingreso")
return
endcase

Cualquier cosa si no te sale escribime y te envio una muestra

    Pregunta:  63921 - MANDAR MAIL CON ARCHIVO (INFORME EN PDF) DESDE UN BOTON
Autor:  Marcos azzano
Hola quisiera saber como mandar un mail desde VFP9 con un archivo adjunto o haciendo click en boton me habra el outlook ya con el archivo adjutado. Gracias
  Respuesta:  Juan Dietz
********************************************************************************
*** Mandar un mail, recibe el texto y la ruta del archivo a enviar
********************************************************************************
FUNCTION Enviar_Mail(mC_Comentario, mC_Archivo)
DECLARE LONG InternetGetConnectedState IN "wininet.dll" ;
LONG lpdwFlags, LONG dwReserved
IF InternetGetConnectedState(0, 0) = 1 &&si hay conexion a internet
loCfg = CREATEOBJECT("CDO.Configuration")
WITH loCfg.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.live.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" &&Cambiar por tu cuenta
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" &&Cambiar por tu cuenta
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = .T.
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = .T.
.Update
ENDWITH
loMsg = CREATEOBJECT ("CDO.Message")
WITH loMsg
.Configuration = loCfg
.From = "[email protected]"
.To = "[email protected]" &&Cuenta destino
IF !EMPTY(mC_Archivo) &&ruta del archivo
.AddAttachment(mC_Archivo)
ENDIF
.Subject = "hola" &&Asunto
.TextBody = mC_Comentario
.Send()
ENDWITH
**********
ELSE
MensajeNoWait('Sin Conexion a Internet')
ENDIF
ENDFUNC

    Pregunta:  63937 - PROBLEMAS CON EL PREVIEW DE UN INFORME EN FOXPRO
Autor:  Pedro Romero
Hola, mi problema es el siguiente:
Realizo el preview de el informe XXX (dentro de un boton)
report form "Ruta de XXX" preview
Pero cuando aprieto el boton no me muestra el preview
Queria saber si esta oculto y si existe alguna manera de mostrarlo en pantalla al apretar el boton.
Desde ya, muchas gracias.
  Respuesta:  Jose Maria Vilar
Si entendi bien el problema lo que tenes que poner es

REPORT FORM "nombre del reporte" TO PRINTER PROMPT preview

Esto hace que la impresión salga previamente en pantalla y luego selecciona si la desea imprimir

|<  <<  134 135 136 137 138 139 140 141 142 143 144  >>  >|