Fragen wegen Fortschrittsbalken



  • Wenn du nicht weißt, wie lange das dauert, könntest du höchstens eine grobe Abschätzung machen (und zwischendurch korrigieren, wenn du mehr Daten hast).

    newbi06 schrieb:

    oder gibt es eine andere Möglich des anzeigens das er Rechnet.

    Sanduhr-Cursor einschalten ("CWaitCursor wait;") und eine "Bitte warten!"-Meldung ausgeben 😃



  • das heißt ich muss das vor die funkition einbauen und dann nach der funkition und dann einmal mit true und false belegen oder



  • Eventuell könntest Du über die zurückliegenden Ergebnisse abschätzen, wie schnell Du Dich der Abbruchbedingung näherst.



  • Thomas++ schrieb:

    Eventuell könntest Du über die zurückliegenden Ergebnisse abschätzen, wie schnell Du Dich der Abbruchbedingung näherst.

    Primär würde ich das auch vorschlagen. Gegebenenfalls man gibt von vorn herein den zu akzeptierenden Fehler (oder auch die Genauigkeit) des Iterationsergebnisses vor und ermittelt nach jedem Schritt, wie weit man davon noch entfernt ist. Leider gibt es Verfahren, die können vom Optimum wieder weglaufen wenn die Randbedingungen ungünstig gewählt sind oder gar nicht konvergieren. Welches Iterationsverfahren nutzt Du denn?


  • Mod

    Für Berechnungen bei denen wir nicht wissen wie lange sie dauern, zeigen wir einen Progressbar an, der einfach kontinuierlich im Sekundentakt seinen Wert verändert, aber irgendwann eben wieder von vorne beginnt.
    Nicht schön aber selten... 😉


  • Administrator

    Und es gibt noch eine Möglichkeit, nämlich die der Festelung von festen Schrittpunkten. So kann es ja in einer Berechnung vorkommen, dass du verschiedene Schritt unterschiedlicher dauer durchgehen kannst, zwischen den Schritten kannst du aktualisieren.
    Also als Beispiel:
    Eine Progressbar mit 4 Schritten (0 - 4) ...
    Deine Berechnung fängt an zu laufen, Progressbar wird auf 0 gesetzt.
    Deine Berechnung bereitet die Rechnung vor (Initialisieren von Objekten usw.), sobald abgeschlossen, Progressbar wird auf 1 gesetzt.
    Deine Berechnung wird durchgefühtr, sobald abgeschlossen, Progressbar wird auf 2 gesetzt.
    Die Resultate werden aufbereitet oder sonst wie geordnet, sobald fertig, Progressbar wird auf 3 gesetzt.
    Die Resultate werden ausgegeben oder gelöscht oder was auch immer, und sobald das auch fertig ist, wird die Progressbar auf 4 gesetzt und somit 100%

    Das sieht zwar ein wenig abgehackt aus, aber ist besser als wenn man denkt, dass jetzt die Sache gleich vorrüber ist und alles dann wieder von vorn beginnt (ich hasse das, wenn ein Programm dies macht 😉 ) ...
    Du kannst ja dann auch StaticText machen wo du jeweils bei den Schritten hinschreibst, was gerade gemacht wird und vielleicht noch hinschreibst wieviele Schritte noch kommen, bzw. wieviele schon ausgeführt worden sind.

    Grüssli



  • Wie verwendet man denn die progressbar denn gibt es dafür einen codebeispiel


  • Administrator

    Schau dir mal in der MSDN das CProgressCtrl an. Ich glaube echt nicht, dass man dafür nen Codebeispiel braucht, ist ja wunderschön erklärt und so einfach. Wie du das ProgressCtrl zu deiner Progressbar erstellst (in einem Dialog), weisst du doch hoffentlich oder?

    Grüssli



  • ne leider nicht, da ich mit dem balken noch nie gearbeitet habe. und das für mich völliges neuland ist



  • Kann mir wer helfen ich weiß nicht wie ich die Progressbar angelegen muss damit sie funktioniert.



  • Onkel Google spuckt mehr als genug sinnvolles zum Thema CProgressCtrl aus:
    http://www.google.de/search?hl=de&q=CProgressCtrl+&btnG=Google-Suche&meta=


Anmelden zum Antworten