Friday, February 19, 2010

FileSystemWatcher වල වැඩ

අහල තියෙනවද .net වල තියෙනවා FileSystemWatcher කියලා ක්ලාස් එකක්. මේක් තියෙන්නේ System.IO ඇතුලේ.
මේකෙන් සිරා වැඩ ටිකක් දාන්න පුලුවන් හරියට පාවිච්ච් කරොත්. මේක නිකන් හරියට ඔය අපේ සමහර ගෙවල් වල ඉන්න බල්ලා වගේ. කවුරු හරි ආවොත් බුරනවා.
මෙන්න මෙහෙමයි වැඩේ වෙන්නේ.
දෙයියො බුදුන් වැදලා පඩුරක් එහෙම ගැටගහලා Visual Studio open කරගෙන අලුත් project ඒක්ක ගන්න.

using System.IO;
කියලා උඩින්ම දාගන්න

FileSystemWatcher watcher;
class level එකේම හදාගන්න.

දැන් ඉතින් main එකේ හරි ඔයාලට ඔනේ තැනම කතා කරන එක තමා තියෙන්නේ.
private void CreateWatcher()
{

//Create a new FileSystemWatcher. ගෙදර ඉන්න බල්ලා

watcher = new FileSystemWatcher();


// නැට්ට වන්නන්න filter
watcher.Filter = "*.pdf";

//Subscribe to the Created event. (නැට්ට)
watcher.Created += new FileSystemEventHandler(watcher_FileCreated);

//Set the path whatever the directory you want (ගෙදර)
watcher.Path = @listnerDir;

//ගෙදර අතුලේ කාමරත් ඔට්ටුයි
watcher.IncludeSubdirectories = true;

//Enable the FileSystemWatcher events.
watcher.EnableRaisingEvents = true;
}



දැන් මෙහෙමයි.. මං කලින් කිවුනේ මෙයා කවුරු ආවත් බුරනවා කියලා... අපි හිතමුකො අපි දන්න කෙනෙක් ආවම නැට්ට වන්නන්න ඔනේ කියලා..සරලයි..
ඔය මම දාල තියෙන්නේ filter එකක් එතෙන්ට එන කෙනාව අදුරගන්න පුලුවන් නම් එයා ආවම තමා නැට්ට වනන්නේ. දැන් මගේ එකේ නම් pdf එකක් ආවොත් තමා නැට්ට වනන්නේ.

ඉතින් දැන් මේක් run වෙනකොට ඔය බලන් ඉන්න තැන මොකක් හරි pdf file එකක් හැදුන ගමන් පොර නැට්ට වනනවා. ඉතින් වනන්න නැට්ටකුත් ඔනේනේ.
නැට්ට මෙහෙමයි.

void watcher_FileCreated(object sender, FileSystemEventArgs e)
{
//ඇතුලේ ඕනෙ මගුලක් කරගන්න පුලුවන්.
}



මෙකේ තියෙන ලොකු වාසියක් තමා ඉතින් ඔය රට වටේ file තියගන්නේ නැතුව තමන්ගේ MP3 ටික එක තැනකයි, Movies ටික තම කොහෙවත් තැනකටයි දාගන්න වගේ.
කරන්න ඔනේ එකමදේ copy කරන තැනට අහන් ඉන්න කියලා දාලා extenstion (or whatever) එක අනුව filter කරලා watcher_FileCreated ඇතුලේ file එක copy කරන කියලා තියෙන එක විතරඉ.
තව කරන්න පුලුවන් දේවල් හිතලා කියන්න. :)
එහෙනම් අදට ඇති. ජයවේවා කිව්වා.

No comments:

Post a Comment