Hallo,
einfachste Form ist wohl die Inputbox
Code: Alles auswählen
Sub Main
sZahl=Inputbox("Geben Sie einen Wert ein.")
if isNumeric(sZahl) then
msgbox "Die eingegebene Zahl ist " & sZahl, 64
iZahl= cDbl(sZahl)
else
msgbox "Der eingegebene Text kann nicht in eine Zahl umgewandelt werden",16
endif
End Sub
Die ist allerdings ziemlich unflexibel (keine weitere Formatierungsmöglichkeiten, nur ein Eingabefeld etc.), so dass die Verwedung wohl nur für die allereinfachsten Eingaben sinnvoll ist.
Sobald Du mehr machen willst, brauchst Du einen Dialog.
Hierzu gehst Du folgendermaßen vor:
- Dialog erstellen
- Textfeld und OK-Button zeichnen
Im Codemodul folgendes eingeben:
Code: Alles auswählen
Dim oDia as Object
Sub DiaOpen
DialogLibraries.LoadLibrary("Standard")
oDia=CreateUnoDialog(DialogLibraries.Standard.Dialog1)
oDia.Execute
end Sub
Sub DiaEnd
sZahl=oDia.getControl("TextField1").text
oDia.EndExecute
if isNumeric(sZahl) then
msgbox "Die eingegebene Zahl ist " & sZahl, 64
iZahl= cInt(sZahl)
else
msgbox "Der eingegebene Text kann nicht in eine Zahl umgewandelt werden",16
endif
End Sub
(Ich habe immer die Standard-Namen verwendet also ggf. anpassen)
- Zurück zum Dialog
- Eigenschaftsfenster für OK-Button öffnen (Doppelklick)
- dort Reiter Ereignisse auswählen
- Beim Auslösen Verlinkung auf das Makro DiaEnd setzen
Jetzt macht der Dialog das gleiche wie die Inputbox, allerdings hast Du nun verschiedenste Einstellungsmöglichkeiten über das Eigenschaftsfenster und vor allen Dingen kannst Du weiter COntrols hinzufügen.
Die Makros aus der Besispieldatei funktionieren bei mir ohne Fehler, so dass ich da nicht weiterhelfen kann.
Was die Dokumentation angeht, kann ich Dir nur zustimmen. EINE komplette Beispielsammlung gibt es nicht (bzw. kenne ich nicht). Für den Einstieg fand ich am hilfreichsten die StarBasic FAQ von Michael Dannenhöfer. Meistens findet man die Lösung in einer der im Thread "Informationen zur StarBasic-Programmierung" angegebenen Quellen.
Und ansonsten gibts ja noch das Forum zum Fragen.
Steffan.