Escolar Documentos
Profissional Documentos
Cultura Documentos
;-
;- USER Constants
;-
;- INTERNAL Constants
;-
;- INTERNAL Procedures
;-
;- USER Procedures
;-
;-
;- EXAMPLE Program
; Quick and dirty demo program: delete if you IncludeFile this from another source!
DisableExplicit
AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
SetActiveGadget(2)
Procedure Clear()
ClearList(MyResults())
ClearGadgetItems(16)
EndProcedure
Procedure.s Browse()
Path.s = PathRequester("Choose Path", GetGadgetText(2))
If (Path)
SetGadgetText(2, Path)
EndIf
ProcedureReturn (Path)
EndProcedure
Procedure Search()
Define Path.s, Exts.s, Size.i, St.s, Flags.i, Result.i
ClearGadgetItems(16)
Path = GetGadgetText(2)
Exts = GetGadgetText(5)
Flags = GetGadgetState( 7) * #ListFiles_Recursive
Flags + GetGadgetState( 8) * #ListFiles_Relative
Flags + GetGadgetState( 9) * #ListFiles_Folders
Flags + GetGadgetState(10) * #ListFiles_FoldersOnly
Flags + GetGadgetState(11) * #ListFiles_AllowNoExt
Flags + GetGadgetState(12) * #ListFiles_Preserve
If (Not Path)
Path = Browse()
EndIf
If (Path)
If (Right(Path, 1) <> #xListFiles_Separator)
Path + #xListFiles_Separator
EndIf
Result = ListFiles(Path, MyResults(), Exts, Flags)
ForEach (MyResults())
If (Flags & #ListFiles_Relative)
Size = FileSize(Path + MyResults())
Else
Size = FileSize(MyResults())
EndIf
If (Size = -2)
St = MyResults() + #LF$ + " . dir"
Else
St = MyResults() + #LF$ + Str(Size)
EndIf
AddGadgetItem(16, -1, St)
Next
If (Result = -1)
MessageRequester("Warning", "ListFiles returned -1 (empty or invalid path).", #Warning)
Else
MessageRequester("Info", "Found files: " + Str(Result), #Info)
EndIf
EndIf
EndProcedure
Repeat
Event = WaitWindowEvent()
If (Event = #PB_Event_CloseWindow)
Quit = #True
ElseIf (Event = #PB_Event_Gadget)
Select (EventGadget())
Case 3 : Browse()
Case 6 : St.s = "Enter file types to include, separated by spaces:" + #LF$ + " txt doc log"
St + #LF$ + #LF$ + "or 'requester style':" + #LF$ + " *.txt;*.doc;*.log"
St + #LF$ + #LF$ + "Note: wildcards (* and ?) will be ignored."
MessageRequester("Extensions", St, #Info)
Case 13 : Search()
Case 14 : Clear()
EndSelect
ElseIf (Event = #PB_Event_Menu)
Search()
EndIf
Until (Quit)
;-