Decision de usar Qt en Harbour

05/08/2010

Despues de intentar con las distintas interfaces graficas me decidi
por Qt de forma definitiva, pues con las otras encontre demaciados
problemas de instalacion de las librerias y de las actualizaciones
adicionalemente Harbour tiene implementadas las librerias como contrib
en qtgui.
El modo de instalacion es muy simple en linux,ya que basta efectuar
el desempaquetamiento com rpm de todas las librerias de HARBOUR.

el siguiente script instala las librerias en el orden apropiado
la instruccion

ldconfig

actualiza el sistema de librerias de linux
en:

harbour-contrib-2.0.0-0mdv20100.i586.rpm

se encuentran entre otras las lirerias de Qt y PDF

clear
echo "***************************************"
echo "* Instalacion Harbour ver 2.0.0 *"
echo "***************************************"

rpm -ivh harbour-lib-2.0.0-0mdv20100.i586.rpm
rpm -ivh harbour-2.0.0-0mdv20100.i586.rpm
rpm -ivh harbour-static-2.0.0-0mdv20100.i586.rpm
rpm -ivh harbour-contrib-2.0.0-0mdv20100.i586.rpm
rpm -ivh harbour-debug-2.0.0-0mdv20100.i586.rpm
rpm -ivh harbour-qt-2.0.0-0mdv20100.i586.rpm
rpm -ivh harbour-mysql-2.0.0-0mdv20100.i586.rpm
rpm -ivh harbour-odbc-2.0.0-0mdv20100.i586.rpm
rpm -ivh harbour-pgsql-2.0.0-0mdv20100.i586.rpm

# Es indispensable colocar la ultima instruccion
# sino el sistema falla al compilar la apliacion

ldconfig

Debe tenerse presente que estas librerias deben
ser instaladas previa carga de GCC y DE BINUTIL,
tambien debe estar en el sistema libqt4

despues de buscar bastante en estas librerias
encontre en la version para windows el src (fuentes)
del sistema Qt para HARBOUR, en qtgui.

en este directorio hay muchos programas , unos en
c++ y otros con terminacion .prg,los programas con
terminacion .cc, son los wapprer que permiten
utilizar las librerias nativas qt en Harbour, y los
programas con inicio con formato TQ*.prg, son las
funciones HARBOUR , que implementan las utilidades
de Qt en Harbour.

Es importante darle una mirada a estas librerias
a mi personalmente me han sido muy utiles, pues ante
la falta de documentacion de las librerias Qt en
HARBOUR, me ha tocado recurrir a estas para suplir esta
falta, pues en todas las referencias de HARBOUR a Qt
dicen que no hay docuentacion porque funcionan de
forma similar, aunque esto es relativamente cierto,
la forma como se implementan los metodos de cada clase
difieren , asi como los metodos que verdaderamtne
existen , pues la relacion no es 1 a 1, no todos los
metodos Qt estan implementados y algunas cosas funcionan
un tanto diferentes.

Tambien encontre un pequno demo en estas mismas librerias
Contrib del uso de qt, que me sirvio para hacer los
primeros ensayos de las librerias Qt , en mi apliacion.
La verdad en un principio me dio algun tipo de dificultad
asimilar la metodologia que se implementa, pues aunque
conocia el proceso de programacion por eventos y la forma
de trabajo en java, la forma que se mezclan ambos ambientes
me parecio un tanto confusa.

Sin embargo cuando se entiende la logica se puede ver que es
relativamente facil, desarrolle algunas funciones generales
que se parecieran a la archi conocidas funciones

read,get,say por ejemplo

hice alguno ejemplos sencillos de apliacacion de estas
funciones, sin embargo a largo plazo, encontre que no valia la
pena continuar con este esquema, pues aunque la logica era
simple y era remplazar en general mis comandos read x ReadK
say x SayK y get x GetK y algunas utilidades como message,
statusbar por sus equivalentes hechas por mi, decidi darles
alguanas pequenas funcionalidades que permitan usar estas tanto
en la forma tipica de HARBOUR (foxbase,FlagShip), como el modelo
ma general de los lenguajes como java (awt,swing) ya que s maneja
por contenedores (widget) y no hay que gastar tanto tiempo y
desgaste en posicionar las cosas con coordenadas a mano , con el
problema en los ambientes graficos que no se presentan en los
ambientes texto, de tener que dimencionar los textos dependiente
de los fonts y peor aun con los cambios de idioma (funcion Tr),
donde no se tiene garantia que el espacio reservado para una
palabra(s) concida con el espacio asignado pero en otro idioma,
por ejemplo : Next -> siguiente , salir -> cancelar, me parece
que ya que estoy en este procceso mejor aprovecho y lo hago mas
general, desde luego es un cosa muy personal la opcion que se desee,
por esta razon deje las dos alternativas.

***
Agrego este enlace pues varias cosas han pasado  desde que escribí esta
nota por primera vez hace ya un año, lo mas importante es que ya esta en
el aire la versión 3.0 de Harbour con algunos cambios que deben ser tenidos
en cuanta a la hora de tomar la decisión  de empezar o de actualizar la aplicación si es el
caso

http://cac9999.blogspot.com/2012/04/compilar-harbour-en-centos-62.html

Comentarios

Publicar un comentario

Entradas populares