Comandos WBAT [Utiles para Batch(interfaz grafica)]

Iniciado por Rodrihack, 25 Septiembre 2008, 19:00 PM

0 Miembros y 1 Visitante están viendo este tema.

Rodrihack

Wbat es una pequeña utilidad que hace que nuestros Batch's tengan interfaz grafica.

Algunas de las acciones que puedes hacer con WBAT:

Cajas de texto, Cuadros de seleccion, Cajas de dialogo con menus,
Checkboxes , Radio botones, listas de seleccion, editar textos y utilisacion del cursor para seleccionar.

Pondre los comandos utilisados y ejemplos para que sea mas facil el entendimiento.

Descarga directa:

http://home.mnet-online.de/horst.muc/ui.htm#wbat
http://home.mnet-online.de/horst.muc/int/wbat250.zip

Copian los archivos a system32:

W.bat
Wbat.com
Wbat.ini




Cajas de texto:


Para crear una caja de texto tenemos que hacer el prototipo en otro .txt o en el mismo bat.

Para hacerlo en otro .txt tenemos que hacer lo siguiente:

:label
Nombre de nuestra caja de texto[$ VARIABLE,40,p,u! ]


":label" Viene siendo la etiqueta con el que lo llamamos.
[] con ello iniciamos y cerramos la caja de texto.
$ indica el inicio de la caja de texto
"VARIABLE" pues es obio el valor que cambia constantemente.
"40" Viene siendo el numero de caracteres maximo a ingresar.
"p" ase que nuestro texto salga en ********
"u" nos convierte todo lo ingresado a MAYUSCULAS
"!" nos permite cerrar con el boton esc.


Y para llamarlo tendriamos que poner en el code principal lo siguiente:

call w.bat box @NOMBRE DEL ARCHIVO.extensión:label

No cabe destacar que debemos de estar en la misma direccion que el archivo de la caja de texto.

Y nos quedaria asi:

Code principal:

@echo off
call w.bat box @menu.txt:label


code secundario (prototipo de la caja de texto):

:label
hola [$ VARIABLE,40,p,u! ]


Ejecutamos el code principal y nos debe de salir la caja de texto


Para hacerlo en el mismo code principal seria asi:

@echo off
call w.bat box @%0:select
:select
hola [$ VARIABLE,40,p,u! ]


Son las mismas funciones no mas que al llamarlo lo llamamos al mismo bat (%0)






Uso de las Variables en este tema (Cajas de texto)

esta parte, usar la variable es simple solo se usa if o como quieran utilisarlo
solo se usa como cualquier variable de "set" por ejemplo:
en este caso seria
%VARIABLE%

ejemplo


if %VARIABLE%==1 goto eof




Cuadros de seleccion y cajas de dialogo con menus.

solo se pueden poner como maximo 7 botones por pagina.

crea una caja con un texto o sin texto y luego una opcion
los numeros bienen siendo la ubicacion del boton

@echo off
wbat box 20,60 "hola" ok
exit


este crea varias opciones

@echo off
wbat box 20,60 "varias opciones" ok,si,no


Cambiarle el color a la caja de mensaje

@echo off
wbat box 20,60 (white on green) "Le entiendes" si,no


sin texto:

@echo off
wbat box 20,60 hola,adios





Uso de las Variables en este tema (Cuadros de seleccion y cajas de dialogo con menus.)


En este caso ya cambia un poco, tendremos que usar errorlevel.
Les dare unos tips para ver lo que generan las variables (esto me lo explico RockoX).
Miren este codigo:

@echo off
wbat box 20,60 hola,adios
echo %errorlevel%
rem Si elige Hola, el valor de retorno sera 1
rem Si elige Adios, el valor de retorno sera 2
if %errorlevel%==1 goto:a
if %errorlevel%==2 goto:b
:a
msg * hola
goto:Eof
:b
msg * adios
goto:eof


Para ver el valor de retorno les sugiero que pongan el comando en este caso
wbat box 20,60 hola,adios
y enseguida
echo %errorlevel%
y asi nos diran el valor de retorno con el que podremos crear ya vien nuestro IF.



Textos editados.-

Para poner textos editados tenemos que hacer lo mismo que en lo pasado poner nuestro contenido en un
block de notas aparte,
o ponerlo en el mismo bat(sugiero poner los menus y eso en textos aparte para asi no reburujarnos)

la sintaxis de este comando seria la siguiente:

WBAT text 8,16 (white on blue) @%0:asd

Donde:

"text" es el comando
"8,16" viene siendo la ubicacion de nuestro texto (cambien los numeros y veran lo que sucede).
"()" entre parentecis ponemos los colores que queremos, el primer color que pongamos sera el de la letra
y el segundo color sera con el color que subrayes.
"@" con este siempre lo vamos a llamar
"%0" este es el nombre de nuestro bat, cuando lo vamos a llamar dentro del mismo bat se pone eso "%0%"
y cuando esta en otro archivo externo se pone el nombre del archivo externo y su extensión

ejemplo
WBAT text 8,16 (white on blue) @ejemplo.txt:label
":asd" Esto viene siendo la etiqueta, cuando esta dentro del mismo bat podemos poner la etiqueta que
querramos, pero si se encuentra en algun otro archivo externo debemos de poner :label como se muestra
en el ejemplo.

Otra forma y la mas util de poner el texto en el mismo bat seria de la siguiente manera

WBAT text 8,16 (white on blue) "Tuto WBAT by Rodrihack"


Colores


light green----Verde
light brown----Amarillo
light blue------Azul
light white-----Gris
Black---------negro
White---------Blanco
Brown---------Verde opaco
red-----------Cafe



Ejemplo:

@echo off
WBAT text 1,15 (white on blue) @%0:Rodrihack
echo.
echo.
echo             hola
pause
:Rodrihack
Hola 1.1








listas de seleccion

Una lista de seleccion, que no requiere corchetes y toma la linea completa. Y su limite a exibir son 32kb


El  comando es:

w.bat list @NombreDelArchivo.extensión:label


La lista de seleccion tambien la puedes usar con los cursores [up/down] o con el mouse.

Tambien puede ser llamado de esta manera:

call w.bat list @%0:AquiLaEtiquetaDondeSeEncuentra

Ejemplo



@echo off
wbat list @%0:start
:start
hola
adios


cuando se va a poner la lista en otro archivo externo, se llamaria de esta forma:

call w.bat list @NombreDelArchivo.extensión:label

y el archivo externo lo primero que debe de tener es :label

ejemplo

este se llama call.bat los archivos deben de estar en c:

@echo off
cd\
call w.bat list @menu.txt:label


Y este se va a llamar menu.txt

:label
hola
adios
como te llamas?


Pruebenlo para que vean como es :)


Uso de las Variables en este tema (listas de seleccion)

en esta ocacion como se llaman las variables es %wbat% con esto podremos hacer un if

les pongo un ejemplo y luego les explico:

@echo off
call w.bat list @%0:menu
if "%wbat%"=="hola" msg * hola
if "%wbat%"=="adios" msg * adios
:menu
hola
adios


%wbat% asi vamos a llamar a nuestra variable
if "%wbat%"=="hola" msg * hola

en la parte despues de los "=="
dice hola, se le pone el nombre de la lista







Checkboxes

Checkboxes son botones de seleccion su sintaxis seria asi

[!]

es simple este comando no mas para llamarlo y la variable es diferente.

para llamar a este comando seria asi

en el mismo code:

wbat box @%0:Etiqueta donde este el menu.

llamando a un archivo externo recuerden que deben de estar en la misma ruta

wbat box @NOMBRE.extensión:label




Uso de las Variables en este tema (Checkboxes)

En este tema ya cambia un poco las variables, se usa "wcb" por lo que nos puede hacer
que nos confundamos un poco.

Explicacion

tenemos los [!] acomodados por numeracion y asi sera el nombre de la variable, ejemplo:

    a1 [!]
    e2 [!]
    i3 [!]
    o4 [!]
    u5 [!]


Para usar las variables como ya comente es con wcb a1 vendria siendo su nombre wcb1, e2 vendria siendo wcb2 y asi sucesibamente.

ejemplo

if %Wcb1%==1 a hacer
if %wcb2%==1 a hacer
if %wcb3%==1 a hacer
if %wcb4%==1 a hacer
if %wcb5%==1 a hacer


Les dejo un ejemplo para que se basen en el:

@echo off
call w.bat box @%0:Checkboxes
goto:Resto_del_codigo
:Checkboxes
Escoja su opcion, y a continuacion pulse ENTER

[! Ir al Cine]
[! Ir al centro]
[! Ir al Cobach]
[ ok ]

:Resto_del_codigo
if %wcb1%==1 (
echo Escogiste ir al cine
pause
goto:eof
:: by RockoX
)
if %wcb2%==1 (
echo Escogiste ir al centro
pause
goto:eof
)
if %wcb3%==1 (
echo Escogiste ir al Cobach
pause
goto:eof
)





NOTA:

RADIO BOTONES Y CHECKBOXES SON TEMAS PARESIDOS TANTO EN SU SINTAXIS COMO EN SUS VARIABLES, POR ESO
ACONSEJO QUE SEAN BIEN LEIDAS ESTAS DOS PARTES.


Saludos by Rodrihack.





Radio botones

Radio botones son botones de seleccion su sintaxis seria:

[.]

es simple este comando no mas para llamarlo y la variable es diferente.

para llamar a este comando seria asi

en el mismo code:

wbat box @%0:Etiqueta donde este el menu.

llamando a un archivo externo recuerden que deben de estar en la misma ruta

wbat box @NOMBRE.extensión:label




Uso de las Variables en este tema (Radio botones)


En este tema ya cambia un poco las variables, se usa "wrb" por lo que nos puede hacer
que nos confundamos un poco.

Explicacion

tenemos los [.] acomodados por numeracion y asi sera el nombre de la variable, ejemplo:

    a1 [!]
    e2 [!]
    i3 [!]
    o4 [!]
    u5 [!]


Para usar las variables como ya comente es con "wrb" aqui lo que sucede en cambio de checkboxes es que
no se le van agregando numeros al nombre de la variable si no al resultado.

Ejemplo:

if %wrb%==1
if %wrb%==2
if %wrb%==3
if %wrb%==4
if %wrb%==5


Les dejo un ejemplo para que se basen en el:

@echo off
call w.bat box @%0:Checkboxes
goto:Resto_del_codigo
:Checkboxes
Escoja su opcion, y a continuacion pulse ENTER

[. Ir al Cine]
[. Ir al centro]
[. Ir al Cobach]
[ok]

:Resto_del_codigo
if %wrb%==1 (
echo Escogiste ir al cine
pause
goto:eof
)
if %wrb%==2 (
echo Escogiste ir al centro
pause
goto:eof
)
if %wrb%==3 (
echo Escogiste ir al Cobach
pause
goto:eof
)







Con esto doi por terminado mi tutorial. Recuerden que no se todo de WBAT estoi aprendiendo con ustedes.

A si quieren copiar el tutorial nomas pongan el nombre del autor "Rodrihack"

nos vemos.


fin

Eazy

Buenisimo, una pregunta si yo hago un programa con WBAT:

El que ejecuta el ".bat" debe tener instalado WBAT?
Si lo paso a EXE con un Batch2Exe, se quedan las funciones WBAT?
Si lo comprimo a un exe, el que lo ejecuta debe tener instalado WBAT?
[/url]

Rodrihack

1.- Si debe de tenerlo instalado, pero una solucion seria batcherisar el wbat y agregarlo al programa que quieres hacer.
2.- Deben de quedarse las funciones del wbat
3.- Si tambien debe de tener instalado el wbat

saludos.

Rodrihack

#3
47 personas an visto mi tutorial y no mas Eazya opinado, vamos opinen :D

-/lnkx/-

Muy buneo el manual.... un pregunta puedo anñadirlo a un PDF que hago sobre batch ?¿
Evidentemente poniendo que es tuyo ehh!!

Saludos...
_-Lnkxnet84-_

Ari Slash

essstaaaa exelenteeeee!!!!!!!!!!!!!!!

muy bueno

yo siempre quize algo asi como visualizar un bat, o crear un menu colorido


gracias gracias


salu2


Rodrihack

Gracias por sus respuestas.

_-Lnkxnet84-_ claro que puedes agregarlo a tu pdf  ;D

Saludos.