P30World Forums
http://www.p30world.com/nw_imgs/rtl1.gif دانلود نرم افزار     http://www.p30world.com/nw_imgs/rtl1.gif فروشگاه اینترنتی
برگشت   P30World Forums > طراحی وب / برنامه نویسی > برنامه نويسي > NET Framework.

تابلو اعلانات

NET Framework. بحث و تبادل نظر پیرامون برنامه نویسی در محیطهای NET.



جواب
 
اختيارات تاپيک نمايش رسم
قديم 11-04-2009, 02:24 AM   #1
بهرام_62
اگه نباشه جاش خالی می مونه
 
بهرام_62's Avatar
 
تاريخ عضويت: Jan 2008
پست ها: 337
پيش فرض گرفتن آیکن یک پوشه و فایل

سلام چگونه آیکن پوشه ای که آدرسش رو دارم پیدا کنم؟
و همچنین چگونه آِکن یک نوع فایل مقل TXT رو پیدا کنم؟
ممنو
بهرام_62 is offline   Reply With Quote
تبلیغــــات
Advertisement
 
قديم 11-04-2009, 04:12 PM   #2

_H2_
همکار انجمن .NET Framework
 
_H2_'s Avatar
 
تاريخ عضويت: Feb 2007
محل سكونت: یک جایی بین Framework و نارمک!
پست ها: 2,989
پيش فرض

سلام
اگر فایل شما واقعاً در هارد و مسیر مشخص شده وجود دارد میتوانید از متد 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 تبدیل کنید:
کد:
برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید
موفق باشید.

Last edited by _H2_; 11-04-2009 at 04:20 PM.
_H2_ is offline   Reply With Quote
این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است
قديم 11-05-2009, 11:44 AM   #3
بهرام_62
اگه نباشه جاش خالی می مونه
 
بهرام_62's Avatar
 
تاريخ عضويت: Jan 2008
پست ها: 337
پيش فرض

مرسي توضيحات خيلي كامل بود
براي پوشه چي
چون آيكون پوشه ها رو كاربر مي تونه عوض كنه
چطوري مي تونم آيكن يك پوشه رو در بيارم؟
مرسي
بهرام_62 is offline   Reply With Quote
قديم 11-05-2009, 04:14 PM   #4

_H2_
همکار انجمن .NET Framework
 
_H2_'s Avatar
 
تاريخ عضويت: Feb 2007
محل سكونت: یک جایی بین Framework و نارمک!
پست ها: 2,989
پيش فرض

سلام
آیکون یک پوشه موجود:
کد:
برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید
آیکون یک درایو موجود:
کد:
برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید
اگر احتمالاً در فکر یک Explorer کامل و نمایش لیستی و درختی و... فایلها هستید، گمانم راه حلهای ساده تری هم وجود داشته باشد.
_H2_ is offline   Reply With Quote
این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است
قديم 11-06-2009, 08:40 PM   #5
بهرام_62
اگه نباشه جاش خالی می مونه
 
بهرام_62's Avatar
 
تاريخ عضويت: Jan 2008
پست ها: 337
پيش فرض

در فکرش هستم
ولی نه اینکه بخوام از کامپونت استفاده کنم
می خوام از treeview و listview و fileio و ... استفاده کنم
در حقیقت پروژه دانشگاست و همچنین خودمم می خوام یاد بگیرم

فقط یک مشکل بزرگ دارم
برای لیست کردن درایو ها و پوشه ها تا بخوام همه رو بگردم و لیست کنم یک 5 دقیقه ای طول می کشه
چطوری explorer ویندوز اینقدر سریع انجام میده
اگر حوصله کمک داری سورس رو آپلود کنم تا الگریتممو ببینی
ضمنا واسه کمکات هم ممنون
بهرام_62 is offline   Reply With Quote
قديم 11-06-2009, 08:49 PM   #6
بهرام_62
اگه نباشه جاش خالی می مونه
 
بهرام_62's Avatar
 
تاريخ عضويت: Jan 2008
پست ها: 337
پيش فرض

این لینکهایی که دادی رو نمی تونم دانلود کنم
میشه همین DLL رو تو رپیدشیر بزاری
مرسی
بهرام_62 is offline   Reply With Quote
قديم 11-08-2009, 01:12 PM   #7

_H2_
همکار انجمن .NET Framework
 
_H2_'s Avatar
 
تاريخ عضويت: Feb 2007
محل سكونت: یک جایی بین Framework و نارمک!
پست ها: 2,989
پيش فرض

سلام
نقل قول:
برای لیست کردن درایو ها و پوشه ها تا بخوام همه رو بگردم و لیست کنم یک 5 دقیقه ای طول می کشه
چطوری explorer ویندوز اینقدر سریع انجام میده
فهمیدم چه کار کردید!
5 دقیقه که خوبه! شانس آوردید 50 دقیقه طول نمیکشه!

مشکل شما این است که در زمان بالا آمدن برنامه کل درخت را در همان لحظه پر میکنید ...
ولی این کار صحیحی نیست!
در واقع روش صحیح آن است که تا همانجا که در دید است و یا حداقل یک لایه بعد از آن پر شود، نه بیشتر.

یعنی شما در اول کار درایوها را به درخت اضافه میکنید ...
(فوق فوقش فایلها و پوشه های داخل درایو ها را هم اضافه میکنید ...)
و تمام!

بعد وقتی کاربر درایو C را کلیک میکند تا باز شود ...
تازه در این لحظه یک پله جلو تر میروید و فایل و پوشه های داخل مسیر مذکور را پر می کنید.
و...

هر شاخه زمانی پر میشود که اولاً قبلاً پر نشده باشد و دوماً expand شده باشد.

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

نقل قول:
این لینکهایی که دادی رو نمی تونم دانلود کنم
این لینک های مستقیم از سایت خودم است، در شرایط مختلف و رایانه های مختلف کار کردم و مشکلی نداشتند!
و فقط چند هفته قبلی دوستی چیزی مشابه شما میگفت و حالا هم شما میگید که مشکلی وجود دارد!!!!
میتونم بپرسم سیستم عامل و مرورگر و نسخه مروگرتان چیست؟
از برنامه های کمکی دانلود استفاده میکنید؟ نام و نسخه اش چیست؟
شاید به خاطر این باشد که //:http را وارد نکرده ام!

این جفت لینکهای زیر معادل هم هستند، لطفاً روی لینک های دومی تستی کنید:
کد:
برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید
موفق باشید.
_H2_ is offline   Reply With Quote
این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است
تبلیغــــات
Advertisement
 
قديم 11-09-2009, 08:55 PM   #8
بهرام_62
اگه نباشه جاش خالی می مونه
 
بهرام_62's Avatar
 
تاريخ عضويت: Jan 2008
پست ها: 337
پيش فرض

دستت درد نكنه
لينكا رو كه با IDM دانلود كردم شد
در مورد اين كاري هم گفتي خودمم بهش فكر كردم ولي زورم اومد دوباره درباره يك الگريتم ديگه فكر كنم
ولي اينجور كه ميگي فكر كنم تنها راهش همين باشه
برم يكم فسفر بسوزونم ببينم آخرش چي ميشه
بهرام_62 is offline   Reply With Quote
قديم 11-10-2009, 02:55 PM   #9

_H2_
همکار انجمن .NET Framework
 
_H2_'s Avatar
 
تاريخ عضويت: Feb 2007
محل سكونت: یک جایی بین Framework و نارمک!
پست ها: 2,989
پيش فرض

سلام
نقل قول:
... ولي زورم اومد دوباره درباره يك الگريتم ديگه فكر كنم ...
گمانم قبلاً من هم همچین حالاتی داشتم.
آی جوانی کجایی ... !

=====

یک مطلب دیگر را هم اضافه کنم بد نیست.
مجدد تاکید میکنم که شما اگر از روش گفته شده (پر کردن شاخه در زمان رویت) استفاده کنید، مشکل سرعتتان رفع خواهد شد.

=====

ولی اصولاً الگوریتم دات نت برای سرچ فایلها چندان بهینه نیست و با الگوریتم بهتر میتوان کدی برای سرچ فایلها و پوشه ها نوشت که حداقل 50 الی 200 برابر سریعتر از الگوریتم فعلی دات نت عمل کند!!!
من الگوریتم فوق الذکر را برای خودم در همان ghnet.dll پیاده سازی کردم و در پروزه ای که نیاز به اسکن حجم تعدادی خیلی زیادی از فایلها داشت با موفقیت استفاده کردم.

سرعتش فوق العاده است ولی این لزوماً به این معنی نیست که برنامه نهایی هم 50 تا 200 برابر سریعتر میشود.
چون درهر صورت شما خودتان هم کدی و عملیاتی دارید که روی نتیجه سرچ انجام میدهید (مثلاً اضافه کردن انها به کنترلر شاخه درختی و یا ثبت انها در دیتابیس و یا ...) و این بخش کدهای شما فرقی نمیکند و ثابت میماند.

سمپل این مطلب را میتوانید از لینک های زیر دانلود کنید:
کد:
برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید
توضیحات مختصری هم در مورد این کلاس و امکانات و کد مربوط در آدرس زیر ارائه شده:
persianscience.ir/showthread.php?t=641&page=3

=====

راستی، طبق مطالبی که در اینترنت مطالعه کردم، مایکروسافت مشکل مذکور را (مشکل که نمیشود گفت! شاید الگوریتم بد!) در Framework4.0 و VS2010 اصلاح کرده و متدهای جدیدی که از الگوریتم پرسرعت استفاده میکنند اضافه کرده.

=====

موفق باشید.
_H2_ is offline   Reply With Quote
این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است
جواب


کاربراني که اين گفتگو را مشاهده ميکنند: 1 (0 کاربران و 1 مهمان)
 
اختيارات تاپيک
نمايش رسم

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

BB code is روشن
شکلک ها روشن هستند
کد [IMG] اکنون روشن میباشد
HTML کد خاموش مي باشد

پرش



واحد زمان برحسب GMT +4.5. ساعت هم اکنون 09:45 AM.


Powered by: vBulletin Version 3.8.1
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden
کليه حق و حقوق متعلق است به گروه نرم افزاري P30world
استفاده از مطالب اين سايت به هر نحو ، منوط به کسب اجازه کتبي از مديريت ميباشد
Email : Forum [at] p30world.com    Fax : +98 (131) 3245397

دانلود نرم افزار     خرید اینترنتی از فروشگاه آنلاین     سفارش تبلیغات     تماس با مدیریت وب سایت