public static ArrayList GetFiles(string path, string filter, PathOptions options)
{
ArrayList fileArray = new ArrayList();
FileInfo objFI;
string[] files;
if(String.IsNullOrEmpty(filter)) filter = "*.*";
string [] filespec = filter.Split('|');
try
{
for(int L = 0; L < filespec.Length; L++)
{
files = System.IO.Directory.GetFiles(H3Storage.MapPath(path), filespec[L]);
for(int i= 0;i< files.Length;i++)
{
objFI = new System.IO.FileInfo(files[i]);
if (
(objFI.Attributes.ToString().IndexOf("Hidden")<0 && objFI.Attributes.ToString().IndexOf("System")<0)
||
((int)(options & PathOptions.Hidden) != 0 && objFI.Attributes.ToString().IndexOf("Hidden") >= 0)
||
((int)(options & PathOptions.System) != 0 && objFI.Attributes.ToString().IndexOf("System") >= 0)
)
{
if(!fileArray.Contains(objFI.Name) && !fileArray.Contains(objFI.FullName))
{
fileArray.Add( ((int)(options & PathOptions.Path) != 0) ? objFI.FullName : objFI.Name );
}
}
}
}
}
catch
{}
return fileArray;
}