Seite 1 von 2

Eingaben begrenzen

Verfasst: 03.04.2010 18:54
von Kallewirsch
Hallo zusammen,

sodele....hab mal wieder etwas Zeit für Pure Basic.

Da in dem unten gezeigten Code auch Kommazahlen eingegeben werden sollen hat ja dies nix mehr drin zu Suchen: #PB_String_Numeric : Nur (positive) Ganzzahlen werden akzeptiert.

Habe mit:
eingabe1$=ReplaceString(eingabe1$,",",".") ; Komma in Punkt tauschen

zumindest schon mal die Möglichkeit geschaffen auch wirklich ein Komma einzugeben.

Gibt es ne Möglichkeit, nur Komma oder Punkt und Zahlen für die Eingabe zuzulassen? Also alle anderen Zeichen werden nicht akzeptiert.

Geht das irgendwie? :?:

Und immer noch PureBasic 4.41 DEMO

Gruß
Kallewirsch



Code: Alles auswählen

Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Button_0
  #Button_loeschen
  #Button_Close
  #Button_drucken
  #String_0
  #String_1
  #String_2
  #String_3
  #String_4
  #STRING_5
  #TString_0
  #TString_1
  #TString_2
  #TString_3
  #TString_4
  #TString_5
  #TString_6
  #TString_7
  #TString_8
  #STRING_INPUT
  #STRING_INPUT_1
  #STRING_INPUT_2
  #MB_ICONEXCLAMATION

EndEnumeration


#CRLF$ = Chr(13)+Chr(10)

LoadFont(0, "Arial", 20)
LoadFont(1, "Arial", 24)



Procedure ergebnisloeschen()
      ; Achtung hier Ermittlung der richtigen Zifferanzahl
         If (EventType()=#PB_EventType_LostFocus)
            aFeld=EventGadget()
            iFeld$ = GetGadgetText(aFeld)
            If (Len(iFeld$)>0) And (Len(iFeld$)<2)
               MessageRequester("InfoBox", "Zahl zu klein! Mindestens 2 Stellen!") ; #MB_ICONEXCLAMATION)
               SetActiveGadget(aFeld)
               
            SetGadgetText(#STRING_INPUT_2, ("Eingabe FALSCH!"))
            SetGadgetColor(#STRING_INPUT_2, #PB_Gadget_BackColor,$3300FF)
           
            ElseIf (Len(iFeld$)>4)
               MessageRequester("InfoBox", "Zahl zu groß! Maximal 4 Stellen!") ; #MB_ICONEXCLAMATION)
               SetGadgetText(aFeld,"")
               SetActiveGadget(aFeld)
               
            SetGadgetText(#STRING_INPUT_2, ("Eingabe FALSCH!"))
            SetGadgetColor(#STRING_INPUT_2, #PB_Gadget_BackColor,$3300FF)
           
            EndIf
         Else
            For n=#string_0 To #String_5
               SetGadgetColor(n, #PB_Gadget_BackColor, -1)
            Next n
            SetGadgetColor(GetActiveGadget(), #PB_Gadget_BackColor,$00FFFF)
            SetGadgetText(#STRING_INPUT, "")
            SetGadgetText(#STRING_INPUT_1, "")
         EndIf

  
      SetGadgetText(#STRING_INPUT,"")
      SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$FFFFFF)
      
      SetGadgetText(#STRING_INPUT_1,"")
      SetGadgetColor(#STRING_INPUT_1, #PB_Gadget_BackColor,$FFFFFF)
     
   
     
EndProcedure

  If OpenWindow(#Window_0, 248, 16, 730, 642, "Mittelwertrechner",  #PB_Window_SystemMenu | #PB_Window_ScreenCentered| #PB_Window_SizeGadget | #PB_Window_TitleBar )
     
      SetWindowColor(#Window_0,$FFFFFF)

      SetGadgetFont(#TString_0, FontID(0))
      ButtonGadget(#Button_0, 250, 500, 100, 50, "Berechnen")
      ButtonGadget(#Button_loeschen, 425, 500, 100, 50, "Löschen")
      ButtonGadget(#Button_Close, 600, 500, 100, 50, "Schließen")
      
      
      TextGadget(#TString_1, 40, 30, 160, 20, "Zahl 1 eingeben")

      StringGadget(#String_0, 40, 50, 160, 60, "", #PB_String)
      SetGadgetFont(#String_0, FontID(0))
      TextGadget(#TString_2, 40, 120, 160, 20, "Zahl 2 eingeben")

      StringGadget(#String_1, 40, 140, 160, 60, "", #PB_String)
      SetGadgetFont(#String_1, FontID(0))
      TextGadget(#TString_3, 40, 210, 160, 20, "Zahl 3 eingeben")
 
      StringGadget(#String_2, 40, 230, 160, 60, "", #PB_String)
      SetGadgetFont(#String_2, FontID(0))
      TextGadget(#TString_4, 40, 300, 160, 20, "Zahl 4 eingeben")

      StringGadget(#String_3, 40, 320, 160, 60, "", #PB_String_Numeric)
      SetGadgetFont(#String_3, FontID(0))
      TextGadget(#TString_6, 40, 390, 160, 20, "Zahl 5 eingeben")

      StringGadget(#String_4, 40, 410, 160, 60, "", #PB_String_Numeric)
      SetGadgetFont(#String_4, FontID(0))
      TextGadget(#TString_7, 40, 480, 160, 20, "Zahl 6 eingeben")

      StringGadget(#String_5, 40, 500, 160, 60, "", #PB_String_Numeric)
      SetGadgetFont(#String_5, FontID(0))
      TextGadget(#TString_5, 250, 300, 280, 20, "Mittelwert.d der Eingaben")

      StringGadget(#STRING_INPUT, 250, 320, 450, 50,"", #PB_String_Numeric)
      SetGadgetFont(#STRING_INPUT, FontID(1))
      TextGadget(#TString_8, 250, 380, 280, 20, "Mittelwert.d x100")
  
      StringGadget(#STRING_INPUT_1, 250, 400, 450, 50,"", #PB_String_Numeric)
     
      TextGadget(#STRING_INPUT_2, 250, 150, 130, 100,"", #PB_Text_Border)
      SetGadgetFont(#STRING_INPUT_2, FontID(0)) 
       
       
      Repeat
    iEvent.i = WaitWindowEvent()
    Select iEvent
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Button_0
           SetControl=0
            eingabe1$=GetGadgetText(#String_0)
            eingabe2$=GetGadgetText(#String_1)
            eingabe3$=GetGadgetText(#String_2)
            eingabe4$=GetGadgetText(#String_3)
            eingabe5$=GetGadgetText(#String_4)
            eingabe6$=GetGadgetText(#STRING_5)
            
            eingabe1$=ReplaceString(eingabe1$,",",".")  ; Komma in Punkt tauschen
            
            If (eingabe1$<>"")
            
               Teiler + 1
               Mittelwert.d  = ValD(eingabe1$)
         
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 1 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
           
           
                 
           
           
            If (eingabe2$<>"")
      
               Teiler + 1
               Mittelwert.d + ValD(eingabe2$)
     
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 2 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
            
            
           
            If (eingabe3$<>"")

               Teiler + 1
               Mittelwert.d + ValD(eingabe3$)
  
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 3 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
            
           
            If (eingabe4$<>"")
   
               Teiler + 1
               Mittelwert + ValD(eingabe4$)

            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 4 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
            
           
            If (eingabe5$<>"")
  
               Teiler + 1
               Mittelwert + ValD(eingabe5$)
      
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 5 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
            
            
           
            If (eingabe6$<>"")
   
               Teiler + 1
               Mittelwert + ValD(eingabe6$)
       
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 6 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
           
            If Teiler=6
              SetGadgetText(#STRING_INPUT,StrD(Mittelwert.d/Teiler))
              a1.d = Mittelwert.d / Teiler * 100
              Mittel100 = Round(a1, #PB_Round_Up)       
              SetGadgetText(#STRING_INPUT_1,Str(Mittel100))
              SetGadgetColor(#STRING_INPUT_1, #PB_Gadget_BackColor,$00FFFF)   
           
            SetGadgetText(#STRING_INPUT_2, ("Eingabe in Ordnung"))
            SetGadgetColor(#STRING_INPUT_2, #PB_Gadget_BackColor,$00FF00)
           
            Else
           
            MessageRequester("Fehler","Es müssen alle Felder korrekt ausgefüllt werden!")
            EndIf
           
           
            Teiler=0

           
           
           Case #Button_loeschen
           
                SetGadgetText(#String_0,"")
                SetGadgetText(#String_1,"")
                SetGadgetText(#String_2,"")
                SetGadgetText(#String_3,"")
                SetGadgetText(#String_4,"")
                SetGadgetText(#STRING_5,"")
               
                SetGadgetText(#STRING_INPUT_2,"")
                SetGadgetColor(#STRING_INPUT_2, #PB_Gadget_BackColor,$FFFFFF)       
           

                ergebnisloeschen()
               
           Case #String_0
                ergebnisloeschen()
           Case #String_1
                ergebnisloeschen()
           Case #String_2
                ergebnisloeschen()
           Case #String_3
                ergebnisloeschen()
           Case #String_4
                ergebnisloeschen()
           Case #STRING_5
                ergebnisloeschen()
             
           Case #STRING_INPUT
                SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$00FFFF)
           
           Case #BUTTON_CLOSE
                Quit = #True
                     
        EndSelect
     EndSelect                     
   
         
   Until iEvent = #PB_Event_CloseWindow Or Quit = #True

EndIf


End 

Re: Eingaben begrenzen

Verfasst: 03.04.2010 19:06
von ts-soft
Wie bereits früher erwähnt, #MB_ICONEXCLAMATION hat den feststehenden Wert 48
und wird also nicht enumeriert.

Code: Alles auswählen

#MB_ICONEXCLAMATION = 48
Zur Frage: Nein, so etwas gibt es nicht nativ, die Gültigkeit des Strings muß Du selber prüfen!

Frohe Ostern

Thomas

Re: Eingaben begrenzen

Verfasst: 04.04.2010 21:36
von dysti
Hier erstmal eine Lösung auf Grundlage deiner Idee:

Code: Alles auswählen

If (EventType()=#PB_EventType_LostFocus)
            aFeld=EventGadget()
            iFeld$ = ReplaceString(GetGadgetText(aFeld),",",".")  ; Komma in Punkt tauschen
            SetGadgetText(aFeld,iFeld$)
            If (Len(iFeld$)>0) And (Len(iFeld$)<2)

Re: Eingaben begrenzen

Verfasst: 04.04.2010 22:21
von Josh
ich habe mich auch schon gewundert, dass es da nichts natives gibt. gibts in pb nicht mal eine möglichkeit der ausgabe, wo dann auch die ländereinstellungen berücksichtigt werden?

Re: Eingaben begrenzen

Verfasst: 04.04.2010 22:31
von Pelagio
So viel ich weiß gibt es eine LIB.

Code: Alles auswählen

Import "NumericEdit.lib": InitNumber(Gadget.l, Flag.l) As "InitMessages": EndImport
Aber mir ist nicht mehr bekannt wer diese verfasst hat und wo sie steht, vielleicht unter PureArea.net.

Re: Eingaben begrenzen

Verfasst: 04.04.2010 22:40
von dysti
@Pelagio, er hat nur die Demo.

Re: Eingaben begrenzen

Verfasst: 04.04.2010 23:02
von Kallewirsch
Hi zusammen,
servus Pelagio und Dysti

hab mir gerade schnell (hat doch etwas länger gedauert :mrgreen: ) etwas zusammen geschustert....aber es funktioniert so wie ich das will.

Vermutlich denkt ihr jetzt bestimmt " :shock: Oh Gott was soll denn das sein....so ne Sche... aber es funktioniert. Für Beispiele wie man das richtig macht bin ich jederzeit dankbar :D

Gruß
Kallewirsch

Code: Alles auswählen

Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Button_0
  #Button_loeschen
  #Button_Close
  #Button_drucken
  #String_0
  #String_1
  #String_2
  #String_3
  #String_4
  #STRING_5
  #TString_0
  #TString_1
  #TString_2
  #TString_3
  #TString_4
  #TString_5
  #TString_6
  #TString_7
  #TString_8
  #STRING_INPUT
  #STRING_INPUT_1
  #STRING_INPUT_2
  ;#MB_ICONEXCLAMATION

EndEnumeration

#MB_ICONEXCLAMATION = 48


#CRLF$ = Chr(13)+Chr(10)

LoadFont(0, "Arial", 20)
LoadFont(1, "Arial", 24)



Procedure ergebnisloeschen()
     
         If (EventType()=#PB_EventType_LostFocus)
            aFeld=EventGadget()
            iFeld$ = GetGadgetText(aFeld)
            If (Len(iFeld$)>0) And (Len(iFeld$)<2)
               MessageRequester("InfoBox", "Zahl zu klein! Mindestens 2 Stellen!") ; #MB_ICONEXCLAMATION)
               SetActiveGadget(aFeld)
               
            SetGadgetText(#STRING_INPUT_2, ("Eingabe FALSCH!"))
            SetGadgetColor(#STRING_INPUT_2, #PB_Gadget_BackColor,$3300FF)
           
            ElseIf (Len(iFeld$)>4)
               MessageRequester("InfoBox", "Zahl zu groß! Maximal 4 Stellen!") ; #MB_ICONEXCLAMATION)
               SetGadgetText(aFeld,"")
               SetActiveGadget(aFeld)
               
            SetGadgetText(#STRING_INPUT_2, ("Eingabe FALSCH!"))
            SetGadgetColor(#STRING_INPUT_2, #PB_Gadget_BackColor,$3300FF)
           
            EndIf
         Else
            For n=#string_0 To #String_5
               SetGadgetColor(n, #PB_Gadget_BackColor, -1)
            Next n
            SetGadgetColor(GetActiveGadget(), #PB_Gadget_BackColor,$00FFFF)
            SetGadgetText(#STRING_INPUT, "")
            SetGadgetText(#STRING_INPUT_1, "")
         EndIf

  
      SetGadgetText(#STRING_INPUT,"")
      SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$FFFFFF)
      
      SetGadgetText(#STRING_INPUT_1,"")
      SetGadgetColor(#STRING_INPUT_1, #PB_Gadget_BackColor,$FFFFFF)
     
   
     
EndProcedure






Procedure feldpruefung(Feld,Inhalt$)
   
   
    l = Len(Inhalt$) 
 

    For i = 1 To l
    Zeichen.s = Mid(Inhalt$, i, l)   
  
    If (Asc(Zeichen) < 48 Or Asc(Zeichen) > 57) And Asc(Zeichen) <> 46
    
   ProcedureReturn 1
   

    EndIf
    
    
    Next

 
 
EndProcedure

  If OpenWindow(#Window_0, 248, 16, 730, 642, "Mittelwertrechner",  #PB_Window_SystemMenu | #PB_Window_ScreenCentered| #PB_Window_SizeGadget | #PB_Window_TitleBar )
     
      SetWindowColor(#Window_0,$FFFFFF)

      SetGadgetFont(#TString_0, FontID(0))
      ButtonGadget(#Button_0, 250, 500, 100, 50, "Berechnen")
      ButtonGadget(#Button_loeschen, 425, 500, 100, 50, "Löschen")
      ButtonGadget(#Button_Close, 600, 500, 100, 50, "Schließen")
      
      
      TextGadget(#TString_1, 40, 30, 160, 20, "Zahl 1 eingeben")

      StringGadget(#String_0, 40, 50, 160, 60, "", #PB_String)
      SetGadgetFont(#String_0, FontID(0))
      TextGadget(#TString_2, 40, 120, 160, 20, "Zahl 2 eingeben")

      StringGadget(#String_1, 40, 140, 160, 60, "", #PB_String)
      SetGadgetFont(#String_1, FontID(0))
      TextGadget(#TString_3, 40, 210, 160, 20, "Zahl 3 eingeben")
 
      StringGadget(#String_2, 40, 230, 160, 60, "", #PB_String)
      SetGadgetFont(#String_2, FontID(0))
      TextGadget(#TString_4, 40, 300, 160, 20, "Zahl 4 eingeben")

      StringGadget(#String_3, 40, 320, 160, 60, "", #PB_String_Numeric)
      SetGadgetFont(#String_3, FontID(0))
      TextGadget(#TString_6, 40, 390, 160, 20, "Zahl 5 eingeben")

      StringGadget(#String_4, 40, 410, 160, 60, "", #PB_String_Numeric)
      SetGadgetFont(#String_4, FontID(0))
      TextGadget(#TString_7, 40, 480, 160, 20, "Zahl 6 eingeben")

      StringGadget(#String_5, 40, 500, 160, 60, "", #PB_String_Numeric)
      SetGadgetFont(#String_5, FontID(0))
      TextGadget(#TString_5, 250, 300, 280, 20, "Mittelwert.d der Eingaben")

      StringGadget(#STRING_INPUT, 250, 320, 450, 50,"", #PB_String_Numeric)
      SetGadgetFont(#STRING_INPUT, FontID(1))
      TextGadget(#TString_8, 250, 380, 280, 20, "Mittelwert.d x100")
  
      StringGadget(#STRING_INPUT_1, 250, 400, 450, 50,"", #PB_String_Numeric)
     
      TextGadget(#STRING_INPUT_2, 250, 150, 130, 100,"", #PB_Text_Border)
      SetGadgetFont(#STRING_INPUT_2, FontID(0)) 
       
       
      Repeat
    iEvent.i = WaitWindowEvent()
    Select iEvent
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Button_0
           SetControl=0
            eingabe1$=GetGadgetText(#String_0)
            eingabe2$=GetGadgetText(#String_1)
            eingabe3$=GetGadgetText(#String_2)
            eingabe4$=GetGadgetText(#String_3)
            eingabe5$=GetGadgetText(#String_4)
            eingabe6$=GetGadgetText(#STRING_5)
            
            eingabe1$=ReplaceString(eingabe1$,",",".")  ; Komma in Punkt tauschen
         
         
            If (eingabe1$<>"")
               If feldpruefung(1,eingabe1$)   
               MessageRequester("Eingabefehler","Keine Buchstaben erlaubt!")
               SetGadgetText(#String_0,"")            
               EndIf
            EndIf  
            
            
            
            If (eingabe1$<>"")
               If Not feldpruefung(1,eingabe1$)
               Teiler + 1
               Mittelwert.d  = ValD(eingabe1$)
               EndIf
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 1 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
           
           
                 
           
           
            If (eingabe2$<>"")
      
               Teiler + 1
               Mittelwert.d + ValD(eingabe2$)
     
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 2 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
            
            
           
            If (eingabe3$<>"")

               Teiler + 1
               Mittelwert.d + ValD(eingabe3$)
  
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 3 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
            
           
            If (eingabe4$<>"")
   
               Teiler + 1
               Mittelwert + ValD(eingabe4$)

            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 4 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
            
           
            If (eingabe5$<>"")
  
               Teiler + 1
               Mittelwert + ValD(eingabe5$)
      
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 5 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            
            
            
            
            
           
            If (eingabe6$<>"")
   
               Teiler + 1
               Mittelwert + ValD(eingabe6$)
       
            Else
            If SetControl=0
            MessageRequester("Eingabefehler","Feld 6 muß ausgefüllt werden!")
            SetControl=1
            EndIf
            EndIf
            
            

           
            If Teiler=6
              SetGadgetText(#STRING_INPUT,StrD(Mittelwert.d/Teiler))
              a1.d = Mittelwert.d / Teiler * 100
              Mittel100 = Round(a1, #PB_Round_Up)       
              SetGadgetText(#STRING_INPUT_1,Str(Mittel100))
              SetGadgetColor(#STRING_INPUT_1, #PB_Gadget_BackColor,$00FFFF)   
           
            SetGadgetText(#STRING_INPUT_2, ("Eingabe in Ordnung"))
            SetGadgetColor(#STRING_INPUT_2, #PB_Gadget_BackColor,$00FF00)
           
            Else
           
            MessageRequester("Fehler","Es müssen alle Felder korrekt ausgefüllt werden!")
            EndIf
           
           
            Teiler=0

           
           
           Case #Button_loeschen
           
                SetGadgetText(#String_0,"")
                SetGadgetText(#String_1,"")
                SetGadgetText(#String_2,"")
                SetGadgetText(#String_3,"")
                SetGadgetText(#String_4,"")
                SetGadgetText(#STRING_5,"")
               
                SetGadgetText(#STRING_INPUT_2,"")
                SetGadgetColor(#STRING_INPUT_2, #PB_Gadget_BackColor,$FFFFFF)       
           

                ergebnisloeschen()
               
           Case #String_0
                ergebnisloeschen()
           Case #String_1
                ergebnisloeschen()
           Case #String_2
                ergebnisloeschen()
           Case #String_3
                ergebnisloeschen()
           Case #String_4
                ergebnisloeschen()
           Case #STRING_5
                ergebnisloeschen()
             
           Case #STRING_INPUT
                SetGadgetColor(#STRING_INPUT, #PB_Gadget_BackColor,$00FFFF)
           
           Case #BUTTON_CLOSE
                Quit = #True
                     
        EndSelect
     EndSelect                     
   
         
   Until iEvent = #PB_Event_CloseWindow Or Quit = #True

EndIf


End 

Re: Eingaben begrenzen

Verfasst: 05.04.2010 08:23
von H.Brill
wenn es auch eine DLL sein darf,
kannste ja auch die Edit.Dll benutzen.
Die macht genau das, was du suchst.

http://frabbing.bplaced.net/

Re: Eingaben begrenzen

Verfasst: 05.04.2010 20:30
von ts-soft
Die Idee mit der Edit.dll von Frank Abbing ist auf jeden Fall eine einfach Lösung.
Um langes suchen zu vermeiden, hier der Download-Link: http://frabbing.bplaced.net/Number.zip

und hier ein Beispiel zur Nutzung in PureBasic:

Code: Alles auswählen

; 1 = Nur EIN Komma/Punkt im String zulassen
; 2 = Nur 2 Ziffern hinter dem Komma/Punkt zulassen
; 4 = Minus nur einmal und am Anfang zulassen

EnableExplicit

Prototype InitMessages(hwnd, flags)

Global InitMessages.InitMessages

Procedure InitNEdit()
  Protected dll = OpenLibrary(#PB_Any, "NEdit.dll")
  If dll
    InitMessages = GetFunction(dll, "InitMessages")
    If InitMessages
      ProcedureReturn #True
    EndIf
  EndIf
EndProcedure

If InitNEdit()
  OpenWindow(0, #PB_Ignore, #PB_Ignore, 220, 40, "example", #PB_Window_SystemMenu)
  StringGadget(0, 10, 10, 200, 20, "")
  InitMessages(GadgetID(0), 5)
  SetActiveGadget(0)
  
  While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
EndIf

Re: Eingaben begrenzen

Verfasst: 06.04.2010 10:51
von dysti
Hallo Kallewirsch,
damit du evtl. den Code besser verstehts, hier der Code ohne Protypes:

Code: Alles auswählen

; 1 = Nur EIN Komma/Punkt im String zulassen
; 2 = Nur 2 Ziffern hinter dem Komma/Punkt zulassen
; 4 = Minus nur einmal und am Anfang zulassen

EnableExplicit
Global dll 
dll = OpenLibrary(#PB_Any, "NEdit.dll")
If dll
  OpenWindow(0, #PB_Ignore, #PB_Ignore, 220, 40, "example", #PB_Window_SystemMenu)
  StringGadget(0, 10, 10, 200, 20, "")
  CallFunction(dll,"InitMessages",GadgetID(0), 5)
  SetActiveGadget(0) 
  While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
EndIf