WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Samples

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Field Validation Example

 Dialg field validation numeric number range indicate hilight hilite validate  

Example of a Dialog Callback doing field validation.

#DefineFunction IsFloatValid(DaNum,low,high)
   If IsNumber(DaNum)==@FALSE Then Return @FALSE
   If DaNum < low || DaNum > high Then Return @FALSE
   Return @TRUE
#EndFunction


#DefineFunction MyDialogCallbackProc(MyDialog_Handle,MyDialog_Message,MyDialog_ID,rsvd1,rsvd2)
   ;DialogprocOptions Constants
   MSG_INIT=0                ; The one-time initilization
   MSG_BUTTONPUSHED=2        ; Pushbutton or Picturebutton
   MSG_EDITBOX=5             ; Editbox or Multilinebox
   DC_EDITBOX=3              ; EDITBOX MULTILINEBOX
   DC_BACKGROUNDCOLOR=11     ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FILELISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX


   Switch MyDialog_Message
      Case MSG_INIT
         DialogProcOptions(MyDialog_Handle,MSG_BUTTONPUSHED,@TRUE)
         DialogProcOptions(MyDialog_Handle,MSG_EDITBOX,@TRUE)
         Return(-1)

     Case MSG_BUTTONPUSHED
        Switch MyDialog_ID
           Case 001   ; OK
              DaNum=DialogControlGet(MyDialog_Handle,003,DC_EDITBOX)
              If IsFloatValid(DaNum,0.099999999,5.000000001) == @FALSE
                 Message("Number range error","Hilighted number invalid")
                 Return(-2)
              EndIf
              Return(-1)
        EndSwitch    ;MyDialog_ID
        Return(-1)      ;  Do default processing

        Case MSG_EDITBOX  ;ID 003
        DaNum=DialogControlGet(MyDialog_Handle,003,DC_EDITBOX)
        DaColor="255|100|100"
        If IsFloatValid(DaNum,0.099999999,5.000000001) == @TRUE Then  DaColor="255|255|255"  ;avoid FP Rounding issues
        DialogControlSet(MyDialog_Handle,003,DC_BACKGROUNDCOLOR,DaColor)
        Return(-1)      ;  Do default processing

   EndSwitch       ; MyDialog_Message
   Return(-1)      ;  Do default processing
#EndFunction       ;End of Dialog Callback MyDialogCallbackProc


RealDaNum=0.1
MyDialogFormat=`WWWDLGED,6.1`

MyDialogCaption=`WIL Dialog 1`
MyDialogX=-1
MyDialogY=-1
MyDialogWidth=108
MyDialogHeight=062
MyDialogNumControls=004
MyDialogProcedure=`MyDialogCallbackProc`
MyDialogFont=`DEFAULT`
MyDialogTextColor=`DEFAULT`
MyDialogBackground=`DEFAULT,DEFAULT`
MyDialogConfig=0

MyDialog001=`014,038,033,010,PUSHBUTTON,DEFAULT,"OK",1,1,32,DEFAULT,DEFAULT,DEFAULT`
MyDialog002=`054,038,033,010,PUSHBUTTON,DEFAULT,"Cancel",0,2,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog003=`014,010,033,011,EDITBOX,RealDaNum,"",DEFAULT,3,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog004=`055,007,043,021,STATICTEXT,DEFAULT,"Enter a number from 0.1 and 5.0",DEFAULT,4,DEFAULT,DEFAULT,DEFAULT,DEFAULT`

ButtonPushed=Dialog("MyDialog")

Message("Answer",RealDaNum)



Article ID:   W15916
File Created: 2004:03:30:15:41:42
Last Updated: 2004:03:30:15:41:42