[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OT: Migrar la mente de un "anciano" que usaba Clipper 5.3



El sábado, 30 de junio de 2012 08:20:01 UTC-5, Debian GMail  escribió:
> Estimados:
> 
> 
> 
> Esto es MUY fuera de tópico, pero no se me ocurre realmente a quién 
> 
> preguntarles, y que me contesten con CONOCIMIENTOS en vez de cháchara 
> 
> inútil.
> 
> Por el tópico, se darán cuenta que estoy cerca del medio siglo de vida, 
> 
> y se me ha planteado un tema que implicará volver a poner las neuronas a 
> 
> trabajar.
> 
> Donde trabajo, hay una aplicación que tiene más de 20 años, la cual fue 
> 
> programada originalmente en entorno MS-DOS para Clipper Summer '87, y 
> 
> luego migrada a Clipper 5.3., pero manteniendo el pecado de origen de no 
> 
> funcionar bajo entorno de red. Me explico: Summer tenía casi nulas 
> 
> opciones de bloqueos dinámicos de registro y/o archivos para accesos 
> 
> simultáneos, y la aplicación nació como monousuario.
> 
> Fue tan buena, que incluso hoy, sigue funcionando.
> 
> El tema es que están migrando los equipos de WinXP a Win7, y ya no hay 
> 
> emulación que lo soporte, amén que es MANDATORIO pasarla a un sistema 
> 
> multiusuario.
> 
> Por lo que se ha decidido reprogramar todo, y por una cuestión de 
> 
> costos, han echado mano del viejo alguna vez le metió mano al sistema, a 
> 
> pesar que el viejo hace bastante que casi no programa.
> 
> Y este viejo es consciente que tiene que MIGRAR para que el resultado 
> 
> dure otros 20 años.
> 
> Pasemos a los bifes:
> 
> Me encantaría algo multipaltaforma, pero lo único que conozco más o 
> 
> menos, es Lazarus, pero eso es Pascal, y CREO que no es lo más indicado 
> 
> para un sistema de base de datos, aunque sea pequeño y tenga una 
> 
> capacidad increíble para acceder a bases de datos de casi cualquier tipo.
> 
> Me gustaría hacer algo sobre Oracle, pero montar un servidor DB y 
> 
> aplicativo de Oracle es una exageración para lo que el sistema debe ser; 
> 
> sería como fabricar con paredes de 5 metros de hormigón una cabaña de 
> 
> fin de semana.
> 
> He buceado la web y he vuelto a encontrar una similitud con CA-Visual 
> 
> Objects, pero eso considero que ya es obsoleto.
> 
> En algunos foros comentan sobre Harbour MiniGUI o de FiveWin o de 
> 
> Xailer, llevándose casi la mayoría de los aplausos el primero; no 
> 
> conozco nada de ninguno de los tres.
> 
> Vamos a las capacidades de programador, o sea, yo: he hecho MUCHO en 
> 
> Clipper, bastante en Oracle, y bastante en Fox-pro, por lo que las bases 
> 
> de datos relacionales no me implican problema, ni adaptarme a la 
> 
> programación orientada a objetos, a pesar que lo que más he hecho ha 
> 
> sido con programación lineal.
> 
> Tengan en cuenta a esta altura de mi vida, no tengo ganas de aprender 3 
> 
> o 4 lenguajes, para poder decidir por uno, y por eso pido vuestra ayuda, 
> 
> para tratar de dar al primer tiro con un lenguaje que:
> 
> * Maneje pequeñas bases de datos.
> 
> * Tenga capacidad multiusuario.
> 
> * Tenga una curva de aprendizaje más o menos corta.
> 
> * En lo posible, sea multiplataforma (tener en cuenta que mi 
> 
> organización, excepto yo, son todos windows-dependientes).
> 
> Por lo que, al final, va la pregunta que justifica este hilo:
> 
> ¿Qué recomiendan?
> 
> 
> 
> Muchas gracias a todos
> 
> JAP
> 
> 
> 
> PD: Por favor, que no se transforme en una batalla cultural.
> 
> 
> 
> 
> 
> 
> 
> -- 
> 
> To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
> 
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 
> Archive: http://lists.debian.org/4FEEFCDC.3070205@gmail.com

Estimado JAP:
Quizás ya decidiste por alguna propuesta de los colegas foreros, y estoy presentándome al último y a lo mejor te sirva:
Según mi experiencia, antes tenía una aplicación en Clipper 5.2d a 16 bits pero con esto de las actualizaciones de Windows a 32 y 64 bits, como que mi aplicación quedaba obsoleta y gracias a DIOS pude hacer la migración a xHarbour Modo Consola para Windows ó Linux en forma nativa y todo esto sin casi modificar nada de código pues el compilador se tragó el 99.99% del código Clipper y solo modifiqué el programa principal al inicio colocar la linea:

REQUEST DBFNTX
REQUEST DBFDBT

#ifdef __PLATFORM__Windows
  ANNOUNCE HB_GTSYS
  REQUEST HB_GT_WIN_DEFAULT
#endif
*
FUNCTION main()
.... continua tu código ...

y asunto solucionado ... y lo mas lindo de todo es que puedo compilar para Windows ó Linux manteniendo una sola versión de los fuentes .PRG
Otra cosa también existe Harbour que permite hacer lo mismo pero yo decidí por xHarbour+MinGw y lo bueno de todo es que puedes construir el compilador a 32 o 64 bits y así tus aplicaciones pueden correr en lo que quieras.
Otra cosa si tu aplicación es Monousuario lo que tienes que hacer es muy facil, abrir las tablas DBF en modo compartido SHARED y al momento de grabar el registro hacer un :
(archivoDbf)->(RECLOCK(0))

/******************************************/
*  RecLock( <nWaitSeconds> ) --> lSuccess
*  Attempt to RLOCK() with optional retry
/******************************************/
FUNCTION RecLock( nSeconds )
     LOCAL lForever
     IF RLOCK()
       RETURN (.T.)        // Locked
     ENDIF
     lForever = (nSeconds = 0)
     WHILE (lForever .OR. nSeconds > 0)
       IF RLOCK()
         RETURN (.T.)     // Locked
       ENDIF
       ALERT(ERR_027,,,1)     // Registro bloqueado por otro usuario
       nSeconds = nSeconds - .5
     ENDDO
     RETURN (.F.)         // Not locked
*

Y listo ... ya tienes tu sistema funcionando en Red Multiusuario.
Te paso el link para que bajes el xHarbour para el sabor que quieras Windows o Linux.

http://www.xharbour.org/index.asp?page=support/index

Cualquier cosa estamos para ayudarnos:
Email: lmonterof04@yahoo.es
Messenger: lmonterof04@hotmail.com

Saludos.
Atte.
Lucho Montero.

 




Reply to: