واضح آرشیو وب فارسی:سایت ریسک: View Full Version : گرفتن آیکن یک پوشه و فایل بهرام_6204-11-2009, 01:24 AMسلام چگونه آیکن پوشه ای که آدرسش رو دارم پیدا کنم؟ و همچنین چگونه آِکن یک نوع فایل مقل TXT رو پیدا کنم؟ ممنو:10: _H2_04-11-2009, 03:12 PMسلام اگر فایل شما واقعاً در هارد و مسیر مشخص شده وجود دارد میتوانید از متد ExtractAssociatedIcon استفاده کنید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ============== ولی اگر فایل شما واقعاً در هارد نیست و شما صرفاً میخواهید آیکون فایلهای txt را بدست اورید (بدون اینکه فایلی در هارد داشته باشید) پیشنهاد میکنم از ghnet.dll استفاده کنید. این dll متدی با نام GetIcon دارد که میتواند مثل متد بالا با مسیر و یا با پسوند آیکون فایل را باز گرداند. ضمن اینکه میتواند آیکون های جداگانه ای برای حالت Hidden و Normal و Select و... برگرداند. و نیز میتواند آیکون بزرگ و کوچک و... را هم جداگانه برگرداند. کد نمونه برگردادن آیکون Normal و کوچک فایلی که وجود دارد: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! کد نمونه برگرداندن آیکون Normal و بزرگ فایلی که واقعاً وجود ندارد: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! برای استفاده از dll فوق کافی است ان را در شاخه bin پروزه کپی کنید و با پیگیری فرمان زیر آن را به پروزه خود اضافه کنید: Project->Add Reference->Browse->OK پکهای زیر ربطی به سوال شما ندارند ولی میتوانید آخرین نسخه Nov2009 این dll را در شاخه bin یکی از این سمپل ها دانلود و پیدا کنید: support.h02.ir/fwlink/?LinkId=1005350577 support.h02.ir/fwlink/?LinkId=1001372507 support.h02.ir/fwlink/?LinkId=1006193017 support.h02.ir/fwlink/?LinkId=1002435777 support.h02.ir/fwlink/?LinkId=1005415457 و... ============== ضمناً در خیلی از موارد شی System.Drawing.Icon را نمیتوانید استفاده کنید (مثلاً در یک PictureBox) نتیجتاً کافی است تا با متد ToBitmap این شی را به یک System.Drawing.Bitmap تبدیل کنید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشید. بهرام_6205-11-2009, 10:44 AMمرسي توضيحات خيلي كامل بود براي پوشه چي چون آيكون پوشه ها رو كاربر مي تونه عوض كنه چطوري مي تونم آيكن يك پوشه رو در بيارم؟ مرسي _H2_05-11-2009, 03:14 PMسلام آیکون یک پوشه موجود: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! آیکون یک درایو موجود: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اگر احتمالاً در فکر یک Explorer کامل و نمایش لیستی و درختی و... فایلها هستید، گمانم راه حلهای ساده تری هم وجود داشته باشد. بهرام_6206-11-2009, 07:40 PMدر فکرش هستم ولی نه اینکه بخوام از کامپونت استفاده کنم می خوام از treeview و listview و fileio و ... استفاده کنم در حقیقت پروژه دانشگاست و همچنین خودمم می خوام یاد بگیرم فقط یک مشکل بزرگ دارم برای لیست کردن درایو ها و پوشه ها تا بخوام همه رو بگردم و لیست کنم یک 5 دقیقه ای طول می کشه چطوری explorer ویندوز اینقدر سریع انجام میده اگر حوصله کمک داری سورس رو آپلود کنم تا الگریتممو ببینی ضمنا واسه کمکات هم ممنون:10: بهرام_6206-11-2009, 07:49 PMاین لینکهایی که دادی رو نمی تونم دانلود کنم میشه همین DLL رو تو رپیدشیر بزاری مرسی _H2_08-11-2009, 12:12 PMسلام برای لیست کردن درایو ها و پوشه ها تا بخوام همه رو بگردم و لیست کنم یک 5 دقیقه ای طول می کشه چطوری explorer ویندوز اینقدر سریع انجام میده فهمیدم چه کار کردید! 5 دقیقه که خوبه! شانس آوردید 50 دقیقه طول نمیکشه! مشکل شما این است که در زمان بالا آمدن برنامه کل درخت را در همان لحظه پر میکنید ... ولی این کار صحیحی نیست! در واقع روش صحیح آن است که تا همانجا که در دید است و یا حداقل یک لایه بعد از آن پر شود، نه بیشتر. یعنی شما در اول کار درایوها را به درخت اضافه میکنید ... (فوق فوقش فایلها و پوشه های داخل درایو ها را هم اضافه میکنید ...) و تمام! بعد وقتی کاربر درایو C را کلیک میکند تا باز شود ... تازه در این لحظه یک پله جلو تر میروید و فایل و پوشه های داخل مسیر مذکور را پر می کنید. و... هر شاخه زمانی پر میشود که اولاً قبلاً پر نشده باشد و دوماً expand شده باشد. اگر حوصله کمک داری سورس رو آپلود کنم تا الگریتممو ببینی اگر مورد فوق را رعایت کنیدف گمانم مشکلتان حل شود و نیازی به این کار نباشد. این لینکهایی که دادی رو نمی تونم دانلود کنم این لینک های مستقیم از سایت خودم است، در شرایط مختلف و رایانه های مختلف کار کردم و مشکلی نداشتند! و فقط چند هفته قبلی دوستی چیزی مشابه شما میگفت و حالا هم شما میگید که مشکلی وجود دارد!!!! میتونم بپرسم سیستم عامل و مرورگر و نسخه مروگرتان چیست؟ از برنامه های کمکی دانلود استفاده میکنید؟ نام و نسخه اش چیست؟ شاید به خاطر این باشد که //:http را وارد نکرده ام! این جفت لینکهای زیر معادل هم هستند، لطفاً روی لینک های دومی تستی کنید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشید. بهرام_6209-11-2009, 07:55 PMدستت درد نكنه لينكا رو كه با IDM دانلود كردم شد در مورد اين كاري هم گفتي خودمم بهش فكر كردم ولي زورم اومد دوباره درباره يك الگريتم ديگه فكر كنم :27: ولي اينجور كه ميگي فكر كنم تنها راهش همين باشه برم يكم فسفر بسوزونم ببينم آخرش چي ميشه:10: _H2_10-11-2009, 01:55 PMسلام ... ولي زورم اومد دوباره درباره يك الگريتم ديگه فكر كنم ... گمانم قبلاً من هم همچین حالاتی داشتم. آی جوانی کجایی ... ! :31: ===== یک مطلب دیگر را هم اضافه کنم بد نیست. مجدد تاکید میکنم که شما اگر از روش گفته شده (پر کردن شاخه در زمان رویت) استفاده کنید، مشکل سرعتتان رفع خواهد شد. ===== ولی اصولاً الگوریتم دات نت برای سرچ فایلها چندان بهینه نیست و با الگوریتم بهتر میتوان کدی برای سرچ فایلها و پوشه ها نوشت که حداقل 50 الی 200 برابر سریعتر از الگوریتم فعلی دات نت عمل کند!!! من الگوریتم فوق الذکر را برای خودم در همان ghnet.dll پیاده سازی کردم و در پروزه ای که نیاز به اسکن حجم تعدادی خیلی زیادی از فایلها داشت با موفقیت استفاده کردم. سرعتش فوق العاده است ولی این لزوماً به این معنی نیست که برنامه نهایی هم 50 تا 200 برابر سریعتر میشود. چون درهر صورت شما خودتان هم کدی و عملیاتی دارید که روی نتیجه سرچ انجام میدهید (مثلاً اضافه کردن انها به کنترلر شاخه درختی و یا ثبت انها در دیتابیس و یا ...) و این بخش کدهای شما فرقی نمیکند و ثابت میماند. سمپل این مطلب را میتوانید از لینک های زیر دانلود کنید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! توضیحات مختصری هم در مورد این کلاس و امکانات و کد مربوط در آدرس زیر ارائه شده: persianscience.ir/showthread.php?t=641&page=3 ===== راستی، طبق مطالبی که در اینترنت مطالعه کردم، مایکروسافت مشکل مذکور را (مشکل که نمیشود گفت! شاید الگوریتم بد!) در Framework4.0 و VS2010 اصلاح کرده و متدهای جدیدی که از الگوریتم پرسرعت استفاده میکنند اضافه کرده. ===== موفق باشید. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 403]