Code: Select all
Global sReturn$
Global nReturn
Procedure Sum(ArgList$)
nReturn = 0
Arg = 1
Arg$ = StringField(Arglist$,Arg,",")
While Arg$ <> ""
nReturn = nReturn + Val(Arg$)
Arg + 1
Arg$ = StringField(Arglist$,Arg,",")
Wend
EndProcedure
Procedure Average(ArgList$)
nReturn = 0
Arg = 1
Arg$ = StringField(Arglist$,Arg,",")
While Arg$ <> ""
nReturn = nReturn + Val(Arg$)
Arg + 1
Arg$ = StringField(Arglist$,Arg,",")
Wend
nReturn / (Arg - 1)
EndProcedure
Procedure Concatenate(ArgList$)
sReturn$ = ""
Arg = 1
Arg$ = StringField(Arglist$,Arg,",")
While Arg$ <> ""
sReturn$ + Arg$
Arg + 1
Arg$ = StringField(Arglist$,Arg,",")
Wend
EndProcedure
Procedure ProcessArgList( ProcAddress, ArgList$ )
*ProcPointer = ProcAddress
CallFunctionFast(*ProcPointer, ArgList$)
EndProcedure
ProcessArgList( @Sum(), "1,2,3,4" )
Debug nReturn
ProcessArgList( @Average(), "4,6" )
Debug nReturn
ProcessArgList( @Concatenate(), "J,O,H,N, ,D,O,E" )
Debug sReturn$
Code: Select all
DirWalk(Root$,@FolderChangeFunc,@FileChangeFunc,@ProgressFunc)

