Base de DAtos en DBASE / CLIPPER

vperezr
18 de Octubre del 2008
Amigos,

Soy médico pero estudie algo de programación hace años en DBASE / CLIPPER que son parecidos a FOXPRO.
Resulta que en estos sistemas se crean archivos que son las bases de datos, no tablas independientes, en un archivo, como se hace actualmente.

Es decir tengo cuatro bases: patients.dbf clinord.dbf services.dbf clintxn.dbf y cada una es un archivo.

la primera tiene los datos de los pacientes, la segunda los datos de los servicios que ofrecemos para facturar, la tercera el lista de ordenes para cada factura, y la cuarta el resumen de las ordenes para una factura junto con los datos de pago (cantidad facturada, pagada, metodo de pago, fecha, etc).

Estaba estudiando Visual Basic Sudio pero me es un tanto confuso al programar por pantallas en lugar de hacerlo como lo hacia en Clipper, por consola. Como Foxpro es mas parecido he decidido aprender Foxpro, en este caso el Visual.

No consigo donde bajar el software. Si tienen ideas bienvenidas.

Lo otro es que las bases de datos de pacientes y servicios debo seguirlas usando en FOXPRO porque son bases extensas las de pacientes tienen 20k registros, la de servicios unos 500 y es tedioso tener que pasarlas nuevamente.

Como Clipper es de DOS ya no consigo impresoras que soporten el puerto paralelo en DOS, si he conseguido con puerto paralelo pero para Windows.

Por eso es mi deseo de migración.

Necesito me digan si las bases son compatibles con FOXPRO, creo que si, o como hago para exportarlas sin perder nada de datos.

GRacias por su tiempo y espero sus comentario.s

Andres
18 de Octubre del 2008
Amigo
Yo tambien migre mi base de datos de clipper a fox, por la similitud, y no me fue muy dificil.
Los archivos son compatibles pero solo los DBF los indices no, por lo que tendras q abrirlos en el fox y hacerle un COPY STRU a un nuevo archivo y ahi crearle los indices, luego haz un APPE FROM y listo. Este proceso es necesario porque si modificas algun registro mediante el fox, tu s archivos ya no podran ser usados en Clipper.
Ahora, yo trabajo con tablas libres (DBF y CDX), no uso base de datos fox (DBC) y mis sistemas trabajan muy bien.
Te vas a acostumbrar, al comienzo siempre es dificil pasar de programacion lineal a programacion orientada a objetos, cualquier consulta estoy a tu disposicion.
Suerte

vperezr
18 de Octubre del 2008
Gracias por la info.

He experimentado con Foxpro en los ultimos dias y si, las bases funcionan de maravillas (claro para el experimento solo estoy usando una copia de las bases originales). Dejo los archivos libres DBF y hago index CDX. Este sistema es mejor, ocupa menos espacio, lo unico es que tengo que recordar el "ORDER" de los indices para cuando hago referencia en la busqueda. Es decir, si el primer index esta para CODIGO y estoy buscando por CEDULA me da un registro no encontrado. Para eso solo pongo "Set order to 3" que corresponde al index por "codigo" dentro del archivo CDX.
Ademas tengo un programa "reindex.prg" que al ejecutarlo, abre la base y la reindexa usando el sistema CDX. (esto para cuando use las bases de datos verdaderas...je je je o cuando tenga una base que se modificó en una de las computadoras y me la traigo a otra y asi no tener que estar copiando los CDX).
Me encanta visual foxpro...ya aprendí a hacer menus y a llamarlos desde los formularios.

El problema actual que tengo es que por ejemplo, el menu principal que ya tiene la opcion de "formulario de nivel Superior", es llamado desde un formulario "form1". Este tiene tambien la propiedad ShowWindow como "formulario de nivel superior". Ya inserté el comando " do "nombre del menu" with thisform,.T. y funciona perfectamente cuando lo corro en foxpro.

El problema que tengo es que esté será mi formulario con mi menu de entrada, y al generar el "EXE" he intentado miles de formas en el archivo "PRG" principal, y no se ejecuta el formulario con el menu ...simplemente el sistema me vota y allí termino la programación.

EL PRG que tiene los siguientes lineas:

DO FORM form1 donde form1 es el nombre del formulario que tiene inmerso el menú.

Alguna sugerencia ? Bienvenida...

DEbe haber una forma de hacerlo pero no sé cual es .

Agradeceré sus opiniones.


Victor Perez


Andres
18 de Octubre del 2008
Amigo, lo q te falta es crear un prg principal dentro de tu proyecto y usar READ EVENTS al iniciar y CLEAR EVENTS cuando quieras salir de tu aplicacion.
He aqui un ejemplo

Set Excl Off
Set Talk Off
Set Stat Off
Set Dele On
Set Safe Off
Set Sysmenu Off
_Screen.WindowState = 2
Do Form Principal.scx
Read Events
Return
y en tu boton de salida incluye en el evento CLICK

Set Sysmenu On
Clear Events


vperezr
18 de Octubre del 2008
ME dejaste perdido.
Entiendo la primera parte de agregar el READ EVENTS y todo eso en el PRG que arranca.

Pero no entiendo los del Clear Events...y el event Click...

Si me aclaras un poquito , te agradecera. Recuerda que no soy programador por carrera... je je je

Victor,

vperezr
18 de Octubre del 2008
Ya hice el formulario arranque y si corre, pero me da un error "Dice algo como que el formulario que llama al menu debe ser con la opcion showwindow 2, que es como la tengo, pero no la reconoce.

Ahora, mi menu consta de:

Pacientes - Servicios - Contabilidad en la barra principal.
Cuando abres pacentes aparece "AGREGAR" "EDITAR" etc...
Aqui debe ir la opcion de SALIR pero no se como hacerla, será que la agrego como submenu de PAcietes y con caracteistica de procedimiento y alli coloco el codigo qe me enviaste para SALIR.

Agradecido por tu atencion. Tengo muchas cosas mas que preguntarte.

Será que podemos contactar por MSN, si es asi mi direccion es [email protected] y siempre estoy conectado.

Saludos, y nuevamente GRACIAS

vperezr
18 de Octubre del 2008
Hola Andres,

Hoy me enrredé bastante en la clínica. Ya resolví los problemas que tenia.

Lo unico que ahora quiero quitar la pantalla en blanco que sale cuando ejecuto un programa EXE de FoxPRO. Busqué y debo hacer un config file con Screen = off o algo asi. Bueno lo hice, y resulta que esto bloquea mi maquina. No se ejecuta el programa y tampoco puedo ni siquiera Salir de Windows, Apagar, Reboot, ni nada. TEngo que hacer un reset manual del computador.

Alguna idea ?

Victor

Andres
18 de Octubre del 2008
Hola Victor
No deberia colgarse tu sistema, algo debe estar mal, pero para evitar cualquier problema incluye lo siguiente antes de llamar al menu de tu aplicacion:
...
_Screen.show
do tumenu.mpr
...

Con eso deberias superar tu problema.

Saludos y mucha suerte