Build.bat dentro de las carpetas x:\hmg.3.0.xx\examples\..... adolece de algunas fallas.
Una de ellas es que ingresas un nombre diferente Build.bat en x:\hmg.3.0.xx\ intenta compilar dicho archivo , se genera un .exe sin ningun nombre.
tambien sucede al hacer un dobleclick sobre Build.bat este se ejecuta y genera un archivo Build.log con el siguiente contenido
Code: Select all
x:\hmg.3.0.39\\mingw\bin\nm.exe: 'C:/Temp/hbmk_sc3di0.dir/.c': No such file
las cuales publique en otro Post http://hmgforum.com/viewtopic.php?f=5&t=2111
Pero ahora tiene nuevas mejoras, igualmente tiene errores ya que los parametros /n /d no funcionan.
hay que ver cual es la falla y vere como corregir las mismas.
ya no necesitas ejecutar CMD para hacer lo mismo.
otra cuestion
Las caracteristicas son:¿Es posible crear un archivo por lotes CMD que soporta Arrastrar y soltar?
SI.
Seguro
En realidad esto es "normal", puedes arrastrar el archivo .HPB o .PRG y dejar caer sobre Mibuild.bat
es en realidad el parámetro %1.
1: Dobleclick sobre el mismo te pide nombre de archivo a compilar, se fija si existe y se compila
2: compila primeramente el archivo de proyecto .hbp si este no existe compilar el archivo .prg
3: limpia y remueve las variables usadas ya que quedan en el S.O
4: drag and Drop si no lo sabias
Code: Select all
@echo off
cls
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
SET HMGPATH=e:\hmg.3.0.39\
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=)