Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

InputBox in VBScript

d-oli / 1 Antworten / Flachansicht Nickles

Hallo Leute


Gibt es eine Möglichkeit die Länge des (VBScript-) Eingabefeldes zu definieren? Oder gibt es einen Alternative zur InputBox (Formular geht leider nicht im verwendeten Tool).
Wer kann helfen?


Dank und Gurss d-oli


Source:


Sub OnClick(ByVal Item)
  ' Variablen deklarieren
  Dim Eingabe
  Dim Motor_Name
  Dim Check
 
  ' Motor-Referenz einlesen
  Motor_Name = HMIRuntime.Tags( "INT_Motor_MSR_FU" ).Read
     
  Do
    ' Eingabe
    Eingabe = InputBox( "Eingabe 0 - 100.0 %","FU " & Motor_Name )
 
    ' Eingabe prüfen auf >= 0 UND <= 100 [%]
    Check = ( Eingabe >= 0 And Eingabe <= 100 )
   
    ' Fehlermeldung ausgeben
    If  Not Check Then
   MsgBox "Fehlerhafte Eingabe. Eingabe muss 0 - 100.0 % sein.", vbOKOnly, "Meldung"
    End If
  Loop While Not Check
 
  ' Eingabe an Motor-Referentz zurückschreiben
  HMIRuntime.Tags( Motor_Name ).Write Eingabe 
End S

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
Yogibear d-oli „InputBox in VBScript“
Optionen

Die Länge des Eingabefeldes kann man nicht bestimmen, aber wenn Du Deinen "Check" durch folgendes austauscht, kann nichts mehr passieren:

  If IsNumeric(Eingabe) Then
    Check = (Eingabe >= 0 And Eingabe   Else
    Check = False
  End If  ' Eingabe prüfen auf >= 0 UND
Ein's noch: Was passiert beim Klick auf "Abbrechen"?! Daher sollte man anschließend vielleicht noch eine dieser Zeilen einfügen:

  If Eingabe = "" Then Exit Sub

oder:

  If Eingabe = "" Then Eingabe = 0

bei Antwort benachrichtigen