BUILD.BAT

Moderator: Rathinagiri

joposadas

BUILD.BAT

Post 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
User avatar
danielmaximiliano
Posts: 2611
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: BUILD.BAT

Post 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=)

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

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
joposadas

Re: BUILD.BAT

Post by joposadas »

Daniel,

Gracias por este envío, empezaré con las pruebas y luego te comento el resultad.
joposadas

Re: BUILD.BAT

Post 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.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Re: BUILD.BAT

Post 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 ?
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
joposadas

Re: BUILD.BAT

Post 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.
Attachments
Src.zip
(967.35 KiB) Downloaded 274 times
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

BUILD.BAT

Post by Pablo César »

Me parece que me confundiste con Daniel... :lol:

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 246 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.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
EduardoLuis
Posts: 682
Joined: Tue Jun 04, 2013 6:33 pm
Location: Argentina

Re: BUILD.BAT

Post 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
User avatar
danielmaximiliano
Posts: 2611
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: BUILD.BAT

Post by danielmaximiliano »

Hola Jo:
cuando utilizas Unicode estas utilizando una plantillas que en cualquier parte se verá igual.
para ello tienes que utilizar

Code: Select all

 SET CODEPAGE TO UNICODE
esta forma el IDE y BUILD.BAT compilara el .exe UNICODE.
si utilizas

Code: Select all

SET LANGUAGE TO SPANISH 
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
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Re: BUILD.BAT

Post 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).
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Post Reply