PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  2699 - COMO IMPRIMIR IN WORD.DOC DESDE VFP
Autor:  Victor F. Rodriguez
De que forma podria imprimir un documento de Word desde VFP sin tener que abrir el programa de Word?
  Respuesta:  Marcos Jara
Pruebalo con la siguiente funcion que yo realice,
Obs: debes tener la version de office´97 instalado a full, pues esta función utiliza la
programación WordBasic, o sea como los macros de Word, si da algun error es por que
el idioma de programación de WordBasic está configurado para otro idioma, yo solo
tengo la versión en ingles que es esta:
*****************************************************
PARAMETER sFileName

LOCAL oWord

oWord = CREATEOBJECT("Word.Application")

oWord.Documents.Add(sFileName, .T.)
oWord.ActiveDocument.PrintOut()

oWord.ActiveDocument.Close(0)
oWord.Quit()
RELEASE oWord
RETURN
********************************************************

    Pregunta:  2712 - PERDIDA DE DATOS DE CAMPOS MEMOS
Autor:  Lionel Pairuna
Mi problema es que cargue 200 registros en una tabla que posee varios campos memos (archivo FPT)
y al otro día no estaban. Con un visualizador de texto abri el archivo FPT y estan todos los datos, pero cuando hago un brows de la tabla, no figuran. ¿ Alguien sabe como hacer para recuperar estos datos del archivo FPT ? ¿ Por programacion o por algun utilitario extra a Visual FoxPro ?
Aparentemente se perdió la relacion que existe entre la tabla y archivo de campos memos !!!
Desde ya Gracias
  Respuesta:  Alejandro Sánchez Montes
Ese es un bug del Visual Fox Pro y esta corregido en el Service Pack 3, El error se produce cuando abres multiples instancias de una tabla con campos memo, en la primera instancia el tamaño del bloque (Blocsize)se lee adecuadamente y no hay problemas pero en las demas puede darse el caso que se abra la tabla con un tamaño de bloque de los memos diferente al que fue creado y eso te provoca la perdida de datos ya que al cerrar la instancia de la tabla que se abrio con un tamaño de bloque incorrecto esta se guarda usando el tamaño de bloque incorrecto. Para resolver esto existen algunas utilierias como el foxfix que en algunos casos te recuperan parte de la información.

Ahora, si al recuperar de un respaldo copias solamente el dbf y no el fpt o al contrario tambien puedes ocasionar que se pierdan los memos ya que se pierde la relacion existente entre los dos archivos.
  Respuesta:  JOSE SILVA
Los datos pueden estar en la tabla sino que para versos es necesario darle clik al campo memo, lo otro e, en que version estas trabajando, si es en visual al darle clik puedes ver el contenido de los memo, o que tengas establecida una relacion, pero como con campos memo?.

Suerte.
jose

    Pregunta:  2775 - ELIMINAR FILE, EDIT DE UN MENU
Autor:  Mauricio Ramírez
Como evito que en el momento de crear un menú, no me salga las opciones File, Edit. Ya que solo quiero mis opciones definidas. Además cada vez que cierro una ventana me adiciona el registro que tenga en pantalla y si ya lo habia guardado me lo repite... como evito esto.
  Respuesta:  Miguel Natividad
Hola: Te suguiero ejecutes SET SYSMENU OFF para que eliminar las opciones del menú de sistema, sin embargo, en tiempo de diseño algunas opciones se agregan a tu menú debido a que posees otras ventanas abiertas que no son de tu aplicación como: la ventana de proyectos, la ventana de comando, etc.. si las cierras desaparecen las opciones, aunque no debe preocuparte esto ya que cuando creas el EXE estas opciones no aparecen.

    Pregunta:  2803 - NUMERACIÓN DE PÁGINAS EN REPORTES.
Autor:  Ramsés Uscanga Barrientos
Quisiera saber si existe alguna forma de decirle a un informe impreso la cantidad de hojas que contiene y que numero de hoja se esta imprimiendo, algo como esto: página 1 de 10, página 2 de 10, página 3 de 10...página 10 de 10

Los comandos con los que envio a imprimir son los siguientes:

xForm = xpapp + "general\r95juram"
DEFINE WINDOW wPreveer FROM 0,0 TO 31,133 Font ´Arial´,9;
Title ´Titulo del informe´;
System Close Grow Float Zoom Color Scheme 10
Report Form &xForm Preview Window wPreveer
Release Window wPreveer

en donde xform guarda la ruta del archivo *.frx que mando a imprimir. Gracias por su ayuda
  Respuesta:  jesus alberto sanchez sarabia
Hola, compañero programador:

Hace unos meses tuve ese requirimiento y lo solucioné asi:

*/ Ejecuta este codigo antes de tu REPORT FORM */
SELE <Tabla>
REPORT FORM frNombreDeTuReporte RANGE 9000
nTotalPag = _PageNo

*/ Esta variable programala en el Report Form
* en el Footer o donde la necesites:
*/ ´Pag. #´ + alltrim(str(_pAGEno)) + ´/ ´ + alltrim(str(nTotalPag))

y te resulta: "Pag. # 1/ 10"

Ojala te sirva.
Saludos.

J. Alberto Sanchez S.
Mexico, D.F.
  Respuesta:  Nora Chauca
Hola...!!!!!

Cuando yo envio a imprimir esta variable del fox me jala el No de paginas es decir 1,2,3, _PageNo, ahora si tu deseas que aparesca 1/10 por ejm... entonces con esta variable _PageNo crea otra que acumule el total

Bye.

    Pregunta:  2854 - TENER EL TOTAL DE UN CAMPO DEL DBGRID
Autor:  Renato Parrales Montjoy
Por favor, a ver si alguien me puede ayudar .....
en un formulario que estoy diseñando para facturacion, y tengo un grid en el que voy colocando los items y quisiera que a medida que voy agregando/quitando items me muestre en un campo del formulario el total acumulado.

Gracias
  Respuesta:  Atanacio Segura
Hola, la mejor forma de realizar un recalculo en un grid es creando una vista local con los datos que van en el grid y ligar la vista al grid. Pero este es un proceso que se vera mejor con un ejemplo, echame un correo al e-mail que envio y si te interesa te mando un pequeño ejemplo de como recalcular los totales que muestra el grid cuando se refresca el formulario, cuando pasas de un registro a otro con los botones de navegacion o incluso al momento de que agregas una nueva linea, es pequeño pero te servira para que lo hagas mas complejo, bye. Avisame si aun lo necesitas.
  Respuesta:  JOSUE MONREAL
DEBES DE COLOCAR UN SCRIPT QUE SUME PARECIDO A ESTO: "SUM THISFORM.NOMBREGRID.NOMBRECOLUMNA.VALUE TO THISFORM.NOMBREVARIABLE" EN EL EVENTO QUE SE ACTIVE AL AÑADIR/QUITAR

    Pregunta:  2858 - PROBLEMA AL USAR CONTROLES ACTIVEX EN VISUAL FOXPRO 5.0
Autor:  Manuel Santana
Hola mi problema es que cuando trato de insertar un control Activex en un formulario cualquiera de cualquier aplicacion, me da el siguiente error:
"Appropriate License for this class not found"

No puedo usar ningun control activex.

Nota: Uso Windows 98 SE en una AMD-K6/2 300mhz
  Respuesta:  Danes Vilela
Hola.
Los controles OCX son en general desarrollados por X programadores en cual solicitan registrar el OCX a travez de una nota de correo y te devuelven un password, pero en fin estos casos esporadicos, te sugiero que intentes registrarlo con regsvr32.exe que se halla en el c:\windows\system, ademas me gustaria saber que funciones realiza tu .OCX y derrepente te ayude enviandote un OCX que efectue la misma operacion. Me escribes.

    Pregunta:  2865 - IMPRESIÓN EN EPSON TM-U200
Autor:  Mauricio Pareja
soy programador de Visual Fox 6.0 y Visual Basic y tengo un sistema para puntos de venta, necesito los codigos para hacer que la impresora EPSON TM-U200 con autocortador me corte el papel apenas termine de imprimir. gracias
  Respuesta:  Marcelo Altamirano
Para la línea de timbradoras EPSON TM, los caracteres de control para cortar el papel son "chr(27)+chr(109)". Prevé de avanzar algunas líneas el papel para evitar que te corte el mismo en el área de impresión.
Slds y suerte.
  Respuesta:  Miguel Campos salazar
Prueba con esta linea despues de imprimir la última línea
@VL,00 SAY CHR(27)+"i"

Espero te sirva
  Respuesta:  Luis Miguel Caballero
Lo más fácil es que actualices el nuevo driver de la impresora en Windows. Visita POS.EPSON.COM y navega hasta que encuentres el nuevo driver for Windows.

    Pregunta:  2881 - PROBLEMA CON REPORTE Y TABLA
Autor:  David Fúnez
Ok, Tengo una relación padre-hijo, creo un reporte uno a varios con el wizard, hasta ahi no hay problema, lo creo, lo pruebo, corre bien. dentro de mi formulario creo el botón de impresión. Ahora cuando corro el formulario y mando a imprimir con el reporte creado con el wizard pasa de que a mi tabla padre (datos) le aparecen después de c/registro 6 registros con sus campos llenos de asteriscos, (virus no tengo ya revisé. Y cuando me salgo del form y abro la tabla (datos) ya no aparecen esos asteriscos,¿que puede ser?.
  Respuesta:  Edwin Trejo
Yo tuve el mismo problema y lo solucione así.

quitándole la tabla (record source) y luego asginándola nuevamente, quizá no sea la forma más adecuada, pero me funcionó.

*thisform.pageframe1.page1.grid1.RecordSourceType= 0 &&& le decimos que el record source proviene de una tabla

*thisform.pageframe1.page1.grid1.RecordSource='' &&& le quitamos el recordsource,

*thisform.pageframe1.page1.grid1.RecordSource = 'pacientes' &&& asignamos nuavamente la table a la grid

thisform.pageframe1.page1.grid1.RecordSourceType= 0
thisform.pageframe1.page1.grid1.RecordSource=''
thisform.pageframe1.page1.grid1.RecordSource = 'pacientes'

saludos!
  Respuesta:  Sergio Soto
pueden ser dos cosas
en el reporte, en el campo en donde imprimes los valores puede ser mas pequeño que la longitud que ocupan los caracteres que va a imprimir, o el Imput Mask no tiene el suficiente numero de caracteres.
  Respuesta:  marco hurtado
Si son datos numericos donde salen los asteriscos lo unico que tienes que hacer es checa el pict 999,999,999.99 que no exceda el numerlo de longitud de tu campo, ejemplo si tu campo en de 5 caracteres numerico y tu imprimes con un pict de 999, solo tres te imprime asteriscos, aun y cuando el contenido es de solo un caracter .....
  Respuesta:  JOSUE MONREAL
PRUEBA MARCANDO EN EL REPORT DESIGNER LA OPCION DE NO IMPRIMIR VALORES REPETIDOS EN LOS CAMPOS DE LA TABLA PADRE, CREO QUE LO QUE PASA ES QUE LOS ASTERISCOS SE USAN PARA SEÑALAR QUE EL REGISTRO PADRE TIENE UNA RELACIÓN UNO A MUCHOS CON LA TABLA HIJO. OK?

    Pregunta:  2882 - CAPTURAR LOGIN NAME EN RED
Autor:  JOSE SILVA
Hola :
Compañeros.
Trabajo con visual 6, necesito encontrar una funcion que me permita capturar el user name de cada usuario que ingrese a mi aplicacion, tengo cliente netware5, y nt4.0.

No encuentro ninguna funcion ni nl, log, ni nada parecido.

Gracias por todo.
Cordialmente.
  Respuesta:  Victor Rubilar C.
Hola amigo:
En Windows NT puedes tomar las variables de entorno, en este caso USERNAME, tienes varias como para tener el nombre de la máquina, nombre del servidor, nombre del dominio, entre otras.

Desde un programa en Fox lo puedes hacer de la siguiente manera:

usuariox=getenv(´USERNAME´)

espero te sirva, cualquier cosa escribe.
Chau
  Respuesta:  ING. VICTOR CHAVEZ
HOLA SOY DE HONDURAS

USA EL SYS(0)
TE DARA EL NOMBRE DE LA MAQUINA Y EL USUARIO DE LA RED.

ESCRIBEME

    Pregunta:  2913 - SEGURIDAD A MIS PORGRAMAS
Autor:  Bernabeth Marquez
Queridos amigos me gustaria saber como puedo colocar algun medio para evitar en un minimo la copia ilegal de mis programas en foxpro 2.6 para windows
  Respuesta:  Axel Ruiz
Hola, con respecto a la seguridad de tu programa, tambien, puedes definir en una base de datos especial ubicada en un lugar de windows. campos que almacenen el numero de serie del disco duro que se ha ejecutado por primera vez el programa, y luego hacer siempre la comparacion del mismo, lo cual te ayudara, a que si tu programa ha sido copiado de una maquina a otra, la puedes rastrear, asi mismo, una contrasena unica de instalacion, la cual permite almacenar el registro del disco duro, en tu base de datos, para asi tener pleno control den su software.
  Respuesta:  Alejandro Araujo
Muy buena idea la de Victor. Tambien puedes apelar a comprar unas llaves que van en un puerto Paralelo, o en un USB. Son mas costosos, aprox (us$ 45) consta de una memoria donde puedes ingresar tu clave, puedes tambien limitar el uso de tu producto.
  Respuesta:  ING. VICTOR CHAVEZ
HOLA DESDE HONDURAS

MIRA EN EL MENU PRINCIPAL DE TU PROGRAMA BUCA CON LAS OPCIONES

*:---------------
*: Verifica la existencia de CONF.PRB
*:---------------

OpenArch = fopen(´C:\windows\system\conf.prb´)
if OpenArch = -1
=MESSAGEBOX("ESTA ES UNA COPIA NO AUTORIZADA",16)
endif
CloseArch = fclose(OpenArch)

DONDE EL ARCHIVO CONF.PRB
ES UN ARCHIVO CREADO EN VFOXPRO
Y GRAMADO CON ESA EXTENCION
LA IDEA PRINCIPAL ES, COMPROBAR SI EL ARCHIVO EXISTE EN LA MAQUINA QUE SE ESTA EJECUTANDO. SI NO MOSTRAMOS EL MENSAJE Y SALIMOS

|<  <<  22 23 24 25 26 27 28 29 30 31 32  >>  >|