AplicacionApadir

De Clip en Castellano

Revisión a fecha de 15:19 2 oct 2008; Admin (Discutir | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)

Contenido

Aplicación APADIR

Es una aplicación desarrollada para gestionar la emisión y cobranza de instituciones y clubes. Desarrollada en Clipper 5.2 y utilizando supmenu y las Super Functions es una prueba de cómo se puede migrar con facilidad una aplicación MS-DOS a GNU/Linux en minutos (en este caso se hizo en el marco de la FLISOL Paraná del año 2006)

Fuentes sistema APADIR

Podemos descargar las fuentes de este programa para Clipper 5.2 desde aquí: Fuentes para Clipper 5.2

Como podemos ver, es una típica aplicación Clipper. Para migrarla tiene dos dificultades:

  1. Usa un menú heredado de Clipper 5.01 llamado supmenu
  2. Usa mucho las Super Functions

Las Super Functions son de dominio público. Su versión final para Clipper 5.2 pueden descargarse desde el repositorio de software para Clipper Oasis

supmenu sin embargo siguió siendo privativo y el autor de este utilitario no está disponible, de modo que usando herramientas de descompilación en una aplicación existente que las utilizaba, logramos tener un fuente PRG funcional. Sumamos a esto una serie de funciones "dummy" para evitar todas las llamadas que este utilitario tenía a rutinas propias del mouse y ya estamos en condición de compilar en Clip.

Migrando la aplicación APADIR

Ahora seguimos los siguientes pasos:

Pasamos todo a minúsculas. Para eso podemos usar el utilitario "lowname" um script que está en los binarios de Clip:

$ $CLIPROOT/bin/lowname *

Luego de estas operaciones obtenemos los siguientes fuentes para Clip

Luego debemos migrar las Super Functions las cuales son de dominio público.

Para migrarlas hubo que quitarle todo el soporte de mouse y crear funciones en Clip de algunas cosas que tiene hechas en C por cuestiones de velocidad.

Compilando APADIR

Como vemos hemos modificado el primer programa apadir.prg para que tenga la sentencia:

function main()

Ahora compilamos tal como se recomienda en el CursoClip7JSL

$ export LANG=en_EN.CP437
$ clip -en *.prg -lsup

Compilamos con la opción "-n" debido a que los fuentes tienen definidas las funciones dentro de los archivos prg De modo que le debemos decir a Clip que no le asigne automáticamente el nombre de la función el nombre del archivo.

Como el primero programa es apadir.prg en un "ls" el ejecutable es apadir.

Si estamos en un entorno X lo ejecutamos:

 $ rxvt -e ./apadir

Como vemos, tenemos nuestro sistema funcionando bajo GNU/Linux:


Imagen:Menuapadir.png