AppProgressDialog

AppProgressDialog erzeugt einen Fortschrittsanzeige-Dialog.

bool = AppProgressDialog()
bool = AppProgressDialog(nUpper)
bool = AppProgressDialog(nUpper, ssTitle)

Returnwert

bool ist TRUE (1), wenn Funktion erfolgreich war, sonst FALSE (0).

Parameter

nUpper

Defaultwert ist 100.

ssTitle

Defaultwert ist „Progress“.

Kommentar

Oberhalb der Fortschrittsanzeige befinden sich zwei Zeilen für Texte, die mit der Funktion AppSetStatusBarText gesetzt werden können.

Die Funktionen AppProgressDialog oder AppProgressCreate können ab UniPlot R2015.8 geschachtelt aufgerufen werden.

Beispiel: Es soll der Fortschritt beim importieren von 5 Dateien angezeigt werden. Für jede Datei sollt der Importfortschritt angezeigt werden. Für jede Datei stehen dann 20 % der Fortschrittsanzeige zur Verfügung. Die Funktion AppProgressStepIt sollte jeweils nach dem Aufruf der inneren Funktion aufgerufen werden. Ansonsten würde der 20 % Forschritt sofort angezeigt und nicht wie gewünscht entsprechned des Fortschritts der aufgerufenen Funktion angezeigt. Siehe Beispiel.

../../_images/ProgressDialog.png

Beispiel

def SubAppProgressDialog()
{
   nStep = 10;
   AppProgressDialog(nStep);
   for (i in 1:nStep) {
       AppSetStatusBarText(sprintf("Step: %d", i));
       bRet = AppProgressStepIt();
       if (!bRet) {
          return FALSE; // cancel
       }
       AppSleep(50); // Simulate some work
   }
   AppProgressDestroy();
   return TRUE;
}

def TestAppProgressDialog()
{
    nStep = 5
    AppProgressDialog(nStep, "Import Data");
    for (i in 1:nStep) {

        bRet = SubAppProgressDialog();
        if (!bRet) {
            return FALSE; // cancel
        }

        bRet = AppProgressStepIt();
        if (!bRet) {
            return FALSE; // cancel
        }
        AppSetStatusBarText(sprintf("Step: %d", i));
        AppSleep(50); // Simulate some work
    }
    AppProgressDestroy()
}

TestAppProgressDialog()

History

Version Beschreibung
R2015.8 Die Funktion kann geschachtelt aufgerufen werden.
R2012.1 (5.40.1) Neu.

id-796429