Progressbar für StringReplace



  • Hallo

    ich würde gerne wissen wie ich bei der Stringreplace Funktion den Fortschritt des Ersetzen in einer Progressbar anzeigen kann.

    Meine Stringreplace Funktion sieht so aus:

    text1->Text = StringReplace(text1->Text,"\r\n","",TReplaceFlags() << rfReplaceAll);
    

    THX

    Mfg Happymax

    Edit:
    Logisch natürlich das ich das nur wissen möchte weil ich einen ziemlich langen text verändern möchte 🙄
    (in meinem Fall sind es 100000 Nachkommastellen von der Kreiszahl Pi)



  • relativ unlogisch, da du dadurch mehr zeit benötigst, da dies in deiner replace funktion auf einen schlag erledigt werden kann/wird.

    aber hier eine einfache möglichkeit, falls du es doch brauchst(ist aber eher lächerlich):

    TStringList *liste = new TStringList();
    liste->CommaText = StringReplace(text1->Text,"\r\n","\r\n,",TReplaceFlags() << rfReplaceAll);
    ProgressBar1->Min = 0;
    ProgressBar1->Max = liste->Count;
    ProgressBar1->Position = 0;
    int i=0;
    text1->Text = "";
    for(i=0;i<liste->Count;i++)
    {
      text1->Text = text1->Text + StringReplace(liste->Strings[i],"\r\n","",TReplaceFlags() << rfReplaceAll);
      ProgressBar1->Position++;
    }
    delete liste;
    

    ist aber eher als scherz zu sehen! ROFL

    gruß gerd



  • ich weis nicht wieso du der meinung bist das das lächerlich ist
    in meinem Programm soll eine Progressbar angezeigt werden damit man weis wie weit er ist wenn es ein kurzer text ist macht das natürlich keinen sinn aber wie ich schon gesagt habe hat mein text bsp 100000 zeichen und dort sind noch zeilenumbrüche drin die raus sollen.

    Naja egal auf jeden fall braucht mein 2ghz kasten ca. 5sek um diesen 100000 zeichen text zu bearbeiten.

    Das was du mir dort gegeben hast funktioniert leider net er wird immer langsamer bis dann garnichst mehr geht(trozdem danke). 😞

    Mfg Happymax



  • bei mir funzt es tadellos!

    kannst mir ja mal den string schicken (per mail!!) an bahl [at] media-ct.de

    würde mich mal interessieren. 🙂

    gruß gerd


Anmelden zum Antworten