Page 1 of 2
BUILD.BAT
Posted: Wed Sep 11, 2013 7:20 pm
by joposadas
HMG Team
Estoy leyendo el BUILD.BAT que esta en la versión 3.1.5 y que es este:
@echo OFF
SETLOCAL
SET temp=%~dp0
SET stemp=%temp%&SET pos=0
:loop
SET /a pos+=1
echo %stemp%|FINDSTR /b /c:"SAMPLES" >NUL
IF ERRORLEVEL 1 (
SET stemp=%stemp:~1%
IF DEFINED stemp GOTO loop
SET pos=0
)
setlocal enableDelayedExpansion
set "temp1=%temp%"
set /a pos=pos-2
set temp=!temp1:~0,%pos%!
if "%1"=="" Goto WithOutPar
Set MainFile=%1
Goto Continue
:WithOutPar
for /R %~dp0%~1 %%f in (*.hbp) do (Set MainFile="%%~nf")
Goto Continue
:Continue
call %temp%\build.bat %MainFile%
Ahora el problema que yo tengo es que en mi disco duro tengo un folder con mis proyectos y dentro de esos a mis clientes y dentro de ese un directorio donde estan mis fuentes y pantallas, ejemplo c: \PSS\Desarrollos\Clienet X\Src
y en éste último directorio (\SRC) tengo el BUILD.BAT que viene en la versión 3.0.46 y lo modifique asi para que me funcionara:
CLS
CALL C:\hmg.3.1.5\build.bat %*
IF EXIST %1.exe MOVE %1.exe ..\
y con eso hacia que se compilara en mi directorio del cliente.
Y aqui viene mi pregunta,
¿Donde, en que parte puedo modificar el nuevo BUILD para que haga lo que hace el viejito BUILD.BAT? es decir, quiero tener el BUILD.BAT en cada directorio de trabajo (\SRC) y que al llamarlo se compile mi HBP
Espero me haya explicado y de antemano muchas gracias por la ayuda, ya que estoy intentando pasarme de la version 3.0.46 a la 3.1.15, pero necesito modficar ese BUILD.BAT
Re: BUILD.BAT
Posted: Wed Sep 11, 2013 9:27 pm
by danielmaximiliano
Hola Jorge :
yo utilizo este para pegarlo en cualquier carpeta.
puedes utilizar nombre que quieras o te resulte comodo.
me olvide comentar que al ejecutar entrar solo el nombre de la aplicacion
sino arrastrar y soltar encima el .prg o .hbp sobre el Batch.
Code: Select all
@echo off
SET HMGPATH=C:\hmg.3.1.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=)
Re: BUILD.BAT
Posted: Thu Sep 12, 2013 4:11 pm
by joposadas
Daniel,
Gracias por este envío, empezaré con las pruebas y luego te comento el resultad.
Re: BUILD.BAT
Posted: Fri Sep 13, 2013 1:28 pm
by joposadas
Daniel,
Gracias ya lo use y me funcionó bien, ya pude compilar mis PRG con la versió 3.1.15, solo tengo una pregunta, cuando creo un formulario con el IDE (el ide que está hecho para UNICODE y si en la propiedad de TITLE pongo ¡BIENVENIDO!, menú principal el acento y los símbolos de admiración lo mimo me sucede cuando, en mi PRG uso un MsgInfo("Faltó un dato"), tampoco me pone el acento, mi pregunta es :
¿Qué tengo que hacer para que en ambos casos me salga los símbolo y los acentos y las ñÑ ?
Mucho agradeceré tu ayuda.
Re: BUILD.BAT
Posted: Fri Sep 13, 2013 1:51 pm
by Pablo César
joposadas wrote:solo tengo una pregunta, cuando creo un formulario con el IDE (el ide que está hecho para UNICODE y si en la propiedad de TITLE pongo ¡BIENVENIDO!, menú principal el acento y los símbolos de admiración lo mimo me sucede cuando, en mi PRG uso un MsgInfo("Faltó un dato"), tampoco me pone el acento, mi pregunta es :
¿Qué tengo que hacer para que en ambos casos me salga los símbolo y los acentos y las ñÑ ?
Hola Jorge, solo tienes que utilizar el Notepad++ o cualquier editor de código que tenga la opcion de trabajar en UTF-8.
Entra en el menu del Notepad++ (que viene con la instalacion del HMG 3.1.5) en la opcion
Formato\Codificar en UTF-8 (si tiene configurado el Notepad++ en español) o Encoding\Encode in UTF-8 (si el Notepad++, estubiera en ingles). Después de eso, revisa todo tu PRGs que contenga acentuaciones y los corrijes para que compile en UNICODE. OK ?
Re: BUILD.BAT
Posted: Fri Sep 13, 2013 5:44 pm
by joposadas
Daniel
Disculpa que me apoye contigo, pero en definitiva no he podido lograr que salga acentos y simbolos de interrogación y otro más.
Te mando un ZIP con el formulario y el PRG para ver si tú encuentras el motivo de que al compilar no me presenta esos símbolos.
Hice lo que me sugeriste, de cambiar mi TexPad a CODIGICAR CON UTF-8 y aún así no me da el resultado, espero no incomodarte con mi ayuda y de antemano te agradezco.
BUILD.BAT
Posted: Fri Sep 13, 2013 6:15 pm
by Pablo César
Me parece que me confundiste con Daniel...
Yo procedí como te habia indicado y edité tambien tu fmg (que es el forumlário que estaba en ANSI). Recorté y colé y al confirmar el IDE lo transformó para modo UNICODE.
Ahora adicioné los archivos que fueron modificados: PRG, FMG y los otros de configuracion para cargar en tu IDE, pero en HMG 3.1.5.
joposadas wrote:Hice lo que me sugeriste, de cambiar mi TexPad a CODIGICAR CON UTF-8 y aún así no me da el resultado
Entonces usas el TexPad ? No lo conosco. Te aconsejo utilizar el Notepad++ que viene co la instalación. Porque no estoy viendo que lo hayas grabado en UNICODE (UTF-8)...
Aunque ahora lo tienes ya grabado en el archivo en anexo.
- Src.rar
- (822.49 KiB) Downloaded 252 times
Lo que impedia es que después del comando:
SET LANGUAGE TO SPANISH realizabas otros comandos que sobreponian el único comando necesário para ajustar el idioma.
SET LANGUAGE TO SPANISH es lo único que precisabas. Y re-edictar tu PRG y FMG que en el form tambien tenia acentos.
Re: BUILD.BAT
Posted: Fri Sep 13, 2013 6:20 pm
by EduardoLuis
Hola:
He visto tu código.-
En lugar de "SET LANGUAGE TO SPANISH", coloca "SET CODEPAGE TO SPANISH"
Yo lo he compilado con el IDE ANSI, y funcionó correctamente.-
Cordialmente.- Eduardo
Re: BUILD.BAT
Posted: Fri Sep 13, 2013 6:22 pm
by danielmaximiliano
Hola Jo:
cuando utilizas Unicode estas utilizando una plantillas que en cualquier parte se verá igual.
para ello tienes que utilizar
esta forma el IDE y BUILD.BAT compilara el .exe UNICODE.
si utilizas
vas a compilar en ANSI, todos los caracteres graficos especiales cambian si el sistema operativo esta configurado en otro lenguaje.
prueba :
Code: Select all
#INCLUDE <hmg.ch>
#INCLUDE <PS_Cnfg.ch>
PROCEDURE Main
SET TOOLTIPSTYLE BALLOON
SET CENTURY ON // Habilita 4 digitos para el a?? SET CONFIRM ON
SET SCOREBOARD OFF
SET DATE TO BRITISH // JAPAN
SET DEFAULT TO GsRutaDB
SET CODEPAGE TO UNICODE
SET NAVIGATION EXTENDED
Set Multiple OFF
IF IsWindowActive (Frm_MainMenu)
MsgStop("Ya esta en en uso esta opción","ERROR")
RETURN NIL
ELSE
LOAD WINDOW Frm_MainMenu
END WINDOW
MakeTreeMainMenu()
/*
IF !ReadServerDataConexion()
MsgStop ( "Inconsistencia en los datos de conexión al servidor."+GsJumpline+;
"Comunicate al área de sistemas." , "Imposible continuar")
RETURN
ENDIF
*/
CENTER WINDOW Frm_MainMenu
ACTIVATE WINDOW Frm_MainMenu
ENDIF
PROCEDURE MakeTreeMainMenu
Frm_MainMenu.Tree_MainMenu.DeleteAllItems
NODE "ESTRUCTURA"
TREEITEM "Usuarios"
END NODE
NODE "UTIILERIAS"
TREEITEM "áéíúó ñM '! ¿? "
END NODE
RETURN
RETURN
Re: BUILD.BAT
Posted: Fri Sep 13, 2013 6:26 pm
by Pablo César
EduardoLuis wrote:
En lugar de "SET LANGUAGE TO SPANISH", coloca "SET CODEPAGE TO SPANISH"
Yo lo he compilado con el IDE ANSI, y funcionó correctamente.
Eduardo, Javier está usando en modo UNICODE, no en ANSI. No hay por qué usar en ANSI... (esa es mi opinion).