tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
JA
ANTWORTEN
24
ZUGRIFFE
1042
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Zitat Zitat von deepthroat Beitrag anzeigen
    Wenn du im Nachhinein bereits bestehenden Text in der Konsole anders einfärben willst, brauchst du die FillConsoleOutputAttribute Funktion. Und du mußt mit dem Screen buffer der Konsole hantieren, die Koordinaten der Zeichen kennen (mußt du dir vorher merken).

    Wenn das alles erst nach einer bestimmten Zeit passieren soll, müßtest du z.B. einen Timer verwenden. Siehe z.B. http://msdn.microsoft.com/en-us/library/aa926220.aspx
    Text zu kurz
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  2. #17
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Ja das hab ich auch lesen können. Aber ich verstehe es nicht...
     

  3. #18
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Was verstehst du nicht?
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  4. #19
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Wie ich das in mein Code einfüge:http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
     

  5. #20
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Die Funktion müßtest du einfach nur mit geeigneten Parametern aufrufen.

    Versuch's einfach mal. Übers Wochenende bißchen knobeln... (Hinweis: )

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  6. #21
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Ich bekomm das echt nicht hin ein beispiel ware echt gut oder eine kurze gute erklärung...
     

  7. #22
    cwriter cwriter ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    242
    Zeig mal den neuen Code. Trotzdem ein Beispiel (in Standard-c geschrieben, aber mit c++ kompatibel):
    Code c:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    printf("In weiss\n");
    HANDLE hStdOut;
    CONSOLE_SCREEN_BUFFER_INFO csbiScreen;
    WORD wOldColAttr;
    // HANDLE für stdout (Anm.: Error-Checking wäre hier angebracht)
    hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    // Alte Textfarbe abspeichern
    GetConsoleScreenBufferInfo(hStdOut, &csbiScreen);
    wOldColAttr = csbiScreen.wAttributes;
    // Text-Farbe auf grün & "leuchtend" setzen
    SetConsoleTextAttribute(hStdOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY);  
     
    printf("Nun in Hellgruen.\n");
    // Alte Text-Farbe wiederherstellen
    SetConsoleTextAttribute(hStdOut, wOldColAttr);
    printf("Und wieder in weiss.\n");

    Dies habe ich aus diesem Forum. Wer sucht, der findet. Bitte das nächste Mal berücksichtigen.
    Gruss
    cwriter
    Jonas Meyer bedankt sich. 
    Intel inside - Idiot outside :-)

    Ich schreibe in C und bin Anfänger.
    ______________________________

    Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
    Danke

  8. #23
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Wenn man sich SetConsoleTextAttribute in meinem Code und der Doku auch anschaut, und dazu noch Englisch kann, sollte das eigentlich kein Problem sein

    Wie man eine Funktion generell aufruft, ist hoffentlich klar?

    Zu den Parametern:

    Erster ist ein HANDLE. Name hConsoleOutput. Klingelt da was?
    Achtung Spoiler:

    SetConsoleTextAttribute hat auch ein HANDLE als ersten Parameter.
    Name: hConsoleOutput


    Zweiter hat den Namen wAttribute.
    Was ist das dann?

    Dritter hat Length im Namen. Länge.
    Darunter steht, das ist die Anzahl der einzufärbenden Buchstaben.

    Vierter: coordinates, laut Beschreibung die Koordinaten des Ersten Buchstaben.
    Dafür brauchst du eine COORD-Variable, ist ein struct mit X und Y:
    Code cpp:
    1
    2
    3
    4
    
    COORD k;
    ...
    k.X = 3;
    k.Y = 8;
    Was die Koordinaten von deinem betroffenen Text sind,
    hängt davon ab, was zuerst ausgegeben wurde.
    Ist es die erste Ausgabe am Bildschirm: 0|0
    Ist es die dritte Zeile: 0|2
    Gehts ab dem achten Buchstaben der dritten Zeile los: 7|2

    Letzter Parameter ist für dich zur Überprüfung gedacht.
    Ist eine Zahl, die aber nicht von dir übergeben werden muss,
    sondern aus der Funktion rauskommt.
    Dafür ein
    Code cpp:
    1
    
    DWORD xyz;
    machen und
    Code :
    1
    
    &xyz
    übergeben.

    Für die nächste Funktion wiederhole ich de Doku aber nur ungern.
    Wenn du dich mit COORD, & oder so nicht auskennst:
    Hier hab ich einen Link zu der (Online)ausgabe eines Buches zum C-Lernen.

    Gruß
    Jonas Meyer bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  9. #24
    cwriter cwriter ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    242
    @sheel
    Es funktioniert und ist erst noch einfach. Ein
    Code c:
    1
    
    system("cls"); //Oder ClearConsole(), bin aber nicht sicher
    am Ende, nach dem _sleep() schreiben und dasselbe mit anderen Farben - möglicherweise auch mit Schleife - ausgeben -> fertig.

    Ja, das ist nicht sehr schön. Für 3 Wörter reicht diese Variante aber.

    Gruss
    cwriter
     
    Intel inside - Idiot outside :-)

    Ich schreibe in C und bin Anfänger.
    ______________________________

    Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
    Danke

  10. #25
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Hat super funktioniert...

    Danke an alle die mir geholfen haben...


    mfG
    Geändert von Jonas Meyer (04.11.11 um 20:42 Uhr)
     

Ähnliche Themen

  1. Mehrere Pc's an eine Konsole!
    Von margoyle im Forum Virtualisierung (VMWare, Virtual PC & Co.)
    Antworten: 1
    Letzter Beitrag: 10.01.10, 18:43
  2. [bat] Mehrere farben pro zeile?
    Von Nawi0 im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 23.10.09, 23:25
  3. Mehrere Farben sperren ?
    Von C4T im Forum Photoshop
    Antworten: 3
    Letzter Beitrag: 19.07.04, 02:49
  4. [FreeHand] Pfad als Ganzes => mehrere Farben?
    Von Blumenkind im Forum Vektor-Programme
    Antworten: 4
    Letzter Beitrag: 20.03.04, 00:00
  5. Antworten: 3
    Letzter Beitrag: 02.12.03, 18:54

Stichworte