Seite 1 von 1
Rückgabewert abfragen
Verfasst: Mi, 07.02.2007 16:34
von toni
Hallo,
Ich rufe einen Starbasic Dialog mit den Schaltflächen OK und abbrechen auf (1). Nun möchte ich auswerten, welchen Button der Anwender geklickt hat:
Code: Alles auswählen
Dim Mldg
Mldg = MsgBox("Mit dieser Aktion gehen die von Ihnen" & CHR(10) & _
"eingegebenen Daten verloren.",1 , "Eingabeprüfung")
Select Case Mldg.Execute()
Case 1
MsgBox "ok"
Case 0
MsgBox "abbrechen"
End Select
Ich weis nicht so recht auf welches Object ich die Execute-Methode anwenden soll. Der Code funktioniert so nicht.
Kann mir jemand weiter helfen?
Gruss
Thomas
Verfasst: Mi, 07.02.2007 17:12
von Stephan
Ich weis nicht so recht auf welches Object ich die Execute-Methode anwenden soll
Auf garkeins. Die MsgBox-Funktion ist eine Funktion im Namensinne und gibt deshalb, wie jede Funktion, einen Rückgabewert (hier Mldg) zurück. Die MsgBox ist hingegen kein Basic-Dialog.
Code: Alles auswählen
Mldg = MsgBox("Mit dieser Aktion gehen die von Ihnen" & CHR(10) & _
"eingegebenen Daten verloren.",1 , "Eingabeprüfung")
Select Case Mldg
Case 1
MsgBox "ok"
Case 2
MsgBox "abbrechen"
End Select
Gruß
Stephan
Verfasst: Do, 08.02.2007 08:53
von toni
Danke, das hatte ich auch schon versucht. Allerdings hatte ich beim Abbrechen auf die 0 und nicht auf die 2 abgefragt.
Gruss
Thomas
Re: Rückgabewert abfragen
Verfasst: Fr, 25.07.2008 15:53
von Schwedenbitter
Hallo,
irgenwie muss das doch aber gehen! Ich habe einen Dialog gebastelt und die Buttons über die Eigenschaften
Art der Schaltfläche = OK festgelegt. Dazu habe ich dann folgenden Code geschrieben:
Code: Alles auswählen
Sub Abfrage
A_Init_Dlg
If MyDlg.Execute() <> mbOK Then
Neu_Text
End If
End Sub
Ich kenne mbOK aus Delphi und irgendwie scheint auch Basic damit etwas anfangen zu können. Jedenfalls bekomme ich keiner Fehlermeldung. Paradoxer Weise klappt aber = mbOK nicht, obwohl es gerade der OK-Button ist. Will sagen: der Code in der If-Abfrage wird ausgeführt, wenn OK geklickt wird...
Was mache ich denn noch falsch?
Und was bedeutet die Eigenschaft
Standardschaltfläche (Ja oder Nein) bei einem Button?
Gruß, Alex
Re: Rückgabewert abfragen
Verfasst: Fr, 25.07.2008 17:18
von ykcim
Hallo,
wenn Du mbOK so ein setzt kann es zu keiner Fehlermeldung kommen. Für Starbasic ist der Wert einfach leer. Der Rückgabewert von MyDlg.excute() ist entweder 1 (für OK) oder 2 (für Abbrechen). Achso und 0 wenn der Dialog über das Kreuz oben rechts geschlosssen wird.
Wenn der Schalterstandardschaltfläche auf ja steht reagiert dieser Button auf die Eingabetaste. Also sollten nie zwei Buttons oder mehr diesen Status haben.
mfg
Michael