jueves, 29 de abril de 2010

Migración de Clipper hacia 32 bits

Un compañero programador me hizo la siguiente consulta vía e-mail desde un blog que hace muchos años no he actualizado:

Hola es grato recibir respuestas de este tipo de blogs...a veces esas preguntas quedan en la nebulosa del ciber espacio.

Concretamente es asi:

Desde al año 1991 hago programas en Clipper y aún los sigo haciendo.
Antes para una empresa en la cual trabajaba y ahora para un emprendimiento propio.
Entre otros sistemas que tengo hecho el que me da de comer es un sistema de gestión comercial (ventas, compras, stock, clientes, proveedores, etc.)
Lo tengo repartido entre mas de 20 clientes aprox.
Por ahora no tengo quejas, creo que Clipper es como un auto de otros tiempos pero que aún hoy sus prestaciones siguen siendo buenas y aplicables.
Además si alguien conoce un lenguaje mas facil de programar que Clipper que me diga, no creo que halla muchos.

He ido sorteando el tema de que Clipper está descontinuado y fué hecho para otros sistemas operativos y para otros procesadores y otras máquinas, actualmente imprimo en impresoras USB, no ocupo el 100 % del procesador en un ambiente Windows, etc. etc.

Hasta he podido correr aplicaciones PHP desde dentro mismo de Clipper con lo cual se me han abierto varias puertas, por ejemplo la posibilidad de poder crear listados e informes en archivos PDF.

Peeeeeeeero lo que no he podido mejorar es el tema de las .dbf que si bien son muy faciles de toquetear son frágiles, los indices .ntx a veces se corrompen, no son relacionales, etc., etc. es otro tipo de almacenaje de datos, algo mas de entre casa.

Pienso que en el mundo empresarial de estos tiempos donde todo está conectado y se acceden a los datos de la empresa desde cualquier sitio no necesariamente desde una terminal en la propia empresa, es necesario tener un sistema de bases de datos como MySQL, o Postgre por poner dos ejemplos.

Tambien está el tema del Software Libre que acá en Uruguay está entrando mucho y es una solución al tema de las carísimas licencias del Tio Bill, (Clipper no corre bajo Linux, o corre con parches como DosBox, Wine, etc.)

Asi que estoy hoy en día con sistemas robustos, que andan y permiten al usuario trabajar con el teclado en puntos de venta mucho mas cómodo y rápido que con el mouse, corriendo sobre cualquier windows sin problemas, y pudiendo hacer cosas el mismísimo Steven Straley (para mi El Inventor de Clipper) se asombraría que un sistema en Clipper pueda hacer.

Pese a todo eso necesito migrar a algo que sea:

Multiplataforma
Que use bases de datos relacionales y las viejas .dbf
Que sea 32 Bits con opción a 64 Bits
Que no me haga aprender a programar de nuevo
Que me deje hacer todo lo que hago actualmente en Clipper y mas aún.

Eso para empezar....

Creo que lo mejor para lograr todo esto es Harbour.

Intento ir despacio y dando pasos, en un primer paso aspiro a poder generar un .exe 32 bits en modo consola que maneje las .dbf como están.
Ago asi como mi actual sistema pero generado con Harbour y Borland o algo por el estilo de manera que pueda donde hoy corre mi .exe poner el nuevo y que nadie se de cuenta salvo porque ya no corra en una ventana de Windows de 16 bits sino en una de 32 bits.
El segundo paso será dejarlo 100 % estable y andando con las librerias de terceros que uso o sustituyendo las funciones de estas librerias con las de Harbour, tambien tendo que dejar andando las clases que uso como el Browse
En un tercer paso intentaría armar una base MySQL partiendo de mis .dbf
En un cuarto paso intentaría hacer una versión de ese mismo sistema pero trabajando con MySQL en vez de con las .dbf
De ahi en mas lo pasos no tienen fin, seguiría dando pasos hasta que pase algo como me pasó con mi viejo Clipper, ja, ja, ja.

Si te parece que me podés tirar alguna linea que me sea de ayuda o si te puedo molestar con alguna consulta cuando me tranque...te agredezco mucho.
Ya tengo algunos amigos que han dado este paso y se ofrecieron para darme una mano.

Actualmente uso:

Compilador: Clipper 5.02d
Linkador: Causeway WL32 1.32 (modo protegido)
Librerias: las de Clipper mas OSLIB, GT_LIB, NANFOR, BARCODE, y alguna otra mas
Para las clases uso HIGHCLASS

Desde ya mil gracias.

Saludos desde Paysandú-Uruguay ;-)

Fermín Barboza

No hay comentarios: