DoDoklak
سه شنبه 29 دی 1388, 12:38 عصر
Visual Basic همواه خصوصیات و امکانات جدیدی به منظور توسعه سریع نرمافزار که باعث بهبود بهرهوری، سهولت در استفاده و بالا بردن قدرت برنامهنویسان میشود، ارائه مینماید. یکی از این امکانات My نام دارد. My امکان دسترسی به اطلاعاتی در مورد پروژه در حال اجرا و همچنین محیطی که پروژه در آن در حال اجرا میباشد را فراهم میسازد. مزیت مهم دیگر My در این است که به راحتی میتوان در قالب لیستهای پیشنهادی « IntelliSense » با امکانات آن کار کرد.
بالاترین سطح My، توسط اشیائی نشان داده میشود. هر کدام از این Objectها مانند یک فضانام و یا یک کلاس با اعضای Shared عمل مینمایند.
اعضای My عبارتند از:
Application: حاوی اطلاعاتی جامع و کاربردی در مورد پروژه جاری.
Computer: با این گزینه میتوان به خصوصیات و اطلاعات جامعی در مورد سخت افزارهای متصل به سیستم دست یافت.
Forms: با استفاده از این گزینه میتوان به تمامی فرمهای موجود در پروژه و طبعاً اطلاعات درونی آنها دست پیدا کرد.
Settings: از متدهای موجود در این گزینه میتوان تنظیمات پروژه را دستکاری نمود.
User: از این خصوصیت برای بدست آوردن اطلاعات در مورد کاربر جاری سیستم استفاده میشود.
Webservices: این خصوصیت برای فراهم کردن امکاناتی به منظور ایجاد و دستیابی به یک نمونه از وب سرویسهای XML که توسط پروژه جاری به آنها ارجاع شده است استفاده میکنیم.
Computer
این خصوصیت یکی از پرکاربردترین خصوصیات My می باشد. با به کارگیری این گزینه میتوان به راحتی هر چه تمامتر به اطلاعاتی در مورد وضعیت سختافزارهای متصل به سیستم درست پیدا کرد. این کار در یک خط کد و بدون انجام کارهای اضافی توسط برنامهنویس، صورت میپذیرد. به عنوان مثال برای اینکه متوجه شویم ماوس متصل به سیستم اسکرولدار است به راحتی میتوان از کد زیر استفاده کرد:
MsgBox(My.Computer.Mouse.WheelScrollLines)
از طریق Computers میتوان به سختافزارهایی مانند KeyBoard، Mouse، Audio و ... به راحتی دست پیدا کرد.
در ادامه چندین خصوصیت از computers را بررسی می كنیم:
1. Mouse: این شئ دارای 3 خصوصیت به شرح زیر میباشد:
ButtonsSwapped: تعیین جابجا شدن کلیک چپ و راست ماوس.
WheelExists: تعیین اسکرولدار بودن ماوس.
WheelScrollLines: تعیین تعداد سطوری که با یک بار حرکت ماوس رد میشوند.
2. Keyboard: این شئ دارای 6 خصوصیت و یک متد می باشد:
AltKeyDown: تعیین میکند که آیا کلید Alt پایین نگه داشته شده است یا نه؟!
CtrlKeyDown: پایین بودن کلید Ctrl را بررسی می کند.
ShiftKeyDown: تعیین پایین و یا بالا بودن کلید Shift.
NumLock، CapsLock و ScrollLock: تعیین فعال یا غیرفعال بودن کلیدهای مرتبط.
متد ()SendKeys: از این متد برای ارسال ضربات کلید به محیط سیستم عامل استفاده میشود. به عنوان مثال ("+%")My.Computer.Keyboard.SendKeys باعث ارسال ضربات کلید Alt و Shift به سیستم میگردد. لذا زبان سیستم شما تغییر میکند. البته اگر بیش از یک زبان وجود داشته باشد.
3. Name: این خصوصیت از شئ Computer حاوی نام کامپیوتر است.
4. Screen: اطلاعات در مورد صفحه نمایش را در اختیار برنامهنویس قرار میدهد. این کلاس حاوی خصوصیات متعددی است که عبارتند از:
BitsPerPixel: میزان Color فعلی ویندوز را نشان میدهد. به عنوان مثال اگر این گزینه در ویندوز بر روی True Color (32 Bit) تنظیم باشد، عدد 32 و اگر بر روی High Color (16 Bit) تنظیم باشد عدد 16 برگشت داده مي شود.
Bounds: حاوی خصوصیاتی به منظور تعیین محدوده کاری تنظیم شده میباشد.
DeviceName: نامی که در سیستم برای مانیتور در نظر گرفته شده است را نمایش میدهد.
Primary: اگر دستگاه نمایش فعلی، دستگاه پیشفرض باشد true برگشت می دهد
WorkingArea: این گزینه اطلاعاتی راجع به میزان محیط کاری فعال در ویندوز را در بر دارد. تفاوت این گزینه با Bounds در این است که در Bounds مختصات کلی نمایش داده میشود اما در این گزینه، محیطی که واقعا میتوان از آن به عنوان Desktop استفاده کرد برگشت داده میشود. مثلاً در این گزینه ارتفاع نوار TaskBar از ارتفاع صفحه کسر میشود.
5. Clock: با استفاده از این شئ میتوان اطلاعات مفیدی در مورد ساعت سیستم بدست آورد. خصوصیات این شئ عبارتند از:
LocalTime: زمان جاری سیستم را برگشت میدهد.
GmtTime: زمان جاری سیستم را براساس زمان جاری GMT بیان میکند.
TickCount: مدت زمانی سپری شده از روشن بودن سیستم براساس میلی ثانیه را برگشت میدهد.
6. Audio: از این شئ برای پخش صوت دلخواه و همچنین صوتهای پیش فرض ویندوز میتوان استفاده کرد. این شئ فقط دارای 3 متد است:
Play: این متد دارای 4 سربارگذاری بوده و با آن میتوان یک فایل صوتی استاندارد را پخش نمود. برای این متد میتوان اطلاعات مسیر ذخیره سازی فایل را ارسال کرد و یا اطلاعات باینری موسیقی را ارسال نمود و یک Stream حاوی موسیقی ارسال نمود. همچنین نحوه پخش شدن را میتوان تنظیم کرد. میتوان کاری کرد که تا اتمام آهنگ فعالیتی صورت نگیرد و یا اینکه موسیقی در پس زمینه اجرا شود و کاربر بتواند به تعامل با برنامه ادامه دهد.
PlaySystemSound: از این متد برای پخش یکی از صداهای پیش فرض در ویندوز استفاده میکنیم. این متد دارای یک پارامتر است و برای مقداردهی آن از لیست پیشنهادی که باز میشود میتوانید استفاده کنید و یا اینکه یکی از اعضای Media.SystemSounds را ارسال کنید. به عنوان مثال Media.SystemSounds.Beep باعث پخش صدای بوقی از سیستم میشود.
Stop: پخش موسیقی را کنسل میکند.
7. FileSystem: این شئ حاوی متدهای فراوانی برای مدیریت فایلها و پوشهها میباشد. به علت سادگی و همخوانی نام متدها با عملی که انجام میدهند از ذکر آنها خودداری میکنیم. در این فایل چندین خصوصیت کاربردی به منظور یافتم مسیر جاری اجرای برنامه و ... نیز گنجانده شده است. مثلا My.Computer.FileSystem.CurrentDirectory مسیر جاری اجرای برنامه را برمیگرداند. و یا از شئ Drives در این شئ برای مدیریت درایوهای کامپیوتر استفاده میشود. همچنین خصوصیت تحت عنوان SpecialDirectories در این شئ وجود دارد که آدرس پوشههای مهم سیستم مانند Desktop، ProgramFiles، Windows، Temp، Programs و ... را برگشت میدهد.
8. Network: این شئ حاوی متدها و خصوصیاتی برای کنترل شبکه میباشدو با متدهای موجود در این شئ میتوانید اقدام به دانلود و ... نیز بکنید.
9. Port: حاوی اطلاعات راجع به پورتهای سیستم و همچنین تعامل با آنها.
10. ClipBoard: حاوی متدهایی برای کنترل و دستکاری کلیپ بورد سیستم. مثلا با متد ContainsText() میتوان پی برد که اگر گزینه Paste در برنامه فشار داده شود آیا متن در حافظه وجود دارد یا خیر؟ متدهای این کلاس به صورت خلاصه عبارتند از:
()Clear: پاک کردن حافظه کلیپبورد.
ContainsText()، ContainsAudio و متدهایی که با Contains آغاز میشوند: بررسی اینکه شئ موجود در حافظه از نوع مد نظر می باشد یا نه؟
متدهای Get: از این متدها برای دریافت اطلاعات موجود در حافظه متناسب با نوع متد برگشت میدهد
متدهای Set: میتوان حافظه را از درون برنامه در حال اجرا ست نمود.
11. Info: این شئ حاوی اطلاعاتی کلی در مورد سیستم است. اطلاعاتی از قبیل نام کامل سیستم عامل، میزان کل حافظه Ram و حافظه مجازی، میزان در دسترس این حافظهها، نوع سیستم عامل و ورژن سیستم عامل و ... . به عنوان مثال (MsgBox(My.Computer.Info.OSFullName نام کامل سیستم عامل را نمایش میدهد
12. Registery: حاوی متدهایی برای کار با رجیستری میباشد. از متدها و اشیاء درونی این شئ برای دستکاری قسمتهای مختلف Registery میتوان استفاده کرد.
منبع:www.persiadevelopers.com
بالاترین سطح My، توسط اشیائی نشان داده میشود. هر کدام از این Objectها مانند یک فضانام و یا یک کلاس با اعضای Shared عمل مینمایند.
اعضای My عبارتند از:
Application: حاوی اطلاعاتی جامع و کاربردی در مورد پروژه جاری.
Computer: با این گزینه میتوان به خصوصیات و اطلاعات جامعی در مورد سخت افزارهای متصل به سیستم دست یافت.
Forms: با استفاده از این گزینه میتوان به تمامی فرمهای موجود در پروژه و طبعاً اطلاعات درونی آنها دست پیدا کرد.
Settings: از متدهای موجود در این گزینه میتوان تنظیمات پروژه را دستکاری نمود.
User: از این خصوصیت برای بدست آوردن اطلاعات در مورد کاربر جاری سیستم استفاده میشود.
Webservices: این خصوصیت برای فراهم کردن امکاناتی به منظور ایجاد و دستیابی به یک نمونه از وب سرویسهای XML که توسط پروژه جاری به آنها ارجاع شده است استفاده میکنیم.
Computer
این خصوصیت یکی از پرکاربردترین خصوصیات My می باشد. با به کارگیری این گزینه میتوان به راحتی هر چه تمامتر به اطلاعاتی در مورد وضعیت سختافزارهای متصل به سیستم درست پیدا کرد. این کار در یک خط کد و بدون انجام کارهای اضافی توسط برنامهنویس، صورت میپذیرد. به عنوان مثال برای اینکه متوجه شویم ماوس متصل به سیستم اسکرولدار است به راحتی میتوان از کد زیر استفاده کرد:
MsgBox(My.Computer.Mouse.WheelScrollLines)
از طریق Computers میتوان به سختافزارهایی مانند KeyBoard، Mouse، Audio و ... به راحتی دست پیدا کرد.
در ادامه چندین خصوصیت از computers را بررسی می كنیم:
1. Mouse: این شئ دارای 3 خصوصیت به شرح زیر میباشد:
ButtonsSwapped: تعیین جابجا شدن کلیک چپ و راست ماوس.
WheelExists: تعیین اسکرولدار بودن ماوس.
WheelScrollLines: تعیین تعداد سطوری که با یک بار حرکت ماوس رد میشوند.
2. Keyboard: این شئ دارای 6 خصوصیت و یک متد می باشد:
AltKeyDown: تعیین میکند که آیا کلید Alt پایین نگه داشته شده است یا نه؟!
CtrlKeyDown: پایین بودن کلید Ctrl را بررسی می کند.
ShiftKeyDown: تعیین پایین و یا بالا بودن کلید Shift.
NumLock، CapsLock و ScrollLock: تعیین فعال یا غیرفعال بودن کلیدهای مرتبط.
متد ()SendKeys: از این متد برای ارسال ضربات کلید به محیط سیستم عامل استفاده میشود. به عنوان مثال ("+%")My.Computer.Keyboard.SendKeys باعث ارسال ضربات کلید Alt و Shift به سیستم میگردد. لذا زبان سیستم شما تغییر میکند. البته اگر بیش از یک زبان وجود داشته باشد.
3. Name: این خصوصیت از شئ Computer حاوی نام کامپیوتر است.
4. Screen: اطلاعات در مورد صفحه نمایش را در اختیار برنامهنویس قرار میدهد. این کلاس حاوی خصوصیات متعددی است که عبارتند از:
BitsPerPixel: میزان Color فعلی ویندوز را نشان میدهد. به عنوان مثال اگر این گزینه در ویندوز بر روی True Color (32 Bit) تنظیم باشد، عدد 32 و اگر بر روی High Color (16 Bit) تنظیم باشد عدد 16 برگشت داده مي شود.
Bounds: حاوی خصوصیاتی به منظور تعیین محدوده کاری تنظیم شده میباشد.
DeviceName: نامی که در سیستم برای مانیتور در نظر گرفته شده است را نمایش میدهد.
Primary: اگر دستگاه نمایش فعلی، دستگاه پیشفرض باشد true برگشت می دهد
WorkingArea: این گزینه اطلاعاتی راجع به میزان محیط کاری فعال در ویندوز را در بر دارد. تفاوت این گزینه با Bounds در این است که در Bounds مختصات کلی نمایش داده میشود اما در این گزینه، محیطی که واقعا میتوان از آن به عنوان Desktop استفاده کرد برگشت داده میشود. مثلاً در این گزینه ارتفاع نوار TaskBar از ارتفاع صفحه کسر میشود.
5. Clock: با استفاده از این شئ میتوان اطلاعات مفیدی در مورد ساعت سیستم بدست آورد. خصوصیات این شئ عبارتند از:
LocalTime: زمان جاری سیستم را برگشت میدهد.
GmtTime: زمان جاری سیستم را براساس زمان جاری GMT بیان میکند.
TickCount: مدت زمانی سپری شده از روشن بودن سیستم براساس میلی ثانیه را برگشت میدهد.
6. Audio: از این شئ برای پخش صوت دلخواه و همچنین صوتهای پیش فرض ویندوز میتوان استفاده کرد. این شئ فقط دارای 3 متد است:
Play: این متد دارای 4 سربارگذاری بوده و با آن میتوان یک فایل صوتی استاندارد را پخش نمود. برای این متد میتوان اطلاعات مسیر ذخیره سازی فایل را ارسال کرد و یا اطلاعات باینری موسیقی را ارسال نمود و یک Stream حاوی موسیقی ارسال نمود. همچنین نحوه پخش شدن را میتوان تنظیم کرد. میتوان کاری کرد که تا اتمام آهنگ فعالیتی صورت نگیرد و یا اینکه موسیقی در پس زمینه اجرا شود و کاربر بتواند به تعامل با برنامه ادامه دهد.
PlaySystemSound: از این متد برای پخش یکی از صداهای پیش فرض در ویندوز استفاده میکنیم. این متد دارای یک پارامتر است و برای مقداردهی آن از لیست پیشنهادی که باز میشود میتوانید استفاده کنید و یا اینکه یکی از اعضای Media.SystemSounds را ارسال کنید. به عنوان مثال Media.SystemSounds.Beep باعث پخش صدای بوقی از سیستم میشود.
Stop: پخش موسیقی را کنسل میکند.
7. FileSystem: این شئ حاوی متدهای فراوانی برای مدیریت فایلها و پوشهها میباشد. به علت سادگی و همخوانی نام متدها با عملی که انجام میدهند از ذکر آنها خودداری میکنیم. در این فایل چندین خصوصیت کاربردی به منظور یافتم مسیر جاری اجرای برنامه و ... نیز گنجانده شده است. مثلا My.Computer.FileSystem.CurrentDirectory مسیر جاری اجرای برنامه را برمیگرداند. و یا از شئ Drives در این شئ برای مدیریت درایوهای کامپیوتر استفاده میشود. همچنین خصوصیت تحت عنوان SpecialDirectories در این شئ وجود دارد که آدرس پوشههای مهم سیستم مانند Desktop، ProgramFiles، Windows، Temp، Programs و ... را برگشت میدهد.
8. Network: این شئ حاوی متدها و خصوصیاتی برای کنترل شبکه میباشدو با متدهای موجود در این شئ میتوانید اقدام به دانلود و ... نیز بکنید.
9. Port: حاوی اطلاعات راجع به پورتهای سیستم و همچنین تعامل با آنها.
10. ClipBoard: حاوی متدهایی برای کنترل و دستکاری کلیپ بورد سیستم. مثلا با متد ContainsText() میتوان پی برد که اگر گزینه Paste در برنامه فشار داده شود آیا متن در حافظه وجود دارد یا خیر؟ متدهای این کلاس به صورت خلاصه عبارتند از:
()Clear: پاک کردن حافظه کلیپبورد.
ContainsText()، ContainsAudio و متدهایی که با Contains آغاز میشوند: بررسی اینکه شئ موجود در حافظه از نوع مد نظر می باشد یا نه؟
متدهای Get: از این متدها برای دریافت اطلاعات موجود در حافظه متناسب با نوع متد برگشت میدهد
متدهای Set: میتوان حافظه را از درون برنامه در حال اجرا ست نمود.
11. Info: این شئ حاوی اطلاعاتی کلی در مورد سیستم است. اطلاعاتی از قبیل نام کامل سیستم عامل، میزان کل حافظه Ram و حافظه مجازی، میزان در دسترس این حافظهها، نوع سیستم عامل و ورژن سیستم عامل و ... . به عنوان مثال (MsgBox(My.Computer.Info.OSFullName نام کامل سیستم عامل را نمایش میدهد
12. Registery: حاوی متدهایی برای کار با رجیستری میباشد. از متدها و اشیاء درونی این شئ برای دستکاری قسمتهای مختلف Registery میتوان استفاده کرد.
منبع:www.persiadevelopers.com