تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

نام تاپيک: سوال در مورد کار با فایل ها در vb

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    May 2009
    پست ها
    17

    پيش فرض سوال در مورد کار با فایل ها در vb

    با سلام خدمت دوستان و استاید محترم

    خب یک سری دستورات در vb هست که میشه با هاش روی فایل ها وفولدر ها کار کرد مثل دستور setattr برای این دستور باید ادرس و نام پوشه رو وارد کنیم می خواستم بدونم ایا راهی هست که مثلا با این دستور خاصیت تمام پوشه های یک درایو رو تغییر بدیم ؟؟؟ کد تغییر خاصیت فایل به صورت دسته جمعی توی داس رو دارم اما نمی دونم چه جوری با دستور setattr کار کنم که تمام پوشه ها و فایل ها یک درایو رو مخفی کنه ؟؟؟

    منتظر راهنمایی شما هستم

  2. #2
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    یه تابع ریکرسیو بنویس و رو تک تک فایل اعمال کن.

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    May 2009
    پست ها
    17

    پيش فرض

    ممنون میشه بیشتر توضیح بدید

  4. #4
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    روش کار تابع ریکرسیو یا بازگشتی به این صورته که داخل تابع خود تابع صدا زده میشه و 1 شرطی داخل تابع قرار داده میشه تا در loop نیفته.
    تا موقعی که اون شرط برقرار تابع مجدد خودش رو صدا میزنه.

    تابع ریکرسیو زمانی استفاده میشه که بحث عمق مطرح باشه. اگه میزان عمق مطلب رو بدونیم که به راحتی با یه حلقه for یا چند تا for تو در تو مشکل رو حل میکنیم.
    اما زمانی که ندونیم عمق کار تا کجا پیش میره استفاده از تابع ریکرسیو بهترین راه هست.

    مثلا در این مورد که شما سوال فرمودید:
    اگر فقط بخوایم فایل های داخل یه فولدر خاص رو بررسی کنیم با یه foreach مشکل حل میشه. چون عمق نا محدود نداریم.
    اما اگه بخوایم تمام فایل های داخل یه درایو رو تحت تاثیر قرار بدیم میزان عمق نا مشخص هست. پس از تابع ریکرسیو استفاده میکنیم.
    به این صورت که داخل تابع بررسی میکنیم که آیا داخل فولدر جاری فولدر دیگری هست یا نه. اگه بود باز خودش رو با آدرس فولدرهای داخل فولدر جاری صدا میزنیم. در ادامه هم فایل های موجود در فولدر جاری رو تحت تاثیر قرار میدیم.

    قطعه کد زیر رو ملاحظه کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    شرطی که عرض کردم که چک میکنه که آیا به انتهای عمق رسیدیم یا نه در این کد این خط هست:
    For Each Subfld In fld.SubFolders
    که در صورت وجود فولدر زیر شاخه باز خود تابع مورد نظر رو صدا میزنه.

  5. این کاربر از Payman_62 بخاطر این مطلب مفید تشکر کرده است


  6. #5
    در آغاز فعالیت
    تاريخ عضويت
    May 2009
    پست ها
    17

    پيش فرض

    تشکر در صورت امکان یک سورس نمونه برای دانلود قرار بدید

  7. #6
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    کدی که نوشتم سورسه. قرار بدید تو پروژتون.

  8. #7
    اگه نباشه جاش خالی می مونه mehdibarghi's Avatar
    تاريخ عضويت
    Feb 2008
    پست ها
    275

    پيش فرض

    خب اگه با فرمان داس میتونید انجام بدین چرا با اون از تو برنامه تون انجام نمیدین ؟

  9. #8
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2012
    پست ها
    6

    پيش فرض

    شما گفتید که این کارو از طریق داس متونید انجام بدید...........خوب دستورات داسو به صورت زیر تو وی بی بنویسید........

    "SHELL"DASTOOR DOS


    موفق باشید...

  10. #9
    اگه نباشه جاش خالی می مونه Akbar"22"'s Avatar
    تاريخ عضويت
    May 2011
    پست ها
    266

    پيش فرض

    shadyakh1
    سوال در مورد کار با فایل ها در vb
    با سلام خدمت دوستان و استاید محترم

    خب یک سری دستورات در vb هست که میشه با هاش روی فایل ها وفولدر ها کار کرد مثل دستور setattr برای این دستور باید ادرس و نام پوشه رو وارد کنیم می خواستم بدونم ایا راهی هست که مثلا با این دستور خاصیت تمام پوشه های یک درایو رو تغییر بدیم ؟؟؟ کد تغییر خاصیت فایل به صورت دسته جمعی توی داس رو دارم اما نمی دونم چه جوری با دستور setattr کار کنم که تمام پوشه ها و فایل ها یک درایو رو مخفی کنه ؟؟؟

    منتظر راهنمایی شما هستم
    سلام به شما دوستان عزیز چرا بحث رو پیچیده کردید !!!

    اگه درست متوجه شده باشم شما قصد دارید تمام فایل های یک دیسک رو مثلا Hidden یا آرشیو یا سیستمی کنید که امکانش هست با دستور SetAttr ، خود شما هم کار کردید پس چرا این به فکرت نمیرسه میتونی با پیدا کردن یک به یک فایل ها درون اون دیسک خصویتشون تغییر بدی من راه حل ساده رو گفتم (جسارت نمیکنم شاید از این بهترم باشه) حالا من یه سه چهار روز فرصت میدم خودت فکر کنی تا خودت بنویسی و بهت بچسبه البته اگه عجله داشتی زود بگو خودم واست بنویسم . با تشکر

    البته یه راهنماییم می کنم از دستور Dir برای پیدا کردن فایل ها باید استفاده کنی . بازم تشکر

  11. #10
    اگه نباشه جاش خالی می مونه Akbar"22"'s Avatar
    تاريخ عضويت
    May 2011
    پست ها
    266

    4

    من که نتوستم صبر کنم کد زیرو توی یک Command Button کپی کنید و یک List Box هم به فرمت اضافه کن .


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    بعد از اجرای برنامه و کلیک روی Command Button تموم فایل های دیسک C رو با نام و پسوندشان خواهید دید .
    Last edited by Akbar"22"; 16-06-2012 at 06:39.

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •