PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  29923 - PROGRAMA DE FP 2.6 P/WIN EN PENTIUM 4
Autor:  mario alberto colorado palma
COMO PUEDO INSTALAR PROGRAMAS DE FOXPRO 2.6 P/WINDOWS EN PC CON PROCESADOR PENTIUM 4, YA QUE AL INTENTAR EJECUTAR LOS PROGRMAS DE INSTALO SE ME CONGELAN LAS MAQUINAS......CREO QUE TIENE QUE VER EL PROCESADOR , PERO NO ESTOY SEGURO...
  Respuesta:  Miguel Natividad
Verifica las variables files u buffers en el archivo de inicio de la pc. Yo elimino estos archivos porque no los necesito... Otro puede ser que debas direccionar el lugar de almacenamiento de los archivos tmp. Dime que Windows estas utilizando.

    Pregunta:  30147 - EDITOR DE TEXTOS EN VISUAL FOXPRO
Autor:  Leopoldo Villa Martínez
Hace tiempo ví en un libro de Visual Basic como diseñar un Editor de textos usando un RICH TEXTBOX y un COMMON DIALOG CONTROL6.0 asi como una barra de herramientas con las funciones basicas de edicion y formato. Mi pregunta es sí alguno de ustedes me puede orientar de que forma podría diseñar algun editor de textos similar dentro del ambiente de Visual Foxpro 6.0.
De antemano , muchas gracias y un afectuoso saludo desde la ciudad de méxico.
  Respuesta:  Marvin Garcia
Con Visual Fox puedes hacer lo mismo que en Visual Basic, ya que en Fox puedes utilizar Controles ActiveX. Para poder utilizarlos debes dirigirte al menu de Tools/Options/Controls
Seleccionas ActiveX y ya puedes agregar controles indicando su ubicación.

Una vez hecho cuando abras una forma, apareceran en la barra de controles de formulario los ActiveX que hayas agregado.

Espero que sea útil.

    Pregunta:  30153 - POR QUE SE DAÑAN LOS INDICES DE LA BASE DE DATOS
Autor:  monica novelo
TENEMOS UN PROGRAMA COMPILADO EN VISUAL FOXPRO 6 DONDE SE USAN BASES DE DATOS, EL PROBLEMA QUE TENEMOS ES QUE APARENTEMENTE ES INESTABLE PORQUE SI SE VA LA LUZ O SI SE CONGELA LA MAQUINA SE PIERDEN DATOS, AL PERDERLOS METE BASURA EN LOS CAMPOS Y LOS ÍNDICES SE DAÑAN POR COMPLETO. TANTO SE DAÑAN QUE ES IMPOSIBLE ENTRAR A LA PANTALLA. ESPERO QUE PRONTO NOS CONTESTEN Y NOS AYUDEN A SOLUCIONAR ESTE PROBLEMA.
  Respuesta:  Toño Fco
Con un UPS solucionas la mayor parte del problema, aunque podrias trabajar tambien con tablas temporales que te permitan regenerar transacciones y que estas sean vaciadas hasta el final de una operacion completa. Tambien puedes usar las transacciones que tiene el VFP con el begin transaction y el commit. Es buena la solucion de reindexar y reconstruir indices, pero debes contemplar un mecanismo que te permita regenerarlos por completo con una tabla diccionario de datos e indices.

Saludos
  Respuesta:  OSCAR RODRIGUEZ
bueno es algo que tambien yo tropece durante mucho tiempo y siempre me llamaban a reconstruir las tablas e indices cuando habia una caida de luz primero coloca un buen UPS luego yo solucione creando un pequeño sistema de reindexacion y regenaracion de tablas automaticas, por lo menos en mi caso resulto
  Respuesta:  RolandO Diaz
Monica,

Para resolver tu problema primero debes solucionar el problema de la energia electrica usando un ups tanto en las maquinas clientes o en el servidor,. Y en segundo lugar debes crear un programa que te genere los indices mediante programacion. Es lo mas seguro ya que si ejecutas un reindex no todos los indices/tags se generaran debido a que pudieron perderse.

Los indices los puedes ver a travez del comando DISPLAY STATUS

    Pregunta:  30189 - ERRORES EN LA IMPRESIóN EN HP670C DESDE DOS
Autor:  Fabian Fagioli
Salen caracteres errados y lineas en los reportes generados por foxpro (dos) usando el print driver de las HP Deskjet 670c.
Al que me pueda ayudar. Gracias
  Respuesta:  orlando
Asumo que utilizas la version 2.5 o 2.6 foxpro dos.

Prueba, definiendo el drive HP DEKJET Generico, donde se configuran los drive de la impresora, en Foxpro

    Pregunta:  30227 - CONTROLAR TIPO DE LETRA DESDE FOX 2.6 DOS PARA LASER HP4000
Autor:  miguel barrantes
Hay un programa muy viejo desarrollado en Fox 2.6 dos, funciona bien siempre y cuando la impresora sea una Epson de matriz compatible con LX-1170 o LX -1050 o similares

La idea es que el programa que corre en DOS (windows 98) se pueda utilizar la impresora laser HP 4000 para sacar los reportes que normalmente caben en hojas 14" x 8.5", variando el tamaño de la letra para aprovechar la velocidad de la laser y el uso de un papel más pequeño Ej Legal o Carta

Es posible hacerlo?
  Respuesta:  Exio alvarado
si es posible, pero para hacerlo debes crear una cadena de control cuando se inicializa la impresion. y ademas permita que las impresora laser por ejemplo pueda reconocerlo directamente desde Dos y a ademas puedes direccionarlo hacia una impresora de red si la tiene o puedes consultar el manual de pcl

    Pregunta:  30275 - DIGITO VERIFICADOR
Autor:  gustavo harreguy
Necesito el algoritmo para calcular el digito verificador llamado "modulo 11", que genera a partir de un numero un digito que se utiliza para validar el valor ingresado.
  Respuesta:  ricardos soldini
Function rutvali(rut)

Local di, l, j, suma , resto , rt
if type("rut") = "C"
rt = Alltrim(rut)
else
if type("rut") = "N"
rt = Alltrim(Str(rut,9))
else
messagebox("El rut pasado no es numeral ni caracter")
endif
endif
j = 2
l = LEN(rt)
suma = 0
DO WHILE L > 0
suma = suma + VAL(SUBSTR(rt,l,1)) * j
j= j+1
IF j > 7
j = 2
ENDIF
l = l-1
ENDDO
resto = (suma - (INT(suma/11)*11))
IF resto = 1
di = 'K'
ELSE
IF resto = 0
di = '0'
ELSE
di = STR((11-resto),1)
ENDIF
ENDIF
retu(di)
  Respuesta:  Jorge Fernández
Hola. Utiliza la función SYS(2007,<cadena>). Saludos!
  Respuesta:  NELSON ROMERO CORONEL
PROBA ESTE PROGRAMA, CREO QUE SE REFIERE A LO SOLICITAS:

***************
* ESTA FUNCION LO EMPLEO CON NUMEROS DE BOLETAS
* CON EXTENCION DE SEIS CREO QUE TE SERVIRA
* DIGITO( [VALOR] )
* El valor debe ser Caracter
* Retorna Un Digito De Tipo CARACTER
***************

function digito
parameters x
m = 0
for y=1 to len(x)
m = m + ( ( 9 - ( len(x) - y ) ) * val( substr(x,y,1) ) )
next
Return( right( str( m % 11 ,2 ) , 1) )

    Pregunta:  30358 - INDICES EN FOXPRO
Autor:  Jose Roberto Arias
Tengo un sistemita que utiliza unas tablas libres en Visual Foxpro 6.0 el problema es que antes el sistema lo podia copiar a un disquette y ahora que lo han utilizado ocupa casi 200 Mb. yo entiendo que es normal ya que unas de las bases de datos tienes como medio millon de registros, el problema es que los eliminè todos y el archivo de indice todavia me queda casi del mismo tamaño que tenia la Base de datos, aahh y otra cosa el proceso de busqueda que tengo se me hace muy lento...(cuando estan todos los registros claro) yo utilizo el Locate" para localizar un registro o un "append from" o "Set filter to" para un grupo de registros... que tengo que hacer para solucionar estos dos problemas?.
  Respuesta:  Victor Paredes
Como primer medida, abri las tablas con las que tenes el problema y reindexalas a todas (reindex).
Como segunda medida, vos estas utilizando LOCATE para buscar un valor, el mismo hace la busqueda de manera secuencial, lo que tenes que hacer es empezar a usar esos indices que tenes. Para esto usa la funcion SEEK

Ej
set order to Apellido
seek ("Paredes")
if found()=.t.
messagebox("Encontre !!!")
else
messagebox("Lo siento no lo encontre.")
endif

De esta forma, vas a optimizar los tiempos de busqueda en las tablas que tengas (especialmente las grandes.)
  Respuesta:  Foxito
Hola:
Posiblemente ejecutastes el comando DELETE para borrar los registros. Pues este comando los anula pero no los borra. Debes ejecutar un pack para eliminar los DELETEADOS.

Luego ejecuta REINDEX para actualizar los indices CDX o si tienes IDX nuevamente reindexalos abriendo la tabla con todos sus indices y REINDEX.

    Pregunta:  30443 - PROBLEMAS CON REPORTES EN WIN XP Y WIN NT
Autor:  IVAN LOPEZ
Los Reportes que se envian en Win XP o Win NT nose pueden observar bien, las letras son muy pequenias.
No pasa lo mismo con los otros Windows
  Respuesta:  Silvio
Por esas casualidades, estas compilando con VFP 5.0??
Tuve la misma experiencia y la solucioné compilando con VFP 6.0 o alguno superior.
  Respuesta:  Randall Mauricio Mora Esquivel
Mae yo he trabajado con VFP 6.0 en maquinas con XP , Win NT , Win 2K y otros y en todos trabaja normalmente quesas tengas algun problema en la configuracionde tu pantalla.

Saludos

    Pregunta:  30531 - BUSQUEDA EN VISUAL FOX PRO 6
Autor:  Carlos Ojeda
Hola, saludos, quisiera ver si alguien puede ayudarme porque deseo hacer una busqueda en una base de datos de Visual Fox Pro, al momento de capturar los datos los guarda correctamente en la base de datos, pero al buscarlos me dice que el registro no existe, el codigo lo tengo de la siguiente manera:

select articulos
seek carti
if found ()
descr = descripci
pventa = pvent
pcom = pcomp
existen = exisr
stk = stock
falt = fechalt
else
messagebox ("El registro no existe", 48 ,"Almacén")
endif
thisform.refresh

funciona correctamente si el campo indice es de tipo numerico, pero en este caso quiero utilizar como campo indice un campo de tipo caracter y es ahi cuando no lo encuentra siendo que el registro ya se encuentra almacenado en la base de datos, espero entiendan mi pregunta y me puedan ayudar muchas gracias.
  Respuesta:  Toño Fco
A ver si la clave es numerica, no te sirve la funcion alltr, por que esta solo quita espacios en un dato tipo caracter, primero debes checar que el indice y el dato usado para la busqueda sean del mismo tipo, aunque de no serlo te devolvera el VFP un error, en caso de que sea caracter que el indice tenga la misma longitud que el dato buscado, esto es quitando los espacios, no uses locate, mejor usa seek con un indece creado y ordenada la tabla por el saludos y quedo a tus ordenes para cualquier pregunta.
  Respuesta:  Toño Fco
No es optimo usar locate, por el tipo de busqueda que realiza, usa indices y el comando SEEK, de preferencia valida que la clave no tenga espacios con alltrim y que lo que buscas sea no sea mayor al tamaño del campo, sino solo bucscara los caractres que entren en este.
  Respuesta:  jaime martinez
1. verifica si la etiqueta del indice corresponde al campo
2.Si la etiqueta de indice es caracter y estas buscando con variable numerica utiliza allt(carti).
3 crea un indice a la tabla con el mismo tipo de datos que utilizas en el SEEK.

4.
select articulos
set order to XXX &&donde XXX es la etiqueta del mismo tipo de datos.
seek carti
if found ()
descr = descripci
pventa = pvent
pcom = pcomp
existen = exisr
stk = stock
falt = fechalt
else
messagebox ("El registro no existe", 48 ,"Almacén")
endif
thisform.refresh
  Respuesta:  Cristobal Melara
El problema es que cuando a una variable le asignas el valor que se ha dado en un textbox no controlas la longitud de la variable entonces puede darse el caso que siendo texto la longitud de la variable carti sea diferente a la longitud del campo indice.
Trata de probar lo siguiente
select articulos
go top
Locate for allt(carti) = allt(campo_indice)
if found()
....
...

Ojala te sirva

    Pregunta:  30540 - SABER CUANDO UN PROGRAMA SE ESTA EJECUTANDO
Autor:  Eduardo Arturo Garcia Rios
hola quiero saber como se cuando un programa se esta ejecutando
  Respuesta:  Antonio Estrada
Buenas.
Utiliza la función FindWindow...

declare integer FindWindow in user32 string,string

ventana=findwindow(0,"Caption de la Ventana")
if ventana>0
messagebox("No se puede ejecutar más de una sesión del programa.")
quit
endif

Espero que te sirva

|<  <<  88 89 90 91 92 93 94 95 96 97 98  >>  >|