Diferencias HMG 3.0.42 vs 3.2

HMG Unicode versions 3.1.x related

Moderator: Rathinagiri

joposadas

Diferencias HMG 3.0.42 vs 3.2

Post by joposadas »

Grupo,

Soy seguidor y usuario de HMG desde hace 3 años, y hasta el momento me ha encantado trabajar con la versión HMG3.0.42, y he seguido los comentarios sobre la version HMG 3.1 y ahora la HMG 3.2 , y a partir de esto me ha nacido la siguiente pregunta:
¿porque tener dos "versiones" es decir HMG3.0.42 y la HMG3.2?, se que la 3.2 es UNICODE pero ¿eso es todo? es decir, porque no se unifican y se hace una sola?

Yo he instalado las version 3.1 desde hace tiempo, pero no he podido compilar ya que estoy muy acostumbrado al BUILD.BAT de la version 3.0.42

¿Llegará el momento en qué solo se mantenga una?

De antemano gracias por su comentario

PD. No es mi deseo hacer polémica, únicamente no tengo muy clara la idea de mantener dos versiones.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Diferencias HMG 3.0.42 vs 3.2

Post by Pablo César »

joposadas wrote:¿porque tener dos "versiones" es decir HMG3.0.42 y la HMG3.2?
Yo no veo el por qué estar no usando la ultima version. Al menos que un sistema ya habia sido desarrollado en ANSI (antes de la 3.1). Pero yo buscaria de todas formas migrar para UNICODE, asi consigo aprovechar nuevos recursos de la ultima version lanzada.
es decir, porque no se unifican y se hace una sola?
Son ambientes diferentes.
Yo he instalado las version 3.1 desde hace tiempo, pero no he podido compilar ya que estoy muy acostumbrado al BUILD.BAT de la version 3.0.42
No veo por qué no usar el Build.bat de las versiones 3.1 o 3.2.
joposadas wrote:PD. No es mi deseo hacer polémica, únicamente no tengo muy clara la idea de mantener dos versiones.
Sin problemas Jorge. Tu opinion y tus dudas pueden sumarse con muchas otras personas más.

Jorge, para que entiendas un poco más sobre OEM (DOS) / ANSI (WINDOWS) / UNICODE (WINDOWS/INTERNET) vamos decir que es más o menos eso.

Ahora abrí un Editor de textos que generalmente usabas en Clipper (no sé si pasates por el viejo Clipper). Un ejemplo es el editor QEdit.exe click aqui para bajarlo, escribí algo con acentos e grabálo con un nombre.

Despues abrí el Notepad++. Crea un archivo nuevo, escribi lo mismo que habias escrito con QEdit (con acentos). Andá al menu Encoding y eligis la opcion "Encoding in ANSI", grabalo con otro nombre.

En el mismo Notepad, abri otro archivo nuevo, escribi lo mismo que habias escrito con QEdit (con acentos). Andá al menu Encoding y eligis la opcion "Encoding in UTF-8", grabalo con otro nombre.

Ahora andá al prompt del DOS (linea de comando). Y dale un TYPE <nombre_de_archivo> y verás el contenido de los tres archivos. Vas a notar que no son los mismos. Pero el texto que digitaste en las 3 ocasiones, tienen que ser palabras con acentuacion y el mismo contenido.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
srvet_claudio
Posts: 2193
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: Diferencias HMG 3.0.42 vs 3.2

Post by srvet_claudio »

Hola Jorge.
Existe algo de confusión con respecto a HMG Unicode.
joposadas wrote: ¿porque tener dos "versiones" es decir HMG3.0.42 y la HMG3.2?, se que la 3.2 es UNICODE pero ¿eso es todo? es decir, porque no se unifican y se hace una sola?
No son dos "versiones" diferentes, HMG3.2 es la evolución (complementación) natural de HMG3.0.42, con HMG3.2 podes seguir compilando tus programas en ANSI sin hacer modificaciones en el código fuente de tus aplicaciones, pero tiene la gran ventaja que HMG3.2 tiene muchos mas recursos y mejoras en los controles que las versiones anteriores de HMG.

Cuando escribes un programa en ANSI obligatoriamente utilizas un determinado código de pagina según el idioma en el cual muestres tus mensajes (ej. español, portugués, ingles, etc.), Unicode simplemente es un código de pagina universal donde no tenes que preocuparte por las limitaciones del idioma. Inclusive podes desarrollar programas mixtos una parte en ANSI y la otra en Unicode.

Si utilizas un código de pagina que no sea Unicode tenes un máximo de 255 caracteres disponibles, en cambio con Unicode no tenes esa limitación todos los caracteres de todos los idiomas están disponibles.
Por ejemplo si desarrollas una aplicación que sea la implementación de una calculadora cientifica y utilizas un código de pagina cualquiera que no sea Unicode, no lo podras desarrollar en ANSI porque muchos símbolos matemáticos no están disponibles en los códigos de pagina español, ingles, etc.
Esto no quiere decir que tengas que codificar todas tus aplicaciones en Unicode, por ejemplo si los caracteres que aparecen en el código de pagina en español son suficientes para tus aplicaciones pues sigue programando en ANSI, pero compilando con HMG3.2 que es mucho mas actualizado en cuanto a comandos, controles, funciones, lectura del teclado, dibujo, gráficos, etc.

Para desarrollar aplicaciones en ANSI, lo único que tenes que explicitar en HMG3.2 es al inicio de la función main el código de pagina del idioma que vas a utilizar, porque por defecto HMG3.2 utiliza el código de pagina Unicode.

Ejemplo:

Code: Select all

#include "hmg.ch"

Function Main
// Declaracion de variables estaticas, locales, etc.

SET CODEPAGE TO SPANISH


// definicion de ventanas, controles, etc. tal cual lo haces en HMG3.0.42 

Return

// Código de otras funciones, etc


Saludos,
Claudio.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
danielmaximiliano
Posts: 2607
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Diferencias HMG 3.0.42 vs 3.2

Post by danielmaximiliano »

Hola Jorge :
Si te sientes comodo trabajando con HMG.3.0.42 y no encontraste limitaciones en los controles que se incluyen en HMG sigue usandolo .
hubo un tiempo en que desarrollabas en Clipper y en ambientes D.O.S en modo consola de 16 bits.
con las nuevas maquina de 32 bits y los nuevos sistemas operativos multitareas de 32 bits reales permitina correr esas viejas aplicaciones hasta que el S.O dijo basta y hubo la necesidad de otro SET de HERRAMIENTAS asi tenemos a Harbour que permite con minimos cambios compilar y ejecutar ese viejo codigo fuente a 32 BITS en modo consola.
Tenemos a ROBERTO que arma una envoltura (Wrapper) de los controles de Windows y crea HMG, como en informatica nada es perfecto
o sencillamente nos quedamos corto ante el avance de la tecnologia se necesita que estos CONTROLES de HMG se agrande con nuevas cualidades por ende que HMG tenga nuevas versiones.
tambien gracias el trabajo de Claudio y el apoyo de otros amigos de HMG este crece.
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
dhaine_adp
Posts: 457
Joined: Wed Aug 06, 2008 12:22 pm
Location: Manila, Philippines

Re: Diferencias HMG 3.0.42 vs 3.2

Post by dhaine_adp »

Hi Jorge,

In addition to what had been said by Dr. Claudio and Pablo roughly the HMG 3.0.42 is OEM/ANSI/DOS/ASCII and HMG 3.1.x and HMG 3.2 supports Unicode. Basically from the ASCII table beginning with CHAR(0) TO CHAR(200) OEM/ANSI/DOS/ASCII have the same character set. But above CHAR(201) and beyond they represent a different character. In this regards, using HMG Unicode is an advantage besides Unicode is a defacto standard that supersedes ASCII character. If you still remember EBCDIC, it has been superseded by ASCII/ ANSI. In summary HMG Unicode is a step forward that changes character set or code pages used by your/our program.

HMG Unicode uses UTF8(? if I am not mistaken, the same with Harbour) without Byte Order Mark (BOM). You can still use HMG 3.2 in ANSI source code but you must recompile the HMG library in ANSI format. There is batch file, "buildlib.bat" that comes along with the HMG distribution. You can select which build you'd like to compile.

Switching to Unicode means you'll have to change your source code to unicode as well. Migrating the codes also means you'll definitely needs to come out with a plan on how to do it because it may impact your existing codes and database as well. For me I wrote new applications in Unicode. I just rebuild the HMG library in ANSI and Unicode and put them in separate directory.

The impact depends on how frequently you used characters above CHAR(200) on your source code and database contents. In the PRG level most probably it has no effect but in comments and in variable contents most probably it has. Switching is not that hard all you have to do is Save As (depending on your source code editor). Then from there you'll have to put back the missing or substituted character (due to conversion process).

Moving is not that difficult you can do it in slow but progressive process, that's why (you will need the two versions, ANSI and Unicode). After all its matter of preference but let's end this with a joke: Where would you like to be at alone? (1) In a room with an old ANSI lady or (2) with a hot Unicode Mama? :)

Regards,

Danny
Regards,

Danny
Manila, Philippines
Javier Tovar
Posts: 1275
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México

Re: Diferencias HMG 3.0.42 vs 3.2

Post by Javier Tovar »

Amigo Jorge

Creo que muchas veces no queremos cambiar de versión por que nos sentimos cómodos con la que usamos, pero la realidad es que tenemos que ir evolucionando como lo ha hecho Clipper5.0. Clipper5.2, después Clipper5.3... Desaparecio del mapa Clipper por un rato y ahora surge HMG con Roberto López (Esto es solo es historia que he leído de Clipper), ya que yo empece usando HMG3.0.46 y después HMG.3.1.5 y si hay sus detalles que hay que seguir en el Foro, pero gracias a muchos amigos del Foro he logrado acomodarme en la ultima versión, y si hay una diferencia en presentación y capacidad en diferentes controles, y "son mejores", y eso ami me gusta.


Gracias a todos de antemano por la nueva versión. Ya que no es fácil. Felicidades!

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Jorge friend

I think many times we do not change version that we felt comfortable with what we use, but the reality is that we need to evolve as it has Clipper5.0. Clipper5.2 after Clipper5.3 ... Clipper map disappeared for a while and now comes with HMG Roberto Lopez (This is only story I've read of Clipper) since I started using HMG3.0.46 HMG.3.1.5 then and if their details to be continue in the Forum, but thanks to many friends I have made ​​Forum settling into the latest version, and if there is a difference in presentation and ability in different controls, and "are better", which I like ami.

Thank you all in advance for the new version. Since it is not easy. Congratulations!
joposadas

Re: Diferencias HMG 3.0.42 vs 3.2

Post by joposadas »

Grupo,

Muchas gracias por sus respuestas, veo entonces que no hay mucho problema para el cambio, asi que empezaré a hacer mis cambios de 3.2 (y veo que en 3.2 hay 2 directorios para el IDE, asi que empezaré a usar el que dice solo IDE y dejare a un lado el IDE_ANSI).

Y si tengo dudas, las haré públicas para el auxilio correspondiente.

P.D. Solo como comentario yo ya uso desde hace 3 años, MS-SQL, SQL-Express y SQLite, ya he dejado a un lado DBF y realmente la respuesta es fabulosa, solo es algo lento cuando cargo un resultset en un grid, pero fuera de eso me encanta HMG +SQL.

Y aprovecho para felicitar dede Roberto López hasta los que han continuado con este cambio, realmente me han vuelto la pasión por programar ya que no me agrado .NET ni VB, ni Clarion, ni WinDev

De nuevo muchas gracias a esas personas que dedican su tiempo para mejorar HMG
User avatar
srvet_claudio
Posts: 2193
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: Diferencias HMG 3.0.42 vs 3.2

Post by srvet_claudio »

dhaine_adp wrote:Where would you like to be at alone? (1) In a room with an old ANSI lady or (2) with a hot Unicode Mama? :)
Is the best definition I've seen of why migrate to Unicode :lol:
Unicode please !!! :lol: :lol: :lol:
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
mol
Posts: 3718
Joined: Thu Sep 11, 2008 5:31 am
Location: Myszków, Poland
Contact:

Re: Diferencias HMG 3.0.42 vs 3.2

Post by mol »

Please remember that DBF files (still used database files) do not support UNICODE!!!
So, you must remember to convert character fields before read or write from/to database.
User avatar
CalScot
Posts: 303
Joined: Thu Mar 21, 2013 12:22 am
Location: California

Re: Diferencias HMG 3.0.42 vs 3.2

Post by CalScot »

Hi, Marek.

You wrote:
Please remember that DBF files (still used database files) do not support UNICODE!!!
So, you must remember to convert character fields before read or write from/to database
I'm not 100% sure that I understand. Do you mean that characters that are not part of the ANSI (or ASCII) set cannot be saved in a DBF file, so that Unicode and DBF files are basically incompatible without complex(?) character-data conversion routines?
If so, maybe it's because I use only (American) English that I haven't really thought about this, but it sounds like we're heading towards the end of DBF files! :(

Regards,
CalScot
Post Reply