Fortschrittsanzeige

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.

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

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. ISO 9241-161 empfiehlt, dass eine Fortschrittsanzeige so gestaltet sein sollte, dass sie nicht mit einem Schieberegler verwechselt wird.[2]

Unbestimmte Fortschrittsanzeige

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

Eine Variante ist eine Anzeige, die keine Fortschrittsanzeige mit bestimmtem 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 oder 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 zurzeit 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[3] über die Firma Sony angemeldet, das als Trivialpatent gilt.

Programmierung

C#

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

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();
	}
}
Commons: Fortschrittsbalken – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. Progress Bar. Enterprise-Gamification.com, archiviert vom Original am 25. Januar 2014; abgerufen am 22. Februar 2014 (englisch).
  2. ISO 9241-161, Nr. 8.30.5
  3. Patent US7290698B2: Progress bar with multiple portions. Veröffentlicht am 6. November 2007, Erfinder: Thomas Poslinski, Kim Annon Ryal.
  4. Microsoft Docs: ProgressBar Class
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.