Page 1 of 1

[windows] IsNameValid

Posted: Fri Sep 06, 2002 1:48 am
by BackupUser
Code updated for 5.20+
Restored from previous forum. Originally posted by PB.

Code: Select all

; IsNameValid procedure by PB -- do what you want with it.
; Checks if a file or folder name contains a valid DOS name.
; Useful for when a user supplies a name for a file operation.
; Usage: r=IsNameValid(name$,msg)
; Returns 0 for invalid or 1 for valid.
; If msg=1 then an error message is shown (if invalid).
;
Procedure IsNameValid(name$,msg)
  name$=GetFilePart(name$)
  r=r+FindString(name$,Chr(34),1)
  r=r+FindString(name$,"\",1)
  r=r+FindString(name$,"/",1)
  r=r+FindString(name$,":",1)
  r=r+FindString(name$,"*",1)
  r=r+FindString(name$,"?",1)
  r=r+FindString(name$,"",1)
  r=r+FindString(name$,"|",1)
  If r=0
    ok=1
  Else
    If msg=1
      a$=   "A name cannot contain any of the following characters:"+Chr(13)
      a$=a$+"                 \ / : * ? "+Chr(34)+"  |"
      MessageBox_(0,a$,"Error",#MB_ICONERROR)
    EndIf
  EndIf
  ProcedureReturn ok
EndProcedure
;
Debug "C:\AutoExec.bat = "+Str(IsNameValid("C:\AutoExec.bat",0))
Debug "C:\AutoExec.ba* = "+Str(IsNameValid("C:\AutoExec.ba*",0))
Debug "C:\AutoExec.ba* = "+Str(IsNameValid("C:\AutoExec.ba*",1))

PB - Registered PureBasic Coder