Time und Bildschirm-refresh



  • Hi,
    ich arbeite gerade mit Zeit in meinem C++ Programm. Im moment ist alles noch sehr einfach. In einer while(true)-Schleife wird immer die aktuelle Zeit angezeigt.
    Problem ist nur, dass Bild flackert. Das ist ja logisch, denn es wird ja sehr of neugezeichnet obwohl es nur jede Sekunde nötig ist- Wie kann ich meine Schleife dahingehend anpassen?
    Sleep() ist ein bisschen unsicher, da das auf jedem Rechner ja immer anders ist, gibts da ne elegantere Lösung?
    Ist alles auf der Konsole..



  • Merk dir einfach den letzten Zeitpunkt, an dem du aktualisiert hast und arbeite nur weiter, wenn sich die Zeitangabe geändert hat 😉



  • also die Schleife einfach weiterarbeiten lassen und nur dann refreshen wenn was anders ist...hmm...
    Und wie sieht dass dann mit der Porzessorlast aus? liegt die dann nicht bei 100%?



  • Vermutlich schon. Wenn du ressourcensparender sein willst, kannst du das ja mit Sleep() kombinieren.



  • Tjoa muss ich es wohl mit Sleep() machen..
    Aber mal ne ganz andere Frage:
    In C++ gibt es doch die Möglichkeit das Programm ein anderes Programm ausführen zu lassen(z.B. WinExec) - geht das auch mit anderen Dateien?
    Also ich sage welche Datei(nehmen wir mal als Beispiel "index.html") geöffnet werden soll und überlasse dem Betriebssystem die restlichen Routinen, wie z.B. Standardbrowser suchen, mit index.html "verlinken" und ausführen, sodass ich daraufhin im Browser die "index.html" angezeigt bekomme
    Oder muss ich sowas dann selber machen, sprich die Registrierung durchsuchen-> Programm(in diesem Beispiel ja der Standardbrowser) finden -> die .exe des Browser starten und "index.html" mit übergeben?



  • ShellExecute mit lpOperation "open" sollte das sein, was du suchst (natürlich nur für Windows):
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp

    Gruss,
    DeSoVoDaMu



  • AHH danke 🙂
    Ja ist schade mit Windows bzw. das sowas immer nur Windows-only ist...
    Aber soetwas kann man leider nicht Betriebssystem übergreifend machen - es sei denn alle Betriebssystem würden sich auf einer Strucktur einigen, aber dann hätten wa ja nur noch ein einizges 😃


Anmelden zum Antworten