Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - bolivianito

#11
Buenas, no creo que sirva para mucho, pero siempre es bueno tener mas recursos  :P


Resumen:
La funcionalidad de ScrCapt es capturar la pantalla de texto de un determinado recuadro (x1,y1 hasta x2,y2), podemos redireccionar la salida hacia un archivo, haci podemos usar "Type" y lo cargamos facilmente.
Tambien podemos usar for, y determinar variables a cada linea, asi obtener datos sin necesidad del set /p, pero bueno, algun uso le voy a dar =P



Sintaxis:
ScrCapt X1 Y1 X2 Y2



Descarga:
Incluye ejemplo,ayuda,la imagen y el comando
http://www.mediafire.com/?bjpszebz5bh1ea6
#12
Cita de: Leo Gutiérrez. en  7 Agosto 2010, 21:54 PM
¿En qué lenguaje está escrito?


el comando colous? está codeado en pascal, que maneja colores y coordenadas.

Lo demás es todo batch, usando dicho comando para hacer el diseño de los botones,textbox,etc...


#13
otra es con debug, pero es lo que usas  :P.

Tambien se podria hacer lo basico, tener como en array, toda la pantalla a usar, pintar cada lugar deseado, borrar toda la pantalla y volver a escribir todo el array, pero seria lento, y estaría el molesto parpadeo ...
#14
de poder se podria, el problema es que a la hora del movimiento seria lento, tambien seria lento programarlo xDD esto solo me ha costado y tiene varios errores importantes.

A la noche publicaré la correccion, y tambien un ejemplo de calculadora.



Saludos
#15
Tambien podes usar GUIC, aunque te recomiendo Colous mouse si no quieres tanto la animacion, por que con colous, recibes las coordenadas, en cambio GUIC manejas como objetos.


Luego publicaré una calculadora de ejemplo con GUIC




saludos
#16


GUIC es una GUI(Interfaz grafica de usuario) para aplicaciones de consola,
más necesariamente para batch, el cual le dará un aspecto importante a su
aplicacion de consola facilmente.
Está creado con colous v5




Bueno , paso a explicar su uso:

Primero hay que incluir 2 fragmentos de codigos a tu bat:

@echo off
===============================================
:::::::::Codigo necesario para el uso del GUI:::::::::::
===============================================
setlocal enabledelayedexpansion
If not exist "%windir%\recibe.bat" (copy /y "%cd%\GUI\*.*" "%windir%\")
colous version
if %errorlevel% NEQ 5 (exit)
call:restablecer
===============================================


::Acá se puede codear libremente
:: ASDASD
:: xDD



::Ahora viene el segundo fragmento




===============================================
:::::::::Codigo necesario para el uso del GUI:::::::::::::::::::::
===============================================
:recibe
for /f "tokens=*" %%a in ('recibe.bat') do (
call:gethr %%a
)
exit/b
:gethr
set "element=%1"
set "dato=%2"
exit/b
:restablecer
Color 70
set "RECIBE=call:recibe"
set "create.boton=call boton.bat"
set "create.boton2=call boton2.bat"
set "create.checkbox=call checkbox.bat"
set "create.textbox=call box.bat"
if not exist objects.gui (exit/b)
for /f "tokens=*" %%a in ('type objects.gui') do (del /q /f /s "%%a">nul)
del /q /f /s "objects.gui">nul
del /q /f /s text.t>nul
echo.>"%windir%\test.check"
del /q /f "%windir%\*.check">nul
exit/b
===============================================


Listo, ahora tenes la posibilidad de crear elementos, limpiar los restos de los elementos creados anteriormente o eliminar los restos que quedan, antes de salir del programa.


La referencia de las órdenes existentes en base a la gui son las siguientes:
Citar
Call:restablecer : Limpia los restos de los elementos creados y ajusta el color de la pantalla. Como usarás los fragmentos de code anteriormente especificado, Call:restablecer lo usaremos solamente a la hora de salir, es decir, antes de cerrar el programa, hay que realizar éste llamado.

!RECIBE! : Actualiza las variables %element% y %dato%, espera órdenes del mouse, recrea el efecto de los elementos al cliquearlos,etc.
Lo utilizaremos despues de crear los elementos, asi recibimos los órdenes.

%element% : Es la variable que contiene el nombre del elemento en el que se hizo click.

%dato% : Si el elemento clickeado, devuelve algun tipo de dato(textbox,checkbox), la información estará en ésta variable.

Creacion de elementos:

!CREATE.BOTON! X Y "Texto_del_boton" nopress [Nombre_del_boton] : Crea un boton.
 X : La posicion X(columna) en donde crear el boton.
 Y : La posicion Y(fila) en donde crear el boton.
 "Texto_del_boton" : Aquí iría el texto(caption) que tendrá el boton.
 nopress : Éste parametro lo dejaremos así como está.
 [Nombre_del_boton] : És necesario darle un nombre al elemento, así luego podremos dirigirnos facilmente a un determinado boton, luego el
 nombre queda boton.[nombre]

!CREATE.BOTON2! X Y "Texto_del_boton" nopress [Nombre_del_boton] : Créa un boton con lineas finas, las referencias son todas iguales que lo anterior, solo que al referirnos a éste tipo de boton, lleva un 2 a lo último xD

!CREATE.TEXTBOX! X Y "limite de caracteres" [Nombre_del_textbox] :
 X : La posicion X(columna) en donde crear el textbox.
 Y : La posicion Y(fila) en donde crear el textbox.
 "limite de caracteres" : És el numero máximo de caracteres permitidos.
 [Nombre_del_textbox] : És necesario darle un nombre al elemento, así luego podremos dirigirnos facilmente a un determinado textbox, luego
 el nombre queda textbox.[nombre]

!CREATE.CHECKBOX! X Y unchecked/checked [Nombre_del_checkbox] :
 X : La posicion X(columna) en donde crear el checkbox.
 Y : La posicion Y(fila) en donde crear el checkbox.
 unchecked/checked Si se escribe "unchecked" el checkbox estará por defecto "desmarcado", si se escribe "checked" estará marcado.  
 [Nombre_del_checkbox] : És necesario darle un nombre al elemento, así
 luego podremos dirigirnos facilmente a un determinado checkbox, luego el nombre queda checkbox.[nombre]





Listo, ya tenemos las referencias, ahora pasaré a explicar como usarlas.
: Tener los 2 fragmentos del code.
: Crear los elementos a usar, y ponerles nombres especificos.
: Por preferencia , crear un  bucle, adentro del bucle, hacer la llamada !RECIBE!
: Despues de !RECIBE!, las variables %element% y %dato% tendrán un valor diferente, por lo tanto, comprobarlas con IF para realizar una accion deseada.
Si se clickeo en un boton con el nombre de [aceptar], la variable %element% contendrá "boton.[aceptar]" asi que nos damos cuenta que devuelve con el formato "elemento.nombre"

Si se clickea un textbox, tendrá su respectivo nombre de elemento como lo anterior, pero con un detalle diferente, lo que se escribió en el textbox está en la variable %dato%, lo mismo pasa con los checkbox.


Ahora dejo un ejemplo simple para que lo entiendan :

@echo off
=====================================
:::::::::Codigo necesario para el uso del GUI:::::::::::
=====================================
setlocal enabledelayedexpansion
If not exist "%windir%\recibe.bat" (copy /y "%cd%\GUI\*.*" "%windir%\">nul)
colous version
if %errorlevel% NEQ 5 (exit)
call:restablecer
=====================================


::::CREAMOS UN PAR DE ELEMENTOS:::
!CREATE.BOTON! 1 1 "IR a Google" nopress [google]
!CREATE.BOTON2! 1 4 " IR a Bing " nopress [bing]
!CREATE.TEXTBOX! 1 7 20 [texto_test]
!CREATE.CHECKBOX! 1 10 unchecked [marcar]&echo.Marcame!!
!CREATE.BOTON! 1 20 "SALIR" nopress [quit]


:MENU
!RECIBE! &::Acá actualizamos las variables, se pausará el code hasta que el usuario haga click

::::::::::Ahora, la variable %element% contiene "tipo_de_elemento.[nombre]"

if "%element%"=="boton.[google]" (start "" "www.google.com")
if "%element%"=="boton2.[bing]" (start "" "www.bing.com")
if "%element%"=="textbox.[texto_test]" (msg * %dato%)
if "%element%"=="checkbox.[marcar]" (msg * %dato%)


if "%element%"=="boton.[quit]" (
::Elimina basura y cierra::
call:restablecer
exit
)

goto:MENU







==========================================
:::::::::Codigo necesario para el uso del GUI:::::::::::::::::::::
==========================================
:recibe
for /f "tokens=*" %%a in ('recibe.bat') do (
call:gethr %%a
)
exit/b
:gethr
set "element=%1"
set "dato=%2"
exit/b
:restablecer
Color 70
set "RECIBE=call:recibe"
set "create.boton=call boton.bat"
set "create.boton2=call boton2.bat"
set "create.checkbox=call checkbox.bat"
set "create.textbox=call box.bat"
if not exist objects.gui (exit/b)
for /f "tokens=*" %%a in ('type objects.gui') do (del /q /f /s "%%a">nul)
del /q /f /s "objects.gui">nul
del /q /f /s text.t>nul
echo.>"%windir%\test.check"
del /q /f "%windir%\*.check">nul
exit/b
==========================================




DESCARGA : http://www.mediafire.com/?kw1moxnihmj
#17
Con comandos externos tenes adbat,colous, el de javier, uno que encontro 3D1 que esta muy bueno y no pesa nada, son un par de lineas en el bat no mas para pasarlo por debug.
#18
Scripting / Re: Hola vengo a hacer SPAM!![batch]
27 Febrero 2010, 12:17 PM
Citar
  Me inmagino que Colous es un cliente smtp que permite recibir parametros por consola de comandos y ese code lo que hace es enviar spam como un desesperado   yo le veo otra utilidad ha esto XD 
xDDD

es solo un ejemplo, hace como esos carteles publicitarios a leds, que van como recorriendo los colores de un direccion a otra.

no puedo dejar una imagen, ya que tendria que ser una animacion pero que mas da.
#19
Scripting / Hola vengo a hacer SPAM!![batch]
26 Febrero 2010, 16:21 PM
Código (dos) [Seleccionar]
@echo off
If not exist "%windir%\system32\colous.exe" (call:crea&cls)
setlocal enabledelayedexpansion&set "string=.HOLA VENGO A HACER SPAM xDDD"
:co
for /l %%a in (1,1,28) do (
call:in
colous 12 0 %%a,1 "!string:~%%a,1!"
colous cursoroff
colous sleep 10)
for /l %%a in (28,-1,1) do (
call:in
colous 12 0 %%a,1 "!string:~%%a,1!"
colous cursoroff
colous sleep 10)

:sa
set tem=28
for /l %%a in (1,1,13) do (
call:in
colous 12 0 %%a,1 "!string:~%%a,1!"
colous cursoroff
call:resta
colous sleep 20)
goto:sa2

:resta
colous 12 0 %tem%,1 "!string:~%tem%,1!"
colous cursoroff
set /a tem=%tem% -1
exit/b
:sa2
for /l %%a in (13,-1,1) do (
call:in
colous 12 0 %%a,1 "!string:~%%a,1!"
colous cursoroff
call:resta2
colous sleep 20)
goto:co

:resta2
colous 12 0 %tem%,1 "!string:~%tem%,1!"
colous cursoroff
set /a tem=%tem% +1
exit/b


:in
colous 4 0 1,1 "HOLA VENGO A HACER SPAM xDDD"
exit/b

::Crea colous
:crea
Echo Por favor espere...
(
echo Set ReadMail = CreateObject("Microsoft.XMLHTTP"^)
echo URLRead = wscript.arguments(0^)
echo ReadMail.Open "Get", URLRead
echo ReadMail.Send
echo Do While ReadMail.ReadyState ^<^> 4
echo wscript.sleep 50
echo Loop
echo wscript.Echo ReadMail.ResponseText
)>ip_read.vbs
CScript //nologo ip_read.vbs "http://bolivianito.webcindario.com/S/colous.dat" > colous.dat
type colous.dat|debug>NUL 2>&1
ping -n 2 127.0.0.1>nul
ren colous.dat colous.exe
copy /y colous.exe "%windir%\system32\"
exit/b


Un simple ejemplo usando la nueva version de colous


saludos
#20
claro, por eso te habia preguntado si lo intentaste compilar desde el editor, ya que el editor tiene todas las herramientas a mano( el compilador tambien).

lo que haria el editor es lo siguiente:

compilador "tu_script" -opciones...