ورود

نسخه کامل مشاهده نسخه کامل : تشخیص وجود فولدر



Mohammad_HNF
31-03-2014, 20:44
سلام دوستان عید رو به همگی تبریک می گم و امیدوارم سال خوبی داشته باشید
من می خوام که یه فایلی بسازم تو یه فولدری که با دستور Open این کار رو انجام دادم اما یه مشکلی هست
مشکلم اینه که اگه اون فولدر وجود نداشته باشه پیغام خطا ظاهر می شه به فرض کد زیر رو در نظر بگیرید :
Open "D:\Test\File.txt" For OutPut as #1
منظورم اینه که اگه تویه تکه کد بالا فولدر Test از قبل ایجاد نشده باشه پیغام خطا ظاهر می شه
میخواستم ببینم چطور می تونم تشخیص بدم که آیا فولدری به نام Test وجود داره یا نه ؟
ممنون می شم کمکم کنید:n01: اگه بد توضیح دادم بگید دوباره توضیح بدم

n00b
01-04-2014, 14:09
سلام...//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
**************
توابع زیر بدون استفاده از API نوشته شدن...//// میتونید از هر کدوم که خواستید استفاده کنید...//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
******************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
**************
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Mohammad_HNF
01-04-2014, 20:26
ممنون از جوابتون :n16:
اما ممکن هست که دستور ErrorHandler رو یه مقدار توضیح بدید
ممنون میشم:n01:

n00b
02-04-2014, 23:19
سلام../// خواهش میشه.../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
***************
ErrorHandler یه برچسب هستش که قسمتی از کد رو مشخص می کنه..//// این برچسب آخر تابع DirExists تعریف شده.//// (می تونید اسمش رو هر چیزی که خواستید بذارید//)..////[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*******************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
*************
خط بالا هم به مفسر VB میگه در صورتی که هر خطایی تو این تابع بوجود اومد کد های بعد از برچسب ErrorHandler رو اجرا کن..//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
****************
بعد از برچسب ErrorHandler هیچ کدی وجود نداره و تابع تموم میشه و مقدار False رو بر می گردونه که یعنی فولدر وجود نداره یا تابع تو چک کردن وجود فولدر با مشکل مواجه شده..//// (به دلیل عدم امکان دسترسی یا ...)../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
***********

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
**************
کد بالا مشخصات مسیری که به تابع ارسال کردید رو توسط تابع GetAttr دریافت می کنه و این مشخصات رو با مشخصات فولدر (vbDirectory) مقایسه می کنه/// چون این مقایسه توسط عملگر And انجام میشه در صورتی که مشخصات مسیر دقیقاً با مشخصات فولدر یکسان باشه مقدار True و در غیر این صورت مقدار False رو داخل DirExists قرار میده...//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
******************
نمی دونم خوب توضیح دادم یا نه../// اگه مشکلی بود بگید..////[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*************
موفق باشید![ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


********************
پیشنهاد می کنم از کد اول استفاده کنید چون با دقت بیشتری این کار رو انجام میده..////