Kolory na konsoli

0

Witam! Jestem początkującą programistką i mam pewien problem. W jaki sposób ustawić tło lub napisy na konsoli korzystając z kolorów RGB, np. TextColor(50, 150, 250)? Będę wdzięczna, jeśli ktoś mi pomoże :). (Czy mogłanym prosić o przykładowy kod źródłowy?)

0

Jeśli się nie mylę, to konsola jest 16-kolorowa. Tak jak tryb tekstowy. Ale pewności nie mam.

0

Kiedy się otworzy właściwości konsoli, to tam można ustawić kolory z RGB :-/

0

podejrzewam ze windows zapisuje te ustawienia w rejestrze...

0

Dawno z TP nie miałem do czynienia.. trzeba gdzieś przeczytać jak jest interpretowany parametr z funkcji TextColor (np. w module, czy jakimś helpie).

0

Konsola to sy/emulacja trybu tekstowego, wiec ilosc kolorów jest taka sama jak w trybie tekstowym. Obowiązuje paleta 16-to-kolorowa i tylko składowe rgb tych 16-tu kolorów można zmieniac. Początkowy stan będzie zapisany albo (za lofixem) wrejestrze, albo w skrócie do programu. Natomiast zmienić z poziomu kosoli i programu dosowego- 16-bitowego nie jest trudno. podfunkcje funkcji 10h i czesciowo 12h przerwania 10h..

0

Natomiast zmienić z poziomu kosoli i programu dosowego- 16-bitowego nie jest trudno. podfunkcje funkcji 10h i czesciowo 12h przerwania 10h..

Program jest tworzony w Delphi, więc jest chyba 32bitowy. A mogłabym prosić o przykładowy kod?

0

Jesli chcesz skorzystac z funkcji analogicznych do TextColor i TextBackground z Pascala, to albo:
1 - Jest gdzies na 4P unit CRT do obslugi windowsowskiej konsoli
2 - ustawianie kolorkow:

var atrybuty:word;
 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),atrybuty);  

Gdzie atrybuty sa dowolna kombinacja (or) (FOREGROUND,BACKGROUND)_(BLUE,RED,GREEN,INTENSITY), czyli np.:

atrybuty = FOREGROUND_BLUE or FOREGROUND_GREEN or FOREGROUND_INTENSITY or BACKGROUND_GREEN;

Tutaj tekst bedzie mial kolor jasno turkusowy (cos kolo clAqua), jako kombinacja FOREGROUND_BLUE i FOREGROUND_GREEN, a jasny bo jest FOREGROUND_INTENSITY. Tlo bedzie zielone (ciemno), bo jest BACKGROUND_GREEN

0

Robiąc tak jak mówisz nie uzyskam dowolnego koloru, np RGB(0, 255, 64), tylko koloru takie jak w tym module, o którym była mowa. Windows pozwala ustawić dowolny kolor poprez właściwości konsoli...

0

Nie mozliwa jest zmiana koloru tekstu/tła konsoli na byle jaki. Jest 16 kolorków, których sie trzeba trzymać (chyba, że głupi jestem):

const
  FOREGROUND_BLACK= 0;
  FOREGROUND_BLUE= 1;
  FOREGROUND_GREEN= 2;
  FOREGROUND_TEAL= 3;
  FOREGROUND_RED= 4;
  FOREGROUND_DARKPURPLE= 5;
  FOREGROUND_OLIVE= 6;
  FOREGROUND_NORMAL= 7;
  FOREGROUND_INTENSITY= 8;
  FOREGROUND_VIOLET= 9;
  FOREGROUND_LIME= 10;
  FOREGROUND_AQUA= 11;
  FOREGROUND_DARKORANGE= 12;
  FOREGROUND_PURPLE= 13;
  FOREGROUND_YELLOW= 14;
  FOREGROUND_WHITE= 15;
  BACKGROUND_BLACK = $0;
  BACKGROUND_BLUE= $10;
  BACKGROUND_GREEN=$20;
  BACKGROUND_TEAL=$30;
  BACKGROUND_RED=$40;
  BACKGROUND_DARKPURPLE=$50;
  BACKGROUND_OLIVE=$60;
  BACKGROUND_NORMAL=$70;
  BACKGROUND_INTENSITY=$80;
  BACKGROUND_VIOLET=$90;
  BACKGROUND_LIME=$A0;
  BACKGROUND_AQUA=$B0;
  BACKGROUND_DARKORANGE=$C0;
  BACKGROUND_PURPLE=$D0;
  BACKGROUND_YELLOW=$E0;
  BACKGROUND_WHITE=$F0;

1 użytkowników online, w tym zalogowanych: 0, gości: 1