Progress Bar erstellen



  • Hallo

    Ich lesen aus vielen (ca 2000 Files) Werte aus. Das funktioniert auchs chon recht schön. Nur sehe ich leider überhaupt nicht was mein programm so macht.

    Darum würde ich gerne sobald er mit dem bearbeiten der files beginnt eine progressbar einblenden die den vortschritt der abarbeitung der files anzeigt.

    Nun glaube ich nach ein wenig googlen herausgefunden zu haben das ich dafür einen thread brauche. nur leider steh ich dann an.
    Also brauche ich einen thread und wie baut man sowas sinnvoll ein??

    mfg Flo



  • Hi,

    also mit dem Backgroundworker lassen sich sehr einfach Hintergrundthreads erstellen.
    Er befindet sich als Komponente in der Toolbox.
    In dessen DoWork-Event schreibst du deinen Code zum Auslesen der Files rein und mit dem Aufruf

    backgroundWorker1->ReportProgress(1);
    

    hast du die Möglichkeit in dem ReportProgress-Event auf die UI-Elemente, also deine ProgressBar zuzugreifen. Z.B. könntest du mit der Progressbar die Anzahl der schon gelesenen Files anzeigen, wenn du im Vorfeld weißt, wie viele Dateien gelesen werden...
    Gestartet wird der Thread einfach mit

    backgroundWorker1->RunWorkerAsync();
    

    worauf automatisch das DoWork-Event aufgerufen wird.
    Achte noch darauf, das Property "WorkerReportsProgress" auf true zu setzen.

    Viele Grüße
    Cain


Anmelden zum Antworten