Terminal wie mehr als 15 Farben verwenden?
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Terminal wie mehr als 15 Farben verwenden?
Frage steht ja schon oben drin gibs einen weg mehr als 15 farben im Terminal darzustellen?
Hab zwar schon versucht
Textcolor($FFFFFF) statt zb white zu verwenden der kompiler nimmt es auch an nur es kommt jede Farbe raus auser die die ich einstelle aber auch immer nur eine der 15 normalen farben hat jeman einen rat
Hab zwar schon versucht
Textcolor($FFFFFF) statt zb white zu verwenden der kompiler nimmt es auch an nur es kommt jede Farbe raus auser die die ich einstelle aber auch immer nur eine der 15 normalen farben hat jeman einen rat
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: Terminal wie mehr als 15 Farben verwenden?
Hat den niemand eine idee wie ds gehn könnte
-
- Lazarusforum e. V.
- Beiträge: 999
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
Re: Terminal wie mehr als 15 Farben verwenden?
Nach meinem Kenntnisstand kann die Konsole nur 16 Farben in jeweils zwei Helligkeitsstufen - also 32 Farben.
https://wiki.ubuntuusers.de/dircolors
https://wiki.ubuntuusers.de/dircolors
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: Terminal wie mehr als 15 Farben verwenden?
Aber wenn man sich z.b. dieses screen mal ansieht
http://weechat.org/about/screenshots/we ... eavor.png/
läuft in der konsole hat aber ne menge farben mehr ist halt nur nicht in pascal geschrieben so weit ich weis
http://weechat.org/about/screenshots/we ... eavor.png/
läuft in der konsole hat aber ne menge farben mehr ist halt nur nicht in pascal geschrieben so weit ich weis
-
- Beiträge: 6911
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Terminal wie mehr als 15 Farben verwenden?
Ich nehme mal an, du willst eine Konsolen-Anwendung mit der uses Crt schreiben.
Mit folgendem Code siehst du alle Kombinationen, die möglich sind.
Normalerweise 16 Textfarben und 8 Hintergrundfarben.
Mit folgendem Code siehst du alle Kombinationen, die möglich sind.
Normalerweise 16 Textfarben und 8 Hintergrundfarben.
Code: Alles auswählen
program Project1;
uses
Crt;
var
i: Integer;
begin
for i := 0 to 255 do begin
TextAttr := i;
Write('X');
end;
end.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: Terminal wie mehr als 15 Farben verwenden?
Danke Mathias
Wenn es einen anderen weg als crt gibt würde ich diesen verwenden mir fehlen halt ein paar farben es ist nicht zwingend notwendig aber es wäre schöner noch andere farben zur auswahl zu haben
Wenn es einen anderen weg als crt gibt würde ich diesen verwenden mir fehlen halt ein paar farben es ist nicht zwingend notwendig aber es wäre schöner noch andere farben zur auswahl zu haben
-
- Beiträge: 6911
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Terminal wie mehr als 15 Farben verwenden?
Wieso nimmst du nicht den Grafikmodus ?... crt gibt würde ich diesen verwenden mir fehlen halt ein paar farben
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: Terminal wie mehr als 15 Farben verwenden?
wollte mal schauen was man alles mit der konsole so layout und styletechnisch alles hinbekommen kann als machbarkeitsstudie quasi und weil konsole only auch irg style hat wo grafik nicht unbedingt notwendig ist
-
- Beiträge: 6911
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Terminal wie mehr als 15 Farben verwenden?
Vielleicht interessiert es dir, wie man alle 256 ASCII-Zeichen ausgeben kann (Nur Windows-Konsole).wollte mal schauen was man alles mit der konsole so layout und styletechnisch alles hinbekommen kann als machbarkeitsstudie quasi
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: Terminal wie mehr als 15 Farben verwenden?
Ich nutze ein linux system deswegen würde mir windows(cmd) ausgabe nichts bringen trotzdem danke
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: Terminal wie mehr als 15 Farben verwenden?
Hab heute per zufall was gefunden
https://github.com/tangentstorm/xpl
Da ist ein beispiel programm mit drin und es funktionert es gibt 256 versch farben im CLI aus.
Habs getestet unter Linux klappt es wies unter anderen OS aussieht weiß ich net
denke aber es geht net weils xterm heißt das beispiel.
https://github.com/tangentstorm/xpl
Da ist ein beispiel programm mit drin und es funktionert es gibt 256 versch farben im CLI aus.
Habs getestet unter Linux klappt es wies unter anderen OS aussieht weiß ich net
denke aber es geht net weils xterm heißt das beispiel.
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Terminal wie mehr als 15 Farben verwenden?
ANSI Escape Codes senden, je nach Terminal. Siehe auch https://en.m.wikipedia.org/wiki/ANSI_escape_code#Colors
Da sieht man auch in der Übersicht wo der Hund begraben liegt.
Da sieht man auch in der Übersicht wo der Hund begraben liegt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 320
- Registriert: Sa 21. Mär 2009, 17:31
- OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
- CPU-Target: 64 Bit
Re: Terminal wie mehr als 15 Farben verwenden?
Vielleicht interessiert es jemanden, dass ich heute zufällig dies geschrieben habe:
auch wenn es nicht zum Titel passt (nicht mal 16 Farben)
Code: Alles auswählen
uses {$ifdef unix}termio{$endif};
type
TMyConsoleColors = (ccNormal, ccRedBold, ccGreenBold, ccBlueBold, ccPurpleBold, ccYellowBold, ccCyanBold,
ccRed, ccGreen, ccBlue, ccPurple, ccYellow
);
var
lastConsoleColor: TMyConsoleColors = ccNormal;
isStderrTTY: boolean = false;
isStdoutTTY: boolean = false;
procedure setTerminalColor(err: boolean; color: TMyConsoleColors);
{$ifdef unix}
const colorCodes: array[TMyConsoleColors] of string = (
#27'[0m', #27'[1;31m', #27'[1;32m', #27'[1;34m', #27'[1;35m', #27'[1;33m', #27'[1;36m',
#27'[0;31m', #27'[0;32m', #27'[0;34m', #27'[0;35m', #27'[0;33m'
);
var
f: TextFile;
{$endif}
{$ifdef windows}
const colorCodes: array[TMyConsoleColors] of integer = (
FOREGROUND_RED or FOREGROUND_GREEN or FOREGROUND_BLUE,
FOREGROUND_RED or FOREGROUND_INTENSITY, FOREGROUND_GREEN or FOREGROUND_INTENSITY, FOREGROUND_BLUE or FOREGROUND_INTENSITY, FOREGROUND_RED or FOREGROUND_BLUE or FOREGROUND_INTENSITY, FOREGROUND_RED or FOREGROUND_GREEN or FOREGROUND_INTENSITY, FOREGROUND_BLUE or FOREGROUND_GREEN or FOREGROUND_INTENSITY,
FOREGROUND_RED, FOREGROUND_GREEN, FOREGROUND_BLUE, FOREGROUND_RED or FOREGROUND_BLUE, FOREGROUND_RED or FOREGROUND_GREEN
);
var handle: Integer;
{$endif}
begin
if err and not isStderrTTY then exit;
if not err and not isStdoutTTY then exit;
if color <> lastConsoleColor then begin
if err then Flush(stderr) else flush(StdOut);
{$ifdef unix}
if err then f := stderr else f := stdout;
write(f, colorCodes[color]);
{$endif}
{$ifdef windows}
if err then handle := StdErrorHandle else handle := StdOutputHandle;
SetConsoleTextAttribute(handle, colorCodes[color]);
{$endif}
lastConsoleColor := color;
end;
end;
{$ifdef unix}
isStdoutTTY := IsATTY(stdout) <> 0;
isStderrTTY := IsATTY(StdErr) <> 0;
{$endif}
{$ifdef windows}
isStdoutTTY := getfiletype(StdOutputHandle) = FILE_TYPE_CHAR;
isStderrTTY := getfiletype(StdErrorHandle) = FILE_TYPE_CHAR;
{$endif}
Re: Terminal wie mehr als 15 Farben verwenden?
Bin gerade dabei, etwas Farbe ins Terminal zu bringen und dabei auch über dieses Thema hier gestolpert.
Wie man mehr als 16 Farben verwenden kann, findet man dort:
http://misc.flogisoft.com/bash/tip_colo ... ng#colors1
Wird zwar nicht von allen Terminals unterstützt, aber zumindest von denen, die ich nutze
Wie man mehr als 16 Farben verwenden kann, findet man dort:
http://misc.flogisoft.com/bash/tip_colo ... ng#colors1
Wird zwar nicht von allen Terminals unterstützt, aber zumindest von denen, die ich nutze

Code: Alles auswählen
WriteLn(#27'[38;5;82mHello '#27'[38;5;198mWorld'#27'[0m');