Farbige Konsolenausgabe

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

BtbN

Betreff: Farbige Konsolenausgabe

BeitragSa, Apr 15, 2006 12:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist leider Linux-Only, da der Windows-Echobefehl den kram nicht unterstützt.
Hier der Code:

Code: [AUSKLAPPEN]
Const ECHO_FLASH:Int = 5
Const ECHO_UNDERLINE:Int = 4
Const ECHO_BACKGROUND:Int = 7
Const ECHO_BLACK:Int = 30
Const ECHO_WHITE:Int = 1
Const ECHO_RED:Int = 31
Const ECHO_GREEN:Int = 32
Const ECHO_ORANGE:Int = 33
Const ECHO_BLUE:Int = 34
Const ECHO_PURPLE:Int = 35
Const ECHO_MARINE:Int = 36
Const ECHO_GREY:Int = 37

Function echo(n:String,opts:Int[]=Null)
   n = n.Replace("~q","\~q")
?win32
   system_("echo ~q"+str+"~q")
   Return
?
   n = n.Replace("\c","\033[")
   n = n.Replace("c/","m")
   n = n.Replace("\\c","\c")
   n = n.Replace("c//","c/")
   n = n.Replace("\","\\")
   Local form:String,tmp:Int
   For tmp = EachIn opts
      form :+ ";"+tmp
   Next
   system_("echo -ne ~q\033[01"+form+"m"+n+"\033[00m~q")
EndFunction


Damit kann man auf Linux, und vieleicht auch auf Mac, kenn mich da nicht so aus, Farbigen/Blinkenden/Unterstrichenen/Hinterlegten Text in der Konsole ausgeben lassen.
Und nicht denken, es würde nicht funktionieren, weil im Output-Fenster der MaxIDE nichts zu sehen ist.
Man muss es schon in einer Shell, vorzugsweise bash, ausführen.
Es wird außerdem das Modul Pub.StdC benötigt, für system_().

Hier mal ein Beispiel für Blinekden, Grünen Text:

Code: [AUSKLAPPEN]
echo("Das Ist ein MegaTest~n",[ECHO_FLASH,ECHO_GREEN])



Mfg


Edit: Man kann jetzt auch im Text Die Optionen ändern:
"test\c1;32;5c/test2"
  • Zuletzt bearbeitet von BtbN am Sa, Apr 15, 2006 14:00, insgesamt 2-mal bearbeitet

hamZta

Administrator

BeitragSa, Apr 15, 2006 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert auf MacOS.

Wäre vielleicht praktisch, wenn du statt einem Options-Parameter die Farben als Escapesequenzen interpretierst, damit man leichter mehrere Farben in einem Satz verwenden kann.
Blog.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group