Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

25.05.2011, 19:17

Texte in C++ gestalten

Hallo liebe com,
ich befasse mich nun schon etwas mehr mit c++ und bin dabei gerade auch mein erstes "spiel" zu schreiben.(wenn es den Titel überhaupt tragen darf). Nun wollte ich wissen ob man den Text (bei einer Konsolenanwendung) etwas gestalten kann. (Farbe,Größe...)
:)

Sveny

Frischling

Beiträge: 13

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

2

25.05.2011, 19:23

Also zur Farbe kann ich dir sagen ja das geht, weis leider nicht mehr den genauen Befehl dafür.

Gibt Mal bei google, falls sich hier keine dazu äußern sollte, folgendes ein: C++ Konsolenanwendung Farbe

Die ersten vier Seiten haben dann den jeweiligen Code parat. Damit kannst Du dann entweder einzelnen Zeichen eine Farbe zuordnen.
Der Krieg ist nicht immer der den man sieht, sondern der den man nicht sieht!

BLU3 L30PARD

Treue Seele

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

3

25.05.2011, 19:30

Hier findest du was für Windows: http://www.c-programmieren.com/C-Lernen.pdf

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

4

25.05.2011, 19:35



Also beim Überfliegen wird schon klar, dass der Autor nicht viel Ahnung von der Materie hat. 1. benutzt er Dev-Cpp, 2. bezeichnet er dies als "C-Compiler", 3. sind bei ihm alles "Befehle". Egal obs ein include, eine funktion oder ein funktionsaufruf ist.

Also bitte dieses Tutorial für nichts anderes benutzen, als eben zu gucken, wie man der Konsole ein wenig farbe verpasst...

5

25.05.2011, 20:16

erstmal fettes thx für die Mühe :)
noch eine Frage kann ich des so wie es da steht auch in c++ verwenden, da dies ja für c ein Tutorial ist.
edit:
getestet funktioniert einwandfrei^^, habs aber nur mit cout probiert. Nomma viele Danke für de Mühe.
Es können aber keine verschiedenen Textfarben auf einmal angezeigt werden. Ändert immer alles mit.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »auror« (25.05.2011, 20:31)


dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

25.05.2011, 21:04

In der C++ Standardbibliothek ist das Konzept einer Schriftfarbe nicht bekannt, das ist eine plattformspezifische Sache und kann daher entsprechend auch nur mit plattformspezifischen APIs beeinflusst werden. Unter Windows wären das z.B. die Konsolenfunktionen der WinAPI, speziell SetConsoleTextAttribute(). Kleines Beispiel:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>

#define NOMINMAX
#define WIN32_LEAN_AND_MEAN
#include <windows.h>


int main()
{
  std::cout << "hallo" << std::endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_BLUE);
  // Ab hier wird alles türkis mit dunkelmagenta Hintergrund
  std::cout << "welt" << std::endl;
}

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

26.05.2011, 00:51

Man könnte sich auch eine Art Manipulator dafür bauen, dann wirds ganz angenehm zu benutzen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>

#define NOMINMAX
#define WIN32_LEAN_AND_MEAN
#include <windows.h>


class setattribute
{
private:
  WORD attrib;
public:
  setattribute(WORD attrib)
    : attrib(attrib)
  {
  }

  friend std::ostream& operator <<(std::ostream& out, const setattribute& a)
  {
    out.flush();
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), a.attrib);
    return out;
  }
};


int main()
{
  std::cout << "hallo" << setattribute(FOREGROUND_BLUE) << "welt" << std::endl;
}

8

26.05.2011, 17:11

gibts eigt auch eine Möglichkeit das man Umlaute(also ü,ä,ö) schreiben kann?

BLU3 L30PARD

Treue Seele

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

9

26.05.2011, 17:27

Quellcode

1
2
3
4
5
6
7
\x81 = ü
\x84 = ä
\x94 = ö
\x8E = Ä
\x99 = Ö
\x9A = Ü
\xE1 = ß

10

26.05.2011, 20:11

vielen Danke:D

Werbeanzeige