Farbe einer bestimmten Textstelle ändern?

Andreas703

Mitglied
Wie ändere ich die Farbe an einer bestimmten Textstelle im cmd ändern?

Gebt mir mal ein Bsp für rot am besten!

Danke schon im voraus!



mfg Avatar
 
moin


Warum benutzt du nciht die Suchfunktion?!


Code:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);


mfg
umbrasaxum
 
Also 1. und wie mache ich das es nach meiner bestimmten Textstelle wieder die normale Farbe hat?
und 2. Wo müsste ich es einbauen?

Ich geb mal nen Teil meines Codes!


.
.
.
Code:
 case 5:
 		
 					 cout<<"Bitte geben sie eine Zahl an wodurch die Wurzel gezogen werden soll\n\n";
 					 cin>>a;
 					 cout<<"\nWurzel aus";
 					 z = sqrt(a);		//sqrt=Wurzel
 					 break;
 	
 			 case 6:
 					 cout<<"Bitte geben sie eine Zahl ein, woraus die Potenz gebildet werden soll\n\n";
 					 cin>>a;
 					 cout<<"Bitte geben sie die Potenz an!\n";
 	
 					 z = a*a;
 	
 					 break;
 	
 	
 			 case 0:
 		
 					 return 0;	//
 		
 		
 			default:	//Bei Fehlerfall
 					 cout<<"Fehler\n"; //Hierbei wird Fehler am Pc angezeigt
 			 
 					 break;	 
 	
 				 }  
   
 					 cout << "\nErgebnis= "<<z;
 					 cout << "\n\n";
 	 
 	}
   while(auswahl!=0);
   getch();	 //Hiermit wird das Prog beendet
 }


und da will ich das nur der Fehler rot ausgegeben wird ;)
 
Schreib mal die Zahl 7 statt dem String hinein:
SetConsoleTextAttribute(HANDLE, 7);
 
da schreibt er nur der Fehler

parse error before `,'


und das hier ist der Code wie ich ihn nun habe!


Code:
#include <iostream.h>
  #include <math.h>
  #include <windows.h>
  #include <stdio.h>
  #include <conio.h>
  
  int main()
  {
  unsigned short eingabe;
  SetConsoleTitle("ASCII-Umrechnung");
  cout<<"Bitte gib eine Taste an von der du den ASCII-Code haben willst!\n";
  do
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
    eingabe = getch();
    printf("test");
    SetConsoleTextAttribute(HANDLE,7);
    printf ("Taste %c wurde angegeben. ASCII-Code: %d\n",eingabe,eingabe);
    }
  while (eingabe != 27);
  return 0;
  }
 
Zuletzt bearbeitet:
moin


Für HANDLE musst du natürlich einen Handle einsetzen!
Genauso wie du es beim ersten Aufruf von SetConsoleTextAttribute gemacht hast.


mfg
umbrasaxum
 
genau, also

Code:
...
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdOut,7);
...
 
Zurück