meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

zahleneingabe [2011/02/05 17:22]
127.0.0.1 Externe Bearbeitung
zahleneingabe [2018/05/25 14:29] (aktuell)
michael
Zeile 1: Zeile 1:
 ====== Zahleneingabe ====== ====== Zahleneingabe ======
- Soll der Benutzer eine Zahl eingeben, gibt es dafür zwei Möglichkeiten.\\ ​ 
  
-  ​als Aufforderung über eine Inputbox+ Soll der Benutzer eine Zahl eingeben, gibt es dafür zwei Möglichkeiten. 
 + 
 +**Als Aufforderung über eine Inputbox** 
 + 
 +<code VBScript [enable_line_numbers="​true"​]>​
   Dim Zahl   Dim Zahl
   Zahl = Inputbox("​Geben Sie eine Zahl ein!","​Eingabe"​)   Zahl = Inputbox("​Geben Sie eine Zahl ein!","​Eingabe"​)
   msgbox Zahl   msgbox Zahl
 +</​code>  ​
 +
 +**über einen FF-Dialog mit dem Steuerelement SLEDIT**
 +
  
-  * über einen FF-Dialog mit dem Steuerelement SLEDIT+<code VBScript [enable_line_numbers="​true"​]>​
   Dim Zahl   Dim Zahl
  
Zeile 30: Zeile 37:
  
   FF_CloseDialog ("​Eingabe"​)   FF_CloseDialog ("​Eingabe"​)
 +</​code>  ​
        
 In beiden Fällen können verschiedene Probleme auftreten:​\\ ​ In beiden Fällen können verschiedene Probleme auftreten:​\\ ​
Zeile 36: Zeile 44:
   * Es wird "​nichts"​ eingegeben   * Es wird "​nichts"​ eingegeben
   * Der eingegebene Wert ist keine Zahl   * Der eingegebene Wert ist keine Zahl
-\\  + 
-===== **Zahleneingabe über Inputbox** ===== +===== Zahleneingabe über Inputbox ===== 
- Wenn man die Eingabe einer Zahl erzwingen will, eignet sich dafür eine Schleife, die erst verlassen wird, wenn ein Wert, der sich als Zahl auswerten lässt, eingegeben wurde. Die Prüfung mit **IsNumeric** ist auch **true**, wenn die **Inputbox** mit Abbrechen beendet oder **"​nichts"​** (Nothing) eingegeben und dann OK betätigt wird. Daher muss zusätzlich geprüft werden, ob das **Ergebnis <> ""​** ist.\\ + 
 +Wenn man die Eingabe einer Zahl erzwingen will, eignet sich dafür eine Schleife, die erst verlassen wird, wenn ein Wert, der sich als Zahl auswerten lässt, eingegeben wurde. Die Prüfung mit **IsNumeric** ist auch **true**, wenn die **Inputbox** mit Abbrechen beendet oder **"​nichts"​** (Nothing) eingegeben und dann OK betätigt wird. Daher muss zusätzlich geprüft werden, ob das **Ergebnis <> ""​** ist. 
 + 
 +<code VBScript [enable_line_numbers="​true"​]>​
   Dim Zahl   Dim Zahl
   Do   Do
Zeile 47: Zeile 58:
   Zahl = Zahl *1   Zahl = Zahl *1
   msgbox Zahl   msgbox Zahl
 +</​code>  ​
        
-Da das Ergebnis eine Textvariable ist (z.B. würde //05// ein gültiges Ergebnis sein), muss es noch durch die Multiplikation mit 1 zu einer echten Zahl umgewandelt werden.\\ \\  +Da das Ergebnis eine Textvariable ist (z.B. würde //05// ein gültiges Ergebnis sein), muss es noch durch die Multiplikation mit 1 zu einer echten Zahl umgewandelt werden. 
-===== **Zahleneingabe über FF-Dialog mit dem Steuerelement SLEDIT** ===== + 
- Indem man dem Steuerelement **SLEDIT** den Stil **ES_Number** zuweist (FF_SetControlStyle "​Eingabe","​Zahl",​8192),​ kann man verhindern, dass andere Zeichen als Ziffern eingegeben werden können. Gleichzeitig wird allerdings auch die Eingabe auf positive Ganzzahlen eingeschränkt,​ aber damit kommt man meistens aus.\\ +===== Zahleneingabe über FF-Dialog mit dem Steuerelement SLEDIT ===== 
 + 
 +Indem man dem Steuerelement **SLEDIT** den Stil **ES_Number** zuweist (FF_SetControlStyle "​Eingabe","​Zahl",​8192),​ kann man verhindern, dass andere Zeichen als Ziffern eingegeben werden können. Gleichzeitig wird allerdings auch die Eingabe auf positive Ganzzahlen eingeschränkt,​ aber damit kommt man meistens aus. 
 + 
 +<code VBScript [enable_line_numbers="​true"​]>​
   Dim Zahl   Dim Zahl
  
Zeile 78: Zeile 94:
  
   FF_CloseDialog ("​Eingabe"​)   FF_CloseDialog ("​Eingabe"​)
 +</​code>  ​
        
-Durch Anwendung des Stils **ES_Number** braucht bei der Gültigkeitsprüfung nur noch auf **"​nichts"​** (Nothing) geprüft zu werden. Allerdings ist auch hier das Ergebnis eine Textvariable,​ die erst durch Multiplikation mit 1 zu einer Zahl wird.\\ \\ +Durch Anwendung des Stils **ES_Number** braucht bei der Gültigkeitsprüfung nur noch auf **"​nichts"​** (Nothing) geprüft zu werden. Allerdings ist auch hier das Ergebnis eine Textvariable,​ die erst durch Multiplikation mit 1 zu einer Zahl wird. 
 ===== Zusatzanmerkungen ===== ===== Zusatzanmerkungen =====
  
   * Es kann sinnvoll sein, dem Ergebnis ""​ die Zahl 0 zu zuweisen.   * Es kann sinnvoll sein, dem Ergebnis ""​ die Zahl 0 zu zuweisen.
   * Der Vergleich if Zahl <> ""​ then kann ersetzt werden durch if len(Zahl) > 0 then. Dieser Vergleich ist lt. Werner schneller.   * Der Vergleich if Zahl <> ""​ then kann ersetzt werden durch if len(Zahl) > 0 then. Dieser Vergleich ist lt. Werner schneller.