Λίγο πιο εμποτισμένο file searching, άλλα στην ίδια φιλοσοφία του Παναγιώτη.
Σου έχω και ένα attachment ( ένα project 1000 λέξεις
) που έχει την χρήση του «FilesFinder».
using System;
using System.IO;
namespace MyCompany.IO
{
#region FilesFinder
public class FilesFinder
{
#region Declarations
string searchPattern;
string folder;
bool stop = false;
#endregion
#region Constructor
public FilesFinder() {
}
public FilesFinder(string folder, string searchPattern) {
Folder = folder;
SearchPattern = searchPattern;
}
#endregion
#region Propertires
public string SearchPattern {
get { return searchPattern; }
set { searchPattern = value; }
}
public string Folder {
get { return folder; }
set { folder = value; }
}
#endregion
#region FolderSearch
public void FolderSearch() {
stop = false;
FolderSearch(Folder);
}
void FolderSearch(string startFolder) {
foreach (string directory in Directory.GetDirectories(startFolder)) {
OnFolderChanged(new FolderChangedEventArgs(directory));
foreach (string fileName in Directory.GetFiles(directory, SearchPattern, SearchOption.TopDirectoryOnly)) {
if (stop) break;
OnFileFind(new FileFindEventArgs(directory, fileName));
}
if (!stop) FolderSearch(directory);
}
}
#endregion
#region Stop
public void Stop() {
stop = true;
}
#endregion
#region Events
#region FileFindEventArgs
public event EventHandler<FileFindEventArgs> FileFind;
protected virtual void OnFileFind(FileFindEventArgs e) {
if (FileFind != null) FileFind(this, e);
}
#endregion
#region FolderChangedEventArgs
public event EventHandler<FolderChangedEventArgs> FolderChanged;
protected virtual void OnFolderChanged(FolderChangedEventArgs e) {
if (FolderChanged != null) FolderChanged(this, e);
}
#endregion
#endregion
}
#endregion
#region FolderChangedEventArgs
public class FolderChangedEventArgs : EventArgs
{
#region Declarations
string folder;
#endregion
#region Constructor
public FolderChangedEventArgs(string folder) {
Folder = folder;
}
#endregion
#region Propertires
public string Folder {
get { return folder; }
set { folder = value; }
}
#endregion
}
#endregion
#region FileFindEventArgs
public class FileFindEventArgs : EventArgs
{
#region Declarations
string folder;
string fileName;
#endregion
#region Constructor
public FileFindEventArgs(string folder, string fileName) {
this.folder = folder;
this.fileName = fileName;
}
#endregion
#region Propertires
public string FileName {
get { return fileName; }
set { fileName = value; }
}
public string Folder {
get { return folder; }
set { folder = value; }
}
#endregion
}
#endregion
}
Αυτά.
while (!dead) learn();