kostenloser Webspace werbefrei: lima-city


for schleife - keine rückmeldung

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    kiruku

    kiruku hat kostenlosen Webspace.

    naja, wenn ich eine for schleife laufen lasse die etwas länger was macht, kommt immer Keine Rückmeldung und nix geht mehr... in VB gibts ja sowas wie Do Events, damit man die for schleife noch abbrechen kann oder so, wie mach ich sowas in c++? das programm nimmt ja eigentlich nix mehr von mir an wenns auf keine rückmeldung ist ;/ und wenn ich abbrechen will bei der schleife kann gehts nicht da es auf keine rückmeldung ist... ich wäre froh wenn ich nicht irgendwie auf nen timer wechseln müsste anstatt schleife zu verwenden, umwege finde ich schon irgendwie, aber ich wills bei ner for schleife machen weil ich einfach am liebsten mit denen arbeite und es einfach die besten schleifen sind ;)...
    Kurzfassung: wie verhindere ich "Keine Rückmeldung" bei ner forschleife in c++(oder auch C)

    Beitrag zuletzt geändert: 10.2.2009 23:02:58 von kiruku
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Du musst sogenannte Threads verwenden, um Aufgaben auszuführen, die etwas mehr Zeit in Anspruch nehmen.So kann der Benutzer weiterhin mit dem Programm arbeiten, während die Aufgabe noch ausgeführt wird.

    Beispiel:
    http://www.linuxselfhelp.com/HOWTO/C++Programming-HOWTO-18.html

    Beitrag zuletzt geändert: 10.2.2009 23:06:53 von cbhp
  4. Autor dieses Themas

    kiruku

    kiruku hat kostenlosen Webspace.

    gibts auch ein gutes tutorial dafür in deutsch?? ich verstehs zwar in englisch aber ich habe tutorials viel schneller durch und verstanden wenns in deutsch ist... mach nicht so gerne englische tuts durch ;/

    EDIT: hat sich erledigt... hab ein gutes tut gefunden
    http://www.codeworx.org/cpp_tuts_1_5.php

    Beitrag zuletzt geändert: 12.2.2009 19:34:04 von kiruku
  5. g***h

    Also ich will dir nur einen kleinen Tip geben. Als Anfänger sollte man die Finger von Threads lassen. Man kriegt sehr schnell Deadlocks rein und die App geht nicht ohne, dass man es merkt. Ich würde empfelen erst mal leichtere Dinge auszuprobieren, wie Dateien oder sowas um richtig in C reinzukommen und das ganze kennenzuleren. Aber wenn du mutig bist schmeist du dich gleich ins eiskalte Wasser. ;)
  6. Autor dieses Themas

    kiruku

    kiruku hat kostenlosen Webspace.

    anfänger ? -_- danke für das kompliment allerdings programmiere ich schon etwas länger, aber leider wurde nie irgendwo etwas gesagt was threads überhaupt sind es war immer nur die rede davon.

    ich hab schon das ganze galileocomputing tut durch, bin durch winapi durch und sockets hab ich jetz auch im griff, irgendwann sollte ich doch mal mit threads anfangen oder?

    Beitrag zuletzt geändert: 13.2.2009 16:07:39 von kiruku
  7. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Ich würde das nicht zwangsläufig über Threads lösen. Ich mach' sowas über ein zusätzlichesAbbruchkriterium in der Schleife, und innerhalb der Schleife muß man die Verarbeitung von Messages zulassen. Da ich leider kein C kann, dann ich dir nur das Delphi-Gegenstück sagen. Aber cbhp weiß dann das sicher auf "C"isch :wink:!
    Hier der Pseudo-code:
    Variable Abort als Boolean (heiß glaub ich bool in C)
    Abort auf False setzen
    
    Schleife
        Code innerhalb der Schleife
        Nachrichten abarbeiten //eben Application.ProcessMessages in Delphi
    Schleife abbrechen, wenn Abort wahr ist, oder die Schleife sowieso fertig ist


    Wenn jetzt jemand eine Schaltfläche drückt, in deren Event-Code du Abort auf True setzt, wird die Schleife abgebrochen!
  8. Autor dieses Themas

    kiruku

    kiruku hat kostenlosen Webspace.

    dsa prob ist, das mans nur über threads lösen kann weil das was du gerade gesagt hast nicht gehen KANN, das programm versucht mit der 1 forschleife immer weiterzumachen und weiterzumachen, wenn du nen hotkey drückst oder so, nimmts den erst an wenn die for schleife fertig ist, weil wie schon gesagt, keine 2 dnge parallel laufen können, dies ist nur mit threads möglich....in VB gehts mit Do Events, aber das scheint ein befehl zu sein der die for schleife irgendwie in nen thread bringt...
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!