Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Mit den Bordmitteln (sprich der Standardbibliothek) zunächst überhaupt nicht. Du musst auf plattformabhängige Methoden zurückgreifen oder eine plattformunabhängige Bibliothek verwenden, die diese Funktionalität bietet (z.B. ncurses).Problem:Ich möchte wissen, wie ich bei einzelne Zeichen die Farbe ändern kann.
/*
* output.cpp
* Some methods responsible to print out messages to the user
*/
#include <cstdlib>
#include <iostream>
#include <cstring>
#include "output.h"
#ifdef IS_WINDOWS
#include <windows.h>
#endif // Compile for Windows
using namespace std;
void message(const char* format, ...) {
if(quiet) return;
va_list argp;
va_start(argp, format);
cout << NAME << ": ";
writeText(&cout, format, &argp);
cout << endl;
}
void error(const char* format, ...) {
if(super_quiet) return;
va_list argp;
va_start(argp, format);
cerr << NAME << ": ";
#ifdef IS_WINDOWS
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_INTENSITY);
writeText(&cerr, format, &argp);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED);
#else
cerr << "\033[0;31m";
writeText(&cerr, format, &argp);
cerr << "\033[0m" << endl;
#endif
}
void writeText(ostream* stream, const char* format, va_list* argp) {
int val_i;
char* val_c;
while(*format != '\0') {
if(*format == '%') {
format++;
switch(*format) {
case 'i':
val_i = va_arg(*argp, int);
val_c = new char[32];
snprintf(val_c, 32, "%i", val_i);
break;
case 'c':
val_c = va_arg(*argp, char*);
break;
default:
val_c = new char[2];
val_c[0] = *format;
val_c[1] = '\0';
}
(*stream).write(val_c, strlen(val_c));
} else {
(*stream).put(*format);
}
format++;
}
(*stream).flush();
return;
}
#if defined(_WIN32) || defined(_WIN64) || defined(_MSDOS)
#define IS_WINDOWS
#endif
#include <iosfwd>
#if defined(_WIN32) && !defined(__CYGWIN__)
# include <windows.h>
struct fgcolor {
enum fgcolor_enum_t {
black = 0,
blue = FOREGROUND_BLUE,
green = FOREGROUND_GREEN,
red = FOREGROUND_RED,
white = blue | green | red,
cyan = blue | green,
...
high = FOREGROUND_INTENSITY
};
};
struct bgcolor {
enum bgcolor_t {
black = 0,
blue = BACKGROUND_BLUE,
green = BACKGROUND_GREEN,
red = BACKGROUND_RED,
...
high = BACKGROUND_INTENSITY
};
};
#else
# error "sorry, not yet implemented"
#endif
struct _setcolor { int c; };
inline
_setcolor
setcolor(int c) {
_setcolor r = { c };
return r;
}
#include <iostream>
inline
std::ostream& operator<< (std::ostream& out, _setcolor color) {
HANDLE hStdout = ::GetStdHandle(STD_OUTPUT_HANDLE);
if (!::SetConsoleTextAttribute(hStdout, color.c))
// hm, that didn't work.
std::cerr << "error: " << ::GetLastError() << std::endl;
return out;
}
int main(int argc, char *argv[])
{
std::cout << setcolor(fgcolor::red | bgcolor::green | bgcolor::high)
<< "Hallo,"
<< setcolor(fgcolor::red) << "welt" << std::endl;
std::cin.get();
return 0;
}
Jegliche Kombinationen der Grundfarben rot, grün, blau. Kunstunterricht Farbenlehre.. (siehe z.B. http://www.ipsi.fraunhofer.de/~crueger/farbe/farb-misch.html)Danke deepthroat
es hat fuktioniert.
ich strebe nach mehr wissen:
wie kann ich neue Farben definieren?
also, was kann ich anstadt den "..." einfügen