Aktualisieren des Bildschirms
-
Hallo,
ich will einen Kurzzeitwecker schreiben.
Die Time-Funkion habe ich schon.
Aber ich habe mir die Frage gestellt wie ich den Bildschirm in meiner Win32-Konsole regelmässig aktualisiere. Sagen wir mal jede Sekunde ein mal.Es soll unter Windows XP(32bit) und Windows 7(64bit) laufen.
Hat jemmand eine Vorschlag ?
Gruß Nutnic
-
Warte eine gewisse Zeit, lösche den Bildschirm und schreibe die Daten neu rein.
Für das schlafen legen gibt es sleep.
Und für das löschen des Bildschirmes gibt es z.B FillConsoleOutputCharacter
-
Hallo drakon,
kannst du die Seite ein bisschen erklären ?Ich bin nicht so ein Freund der API Programmierung.
Gru0 Nutnic
-
Naja sleep ist sehr einfach. Das solltest du selber hinkriegen.
Für das löschen könnte diese Funktion helfen:
void clear_screen () { ::HANDLE buffer = ::GetStdHandle (STD_OUTPUT_HANDLE ); ::CONSOLE_SCREEN_BUFFER_INFO csbi; ::GetConsoleScreenBufferInfo( buffer, &csbi ); ::COORD start = {0,0}; ::FillConsoleOutputCharacter ( buffer, ' ', csbi.dwSize.X * csbi.dwSize.Y, start, 0); ::SetConsoleCursorPosition ( buffer, start ); }Nicht vergessen <windos.h> zu includen!
-
Hallo drakon,
muss ich der funktion noch etwas übergeben ?wie setze ich denn diese funktion ein ?
Gruß Nutnic
-
Hat sie Parameter? Nein. Also musst du auch nichts übergeben..
Benutzen tust du sie, indem du sie aufrufst..
Kann es sein, dass du mit den Grundlagen noch nicht wirklich vertraut bist?
-
Hallo drakon,
da kommen halt an die 36 Fehler Meldungen wenn ich die Funktion aufrufe.
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(57) : error C2039: 'HANDLE': Ist kein Element von '
global namespace'' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(57) : error C2065: 'HANDLE': nichtdeklarierter Bezeichner c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(57) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'buffer' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(57) : error C2065: 'buffer': nichtdeklarierter Bezeichner c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(57) : error C2039: 'GetStdHandle': Ist kein Element von 'global namespace''
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(57) : error C2065: 'STD_OUTPUT_HANDLE': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(57) : error C3861: "GetStdHandle": Bezeichner wurde nicht gefunden.
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(58) : error C2039: 'CONSOLE_SCREEN_BUFFER_INFO': Ist kein Element von 'global namespace'' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(58) : error C2065: 'CONSOLE\_SCREEN\_BUFFER_INFO': nichtdeklarierter Bezeichner c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(58) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'csbi' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(58) : error C2065: 'csbi': nichtdeklarierter Bezeichner c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(59) : error C2039: 'GetConsoleScreenBufferInfo': Ist kein Element von 'global namespace''
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(59) : error C2065: 'buffer': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(59) : error C2065: 'csbi': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(59) : error C3861: "GetConsoleScreenBufferInfo": Bezeichner wurde nicht gefunden.
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(60) : error C2039: 'COORD': Ist kein Element von 'global namespace'' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(60) : error C2065: 'COORD': nichtdeklarierter Bezeichner c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(60) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'start' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(60) : error C2065: 'start': nichtdeklarierter Bezeichner c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(60) : error C2059: Syntaxfehler: '{' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(60) : error C2143: Syntaxfehler: Es fehlt ';' vor '{' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(60) : error C2143: Syntaxfehler: Es fehlt ';' vor '}' c:\\dokumente und einstellungen\\rbx\\eigene dateien\\visual studio 2008\\projects\\kurzzeitwecker\\kurzzeitwecker\\startprojekt.cpp(61) : error C2039: 'FillConsoleOutputCharacter': Ist kein Element von 'global namespace''
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C2065: 'buffer': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C2065: 'csbi': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C2228: Links von ".dwSize" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C2228: Links von ".X" muss sich eine Klasse/Struktur/Union befinden.
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C2065: 'csbi': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C2228: Links von ".dwSize" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C2228: Links von ".Y" muss sich eine Klasse/Struktur/Union befinden.
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C2065: 'start': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(61) : error C3861: "FillConsoleOutputCharacter": Bezeichner wurde nicht gefunden.
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(62) : error C2039: 'SetConsoleCursorPosition': Ist kein Element von '`global namespace''
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(62) : error C2065: 'buffer': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(62) : error C2065: 'start': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rbx\eigene dateien\visual studio 2008\projects\kurzzeitwecker\kurzzeitwecker\startprojekt.cpp(62) : error C3861: "SetConsoleCursorPosition": Bezeichner wurde nicht gefunden.Gruß Nutnic
-
Den Header musst du auch noch includen..