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

Anonymous

unregistriert

1

26.01.2006, 17:04

Farbiger Konsolentext?

Wie kann ich denn meinen konsolentext farbig machen?

Danke für eure hilfe.

Sheddex

unregistriert

2

26.01.2006, 17:11

Gut das die Frage mal gestellt wird. Wollte ich auch fragen :)

An alle 'ProProgger': Antwortet^^

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

3

26.01.2006, 17:22

Unter Windwos könnte Folgendes hiflreich sein:
http://www.codeproject.com/csharp/winconsole.asp?print=true

Linux:
NCurses

mfg Philipp

Anonymous

unregistriert

4

26.01.2006, 18:28

Wieso hier direkt mit codeproject antanzen obwohl die antwort SOOooooo... oft hier gestellt wurde?

https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=4666&highlight=conioex

Chef-Koch

Treue Seele

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

5

26.01.2006, 21:20

aber es gibt auch eine andere Lösung! und zwar mit "system()" (ich weiß das es NORMALERWEISE untersagt wird ,weil es zu Fehlern kommen kann ... isses bei mir aber noch nie ^^)

ok jetz wie schon gesagt die andere Möglichkeit:

C-/C++-Quelltext

1
2
3
[...]
system("color io")
[...]


wobeizu beachten ist dass man für i und o Zahlen bzw. Buchstaben verwenden muss (I ist für den HINTERGRUND, O für den TEXT)! hier mal eine Liste:

0=schwarz
1=Dunkelblau
2=Dunkelgrün
3=Blaugrün
4=GrünRot
5=Lila
6=Ocker
7=Hellgrau
8=Dunkelgrau
9=Blau
A=Grün
B=Zyan
C=Rot
D=Magenta
E=Gelb
F=Weiß

also z.B.

C-/C++-Quelltext

1
2
3
[...]
system("color F0") // macht schwarze schrift auf weißem Hintergrund

[...]

Anonymous

unregistriert

6

26.01.2006, 21:24

Chef-Koch
Perverser! Hau ab mit system wenn du etwas von Dir hälst!

Chef-Koch

Treue Seele

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

7

26.01.2006, 21:30

XD ich bin halt nun mal so :P :rolleyes:

und für kleinere Projekte kann man schon mal System() benutzen ^^.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

8

26.01.2006, 21:32

Ich finde es sehr gut, mehrere Möglichkeiten genannt zu kriegen. Auch wenn man *warum auch immer* kein system() nutzen sollte.

Anonymous

unregistriert

9

26.01.2006, 21:35

Ich prädige es jetzt kein 9x mehr in diesem Forum!

system() ist zwar eine standard Funktion, aber die Parameter sind total Platform abhängig! Deswegen sollte man auf system() genauso versuchen zu verzichten, wie auf Systemfunktionen! Und wenn man mal auf die Idee kommt system() zu benuzten, sollte man lieber die passende Systemfunktion nutzen als ein system() aufruf! Einerseits, kann man Systemfunktions aufrufe auf anderen Platformen leicht emulieren und system() ist sehr teuer und gefaehrlich, da immer eine Shell gestartet wird und die Shell zum Beispiel das Programm einfach unterbrechen kann oder informationen ausgeben!

Wichtig ist auch, dass für system() jedes mal eine neue Shell gestartet wird und nach dem Aufruf von system() beendet wird (was natürlich sehr langsam ist!), also nützt das Verändern von zB Umgebungsvariablen (was man auch standard konform mit putenv(3) machen kann) nichts, da sie wieder verschwinden!

system() hat außerdem das Problem, dass das Programm hängen bleiben kann, wenn der Parameter falsch war und die Shellwartet, dass der User reagiert!

Außerdem kann system() zu einem Sicherheitsloch führen, wenn man zum Beispiel ein CGI Programm schreibt und dann mit system() einen Aufruf zum Beispiel zum durchsuchen einer Datei mit den Benutzereingaben durchführt

C-/C++-Quelltext

1
2
3
ostringstream a; 
a << "grep " << userinput << " db"; 
system( a.str().c_str() );  



so könnte der User von einem anderen Host einfach Shellmetha Zeichen benutzen, die fast jeder Shell hat, um weitere Befehle auszuführen, die die CGI, dann mit den Rechten des Programmes ausführt. Ein Beispiel sei hier nur die Eingabe von "; rm -rf / ; echo "!

Weiter Infos: http://www.whitefang.com/sup/secure-faq.html#INPUT3

Chef-Koch

Treue Seele

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

10

26.01.2006, 21:39

ich würde auch nie in einem großen projekt system benutzen.
Aber wenne s halt jetznur ein projekt zur persöhnlichen Weiterbildung(z.B.) ist finde ich system in Ordnung (vorallem wenn man es nur auf seinem eigenen Rechner ausführt) :)

Werbeanzeige