PAuse?



  • Ich hab da mal ne Frage!
    Also sich kenn die function sleep();
    und nun möchte ich mein C++ Program für 2 Sekunden unterbrechen, also verzögern. Wie lautet der Befehl dafür in C++????
    MFG: DerLateinProfi



  • Sleep(1000); //Schickt dein Prog 1 sek in den ruhezustand 😉

    ohne Thread setzt da aber dein ganzes Prog aus, soll heisen du kanst nicht mal den Dialog auf dem bildschirm bewegen.



  • DerLateinProfi schrieb:

    Wie lautet der Befehl dafür in C++????

    Es gibt keine Befehle in C oder C++.
    S(s)leep(...) ist übrigens, wenn auch eine Funktion, kein C++ (Standard). Da die Funkion abhängig ist, vom Zielsystem [Linux: sleep(...), Windows: Sleep(...)] 😉 .

    LowFly schrieb:

    ohne Thread setzt da aber dein ganzes Prog aus, soll heisen du kanst nicht mal den Dialog auf dem bildschirm bewegen.

    Jedes Programm besteht aus mindestens einem Thread. In Deinem Fall spricht man vom Hauptthread 😉 .



  • CodeFinder schrieb:

    DerLateinProfi schrieb:

    Wie lautet der Befehl dafür in C++????

    Es gibt keine Befehle in C oder C++.

    Klar gibt es Befehle in C(++) - if(), switch(), break, continue, return,... 😉
    (aber das meiste, was man normalerweise verwendet, sind tatsächlich Funktionen)



  • CStoll schrieb:

    CodeFinder schrieb:

    DerLateinProfi schrieb:

    Wie lautet der Befehl dafür in C++????

    Es gibt keine Befehle in C oder C++.

    Klar gibt es Befehle in C(++) - if(), switch(), break, continue, return,... 😉
    (aber das meiste, was man normalerweise verwendet, sind tatsächlich Funktionen)

    Nein! Das sind auch keine Befehle, sondern Schlüsselworte (jaja, ist Haarspalterei^^) ... aber trotzdem :p .



  • OK! Schon mal Danke für die Haarspalterei!^^ So ne nun zum Problem! Ihr spracht von Threads und so! Wie soll ich das dann machen? Programmiere nur als Hobby!^^ Hab also kaum Ahnung! Wie soll so was dann aussehen? Soll ja nur auf Windows laufen! Also ich möchte halt zwischen ein paar printf (c) oder cout (c++) eine Pause machen! Mir ist egal ob c oder c++ geht beides! Wobei C mir wegen des Compilers lieber wäre!

    MFG:DerLateinProfi



  • herrlich :xmas1:
    nen thread macht du zb.
    in die *.h

    static UINT thrFunction (LPVOID pParam);
    

    in die *.cpp

    UINT C...Dlg::thrFunction(LPVOID pParam)
    {
    	C...Dlg* pDlg = (C...Dlg*) pParam;
    
    	::GetExitCodeThread(pDlg, &[b]"membervariable"[/b]);
    
    	pDlg->FunktionDieImThreadStartenSoll(); 
    
       return 0;
    }
    

    dann irgendwo wo der thread starten soll zb in der OnInitDialog o. Button function

    AfxBeginThread(thrFunction,this);
    

    so nun passiert folgendes
    in der OnInitDialog o. Button Funktion wir der Thread ausgelöst. er springt nun in die thrFunction und dort wird auf die funktion FunktionDieImThreadStartenSoll verwiesen. alles was unterhalb bzw. in/aus dieser funktion (FunktionDieImThreadStartenSoll) verwiesen wird läuft indem thread.

    jetzt kannst du entweder mit ner schleife for/do/while den thread gefangen halten oder er beendet sich von selbst wenn die funktion(en) abgearbeitet wurden

    beenden tust du den thread sofern du ihn gefangen hälst mit

    AfxEndThread([b]"membervarialbe"[/b],TRUE);
    

    die membervariable sollte vom typ static DWORD sein

    und für den rest

    Hab also kaum Ahnung

    http://www.hki.uni-koeln.de/teach/ss06/PS_C++/tag23/21/index.html
    http://www.henkessoft.de/
    http://winprog.org/tutorial/
    http://www.c-plus-plus-archiv.de/tutorials.ca/
    http://www.cpp-tutor.de/mfc/toc.htm



  • Wenn du ein Konsolenprogramm ( da komm ich nur drauf, weil du printf() und cout verwenden willst, überlese einfach diesen Beitrag, wenn ich mich irre 😉 ) schreibst und es dir ausreicht, wenn der Benutzer entscheiden kann, wann es weitergehen soll ... nutze doch einfach

    getchar()

    Ist vielleicht eine recht simple Variante ein Programm zum warten zu bringen so dass der Anwender die angezeigten Daten lesen kann, aber es funktioniert einwandfrei


Log in to reply