|
NTFreund
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 16:56 |
|
2.470 Punkte (?)[Gesperrt]
Anmeldungsdatum: 03.11.2009
Beiträge: 1.903
 |
Tutorial Autor (?) |
|
Hallo an alle!
Ich will bei einer Konsolenanwendung die Hintergrundfarbe ändern, sodass diese statt schwarz blau ist. Geht dies?
Zweitens: Ich möchte, dass wenn der User einen Befehl eingibt, dafür ein Aufruf erscheint:
Zum Beispiel "Help": Eine Auflistung aller Befehle
Wie kann ich das machen, Codebeispiele wären nett
Danke, Kim
|
 |
|
| |
|
Winters
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 21:15 |
|
|
Anmeldungsdatum: 23.07.2010
Beiträge: 73
|
Allso die Farbe kannst du ändern.Hier der Code zum Farbe ändern : system("COLOR 9a"); Die Zahl ist für die Farbe.0 ist Schwarz. Das wen der Benutzer was eingiebt weis ich leider nicht.Sry
________________________________________ CoreX8 http://Corex8.kilu.de/Forum
|
 |
|
| |
|
NTFreund
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 22:01 |
|
2.470 Punkte (?)[Gesperrt]
Anmeldungsdatum: 03.11.2009
Beiträge: 1.903
 |
Tutorial Autor (?) |
|
Okay, danke erstmal für die Farbe!
Weißt du denn, wie man es schafft, das sich die Anwendung nach einer Eingabe und der Bestätigung per Enter nicht beendet, sondern eine Ausgabe anzeigt wie ERROR oder so etwas?
Hier mal das Bild mit geänderter Farbe:
http://www.pcfreunde.de/store/i0/5337/di...beta+1.JPG
Edit by L3oop: Bild verlinkt.
[Zuletzt bearbeitet: 01.08.2010 22:31]
________________________________________ Angehängte Bilder: diav 3.0 beta 1.JPG, 641 x 302, 62,8 KB
|
 |
|
| |
|
L3oop
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 22:11 |
|
Moderator 45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
 |
Experte |
1 Mitglied findet diesen Beitrag gut
|
Das mit der Auflistung dürfte so gehen:
Zitat: #include <iostream> using namespace std;
int main() { if(cin.get() == "help") { cout<<"Befehl 1\n"; cout<<"Befehl 2\n";
// usw. } } else { cout<<"ERROR\n"; }
system("pause");
Das system("pause") verursacht, dass die Konsole nach der Ausgabe der Befehle nicht sofort geschlossen wird.
[Zuletzt bearbeitet: 01.08.2010 22:12]
________________________________________ Stereomix • Bootreihenfolge ändern • PC beschleunigen
|
 |
|
| |
|
NTFreund
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 22:22 |
|
2.470 Punkte (?)[Gesperrt]
Anmeldungsdatum: 03.11.2009
Beiträge: 1.903
 |
Tutorial Autor (?) |
|
@ l3oop
Visual Studio sagt, das irgendetwas mit dem Code nicht stimmt....
Kann es sein, das dort ein paar definitionen fehlen?
# for dem "include" und "std::" vor dem "cout"
|
 |
|
| |
|
TK814
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 22:24 |
|
|
Anmeldungsdatum: 02.05.2009
Beiträge: 301
|
Er hat doch eine # vor dem Include und das std:: benötigst du nicht da er es oben schon definiert hat. Zitat: using namespace std;
________________________________________ Never touch a running system!
|
 |
|
| |
|
L3oop
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 22:33 |
|
Moderator 45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
 |
Experte |
|
Ich habe gerade keinen C++ Editor hier, daher kann ich nicht prüfen, ob der Code 100% stimmt. Da ich auch kaum C++ kann, ist es nur ein kleiner Denkanstoß.
________________________________________ Stereomix • Bootreihenfolge ändern • PC beschleunigen
|
 |
|
| |
|
TK814
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 22:37 |
|
|
Anmeldungsdatum: 02.05.2009
Beiträge: 301
|
Ja aber was NTFreund als Mögliche Felher bezeichnet kann nicht sein. Zitat: # for dem "include" und "std::" vor dem "cout" Du hast ein # vor dem Include gemacht und 'std::' hast du oben definiert.
________________________________________ Never touch a running system!
|
 |
|
| |
|
TK814
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 22:43 |
|
|
Anmeldungsdatum: 02.05.2009
Beiträge: 301
|
Zitat: Visual Studio sagt, das irgendetwas mit dem Code nicht stimmt.... Gibt Visual Studio nicht normalerweise auch den Fehler aus? Also woran es liegt? Wenn er bei dir den Fehler ausgibt, poste ihn doch mal hier.
________________________________________ Never touch a running system!
|
 |
|
| |
|
Winters
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
01.08.2010 22:44 |
|
|
Anmeldungsdatum: 23.07.2010
Beiträge: 73
1 Mitglied findet diesen Beitrag gut
|
Probier mal das system("pause"); in die Klammern zuschreiben. Die andren Fehler(Die ich bekomme beim erstellen) bekomme ich nicht weg.
@all : Wo ist Hilfe! den ?Exestiert er noch?Den er er war ein C++ pro (Würd ich sagen)
________________________________________ CoreX8 http://Corex8.kilu.de/Forum
|
 |
|
| |
|
NTFreund
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
02.08.2010 10:48 |
|
2.470 Punkte (?)[Gesperrt]
Anmeldungsdatum: 03.11.2009
Beiträge: 1.903
 |
Tutorial Autor (?) |
|
Danke erstmal für die Sache mit der Pause
Wenn ich nun meine Konsolenanwendung starte, wird folgendes angezeigt: Zitat: Bitte eine Beliebige Taste drücken... Kann ich diesen Text ändern?
|
 |
|
| |
|
L3oop
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
02.08.2010 10:59 |
|
Moderator 45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
 |
Experte |
|
Nein. Du kannst aber ans Ende des Scripts noch cin.get(); schreiben. Dann wird noch irgendeine Eingabe erwartet, bevor die Konsole geschlossen wird. Davor kannst du ja noch einen Text deiner Wahl ausgeben lassen.
________________________________________ Stereomix • Bootreihenfolge ändern • PC beschleunigen
|
 |
|
| |
|
NTFreund
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
02.08.2010 11:29 |
|
2.470 Punkte (?)[Gesperrt]
Anmeldungsdatum: 03.11.2009
Beiträge: 1.903
 |
Tutorial Autor (?) |
|
Das cin.get(); habe ich in meinem Code schon enthalten
|
 |
|
| |
|
Winters
|
| Titel: Farbe von konsolenanwendung ändern und aufrufe |
02.08.2010 12:08 |
|
|
Anmeldungsdatum: 23.07.2010
Beiträge: 73
|
So habe mal bissen im Internet geguckt und das gefunden :
Zitat: Unter umständen reicht ein cin.get(); nicht aus um das schließen des Fensters zu verhindern. Dann kann man mit cin.clear(); cin.ignore(cin.rdbuf()->in_avail()); cin.get(); den Eingabepuffer löschen. Kurze Erklärung: cin.clear() versetzt cin wieder in den Ursprungsstatus (zB Fehler werden wieder zurückgesetzt). cin.ignore(cin.rdbuf()->in_avail()); löscht alle Zeichen die noch im Einagebpuffer stehen (wenn man cin.get() schreibt, und jemand gibt 2 Zeichen ein, bleibt 1 Zeichen im Puffer stehen - denn cin.get() liest ja nur eines aus).
Das habe ich von http://tutorial.schornboeck.net/ kopiert da ich mir nicht mehr ganz so sicher war. Hoffe es hilft dir.
________________________________________ CoreX8 http://Corex8.kilu.de/Forum
|
 |
|
| |
|
|
|
|