Click here to Skip to main content
15,890,408 members
Home / Discussions / C#
   

C#

 
AnswerRe: Adding an object to Treeview Pin
leppie17-Aug-06 9:24
leppie17-Aug-06 9:24 
QuestionHow to identify whether any message box are being displayed or not on the form Pin
engsrini17-Aug-06 7:20
engsrini17-Aug-06 7:20 
AnswerRe: How to identify whether any message box are being displayed or not on the form Pin
coolestCoder17-Aug-06 19:59
coolestCoder17-Aug-06 19:59 
QuestionReflection (?) Help [modified] Pin
David Knechtges17-Aug-06 7:00
David Knechtges17-Aug-06 7:00 
AnswerRe: Reflection (?) Help Pin
Dustin Metzgar17-Aug-06 8:06
Dustin Metzgar17-Aug-06 8:06 
AnswerRe: Reflection (?) Help Pin
Guffa17-Aug-06 11:57
Guffa17-Aug-06 11:57 
GeneralRe: Reflection (?) Help Pin
David Knechtges18-Aug-06 2:49
David Knechtges18-Aug-06 2:49 
AnswerDirectoryInfo.GetFiles with multiple file filters [modified] Pin
Chris Maunder17-Aug-06 6:23
cofounderChris Maunder17-Aug-06 6:23 
I'm feeling lazy: Has anyone cobbled together a replacement for DirectoryInfo.GetFiles that accepts multiple file filters?


-- modified at 13:42 Thursday 17th August, 2006

OK, here's something quick and dirty...

/// <summary>
/// Returns a list of files from a directory
/// </summary>
/// <param name="files">A list of files</param>
/// <param name="directory">The directory in which to search</param>
/// <param name="filters">The file extension filters (separate by [,;|])</param>
/// <param name="recurse">Recurse through subdirectories</param>
private void AddFilesRecursively(List<FileInfo> files, DirectoryInfo directory,
                                 string filters, bool recurse)
{
    FileInfo[] dirFiles = directory.GetFiles("*.*", SearchOption.TopDirectoryOnly);
    if (filters == "*.*")
        files.AddRange(dirFiles);
    else
    {
        foreach (FileInfo file in dirFiles)
        {
            if (Regex.IsMatch(file.Extension, filters, RegexOptions.IgnoreCase))
                files.Add(file);
        }
    }
 
    if (recurse)
    {
        DirectoryInfo[] dirInfos = directory.GetDirectories();
        foreach (DirectoryInfo dir in dirInfos)
        {
            AddFilesRecursively(files, dir, filters, recurse, level+1);
        }
    }
}
 
/// <summary>
/// Returns an array of files from a directory
/// </summary>
/// <param name="path">The path in which to search</param>
/// <param name="filters">The regular expression by which to filter files by extension 
/// (or *.* for all files)</param>
/// <param name="recurse">Recurse through subdirectories</param>
/// <returns>An array of files</returns>
private List<FileInfo> GetFiles(string path, string filters, bool recurse)
{
    List<FileInfo> files = new List<FileInfo>();
 
    DirectoryInfo dirInfo = new DirectoryInfo(path);
    AddFilesRecursively(files, dirInfo, filters, recurse, 0);
 
    return files;
}



-- modified at 13:48 Thursday 17th August, 2006


AnswerRe: DirectoryInfo.GetFiles with multiple file filters Pin
Dustin Metzgar17-Aug-06 6:37
Dustin Metzgar17-Aug-06 6:37 
AnswerRe: DirectoryInfo.GetFiles with multiple file filters Pin
Judah Gabriel Himango17-Aug-06 6:53
sponsorJudah Gabriel Himango17-Aug-06 6:53 
GeneralRe: DirectoryInfo.GetFiles with multiple file filters Pin
Chris Maunder17-Aug-06 6:57
cofounderChris Maunder17-Aug-06 6:57 
GeneralRe: DirectoryInfo.GetFiles with multiple file filters Pin
Judah Gabriel Himango17-Aug-06 7:45
sponsorJudah Gabriel Himango17-Aug-06 7:45 
GeneralRe: DirectoryInfo.GetFiles with multiple file filters Pin
Dustin Metzgar17-Aug-06 7:56
Dustin Metzgar17-Aug-06 7:56 
GeneralRe: DirectoryInfo.GetFiles with multiple file filters Pin
Chris Maunder17-Aug-06 10:35
cofounderChris Maunder17-Aug-06 10:35 
GeneralRe: DirectoryInfo.GetFiles with multiple file filters Pin
Judah Gabriel Himango18-Aug-06 5:00
sponsorJudah Gabriel Himango18-Aug-06 5:00 
JokeRe: DirectoryInfo.GetFiles with multiple file filters Pin
Dustin Metzgar17-Aug-06 6:57
Dustin Metzgar17-Aug-06 6:57 
GeneralRe: DirectoryInfo.GetFiles with multiple file filters Pin
Judah Gabriel Himango17-Aug-06 7:35
sponsorJudah Gabriel Himango17-Aug-06 7:35 
Questionproblems using System.Diagnosics.Process.Start to start Process Pin
3Dizard17-Aug-06 5:37
3Dizard17-Aug-06 5:37 
AnswerRe: problems using System.Diagnosics.Process.Start to start Process Pin
Judah Gabriel Himango17-Aug-06 6:04
sponsorJudah Gabriel Himango17-Aug-06 6:04 
GeneralRe: problems using System.Diagnosics.Process.Start to start Process Pin
3Dizard17-Aug-06 7:14
3Dizard17-Aug-06 7:14 
AnswerRe: problems using System.Diagnosics.Process.Start to start Process Pin
Ennis Ray Lynch, Jr.17-Aug-06 6:22
Ennis Ray Lynch, Jr.17-Aug-06 6:22 
GeneralRe: problems using System.Diagnosics.Process.Start to start Process Pin
3Dizard17-Aug-06 7:19
3Dizard17-Aug-06 7:19 
AnswerRe: problems using System.Diagnosics.Process.Start to start Process Pin
Judah Gabriel Himango17-Aug-06 9:30
sponsorJudah Gabriel Himango17-Aug-06 9:30 
GeneralRe: problems using System.Diagnosics.Process.Start to start Process Pin
3Dizard17-Aug-06 12:06
3Dizard17-Aug-06 12:06 
AnswerRe: problems using System.Diagnosics.Process.Start to start Process Pin
Mike Bluett17-Aug-06 12:01
Mike Bluett17-Aug-06 12:01 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.