[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



----- Original Message ----- From: "Debian GMail" <javier.debian.bb.ar@gmail.com>
To: <debian-user-spanish@lists.debian.org>
Sent: Tuesday, September 18, 2012 3:51 PM
Subject: Re: OT: Migrar la mente de un "anciano" que usaba Clipper 5.3


El 18/09/12 15:58, lmonterof04@gmail.com escribió:
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.

Lo guardo como oro.

Lo primero, estoy haciendo una rápida migración de un sistema en Clipper Summer 87; esto que me mandas, me viene de perillas.

Lo segundo, me he volcado, y estoy estudiando Python.

Muchísimas gracias

JAP

Ya con tiempo. Mira la combinación Python + Firebird como motor de datos.

Ambos enteramente libres y multiplataformas. Y sistemas con buen soporte.

Saludos
=========
|| ISMAEL ||
=========


Reply to: