<![CDATA[HMGforum.com]]> http://mail.hmgforum.com Smartfeed extension for phpBB <![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by danielmaximiliano]]> 2026-10-02T00:56:35+00:00 2026-10-02T00:56:35+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72511#p72511 genero un IDE con modulos que viene bien para poder mejorarlo y no tener que revisar creo las 50.000 lineas de codigo, ahora es mas comodo trabajar.
tambien le pedi revisar la libreria HMG en busca de fallos y corrigio muy poco. también le pedí optimizar Tooltip y MSGxx , nuevos script para compilar la libreria, crear el IDE unicode con Harbour64, mientras compilaba Harbour desde los fuentes en las versiones 32 y 64 bits con Mingw 32 y Mingw64 desde WinLibs.com
dejo un Flujo de trabajo del resultado :

Hi everyone: I’ve been integrating Qwen 3.8 into a local CUBE setup recently; I asked it to review `IDE_CODESOURCE.prg` and split it into modules.
It generated a modular IDE, which makes improvements much easier—avoiding the need to sift through what I believe are 50,000 lines of code—so working with it is now much more convenient.
I also asked it to check the HMG library for bugs (though it fixed very few) and to optimize the Tooltip and MSGxx functions. Additionally, I had it create new scripts to compile the library and build the Unicode IDE using Harbour64, all while compiling Harbour from source for both 32-bit and 64-bit versions using MinGW32 and MinGW64 from WinLibs.com.
Here is the workflow of the result:
| Component | Versión | Ubicación / Location |
| ---------------------------------------------------------------------| ----------------------------- |
| Harbour | 3.2.1dev (r2609180937), ©1999-2025 | C:\hmg.3.7\harbour64\bin |
| GCC | x86_64-posix-seh-rev1, MinGW-Builds 16.1.0 | C:\hmg.3.7\mingw64\bin |
| HB_COMPILER | mingw64 → libs en LIB-64 | |
| ---------------- | ---------------------------------------------------- | ----------------------------- |
| Harbour | 3.2.1dev (r2609180937), ©1999-2025 | C:\hmg.3.7\harbour\bin |
| GCC | i686-ucrt-posix-dwarf r3 (Brecht Sanders) 14.2.0 | C:\hmg.3.7\mingw\bin |
| HB_COMPILER | mingw → libs en lib | |
| ---------------- | ---------------------------------------------------- | ----------------------------- |


Ejecutar / Run : C:\hmg.3.7\BuildLib32.bat
Ejecutar / Run : C:\hmg.3.7\BuildLib64.bat
Ejecutar / Run : C:\hmg.3.7\BuildIDE.bat
Ejecutar / Run : C:\hmg.3.7\ide\unicode.exe

Los scripts de construcción de libhmgxx.a tiene barra de progreso como asi tambien la construccion del IDE , ya no es un proceso silencioso
The libhmgxx.a construction scripts have a progress bar as well as the construction of the IDE, but it is not a silent process



Nuevo / New : Toolbutton solo accesible desde NewForm()

nuevo / New : ToolTip
ejemplos / Sample : C:\hmg.3.7\samples\Controls\ToolTip\ToolTip_Styles
Reference : file:///C:/hmg.3.7/doc/data/settooltipstyle.htm

Nuevo / New : MessageBox
Ejemplo / Sample : C:\hmg.3.7\samples\Controls\MessageBox\MessageBox_Styles
Reference : file:///C:/hmg.3.7/doc/data/SetMsgBoxModern.htm

ANSI declarado Obsoleto.
ANSI declared obsolete.

Se elimino Tooltip de la solapa configuracion del inspector de proyecto en Unicode , molesta y tiene mala lectura. Por ende al crear un proyecto nuevo se agregan al .hbc
sino se puede copiar desde aqui : C:\hmg.3.7\source\unicode\Config.hbc

If I delete Tooltip from the Unicode configuration of the project inspector, it is annoying and has bad reading. Why do you want to create a new project? Add to .hbc
You can copy it from here: C:\hmg.3.7\source\unicode\Config.hbc
como es un .rar muy grande que pesa unos 540mb que no se puede subir aqui los invito a descargarlo desde mi canal de telegram que esta en la firma de este POST.]]>
genero un IDE con modulos que viene bien para poder mejorarlo y no tener que revisar creo las 50.000 lineas de codigo, ahora es mas comodo trabajar.
tambien le pedi revisar la libreria HMG en busca de fallos y corrigio muy poco. también le pedí optimizar Tooltip y MSGxx , nuevos script para compilar la libreria, crear el IDE unicode con Harbour64, mientras compilaba Harbour desde los fuentes en las versiones 32 y 64 bits con Mingw 32 y Mingw64 desde WinLibs.com
dejo un Flujo de trabajo del resultado :

Hi everyone: I’ve been integrating Qwen 3.8 into a local CUBE setup recently; I asked it to review `IDE_CODESOURCE.prg` and split it into modules.
It generated a modular IDE, which makes improvements much easier—avoiding the need to sift through what I believe are 50,000 lines of code—so working with it is now much more convenient.
I also asked it to check the HMG library for bugs (though it fixed very few) and to optimize the Tooltip and MSGxx functions. Additionally, I had it create new scripts to compile the library and build the Unicode IDE using Harbour64, all while compiling Harbour from source for both 32-bit and 64-bit versions using MinGW32 and MinGW64 from WinLibs.com.
Here is the workflow of the result:
| Component | Versión | Ubicación / Location |
| ---------------------------------------------------------------------| ----------------------------- |
| Harbour | 3.2.1dev (r2609180937), ©1999-2025 | C:\hmg.3.7\harbour64\bin |
| GCC | x86_64-posix-seh-rev1, MinGW-Builds 16.1.0 | C:\hmg.3.7\mingw64\bin |
| HB_COMPILER | mingw64 → libs en LIB-64 | |
| ---------------- | ---------------------------------------------------- | ----------------------------- |
| Harbour | 3.2.1dev (r2609180937), ©1999-2025 | C:\hmg.3.7\harbour\bin |
| GCC | i686-ucrt-posix-dwarf r3 (Brecht Sanders) 14.2.0 | C:\hmg.3.7\mingw\bin |
| HB_COMPILER | mingw → libs en lib | |
| ---------------- | ---------------------------------------------------- | ----------------------------- |


Ejecutar / Run : C:\hmg.3.7\BuildLib32.bat
Ejecutar / Run : C:\hmg.3.7\BuildLib64.bat
Ejecutar / Run : C:\hmg.3.7\BuildIDE.bat
Ejecutar / Run : C:\hmg.3.7\ide\unicode.exe

Los scripts de construcción de libhmgxx.a tiene barra de progreso como asi tambien la construccion del IDE , ya no es un proceso silencioso
The libhmgxx.a construction scripts have a progress bar as well as the construction of the IDE, but it is not a silent process



Nuevo / New : Toolbutton solo accesible desde NewForm()

nuevo / New : ToolTip
ejemplos / Sample : C:\hmg.3.7\samples\Controls\ToolTip\ToolTip_Styles
Reference : file:///C:/hmg.3.7/doc/data/settooltipstyle.htm

Nuevo / New : MessageBox
Ejemplo / Sample : C:\hmg.3.7\samples\Controls\MessageBox\MessageBox_Styles
Reference : file:///C:/hmg.3.7/doc/data/SetMsgBoxModern.htm

ANSI declarado Obsoleto.
ANSI declared obsolete.

Se elimino Tooltip de la solapa configuracion del inspector de proyecto en Unicode , molesta y tiene mala lectura. Por ende al crear un proyecto nuevo se agregan al .hbc
sino se puede copiar desde aqui : C:\hmg.3.7\source\unicode\Config.hbc

If I delete Tooltip from the Unicode configuration of the project inspector, it is annoying and has bad reading. Why do you want to create a new project? Add to .hbc
You can copy it from here: C:\hmg.3.7\source\unicode\Config.hbc
como es un .rar muy grande que pesa unos 540mb que no se puede subir aqui los invito a descargarlo desde mi canal de telegram que esta en la firma de este POST.]]>
<![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by serge_girard]]> 2026-10-02T06:55:11+00:00 2026-10-02T06:55:11+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72512#p72512 <![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by Steed]]> 2026-10-07T14:49:33+00:00 2026-10-07T14:49:33+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72522#p72522 <![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by danielmaximiliano]]> 2026-10-09T10:34:52+00:00 2026-10-09T10:34:52+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72528#p72528
viendo las aplicaciones actuales de agentes de IA, Navegadores WEB, etc. Veo que las interfaces GUI esta marcada por elementos (controles) sencillos dejando de lado toscos menues , recuadros cuadrados, etc algo que se viene arrastrando desde decadas. hoy las interfaces son mas lindas de ver y simples.
como les dije que actualemente estoy haciendo con mi tiempo libre un poco de programacion y reparacion de equipos (soy técnico eléctronico) que tuve mucho tiempo olvidados :mrgreen:
esta demas decirle que estas implementacion como asi tambien la correccion de build.bat y build64.bat en HMG.3.6 que queria lanzar ( no recuerdo si erá ViewReport.exe) ahora si lanza Notepad con el resultado de compilacion en caso de errores.
asi como tambien los ejemplos tienes 2 versiones (build.bat para los nostalgicos de 32 bits y build64.bat )

mas tarde subire las actualizaciones a mi grupo de telegram que esta en la firma de este post.
Captura de pantalla 2026-10-09 071709.png
Captura de pantalla 2026-10-09 071611.png
Captura de pantalla 2026-10-09 071524.png

Attachments


Captura de pantalla 2026-10-09 071709.png (130.32 KiB)


Captura de pantalla 2026-10-09 071611.png (41.38 KiB)


Captura de pantalla 2026-10-09 071524.png (38.68 KiB)

]]>

viendo las aplicaciones actuales de agentes de IA, Navegadores WEB, etc. Veo que las interfaces GUI esta marcada por elementos (controles) sencillos dejando de lado toscos menues , recuadros cuadrados, etc algo que se viene arrastrando desde decadas. hoy las interfaces son mas lindas de ver y simples.
como les dije que actualemente estoy haciendo con mi tiempo libre un poco de programacion y reparacion de equipos (soy técnico eléctronico) que tuve mucho tiempo olvidados :mrgreen:
esta demas decirle que estas implementacion como asi tambien la correccion de build.bat y build64.bat en HMG.3.6 que queria lanzar ( no recuerdo si erá ViewReport.exe) ahora si lanza Notepad con el resultado de compilacion en caso de errores.
asi como tambien los ejemplos tienes 2 versiones (build.bat para los nostalgicos de 32 bits y build64.bat )

mas tarde subire las actualizaciones a mi grupo de telegram que esta en la firma de este post.
Captura de pantalla 2026-10-09 071709.png
Captura de pantalla 2026-10-09 071611.png
Captura de pantalla 2026-10-09 071524.png

Attachments


Captura de pantalla 2026-10-09 071709.png (130.32 KiB)


Captura de pantalla 2026-10-09 071611.png (41.38 KiB)


Captura de pantalla 2026-10-09 071524.png (38.68 KiB)

]]>
<![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by apais]]> 2026-10-09T18:57:45+00:00 2026-10-09T18:57:45+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72530#p72530
Podrías decirme que hardware estás usando para correr Qwen en modo local ?

Saludos
Angel]]>

Podrías decirme que hardware estás usando para correr Qwen en modo local ?

Saludos
Angel]]>
<![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by danielmaximiliano]]> 2026-10-09T23:00:43+00:00 2026-10-09T23:00:43+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72531#p72531
apais wrote: ↑Fri Oct 09, 2026 6:57 pm Hola Daniel

Podrías decirme que hardware estás usando para correr Qwen en modo local ?

Saludos
Angel
Hola :
Esa en una empresa lo hago remotamente mientras pruebo la instalacion, despues te doy el contexto del Harware que hay , que CUBE compraron.]]>
apais wrote: ↑Fri Oct 09, 2026 6:57 pm Hola Daniel

Podrías decirme que hardware estás usando para correr Qwen en modo local ?

Saludos
Angel
Hola :
Esa en una empresa lo hago remotamente mientras pruebo la instalacion, despues te doy el contexto del Harware que hay , que CUBE compraron.]]>
<![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by danielmaximiliano]]> 2026-10-09T23:08:07+00:00 2026-10-09T23:08:07+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72532#p72532 mientras pruebo Qwen 3.8 hice nuevas mejoras a HMG.3.7 beta.
les recuerdo que esta incluido Harbour y Harbour64, MinGW y MinGW64, el nuevo IDE, la nueva libreria.
nuevos Ejemplo con sus respectivos constructores (build y build64.bat) para compilar el sabor que quieran :D

les recuerdo que el archivo .rar esta disponible en mi grupo de Telegram porque pesa 560mb y aqui no tiene la capacidad para compartirlo.

nuevo ToolTip, TextBox, Frame, EditBox y RichEdit con contornos redondo al nuevo estilo de aplicaciones actuales.

ver : C:\hmg.3.7\samples\Basics\MAIN_AUTOADJUST_2
esta reflejado en la Referencia HMG para poder ver estas mejoras.

si ven posible mejoras enviar mensaje en telegram .
Captura de pantalla 2026-10-09 195724.png

Attachments


Captura de pantalla 2026-10-09 195724.png (161.79 KiB)

]]>
mientras pruebo Qwen 3.8 hice nuevas mejoras a HMG.3.7 beta.
les recuerdo que esta incluido Harbour y Harbour64, MinGW y MinGW64, el nuevo IDE, la nueva libreria.
nuevos Ejemplo con sus respectivos constructores (build y build64.bat) para compilar el sabor que quieran :D

les recuerdo que el archivo .rar esta disponible en mi grupo de Telegram porque pesa 560mb y aqui no tiene la capacidad para compartirlo.

nuevo ToolTip, TextBox, Frame, EditBox y RichEdit con contornos redondo al nuevo estilo de aplicaciones actuales.

ver : C:\hmg.3.7\samples\Basics\MAIN_AUTOADJUST_2
esta reflejado en la Referencia HMG para poder ver estas mejoras.

si ven posible mejoras enviar mensaje en telegram .
Captura de pantalla 2026-10-09 195724.png

Attachments


Captura de pantalla 2026-10-09 195724.png (161.79 KiB)

]]>
<![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by danielmaximiliano]]> 2026-10-11T00:25:49+00:00 2026-10-11T00:25:49+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72534#p72534
El nuevo IDE hoy trabaja con las nuevas propiedades Rounded para Frame, TextBox, EditBox, Richedit.

Captura de pantalla 2026-10-10 212250.png

Attachments


Captura de pantalla 2026-10-10 212250.png (138.46 KiB)

]]>

El nuevo IDE hoy trabaja con las nuevas propiedades Rounded para Frame, TextBox, EditBox, Richedit.

Captura de pantalla 2026-10-10 212250.png

Attachments


Captura de pantalla 2026-10-10 212250.png (138.46 KiB)

]]>
<![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by danielmaximiliano]]> 2026-10-11T03:31:59+00:00 2026-10-11T03:31:59+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72535#p72535 hoy correcciones en el inspector de objetos.
fuentes de verdad el manual de referencia y en generador de formularios al guardar dicho formularios.
Row / col
Heigth y Width
Captura de pantalla 2026-10-11 002532.png
hoy estare publicando las correcciones en mi canal de telegram.

Attachments


Captura de pantalla 2026-10-11 002532.png (126.32 KiB)

]]>
hoy correcciones en el inspector de objetos.
fuentes de verdad el manual de referencia y en generador de formularios al guardar dicho formularios.
Row / col
Heigth y Width
Captura de pantalla 2026-10-11 002532.png
hoy estare publicando las correcciones en mi canal de telegram.

Attachments


Captura de pantalla 2026-10-11 002532.png (126.32 KiB)

]]>
<![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by huiyi_ch]]> 2026-10-11T08:58:05+00:00 2026-10-11T08:58:05+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72537#p72537
Due to network restrictions ,I am Unable to download hmg3.7 from the location you specified. Is there any way I can obtain this software?]]>

Due to network restrictions ,I am Unable to download hmg3.7 from the location you specified. Is there any way I can obtain this software?]]>
<![CDATA[HMG 64 Bits :: Re: HMG 3.6 (64 bit version) :: Reply by danielmaximiliano]]> 2026-10-11T10:50:59+00:00 2026-10-11T10:50:59+00:00 http://mail.hmgforum.com/viewtopic.php?f=46&t=7433&p=72538#p72538
huiyi_ch wrote: ↑Sun Oct 11, 2026 8:58 am Hello danielmaximiliano

Due to network restrictions ,I am Unable to download hmg3.7 from the location you specified. Is there any way I can obtain this software?
Comprendo : digame a que servicio puede acceder y le daré el link

uso el Canal de Telegram porque puedo agregar los archivos directamente dado que la plataforma Telegram no hay resticciones de tipo de archivos ni tamaños. Ademas de muchas cualidades que tiene Telegram como servicio de mensajeria]]>
huiyi_ch wrote: ↑Sun Oct 11, 2026 8:58 am Hello danielmaximiliano

Due to network restrictions ,I am Unable to download hmg3.7 from the location you specified. Is there any way I can obtain this software?
Comprendo : digame a que servicio puede acceder y le daré el link

uso el Canal de Telegram porque puedo agregar los archivos directamente dado que la plataforma Telegram no hay resticciones de tipo de archivos ni tamaños. Ademas de muchas cualidades que tiene Telegram como servicio de mensajeria]]>
<![CDATA[HMG General Help :: Re: Actualización del Ejecutable. :: Reply by danielmaximiliano]]> 2026-09-12T02:05:21+00:00 2026-09-12T02:05:21+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7776&p=72459#p72459
mjaviergutierrez wrote: ↑Tue Sep 08, 2026 5:55 pm Hola Colegas !
Dejo una inquietud, que no sé si ya ha sido tratada, por que no sé como buscarla.
Tengo un sistema instalado en 5 PC's y cada vez que hago una modificación , tengo que reemplazar el .exe en todas las PC's , con lo que eso implica : coordinar para que me pasen el remoto, esperar, que esta la PC esta apagada, suspendida , etc.
Que metodo / forma utilizan para actualizar sus sistemas en las PC 's de los clientes ?
Saludos !
Hola Javier:
estoy haciendo un UniversalUpdater.
hay que integrar un modulo en la aplicacion que se fija que en algun lugar (web) esta una nueva version de tu app y que hay disponible una actualizacion.
al cerrar la app lanza UniversalUpdater y te app se actualiza segun lo hacen las aplicaciones comerciales.. ahora estoy usando un server FTP en modo local (mi red en 192.168.100.17)
ya obtengo el archivo json ...
apenas lo tenga disponible y probado lo subo para integrar en as app creadas :)]]>
mjaviergutierrez wrote: ↑Tue Sep 08, 2026 5:55 pm Hola Colegas !
Dejo una inquietud, que no sé si ya ha sido tratada, por que no sé como buscarla.
Tengo un sistema instalado en 5 PC's y cada vez que hago una modificación , tengo que reemplazar el .exe en todas las PC's , con lo que eso implica : coordinar para que me pasen el remoto, esperar, que esta la PC esta apagada, suspendida , etc.
Que metodo / forma utilizan para actualizar sus sistemas en las PC 's de los clientes ?
Saludos !
Hola Javier:
estoy haciendo un UniversalUpdater.
hay que integrar un modulo en la aplicacion que se fija que en algun lugar (web) esta una nueva version de tu app y que hay disponible una actualizacion.
al cerrar la app lanza UniversalUpdater y te app se actualiza segun lo hacen las aplicaciones comerciales.. ahora estoy usando un server FTP en modo local (mi red en 192.168.100.17)
ya obtengo el archivo json ...
apenas lo tenga disponible y probado lo subo para integrar en as app creadas :)]]>
<![CDATA[HMG General Help :: Re: Actualización del Ejecutable. :: Reply by mol]]> 2026-09-13T19:55:11+00:00 2026-09-13T19:55:11+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7776&p=72462#p72462 Now I'm using my simple module for checking version of app installed in user's computer with version number placed on my web server.
If there is new version, client is asked for downloading and installing new one. I'm using InnoSetup to create installation file.]]>
Now I'm using my simple module for checking version of app installed in user's computer with version number placed on my web server.
If there is new version, client is asked for downloading and installing new one. I'm using InnoSetup to create installation file.]]>
<![CDATA[HMG General Help :: Re: Actualización del Ejecutable. :: Reply by danielmaximiliano]]> 2026-09-16T19:57:05+00:00 2026-09-16T19:57:05+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7776&p=72468#p72468
mol wrote: ↑Sun Sep 13, 2026 7:55 pm it sounds good and interesit, Daniel!
Now I'm using my simple module for checking version of app installed in user's computer with version number placed on my web server.
If there is new version, client is asked for downloading and installing new one. I'm using InnoSetup to create installation file.

Hola Mol, todas mis pruebas estan hechas contra el servidor Rebex Tiny que incluyo.

leer : UniversalUpdater_Guia_Principiantes.md

perdon por no traducir el documento, tambien hay un documento para la ayuda de una IA (pueden usar Zcode con una cuenta google, no pide numero telefonico )

IA : UniversalUpdater_Integracion_IA.md

compilar con HBMK2 agregando las rutas Harbour64 y MinGW64 (HMG) , los ejemplos corren en CMD.]]>
mol wrote: ↑Sun Sep 13, 2026 7:55 pm it sounds good and interesit, Daniel!
Now I'm using my simple module for checking version of app installed in user's computer with version number placed on my web server.
If there is new version, client is asked for downloading and installing new one. I'm using InnoSetup to create installation file.

Hola Mol, todas mis pruebas estan hechas contra el servidor Rebex Tiny que incluyo.

leer : UniversalUpdater_Guia_Principiantes.md

perdon por no traducir el documento, tambien hay un documento para la ayuda de una IA (pueden usar Zcode con una cuenta google, no pide numero telefonico )

IA : UniversalUpdater_Integracion_IA.md

compilar con HBMK2 agregando las rutas Harbour64 y MinGW64 (HMG) , los ejemplos corren en CMD.]]>
<![CDATA[HMG General Help :: Re: Actualización del Ejecutable. :: Reply by danielmaximiliano]]> 2026-09-17T01:59:27+00:00 2026-09-17T01:59:27+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7776&p=72469#p72469
documentacion en Español e Inlges

Attachments

UniversalUpdater.rar (12978.32 KiB)
]]>

documentacion en Español e Inlges

Attachments

UniversalUpdater.rar (12978.32 KiB)
]]>
<![CDATA[HMG General Help :: Re: Actualización del Ejecutable. :: Reply by serge_girard]]> 2026-09-17T06:57:05+00:00 2026-09-17T06:57:05+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7776&p=72471#p72471
Can you please explain in short how it works?

Thanks, Serge]]>

Can you please explain in short how it works?

Thanks, Serge]]>
<![CDATA[HMG General Help :: Re: Actualización del Ejecutable. :: Reply by danielmaximiliano]]> 2026-09-17T14:29:54+00:00 2026-09-17T14:29:54+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7776&p=72472#p72472
serge_girard wrote: ↑Thu Sep 17, 2026 6:57 am Daniel,

Can you please explain in short how it works?

Thanks, Serge
In the "Test" folder, there is an app (DemoApp.prg) designed to be part of your application or project; its function is to check a server for updates. If an update is found, it notifies the user; otherwise, your application continues running as usual.
Your app launches the update process either upon completion or whenever you choose.
Your app generates a JSON file, launches UniversalUpdater as an external application, and then closes itself.
UniversalUpdater handles the entire app update process (the content is packaged in a ZIP file, which can be digitally signed if desired).
UniversalUpdater verifies the package's integrity and performs the update; if any issues arise, it reverts everything to its previous state (thanks to a prior backup).
Full documentation is available in both Spanish and English, and a Markdown document is included to help an AI integrate UniversalUpdater into your app.
To run a test on your computer, you can use the Rebex Tiny FTP server included in the example. This allows you to execute

Code: Select all

C:\Proyectos\UniversalUpdater\TEST\Demo.cmd
from the command prompt and examine the files to see how UniversalUpdater works.

en la carpeta Test hay una app (DemoApp.prg) que sera parte de su aplicacion o proyecto , esta lo que hace es verificar contra un servidor si hay una actualizacion. si la hay informa. sino su aplicacion sigue como si no hubiese pasado nada.
su app al terminar de ejecutarse o cuando ud quiere lanza la actualizacion.
su app genera un json lanza UniversalUpdater como aplicacion externa y se cierra.
UniversalUpdater hace todo el trabajo de actualizar la app (el contenido esta en un ZIP con firma digital si usted quiere)
UniversalUpdater verifica la integridad del paquete, y realiza la actualizacion, si hay algun problema regresa todo como estaba (porque hubo un backup anteriormente).
tiene toda la documentacion en español e ingles para leer, tambien tiene un documento Markdown para hacer que una IA integre UniversalUpdate a su app.
si quiere correr un test en su computadora puede usar Rebex Tiny TFP que agregue al ejemplo y ejecutarlo. de esta manera puede desde la consola cmd ejecutar

Code: Select all

C:\Proyectos\UniversalUpdater\TEST\Demo.cmd
, puede revisar todos los archivos para ver como trabaja UniversalUpdate]]>
serge_girard wrote: ↑Thu Sep 17, 2026 6:57 am Daniel,

Can you please explain in short how it works?

Thanks, Serge
In the "Test" folder, there is an app (DemoApp.prg) designed to be part of your application or project; its function is to check a server for updates. If an update is found, it notifies the user; otherwise, your application continues running as usual.
Your app launches the update process either upon completion or whenever you choose.
Your app generates a JSON file, launches UniversalUpdater as an external application, and then closes itself.
UniversalUpdater handles the entire app update process (the content is packaged in a ZIP file, which can be digitally signed if desired).
UniversalUpdater verifies the package's integrity and performs the update; if any issues arise, it reverts everything to its previous state (thanks to a prior backup).
Full documentation is available in both Spanish and English, and a Markdown document is included to help an AI integrate UniversalUpdater into your app.
To run a test on your computer, you can use the Rebex Tiny FTP server included in the example. This allows you to execute

Code: Select all

C:\Proyectos\UniversalUpdater\TEST\Demo.cmd
from the command prompt and examine the files to see how UniversalUpdater works.

en la carpeta Test hay una app (DemoApp.prg) que sera parte de su aplicacion o proyecto , esta lo que hace es verificar contra un servidor si hay una actualizacion. si la hay informa. sino su aplicacion sigue como si no hubiese pasado nada.
su app al terminar de ejecutarse o cuando ud quiere lanza la actualizacion.
su app genera un json lanza UniversalUpdater como aplicacion externa y se cierra.
UniversalUpdater hace todo el trabajo de actualizar la app (el contenido esta en un ZIP con firma digital si usted quiere)
UniversalUpdater verifica la integridad del paquete, y realiza la actualizacion, si hay algun problema regresa todo como estaba (porque hubo un backup anteriormente).
tiene toda la documentacion en español e ingles para leer, tambien tiene un documento Markdown para hacer que una IA integre UniversalUpdate a su app.
si quiere correr un test en su computadora puede usar Rebex Tiny TFP que agregue al ejemplo y ejecutarlo. de esta manera puede desde la consola cmd ejecutar

Code: Select all

C:\Proyectos\UniversalUpdater\TEST\Demo.cmd
, puede revisar todos los archivos para ver como trabaja UniversalUpdate]]>
<![CDATA[HMG General Help :: Re: Actualización del Ejecutable. :: Reply by serge_girard]]> 2026-09-17T15:07:24+00:00 2026-09-17T15:07:24+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7776&p=72473#p72473 <![CDATA[HMG General Help :: Re: Actualización del Ejecutable. :: Reply by Steed]]> 2026-09-17T22:38:48+00:00 2026-09-17T22:38:48+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7776&p=72474#p72474 <![CDATA[HMG General Help :: ON KEY F12 not working :: Author serge_girard]]> 2026-09-21T09:09:34+00:00 2026-09-21T09:09:34+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7780&p=72483#p72483
How to solve pressing F keys not working?

In some application F6 won't work anymore and introducing new F12 function doesn't work.

Code: Select all

ON KEY F1			ACTION { ... ,... }	
ON KEY F6			ACTION { ... ,... }	
ON KEY F12		ACTION { ... ,... }	
Serge]]>

How to solve pressing F keys not working?

In some application F6 won't work anymore and introducing new F12 function doesn't work.

Code: Select all

ON KEY F1			ACTION { ... ,... }	
ON KEY F6			ACTION { ... ,... }	
ON KEY F12		ACTION { ... ,... }	
Serge]]>
<![CDATA[HMG General Help :: Re: ON KEY F12 not working :: Reply by danielmaximiliano]]> 2026-09-21T13:10:17+00:00 2026-09-21T13:10:17+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7780&p=72484#p72484
como no tengo un ejemplo de teclas Fxx busque en los ejemplos HMG y en la carpeta Evets hay uno que cubre todo.

es : C:\WorkSpace\hmg.3.6\SAMPLES\Events\On_Key\ON_KEY_3\demo.prg

se ejecuta, funcionan correctamente
Screenshot 2026-09-21 100435.png

Attachments


Screenshot 2026-09-21 100435.png (97.62 KiB)

]]>

como no tengo un ejemplo de teclas Fxx busque en los ejemplos HMG y en la carpeta Evets hay uno que cubre todo.

es : C:\WorkSpace\hmg.3.6\SAMPLES\Events\On_Key\ON_KEY_3\demo.prg

se ejecuta, funcionan correctamente
Screenshot 2026-09-21 100435.png

Attachments


Screenshot 2026-09-21 100435.png (97.62 KiB)

]]>
<![CDATA[HMG General Help :: Re: ON KEY F12 not working :: Reply by serge_girard]]> 2026-09-22T17:44:59+00:00 2026-09-22T17:44:59+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7780&p=72485#p72485
Key F1..F11 are working fine... F12 is NOT working, dunno why..?

Serge]]>

Key F1..F11 are working fine... F12 is NOT working, dunno why..?

Serge]]>
<![CDATA[HMG General Help :: Re: ON KEY F12 not working :: Reply by AUGE_OHR]]> 2026-09-22T19:45:59+00:00 2026-09-22T19:45:59+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7780&p=72486#p72486 i´m not sure about how F12 work but i have this in me CODE and it work
RegWrite( cKey + "UserDebuggerHotKey", 47 ) // F12
MsgInfo( "need Re-boot to use F12" )
...
ON KEY F12 OF Win_1 ACTION Win_1.Release
]]>
i´m not sure about how F12 work but i have this in me CODE and it work
RegWrite( cKey + "UserDebuggerHotKey", 47 ) // F12
MsgInfo( "need Re-boot to use F12" )
...
ON KEY F12 OF Win_1 ACTION Win_1.Release
]]>
<![CDATA[HMG General Help :: Re: ON KEY F12 not working :: Reply by serge_girard]]> 2026-09-23T06:29:42+00:00 2026-09-23T06:29:42+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7780&p=72488#p72488
Serge]]>

Serge]]>
<![CDATA[HMG General Help :: edk - Help required for downloading :: Author RPC]]> 2026-10-05T11:36:58+00:00 2026-10-05T11:36:58+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72514#p72514 I am back with some new problem in dowloading. Hope you can resolve it.
I want to download from this site
https://www.bseindia.com/corporates/List_Scrips.html
Segment - Equity T+1 On clicking Submit button the list is generated in CSV format and can be downloaded on clicking download symbol appearing on right hand side.
It probabbly uses this API
https://www.bseindia.com/BseIndiaAPI/ap ... Scripcode=
but using it directly on brower generates error 404
I have tried by retrieving cookies but it seems the website doen't generate cookies.
I have tried chatGPT, Gemini and DeepSeek but they have failed to provide solution in HMG, though a solution using bseindia library is possible.
Can you pls check this whenever you have time.
Thanks a lot.
rpc]]>
I am back with some new problem in dowloading. Hope you can resolve it.
I want to download from this site
https://www.bseindia.com/corporates/List_Scrips.html
Segment - Equity T+1 On clicking Submit button the list is generated in CSV format and can be downloaded on clicking download symbol appearing on right hand side.
It probabbly uses this API
https://www.bseindia.com/BseIndiaAPI/ap ... Scripcode=
but using it directly on brower generates error 404
I have tried by retrieving cookies but it seems the website doen't generate cookies.
I have tried chatGPT, Gemini and DeepSeek but they have failed to provide solution in HMG, though a solution using bseindia library is possible.
Can you pls check this whenever you have time.
Thanks a lot.
rpc]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by danielmaximiliano]]> 2026-10-05T13:31:22+00:00 2026-10-05T13:31:22+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72515#p72515 c]]> c]]> <![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by RPC]]> 2026-10-06T05:45:14+00:00 2026-10-06T05:45:14+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72516#p72516 Can you suggest a way of downloading the data. Since I am not getting cookies also I just don't know how to proceed.
Thanks for your interest.]]>
Can you suggest a way of downloading the data. Since I am not getting cookies also I just don't know how to proceed.
Thanks for your interest.]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by danielmaximiliano]]> 2026-10-06T14:48:44+00:00 2026-10-06T14:48:44+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72517#p72517
RPC wrote: ↑Tue Oct 06, 2026 5:45 am Thanks Daniel Maximiliano,
Can you suggest a way of downloading the data. Since I am not getting cookies also I just don't know how to proceed.
Thanks for your interest.
Si me dices exactamente que quiere hacer te puedo ayudar. porque veo que en el primer link hay una sucesion de datos y el siguiente link API esta mal por eso el error 404.
ademas intente buscar en google y me devolvio un GITHUB a una API en Pyton pero creo no creo que es lo que necesitas
https://github.com/BennyThadikaran/BseIndiaApi]]>
RPC wrote: ↑Tue Oct 06, 2026 5:45 am Thanks Daniel Maximiliano,
Can you suggest a way of downloading the data. Since I am not getting cookies also I just don't know how to proceed.
Thanks for your interest.
Si me dices exactamente que quiere hacer te puedo ayudar. porque veo que en el primer link hay una sucesion de datos y el siguiente link API esta mal por eso el error 404.
ademas intente buscar en google y me devolvio un GITHUB a una API en Pyton pero creo no creo que es lo que necesitas
https://github.com/BennyThadikaran/BseIndiaApi]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by RPC]]> 2026-10-06T17:50:14+00:00 2026-10-06T17:50:14+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72518#p72518 I need to download from this site
https://www.bseindia.com/corporates/List_Scrips.html
after opening the site, Segment selected should be 'Equity T+1' , other 3 comboboxes Groups, Status and Security name need not be filled, Click 'Submit' button, Data will be displayed below and it can be downloaded in CSV format(Equity.csv) by clicking download symbol appearing on right hand side.
I want to download this file Equity.csv through HMG.
After download on checking downloads folder and obtaining the link by right clicking I got following link
https://api.bseindia.com/BseIndiaAPI/ap ... ty&status=
On using this link also I can't download Equity.csv.
Can you help ?
Thanks in advance.
rpc]]>
I need to download from this site
https://www.bseindia.com/corporates/List_Scrips.html
after opening the site, Segment selected should be 'Equity T+1' , other 3 comboboxes Groups, Status and Security name need not be filled, Click 'Submit' button, Data will be displayed below and it can be downloaded in CSV format(Equity.csv) by clicking download symbol appearing on right hand side.
I want to download this file Equity.csv through HMG.
After download on checking downloads folder and obtaining the link by right clicking I got following link
https://api.bseindia.com/BseIndiaAPI/ap ... ty&status=
On using this link also I can't download Equity.csv.
Can you help ?
Thanks in advance.
rpc]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by danielmaximiliano]]> 2026-10-06T22:57:07+00:00 2026-10-06T22:57:07+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72519#p72519

Attachments

BseIndia API.rar (1670.91 KiB)
]]>

Attachments

BseIndia API.rar (1670.91 KiB)
]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by RPC]]> 2026-10-07T10:42:18+00:00 2026-10-07T10:42:18+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72520#p72520 You have solved my problem which chatGPT, Gemini and DeepSeek failed to solve.
They asked me to use python but you have provided solution within HMG.
God Bless you.
With best Wishes.
rpc]]>
You have solved my problem which chatGPT, Gemini and DeepSeek failed to solve.
They asked me to use python but you have provided solution within HMG.
God Bless you.
With best Wishes.
rpc]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by danielmaximiliano]]> 2026-10-07T12:54:41+00:00 2026-10-07T12:54:41+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72521#p72521

Code: Select all

https://github.com/BennyThadikaran/BseIndiaApi
An Unofficial Python Api for BSE India stock exchange.
pero esto implica instalar Pyton en su ultima versión.
Pyton como es un lenguaje interpretado para algunas cosas es lento pero para otras es espectacular.

se podia usar Curl: pero implica descargar CURL , compilar el contrib de Harbour y usar la libreria puente en HMG.

la solución mas rápida es encapsular un objeto.]]>

Code: Select all

https://github.com/BennyThadikaran/BseIndiaApi
An Unofficial Python Api for BSE India stock exchange.
pero esto implica instalar Pyton en su ultima versión.
Pyton como es un lenguaje interpretado para algunas cosas es lento pero para otras es espectacular.

se podia usar Curl: pero implica descargar CURL , compilar el contrib de Harbour y usar la libreria puente en HMG.

la solución mas rápida es encapsular un objeto.]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by RPC]]> 2026-10-08T14:40:52+00:00 2026-10-08T14:40:52+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72526#p72526 I could download using python library bseindia (curtsey chatGPT/DeepSeek/Gemini), however I wanted purely HMG code which you have provided.

I do not understand WinHTTP and the likes.
edk(Edward) had helped me a lot in the past in my programs to download from nseindoa.com website. I am always grateful to him.

I also tried curl.exe but no matter how much I tried, I could never get csv file. I got html file or error 403.
Can it be downloaded using curl.exe ?

Thanks a lot
rpc]]>
I could download using python library bseindia (curtsey chatGPT/DeepSeek/Gemini), however I wanted purely HMG code which you have provided.

I do not understand WinHTTP and the likes.
edk(Edward) had helped me a lot in the past in my programs to download from nseindoa.com website. I am always grateful to him.

I also tried curl.exe but no matter how much I tried, I could never get csv file. I got html file or error 403.
Can it be downloaded using curl.exe ?

Thanks a lot
rpc]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by danielmaximiliano]]> 2026-10-08T16:25:39+00:00 2026-10-08T16:25:39+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72527#p72527 prompt para

Code: Select all

https://gemini.google.com

Code: Select all

Describe the use of this.:
   oHttp := CreateObject( "WinHttp.WinHttpRequest.5.1" )
ejemplo cmd y GUI hmg

Attachments

BseIndia API.rar (4491.24 KiB)
]]>
prompt para

Code: Select all

https://gemini.google.com

Code: Select all

Describe the use of this.:
   oHttp := CreateObject( "WinHttp.WinHttpRequest.5.1" )
ejemplo cmd y GUI hmg

Attachments

BseIndia API.rar (4491.24 KiB)
]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by RPC]]> 2026-10-09T14:45:52+00:00 2026-10-09T14:45:52+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72529#p72529 Thanks for elaborate programs on using curl.exe.
I find build.bat /n bse_curl.prg runs but build64.bat /n bse_curl.prg produces following error.log. Can you pls point the mistake I am committing
Thanks
Harbour 3.2.0dev (r1604201603)
Copyright (c) 1999-2016, https://harbour-project.org/
D:/HMG-SAMPLES/hmgforum/BseIndia API/_temp.o: file not recognized: file format not recognized
collect2.exe: error: ld returned 1 exit status
hbmk2: Error: Running linker. 1
i686-w64-mingw32-gcc.exe C:/Users/rpcch/AppData/Local/Temp/hbmk_j1jp8v.dir/bse_curl.o C:/Users/rpcch/AppData/Local/Temp/hbmk_j1jp8v.dir/hbmk_znpgm8.o "D:/HMG-SAMPLES/hmgforum/BseIndia API/_temp.o" -pthread -static-libgcc -static-libstdc++ -static -lpthread -mwindows -Wl,--start-group -l"hmg-64" -l"crypt-64" -l"edit-64" -l"editex-64" -l"graph-64" -l"ini-64" -l"report-64" -l"hfcl-64" -lmsvfw32 -lvfw32 -l"hbvpdf-64" -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lhbodbc -lodbc32 -lhbhpdf -lhbnetio -lxhb -lpng -llibhpdf -lhbzebra -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -obse_curl.exe -L"c:/HMG.3.5/harbour-64/lib/win/mingw64"]]>
Thanks for elaborate programs on using curl.exe.
I find build.bat /n bse_curl.prg runs but build64.bat /n bse_curl.prg produces following error.log. Can you pls point the mistake I am committing
Thanks
Harbour 3.2.0dev (r1604201603)
Copyright (c) 1999-2016, https://harbour-project.org/
D:/HMG-SAMPLES/hmgforum/BseIndia API/_temp.o: file not recognized: file format not recognized
collect2.exe: error: ld returned 1 exit status
hbmk2: Error: Running linker. 1
i686-w64-mingw32-gcc.exe C:/Users/rpcch/AppData/Local/Temp/hbmk_j1jp8v.dir/bse_curl.o C:/Users/rpcch/AppData/Local/Temp/hbmk_j1jp8v.dir/hbmk_znpgm8.o "D:/HMG-SAMPLES/hmgforum/BseIndia API/_temp.o" -pthread -static-libgcc -static-libstdc++ -static -lpthread -mwindows -Wl,--start-group -l"hmg-64" -l"crypt-64" -l"edit-64" -l"editex-64" -l"graph-64" -l"ini-64" -l"report-64" -l"hfcl-64" -lmsvfw32 -lvfw32 -l"hbvpdf-64" -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lhbodbc -lodbc32 -lhbhpdf -lhbnetio -lxhb -lpng -llibhpdf -lhbzebra -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -obse_curl.exe -L"c:/HMG.3.5/harbour-64/lib/win/mingw64"]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by danielmaximiliano]]> 2026-10-10T22:20:55+00:00 2026-10-10T22:20:55+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72533#p72533
RPC wrote: ↑Fri Oct 09, 2026 2:45 pm Hi Daniel
Thanks for elaborate programs on using curl.exe.
I find build.bat /n bse_curl.prg runs but build64.bat /n bse_curl.prg produces following error.log. Can you pls point the mistake I am committing
Thanks
Harbour 3.2.0dev (r1604201603)
Copyright (c) 1999-2016, https://harbour-project.org/
D:/HMG-SAMPLES/hmgforum/BseIndia API/_temp.o: file not recognized: file format not recognized
collect2.exe: error: ld returned 1 exit status
hbmk2: Error: Running linker. 1
i686-w64-mingw32-gcc.exe C:/Users/rpcch/AppData/Local/Temp/hbmk_j1jp8v.dir/bse_curl.o C:/Users/rpcch/AppData/Local/Temp/hbmk_j1jp8v.dir/hbmk_znpgm8.o "D:/HMG-SAMPLES/hmgforum/BseIndia API/_temp.o" -pthread -static-libgcc -static-libstdc++ -static -lpthread -mwindows -Wl,--start-group -l"hmg-64" -l"crypt-64" -l"edit-64" -l"editex-64" -l"graph-64" -l"ini-64" -l"report-64" -l"hfcl-64" -lmsvfw32 -lvfw32 -l"hbvpdf-64" -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lhbodbc -lodbc32 -lhbhpdf -lhbnetio -lxhb -lpng -llibhpdf -lhbzebra -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -obse_curl.exe -L"c:/HMG.3.5/harbour-64/lib/win/mingw64"
por lo que Veo estas usando una vieja version de Harbour -->Harbour 3.2.0dev (r1604201603) Abril de 2016, es decir un Harbour viejo de 32 bits.

descarge la nueva version de HMG que facilito en mi Grupo Telegram, use el nuevo IDE que usar Harbour y Harbour64 en conjunto con MinGW y MinGW64 actualizados a la nueva version que corrije muchos errores , al estar trabajando desiguales no puedo ayudarlo en algo que esta funcionando en 32 y 64 bits en mi computadora.

el error es que _temp.o sobrevive a una compilacion correcta , haga otra prueba de Inicializar datos incrementales del proyecto y volver a correr la compilacion. sino se tiene que actualizar a HMG.3.7]]>
RPC wrote: ↑Fri Oct 09, 2026 2:45 pm Hi Daniel
Thanks for elaborate programs on using curl.exe.
I find build.bat /n bse_curl.prg runs but build64.bat /n bse_curl.prg produces following error.log. Can you pls point the mistake I am committing
Thanks
Harbour 3.2.0dev (r1604201603)
Copyright (c) 1999-2016, https://harbour-project.org/
D:/HMG-SAMPLES/hmgforum/BseIndia API/_temp.o: file not recognized: file format not recognized
collect2.exe: error: ld returned 1 exit status
hbmk2: Error: Running linker. 1
i686-w64-mingw32-gcc.exe C:/Users/rpcch/AppData/Local/Temp/hbmk_j1jp8v.dir/bse_curl.o C:/Users/rpcch/AppData/Local/Temp/hbmk_j1jp8v.dir/hbmk_znpgm8.o "D:/HMG-SAMPLES/hmgforum/BseIndia API/_temp.o" -pthread -static-libgcc -static-libstdc++ -static -lpthread -mwindows -Wl,--start-group -l"hmg-64" -l"crypt-64" -l"edit-64" -l"editex-64" -l"graph-64" -l"ini-64" -l"report-64" -l"hfcl-64" -lmsvfw32 -lvfw32 -l"hbvpdf-64" -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lhbodbc -lodbc32 -lhbhpdf -lhbnetio -lxhb -lpng -llibhpdf -lhbzebra -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -obse_curl.exe -L"c:/HMG.3.5/harbour-64/lib/win/mingw64"
por lo que Veo estas usando una vieja version de Harbour -->Harbour 3.2.0dev (r1604201603) Abril de 2016, es decir un Harbour viejo de 32 bits.

descarge la nueva version de HMG que facilito en mi Grupo Telegram, use el nuevo IDE que usar Harbour y Harbour64 en conjunto con MinGW y MinGW64 actualizados a la nueva version que corrije muchos errores , al estar trabajando desiguales no puedo ayudarlo en algo que esta funcionando en 32 y 64 bits en mi computadora.

el error es que _temp.o sobrevive a una compilacion correcta , haga otra prueba de Inicializar datos incrementales del proyecto y volver a correr la compilacion. sino se tiene que actualizar a HMG.3.7]]>
<![CDATA[HMG General Help :: Re: edk - Help required for downloading :: Reply by RPC]]> 2026-10-11T06:42:06+00:00 2026-10-11T06:42:06+00:00 http://mail.hmgforum.com/viewtopic.php?f=5&t=7784&p=72536#p72536 Thanks for your response.
I am already a member of your Telegram group.
Earlier also I tried to download from the group but it was too slow. Now also trying to download HMG 3.7 and it is taking a lot of time to download.
How can I download it faster ?
Thanks
rpc]]>
Thanks for your response.
I am already a member of your Telegram group.
Earlier also I tried to download from the group but it was too slow. Now also trying to download HMG 3.7 and it is taking a lot of time to download.
How can I download it faster ?
Thanks
rpc]]>
<![CDATA[Harbour, MingW updates & releases :: 📢 Announcement: Zig Compiler 0.17.0 Released (October 02) :: Author gfilatov]]> 2026-10-03T13:46:56+00:00 2026-10-03T13:46:56+00:00 http://mail.hmgforum.com/viewtopic.php?f=7&t=7783&p=72513#p72513
We’re pleased to share that the final release of **Zig compiler version 0.17.0** was officially published on October 02, 2026.

This release represents another significant step forward for the Zig language and toolchain. The 0.17.0 development cycle includes five months of work, with contributions from **206 developers across 925 commits**.

Version 0.17.0 brings substantial improvements across the compiler, build system, linker, standard library, target support, and development tooling.

### Key highlights of this release include:

* **Major build-system improvements**, including a reworked build system and the introduction of the **Build Server Protocol**
* **Incremental compilation improvements**, with the new ELF linker expected to make incremental compilation practical for x86_64 Linux
* Continued progress in the **Zig compiler backends**, including improvements to AArch64, LoongArch, WebAssembly, and SPIR-V
* Further development of the **ELF and COFF linkers**
* Significant expansion and refinement of **cross-compilation and target support**
* Improvements to the **standard library**, including allocator, formatting, container, networking, and compile-time facilities
* Continued progress toward **language stability**, with several language and syntax changes documented as part of the release
* Updated toolchain components, including **LLVM 22**, newer system libraries and headers, and improvements to `zig cc` and related tools

The release also continues Zig’s development as a practical toolchain for systems programming and cross-platform development. The official support matrix now covers a broad range of architectures and operating systems, while the compiler and linker continue to reduce dependence on external components for supported targets.

For developers working with **MiniGUI, Harbour, and related Windows or cross-platform projects**, Zig 0.17.0 is particularly interesting from a toolchain perspective. Its continued improvements in cross-compilation, build-system infrastructure, linker technology, and C interoperability make it worth evaluating alongside existing C/C++ toolchains.

As always, developers are encouraged to test their existing projects with the new release, review the documented migration changes, and report any issues encountered during the transition.

For complete release notes, downloads, documentation, and supported targets, please refer to the official Zig project resources:

[Zig 0.17.0 Release Notes]( https://ziglang.org/download/0.17.0/rel ... hatgpt.com )

[Zig Downloads and Documentation]( https://ziglang.org/download/?utm_source=chatgpt.com )

Warm regards,
**Grigory Filatov**
on behalf of the **MiniGUI Team**]]>

We’re pleased to share that the final release of **Zig compiler version 0.17.0** was officially published on October 02, 2026.

This release represents another significant step forward for the Zig language and toolchain. The 0.17.0 development cycle includes five months of work, with contributions from **206 developers across 925 commits**.

Version 0.17.0 brings substantial improvements across the compiler, build system, linker, standard library, target support, and development tooling.

### Key highlights of this release include:

* **Major build-system improvements**, including a reworked build system and the introduction of the **Build Server Protocol**
* **Incremental compilation improvements**, with the new ELF linker expected to make incremental compilation practical for x86_64 Linux
* Continued progress in the **Zig compiler backends**, including improvements to AArch64, LoongArch, WebAssembly, and SPIR-V
* Further development of the **ELF and COFF linkers**
* Significant expansion and refinement of **cross-compilation and target support**
* Improvements to the **standard library**, including allocator, formatting, container, networking, and compile-time facilities
* Continued progress toward **language stability**, with several language and syntax changes documented as part of the release
* Updated toolchain components, including **LLVM 22**, newer system libraries and headers, and improvements to `zig cc` and related tools

The release also continues Zig’s development as a practical toolchain for systems programming and cross-platform development. The official support matrix now covers a broad range of architectures and operating systems, while the compiler and linker continue to reduce dependence on external components for supported targets.

For developers working with **MiniGUI, Harbour, and related Windows or cross-platform projects**, Zig 0.17.0 is particularly interesting from a toolchain perspective. Its continued improvements in cross-compilation, build-system infrastructure, linker technology, and C interoperability make it worth evaluating alongside existing C/C++ toolchains.

As always, developers are encouraged to test their existing projects with the new release, review the documented migration changes, and report any issues encountered during the transition.

For complete release notes, downloads, documentation, and supported targets, please refer to the official Zig project resources:

[Zig 0.17.0 Release Notes]( https://ziglang.org/download/0.17.0/rel ... hatgpt.com )

[Zig Downloads and Documentation]( https://ziglang.org/download/?utm_source=chatgpt.com )

Warm regards,
**Grigory Filatov**
on behalf of the **MiniGUI Team**]]>
<![CDATA[Issues and Discussions related to Harbour :: Re: How to create VFP databases outside of VFP :: Reply by danielmaximiliano]]> 2026-09-14T00:47:20+00:00 2026-09-14T00:47:20+00:00 http://mail.hmgforum.com/viewtopic.php?f=35&t=7775&p=72463#p72463 con mi amigo fallecido hace mucho habiamos hecho una app en VFP9 para una empresa de zapatos la cual funciono mucho tiempo, la app
original quedo en una computadora que no tuve mas accesso asi que busque ejemplos en la web hasta que encontre una muy interesante.
esta en el .rar que comparto.

estan los fuentes + los ejecutable , como la mayoria no tiene instalado VFP9 adjunto el rutime que hay que instalar para ejecutar la app ya compiladas de VFP9 ( VFP9SP0RT.exe )
ejecutar despues :

Code: Select all

C:\Proyectos\Sample\ClientServerVFP\ThreeTierSPT\threetier.exe
Menu : Tables Customers o Employes

como ver los datos de DBC desde CMD

Code: Select all

cd C:\Proyectos\Sample
read C:\Proyectos\Sample\ClientServerVFP\ThreeTierSPT
pronto adjuntare la ampliacion para el RDD de Harbour :)

Sample :
Sample.rar
Informacion tecnica VFP9 : https://www.yaldex.com/fox_pro_tutorial ... ef2926.htm

Otro sitio interesante para comprender mas sobre VFP8 : https://www.vfphelp.com/help/html/ea7bf ... 09398f.htm

Attachments

Sample.rar (14402.71 KiB)
]]>
con mi amigo fallecido hace mucho habiamos hecho una app en VFP9 para una empresa de zapatos la cual funciono mucho tiempo, la app
original quedo en una computadora que no tuve mas accesso asi que busque ejemplos en la web hasta que encontre una muy interesante.
esta en el .rar que comparto.

estan los fuentes + los ejecutable , como la mayoria no tiene instalado VFP9 adjunto el rutime que hay que instalar para ejecutar la app ya compiladas de VFP9 ( VFP9SP0RT.exe )
ejecutar despues :

Code: Select all

C:\Proyectos\Sample\ClientServerVFP\ThreeTierSPT\threetier.exe
Menu : Tables Customers o Employes

como ver los datos de DBC desde CMD

Code: Select all

cd C:\Proyectos\Sample
read C:\Proyectos\Sample\ClientServerVFP\ThreeTierSPT
pronto adjuntare la ampliacion para el RDD de Harbour :)

Sample :
Sample.rar
Informacion tecnica VFP9 : https://www.yaldex.com/fox_pro_tutorial ... ef2926.htm

Otro sitio interesante para comprender mas sobre VFP8 : https://www.vfphelp.com/help/html/ea7bf ... 09398f.htm

Attachments

Sample.rar (14402.71 KiB)
]]>
<![CDATA[Issues and Discussions related to Harbour :: Re: How to create VFP databases outside of VFP :: Reply by danielmaximiliano]]> 2026-09-16T02:14:43+00:00 2026-09-16T02:14:43+00:00 http://mail.hmgforum.com/viewtopic.php?f=35&t=7775&p=72465#p72465
como les habia prometido va la V2 de DBC_VFP (VFP9) para trabajar con bases DBC.
son todos los fuentes, hay que descomprimir en la carpeta del anterior ejemplo.
en \Doc esta la forma de uso.

para ejecutar los exe generados por compilar_dbc.bat usar CMD
para compilar deben cambiar la ruta de Harbour64 y Mingw64 dentro de compilar_dbc.bat ya que uso mi propio entorno de desarrollo llamado Workspace.
recuerden que tienen el enlace de invitacion en el pie de este post!

Attachments

DBC_VFPV2.rar (426.84 KiB)
]]>

como les habia prometido va la V2 de DBC_VFP (VFP9) para trabajar con bases DBC.
son todos los fuentes, hay que descomprimir en la carpeta del anterior ejemplo.
en \Doc esta la forma de uso.

para ejecutar los exe generados por compilar_dbc.bat usar CMD
para compilar deben cambiar la ruta de Harbour64 y Mingw64 dentro de compilar_dbc.bat ya que uso mi propio entorno de desarrollo llamado Workspace.
recuerden que tienen el enlace de invitacion en el pie de este post!

Attachments

DBC_VFPV2.rar (426.84 KiB)
]]>
<![CDATA[Issues and Discussions related to Harbour :: Re: How to create VFP databases outside of VFP :: Reply by HGAutomator]]> 2026-09-16T13:43:03+00:00 2026-09-16T13:43:03+00:00 http://mail.hmgforum.com/viewtopic.php?f=35&t=7775&p=72466#p72466
Claude offered to work on this, and I said it wasn't necessary. But if you already have it working, I'll give it a shot.]]>

Claude offered to work on this, and I said it wasn't necessary. But if you already have it working, I'll give it a shot.]]>
<![CDATA[Issues and Discussions related to Harbour :: Re: How to create VFP databases outside of VFP :: Reply by danielmaximiliano]]> 2026-09-16T19:37:35+00:00 2026-09-16T19:37:35+00:00 http://mail.hmgforum.com/viewtopic.php?f=35&t=7775&p=72467#p72467
HGAutomator wrote: ↑Wed Sep 16, 2026 1:43 pm Will take a look, thanks Daniel.

Claude offered to work on this, and I said it wasn't necessary. But if you already have it working, I'll give it a shot.
Hola !!!
puedes leer los enlaces para comprender el uso de DBC, sino la documentacion para ver como agregar los archivos de \source en tu app..
sino tenemos que tocar el RDD de harbour y recompilarlo]]>
HGAutomator wrote: ↑Wed Sep 16, 2026 1:43 pm Will take a look, thanks Daniel.

Claude offered to work on this, and I said it wasn't necessary. But if you already have it working, I'll give it a shot.
Hola !!!
puedes leer los enlaces para comprender el uso de DBC, sino la documentacion para ver como agregar los archivos de \source en tu app..
sino tenemos que tocar el RDD de harbour y recompilarlo]]>
<![CDATA[General :: GTK4 + Harbour :: Author danielmaximiliano]]> 2026-09-23T20:29:51+00:00 2026-09-23T20:29:51+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72491#p72491 Charlando con un integrante del foro sobre Linux + Harbour (yo trabaje con Fedora, Debian y Ubuntu y escritorio Gnome ) la posibilida de usar
GTK, asi que investigando en foros de GTK vi que es posible descargar GTK para Windows.
asi que me puse a desarrollar ejemplos.
la mayoria de ejemplos lo hice trabajando en mi entorno de desarrollo (Workspace) que me permite trabajar con archivos reales .c
para no dejar afuera al IDE de Roberto uno de los ejemplos (GTK4-HMG.hbp) es para HMG

descargar y descomprimir en c:\GTK4 : https://github.com/wingtk/gvsbuild/rele ... .0_x64.zip

agregar rutas al path de Windows.
Captura de pantalla 2026-09-23 171759.png

abrir el proyecto en el IDE de Roberto.
compilar
Captura de pantalla 2026-09-23 172640.png

Sources :
SampleGTK4.rar
debajo del post en mi firma esta el enlace de invitacion a mi Grupo de telegram

Attachments


Captura de pantalla 2026-09-23 171759.png (26.53 KiB)


Captura de pantalla 2026-09-23 172640.png (15.05 KiB)

SampleGTK4.rar (772.15 KiB)
]]>
Charlando con un integrante del foro sobre Linux + Harbour (yo trabaje con Fedora, Debian y Ubuntu y escritorio Gnome ) la posibilida de usar
GTK, asi que investigando en foros de GTK vi que es posible descargar GTK para Windows.
asi que me puse a desarrollar ejemplos.
la mayoria de ejemplos lo hice trabajando en mi entorno de desarrollo (Workspace) que me permite trabajar con archivos reales .c
para no dejar afuera al IDE de Roberto uno de los ejemplos (GTK4-HMG.hbp) es para HMG

descargar y descomprimir en c:\GTK4 : https://github.com/wingtk/gvsbuild/rele ... .0_x64.zip

agregar rutas al path de Windows.
Captura de pantalla 2026-09-23 171759.png

abrir el proyecto en el IDE de Roberto.
compilar
Captura de pantalla 2026-09-23 172640.png

Sources :
SampleGTK4.rar
debajo del post en mi firma esta el enlace de invitacion a mi Grupo de telegram

Attachments


Captura de pantalla 2026-09-23 171759.png (26.53 KiB)


Captura de pantalla 2026-09-23 172640.png (15.05 KiB)

SampleGTK4.rar (772.15 KiB)
]]>
<![CDATA[General :: Re: GTK4 + Harbour :: Reply by danielmaximiliano]]> 2026-09-23T20:41:02+00:00 2026-09-23T20:41:02+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72492#p72492
Hace años en el foro se trabajo sobre QT pero quedo en la nada, yo intente aprender pero el resultado fue malo, pero veo que GTK es mas
práctico y se puede encapsular en clases y permite hacer una app que funcione en Windows y Linux en Harbour Puro.
con ayuda de un amigo que trabaja con linux me guia de nuevo a utilizar Debian + gtk4 para portarlo a Harbour.
quien quiera subirse al barco yo estos dias tengo tiempo libre para seguir aprendiendo GTK.
Captura de pantalla 2026-09-23 174155.png

Attachments


Captura de pantalla 2026-09-23 174155.png (149.63 KiB)

]]>

Hace años en el foro se trabajo sobre QT pero quedo en la nada, yo intente aprender pero el resultado fue malo, pero veo que GTK es mas
práctico y se puede encapsular en clases y permite hacer una app que funcione en Windows y Linux en Harbour Puro.
con ayuda de un amigo que trabaja con linux me guia de nuevo a utilizar Debian + gtk4 para portarlo a Harbour.
quien quiera subirse al barco yo estos dias tengo tiempo libre para seguir aprendiendo GTK.
Captura de pantalla 2026-09-23 174155.png

Attachments


Captura de pantalla 2026-09-23 174155.png (149.63 KiB)

]]>
<![CDATA[General :: Re: GTK4 + Harbour :: Reply by danielmaximiliano]]> 2026-09-24T01:08:45+00:00 2026-09-24T01:08:45+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72493#p72493 En Worskspace mi entorno de desarrollo los ejemplos compilados funcionan correctamente, mientras
que en IDE de roberto que tiene los mismo modulos y bridge (.c) no funciona bien.
asi que estoy viendo que esta mal.
pueden agregarse al grupo de Telegram para probar.
Captura de pantalla 2026-09-23 220420.png
sources / fuente :
SampleGTK4.rar

Attachments


Captura de pantalla 2026-09-23 220420.png (39.41 KiB)

SampleGTK4.rar (968.53 KiB)
]]>
En Worskspace mi entorno de desarrollo los ejemplos compilados funcionan correctamente, mientras
que en IDE de roberto que tiene los mismo modulos y bridge (.c) no funciona bien.
asi que estoy viendo que esta mal.
pueden agregarse al grupo de Telegram para probar.
Captura de pantalla 2026-09-23 220420.png
sources / fuente :
SampleGTK4.rar

Attachments


Captura de pantalla 2026-09-23 220420.png (39.41 KiB)

SampleGTK4.rar (968.53 KiB)
]]>
<![CDATA[General :: Re: GTK4 + Harbour :: Reply by danielmaximiliano]]> 2026-09-24T04:32:19+00:00 2026-09-24T04:32:19+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72494#p72494
El IDE de HMG no trabaja con archivos .c , si encapsulo el codigo C dentro de un .prg este no funciona correctamente la comunicacion bidireccional con la consola CMD.

Code: Select all


#pragma BEGINDUMP
#include <hbapi.h>
#include <hbapiitm.h>
#include <hbvm.h>
#include <locale.h>

#if defined(__WIN32__) || defined(_WIN32)
   #include <windows.h>
   #include <io.h>
   #include <fcntl.h>
#endif

#include <gtk/gtk.h>

#pragma ENDDUMP
no quiero que el ejemplo se compile desde un .bat ya que el ejemplo debe funcionar con el IDE de HMG tal como lo hace Workspace.
quien puede darme un mano ya hice todas las pruebas posible.
dejo el ejemplo completo (GTK4-HMG.hbp)

Attachments


Captura de pantalla 2026-09-24 012817.png (39.69 KiB)

SampleGTK4.rar (981.1 KiB)
]]>

El IDE de HMG no trabaja con archivos .c , si encapsulo el codigo C dentro de un .prg este no funciona correctamente la comunicacion bidireccional con la consola CMD.

Code: Select all


#pragma BEGINDUMP
#include <hbapi.h>
#include <hbapiitm.h>
#include <hbvm.h>
#include <locale.h>

#if defined(__WIN32__) || defined(_WIN32)
   #include <windows.h>
   #include <io.h>
   #include <fcntl.h>
#endif

#include <gtk/gtk.h>

#pragma ENDDUMP
no quiero que el ejemplo se compile desde un .bat ya que el ejemplo debe funcionar con el IDE de HMG tal como lo hace Workspace.
quien puede darme un mano ya hice todas las pruebas posible.
dejo el ejemplo completo (GTK4-HMG.hbp)

Attachments


Captura de pantalla 2026-09-24 012817.png (39.69 KiB)

SampleGTK4.rar (981.1 KiB)
]]>
<![CDATA[General :: Re: GTK4 + Harbour :: Reply by danielmaximiliano]]> 2026-09-24T13:42:29+00:00 2026-09-24T13:42:29+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72495#p72495 Me equivoqué, se puede incluir archivos dentro de la configuracion de proyectos :D

en el archivo .hbc del proyecto se debe usar asi

Code: Select all

sources=.\Source\Bridge.c
Bingo puedo usar C dentro de un proyecto..

Code: Select all

# Workspace project build options.
# Uncomment and complete only the options required by this project.
# Keep one option per line.

inc=yes
head=native
gt=gtwin
gui=no

# syslibs=
libpaths=C:\GTK4\lib

# Librerías necesarias de GTK4
libs=gtk-4 
libs=gobject-2.0
libs=glib-2.0
libs=gio-2.0
libs=gdk_pixbuf-2.0
libs=cairo

# Rutas de inclusión de cabeceras y bibliotecas
incpaths=C:\GTK4\include\gtk-4.0
incpaths=C:\GTK4\include\glib-2.0
incpaths=C:\GTK4\lib\glib-2.0\include
incpaths=C:\GTK4\include\pango-1.0
incpaths=C:\GTK4\include\harfbuzz
incpaths=C:\GTK4\include\cairo
incpaths=C:\GTK4\include\gdk-pixbuf-2.0
incpaths=C:\GTK4\include\graphene-1.0
incpaths=C:\GTK4\lib\graphene-1.0\include
incpaths=C:\GTK4\include\gtk-4.0\gtk

sources=.\Source\Bridge.c

# hbcs=
# frameworks=
# prgflags=
# cflags=
# resflags=
# ldflags=
#pflags= 
# psources=
# requests=
# instfiles=
# instpaths=
# autohbcs=
# plugins=
# mt=yes
# winuni=yes
# run=yes
# debug=yes
# opt=yes
# map=yes
# strip=yes
# cpp=yes
# warn=max
# compr=max
ahora me queda resolver porque el ejemplo GTK en Workspace el textbox de GTK puede escribir en la consola en tiempo real y en HMG que usa el mismo archivo .c NO! :roll:]]>
Me equivoqué, se puede incluir archivos dentro de la configuracion de proyectos :D

en el archivo .hbc del proyecto se debe usar asi

Code: Select all

sources=.\Source\Bridge.c
Bingo puedo usar C dentro de un proyecto..

Code: Select all

# Workspace project build options.
# Uncomment and complete only the options required by this project.
# Keep one option per line.

inc=yes
head=native
gt=gtwin
gui=no

# syslibs=
libpaths=C:\GTK4\lib

# Librerías necesarias de GTK4
libs=gtk-4 
libs=gobject-2.0
libs=glib-2.0
libs=gio-2.0
libs=gdk_pixbuf-2.0
libs=cairo

# Rutas de inclusión de cabeceras y bibliotecas
incpaths=C:\GTK4\include\gtk-4.0
incpaths=C:\GTK4\include\glib-2.0
incpaths=C:\GTK4\lib\glib-2.0\include
incpaths=C:\GTK4\include\pango-1.0
incpaths=C:\GTK4\include\harfbuzz
incpaths=C:\GTK4\include\cairo
incpaths=C:\GTK4\include\gdk-pixbuf-2.0
incpaths=C:\GTK4\include\graphene-1.0
incpaths=C:\GTK4\lib\graphene-1.0\include
incpaths=C:\GTK4\include\gtk-4.0\gtk

sources=.\Source\Bridge.c

# hbcs=
# frameworks=
# prgflags=
# cflags=
# resflags=
# ldflags=
#pflags= 
# psources=
# requests=
# instfiles=
# instpaths=
# autohbcs=
# plugins=
# mt=yes
# winuni=yes
# run=yes
# debug=yes
# opt=yes
# map=yes
# strip=yes
# cpp=yes
# warn=max
# compr=max
ahora me queda resolver porque el ejemplo GTK en Workspace el textbox de GTK puede escribir en la consola en tiempo real y en HMG que usa el mismo archivo .c NO! :roll:]]>
<![CDATA[General :: Re: GTK4 + Harbour :: Reply by danielmaximiliano]]> 2026-09-24T13:50:53+00:00 2026-09-24T13:50:53+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72496#p72496

Code: Select all

1. Archivos de Entrada y Fuentes

    sources=: Lista de archivos fuente a incluir (archivos .prg, .c, .cpp, .rc, etc.).

    headers=: Lista de cabeceras .ch que se incluirán de forma estándar.

    libs=: Librerías adicionales a enlazar (equivalente a la opción -l).

    syslibs=: Librerías de sistema que se enlazan antes de las librerías comunes.

    frameworks=: Frameworks de macOS a vincular (solo para plataforma Darwin/macOS).

    hbcs=: Incluye o anida otros archivos .hbc por nombre.

    requests=: Lista de funciones o símbolos para forzar su inclusión en el ejecutable (fuerza el enlazado/linkeo).

2. Rutas de Búsqueda

    incpaths=: Directorios donde buscar archivos de cabecera (.h, .ch).

    libpaths=: Directorios adicionales donde buscar archivos de librería (.lib, .a).

    instpaths=: Rutas de destino para copiar o instalar los archivos generados.

    instfiles=: Archivos adicionales que se deben copiar a las rutas de instpaths=.

3. Modos de Compilación y Opciones Booleanas (yes / no)

    gui=: Define el tipo de aplicación (yes = GUI / subsistema Windows, no = consola/STD).

    mt=: Habilita el soporte multihilo de Harbour (yes = -mt, no = monohilo).

    debug=: Agrega información de depuración (yes / no).

    inc=: Activa la compilación incremental (yes / no).

    shared=: Genera/vincula librerías dinámicas (yes) o estáticas (no).

    fullstatic=: Enlaza todas las librerías de forma totalmente estática (yes / no).

    cpp=: Fuerza o selecciona el modo C++ (yes, no o def).

    winuni=: Selecciona el modo Unicode/WIDE en Windows (yes / no).

    strip=: Elimina los símbolos de depuración del binario final (yes / no).

    run=: Ejecuta el binario automáticamente al finalizar la compilación (yes / no).

    map=: Genera un archivo .map del enlazador (yes / no).

    optim=: Activa las optimizaciones del compilador C (yes / no).

4. Banderas Específicas para Herramientas (Flags)

    prgflags=: Banderas que se pasan directamente al compilador de Harbour (harbour.exe).

    cflags=: Banderas que se pasan al compilador C (gcc, msvc, etc.).

    ldflags= / ldflags+=: Banderas que se pasan al enlazador (linker).

    resflags=: Banderas para el compilador de recursos (windres / rc).

    warn=: Nivel de advertencias del compilador C (max, yes, low, no, def).

    compr=: Compresión del ejecutable con UPX (yes, no, min, max).

5. Configuración de Terminal / GT (Graphic Terminal)

    gt=: Selecciona el controlador GT a enlazar (ej. gtwin, gtwvt, gtgui).

    gtdef=: Define cuál controlador GT de la lista será el predeterminado en tiempo de ejecución.

    nodefgt=: Evita vincular los controladores GT predeterminados (yes / no).

6. Metadatos del Paquete y Control

    name=: Nombre del paquete o biblioteca.

    description=: Descripción breve del paquete.

    version=: Versión del paquete (ej. 1.0.0).

    licences=: Lista de licencias aplicables al proyecto.

    echo=: Muestra un texto en la consola de compilación.

    skip=: Salta el procesamiento del resto del archivo .hbc si se cumple una condición.

    stop=: Detiene el proceso de compilación enviando un mensaje opcional.

Code: Select all

1. Input and source files

    sources=: List of source files to include (.prg, .c, .cpp, .rc files, etc.).

    headers=: List of .ch headers to be included by default.

    libs=: Additional libraries to load (equivalent to the -l option).

    syslibs=: System libraries linked before common libraries.

    frameworks=: macOS frameworks to link (Darwin/macOS platform only).

    hbcs=: Include or add other .hbc files by name.

    requests=: List of functions or symbols to force their inclusion in the executable.

2. Search paths

    incpaths=: Directories to search for header files (.h, .ch).

    libpaths=: Additional directories to search for library files (.lib, .a).

    instpaths=: Destination paths for copying or installing generated files.

    instfiles=: Additional files to be copied to the paths specified in instpaths=.

3. Compilation modes and boolean options (yes / no)

    gui=: Defines the application type (yes = GUI / Windows subsystem, no = console/STD).

    mt=: Enables Harbour multithreading support (yes = -mt, no = single-threaded).

    debug=: Adds debugging information (yes / no).

    inc=: Enables incremental compilation (yes / no).

    shared=: Generates/links dynamic libraries (yes) or static ones (no).

    fullstatic=: Links all libraries fully statically (yes / no).

    cpp=: Selects C++ mode (yes; no is the default).

    winuni=: Selects Unicode/WIDE mode on Windows (yes / no).

    strip=: Removes debug symbols from the final binary (yes / no).

    run=: Automatically executes the binary after compilation finishes (yes / no).

    map=: Generates a .map file (yes / no).

    optim=: Enables C compiler optimizations (yes / no).
    
    4. Specific Tool Flags

    prgflags=: Flags passed directly to the Harbour compiler (harbour.exe).

    cflags=: Flags passed to the C compiler (gcc, msvc, etc.).

    ldflags= / ldflags+=: Flags passed to the linker.

    resflags=: Flags for the resource compiler (windres / rc).

    warn=: C compiler warning level (max, yes, low, no, def).

    compr=: Executable compression using UPX (yes, no, min, max).

5. Terminal / GT (Graphic Terminal) Configuration

    gt=: Selects the GT driver to link (e.g., gtwin, gtwvt, gtgui).

    gtdef=: Defines which GT driver from the list will be the default at runtime.

    nodefgt=: Prevents linking default GT drivers (yes / no).

6. Package Metadata and Control

    name=: Name of the package or library.

    description=: Brief description of the package.

    version=: Package version (e.g., 1.0.0).

    licences=: List of licenses applicable to the project.

    echo=: Displays text in the build console.

    skip=: Skips processing the remainder of the .hbc file if a condition is met.

    stop=: Stops the build process, optionally displaying a message.
    
    
]]>

Code: Select all

1. Archivos de Entrada y Fuentes

    sources=: Lista de archivos fuente a incluir (archivos .prg, .c, .cpp, .rc, etc.).

    headers=: Lista de cabeceras .ch que se incluirán de forma estándar.

    libs=: Librerías adicionales a enlazar (equivalente a la opción -l).

    syslibs=: Librerías de sistema que se enlazan antes de las librerías comunes.

    frameworks=: Frameworks de macOS a vincular (solo para plataforma Darwin/macOS).

    hbcs=: Incluye o anida otros archivos .hbc por nombre.

    requests=: Lista de funciones o símbolos para forzar su inclusión en el ejecutable (fuerza el enlazado/linkeo).

2. Rutas de Búsqueda

    incpaths=: Directorios donde buscar archivos de cabecera (.h, .ch).

    libpaths=: Directorios adicionales donde buscar archivos de librería (.lib, .a).

    instpaths=: Rutas de destino para copiar o instalar los archivos generados.

    instfiles=: Archivos adicionales que se deben copiar a las rutas de instpaths=.

3. Modos de Compilación y Opciones Booleanas (yes / no)

    gui=: Define el tipo de aplicación (yes = GUI / subsistema Windows, no = consola/STD).

    mt=: Habilita el soporte multihilo de Harbour (yes = -mt, no = monohilo).

    debug=: Agrega información de depuración (yes / no).

    inc=: Activa la compilación incremental (yes / no).

    shared=: Genera/vincula librerías dinámicas (yes) o estáticas (no).

    fullstatic=: Enlaza todas las librerías de forma totalmente estática (yes / no).

    cpp=: Fuerza o selecciona el modo C++ (yes, no o def).

    winuni=: Selecciona el modo Unicode/WIDE en Windows (yes / no).

    strip=: Elimina los símbolos de depuración del binario final (yes / no).

    run=: Ejecuta el binario automáticamente al finalizar la compilación (yes / no).

    map=: Genera un archivo .map del enlazador (yes / no).

    optim=: Activa las optimizaciones del compilador C (yes / no).

4. Banderas Específicas para Herramientas (Flags)

    prgflags=: Banderas que se pasan directamente al compilador de Harbour (harbour.exe).

    cflags=: Banderas que se pasan al compilador C (gcc, msvc, etc.).

    ldflags= / ldflags+=: Banderas que se pasan al enlazador (linker).

    resflags=: Banderas para el compilador de recursos (windres / rc).

    warn=: Nivel de advertencias del compilador C (max, yes, low, no, def).

    compr=: Compresión del ejecutable con UPX (yes, no, min, max).

5. Configuración de Terminal / GT (Graphic Terminal)

    gt=: Selecciona el controlador GT a enlazar (ej. gtwin, gtwvt, gtgui).

    gtdef=: Define cuál controlador GT de la lista será el predeterminado en tiempo de ejecución.

    nodefgt=: Evita vincular los controladores GT predeterminados (yes / no).

6. Metadatos del Paquete y Control

    name=: Nombre del paquete o biblioteca.

    description=: Descripción breve del paquete.

    version=: Versión del paquete (ej. 1.0.0).

    licences=: Lista de licencias aplicables al proyecto.

    echo=: Muestra un texto en la consola de compilación.

    skip=: Salta el procesamiento del resto del archivo .hbc si se cumple una condición.

    stop=: Detiene el proceso de compilación enviando un mensaje opcional.

Code: Select all

1. Input and source files

    sources=: List of source files to include (.prg, .c, .cpp, .rc files, etc.).

    headers=: List of .ch headers to be included by default.

    libs=: Additional libraries to load (equivalent to the -l option).

    syslibs=: System libraries linked before common libraries.

    frameworks=: macOS frameworks to link (Darwin/macOS platform only).

    hbcs=: Include or add other .hbc files by name.

    requests=: List of functions or symbols to force their inclusion in the executable.

2. Search paths

    incpaths=: Directories to search for header files (.h, .ch).

    libpaths=: Additional directories to search for library files (.lib, .a).

    instpaths=: Destination paths for copying or installing generated files.

    instfiles=: Additional files to be copied to the paths specified in instpaths=.

3. Compilation modes and boolean options (yes / no)

    gui=: Defines the application type (yes = GUI / Windows subsystem, no = console/STD).

    mt=: Enables Harbour multithreading support (yes = -mt, no = single-threaded).

    debug=: Adds debugging information (yes / no).

    inc=: Enables incremental compilation (yes / no).

    shared=: Generates/links dynamic libraries (yes) or static ones (no).

    fullstatic=: Links all libraries fully statically (yes / no).

    cpp=: Selects C++ mode (yes; no is the default).

    winuni=: Selects Unicode/WIDE mode on Windows (yes / no).

    strip=: Removes debug symbols from the final binary (yes / no).

    run=: Automatically executes the binary after compilation finishes (yes / no).

    map=: Generates a .map file (yes / no).

    optim=: Enables C compiler optimizations (yes / no).
    
    4. Specific Tool Flags

    prgflags=: Flags passed directly to the Harbour compiler (harbour.exe).

    cflags=: Flags passed to the C compiler (gcc, msvc, etc.).

    ldflags= / ldflags+=: Flags passed to the linker.

    resflags=: Flags for the resource compiler (windres / rc).

    warn=: C compiler warning level (max, yes, low, no, def).

    compr=: Executable compression using UPX (yes, no, min, max).

5. Terminal / GT (Graphic Terminal) Configuration

    gt=: Selects the GT driver to link (e.g., gtwin, gtwvt, gtgui).

    gtdef=: Defines which GT driver from the list will be the default at runtime.

    nodefgt=: Prevents linking default GT drivers (yes / no).

6. Package Metadata and Control

    name=: Name of the package or library.

    description=: Brief description of the package.

    version=: Package version (e.g., 1.0.0).

    licences=: List of licenses applicable to the project.

    echo=: Displays text in the build console.

    skip=: Skips processing the remainder of the .hbc file if a condition is met.

    stop=: Stops the build process, optionally displaying a message.
    
    
]]>
<![CDATA[General :: Re: GTK4 + Harbour :: Reply by danielmaximiliano]]> 2026-09-24T17:21:29+00:00 2026-09-24T17:21:29+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72497#p72497 despues de luchar y leer https://github.com/harbour/core/blob/ma ... bmk2.en.md

estar horas tratando de corregir el ejemplo de GTK4 para HMG.3.6 y modificando el archivos de configuracion .hbc sin ningun resultado
me puse a ver porque si desde el cmd usando hmbk2 el ejemplo si compila correctamente y el IDE de HMG no..

IDE de HMG usa build.bat, este aplica reglas por defecto y no respeta el archivo de configuracion .hbc donde estan las directivas

Code: Select all

inc=yes
head=native
gt=gtwin
gui=no
Build.bat desde consola acepta el parametro /c pero desde el ide no veo forma de decirle que la app para que rote los drivers GT :?
asi que los hice manualmente para poder corregir que GTK4 escriba en la consola :D

sin mas pueden modificar build.bat para probar el correcto funcionamiento desde el IDE de HMG

Code: Select all

rem SET gtdrivers=-gtgui -gtwin
SET gtdrivers=-gtwin -gtgui
SET runafterbuild=.t.
SET debug=

Attachments

SampleGTK4.rar (880.32 KiB)
]]>
despues de luchar y leer https://github.com/harbour/core/blob/ma ... bmk2.en.md

estar horas tratando de corregir el ejemplo de GTK4 para HMG.3.6 y modificando el archivos de configuracion .hbc sin ningun resultado
me puse a ver porque si desde el cmd usando hmbk2 el ejemplo si compila correctamente y el IDE de HMG no..

IDE de HMG usa build.bat, este aplica reglas por defecto y no respeta el archivo de configuracion .hbc donde estan las directivas

Code: Select all

inc=yes
head=native
gt=gtwin
gui=no
Build.bat desde consola acepta el parametro /c pero desde el ide no veo forma de decirle que la app para que rote los drivers GT :?
asi que los hice manualmente para poder corregir que GTK4 escriba en la consola :D

sin mas pueden modificar build.bat para probar el correcto funcionamiento desde el IDE de HMG

Code: Select all

rem SET gtdrivers=-gtgui -gtwin
SET gtdrivers=-gtwin -gtgui
SET runafterbuild=.t.
SET debug=

Attachments

SampleGTK4.rar (880.32 KiB)
]]>
<![CDATA[General :: Re: GTK4 + Harbour :: Reply by danielmaximiliano]]> 2026-09-24T19:21:20+00:00 2026-09-24T19:21:20+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72498#p72498
hace un tiempo publique un ejemplo de MenuFlyout , menu lateral para Harbour / HMG
ahora les presento el MenuFlyOut para GTK4 , para compilar usar el IDE ( FlyoutMain_HMG.hbp)

Rozar con el mouse la parte lateral de la ventana y este aparece :mrgreen:

recuerden que tiene que modificar el build64.bat para ver la consola cmd que le indica las acciones de la ventana GTK
Captura de pantalla 2026-09-24 202412.png
Sources / Fuentes :

Attachments

SampleGTK4.rar (891.01 KiB)

Captura de pantalla 2026-09-24 202412.png (38.98 KiB)

]]>

hace un tiempo publique un ejemplo de MenuFlyout , menu lateral para Harbour / HMG
ahora les presento el MenuFlyOut para GTK4 , para compilar usar el IDE ( FlyoutMain_HMG.hbp)

Rozar con el mouse la parte lateral de la ventana y este aparece :mrgreen:

recuerden que tiene que modificar el build64.bat para ver la consola cmd que le indica las acciones de la ventana GTK
Captura de pantalla 2026-09-24 202412.png
Sources / Fuentes :

Attachments

SampleGTK4.rar (891.01 KiB)

Captura de pantalla 2026-09-24 202412.png (38.98 KiB)

]]>
<![CDATA[General :: Re: GTK4 + Harbour :: Reply by Steed]]> 2026-09-25T02:58:56+00:00 2026-09-25T02:58:56+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72500#p72500 <![CDATA[General :: Re: GTK4 + Harbour :: Reply by serge_girard]]> 2026-09-26T06:56:34+00:00 2026-09-26T06:56:34+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72501#p72501 <![CDATA[General :: Re: GTK4 + Harbour :: Reply by danielmaximiliano]]> 2026-09-27T03:21:05+00:00 2026-09-27T03:21:05+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7781&p=72505#p72505 Mientras trabajaba en casa y esperaba mis habituales clientes empece a ordenar los ejemplos.
ahora cada ejemplo tiene 2 proyectos (xxx.hbp / xxx_HMG.hbp)
los ejemplos que tienen sufijo _HMG pra HMG.3.6 64bits, el otro es para Workspace porque el archivo .hbp contiene Bridge.c
como el IDE de HMG no maneja codigo C este se carga en el archivo de configuracion .hbc

gracias a unos chicos que me ayudaron a comprender bien GTK4 ya estoy mas preparado para esta GUI.

un interesante link : https://gtkmm.gnome.org/en/index.html

GTK ---->https://www.gtk.org/

Samples sources :
GTK4.rar

Attachments

GTK4.rar (5516.01 KiB)
]]>
Mientras trabajaba en casa y esperaba mis habituales clientes empece a ordenar los ejemplos.
ahora cada ejemplo tiene 2 proyectos (xxx.hbp / xxx_HMG.hbp)
los ejemplos que tienen sufijo _HMG pra HMG.3.6 64bits, el otro es para Workspace porque el archivo .hbp contiene Bridge.c
como el IDE de HMG no maneja codigo C este se carga en el archivo de configuracion .hbc

gracias a unos chicos que me ayudaron a comprender bien GTK4 ya estoy mas preparado para esta GUI.

un interesante link : https://gtkmm.gnome.org/en/index.html

GTK ---->https://www.gtk.org/

Samples sources :
GTK4.rar

Attachments

GTK4.rar (5516.01 KiB)
]]>
<![CDATA[General :: Error TMYSQLSERVER() al compila con HMG3.6 :: Author jorge.posadas]]> 2026-09-19T00:52:58+00:00 2026-09-19T00:52:58+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7779&p=72479#p72479
Les hago una breve historia:
Cuando empecé a intentar accesarme a una base de datos MariaDB, tuve mucho problemas, pero
alguien del grupo (no recuerdo quien) me dió la solución y recuerdo bien que fue sencilla la
solución, y sorpresa por fin puede hacer mis pruebas al grado de que inicié una aplicación para
mi sobrina que es doctora.

Luego compré una lap Lenovo AMD RYZEN AI 7 con 16RAM y 512SSD, reinstale la version HMG3.6 a 64bit
e instalé todos mis programas, pero al recompilar la aplicación que estaba haciendo me dío el
siguiente error:


hbmk2: Linking... ConsuMedico.exe
C:/hmg.3.6/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
.hbmk/win/mingw64/PS_Maria_DB_Access.o:PS_Maria_DB_Access.c:(.data+0xb0): undefined reference to `HB_FUN_TMYSQLSERVER'
collect2.exe: error: ld returned 1 exit status
hbmk2[ConsuMedico]: Error: Running linker. 1
gcc.exe .hbmk/win/mingw64/PS_Menu_Principal.o .hbmk/win/mingw64/PS_ABC_Antecedentes.o
.hbmk/win/mingw64/PS_ABC_Cita_Medica.o .hbmk/win/mingw64/PS_ABC_Doctor.o .hbmk/win/mingw64/PS_ABC_Historial_Clinico.o
.hbmk/win/mingw64/PS_ABC_Paciente.o .hbmk/win/mingw64/PS_ABC_Sub_Antecedentes.o .hbmk/win/mingw64/PS_Ambiente_Sistema.o
.hbmk/win/mingw64/PS_Auto_Adjuste.o .hbmk/win/mingw64/PS_Busquedas_Estandar.o .hbmk/win/mingw64/PS_Calcula_Edad.o
.hbmk/win/mingw64/PS_Calendario_Citas.o .hbmk/win/mingw64/PS_Cita_Medica.o .hbmk/win/mingw64/PS_Create_Maria_DB.o
.hbmk/win/mingw64/PS_Crea_Tablas_MDB.o .hbmk/win/mingw64/PS_Crea_Tablas_Medicas.o .hbmk/win/mingw64/PS_Cursor.o
.hbmk/win/mingw64/PS_Ejemplo_PDF.o .hbmk/win/mingw64/PS_Funciones.o .hbmk/win/mingw64/PS_Imprime_Encabezado.o
.hbmk/win/mingw64/PS_Imprime_Historial_Clinico.o .hbmk/win/mingw64/PS_Imprime_Paciente.o .hbmk/win/mingw64/PS_Imprime_Receta_Medica.o
.hbmk/win/mingw64/PS_Inserciones.o .hbmk/win/mingw64/PS_Login.o .hbmk/win/mingw64/PS_Maria_DB_Access.o
.hbmk/win/mingw64/PS_Muestra_Antecedentes.o .hbmk/win/mingw64/PS_Muestra_Entidad_Federativa.o
.hbmk/win/mingw64/PS_Muestra_Estatus_Calendario.o .hbmk/win/mingw64/PS_Muestra_Municipio.o
.hbmk/win/mingw64/PS_Muestra_Pacientes.o .hbmk/win/mingw64/PS_Reimprime_HC.o .hbmk/win/mingw64/PS_Reimprime_RM.o
.hbmk/win/mingw64/_hbmkaut_PS_Menu_Principal.o C:/PosadasSoftware/MariaDB/Consultorio_Medico_Administracion/Prg/_temp.o
-pthread -static-libgcc -static-libstdc++ -static -lpthread -mwindows -Wl,--start-group -l"hmg-64" -l"crypt-64"
-l"edit-64" -l"editex-64" -l"graph-64" -l"ini-64" -l"report-64" -l"hfcl-64" -lmsvfw32 -lvfw32 -l"hbvpdf-64" -lhbct
-lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lhbodbc -lodbc32
-lhbhpdf -lhbnetio -lxhb -lpng -llibhpdf -lhbzebra -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage
-lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx
-lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lwinmm -lkernel32 -luser32
-lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32
-lmpr -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -oConsuMedico.exe
-LC:/hmg.3.6/harbour64/lib/win/mingw64 -L"C:/hmg.3.6/lib-64"

hbmk2: Error: Referenced, missing, but unknown function(s): TMYSQLSERVER()

Desafortunadamente NO recuerdo QUIEN y QUE fue lo que hice para que me accesara a MariaDB

Ahora tengo el gran problema que mi sobrina mostro lo que la aplicación que le hice y ahora tengo
algunos amigo de ellas, también doctores, que está pidiendo les haga una demostración, PEROOOO
necesito terminar algunos módulo para que sea una presentación que valga la pena.

Mi petición es si hay alguien que pueda ayudarme a resolver el problema que me da cuando compilo mi aplicación
le estaría muy agradecido.

Agradezco mucho la atención a la presente.

PD La compilación la hago desde el IDE de HMG (versión Roberto López)]]>

Les hago una breve historia:
Cuando empecé a intentar accesarme a una base de datos MariaDB, tuve mucho problemas, pero
alguien del grupo (no recuerdo quien) me dió la solución y recuerdo bien que fue sencilla la
solución, y sorpresa por fin puede hacer mis pruebas al grado de que inicié una aplicación para
mi sobrina que es doctora.

Luego compré una lap Lenovo AMD RYZEN AI 7 con 16RAM y 512SSD, reinstale la version HMG3.6 a 64bit
e instalé todos mis programas, pero al recompilar la aplicación que estaba haciendo me dío el
siguiente error:


hbmk2: Linking... ConsuMedico.exe
C:/hmg.3.6/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
.hbmk/win/mingw64/PS_Maria_DB_Access.o:PS_Maria_DB_Access.c:(.data+0xb0): undefined reference to `HB_FUN_TMYSQLSERVER'
collect2.exe: error: ld returned 1 exit status
hbmk2[ConsuMedico]: Error: Running linker. 1
gcc.exe .hbmk/win/mingw64/PS_Menu_Principal.o .hbmk/win/mingw64/PS_ABC_Antecedentes.o
.hbmk/win/mingw64/PS_ABC_Cita_Medica.o .hbmk/win/mingw64/PS_ABC_Doctor.o .hbmk/win/mingw64/PS_ABC_Historial_Clinico.o
.hbmk/win/mingw64/PS_ABC_Paciente.o .hbmk/win/mingw64/PS_ABC_Sub_Antecedentes.o .hbmk/win/mingw64/PS_Ambiente_Sistema.o
.hbmk/win/mingw64/PS_Auto_Adjuste.o .hbmk/win/mingw64/PS_Busquedas_Estandar.o .hbmk/win/mingw64/PS_Calcula_Edad.o
.hbmk/win/mingw64/PS_Calendario_Citas.o .hbmk/win/mingw64/PS_Cita_Medica.o .hbmk/win/mingw64/PS_Create_Maria_DB.o
.hbmk/win/mingw64/PS_Crea_Tablas_MDB.o .hbmk/win/mingw64/PS_Crea_Tablas_Medicas.o .hbmk/win/mingw64/PS_Cursor.o
.hbmk/win/mingw64/PS_Ejemplo_PDF.o .hbmk/win/mingw64/PS_Funciones.o .hbmk/win/mingw64/PS_Imprime_Encabezado.o
.hbmk/win/mingw64/PS_Imprime_Historial_Clinico.o .hbmk/win/mingw64/PS_Imprime_Paciente.o .hbmk/win/mingw64/PS_Imprime_Receta_Medica.o
.hbmk/win/mingw64/PS_Inserciones.o .hbmk/win/mingw64/PS_Login.o .hbmk/win/mingw64/PS_Maria_DB_Access.o
.hbmk/win/mingw64/PS_Muestra_Antecedentes.o .hbmk/win/mingw64/PS_Muestra_Entidad_Federativa.o
.hbmk/win/mingw64/PS_Muestra_Estatus_Calendario.o .hbmk/win/mingw64/PS_Muestra_Municipio.o
.hbmk/win/mingw64/PS_Muestra_Pacientes.o .hbmk/win/mingw64/PS_Reimprime_HC.o .hbmk/win/mingw64/PS_Reimprime_RM.o
.hbmk/win/mingw64/_hbmkaut_PS_Menu_Principal.o C:/PosadasSoftware/MariaDB/Consultorio_Medico_Administracion/Prg/_temp.o
-pthread -static-libgcc -static-libstdc++ -static -lpthread -mwindows -Wl,--start-group -l"hmg-64" -l"crypt-64"
-l"edit-64" -l"editex-64" -l"graph-64" -l"ini-64" -l"report-64" -l"hfcl-64" -lmsvfw32 -lvfw32 -l"hbvpdf-64" -lhbct
-lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lhbodbc -lodbc32
-lhbhpdf -lhbnetio -lxhb -lpng -llibhpdf -lhbzebra -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage
-lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx
-lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lwinmm -lkernel32 -luser32
-lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32
-lmpr -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -oConsuMedico.exe
-LC:/hmg.3.6/harbour64/lib/win/mingw64 -L"C:/hmg.3.6/lib-64"

hbmk2: Error: Referenced, missing, but unknown function(s): TMYSQLSERVER()

Desafortunadamente NO recuerdo QUIEN y QUE fue lo que hice para que me accesara a MariaDB

Ahora tengo el gran problema que mi sobrina mostro lo que la aplicación que le hice y ahora tengo
algunos amigo de ellas, también doctores, que está pidiendo les haga una demostración, PEROOOO
necesito terminar algunos módulo para que sea una presentación que valga la pena.

Mi petición es si hay alguien que pueda ayudarme a resolver el problema que me da cuando compilo mi aplicación
le estaría muy agradecido.

Agradezco mucho la atención a la presente.

PD La compilación la hago desde el IDE de HMG (versión Roberto López)]]>
<![CDATA[General :: Re: Error TMYSQLSERVER() al compila con HMG3.6 :: Reply by danielmaximiliano]]> 2026-09-19T03:13:56+00:00 2026-09-19T03:13:56+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7779&p=72480#p72480
https://hmgforum.com/viewtopic.php?t=7769

en el pie de mi firma tienes el enlace a Workspace un Entorno de Desarollo basado en el querido IDE de Roberto y Claudio]]>

https://hmgforum.com/viewtopic.php?t=7769

en el pie de mi firma tienes el enlace a Workspace un Entorno de Desarollo basado en el querido IDE de Roberto y Claudio]]>
<![CDATA[General :: Re: Error TMYSQLSERVER() al compila con HMG3.6 :: Reply by serge_girard]]> 2026-09-19T09:32:37+00:00 2026-09-19T09:32:37+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7779&p=72481#p72481
Maybe you are missing libmysql.dll in C:/hmg.3.6/lib-64 (this folder contains 15 files).
You may also need HARBOUR-64 folder. Also I found a file called build_mysql.bat in hmg3.6]\harbour64\contrib\hbmysql

When starting with migration from 3.04 to 3.6 I had same problems (3 years ago) but cannot remember the right steps. I will look to it.

Serge]]>

Maybe you are missing libmysql.dll in C:/hmg.3.6/lib-64 (this folder contains 15 files).
You may also need HARBOUR-64 folder. Also I found a file called build_mysql.bat in hmg3.6]\harbour64\contrib\hbmysql

When starting with migration from 3.04 to 3.6 I had same problems (3 years ago) but cannot remember the right steps. I will look to it.

Serge]]>
<![CDATA[General :: Re: Error TMYSQLSERVER() al compila con HMG3.6 :: Reply by serge_girard]]> 2026-09-19T09:50:04+00:00 2026-09-19T09:50:04+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7779&p=72482#p72482
Found what you need!

This PDF instruction file might help.

Serge

Attachments

MySQL integration with HMG 3.6.zip (508.84 KiB)
]]>

Found what you need!

This PDF instruction file might help.

Serge

Attachments

MySQL integration with HMG 3.6.zip (508.84 KiB)
]]>
<![CDATA[General :: Re: Error TMYSQLSERVER() al compila con HMG3.6 :: Reply by edufloriv]]> 2026-09-28T00:09:22+00:00 2026-09-28T00:09:22+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7779&p=72506#p72506
Es cierto Daniel amablemente me alcanzo la solución para TMySqlServer() pero no he tenido tiempo de probarlo.

Me daré un tiempito y reportare el resultado. :roll:]]>

Es cierto Daniel amablemente me alcanzo la solución para TMySqlServer() pero no he tenido tiempo de probarlo.

Me daré un tiempito y reportare el resultado. :roll:]]>
<![CDATA[General :: Interfaz TDI con HMG 3.5 :: Author edufloriv]]> 2026-09-28T00:29:25+00:00 2026-09-28T00:29:25+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7782&p=72507#p72507
¿ Alguién ha logrado hacer una interfaz tipo TDI con HMG 3.5 ? Estoy intentando hacer un menú lateral tipo acordeón (con ayuda de Copilot :lol: ) pero tanto Copilot como Gemini confunden demasiado las versiones y me entregan códigos combinados de HMG oficial con HMG extended e incluso de OOHG :cry:

Aun estoy en el esqueleto inicial ya que es primera vez que intento esto:
if_tdi.png
Y este es el codigo:

Code: Select all

#include "hmg.ch"
#include "inipublic.prg"
#include "config.prg"

SET AUTOPEN   Off
SET BELL      Off
SET BROWSESYNC On
SET CODEPAGE  TO SPANISH
SET CONSOLE   Off
SET CURSOR    Off
SET DATE      TO BRIT
SET DELETED   On
SET DELIMITERS Off
SET ECHO      Off
SET EPOCH     TO 1990
SET MULTIPLE  Off WARNING
SET NAVIGATION EXTENDED
SET SAFETY    Off
SET SCOREBOARD Off
SET SOFTSEEK  On
SET TALK      Off
SET WRAP      On

FUNCTION Main()

   REQUEST HB_LANG_ESWIN
   REQUEST HB_CODEPAGE_ESWIN
   REQUEST DBFCDX

   RDDSETDEFAULT("DBFCDX")
   HB_LANGSELECT( "ES" )
   HB_SetCodePage("ESWIN")
   SET DATE TO BRIT

   DECLARE WINDOW MainWin
   DECLARE WINDOW pnlLeft
   DECLARE WINDOW pnlCenter
   DECLARE WINDOW pnlRight

   IniPublic()
   LoadConfig()

   nMainWidth    := GetDesktopWidth()
   nMainHeight   := GetDesktopHeight() - 30
   nLeftWidth    := nMainWidth  * nPctLeft   / 100
   nCenterWidth  := nMainWidth  * nPctCenter / 100
   nRightWidth   := nMainWidth  * nPctRight  / 100
   nColPnlCenter := nLeftWidth
   nColPnlRight  := nLeftWidth + nCenterWidth

   DEFINE WINDOW MainWin ;
      AT 0,0 ;
      WIDTH nMainWidth HEIGHT nMainHeight ;
      MAIN ;
      TITLE "INFOFARMA TDI" ;
      NOMAXIMIZE NOSIZE

      DEFINE WINDOW pnlLeft ;
         ROW 0 ;
         COL 0 ;
         WIDTH nLeftWidth ;
         HEIGHT nMainHeight ;
         WINDOWTYPE PANEL ;
         BACKCOLOR aColorBack ;
         ONMOUSEMOVE MenuHover()
      END WINDOW

      DEFINE WINDOW pnlCenter ;
         ROW 0 COL nColPnlCenter ;
         WIDTH nCenterWidth ;
         HEIGHT nMainHeight ;
         WINDOWTYPE PANEL ;
         BACKCOLOR aColorPanel
      END WINDOW

      DEFINE WINDOW pnlRight ;
         ROW 0 COL nColPnlRight ;
         WIDTH nRightWidth ;
         HEIGHT nMainHeight ;
         WINDOWTYPE PANEL ;
         BACKCOLOR aColorBack
      END WINDOW

      InitMenuData()
      RedrawLeftMenu()

   END WINDOW

   MainWin.Center
   MainWin.Activate

RETURN NIL


//==================================================================
// Inicialización de la estructura de datos del menú
//==================================================================
PROCEDURE InitMenuData()

   aMenuEstructura := { ;
      { "id" => "Admin", "titulo" => "Administradores", "items" => { ;
         { "id" => "lblItem_Articulos",    "caption" => "Artículos",            "msg" => "abre el módulo de artículos" }, ;
         { "id" => "lblItem_Tipos",        "caption" => "Tipos",                "msg" => "abre el módulo de tipos" }, ;
         { "id" => "lblItem_Marcas",       "caption" => "Marcas",               "msg" => "abre el módulo de marcas" }, ;
         { "id" => "lblItem_DCIs",         "caption" => "DCIs",                 "msg" => "abre el módulo de DCIs" }, ;
         { "id" => "lblItem_Proveedores",  "caption" => "Proveedores",          "msg" => "abre el módulo de proveedores" }, ;
         { "id" => "lblItem_Clientes",     "caption" => "Clientes",             "msg" => "abre el módulo de clientes" }, ;
         { "id" => "lblItem_Usuarios",     "caption" => "Usuarios",             "msg" => "abre el módulo de usuarios" }, ;
         { "id" => "lblItem_Movimientos",  "caption" => "Movimientos",          "msg" => "abre el módulo de movimientos" }, ;
         { "id" => "lblItem_CfgVisual",    "caption" => "Configuración Visual", "msg" => "abre configuración visual" }, ;
         { "id" => "lblItem_Temas",        "caption" => "Temas",                "msg" => "abre temas" } ;
      } }, ;
      { "id" => "Compras", "titulo" => "Compras", "items" => { ;
         { "id" => "lblItem_Facturas",     "caption" => "Facturas",             "msg" => "abre facturas" }, ;
         { "id" => "lblItem_Faltantes",    "caption" => "Faltantes",            "msg" => "abre faltantes" }, ;
         { "id" => "lblItem_Precios",      "caption" => "Precios",              "msg" => "abre precios" }, ;
         { "id" => "lblItem_Pagos",        "caption" => "Pagos",                "msg" => "abre pagos" } ;
      } }, ;
      { "id" => "Ventas", "titulo" => "Ventas", "items" => { ;
         { "id" => "lblItem_Ventas",       "caption" => "Ventas",               "msg" => "abre ventas" }, ;
         { "id" => "lblItem_NCs",          "caption" => "Notas de Crédito",     "msg" => "abre notas de crédito" }, ;
         { "id" => "lblItem_Cobros",       "caption" => "Cobros",               "msg" => "abre cobros" } ;
      } }, ;
      { "id" => "Servicios", "titulo" => "Servicios", "items" => { ;
         { "id" => "lblItem_Cargos",       "caption" => "Cargos/Descargos",     "msg" => "abre cargos/descargos" }, ;
         { "id" => "lblItem_Kardex",       "caption" => "Kardex",               "msg" => "abre kardex" }, ;
         { "id" => "lblItem_Observatorio", "caption" => "Observatorio",         "msg" => "abre observatorio" }, ;
         { "id" => "lblItem_Controlados",  "caption" => "Controlados",          "msg" => "abre controlados" } ;
      } } ;
   }

RETURN


//==================================================================
// Construcción / Redibujado dinámico del Menú Lateral
//==================================================================
PROCEDURE RedrawLeftMenu()
   LOCAL nW, nY, i, j
   LOCAL hSec, hSub
   LOCAL nTitleHeight := 38
   LOCAL nItemHeight  := 28
   LOCAL cTitId, cSubId

   // 1. Eliminar controles previamente creados en pnlLeft
   FOR i := 1 TO LEN( aControlesCreados )
      IF _IsControlDefined( aControlesCreados[i], "MainWin" )
         DoMethod( "MainWin", aControlesCreados[i], "RELEASE" )
      ENDIF
   NEXT
   aControlesCreados := {}
   hMenuItems := hb_Hash()

   nW := nLeftWidth - ( nMenuLeftMargin * 2 )
   nY := 0

   // 2. Iterar secciones principales
   FOR i := 1 TO LEN( aMenuEstructura )
      hSec   := aMenuEstructura[i]
      cTitId := "lblTit_" + hSec["id"]

      AddMenuTitle( cTitId, hSec["titulo"], nY, nW, nTitleHeight, hSec["id"] )
      AADD( aControlesCreados, cTitId )
      nY += nTitleHeight

      // Si la sección actual está activa, desplegar sus subelementos
      IF cSeccionActiva == hSec["id"]
         FOR j := 1 TO LEN( hSec["items"] )
            hSub   := hSec["items"][j]
            cSubId := hSub["id"]

            AddMenuItem( cSubId, "   " + hSub["caption"], nY, nW, nItemHeight, hSub["msg"] )
            AADD( aControlesCreados, cSubId )
            nY += nItemHeight
         NEXT
      ENDIF
   NEXT

RETURN


//==================================================================
// Control de apertura/cierre de secciones (Efecto Acordeón)
//==================================================================
PROCEDURE ToggleSeccion( cSecId )
   IF cSeccionActiva == cSecId
      cSeccionActiva := "" // Si se vuelve a hacer clic en la abierta, se cierra
   ELSE
      cSeccionActiva := cSecId // Abre la nueva y automáticamente cierra las demás
   ENDIF

   RestoreHover()
   cMenuHover := ""
   RedrawLeftMenu()
RETURN


//==================================================================
// Métodos de Creación y Eventos
//==================================================================
PROCEDURE AddMenuTitle( LblName, cText, nY, nW, nH, cSecId )

   @ nY, nMenuLeftMargin LABEL &LblName OF pnlLeft ;
      VALUE cText ;
      WIDTH nW HEIGHT nH ;
      FONT cMenuFontName SIZE ( nMenuFontSize + 1 ) BOLD ;
      FONTCOLOR aMenuTitleFore ;
      BACKCOLOR aMenuTitleBack ;
      ACTION ToggleSeccion( cSecId )

   hMenuItems[ LblName ] := { ;
      "name"      => LblName, ;
      "row"       => nY, ;
      "col"       => nMenuLeftMargin, ;
      "width"     => nW, ;
      "height"    => nH, ;
      "fore"      => aMenuTitleFore, ;
      "back"      => aMenuTitleBack, ;
      "hoverFore" => {255,255,255}, ;
      "hoverBack" => {60,90,140} }

RETURN


PROCEDURE AddMenuItem( LblName, cText, nY, nW, nH, cMsg )

   @ nY, nMenuLeftMargin LABEL &LblName OF pnlLeft ;
      VALUE cText ;
      WIDTH nW HEIGHT nH ;
      FONT cMenuFontName SIZE nMenuFontSize ;
      FONTCOLOR aMenuItemsFore ;
      BACKCOLOR aMenuItemsBack ;
      ACTION MsgInfo( cMsg )

   hMenuItems[ LblName ] := { ;
      "name"      => LblName, ;
      "row"       => nY, ;
      "col"       => nMenuLeftMargin, ;
      "width"     => nW, ;
      "height"    => nH, ;
      "fore"      => aMenuItemsFore, ;
      "back"      => aMenuItemsBack, ;
      "hoverFore" => {255,255,255}, ;
      "hoverBack" => {80,120,180} }

RETURN


PROCEDURE MenuHover()
   LOCAL nRow := 0
   LOCAL nCol := 0
   LOCAL cName
   LOCAL hItem
   LOCAL aKeys
   LOCAL i

   IF EMPTY( hMenuItems )
      RETURN
   ENDIF

   aKeys := HB_HKeys( hMenuItems )
   HMG_GetCursorPos( pnlLeft.Handle, @nRow, @nCol )

   FOR i = 1 TO LEN( aKeys )
      cName := aKeys[i]
      hItem := hMenuItems[ cName ]

      IF nRow >= hItem["row"] .AND. ;
         nRow <= hItem["row"] + hItem["height"] .AND. ;
         nCol >= hItem["col"] .AND. ;
         nCol <= hItem["col"] + hItem["width"]

         IF cMenuHover != cName
            RestoreHover()
            ApplyHover( cName )
            cMenuHover := cName
         ENDIF
         RETURN
      ENDIF
   NEXT

   RestoreHover()
   cMenuHover := ""
RETURN


PROCEDURE ApplyHover( cName )
   LOCAL hItem
   IF !EMPTY( cName ) .AND. HB_HHasKey( hMenuItems, cName )
      hItem := hMenuItems[ cName ]
      SetProperty( "MainWin", hItem["name"], "BACKCOLOR", hItem["hoverBack"] )
      SetProperty( "MainWin", hItem["name"], "FONTCOLOR", hItem["hoverFore"] )
   ENDIF
RETURN


PROCEDURE RestoreHover()
   LOCAL hItem
   IF !EMPTY( cMenuHover ) .AND. HB_HHasKey( hMenuItems, cMenuHover )
      hItem := hMenuItems[ cMenuHover ]
      IF _IsControlDefined( hItem["name"], "MainWin" )
         SetProperty( "MainWin", hItem["name"], "BACKCOLOR", hItem["back"] )
         SetProperty( "MainWin", hItem["name"], "FONTCOLOR", hItem["fore"] )
      ENDIF
   ENDIF

RETURN
Pero no hace nada cuando hago click en alguna de las opciones principales :roll:

Solo por si acaso adjunto los .prg faltantes.
tdi.rar
Cualquier sugerencia será agradecida. Saludos y un abrazo.

Attachments


if_tdi.png (113.35 KiB)

tdi.rar (4.7 KiB)
]]>

¿ Alguién ha logrado hacer una interfaz tipo TDI con HMG 3.5 ? Estoy intentando hacer un menú lateral tipo acordeón (con ayuda de Copilot :lol: ) pero tanto Copilot como Gemini confunden demasiado las versiones y me entregan códigos combinados de HMG oficial con HMG extended e incluso de OOHG :cry:

Aun estoy en el esqueleto inicial ya que es primera vez que intento esto:
if_tdi.png
Y este es el codigo:

Code: Select all

#include "hmg.ch"
#include "inipublic.prg"
#include "config.prg"

SET AUTOPEN   Off
SET BELL      Off
SET BROWSESYNC On
SET CODEPAGE  TO SPANISH
SET CONSOLE   Off
SET CURSOR    Off
SET DATE      TO BRIT
SET DELETED   On
SET DELIMITERS Off
SET ECHO      Off
SET EPOCH     TO 1990
SET MULTIPLE  Off WARNING
SET NAVIGATION EXTENDED
SET SAFETY    Off
SET SCOREBOARD Off
SET SOFTSEEK  On
SET TALK      Off
SET WRAP      On

FUNCTION Main()

   REQUEST HB_LANG_ESWIN
   REQUEST HB_CODEPAGE_ESWIN
   REQUEST DBFCDX

   RDDSETDEFAULT("DBFCDX")
   HB_LANGSELECT( "ES" )
   HB_SetCodePage("ESWIN")
   SET DATE TO BRIT

   DECLARE WINDOW MainWin
   DECLARE WINDOW pnlLeft
   DECLARE WINDOW pnlCenter
   DECLARE WINDOW pnlRight

   IniPublic()
   LoadConfig()

   nMainWidth    := GetDesktopWidth()
   nMainHeight   := GetDesktopHeight() - 30
   nLeftWidth    := nMainWidth  * nPctLeft   / 100
   nCenterWidth  := nMainWidth  * nPctCenter / 100
   nRightWidth   := nMainWidth  * nPctRight  / 100
   nColPnlCenter := nLeftWidth
   nColPnlRight  := nLeftWidth + nCenterWidth

   DEFINE WINDOW MainWin ;
      AT 0,0 ;
      WIDTH nMainWidth HEIGHT nMainHeight ;
      MAIN ;
      TITLE "INFOFARMA TDI" ;
      NOMAXIMIZE NOSIZE

      DEFINE WINDOW pnlLeft ;
         ROW 0 ;
         COL 0 ;
         WIDTH nLeftWidth ;
         HEIGHT nMainHeight ;
         WINDOWTYPE PANEL ;
         BACKCOLOR aColorBack ;
         ONMOUSEMOVE MenuHover()
      END WINDOW

      DEFINE WINDOW pnlCenter ;
         ROW 0 COL nColPnlCenter ;
         WIDTH nCenterWidth ;
         HEIGHT nMainHeight ;
         WINDOWTYPE PANEL ;
         BACKCOLOR aColorPanel
      END WINDOW

      DEFINE WINDOW pnlRight ;
         ROW 0 COL nColPnlRight ;
         WIDTH nRightWidth ;
         HEIGHT nMainHeight ;
         WINDOWTYPE PANEL ;
         BACKCOLOR aColorBack
      END WINDOW

      InitMenuData()
      RedrawLeftMenu()

   END WINDOW

   MainWin.Center
   MainWin.Activate

RETURN NIL


//==================================================================
// Inicialización de la estructura de datos del menú
//==================================================================
PROCEDURE InitMenuData()

   aMenuEstructura := { ;
      { "id" => "Admin", "titulo" => "Administradores", "items" => { ;
         { "id" => "lblItem_Articulos",    "caption" => "Artículos",            "msg" => "abre el módulo de artículos" }, ;
         { "id" => "lblItem_Tipos",        "caption" => "Tipos",                "msg" => "abre el módulo de tipos" }, ;
         { "id" => "lblItem_Marcas",       "caption" => "Marcas",               "msg" => "abre el módulo de marcas" }, ;
         { "id" => "lblItem_DCIs",         "caption" => "DCIs",                 "msg" => "abre el módulo de DCIs" }, ;
         { "id" => "lblItem_Proveedores",  "caption" => "Proveedores",          "msg" => "abre el módulo de proveedores" }, ;
         { "id" => "lblItem_Clientes",     "caption" => "Clientes",             "msg" => "abre el módulo de clientes" }, ;
         { "id" => "lblItem_Usuarios",     "caption" => "Usuarios",             "msg" => "abre el módulo de usuarios" }, ;
         { "id" => "lblItem_Movimientos",  "caption" => "Movimientos",          "msg" => "abre el módulo de movimientos" }, ;
         { "id" => "lblItem_CfgVisual",    "caption" => "Configuración Visual", "msg" => "abre configuración visual" }, ;
         { "id" => "lblItem_Temas",        "caption" => "Temas",                "msg" => "abre temas" } ;
      } }, ;
      { "id" => "Compras", "titulo" => "Compras", "items" => { ;
         { "id" => "lblItem_Facturas",     "caption" => "Facturas",             "msg" => "abre facturas" }, ;
         { "id" => "lblItem_Faltantes",    "caption" => "Faltantes",            "msg" => "abre faltantes" }, ;
         { "id" => "lblItem_Precios",      "caption" => "Precios",              "msg" => "abre precios" }, ;
         { "id" => "lblItem_Pagos",        "caption" => "Pagos",                "msg" => "abre pagos" } ;
      } }, ;
      { "id" => "Ventas", "titulo" => "Ventas", "items" => { ;
         { "id" => "lblItem_Ventas",       "caption" => "Ventas",               "msg" => "abre ventas" }, ;
         { "id" => "lblItem_NCs",          "caption" => "Notas de Crédito",     "msg" => "abre notas de crédito" }, ;
         { "id" => "lblItem_Cobros",       "caption" => "Cobros",               "msg" => "abre cobros" } ;
      } }, ;
      { "id" => "Servicios", "titulo" => "Servicios", "items" => { ;
         { "id" => "lblItem_Cargos",       "caption" => "Cargos/Descargos",     "msg" => "abre cargos/descargos" }, ;
         { "id" => "lblItem_Kardex",       "caption" => "Kardex",               "msg" => "abre kardex" }, ;
         { "id" => "lblItem_Observatorio", "caption" => "Observatorio",         "msg" => "abre observatorio" }, ;
         { "id" => "lblItem_Controlados",  "caption" => "Controlados",          "msg" => "abre controlados" } ;
      } } ;
   }

RETURN


//==================================================================
// Construcción / Redibujado dinámico del Menú Lateral
//==================================================================
PROCEDURE RedrawLeftMenu()
   LOCAL nW, nY, i, j
   LOCAL hSec, hSub
   LOCAL nTitleHeight := 38
   LOCAL nItemHeight  := 28
   LOCAL cTitId, cSubId

   // 1. Eliminar controles previamente creados en pnlLeft
   FOR i := 1 TO LEN( aControlesCreados )
      IF _IsControlDefined( aControlesCreados[i], "MainWin" )
         DoMethod( "MainWin", aControlesCreados[i], "RELEASE" )
      ENDIF
   NEXT
   aControlesCreados := {}
   hMenuItems := hb_Hash()

   nW := nLeftWidth - ( nMenuLeftMargin * 2 )
   nY := 0

   // 2. Iterar secciones principales
   FOR i := 1 TO LEN( aMenuEstructura )
      hSec   := aMenuEstructura[i]
      cTitId := "lblTit_" + hSec["id"]

      AddMenuTitle( cTitId, hSec["titulo"], nY, nW, nTitleHeight, hSec["id"] )
      AADD( aControlesCreados, cTitId )
      nY += nTitleHeight

      // Si la sección actual está activa, desplegar sus subelementos
      IF cSeccionActiva == hSec["id"]
         FOR j := 1 TO LEN( hSec["items"] )
            hSub   := hSec["items"][j]
            cSubId := hSub["id"]

            AddMenuItem( cSubId, "   " + hSub["caption"], nY, nW, nItemHeight, hSub["msg"] )
            AADD( aControlesCreados, cSubId )
            nY += nItemHeight
         NEXT
      ENDIF
   NEXT

RETURN


//==================================================================
// Control de apertura/cierre de secciones (Efecto Acordeón)
//==================================================================
PROCEDURE ToggleSeccion( cSecId )
   IF cSeccionActiva == cSecId
      cSeccionActiva := "" // Si se vuelve a hacer clic en la abierta, se cierra
   ELSE
      cSeccionActiva := cSecId // Abre la nueva y automáticamente cierra las demás
   ENDIF

   RestoreHover()
   cMenuHover := ""
   RedrawLeftMenu()
RETURN


//==================================================================
// Métodos de Creación y Eventos
//==================================================================
PROCEDURE AddMenuTitle( LblName, cText, nY, nW, nH, cSecId )

   @ nY, nMenuLeftMargin LABEL &LblName OF pnlLeft ;
      VALUE cText ;
      WIDTH nW HEIGHT nH ;
      FONT cMenuFontName SIZE ( nMenuFontSize + 1 ) BOLD ;
      FONTCOLOR aMenuTitleFore ;
      BACKCOLOR aMenuTitleBack ;
      ACTION ToggleSeccion( cSecId )

   hMenuItems[ LblName ] := { ;
      "name"      => LblName, ;
      "row"       => nY, ;
      "col"       => nMenuLeftMargin, ;
      "width"     => nW, ;
      "height"    => nH, ;
      "fore"      => aMenuTitleFore, ;
      "back"      => aMenuTitleBack, ;
      "hoverFore" => {255,255,255}, ;
      "hoverBack" => {60,90,140} }

RETURN


PROCEDURE AddMenuItem( LblName, cText, nY, nW, nH, cMsg )

   @ nY, nMenuLeftMargin LABEL &LblName OF pnlLeft ;
      VALUE cText ;
      WIDTH nW HEIGHT nH ;
      FONT cMenuFontName SIZE nMenuFontSize ;
      FONTCOLOR aMenuItemsFore ;
      BACKCOLOR aMenuItemsBack ;
      ACTION MsgInfo( cMsg )

   hMenuItems[ LblName ] := { ;
      "name"      => LblName, ;
      "row"       => nY, ;
      "col"       => nMenuLeftMargin, ;
      "width"     => nW, ;
      "height"    => nH, ;
      "fore"      => aMenuItemsFore, ;
      "back"      => aMenuItemsBack, ;
      "hoverFore" => {255,255,255}, ;
      "hoverBack" => {80,120,180} }

RETURN


PROCEDURE MenuHover()
   LOCAL nRow := 0
   LOCAL nCol := 0
   LOCAL cName
   LOCAL hItem
   LOCAL aKeys
   LOCAL i

   IF EMPTY( hMenuItems )
      RETURN
   ENDIF

   aKeys := HB_HKeys( hMenuItems )
   HMG_GetCursorPos( pnlLeft.Handle, @nRow, @nCol )

   FOR i = 1 TO LEN( aKeys )
      cName := aKeys[i]
      hItem := hMenuItems[ cName ]

      IF nRow >= hItem["row"] .AND. ;
         nRow <= hItem["row"] + hItem["height"] .AND. ;
         nCol >= hItem["col"] .AND. ;
         nCol <= hItem["col"] + hItem["width"]

         IF cMenuHover != cName
            RestoreHover()
            ApplyHover( cName )
            cMenuHover := cName
         ENDIF
         RETURN
      ENDIF
   NEXT

   RestoreHover()
   cMenuHover := ""
RETURN


PROCEDURE ApplyHover( cName )
   LOCAL hItem
   IF !EMPTY( cName ) .AND. HB_HHasKey( hMenuItems, cName )
      hItem := hMenuItems[ cName ]
      SetProperty( "MainWin", hItem["name"], "BACKCOLOR", hItem["hoverBack"] )
      SetProperty( "MainWin", hItem["name"], "FONTCOLOR", hItem["hoverFore"] )
   ENDIF
RETURN


PROCEDURE RestoreHover()
   LOCAL hItem
   IF !EMPTY( cMenuHover ) .AND. HB_HHasKey( hMenuItems, cMenuHover )
      hItem := hMenuItems[ cMenuHover ]
      IF _IsControlDefined( hItem["name"], "MainWin" )
         SetProperty( "MainWin", hItem["name"], "BACKCOLOR", hItem["back"] )
         SetProperty( "MainWin", hItem["name"], "FONTCOLOR", hItem["fore"] )
      ENDIF
   ENDIF

RETURN
Pero no hace nada cuando hago click en alguna de las opciones principales :roll:

Solo por si acaso adjunto los .prg faltantes.
tdi.rar
Cualquier sugerencia será agradecida. Saludos y un abrazo.

Attachments


if_tdi.png (113.35 KiB)

tdi.rar (4.7 KiB)
]]>
<![CDATA[General :: Re: Interfaz TDI con HMG 3.5 :: Reply by danielmaximiliano]]> 2026-09-28T13:36:28+00:00 2026-09-28T13:36:28+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7782&p=72508#p72508 Creo que Copilot entiende que TDI es una capa de Transporte de RED.

para que tengas un menu desplegable yo subi un ejemplo en https://hmgforum.com/viewtopic.php?p=72 ... out#p72423
descarga la version para temas oscuro y claro.]]>
Creo que Copilot entiende que TDI es una capa de Transporte de RED.

para que tengas un menu desplegable yo subi un ejemplo en https://hmgforum.com/viewtopic.php?p=72 ... out#p72423
descarga la version para temas oscuro y claro.]]>
<![CDATA[General :: Re: Modern MenuFlyout :: Reply by Steed]]> 2026-09-17T22:43:48+00:00 2026-09-17T22:43:48+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7772&p=72475#p72475 <![CDATA[General :: Re: Modern MenuFlyout :: Reply by jorge.posadas]]> 2026-09-28T18:32:38+00:00 2026-09-28T18:32:38+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7772&p=72509#p72509
Ya recompile tu proyecto y ya pude ver el menu, se ve muy bien, pero al querer crear un proyecto NUEVO, no me hace nada, y viendo el código está esto: :Item("New Project", {|| MsgInfo("Acción: Create New Project", "MenuFlyout") })
Mi pregunta, ¿cómo puedo crear un proyecto con tu aplicación?
De antemano gracias]]>

Ya recompile tu proyecto y ya pude ver el menu, se ve muy bien, pero al querer crear un proyecto NUEVO, no me hace nada, y viendo el código está esto: :Item("New Project", {|| MsgInfo("Acción: Create New Project", "MenuFlyout") })
Mi pregunta, ¿cómo puedo crear un proyecto con tu aplicación?
De antemano gracias]]>
<![CDATA[General :: Re: Modern MenuFlyout :: Reply by danielmaximiliano]]> 2026-09-28T19:20:39+00:00 2026-09-28T19:20:39+00:00 http://mail.hmgforum.com/viewtopic.php?f=24&t=7772&p=72510#p72510
jorge.posadas wrote: ↑Mon Sep 28, 2026 6:32 pm Daniel

Ya recompile tu proyecto y ya pude ver el menu, se ve muy bien, pero al querer crear un proyecto NUEVO, no me hace nada, y viendo el código está esto: :Item("New Project", {|| MsgInfo("Acción: Create New Project", "MenuFlyout") })
Mi pregunta, ¿cómo puedo crear un proyecto con tu aplicación?
De antemano gracias
Es un demo, no es un entorno de desarrollo.
es un menu desplegable para aplicaciones Win32 en HMG Harbour, mi entorno de desarollo Workspace esta compartido en mi canal de telegram.
hoy estoy mejorando el diseñador de formularios para que se pueda ejecutar el formulario desde el editor para pruebas -]]>
jorge.posadas wrote: ↑Mon Sep 28, 2026 6:32 pm Daniel

Ya recompile tu proyecto y ya pude ver el menu, se ve muy bien, pero al querer crear un proyecto NUEVO, no me hace nada, y viendo el código está esto: :Item("New Project", {|| MsgInfo("Acción: Create New Project", "MenuFlyout") })
Mi pregunta, ¿cómo puedo crear un proyecto con tu aplicación?
De antemano gracias
Es un demo, no es un entorno de desarrollo.
es un menu desplegable para aplicaciones Win32 en HMG Harbour, mi entorno de desarollo Workspace esta compartido en mi canal de telegram.
hoy estoy mejorando el diseñador de formularios para que se pueda ejecutar el formulario desde el editor para pruebas -]]>
<![CDATA[HMG Samples :: Re: GraphPlus :: Reply by Rathinagiri]]> 2026-09-17T06:40:15+00:00 2026-09-17T06:40:15+00:00 http://mail.hmgforum.com/viewtopic.php?f=9&t=6922&p=72470#p72470 <![CDATA[My HMG Projects :: Re: Ajedrez-Chess :: Reply by Steed]]> 2026-09-23T03:01:01+00:00 2026-09-23T03:01:01+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7540&p=72487#p72487
Chess5.zip
Chess5.gif
(don´t forget to install chess_alpha_Font inclued in the zip)

CTRL+M: Show the IA Thinking Monitor (Don´t forge to navigate the Analisys tree)
The pieces can be moved using drag and drop.
Chess, with Human vs. Human, Human vs. AI, and AI vs. AI modes.
Theme settings
IA LAB
Tuning LAB
Can Play using external engines
It can compete in UCI mode under Arena.
Play Book with Clasicc Openings
Copy (CTRL+C) and Paste (CTRL+V) FEN Codes:

Code: Select all

example1: 4r1k1/5ppp/8/8/Q7/8/5PPP/4R1K1 b - - 0 1
example2: 8/5pk1/4p1p1/3pP1P1/p1pP1K2/PpP5/1P6/8 b - - 3 52
example3: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
 

Code: Select all

    ON KEY ESCAPE OF Form_Ajedrez ACTION CancelSelection() // Cancelar selección
    ON KEY CONTROL+Y OF Form_Ajedrez ACTION ( Redo() )
    ON KEY CONTROL+Z OF Form_Ajedrez ACTION ( Undo() )
    ON KEY CONTROL+N OF Form_Ajedrez ACTION ( NewGame() )
    ON KEY CONTROL+E OF Form_Ajedrez ACTION ( ExportFEN() )
    ON KEY CONTROL+I OF Form_Ajedrez ACTION ( ImportFEN() )
    ON KEY CONTROL+P OF Form_Ajedrez ACTION ( ExportPGN() )
    ON KEY CONTROL+O OF Form_Ajedrez ACTION ( ImportPGN() )
    ON KEY CONTROL+G OF Form_Ajedrez ACTION ( SaveGame() )
    ON KEY CONTROL+S OF Form_Ajedrez ACTION ( SaveGame() )
    ON KEY CONTROL+A OF Form_Ajedrez ACTION ( LoadGame() )
    ON KEY CONTROL+L OF Form_Ajedrez ACTION ( LoadGame() ) 
    ON KEY CONTROL+M OF Form_Ajedrez ACTION ( ShowMonitorWindow() )
    ON KEY CONTROL+T OF Form_Ajedrez ACTION ( RunIntegrityTests() )
    ON KEY CONTROL+C OF Form_Ajedrez ACTION ( CopyFENToClipboard() )
    ON KEY CONTROL+V OF Form_Ajedrez ACTION ( PasteFENFromClipboard() )
    ON KEY CONTROL+H OF Form_Ajedrez ACTION ( Test_Syzygy_Directo() )
    ON KEY CONTROL+J OF Form_Ajedrez ACTION ( DownloadMissingSyzygy() )

Attachments

Chess5.zip (1956.34 KiB)

Chess5.gif (1736.53 KiB)

]]>
Chess5.zip
Chess5.gif
(don´t forget to install chess_alpha_Font inclued in the zip)

CTRL+M: Show the IA Thinking Monitor (Don´t forge to navigate the Analisys tree)
The pieces can be moved using drag and drop.
Chess, with Human vs. Human, Human vs. AI, and AI vs. AI modes.
Theme settings
IA LAB
Tuning LAB
Can Play using external engines
It can compete in UCI mode under Arena.
Play Book with Clasicc Openings
Copy (CTRL+C) and Paste (CTRL+V) FEN Codes:

Code: Select all

example1: 4r1k1/5ppp/8/8/Q7/8/5PPP/4R1K1 b - - 0 1
example2: 8/5pk1/4p1p1/3pP1P1/p1pP1K2/PpP5/1P6/8 b - - 3 52
example3: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
 

Code: Select all

    ON KEY ESCAPE OF Form_Ajedrez ACTION CancelSelection() // Cancelar selección
    ON KEY CONTROL+Y OF Form_Ajedrez ACTION ( Redo() )
    ON KEY CONTROL+Z OF Form_Ajedrez ACTION ( Undo() )
    ON KEY CONTROL+N OF Form_Ajedrez ACTION ( NewGame() )
    ON KEY CONTROL+E OF Form_Ajedrez ACTION ( ExportFEN() )
    ON KEY CONTROL+I OF Form_Ajedrez ACTION ( ImportFEN() )
    ON KEY CONTROL+P OF Form_Ajedrez ACTION ( ExportPGN() )
    ON KEY CONTROL+O OF Form_Ajedrez ACTION ( ImportPGN() )
    ON KEY CONTROL+G OF Form_Ajedrez ACTION ( SaveGame() )
    ON KEY CONTROL+S OF Form_Ajedrez ACTION ( SaveGame() )
    ON KEY CONTROL+A OF Form_Ajedrez ACTION ( LoadGame() )
    ON KEY CONTROL+L OF Form_Ajedrez ACTION ( LoadGame() ) 
    ON KEY CONTROL+M OF Form_Ajedrez ACTION ( ShowMonitorWindow() )
    ON KEY CONTROL+T OF Form_Ajedrez ACTION ( RunIntegrityTests() )
    ON KEY CONTROL+C OF Form_Ajedrez ACTION ( CopyFENToClipboard() )
    ON KEY CONTROL+V OF Form_Ajedrez ACTION ( PasteFENFromClipboard() )
    ON KEY CONTROL+H OF Form_Ajedrez ACTION ( Test_Syzygy_Directo() )
    ON KEY CONTROL+J OF Form_Ajedrez ACTION ( DownloadMissingSyzygy() )

Attachments

Chess5.zip (1956.34 KiB)

Chess5.gif (1736.53 KiB)

]]>
<![CDATA[My HMG Projects :: Re: Ajedrez-Chess :: Reply by danielmaximiliano]]> 2026-09-23T18:31:42+00:00 2026-09-23T18:31:42+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7540&p=72490#p72490 gracias a uds estoy dando mis primero pasos en Ajedres, es como mi primero "hola mundo" :mrgreen:]]> gracias a uds estoy dando mis primero pasos en Ajedres, es como mi primero "hola mundo" :mrgreen:]]> <![CDATA[My HMG Projects :: Re: Ajedrez-Chess :: Reply by Steed]]> 2026-09-25T02:51:52+00:00 2026-09-25T02:51:52+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7540&p=72499#p72499
Cuando estes jugando contra la IA, presiona CTRL+M , activa el monitor de pensamiento de la IA que muestra las posibles jugadas que calculo , en esa ventana puedes navegar por el árbol de análisis y va mostrando la animación de las jugadas
ArbolA.png

En el Botón de aperturas, puedes seleccionar una apertura y cargarla en el tablero principal para practicar la jugada.
cuando cargues la apertura con CTRL+Z o CTRL+y te vas moviendo en las diferentes jugadas de la apertura

Apert.png
En la ventana principal escojes el nivel de dificultad y el modo de Juego (Humano vs Humano, Humano vs IA o IA vs IA)
Niveles.gif
El botón de configurar te permite , seleccionar el tema, y los valores de estrategia del motor.

Configuración del Motor
♟️ Evaluación Peón pasado 85; pareja de alfiles 56; rey expuesto −65
♞ Movilidad N=5, B=4, R=3
🖥️ CPU/Memoria 6 hilos, 64 MB Hash
🔎 Búsqueda Quietud e iterativa activadas
⚡ Optimizaciones Magic + evaluación dinámica activadas
✂️ Poda LMR, NMP y Delta desactivadas
⏱️ Tiempo Gestión automática activada; 5 s como tiempo fijo
♜ Material MG P=100, C=400, A=401, T=600, D=1400
♚ Material EG P=100, C=290, A=315, T=560, D=1050
📚 Syzygy Desactivado; límite configurado en 6 piezas

Config.png
También puedes jugar con motores de ajedrez externos (que encuentras en Arena), Para ello en la carpeta \Engines incluyes un archivo Ruta.ini con la ruta donde descargues los motores de arena
Motores2.png

Attachments


ArbolA.png (38.91 KiB)


Apert.png (127.18 KiB)


Config.png (107.36 KiB)


Motores2.png (65.63 KiB)


Niveles.gif (13.77 KiB)

]]>

Cuando estes jugando contra la IA, presiona CTRL+M , activa el monitor de pensamiento de la IA que muestra las posibles jugadas que calculo , en esa ventana puedes navegar por el árbol de análisis y va mostrando la animación de las jugadas
ArbolA.png

En el Botón de aperturas, puedes seleccionar una apertura y cargarla en el tablero principal para practicar la jugada.
cuando cargues la apertura con CTRL+Z o CTRL+y te vas moviendo en las diferentes jugadas de la apertura

Apert.png
En la ventana principal escojes el nivel de dificultad y el modo de Juego (Humano vs Humano, Humano vs IA o IA vs IA)
Niveles.gif
El botón de configurar te permite , seleccionar el tema, y los valores de estrategia del motor.

Configuración del Motor
♟️ Evaluación Peón pasado 85; pareja de alfiles 56; rey expuesto −65
♞ Movilidad N=5, B=4, R=3
🖥️ CPU/Memoria 6 hilos, 64 MB Hash
🔎 Búsqueda Quietud e iterativa activadas
⚡ Optimizaciones Magic + evaluación dinámica activadas
✂️ Poda LMR, NMP y Delta desactivadas
⏱️ Tiempo Gestión automática activada; 5 s como tiempo fijo
♜ Material MG P=100, C=400, A=401, T=600, D=1400
♚ Material EG P=100, C=290, A=315, T=560, D=1050
📚 Syzygy Desactivado; límite configurado en 6 piezas

Config.png
También puedes jugar con motores de ajedrez externos (que encuentras en Arena), Para ello en la carpeta \Engines incluyes un archivo Ruta.ini con la ruta donde descargues los motores de arena
Motores2.png

Attachments


ArbolA.png (38.91 KiB)


Apert.png (127.18 KiB)


Config.png (107.36 KiB)


Motores2.png (65.63 KiB)


Niveles.gif (13.77 KiB)

]]>
<![CDATA[My HMG Projects :: Re: Ajedrez-Chess :: Reply by Steed]]> 2026-09-26T21:12:52+00:00 2026-09-26T21:12:52+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7540&p=72502#p72502 Chess5.zip

Attachments

Chess5.zip (1956.93 KiB)
]]>
Chess5.zip

Attachments

Chess5.zip (1956.93 KiB)
]]>
<![CDATA[My HMG Projects :: Harbour Chess :: Author gfilatov]]> 2026-09-13T12:09:14+00:00 2026-09-13T12:09:14+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7778&p=72460#p72460
I would like to express my sincere gratitude to Marcos Jarrin for implementing this chess game using Harbour and MiniGUI Extended.

It had long been a dream of mine to have a full-fledged chess engine in MiniGUI.

Here is the application's main header and a few screenshots.
I am also attaching the technical documentation and user manual for your reference—in case you are a chess enthusiast like me.

/*
Program : chess.prg — Harbour Chess
Author : Marcos Jarrín · BadaSystem · badasystem.com
Toolchain: Harbour + MiniGUI Extended (Win32) + BCC 32-bit
Version : 2.34 · 13/09/2026
License : MIT (see LICENSE.md)

Purpose
-------
Single-module chess application supporting Human vs Human, Human vs Machine,
and Machine vs Machine. Implements core FIDE chess rules including castling,
en passant, promotion, checkmate/stalemate, claimable 3-fold and 50-move
draws, automatic 5-fold and 75-move draws, and insufficient-material cases.

AI engine: Alpha-Beta search with quiescence, iterative deepening, PVS,
killer/history/countermove ordering, Zobrist transposition table (with
mate-distance normalization and draw-context exact-cutoff suppression),
and a phased evaluation (material, piece-square tables, mobility, pawn
structure). Time-controlled iterative deepening with partial-depth commit
policy (Mode A soft-finish / Mode B full-depth only). Root-parallel
multi-threaded search with worker I/O isolation.

Architecture
------------
GUI (MiniGUI) → controller (DoMove, timers, menus)
→ engine (GenLegalMoves, ApplyMove / MakeMove-UnmakeMove)
Legal-move validation uses the same in-place MakeMove/UnmakeMove path as
search. Search undo state is a compact fixed array; repetition counts are
maintained incrementally. Engine state is a hash mutated in place.
AI search is started by a timer. Root-parallel workers use THREAD STATIC
state and never perform console/logfile I/O (routed via ChessDebugOut).

Encoding: UTF-8 (optional Unicode piece glyphs).
UI strings go through T(cKey); hash reads through _HGetSafe().
*/
start_position.png
replay_position.png
final_position.png
I hope you have a great time and a wonderful day.

Attachments


replay_position.png (28.81 KiB)


final_position.png (27.58 KiB)


start_position.png (19.29 KiB)

]]>

I would like to express my sincere gratitude to Marcos Jarrin for implementing this chess game using Harbour and MiniGUI Extended.

It had long been a dream of mine to have a full-fledged chess engine in MiniGUI.

Here is the application's main header and a few screenshots.
I am also attaching the technical documentation and user manual for your reference—in case you are a chess enthusiast like me.

/*
Program : chess.prg — Harbour Chess
Author : Marcos Jarrín · BadaSystem · badasystem.com
Toolchain: Harbour + MiniGUI Extended (Win32) + BCC 32-bit
Version : 2.34 · 13/09/2026
License : MIT (see LICENSE.md)

Purpose
-------
Single-module chess application supporting Human vs Human, Human vs Machine,
and Machine vs Machine. Implements core FIDE chess rules including castling,
en passant, promotion, checkmate/stalemate, claimable 3-fold and 50-move
draws, automatic 5-fold and 75-move draws, and insufficient-material cases.

AI engine: Alpha-Beta search with quiescence, iterative deepening, PVS,
killer/history/countermove ordering, Zobrist transposition table (with
mate-distance normalization and draw-context exact-cutoff suppression),
and a phased evaluation (material, piece-square tables, mobility, pawn
structure). Time-controlled iterative deepening with partial-depth commit
policy (Mode A soft-finish / Mode B full-depth only). Root-parallel
multi-threaded search with worker I/O isolation.

Architecture
------------
GUI (MiniGUI) → controller (DoMove, timers, menus)
→ engine (GenLegalMoves, ApplyMove / MakeMove-UnmakeMove)
Legal-move validation uses the same in-place MakeMove/UnmakeMove path as
search. Search undo state is a compact fixed array; repetition counts are
maintained incrementally. Engine state is a hash mutated in place.
AI search is started by a timer. Root-parallel workers use THREAD STATIC
state and never perform console/logfile I/O (routed via ChessDebugOut).

Encoding: UTF-8 (optional Unicode piece glyphs).
UI strings go through T(cKey); hash reads through _HGetSafe().
*/
start_position.png
replay_position.png
final_position.png
I hope you have a great time and a wonderful day.

Attachments


replay_position.png (28.81 KiB)


final_position.png (27.58 KiB)


start_position.png (19.29 KiB)

]]>
<![CDATA[My HMG Projects :: Re: Harbour Chess :: Reply by serge_girard]]> 2026-09-13T15:34:21+00:00 2026-09-13T15:34:21+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7778&p=72461#p72461
Serge]]>

Serge]]>
<![CDATA[My HMG Projects :: Re: Harbour Chess :: Reply by gfilatov]]> 2026-09-14T15:34:22+00:00 2026-09-14T15:34:22+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7778&p=72464#p72464
serge_girard wrote: ↑Sun Sep 13, 2026 3:34 pm Thanks Grigory, where can we download?
Hello Serge,

Here it is. 8-)

Have fun!

Attachments

Chess application and two manuals
Chess.zip (1421.17 KiB)
]]>
serge_girard wrote: ↑Sun Sep 13, 2026 3:34 pm Thanks Grigory, where can we download?
Hello Serge,

Here it is. 8-)

Have fun!

Attachments

Chess application and two manuals
Chess.zip (1421.17 KiB)
]]>
<![CDATA[My HMG Projects :: Re: Harbour Chess :: Reply by Steed]]> 2026-09-18T01:45:28+00:00 2026-09-18T01:45:28+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7778&p=72476#p72476 (don´t forget to install chess_alpha_Font inclued in the zip)

CTRL+M: Show the IA Thinking Monitor (Don´t forge to navigate the Analisys tree)
The pieces can be moved using drag and drop.
Chess, with Human vs. Human, Human vs. AI, and AI vs. AI modes.
Theme settings
IA LAB
Tuning LAB
Can Play using external engines
It can compete in UCI mode under Arena.
Play Book with Clasicc Openings
Copy (CTRL+C) and Paste (CTRL+V) FEN Codes:

Code: Select all

example1: 4r1k1/5ppp/8/8/Q7/8/5PPP/4R1K1 b - - 0 1
example2: 8/5pk1/4p1p1/3pP1P1/p1pP1K2/PpP5/1P6/8 b - - 3 52
example3: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
 

[image]
Chess5.gif

Code: Select all

    ON KEY ESCAPE OF Form_Ajedrez ACTION CancelSelection() // Cancelar selección
    ON KEY CONTROL+Y OF Form_Ajedrez ACTION ( Redo() )
    ON KEY CONTROL+Z OF Form_Ajedrez ACTION ( Undo() )
    ON KEY CONTROL+N OF Form_Ajedrez ACTION ( NewGame() )
    ON KEY CONTROL+E OF Form_Ajedrez ACTION ( ExportFEN() )
    ON KEY CONTROL+I OF Form_Ajedrez ACTION ( ImportFEN() )
    ON KEY CONTROL+P OF Form_Ajedrez ACTION ( ExportPGN() )
    ON KEY CONTROL+O OF Form_Ajedrez ACTION ( ImportPGN() )
    ON KEY CONTROL+G OF Form_Ajedrez ACTION ( SaveGame() )
    ON KEY CONTROL+S OF Form_Ajedrez ACTION ( SaveGame() )
    ON KEY CONTROL+A OF Form_Ajedrez ACTION ( LoadGame() )
    ON KEY CONTROL+L OF Form_Ajedrez ACTION ( LoadGame() ) 
    ON KEY CONTROL+M OF Form_Ajedrez ACTION ( ShowMonitorWindow() )
    ON KEY CONTROL+T OF Form_Ajedrez ACTION ( RunIntegrityTests() )
    ON KEY CONTROL+C OF Form_Ajedrez ACTION ( CopyFENToClipboard() )
    ON KEY CONTROL+V OF Form_Ajedrez ACTION ( PasteFENFromClipboard() )
    ON KEY CONTROL+H OF Form_Ajedrez ACTION ( Test_Syzygy_Directo() )
    ON KEY CONTROL+J OF Form_Ajedrez ACTION ( DownloadMissingSyzygy() )
Chess5.zip

Attachments


Chess5.gif (1736.53 KiB)

Chess5.zip (1956.04 KiB)
]]>
(don´t forget to install chess_alpha_Font inclued in the zip)

CTRL+M: Show the IA Thinking Monitor (Don´t forge to navigate the Analisys tree)
The pieces can be moved using drag and drop.
Chess, with Human vs. Human, Human vs. AI, and AI vs. AI modes.
Theme settings
IA LAB
Tuning LAB
Can Play using external engines
It can compete in UCI mode under Arena.
Play Book with Clasicc Openings
Copy (CTRL+C) and Paste (CTRL+V) FEN Codes:

Code: Select all

example1: 4r1k1/5ppp/8/8/Q7/8/5PPP/4R1K1 b - - 0 1
example2: 8/5pk1/4p1p1/3pP1P1/p1pP1K2/PpP5/1P6/8 b - - 3 52
example3: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
 

[image]
Chess5.gif

Code: Select all

    ON KEY ESCAPE OF Form_Ajedrez ACTION CancelSelection() // Cancelar selección
    ON KEY CONTROL+Y OF Form_Ajedrez ACTION ( Redo() )
    ON KEY CONTROL+Z OF Form_Ajedrez ACTION ( Undo() )
    ON KEY CONTROL+N OF Form_Ajedrez ACTION ( NewGame() )
    ON KEY CONTROL+E OF Form_Ajedrez ACTION ( ExportFEN() )
    ON KEY CONTROL+I OF Form_Ajedrez ACTION ( ImportFEN() )
    ON KEY CONTROL+P OF Form_Ajedrez ACTION ( ExportPGN() )
    ON KEY CONTROL+O OF Form_Ajedrez ACTION ( ImportPGN() )
    ON KEY CONTROL+G OF Form_Ajedrez ACTION ( SaveGame() )
    ON KEY CONTROL+S OF Form_Ajedrez ACTION ( SaveGame() )
    ON KEY CONTROL+A OF Form_Ajedrez ACTION ( LoadGame() )
    ON KEY CONTROL+L OF Form_Ajedrez ACTION ( LoadGame() ) 
    ON KEY CONTROL+M OF Form_Ajedrez ACTION ( ShowMonitorWindow() )
    ON KEY CONTROL+T OF Form_Ajedrez ACTION ( RunIntegrityTests() )
    ON KEY CONTROL+C OF Form_Ajedrez ACTION ( CopyFENToClipboard() )
    ON KEY CONTROL+V OF Form_Ajedrez ACTION ( PasteFENFromClipboard() )
    ON KEY CONTROL+H OF Form_Ajedrez ACTION ( Test_Syzygy_Directo() )
    ON KEY CONTROL+J OF Form_Ajedrez ACTION ( DownloadMissingSyzygy() )
Chess5.zip

Attachments


Chess5.gif (1736.53 KiB)

Chess5.zip (1956.04 KiB)
]]>
<![CDATA[My HMG Projects :: Re: Harbour Chess :: Reply by gfilatov]]> 2026-09-23T14:26:16+00:00 2026-09-23T14:26:16+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7778&p=72489#p72489
Steed wrote: ↑Fri Sep 18, 2026 1:45 am Coincidence of life: I’m working on a very similar project.(Minigui & HMG)
...
Thank you very much for your feedback!

Your project is very interesting 8-) , but there is a tiny problem :o with his interface language (Spanish/Portugal :?: ).

BTW You can see the 'About' dialog of the Harbour Chess app with the features description in the picture:
chess_about.png

Attachments


chess_about.png (68.77 KiB)

]]>
Steed wrote: ↑Fri Sep 18, 2026 1:45 am Coincidence of life: I’m working on a very similar project.(Minigui & HMG)
...
Thank you very much for your feedback!

Your project is very interesting 8-) , but there is a tiny problem :o with his interface language (Spanish/Portugal :?: ).

BTW You can see the 'About' dialog of the Harbour Chess app with the features description in the picture:
chess_about.png

Attachments


chess_about.png (68.77 KiB)

]]>
<![CDATA[My HMG Projects :: Re: Harbour Chess :: Reply by Steed]]> 2026-09-26T21:16:41+00:00 2026-09-26T21:16:41+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7778&p=72504#p72504 Chess5.zip

Attachments

Chess5.zip (1956.93 KiB)
]]>
Chess5.zip

Attachments

Chess5.zip (1956.93 KiB)
]]>
<![CDATA[My HMG Projects :: Re: Harbour Chess :: Reply by gfilatov]]> 2026-10-08T07:45:33+00:00 2026-10-08T07:45:33+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7778&p=72523#p72523
Steed wrote: ↑Sat Sep 26, 2026 9:16 pm English versión
Thank you very much! This is much clearer now 8-)]]>
Steed wrote: ↑Sat Sep 26, 2026 9:16 pm English versión
Thank you very much! This is much clearer now 8-)]]>
<![CDATA[My HMG Projects :: 🚀 HMG Extended Edition – Build 26.10 Now Available! :: Author gfilatov]]> 2026-10-08T07:48:30+00:00 2026-10-08T07:48:30+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7785&p=72524#p72524
We are pleased to announce the release of HMG Extended Edition – Build 26.10 (2026/10/08).

This build focuses on stability and correctness: improved Image Control alpha/transparency handling, multiple robustness fixes in HBPrinter, multi-threading support for SQLite (PRO), updated Harbour compilers, a new HBBENCH utility, and several new/enhanced samples (Scientific Calculator, WebView2, HbORM v2, TSBrowse examples, and more).

Full backward compatibility is preserved.

📥 Downloads

STANDARD Build (Borland C++ 5.8.2)
https://hmgextended.com/files/CONTRIB/h ... -setup.zip

⚠ Not recommended for production use.

---

🔐 PROFESSIONAL Build (recommended)
https://hmgextended.com/files/CONTRIB/hmg-26.10-pro.7z
https://hmgextended.org/files/CONTRIB/hmg-26.10-pro.7z

Password is shared with project donors and supporters.

This release is strongly recommended for all active users.

---

Thank you to all contributors, testers, and supporters!

Warm regards,
Grigory Filatov
on behalf of the MiniGUI Team]]>

We are pleased to announce the release of HMG Extended Edition – Build 26.10 (2026/10/08).

This build focuses on stability and correctness: improved Image Control alpha/transparency handling, multiple robustness fixes in HBPrinter, multi-threading support for SQLite (PRO), updated Harbour compilers, a new HBBENCH utility, and several new/enhanced samples (Scientific Calculator, WebView2, HbORM v2, TSBrowse examples, and more).

Full backward compatibility is preserved.

📥 Downloads

STANDARD Build (Borland C++ 5.8.2)
https://hmgextended.com/files/CONTRIB/h ... -setup.zip

⚠ Not recommended for production use.

---

🔐 PROFESSIONAL Build (recommended)
https://hmgextended.com/files/CONTRIB/hmg-26.10-pro.7z
https://hmgextended.org/files/CONTRIB/hmg-26.10-pro.7z

Password is shared with project donors and supporters.

This release is strongly recommended for all active users.

---

Thank you to all contributors, testers, and supporters!

Warm regards,
Grigory Filatov
on behalf of the MiniGUI Team]]>
<![CDATA[My HMG Projects :: Re: 🚀 HMG Extended Edition – Build 26.10 Now Available! :: Reply by ASESORMIX]]> 2026-10-08T13:52:08+00:00 2026-10-08T13:52:08+00:00 http://mail.hmgforum.com/viewtopic.php?f=15&t=7785&p=72525#p72525