4. Ein- und Ausgaben mit Msgbox

Nutzereingaben und -ausgaben erfolgen über Message-Boxen (Msgbox).Im folgenden werden die verschiedenen Varianten beschrieben.

Message-Boxen für Ausgaben

  1. Anzeige eines Banners
  2. Msgbox.Banner("c:\programme\esri\av_gis30\arcview\etc\banner".AsFilename,
                  2, "Banner")

    Msgbox.Banner

  3. Einfache Ausgabe
  4. MsgBox.Info("Hallo!", "Info")

    Msgbox.Info

  5. Ausgabe von Fehlermeldungen
  6. Msgbox.Error("Mit error können Sie Fehlermeldungen ausgeben.",
                 "Error")

    Msgbox.Error

  7. Lange Texte ausgeben
  8. Msgbox.Report("Die Methode Report ermöglicht es, " +
                  "einen beliebig langen Text anzuzeigen.", "Report")

    Msgbox.Report

Message-Boxen für Eingaben

  1. Einfache Eingabe in ein Textfeld
  2. ' Eingabe einer Zahl: Msgbox.Input
    defaultString = "1.2"
    einText = Msgbox.Input ( "Geben Sie einen Text ein:", "Input", defaultString )
    Msgbox.Info("Der von Ihnen eingegebene Text lautet: " +
                einText, "Rückgabewert")

    Msgbox.Input

  3. Mehrfacheingaben in mehrere Textfelder
  4. ListeMitBeschriftungen = {"Vorname:", "Nachname:",
                              "Ort:", "Geburtsdatum" }
    ListeMitBisherigenKontaktangaben = {"Peter", "Mustermann",
                                        "Hamburg", "1970/01/01" }
    ListeMitAktuellenKontaktangaben = MsgBox.MultiInput("Aktualisieren Sie Ihre " +
                                     "Kontaktangaben in dieser Multiinput-Msgbox:",
                                     "MultiInput", ListeMitBeschriftungen,
                                     ListeMitBisherigenKontaktangaben)
    MsgBox.ListAsString(ListeMitAktuellenKontaktangaben,
                        "Das sind Ihre Eingaben:", "Ausgabe")

    Msgbox.Multiinput

  5. Passwort-Eingabe
  6. Msgbox.Info("Für Passwörter können Sie die eingegebenen " +
                Texte auch maskieren.", "Hinweis")
    strPasswort = Msgbox.Password
    ' Wurde Abbrechen gedrueckt?
    If(strPasswort = Nil) Then
       Return Nil
    End
    Msgbox.Info("Das eingegebene Passwort lautet: " + strPasswort,
                "Rückgabewert")

    Msgbox.Password

Message-Boxen für Ja/Nein-Antworten etc.

  1. Ja/Nein mit Abbruchmöglichkeit
  2. blnAntwort = Msgbox.YesNoCancel ("Mit YesNoCancel können sie wählen " +
                 "zwischen Ja, nein und Abbrechen!", "YesNoCancel",
                 defaultIsYes )
    Msgbox.Info("Der Rückgabewert für die gedrückte Taste lautet: " +
                blnAntwort.AsString, "Rückgabewert")

    Msgbox.YesNoCancel

  3. Ja/Nein-Auswahl ohne Abbruchmöglichkeit
  4. blnAntwort = Msgbox.YesNo ("Abbrechen können Sie bei YesNo nicht!",
                               "YesNo", defaultIsYes )
    Msgbox.Info(blnAntwort.AsString, "Rückgabewert")

    Msgbox.YesNo

  5. Ja/Nein-Auswahl ohne Titel
  6. blnAntwort = Msgbox.MiniYesNo("MiniYesNo hat keinen Titel",
                                   defaultIsYes )
    Msgbox.Info("Der Rückgabewert für die gedrückte Taste lautet: " +
                blnAntwort.AsString, "Rückgabewert")

    Msgbox.MiniYesNo

  7. Ja/Nein mit der Option Ja für alle
  8. defaultIsYes = True
    blnAntwort = Msgbox.AllYesNo("Wollen Sie weitermachen?", "AllYesNo",
                                  defaultIsYes )
    Msgbox.Info("Der gedrückte Button ergibt den Rückgabewert" ++
                blnAntwort.AsString, "Rückgabewert")
    If ((blnAntwort <> Nil) And (blnAntwort = false)) Then
       Msgbox.Info("Das Skript wurde vom Anwender unterbrochen.", "Achtung")
       Return Nil
    End

    Msgbox.AllYesNo

  9. Ja/Nein-Auswahl bei längeren Texten
  10. blnAntwort = Msgbox.LongYesNo("Mit Longyesno können Sie längere " +
                 "Texte als Frage formulieren." ++
                 " Benötigen Sie diese Funktion?",
                 "LongYesNo", defaultIsYes )
    Msgbox.Info("Der Rückgabewert für die gedrückte Taste lautet " +
                blnAntwort.AsString, "Rückgabewert")

    Msgbox.LongYesNo

  11. Änderungen speichern
  12. blnAntwort = Msgbox.SaveChanges("Wollen Sie wirklich speichern?",
                                     "SaveChanges", defaultIsYes )
    Msgbox.Info("Der Rückgabewert für die gedrückte Taste lautet: " +
                blnAntwort.AsString, "Rückgabewert")

    Msgbox.SaveChanges

Mehrfachauswahl

  1. Kombinationsfeld für Objekte
  2. meineDokumentenListe = av.GetProject.GetDocs
    meinDokument = Msgbox.Choice(meineDokumentenListe,
                                 "Wählen Sie ein Dokument:", "Choice" )
    Msgbox.Info("Sie haben folgendes Dokument ausgewählt: " +
                meinDokument.AsString, "Ausgewähltes Dokument")

    Msgbox.Choice

  3. Kombinationsfeld für einfache Datentypen (Number und String)
  4. meineZahlen = {1, 2, 3}
    meineLieblingszahl = Msgbox.ChoiceAsString(meineZahlen,
                         "Wählen Sie eine Zahl:", "ChoiceAsString" )
    Msgbox.Info("Sie haben die Lieblingszahl " + meineLieblingszahl.AsString,
                "Rückgabewert")

    Msgbox.ChoiceAsString

  5. Auswahlliste für Objekte
  6. meineDokumentenListe = av.GetProject.GetDocs
    meinDokument = Msgbox.List (meineDokumentenListe ,
                                "Wählen Sie ein Dokument aus:", "List" )
    Msgbox.Info("Sie haben folgendes Dokument ausgewählt: " +
                meinDokument.AsString, "Rückgabewert")

    Msgbox.List

  7. Auswahlliste für einfache Datentypen (Number und String)
  8. meineLieblingszahl = Msgbox.ListAsString (meineZahlen,
                         "Wählen Sie eine Zahl aus:", "ListAsString" )
    Msgbox.Info("Sie haben die Lieblingszahl " + meineLieblingszahl.AsString,
                "Rückgabewert")

    Msgbox.ListAsString

  9. Mehrfachauswahl für Objekte
  10. meineAusgewaehltenDokumente = Msgbox.MultiList(meineDokumentenListe,
                                  "Wählen Sie mehrere Dokumente aus:",
                                  "MultiList" )
    If (meineAusgewaehltenDokumente <> Nil) Then
       Msgbox.Info("Sie haben " + meineAusgewaehltenDokumente.Count.AsString +
                   " Dokumente ausgewählt.", "Rückgabewert")
    Else
       Return Nil
    End

    Msgbox.MultiList

  11. Mehrfachauswahl für einfache Datentypen (Number und String)
  12. meineLieblingszahlen = Msgbox.MultiListAsString(meineZahlen,
                           "Wählen Sie mehrere Zahlen aus:",
                           "MultiListAsString" )
    If (meineLieblingszahlen <> Nil) Then
       Msgbox.Info("Sie haben " + meineLieblingszahlen.Count.AsString +
                   " Dokumente ausgewählt.", "Rückgabewert")
    End

    Msgbox.MultiListAsString

Weiter mit Kontrollstrukturen