Colous V5[Comando para mejorar el aspecto de los bat]

miércoles, 22 de septiembre de 2010
Resumen: Colous es un comando principalmente para mejorar el diseño de nuestros bat´s, permitiendo el uso del mouse, posicionarse en una determinada parte de la pantalla, escribir con un determinado color, integrando el uso del teclado pausando el code hasta recibir una tecla, o sin pausarlo.

Sintaxis principal(viejo)
Colous [colorT] [ColorF] [Coordenadas] [Texto]

colorT=Color de texto(colores del 0 al 15)
ColorF=Color de fondo(colores del 0 al 7)
[Coordenadas]=Coordenadas donde escribir el texto.X,Y separando X de la Y con la coma; Para agregar mas coordenadas usar ; , ejemplo : 1,2;8,9

Si se especifica 0,0 de coordenada, se escribirá en X e Y actual, osea, al lado de lo ya escrito.

[Texto]= Es el texto a escribir, se puede incluir caracteres ASCII sin problemas usando $ y el numero siempre tiene que estár en 3 cifras, ejemplo : $001(es la carita) , $065(es la A)


EJEMPLO:
Colous 12 0 1,1 Hola...$001

Texto de color rojo, fondo negro, escribe en la esquina superio izquierda, escribe "Hola...(y la carita)"

Paleta de colores:

Si es un poco dificil de entender, los invito a que visiten el primer post del comando colous, donde explico mas detalladamente las coordenadas, caracteres ascii,etc.
http://foro.portalhacker.net/index.php/topic,96907.0.html


Extras:
  • Colous 0 0 X,Y (No es un extra, pero se puede usar para posicionar el cursor de texto en dichas coordeadas numericas) ejemplo "colous 0 0 1,2" eso posicione en la segunda linea(Y=2)
  • Colous mouse (espera el code hasta que se haga un clic, devuelve "numero_de_boton X Y" estos datos se pueden leer usando FOR, para mas info, leer mas abajo)
  • Colous cursoroff (ocuta el cursor de texto)
  • Colous cursoron (aparece el cursor de texto)
  • Colous GetText[limite] (Es parecido al set /p, pero indicando el limite de caracteres)
    Ejemplo :
    Colous GetText 10, tiene un limite de caracteres 10, para leer el contenido, usar for.
  • Colous sleep [milisegundos] (Hace una pausa de determinados milisegundos(1000=1 segundo))
  • Colous getx (Devuelve en %errorlevel% la posicion X actual(fila actual))
  • Colous gety (Devuelve en %errorlevel% la posicion Y actual(columna actual))
  • Colous delline (Elimina la linea actual(la fila actual))
  • Colous readkey (Pausa el bat hasta que se presione una tecla, y devuelve en %errorlevel% el codigo ASCII)
  • Colous readkey$ (Pausa el bat hasta que se presione una tecla, y devuelve el caracter real(a b c d...) ,para leer el caracter recibido usar for.)
  • Colous keypress (Parecido a readkey, pero no pausa el bat, si se presionó una tecla devuelve su codigo ASCII en %errorlevel%, Usandolo en bucles)
  • Colous keypress$ (sin pausar el code, si se presiono una tecla, devuelve el caracter real(a b c d...) ,para leer el caracter recibido usar for.)
  • Colous version (Devuelve en %errorlevel% la version de colous.)


  • Colous WriteSec "[color]texto[color]texto2[color]..." (Escribe una secuencia de texto por bloques, los bloques se separan por los cambios de colores, los colores se cambian encerrando el numero de color entre corchetes[color].

    Si o SI hay que especificar un color antes de escribir.
    Se pueden escribir codigos ascii usando
    $ y en las 3 cifras indicar el numero : $065 Es la A, $010$013 :Simulo un enter.
    También hay unas pequeñas intrusiones que pueden ser útil, para manipular el cursor de texto:

    []{up} :Mueve el cursor de texto hacia la fila de arriba, pero en la misma columna.
    []{down} :Mueve el cursor de texto hacia la fila de abajo, pero en la misma columna.
    []{right} :Mueve el cursor de texto hacia la columna siguiente, pero en la misma fila.
    []{left} :Mueve el cursor de texto hacia la columna anterior, pero en la misma fila.)

    Ejemplo:

Colous writesec "[12]Esto es de color rojo [15]Y esto es de color blanco"


  • Colous WriteSec /F archivo.txt (Especifica un archivo con contenido de texto en bloques, para crear el texto, tomar como referencia el comando anterior.)


    Ejemplo:
    Archivo.txt contiene lo siguiente:

    [12]Esto es de color rojo [15]Y esto es de color blanco
    [12]Esto esta en la segunda linea, pero con color blanco
    [15]Esto esta en la tercera linea, pero con color rojo

    Y para usarlo, usamos éste mismo parametro:

Colous WriteSec /F archivo.txt
Echo.Ya se ha mostrado el contenido del archivo
pause>nul

  • Colous /F [archivo.txt] (Procesa un archivo del tipo colousDat, que se puede escribir manualmente o usando el paintColous)

    el archivo tiene el siguiente formato:

    colorT
    colorF
    Coordenadas
    Texto
    -
    colorT
    colorF
    Coordenadas
    Texto
    -
    etc...
    Usando las referencias anteriores.

Para mas informacion buscar el primer post de colous.



Leér mouse:
Usando el comando, colous mouse devuelve 3 datos en pantalla:

Boton X Y
boton= 1 si es click izquierdo, 2 si es derecho, 4 si es la ruedita, y varios mas que son combinaciones de botones.
X= Coordenada x donde se cliqueo
Y= Coordenada Y donde se cliqueo

Entonces, para obtener estos 3 datos con for, podemos hacer lo siguiente:

For /F "tokens=1,2,3" %%A in ('colous mouse') do (
set boton=%%A
set X=%%B
set Y=%%C
)

echo se cliqueo en %X% y %Y%
eso deja las coordenadas X e Y en unas variables, esto se puede implementar en una etiqueta, asi cuando queremos llamar al mouse hacemos "call:etiqueta" y listo, define las variables y la podemos usar.





Leér Readkey$:
Este comando, en vez de devolver en errorlevel, devuelve en la pantalla pero su caracter real, es decir, no en numeros, para obtenerlo es facil, necesitamos usar for:

@echo off
For /F %%A in ('colous readkey$') do (
echo Has escrito %%A
)
pause>nul
exit

0 comentarios:

Publicar un comentario