Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   [GH Freebrary] (https://www.clubdelphi.com/foros/forumdisplay.php?f=54)
-   -   Nueva GH Freebrary (open source) "beta" (https://www.clubdelphi.com/foros/showthread.php?t=81804)

Al González 20-12-2012 00:59:19

Nueva GH Freebrary (open source) "beta"
 
Noviembre de 2016. Actualizo el enlace de su ubicación: https://github.com/algonzalez74/GHFreebrary

Saludos.

Cita:

Hola.

Abro este hilo con la intención de ofrecer a toda la comunidad la más reciente versión de GH Freebrary, una biblioteca de clases y funciones para Delphi en la que he estado trabajando con mucho esmero por más de 10 años.

Hace tiempo me propuse ponerla "en forma" revisándola a fondo y dándole una licencia de software libre. Ya está lista una primera versión "beta" que me tomé la libertad de subir al FTP de Club Delphi.

Compila en Delphi 7 (teniendo éste sus debidas actualizaciones). Y podrá ser adaptada con menor o mayor grado de dificultad a otras versiones, dependiendo de qué se quiera utilizar de ella.

Sé que una veintena de colegas usaron alguna de las versiones anteriores (desde que se llamaba "Interfaz GH"). Ahora que la he revisado y liberado como open source, en lo personal me daría mucho gusto saber que este trabajo se aprovecha en mayor medida de lo que yo mismo lo hago en los ocasionales proyectos que desarrollo. Al quedar disponible para su explotación por parte de la Comunidad Delphi, espero ayude a muchos colegas a salvar pequeñas barreras de programación y a escribir menos código.

Asimismo, toda colaboración técnica para mejorar esta pequeña obra es bienvenida. De momento lo que podría hacer falta es que se ponga a prueba, contiene algunas clases de distintos propósitos y funciones para variedad de asuntos. Entre las clases podemos encontrar las que estaban en Magia Data, además de otras como las siguientes:

TghXMLDoc.- Para crear, leer y escribir documentos XML.

TghOpenXMLSpreadsheet, TghOpenXMLSpreadsheetBook y TghOpenXMLSpreadsheetStrs.- Para abrir y leer libros Excel de formato 2007 o superior (OpenXML).

TghFileVersionInfo.- Para consultar información de versión de un módulo ejecutable.

TghForm.- Para tenerla como clase padre de nuestros formularios (en lugar de TForm) y con ello usar varias funcionalidades extras.

TghObjList y TghObjListEx.- Como TObjectList pero con algunas características adicionales.

TghStrList.- Como TStringList pero con algunas características adicionales.

Sin olvidar las decenas de funciones de propósito general, la mayoría concentradas en la unidad GHFRTL.pas (que es como el "kernel" de esta nueva GH Freebrary).

No esperen encontrar en esta versión documentación más allá de los breves comentarios que están en el código fuente. Éste es fácil de leer para quien conoce el lenguaje Object Pascal, y no es difícil entender el propósito o utilidad de buena parte de los tipos, constantes, clases, métodos y funciones (sobre todo si dedicamos un par de minutos a probar alguno de estos elementos o a buscar los lugares donde es usado). De momento no instala componentes, así que basta con añadir al "Library Path" el directorio donde la descompriman y añadir al Uses la unidad que se quiera emplear.

Modestia aparte, siento que este puede ser un recurso muy valioso, y es normal que todos los que hemos creado algún componente público anhelemos que muchos colegas lo usen. En mi caso la motivación que hay detrás de ese anhelo es compartir algo que considero hecho con sumo cuidado y que puede servir a otros programadores Delphi. Con ello todas las horas de análisis, investigación, pruebas, depuración... habrán valido la pena. Es mi forma de contribuir al rescate de Delphi y de devolverle algo a la Comunidad.

Luego habrá versión para XE2 y demás, y espero entonces lleguemos a ser muchas manos dispuestas a ayudar. ¿Quién se apunta? :)

Enlace para descarga: [...]

Espero sus opiniones y críticas constructivas, y que generemos bastante retroalimentación a fin de mejorar este pequeño monstruo y hacerlo de gran provecho para todos.

Saludos.

Al González.


mamcx 20-12-2012 01:02:31

Genial.

*Mas* genial seria si postearan el codigo en un repositiorio como github, google code o bitbucket ;)

Casimiro Notevi 20-12-2012 01:08:37

Muchas gracias, Al, espero tener oportunidad de usarla, viniendo de ti es seguro que es de fiar, aunque sea beta.

ecfisa 20-12-2012 01:21:11

Lo mismo digo, muchas gracias por el aporte :)

La semana entrante (que me libero de algunos compromisos), voy a probarla. ;)

Saludos. :)

Neftali [Germán.Estévez] 20-12-2012 09:35:04

Muchas Gracias Al.
En su día ya tuve la oportunidad de "echarle un vistazo" y me pareció excelente.

^\||/^\||/^\||/

marcoszorrilla 20-12-2012 19:19:59

Muchas Gracias Al.

Un Saludo

TiammatMX 20-12-2012 23:07:28

Cita:

Empezado por Al González (Mensaje 452170)
...de ofrecer a toda la comunidad la más reciente versión de GH Freebrary, una biblioteca de clases y funciones para Delphi en la que he estado trabajando con mucho esmero por más de 10 años...

¡¡Mil felicitaciones, compadre Al!! Yo todavía tengo en uso las GH's y me son indispensables. Prometo utilizarlas, a ver qué puedo sugerirte añadir.

P. D.: ¡¡10 años!!, desde los felices días del foro..., ¡qué tiempos aquéllos, señor Don Simón!

nlsgarcia 21-12-2012 00:09:30

Al González,

Cita:

Empezado por Al González
En mi caso la motivación que hay detrás de ese anhelo es compartir algo que considero hecho con sumo cuidado y que puede servir a otros programadores Delphi. Con ello todas las horas de análisis, investigación, pruebas, depuración... habrán valido la pena. Es mi forma de contribuir al rescate de Delphi y de devolverle algo a la Comunidad.

Mil gracias por tu aporte, estoy seguro que sera muy valioso para todos en el Club Delphi, Felicitaciones por tu tiempo, esfuerzo y dedicación :)

Nelson.

fjcg02 21-12-2012 09:12:38

Hola Al,
después de una semana intensa de jornadas de hasta 25 horas seguidas hemos conseguido terminar la carga de datos en la que he estado enfrascado con bastante solvencia. Vaya 4 días que llevamos.

Ahora sí podré dedicarle tiempo a la biblioteca. Intentaré documentarla e incluir demostraciones de uso para ver cómo puedes aumentar el nº de personas que la utilice.

Un saludo somnoliento

Al González 22-12-2012 00:55:16

Me siento sumamente agradecido por sus comentarios y apoyo. En verdad, muchas gracias por tener en cuenta este recurso y a su servidor. Entre todos vamos a mejorarlo y ayudar un poquito a Delphi. :)

Cita:

Empezado por mamcx (Mensaje 452171)
*Mas* genial seria si postearan el codigo en un repositiorio como github, google code o bitbucket ;)

Hola Mario. Hace tiempo tengo una cuenta en el depósito BerliOs y en breve publicaré ahí las actualizaciones. ;)

Cita:

Empezado por tiammat (Mensaje 452261)
Yo todavía tengo en uso las GH's y me son indispensables. Prometo utilizarlas, a ver qué puedo sugerirte añadir.

Adelante Felipe, eso es precisamente lo que hace falta: usarla y señalar abiertamente lo que deba mejorarse o añadirse, aportar ideas e incluso código.

Cita:

Empezado por fjcg02 (Mensaje 452276)
Intentaré documentarla e incluir demostraciones de uso para ver cómo puedes aumentar el nº de personas que la utilice.

¡Gracias Javier! Tómate tu tiempo, sabes bien que valoro lo que haces. Aunque no debemos pensar tanto en el número de usuarios, más bien en las soluciones que esta biblioteca pueda proporcionar.

Nuevamente gracias y esperemos que salga algo bueno al abrir esta caja de Pandora. :)

TiammatMX 28-12-2012 14:36:00

Cita:

Empezado por Al González (Mensaje 452325)
...Adelante Felipe, eso es precisamente lo que hace falta: usarla y señalar abiertamente lo que deba mejorarse o añadirse, aportar ideas e incluso código...

¡¡Duda, maestro!! ¿Debo desinstalar las IGH antes, verdad? Creo que ya le dí en la torre a algo... :o

Al González 28-12-2012 19:10:36

Cita:

Empezado por tiammat (Mensaje 452593)
¿Debo desinstalar las IGH antes, verdad?

Aunque las IGH (Interfaz GH) son de hace ya algunos años, te recomiendo que las mantengas instaladas si es que las usas en algún proyecto. La nueva GH Freebrary no incluye todas las funciones de aquella ni tampoco conserva los mismos nombres (ahora todos los nombres son en inglés).

Yo tengo instaladas ambas por cierto proyecto que necesita de las dos y no he visto ningún problema. ¿Qué ocurre en tu caso?

Saludos desde Los Mochis, Sinaloa. :)

Al.

AGAG4 18-01-2013 03:57:19

Saludos alberto, OTRO ZARANDEADO ?? :)

Ando investigando apenas como leer un archivo XML como si fuera un dataset ó un archivo .ini, serviria la liberia GHFXMLDoc.pas ??

Tienes ejemplos de como se usa ??

saludos....

Al González 18-01-2013 05:07:20

Hola Alfredo, que gusto verte (ahora a distancia). ;)

Sí te sirve, pero no como data set. Es decir, no puedes simplemente asignarla a un TDataSource, ya que TghXMLDoc es para leer y escribir cualquier archivo XML, pero "a patín" (aunque no estaría mal añadirle algunos métodos para pasar en automático información a un TDataSet).

Sería bueno, si gustas, que adjuntaras aquí uno de los archivos que deseas leer (si es información sensible la puedes alterar) y me dices cuáles son los datos a extraer, para ponerte un ejemplo de cómo sería usando esta clase. :)

Abrir el archivo no tiene ciencia, pero para ubicar la información a leer cuenta con varios métodos que soportan expresiones XPath (FindNode, FindNodes, LocateNode, Node y Nodes).

Código Delphi [-]
Var
  Doc :TghXMLDoc;
Begin
  Doc := TghXMLDoc.Create ('C:\AGAG4\Docs\ReporteSemanal.xml');
  // Al constructor también se le puede dar el texto XML directamente
  
  Try
    // Aquí leer o modificar el contenido del documento (objeto Doc)

    Doc.Save;  // Guardar los cambios en el mismo archivo
    // O bien, guardar el documento con otro nombre:
    Doc.Save ('C:\AGAG4\Docs\ReporteModificado.xml');
  Finally
    Doc.Free;
  End;

Esta clase emplea una de las APIs de Windows, llamada MSXML. Con la clase intento que el trabajo del programador resulte más sencillo. :)

Ya sabes, si gustas pon por aquí una copia del documento o algo que se le parezca y con gusto hacemos el ejercicio de cómo leer el contenido.

Saludos.

Al.

P.D. El siguiente zarandeado lo invitaré yo. ^\||/

Al González 21-01-2013 05:26:07

Acabo de subir una actualización. Respecto a la anterior, se incluyen unas 30 funciones adicionales, varias de ellas para manejo de cadenas de caracteres y conversión de valores numéricos a su expresión con letras. Otras son para operaciones matemáticas aplicando redondeo, además de funciones para mostrar mensajes de diálogo al usuario, entre diversas más.

La parte más relevante de esta actualización consiste en las unidades GHFXXX_Reg del directorio Registration, con las que ahora ya pueden instalarse los componentes en el IDE.

Incluí también dos archivos de texto: License.txt (la licencia, misma que está en el interior de los .pas) e Install.txt (las instrucciones de instalación).

Las clases de componentes instalables en la paleta son:
  • TghDataSource
  • TghClientDataSet
  • TghDataSetProvider
  • TghSQLConnection
  • TghFirebirdSQLConnection
  • TghSQLQuery
  • TghSavePoints

http://terawiki.clubdelphi.com/Delph...7_20130120.zip

Reitero mi agradecimiento a los amigos Delphi que han mostrado interés en probar y comentar sus puntos de vista sobre este trabajo, a fin de ayudar a perfeccionarlo.

Un saludo.

Al.

Neftali [Germán.Estévez] 21-01-2013 09:27:36

Gracias de nuevo a tí, Al; Por compartir y mejorar esta librería.

Casimiro Notevi 21-01-2013 10:20:21

Gracias... ^\||/

fjcg02 21-01-2013 10:43:23

Cita:

Empezado por Neftali (Mensaje 453754)
Gracias de nuevo a tí, Al; Por compartir y mejorar esta librería.

...biblioteca...

que si no Al se enfada ;)

Saludos

nlsgarcia 21-01-2013 14:37:03

Al González,

Excelente ^\||/ :)

Nelson.

marcoszorrilla 21-01-2013 15:04:24

Muchas gracias Al.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 04:45:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi