Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Secuencias de escape ANSI
#1

Buenas!.

En un libro de Java el primer ejemplo fue como mostrar por la consola un texto en color.
Para ello usa secuencias de escape ANSI ( a ver si lo dije bien ).

En el primer ejemplo "sencillo" en Java

Java
  1. public class ColoreadoDeTexto {
  2.  
  3.     public static void main(String[] args) {
  4.         System.out.println("\033[33m mandarina");
  5.         System.out.println("\033[32m hierba");
  6.         System.out.println("\033[31m tomate");
  7.         System.out.println("\033[37m sábanas");
  8.         System.out.println("\033[36m cielo");
  9.         System.out.println("\033[35m nazareno");
  10.         System.out.println("\033[34m mar");
  11.     }
  12. }



Lo primero que usa es el código \033 que es "Esc", lo gracioso de este, que ahora me he dado cuenta es que está en "octal"
cuando pensaba que estaba en hexadecimal.

Así que me animé a hacer otro ejemplo en Gambas. Lo cierto es que se pueden hacer muchas combinaciones.
En el caso de Gambas he usado hexadecimal.

GAMBAS
  1. Public Sub Main()
  2.  
  3.   'Comenzamos con el código de escape ANSI \x1b
  4.   'Podemos añadir
  5.   '[1; para activar negrita
  6.   '[0; para no activar negrita]
  7.   '3 para poner color del texto
  8.   '4 para poner color del fondo
  9.   '5 para que parpadeé  
  10.   '\x1b[0m Para volver al estado inicial
  11.   '¿ Intensidad del color ? ¿ normal, claro ?
  12.  
  13.   '\x1b[b;fg;bg m]
  14.  
  15.   'Añado al final \x1b[0m para que el texto siguiente al mostrarlo no se muestre del mismo color
  16.  
  17.   Print "\x1b[0;32m Texto en verde suave\x1b[0m"
  18.   Print "\x1b[1;42m Fondo de texto en verde sin brillo y negrita\x1b[0m"
  19.   Print "\x1b[5;34m Texto en azúl parpadeante\x1b[0m"
  20.   Print "\x1b[1;3m Texto"
  21.  
  22.   'Para volver al estado inicial
  23.   Print "\x1b[0m"
  24.   Print "Letra sin colores de texto y sin fondo"
  25.  
  26.   Print "El valor hexa h1B corresponde con el valor decimal: " & Int(&h1b)
  27.   Print "El valor octal 033 corresponde con el valor decimal: " & Int(&o33)
  28.  




[Imagen: KdnkcAm.png]

Se pueden lograr más efectos lógicamente.
Lo de presentar el valor h1B en decimal fue para comprobar a que valor se correspondía en decimal.

Ojo:
Si convertimos 033 que es un valor octal a decimal, no es un cero es una "o"

Tipo entero en Gambas

Códigos de escape en ANSI

En ese último enlace encontrareis el tema de los colores en: Colors / Graphics Mode
Y naturalmente todo lo referente a secuencias de escape ANSI.

Es una sentencia algo compleja que los programadores de "C" estarán muy acostumbrados a ver.
 

Añado otro enlace:

Código escape ANSI

Saludos

"El buen perfume en frasco pequeño se vende"
[-] Los siguientes 2 usuarios dicen gracias a Shell por este post:
  • Grandamakulo, guizans
    ¡Gracias!


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)