Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Bunter text in console (https://www.delphipraxis.net/178712-bunter-text-console.html)

himitsu 22. Jan 2014 17:50

AW: Bunter text in console
 
Da Delphi standardmäßig keine "kürzere" Kapselung dieser API kennt, kannst du es mit Delphi also vergessen.
Die Konstanten kannst'e aber noch locker direkt als Zahl verwenden.


Kann die CMD.exe das?
test.bat / test.cmd
Zitat:

echo ←[0;31;40mIn Color
echo ^[[0;31;40mIn Color
pause
Als BatchFile oder Brainfuck wäre das bestimmt ein netter Code.

Wenn ich mich so an Knoppix erinnere ... die Linuxkonsole ist auch extrem kunterbund.

Dalai 22. Jan 2014 18:07

AW: Bunter text in console
 
AFAIK kennt die CMD keine Escape-Sequenzen. Es gibt "nur" das Kommando "color", mit dem man die Farben der kompletten Konsole selbst setzen kann. Es gibt auch eine Möglichkeit für Delphi, die ich 2005 mit Delphi 5 zusammengeschrieben habe, um einzelne Zeichen/Wörter farbig auszugeben. Ich muss aber erst raussuchen, wie ich das angestellt habe, denn momentan steige ich nicht durch meinen Code :stupid:.

MfG Dalai

Namenloser 22. Jan 2014 18:22

AW: Bunter text in console
 
Natürlich gibt es auch immer noch die CRT-Unit. Vielleicht kann man da auch noch mal gucken, wie die das macht.

Fürs Codegolf ist die Unit natürlich nicht zu gebrauchen, aber das gilt auch für Pascal allgemein ;)

Dalai 22. Jan 2014 18:25

AW: Bunter text in console
 
OK, jetzt weiß ich's wieder. Der Code sieht beispielhaft so aus:
Delphi-Quellcode:
uses
  SysUtils, Borland_Crt;

var last_text_attr, text_color : byte;

{Text-Farbe sichern}
last_text_attr:= TextAttr;

{Text-Farbe setzen}
textcolor(text_color);
writeln('Text');

{Text-Farbe wiederherstellen}
TextAttr:= last_text_attr;
Dafür braucht es die Unit Crt von Borland. Ich hab sie damals Borland_crt.pas genannt, in dieser steht aber "unit crt;". Keine Ahnung, woher ich die hatte. Könnte die von Namenloser genannte Unit sein. Die Unit selbst sagt im Header "Copyright (c) 1988-2003 Borland Software Corporation". In der Unit gibt es unter anderem eine procedure TextColor, die die Farbe für folgende Textausgaben setzt. Dieses damals kompilierte 32 Bit Programm funktioniert sogar auf einer 64 Bit CMD eines Win7 x64.

EDIT: Ist die von Namenloser genannte Unit.

MfG Dalai

Panthrax 23. Jan 2014 02:46

AW: Bunter text in console
 
Unit "Console" von Rudy Velthuis, lizenzfrei.
  • Keine Ersatz-Sequenzen.
  • Stellt umfänglich das Vokabular der Unit "CRT" zusammen, wie es mit TurboPascal ausgeliefert wurde.

Luckie 23. Jan 2014 05:36

AW: Bunter text in console
 
@Bummi: Wo soll die Exception herkommen? API Funktionen werfen in der Regel keine Execptions.

Bummi 23. Jan 2014 06:31

AW: Bunter text in console
 
@Luckie, ich habe einfach den Standardrumpf genommen ohne ihn auszuputzen.
Ich hätte den Beitrag auch gerne wieder gelöscht, da redundant. (Ich habe vorher nicht den ganzen Thread gelesen :oops:)

Union 23. Jan 2014 07:06

AW: Bunter text in console
 
Es gibt das ANSICON Projekt https://github.com/adoxa/ansicon


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz