PDA

View Full Version : برنامه ای برای تشخیص فایل کپی شده در یک فولدر



alialirezaee1
دوشنبه 16 آذر 1388, 14:32 عصر
سلام

تکه کدی می خواستم که وقتی فایلی در یه فولدر ایجاد شد برنامه پیغام بده.

hojjatcroos
دوشنبه 16 آذر 1388, 16:26 عصر
دوست من هنگام ساختن فایل فکر می کنم تابع CreateFile فراخونی میشه.یک نگاهی به Kernel بنداز. ممکنه به شکل CreateFileEXW یا CreateFileW باشه بعد شنودش کن

hadisalahi2
دوشنبه 16 آذر 1388, 17:13 عصر
یعنی به چه صورت فایل ایجاد بشه.
از طریق برنامه یا کلا در محیط ویندوز؟

alialirezaee1
دوشنبه 16 آذر 1388, 18:05 عصر
یعنی به چه صورت فایل ایجاد بشه.
از طریق برنامه یا کلا در محیط ویندوز؟

کلا در محیط ویندوز. می خوام یه فولدر مثلا "\c:\test" رو چک کنم و اگر فایلی درش کپی شد من از طریق برنامه نشونش بدم.

vcldeveloper
دوشنبه 16 آذر 1388, 23:26 عصر
باید با استفاده از توابع FindFirstChangeNotification (http://msdn.microsoft.com/en-us/library/aa364417%28VS.85%29.aspx) و FindNextChangeNotification تغییرات در پوشه را مانیتور کنید. هر زمان تغییری در پوشه تشخیص داده شد، می تونید با استفاده از تابع ReadDirectoryChangesW (http://msdn.microsoft.com/en-us/library/aa365465%28VS.85%29.aspx) اطلاعات مربوط به اون تغییر (مثل نام فایل اضافه شده به پوشه) را به دست بیارید.

برای کسب اطلاعات بیشتر درباره این توابع به مستندات MSDN مراجعه کنید.

alialirezaee1
سه شنبه 17 آذر 1388, 12:38 عصر
باید با استفاده از توابع FindFirstChangeNotification (http://msdn.microsoft.com/en-us/library/aa364417%28VS.85%29.aspx) و FindNextChangeNotification تغییرات در پوشه را مانیتور کنید. هر زمان تغییری در پوشه تشخیص داده شد، می تونید با استفاده از تابع ReadDirectoryChangesW (http://msdn.microsoft.com/en-us/library/aa365465%28VS.85%29.aspx) اطلاعات مربوط به اون تغییر (مثل نام فایل اضافه شده به پوشه) را به دست بیارید.

برای کسب اطلاعات بیشتر درباره این توابع به مستندات MSDN مراجعه کنید.

از توجه شما به این موضوع سپاسگزارم.

اگه میشه لطف کنید تکه کد یا یک مثال دلفی برای این توابع بزنید.

vcldeveloper
سه شنبه 17 آذر 1388, 16:52 عصر
اگه میشه لطف کنید تکه کد یا یک مثال دلفی برای این توابع بزنید. اگر جستجو کنید، انواع کدهای دلفی برای کار با این توابع را پیدا می کنید:
http://www.google.com/search?q=Delphi+ReadDirectoryChangesW

jamshid2008
سه شنبه 24 اسفند 1389, 22:02 عصر
اگر جستجو کنید، انواع کدهای دلفی برای کار با این توابع را پیدا می کنید:
http://www.google.com/search?q=Delphi+ReadDirectoryChangesW
------------------------------------------------
--------------------------------------------------

jamshid2008
سه شنبه 24 اسفند 1389, 22:21 عصر
سلام
کافی است یک با قرار دادن کنترل TMemo روی فرم و استفاده از روال زیر کنترل کنید که فولدر خالی است یا نه:

procedure TfMain.folderstate;
s : string;
begin
s := 'c:\temp\*.*';
memo1.Clear;
memo1.Perform(LB_DIR, DDL_READWRITE, LongInt(@s[1]));
end