Graue Textausgabe aus Rexx oder Batches
Verfasst: Di 10. Sep 2024, 10:54
Für Textausgabe mit Ansi-Escape-Sequenzen gibt es ja neben Schwarz und Weiß nur eine handvoll "Alarmfarben" - aber kein grau.
Man kann sich aber eines kleinen Tricks bedienen: schaltet man die Textausgabe auf "Reverse" um, und schaltet dann den Hintergrund wieder zurück auf schwarz bekommt man Text in grauer Farbe.
Die Steuersequenz dafür lautet:
7 = Reverse
40 = Hintergrund schwarz
1 = bold
Es funktioniert komischerweise nur mit dem "bold" Attribut. Ist das nun ein Bug oder ein Feature? Es ist nicht dumentiert, jedenfalls funktioniert es.
Ich benutze das gerade, um Textzeilen in einer Tabelle besser lesbar zu machen, indem ich die Zeilen abwechselnd grau und weiss ausgebe. Hier ein Beispiel in Rexx:
Man kann sich aber eines kleinen Tricks bedienen: schaltet man die Textausgabe auf "Reverse" um, und schaltet dann den Hintergrund wieder zurück auf schwarz bekommt man Text in grauer Farbe.
Die Steuersequenz dafür lautet:
Code: Alles auswählen
"1B"x || "[7;40;1m"
40 = Hintergrund schwarz
1 = bold
Es funktioniert komischerweise nur mit dem "bold" Attribut. Ist das nun ein Bug oder ein Feature? Es ist nicht dumentiert, jedenfalls funktioniert es.
Ich benutze das gerade, um Textzeilen in einer Tabelle besser lesbar zu machen, indem ich die Zeilen abwechselnd grau und weiss ausgebe. Hier ein Beispiel in Rexx:
Code: Alles auswählen
/* grautest.cmd */
color1= "1B"x || "[0;7;40;1m"
color2= "1B"x || "[0;37;40;1m"
say color1 || Zeile 1
say color2 || Zeile 2
say color1 || Zeile 3
say color2 || Zeile 4
say color1 || Zeile 5
say color2 || Zeile 6
call charOut , "1B"x || "[0m" /*reset attr*/
pull dummy