[gelöst]Suche Elegantere Farbausgabe möglichkeit CLI

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

[gelöst]Suche Elegantere Farbausgabe möglichkeit CLI

Beitrag von Dragon »

Gibt es eine elegantere art, ein farbigen Text im CLI auszugeben als:

Code: Alles auswählen

Textcolor(red);
writeln('Ausgabe');
textcolor(white);


sowas wie

Code: Alles auswählen

writeln(Textcolor=red, 'Error');
Zuletzt geändert von Dragon am Do 18. Feb 2016, 22:26, insgesamt 1-mal geändert.

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Suche Elegantere Farbausgabe möglichkeit CLI

Beitrag von Mathias »

Selbst eine procedure schreiben.

Code: Alles auswählen

  procedure ColWriteLn(col: byte; s: string);
  begin
    TextColor(col);
    WriteLn(s);
  end;
 
begin
  ColWriteLn(red, 'Hello World');
end.   
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Re: Suche Elegantere Farbausgabe möglichkeit CLI

Beitrag von Dragon »

Hoppla :oops: . Hätte ich auch selbst drauf kommen können, ist halt zu offensichtlich.
danke Mathias

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst]Suche Elegantere Farbausgabe möglichkeit CLI

Beitrag von Mathias »

So könnte man so etwas elegant lösen, ohne Angabe wird der Standard-Wert übernommen.

Code: Alles auswählen

  procedure ColWriteLn(s: string; col: byte = LightGray);
  begin
    TextColor(col);
    WriteLn(s);
  end;
 
begin
  ColWriteLn('Hello World', Red);
  ColWriteLn('Hello World');      // Standard grau
  ColWriteLn('Hello World', Green);
end.   
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1910
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: [gelöst]Suche Elegantere Farbausgabe möglichkeit CLI

Beitrag von Warf »

Mathias hat geschrieben:So könnte man so etwas elegant lösen, ohne Angabe wird der Standard-Wert übernommen.

Code: Alles auswählen

  procedure ColWriteLn(s: string; col: byte = LightGray);
  begin
    TextColor(col);
    WriteLn(s);
  end;
 
begin
  ColWriteLn('Hello World', Red);
  ColWriteLn('Hello World');      // Standard grau
  ColWriteLn('Hello World', Green);
end.   


Wenn man nun aber den Standardwert umstellt?

Antworten