Fortschrittsanzeige

Das Kopieren einer Datei wird mittels Fortschrittsbalken angezeigt, hier im Nautilus-Dateimanager
Ein animierter Fortschrittsbalken.

Eine Fortschrittsanzeige (auch Fortschrittsbalken, Ladebalken, Statusbalken englisch progress bar[1]) ist ein Steuerelement, das anzeigt, wie weit die Bearbeitung eines Auftrags fortgeschritten ist bzw. dass die Bearbeitung im Gange ist, z. B. der Fortschritt eines Installations- oder Ladevorgangs. Es ist die Computer-Entsprechung der Bargraph-Anzeige. In der aktuellen Microsoft-Terminologie heißt dieses Element Statusanzeige.

Bestimmte Fortschrittsanzeige

Meist als Fortschrittsbalken mit Prozentangabe ausgeführt. Die Fortschrittsanzeige besteht in der Regel aus einem farbigen Balken, der den Fortschritt eines Vorgangs optisch wiedergibt, indem er von 0 % auf 100 % anwächst, sowie meist einer Prozentanzeige, die angibt, wie weit der Vorgang bereits abgeschlossen ist. Daraus ergibt sich ungefähr die Restdauer des Vorgangs. Fortschrittsbalken finden sich auch oft bei Download-Programmen oder bei der Installation von Softwarepaketen.

Unbestimmte Fortschrittsanzeige

Eine unbestimmte Fortschrittsanzeige, der nicht erkennen lässt, wie weit der Prozess tatsächlich schon fortgeschritten ist

Eine Variante ist eine Anzeige, die keine Fortschrittsanzeige mit bestimmten Ende des Vorgangs anzeigen kann, da nicht bekannt ist, wie lange noch bis zur Komplettierung der Aktion gewartet werden muss, wo aber trotzdem deutlich gemacht werden soll, dass der Computer aktiv weiterarbeitet und nicht hängengeblieben ist. Diese Anzeige kann als unbestimmter Fortschrittsbalken realisiert werden, der statt eines Bargraphen einen Teilbalken ohne Prozentangabe verwendet, der sich fortwährend in eine Richtung bewegt und am Ende der Anzeige sofort wieder zurückgesetzt und abläuft.

Alternativen dazu sind Elemente wie Throbber Spinning wheel throbber.gifoder Mauszeiger in Warteform (z. B. Sanduhr), oder im Textmodus beispielsweise Escape-Sequenzen ohne Cursor-Weiterbewegung.

Textbasierte Fortschrittsanzeige

Bei Geräten, vor allem in früheren Zeiten, als die Grafikfähigkeiten noch nicht so entwickelt waren, wurden Fortschrittsbalken auch oft in Textdarstellung aus einer wachsenden Reihe von gleichartigen Zeichen gebildet, wie beispielsweise XXXXXX....

Als textbasierter Vorläufer des Throbbers gilt die immerwiederkehrende Folge der Zeichen |/-\, die an der gleichen Cursor-Position ausgegeben wurden. Diese textbasierten Animationen waren schon in frühen Versionen von UNIX und DR DOS in den 1980er Jahren zu finden.

Ressourcen

Die Anzeige der Fortschrittsanzeige verbraucht zwar auch Ressourcen und kann somit unter Umständen die Gesamtdauer des Vorganges erhöhen, jedoch ist dies in der Praxis zur Zeit kaum im relevanten Bereich. Außerdem kann damit dem Benutzer vereinfacht angezeigt werden, dass das Programm noch funktioniert und arbeitet.

Trivialpatent

Auf die Entwicklung des Fortschrittsbalkens wurde von Thomas Poslinski und Kim Annon Ryal ein Patent[2] über die Firma Sony angemeldet, das als Trivialpatent gilt.

Programmierung

C#

Das folgende Beispiel in der Programmiersprache C# zeigt die Implementierung eines Hauptfensters mit einer Fortschrittsbalken und einem Listenfeld. In das Listenfeld werden Dreieckszahlen eingetragen. Dabei wird der Fortschrittsbalken weitergesetzt.[3]

using System.Windows.Forms;

public class MainForm : System.Windows.Forms.Form
{
	private System.Windows.Forms.ListBox triangularNumbersListBox;
	
	private System.Windows.Forms.ProgressBar newProgressBar;
	
	// Konstruktor des MainForms.
	public MainForm()
	{
		InitializeControls();
	}
	
	// Startet die Anwendung und erzeugt das MainForm durch Aufruf des Konstruktors.
    public static void Main()
    {
        Application.Run(new MainForm());
    }
	
	// Initialisiert das Listenfeld und die Fortschrittsanzeige.
	private void InitializeControls()
	{
		// Erzeugt ein Listenfeld eine Fortschrittsanzeige durch Aufruf der Standardkonstruktoren.
		
		triangularNumbersListBox = new ListBox();
		newProgressBar = new ProgressBar();
		
		SuspendLayout();
		
		triangularNumbersListBox.Location = new System.Drawing.Point(50, 50);
		triangularNumbersListBox.Size = new System.Drawing.Size(200, 100);
		triangularNumbersListBox.MultiColumn = false;
		triangularNumbersListBox.SelectionMode = SelectionMode.One;
		Controls.Add(triangularNumbersListBox);
		
		int minimum = -10;
		int maximum = 10;
		
		newProgressBar.Location = new System.Drawing.Point(50, 200);
		newProgressBar.Minimum = 1;
		newProgressBar.Maximum = maximum - minimum + 2;
		newProgressBar.Value = 1; // Setzt den Anfangswert der Fortschrittsanzeige.
		newProgressBar.Step = 1; // Setzt die Schrittweite der Fortschrittsanzeige.
		Controls.Add(newProgressBar);
		
		// Diese for-Schleife trägt die Dreieckszahlen -10 * -9 / 2, -9 * -8 / 2, ..., 9 * 10 / 2, 10 * 11 / 2 in das Listenfeld ein.
		triangularNumbersListBox.BeginUpdate();
		for (int i = minimum; i <= maximum; i++)
		{
			int triangularNumber = i * (i + 1) / 2;
			triangularNumbersListBox.Items.Add(triangularNumber.ToString());
			newProgressBar.PerformStep(); // Setzt die Fortschrittsanzeige einen Schritt weiter.
		}
		triangularNumbersListBox.EndUpdate();
		
		Text = "Fortschrittsbalken";
		
		ResumeLayout(false);
		PerformLayout();
	}
}

Weblinks

Commons: Fortschrittsbalken – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. Progress Bar. Enterprise-Gamification.com. Abgerufen am 22. Februar 2014.@1@2Vorlage:Toter Link/www.enterprise-gamification.com (Seite nicht mehr abrufbar, Suche in Webarchiven Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.
  2. Patent US7290698B2: Progress bar with multiple portions. Veröffentlicht am 6. November 2007, Erfinder: Thomas Poslinski, Kim Annon Ryal.
  3. Microsoft Docs: ProgressBar Class

Auf dieser Seite verwendete Medien

Pbar.gif
Progress bar made with mspaint and unfreez
Bert2 transp 5B5B5B cont 150ms.gif
Animated progress bar: Bert2 Foreground: #5B5B5B. 150 ms pause, continuous movement
Spinning wheel throbber.gif
Autor/Urheber: Jakub Steiner, w:Tango Desktop Project authors, Lizenz: CC BY-SA 2.5
"Spinning wheel" throbber, created by the Tango Project, inspired by the Mac OS X spinner animation.
Copying a file into an archive using nautilus file manager.png
Copying a file into an archive using nautilus file manager