Programando en fox

Hola, que tal soy Yaky y me gustaría obtener ayuda de tu parte, como creo que no sera novedad para ti, bueno quisiera saber algunos detalles como los siguientes:
1. Como válido la longitud de una caja de texto, es decir, si digo que deben insertarse 10 caracteres y solo escriben 5 o 7, que me diga que faltan letras o números por ingresar.
2. Como hago para que de una consulta la convierta en un archivo ya sea en excel o txt.
3.- Como genero un respaldo automático de un sistema o base de datos.
4.- Saludos amigo, t agradeceré en el alma tu pronta respuesta,,, abrazos y gracias.

1 respuesta

Respuesta
1
En respuesta a tus preguntas
1. En el metodo valid de tu campo  coloca
IF LEN(ALLTRIM(This.value))#LEN(miarchivo.micampo)
mi_difer=LEN(ALLTRIM(This.value))-LEN(miarchivo.micampo) 
MESSAGEBOX("Al campo le faltan "+STR(mi_difer)+" datos")
RETURN 0
ENDIF
2.- Crea un boton y en el metodo Click coloca
mi_excel=GETFILE("XLS","Archivo excel","Aceptar")
IF EMPTY(mi_excel)
RETURN
ENDIF
SELECT("mi_archivo")
COPY TO (mi_excel) TYPE XLS
3.- Desde que incursionaron las PC en las oficinas, la mayoría de usuarios no acostumbran o no quieren realizar las copias de respaldo (BACKUPS) en forma manual, que es lo recomendable porque estas copias deben quedar en un disco externo fuera de la oficina para que en casos de siniestros el sistema pueda levantar en otra maquina y así continuar con el trabajo cotidiano sin perder la información.
Si deseas hacer esto en forma automática y en fox
a) crea un duplicado de tus archivos en blanco en otra maquina, de preferencia luego crea un programa que simplemente realice el append from de los archivos originales hacia el archivo copia y programas el manejador de tareas del windows que lo ejecute a la hora determinada.
PROCEDURE COPIAS
user_path='"\\Servidor\Archivos'
m.sigue=MESSAGEBOX("Ejecuta el proceso?",4+32+256,"Copias de respaldo")
IF m.sigue=6
db_num=ADIR(mi_file,'DBF\*.dbf')
=exe_prog()
MESSAGEBOX("FIN DEL PROCESO",0+64,"AVISO")
ENDIF
RETURN
**************************************************************************************
FUNCTION exe_prog
FOR x=1 TO db_num
db_file=ALLTRIM(mi_file[x,1])
mi_path=FULLPATH(db_file)
add_file=user_path+SUBSTR(mi_path,10)+'"'
IF FILE(add_file)
USE (db_file) EXCLUSIVE
ZAP
APPEND FROM (add_file)
USE IN(SELECT(db_file))
ENDIF
Endfor
RETURN
Espero te sirva de algo, gracias, tus preguntas son interesantes, me han hecho trabajar, je
saludos
Mil gracias amigo, he recibido tu respuesta y estoy por ponerlo en practica haber que resulta, por otra parte disculpa por ponerte a trabajar pero ya vez así es la programación, no se si sea mucha molestia me ayudes a resolver otro problema, pasa que trabajo con un software de fox que no es original lo cual implica supongo que no se reconzcan algunas librerías, como puedo incorporarlas,, por ejemplo trate de usar la función strlen y me marca error ya que lo busca como un programa,, ¿y tengo esa duda si esta función existe para fox o es por falta de alguna librería?   m explicarias? De antemano muchas gracias...
Esa es una instrucción API, que la puedes sustituir por LEN(ALLTRIM(mi_campo))
Te recomiendo que uses instrucciones nativas de VisualFox ya que las APIS varían según el sistema operativo
Gracias amigo por tus sugerencias, las pondré a prueba haber si resulta y también gracias por la disposición... espero poder charlar respecto a este ambiente de la programación por que a decir verdad apenas me estoy involucrando directamente en ello.. recibe un abrazo de mi parte y por si lo deseas este es mi mail [email protected],,, saludos y bienestar por siempre... bye

Añade tu respuesta

Haz clic para o