HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

Post Reply
MICROVOLUTION
Posts: 100
Joined: Sat May 30, 2015 5:15 am
Been thanked: 3 times

HMG 3.5 - Compilar programa com BAT sem uso auxílio da IDE ?

Post by MICROVOLUTION »

Bom dia!
Criei este tópico para qualquer pessoa que queira compilar seu(s) programa(s) sem o F5 de dentro da IDE (que para alguns é uma M*RD*) kkkk
Então vamos lá...
primeiro erro que não ocorre dentro da IDE/HMG e sim no arquivo (único) .BAT:

Code: Select all

1	gcc.exe: error: I:/SISTEMA/_temp.o: No such file or directory
2	hbmk2 [SISTEMAbat]: Erro: Executando linkeditor. 1
Alguém sabe do que se trata essa falta do tal arquivo TEMPO.O ou da pasta i:/SISTEMA ?

gisjr134
Posts: 4
Joined: Tue Dec 08, 2020 11:37 am
DBs Used: DBF
Been thanked: 1 time

Post by gisjr134 »

Bom dia!

Eu compilo usando uma BAT que criei BuildExe.Bat , que utilizo no VS CODE. Posso te enviar , ai voce so faria trocar o nome das pastas e
deve Funcionar.

MICROVOLUTION
Posts: 100
Joined: Sat May 30, 2015 5:15 am
Been thanked: 3 times

Post by MICROVOLUTION »

gisjr134 wrote:
Wed Jan 06, 2021 3:42 pm
Posso te enviar ,
sim será uma honra pra todos nós que você compartilhe conosco!
mas, o que é VS CODE?

gisjr134
Posts: 4
Joined: Tue Dec 08, 2020 11:37 am
DBs Used: DBF
Been thanked: 1 time

Post by gisjr134 »

VSCODE é um Ambiente de desenvolvimento , possui diversas funcionalidades e extensões. Utilizo uma extensão que permite compilar e trabalhar com HMG ou similares. Inclusive debugando.

User avatar
danielmaximiliano
Posts: 2435
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Has thanked: 525 times
Been thanked: 109 times
Contact:

Post by danielmaximiliano »

Ola Microevolution
crie um novo .bat com este conteúdo, ao executá-lo com cmd ou duplo-clique sobre ele pedirá o nome do arquivo a compilar, primeiro compilará um arquivo de projeto .hbp caso não exista compilará um .prg na segunda ordem.
você pode adicionar um parâmetro na compilação, se necessário.

crea un nuevo .bat con este contenido, al ejecutar mediante cmd o dobleclik sobre el mismo te pedira el nombre de archivo a compilar, primeramente compilará un archivo de proyecto .hbp si esté no existe compilará un .prg en segundo orden.
se puede agregar un parametro en la compilacion si es requerido.

Code: Select all

@echo off
SET HMGPATH=C:\hmg.3.5\
Title New HMG -- Build.bat -- 
@echo 
if "%1"=="" goto Input                                                                                                                                        
if not EXIST %1 Goto Noexist

:Build  
@Echo Compiling %*                                                                            
call %HMGPATH%build.bat %*
@echo.
goto Finish

:Noexist
echo  El archivo %1  no existe,  revise el nombre
@echo  
Goto Finish

:Input

Color 04
@echo ********************************************************************************
@echo   Este Batch pasa informacion a hbmk2 para un compilacion facil y limpia       
@echo   se distribuye como esta y no garantiza que este libre de errores             
@echo   si encuentra una puede escribirme a danielmaximiliano@yahoo.com.ar            
@echo   Basado un Build.bat distribuido en el Proyecto HMG de Roberto Lopez           
@echo ********************************************************************************
@echo.
@echo Entre el nombre del proyecto a compilar, asume la extension .HBP si este existe
@echo en la carpeta del proyecto, sino compila el .PRG
@echo. 
@echo "<Enter>" sale del Batch
@echo.
color 07
Set /p Filename=Nombre de la Aplicacion:=
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.

if {%Filename%}=={} goto :Finish
if EXIST %Filename%.hbp (Set Extension=.hbp&&Goto Enterparameters)
if EXIST %Filename%.prg (Set Extension=.prg&&Goto Enterparameters)
goto Cleanvar


:EnterParameters
@echo *******************************************************************************
@echo  Parametros Extras para compilar %Filename%%extension%
@echo. 
@echo                           /n	No EJECUTAR desdepues de compilar
@echo                           /d	Habilita DEBUG
@echo                           /c	Modo CONSOLA DOS
@echo. 
@echo Nota: " Con un <Enter> ningun parametro es pasado "
@echo *******************************************************************************
@echo.
Set /p Parameter=Parametros :=
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
If "%Parameter%"== "" goto Continue
If /I "%Parameter%"=="/n" Goto Withparameters
If /I "%Parameter%"=="/d" Goto Withparameters
If /I "%Parameter%"=="/c" Goto Withparameters
cls
Goto EnterParameters


:Withparameters
@echo compilando con parametros
if EXIST %Filename%.hbp Goto HBPParameters 
if EXIST %Filename%.prg Goto PRGParameters
goto Cleanvar



:HBPParameters
@Echo Compilando %Filename%.hbp %Parameter%
call %HMGPATH%build.bat  %filename%.hbp %Parameter%
goto Cleanvar

:PRGParameters
Echo Compilando %Filename%.PRG %Parameter%
call %HMGPATH%build.bat %filename%.prg %Parameter%
goto Cleanvar


:Continue
@echo no parameters compilation
if EXIST %Filename%.hbp Goto HBP 
if EXIST %Filename%.prg Goto PRG


:HBP
@Echo Compile %Filename%.hbp
call %HMGPATH%build.bat %filename%.hbp 
goto Cleanvar

:PRG
@Echo Compile %Filename%.prg
call %HMGPATH%build.bat %filename%.prg
goto Cleanvar

:CleanVar
@echo Cleaning variable´s
(SET HMGPATH=)
(SET Filename=)
(SET Parameter=)
Goto Input 

:Finish
@echo Cleaning variable´s
set "bar="
set "percent=0"
set "count=0"
for /l %%i in (1,1,20) do set "bar=!bar!±"
:loop
set /p "= %bar:~0,20% %percent%%%"<nul
ping -n 1 -w 1 localhost>nul
for /l %%i in (1,1,26) do set /p "="<nul
set "bar=Û%bar%"
set /a "count+=1"
set /a "percent+=5"
if %count% leq 20 goto:loop
echo.
echo.
(SET HMGPATH=)
(SET Filename=)
(SET Parameter=)
(set bar=)
(set percent=)
(set count=)

*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO

MICROVOLUTION
Posts: 100
Joined: Sat May 30, 2015 5:15 am
Been thanked: 3 times

Post by MICROVOLUTION »

danielmaximiliano wrote:
Thu Jan 07, 2021 12:21 am
Ola Microvolution
crie um novo .bat com este conteúdo
assim, que eu puder construirei o .BAT e farei o teste.
os resultados (positivos ou negativos) postarei aqui para todos.
grato!

Post Reply