Skip to main content
Skip table of contents

Progressbar mit Zähler und Performance-Saver


Dieser Codeschnipsel bietet die Basis für eine Progressbar innerhalb eines anderen Programmablaufs.

Mit der Funktion Mod() kann man in die Funktion ProgressBarUpdate() alle X Datensätzen ausführen, was viel Ressourcen spart und das Programm flüssiger / schneller laufen lässt.

Hier exemplarisch anhand einer Schleife durch oTable mit einem Progressbar-Update alle 50 Datensätze.

JS
| oTable, nRecCount, i |

nRecCount := oTable.CbRecordCount,  // Zu beachten bei TbeAdsQuery: Geht natürlich nur mit Query ohne Filter, ansonsten werden Filter nicht berücksichtigt!
i         := 0,

startseq
   oTable.CbFirst(),
   ProgressbarShow('TestProgressbar', 'Nur zum Test', true),   
   while not oTable.CbEoF do   
      // Logik wie Datenbankoperationen
      i++,
      if mod(i, 50) = 0 then           // Die IF-Bedingung dient zur besseren Performance, da nur alle 50 Datensätze aktualisiert wird - Ist natürlich skalierbar!
         ProgressbarUpdate(100 / nRecCount * i, 'AUSGABE', true),
      endif,
      oTable.CbNext(), 
   end,
always
   ProgressbarHide(),
stopseq,


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.