IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Open Office Basic: Meldungsdialoge



Open Office Basic: Meldungsdialoge

Open Office bietet einige Standardmeldungsdialoge womit sogar ein ungeübter Programmierer den Verlauf eines Programms beeinflussen kann.


Autor: Patrick Faes (dreamer)
Datum: 22-07-2007, 22:37:46
Referenzen: OpenOffice.org
OOoMacros.org
Schwierigkeit: Anfänger
Ansichten: 11639x
Rating: 7 (1x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Es gibt in Open Office sehr einfache Dialoge, die es dem Benutzer ermöglichen den Programmablauf zu steuern. Ein Beispiel in Javascript können Sie sehen, indem Sie hier klicken.

Meldungsfenster
Dies ist nur ein sehr simples Beispiel. Open Office Basic bietet Ihnen viel mehr Möglichkeiten als Javascript Dialoge zu gestalten.

Meldungsdialoge

Ein Meldungsdialog wird in Open Office Basic mit dem Befehl MsgBox erstellt. Diese Funktion kann drei Parameter haben, wovon zwei optional sind. Diese Parameter enthalten folgende Daten:
  1. Der Text, der angezeigt werden soll
  2. Verschiedene Optionen in Bezug zur Gestaltung
  3. Der Titel des Dialogfensters
Hier eine Grafik die dies verdeutlicht:



Darstellung kann anders sein je nach verwendetem Betriebssystem, bzw. grafischer Oberfläche.

Der erste Parameter (der anzuzeigenden Text) ist in diesem Beispiel "Dies ist ein Meldungsdialog."
Der zweite Parameter befasst mehrere Details: die Grafik die links im Bild zu sehen ist, die Buttons die der Dialog bietet und welcher dieser Buttons (wenn es mehrere gibt) die Standardauswahl darstellt.
Der dritte Parameter setzt den Titel des Dialogfenster. Es handelt sich dabei um den Text der oben im blauen Balken des Bilds zu sehen ist.


Einen Dialog erstellen

Mit dem Befehl MsgBox erstellen ganz komfortabel einen Dialog. In Open Office Basic müssen Sie keine runden Klammer verwenden. Sie sind insofern optional als dass die Verwendung von Klammern bedeutet dass die Funktion einen Wert zurückgeben muss. Aber dazu später mehr.

MsgBox "Meldung"

Beachten Sie zudem dass Textparameter zwischen doppenten Anführungszeichen stehen müssen, einfache Anführungszeichen werden für Kommentare verwendet. Am Ende soll auch kein Semikolon stehen, wie man es von anderen Programmiersprachen her kennt. Dies führt in Open Office Basic zu einer Fehlermeldung.

Obiges Beispiel erzeugt folgender Dialog:




Das sieht nicht gerade sehr aufregend aus, was? Es gibt den Benutzer nur eine kurze Meldung. Zudem ist damit dem Benutzer nicht immer ganz deutlich was gemeint ist. Deshalb kann man den Dialog grafisch aufpeppen.


Informationssymbole anzeigen

Text alleine kann manchmal ungenau wirken, sprich der Leser wird nicht ganz bewusst wie ernst die Meldung gemeint ist. Deshalb bietet Open Office Basic es an den Dialog mit einen von vier Symbolen zu ergänzen.
Haltezeichen

Frage

Warnung

Mittelung


Sie haben die Auswahl aus insgesamt vier Symbolen. Diese sind "Haltezeichen", "Frage", "Warnung" und "Mitteilung". Als zweiten Parameter müssen Sie eine Zahl angeben die übereinstimmt mit der die zu einem der Symbole gehört.

Symbol Wert
Haltesymbol16
Frage32
Warnung48
Mitteilung64

Jetzt verwenden Sie einfach den zweiten Parameter wie folgt:

MsgBox "Surfen Sie oft im Internet?", 32

Dies erstellt einen Dialog der die Frage stellt ob man oft im Internet surft. Dabei wird das Fragezeichensymbol auch gezeigt.




Jetzt fragen Sie sich wohl was der Sinn der ganzen Sache sein soll, eine Frage zu stellen wenn der Benutzer nur einen OK-Button geboten wird. Über denselben Parameter bietet Open Office Basic an, mehrere Buttonkombinationen zu verwenden.


Antwortknöpfe vorsehen

In Open Office gibt es insgesamt 6 Kombinationen von Buttons, welche hier aufgelistet werden:







Die verschiedenen Dialoge geben den Benutzer einige, wenn auch eher bescheidene, Möglichkeiten den Verlauf eines Programms zu beeinflussen. Aber dazu später mehr.

Um diese Dialoge zu erstellen, müssen Sie beim zweiten Parameter einer der folgenden Werte angeben:

Buttons Wert
OK0
OK und Abbrechen1
Wiederholen, Abbrechen und Ignorieren2
Ja, Nein und Abbrechen3
Ja und Nein4
Wiederholen und Abbrechen5

Ein Dialog mit den Buttons "Ja und Nein" und dem Text "Verwenden Sie gerne OpenOffice.org 2.1?" zum Beispiel, wird erstellt mit den Code:

MsgBox "Verwenden Sie gerne OpenOffice.org 2.1?", 4

"Aber... wie soll ich denn jetzt noch ein Symbol verwenden, da der zweite Parameter für die Buttonkombination verwendet wird?" Ganz einfach: der zweite Parameter erwartet die Summe aller einzelnen Optionen. So z.B. müssten wir, um ein Fragezeichensymbol am obigen Beispiel hinzuzufügen, beim zweiten Parameter 32 (den Parameterwert für das Fragezeichensymbol, siehe Tabelle weiter oben) addieren.

Das gebe dann folgender Code:

MsgBox "Verwenden Sie gerne OpenOffice.org 2.1?", 36




Um die Antwort des Benutzers verwenden zu können, brauchen Sie jetzt noch den Rückgabewert auszuwerten.


Antwort auswerten

Wie am Anfang dieses Artikels schon gesagt wurde, gibt MsgBox in Open Office Basic nur einen Wert zurück, wenn runde Klammern verwendet werden.

antwort = MsgBox("Verwenden Sie gerne OpenOffice.org 2.1?", 36)

Die variable antwort speichert dann den Rückgabewert. Es handelt sich hierbei um eine Zahl, die den ausgewählten Button repräsentiert. Es gibt folgende Möglichkeiten:

Button Rückgabewert
OK1
Abbrechen2
Wiederholen4
Ignorieren/Abbrechen5
Ja6
Nein7

Anmerkung: In der Liste wurde der Wert 3 nicht aufgenommen. Dieser Wert wird zurückgegeben beim Betätigen des Abbrechen-Buttons, aber nur bei der Buttonkombination "Abbrechen, Wiederholen und Ignorieren". Das liegt vermutlich daran dass bei der selben Buttonkombination der Wert 2 schon zurückgegeben wird bei der Betätigung des Ignorieren-Buttons. "Abbrechen" und "Ignorieren" können je nach Kontext etwas anderes bedeuten.

Hier folgen einige Beispiele wie man die Antworten auswerten könnte:

antwort = MsgBox("Das Haus Ihres Nachbarn wird gleich explodieren!", 1)

If antwort = 1 Then
	MsgBox "Sie sind also einverstanden?"
ElseIf antwort = 2 Then
	MsgBox "Sie haben ein Herz!"
EndIf

'erstellt einen Dialog mit den Buttons OK und Abbrechen
'wenn man OK klickt, so sagt das Programm "Sie sind also einverstanden?"
'wenn man dagegen Abbrechen klick, sagt das Programm "Sie haben ein Herz!"

Obiges Beispiel ist in der täglichen Praxis wohl eher irrelevant.
Ein mehr praxisorientiertes Beispiel unten:

antwort = MsgBox("Sprechen Sie Deutsch?", 4)

If antwort = 6 Then
	MsgBox "Ich sehe Sie haben meine Frage verstanden"
ElseIf antwort = 7 Then
	MsgBox "Sie verstehen also kein Wort von dem was ich sage"
EndIf

'erstellt einen Dialog mit den Buttons Ja und Nein
'den Rest sollten Sie bis jetzt verstehen können

Ein letztes Beispiel zeigt eine Schleife eines Programms, wo bei jedem Durchlauf der Schleife eine Zahl erhöht wird. Das Programm fragt bei jedem Neudurchlauf ob der Benutzer weiter machen möchte.

While MsgBox("Möchten Sie weitermachen?", 5) = 4
	zahl = zahl + 1
Wend

Das Dialogfenster sieht so aus:




Bei jedem durchlauf fragt das Programm erneut ob der Durchlauf wiederholt werden soll. Wenn der Button "Wiederholen" betätigt wird, wird der Wert 4 zurückgegeben und nur dann wird die Schleife erneut durchlaufen.

Wie Sie an den obigen Beispielen sehen können, müssen die Eingaben des Users (sprich der Button den der User betätigt) wörtlich interpretiert werden. "Abbrechen" heißt einfach abbrechen, "ignorieren" heißt ignorieren, usw.


Standardbutton festlegen

Leider werden die Benutzer manchmal den Dialog nicht mal sich ansehen. Sie betätigen einfach schnell die ENTER-Taste. Sie können dies antizipieren indem Sie einen Standardbutton festlegen. Dies heißt dass, wenn der Benutzer einfach schnell die ENTER-Taste drückt, der Wert dieses Buttons zurückgegeben wird. Hiermit können Sie verhindern dass unerwünschte Nebeneffekten auftreten.

Der Standardbutton wird markiert mit einer Strichliniene um den Text.








Den jeweiligen Zahlenwert den Sie zum zweiten Parameter addieren müssen, ist unabhängig von der jeweiligen Buttonkombination.
Folgende Werte müssen addiert werden (Buttons von links nach rechts):

Button Wert
1128
2256
3512


Fenstertitel des Dialogs

Als letzter Parameter, können Sie noch den Fenstertitel bestimmen. Es handelt sich dabei um den Text der im blauen Balken am oberen Rand zu sehen ist.




Diesen Parameter hängen Sie dann einfach noch hinten dran:

MsgBox "Willkommen bei IT-Academy.cc" &_
Chr(13) & "IT-News.cc gibt's auch noch",_
0, "IT-Academy.cc"


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06243
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1144
Comments: 0