ورود

View Full Version : پیش به سوی Visual Basic 2005



علیرضا مداح
پنج شنبه 01 اردیبهشت 1384, 20:04 عصر
سلام .
این تاپیک جهت بحث بر روی Visual Basic 2005 و بررسی امکانات جدید آن ایجاد شده است ...

دوستان لطفا" نکات و مطالب مهمی را که در مورد قابلیت های VB 2005 به نظرشان میرسد ، در این تاپیک قرار دهند .

هر گونه مطلب غیر مرتبط و غیر فنی بلافاصله حذف خواهد شد .

علیرضا مداح
پنج شنبه 01 اردیبهشت 1384, 20:07 عصر
فضای نام My در VB 2005 :

تصور کنید که بتوانید به سرعت کارکرد مورد نظر خود را بین طیف وسیعی از کلاسهای چارچوب کاری دات نت یافته و همچنین عملیات متداولی که نیازمند نوشتن مقدار زیادی میباشد را به آسانی انجام داده و نیز تولیدکننده قوی تری در کار با VB 2005 نسبت به نگارش های قبلی آن باشید . تمامی اهداف فوق در فضای نام My خلاصه میشوند .
همانند میانبرها در سیستم عامل ویندوز که دسترسی به فایلهای مورد نظر را آسان میکند ، کلاسهای موجود در فضای نام My نیز انجام عملیات متداول را توسط چارچوب کاری دات نت کوتاه مینماید . همچنین این فضای نام کارکردهایی را که قبلا" پیدا کردن و استفاده از آنها بسیار سخت و دشوار بوده و همچنین اعمال آنها بدون به کارگیری توابع API امکان پذیر نبودند را برای شما میسر میسازد .
فضای نام My حاول کلاسهای زیر میباشد که هر کدام دارای اعضای مختلفی هستند ،



Application
Computer
Forms
Resources
Settings
User

به طور مثال برای پخش یک فایل صوتی شما میتوانید از یک خط کد ساده به جای به کار گیری DirectX و یا توابع API استفاده نمایید :


My.Computer.Audio.Play("C:\Beep.wav")

و یا برای پخش صداهای سیستمی :


My.Computer.Audio.PlaySystemSound(SystemSounds.Ast erisk)

به علاوه فضای نام My دارای کارکردهایی که اعمال آنها مقدار قابل توجهی کد نیاز دارد ، مبباشد ، به طور مثال برای بررسی در دسترس بودن یک سایت خاص میتوانید از کد زیر استفاده نمایید :



If My.Computer.Network.IsAvailable Then
If My.Computer.Network.Ping("http://www.microsoft.com") Then
MsgBox("Microsoft's site is available.")
End If
End If


استفاده از کلاس My.Computer.FileSystem یک راه آسان برای اعمال عملیات سیستمی بر روی فایلها از جمله کپی/انتقال/حذف/تغییرنام و ... میباشد . به طور مثال توسعه گران به طور معمول نیاز به به بدست آوردن خصوصیات و صفات یک فایل/پوشه/درایو را دارند . برای بدست آوردن ظرفیت تمام درایوهای موجود در سیستم کاربر میتوانید از کد زیر استفاده نمایید :


For Each drv As DriveInfo In My.Computer.FileSystem.Drives
If drv.IsReady Then
Debug.WriteLine(String.Format( _
"{0}:\ {1:N0}", drv.Name, drv.TotalSize))
End If
Next

از طریق کلاس My.User میتوان اطلاعات مربوط به کاربری فعلی سیستم از جمله نام کاربر و .. را به دست آورد . به طور مثال کد زیر اطلاعات مربوط به کاربر فعلی و اینکه سطح کاربری او Adminstrator است یا نه را نشان میدهد :


MsgBox(My.User.Identity.Name & ":" & _
My.User.IsInRole("Administrators"))

چگونگی بدست آوردن مسیر پوشه Application Data Folder کاربر فعلی سیستم :


MsgBox( _
My.Computer.FileSystem.SpecialDirectories.CurrentU serApplicationData)

همچنین فضای نام My کارکردهایی را در جهت استفاده از قابلیتهای RAD مربوطه به VB6 در پلتفرم دات نت دارا میباشد . به طور مثال برنامه نویسان VB6 و قبل از آن برای دسترسی به یک فرم از نام آن استفاده میکردند که این عمل از طریق موتور زمان اجرا(Rntime Engine) که حاول کالکشنی از تمامی فرمهای موجود بود انجام میشد . در حال حاضر توسعه گران میتوانند از طریق کالکشن My.Forms نمونه ای(Instance) از تمام فرمهایی که به عنوان قسمتی از سولوشن ایجاد شده اند را نمایش داده و به انجام عملیات بر روی آنها بپردازند . همانند کد زیر :


My.Forms.HelpForm.Show()

فضای نام My همچنین دارای کالکشنهای دینامیکی دیگری از جمله Forms,WebServices,Resources,Settings میباشد . فرض کنید که یک وب سرویس با نام Numbers در پروژه اعلان شده است . فراخوانی متد NumToStr مربیوط به این وب سرویس بسیار ساده خواهد بود :


MsgBox(My.WebServices.Numbers.NumToStr(123.45))

منبع : Microsoft

با امید به جلب رضایت شما
منتظر مطالب بعدی هم باشید ...

علیرضا مداح
دوشنبه 02 خرداد 1384, 19:26 عصر
ویژگی Intellisense و Code Snippet

VB 2005 هنگام اعلام خطاهای موجود در کد به شما نسبت به نگارشهای قبلی آن کمی سختگیرتر شده است. به طور مثال اگر شما اقدام به استفاده از متغیری نمایید که هنوز مقداردهی نشده است ، یک هشدار همانند شکل 1 به شما داده خواهد شد :

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig1.gif
شکل 1 - ویژوال بیسیک خطاهای متداول را در زمان طراحی شناسایی میکند .

ویژگی جدید که Intellisense نامیده میشود به شما این اجازه را میدهد که بر روی ویرایشگر کد ویژوال بیسیک راست کلیک کرده و کارهایی که قصد انجام آنها را دارید را از یک لیست سلسله ای انتخاب نمایید . با انتخاب گزینه مربوطه کد از پیش نوشته شده برای مقصود مورد نظر نمایش داده خواهد شد :
http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig2.gif
شکل 2 - از Code Snippet ها در جهت آسان سازی عملیات نوشتن کد استفاده نمایید .

هنگامی که شما یک Code Snippet را درج مینمایید ، میتوانید کدهای نوشته شده را به دلخواه خود اصلاح نمایید(شکل 3) . با اعمال تغییرات مورد نیاز کد درج شده در محیط سیستم شما به خوبی کار خواهد کرد . Code Snippet شامل یک مرجع به تایپک مناسب در اهنمای آنلاین میباشد و همچنین یک تولتیپ را فراهم می آورد که به شما قسمتهایی از کد را که نیاز است آنها را تغییر دهید ، یاد آوری مینمایند. گزینه Insert Snippets معین میکند که آیا شما در داخل یک پروسیجر قرار دارید یا نه و همچنین قادر است تا لیستی از Code Snippet های موجود را در اختیار شما قرار دهد .

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig3.gif
شکل 3 – مقادیر موجود در Code Snippet را برای اینکه کد به درستی کار کند تغییر دهید . از کلید Tab هم برای پیمایش بین Placeholder ها در کد درج شده استفاده نمایید .

البته شما میتوانید Code Snippet های دلخواه خود را نیز ایجاد نمایید . این آیتمها به صورت فایلهای XML ذخیره میگردند و شما امکان ذخیره Code Snippet های جدید و همچنین اتصال XML به تولتیپ ها و مراجع راهنمای مربوطه را دارا هستید .

علیرضا مداح
دوشنبه 02 خرداد 1384, 20:30 عصر
ویژگی Edit و Continue

برنامه نویسانی که از ویژگی Edit و Continue در VB6 استفاده میکردند ، اکنون میتوانند خوشحال باشند ، به دلیل اینکه این ویژگی در VB 2005 گنجاده شده است . در VB 2005 شما میتوانید در حین عملیات اشکال زدایی در کد برنامه خود تغییراتی را ایجاد کرده و قسمتهایی از کد را که تغییر کرده اند ، دوباره اجرا نمایید .
در مد Break ، امکان تغییر دادن کدها و همچنین اصلاح خطاهای موجود و اعمال هرگونه تغییری وجود دارد . (البته بعضی تغییرات نیازمند بازگشت به مد طراحی و Build کردن مجدد پروژه میباشد و راه دیگری نیز وجود ندارد . )
این تغییر در VS 2005 موجب خوشحالی بسیاری از توسعه گران ویژوال بیسیک گردیده است .

علیرضا مداح
دوشنبه 02 خرداد 1384, 21:37 عصر
DataTip های اشکال زدا

در VS.Net 2003 هنگامی که در مد اشکال زدایی قرار داشتید ، با قرار دادن مکان نما بر روی یک متغیر ساده (همانند یک رشته)میتوانستید مقدار آن را بررسی نمایید . در VS 2005 این ویژگی به طور چشمگیری ارتقاء پیدا کرده است . هم اکنون Data Tip ها انواع پیچیده و مرکب(Complex Types) را نیز به خوبی پشتیبانی مینمایند . شکل 4 یک مثال ساده میباشد که در آن اطلاعات مربوط به یک نوع مرکب و همجنین توانایی داخل شدن به سلسله مراتب نوع مربوطه را نشان میدهد . علاوه بر نمایش مقدایر ، شما میتوانید آنها را از داخل Data Tip مربوطه ویرایش نمایید .

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig4.gif
شکل 4 - Data Tip ها به طور چشمگیری در VS 2005 ارتقاء پیدا کرده اند . شما میتوانید در هنگام اشکال زدایی ساختار داده های مرکب را بررسی نمایید ، بدون اینکه نیازی به بارگذاری یک پنجره مجزا داشته باشید .

علیرضا مداح
دوشنبه 02 خرداد 1384, 22:42 عصر
ویژگی AutoCorrect (اصلاح به طور خودکار)

VB 2005 دارای ویژگی به نام AutoCorrect میباشد که دلیل کامپایل نشدن کدهای نامعتبر را مشخص کرده و همچنین گزینه هایی را در جهت اصلاح کدی که دارای خطا میاشد را جهت انتخاب در اختیار شما قرار میدهد . همانند شکل 5 اگر شما یک خطای ساده تایپی را تولید نمایید ، با کلیک بر روی Smart Task لیستی از پیشنهادات ایجاد میگردد که شما میتوانید کد صحیح را انتخاب نمایید :

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig5.gif
شکل 5 - ویژگی AutoCorrect خطاهای تایپی را اصلاح کرده و پیشنهاداتی را بر اساس متنی که شما وارد کردید نمایش میدهد .

اگر شما اقدام به استفاده از کلاسی نمایید که فضای نام مربوط به آن را Import نشده و یا از نام کامل استفاده نگردیده است ، پیشنهاداتی همانند شکل 6 در جهت اصلاح این خطا نمایش داده میشود :

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig6.gif
شکل 6 - اگر شما فراموش کردید که یک فضای نام را Import نمایید ، ویژگی AutoCorrect نام کامل آن را نمایش خواهد داد .

تصور نمایید که شما یک خاصیت خواندنی/نوشتنی ایجاد کرده و سپس قصد به تبدیل آن به یک خاصیت فقط خواندنی(Read-Onlky) دارید . شما واژه کلیدی Readonly را اضافه مینمایید ، البته مشاهده مینمایید که بلوک Set دارای مشکل میباشد : (شکل 7)

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig7.gif
شکل 7 - مشاهده اینکه کد چه موقع دارای خطا میباشد آسان میباشد ، اما طریقه رفع آن آن کار دشواری میباشد که ویژگی AutoCorrect این را نیز میسر میسازد .

بسط دادن Smart Task نزدیک به خطا ، یک DialogBox نمایش میدهد که شما میتوانید پیشنهادهای موجود برای اصلاح را انتخاب کرده و سپس برای اعمال تغییر بروی لینک مرتبط کلیک تمایید : (شکل 8)

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig8.gif
شکل 8 - پنجره اصلاح خطای VB 2005 ، انتخاب و اصلاح خطاها را آسان میسازد .

ادامه دارد ...

علیرضا مداح
پنج شنبه 05 خرداد 1384, 16:51 عصر
سنجش عبارات(Expressions) در زمان طراحی

VS 2005 وِیژگی مشابه به قابلیت سنجش عبارات در زمان اجرا و از طریق پنجره Immediate را که در VB6 وجود داشت ، مجددا" فراهم کرده است . از این ویژگی میتوان در جهت فراخوانی متدهای چارچوب کاری و متدهای تعریف شده توسط کاربر(User-Defined Methods) از طریق پنجره Immediate برای اشکال زدایی کد ، آزمایش متدها و ... استفاده نمود . شکل 9 نمونه ای از سنجش عبارات از طریق پنجره Immediate در زمان طراحی را نشان میدهد :

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig9.gif
شکل 9 - همانند وی بی 6 ، VB 2005 نیز به شما اجازه انجام محاسبات در پنجره Immediate و در زمان طراحی را میدهد

همچنین شما میتوانید کدی را که نوشته اید فراخوانی نمایید . به طور مثال شکل 10 مثالی را نشان میدهد که در آن کد نوشته شده در داخل کلاس فرم فراخوانی میگردد . البته ، همزمان که شما در پنجره Immediate و در مد طراحی در حال تایپ کردن هستید راهنمای Intellisense را همانند قرار داشتن در مد Break دریافت مینمایید :

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig10.gif
شکل 10 - شما میتوانید کدی را که نوشته اید در زمان طراحی فراخوانی نمایید ، حتی اگر کد مورد نظر در داخل کلاس یک فرم باشد .

علیرضا مداح
پنج شنبه 05 خرداد 1384, 18:14 عصر
راهنما و دستیار استثناء

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

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig11.gif
شکل 11 - خطاهای زمان اجرا از طریق راهنمای استثناء به آسانی قابل تشخیص هستند .

علیرضا مداح
پنج شنبه 05 خرداد 1384, 23:16 عصر
توسعه ی فرمهای ویندوز (Windows Forms)

VS 2005 قابلیتهایی را در ناحیه ی فرمهای ویندوز - هم در زمان طراحی و هم در زمان اجرا - فراهم آورده است . تعداد این قابلیتها برای ذکر در اینجا بسیار زیاد میباشد . دو قابلیت وجود دارند که مرتب سازی فرمها را را به نحوی که شما مایل هستید را بسیار آسان میسازند . این دو قابلیت عبارتنداز : خطهای برش و ویزایش خواص در محل(In-Place Property Editing)
خطهای برش(Snap Lines) ترازکردن کنترلها نسبت به یکدیگر را میسر میسازد . ممکن است که شما بخواهید یک کنترل را نسبت به لبه ی بالایی یک کنترل و لبه سمت چپ کنترل دیگر تراز نمایید . شکل 12 یک نمونه از مرتب سازی را نشان میدهد . هنگامی که شما Button3 را حرکت میدهید این کنترل نزدیک لبه های Button1 و Button2 قرار گرفته و طراح فرم خطهی برش آبی رنگ را نشان میدهد(شکل 12) شما میتوانید از این خطهای برش در جهت تراز کردن Button3 نسبت به لبه ی راست Button1 و لبه ی بالای Button2 استفاده نمایید .

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig12.gif
شکل 12 - خطهای برش میتوانند کنترلها را با لبه های یکدیگر تراز نمایند .

هنگامیکه شما Button3 را در امتداد ارتفاع Button2 حرکت میدهید ، متن Button3 با متن Button2 تراز میگردد و خطهای قرمز این مطلب را نشان میدهد.(شکل 13) اگر شما به حرکت دادن Button3 ادامه دهید خطهای برش نیز جابجا میگردند(شکل 14) حال تراز کردن Button3 با لبه پایین Button2 و لبه راست Button1 آسان میباشد .

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig13.gif
شکل 13 - خطهای برش تراز کردن متن داخل کنترلها با یکدیگر را آسان میسازد .

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig14.gif
شکل 14 0 شما میتوانید از خطهای برش در جهت تراز کردن کنترلها با هر لبه ای استفاده نمایید .

در VS 2005 طراح فرم دارای تعداد زیادی کنترلهای جدید میباشد . شما میتوانید کنترل جدیدی به نام ToolStrip را بیابید که کنترل Toolbar فعلی را تقویت کرده و کارکردها و رفتارهایی را در جهت ساختن برنامه هایی که رابط کاربری آنها شبیه به استایل رابط کاربری قوی محصولات آفیس میباشد ، فراهم می آورد . به علاوه تعدادی از کنرتلهای جدید مفید دیگری نیز از جمله FlowLayoutPanel ، TableLayoutPanel و کنترلهای مدیریت شده WebBrowser موجود میباشند . کنترل SplitContainer نیز یک کنترل بهبود یافته در جهت مرتب سازی کنترلهای Panel و Spliter که در نگارشهای پیشین هم وجود داشت ، میباشد . کنترل DataGridView نیز یک کنترل ارتقاء یافته بسیار قوی نسبت به Datagrid فعلی بوده و ساختن رابط کاربری دلخواه شما را آسان میسازد .

علیرضا مداح
دوشنبه 16 خرداد 1384, 21:20 عصر
کار با داده ها

به دلیل اینکه VS 2005 امکانات زیادی را در جهت کار با داده ها فراهم می آورد لذا به بررسی دو قابلیت که از اهمیت بیشتری برخوردار هستند میپردازیم . یکی پنجره DataSources و دیگری بایند کردن داده ها از طریق کشیدن و رها کردن میباشد . VS.Net 2002 & 2003 کار مهمی را در جهت آسان سازی بایند کردن رابط کاربری به منابع داده از طریق فراهم آوردن کامپوننت های متنوع Data adapter که شما میتوانستید آنها را بر روی یک فرم خاص قرار دهید ، انجام داده اند . مطمئنا" این تکنیک از نوشتن کد آسانتر است اما قابلیت نگهداری را تحت تاثیر قرار داد : استفاده از یک شی ء Connection مجزا در هر فرم تغییر محل داده را کاری سخت مینمود . در VS 2005 ، پنجره DataSources یک نمای کلی از تمام منابع داده قابل استفاده در کل پروژه را فراهم می آورد .

پنجره DataSources امکان تنظیم نمودن منابع داده قابل استفاده در کل پروژه را از طریق انتخاب آیتم های مورد نظر در جهت استفاده از داخل برنامه را فراهم می آورد .(شکل 15) هنگامیکه که شما نیاز به کار با یک داده معین در برنامه خود را دارید، میتوانید یک جدول و یا گروهی از فیلدها را کشیده و بر روی فرم رها کنید تا VS 2005 کنترلهای بایند شده را برای شما ایجاد نماید .

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig15.gif
شکل 15 - پنجره DataSources به شما امکان ایجاد منبع داده قابل استفاده در کل پروژه را میدهد که شما میتوانید آنها را کشیده و بر روی محیط طراحی مورد نظر رها نمایید . همچنین امکان دسترسی به این گزینه ها از طریق برنامه نویسی نیز وجود دارد .

بایند کردن داده ها به کنترلهای موجود آسانتر از این نیز نخواهد بود . یک فیلد را از پنجره DataSources بر روی یکی از کنترلهای موجود کشیده و VS 2005 نوع کنترل انتخاب شده در پنجره DataSources را ایجاد و همچنین خاصیتهای مربوط به Binding را تنظیم مینماید .اگر یکی از کنترلهای موجود را در اختیار دارید باز هم میتوانید از پنجره DataSources عملیات کشیدن را انجام دهید . آیتم مورد نظر را بر روی یکی از کنترلهای موجود کشیده و رها نمایید و تنظیمات مربوط به بایند کردن به خوبی انجام خواهند پذیرفت . این شیوه بایند کردن (که "connect the dots" نام دارد) خواص مناسب بایند کردن داده ها را برای کنترل موجود تنظیم مینماید . اگر شما فرمهای بایند شده را به وسیله کشیدن آیتمهای موجود از پنجره DataSources و یا بایند کردن کنترلهای موجود ایجاد مینمایید ، دیگر نیازی به نگهداری منابع داده در کد و همچنین کامپوننتهای مچزا بر روی هر فرم را نخواهید داشت . پنجره DataSources تمام منابع موجود در برنامه شما را در یک مکان قابل دسترس مدیریت مینماید .

علیرضا مداح
دوشنبه 16 خرداد 1384, 22:09 عصر
ویژگی Just My Code

هنگامی که شما یک پروژه جدید را در ویژوال بیسیک ایجاد مینمایید ، عموما" شامل مقدار بسیار زیادی کد میباشد که شما آنها را ننوشته اید . VB 2005 دارای گزینه ای در جهت نادیده کردن و مخفی نمودن کدهایی که توسط شما نوشته نشده اند را دارا میباشد . گزینه The Enable Just My Code Stepping به شما امکان کنترل نمودن این رفتار را داده و به صورت پیش فرض نیز فعال میباشد . (شکل 16)

http://msdn.microsoft.com/library/en-us/dnvs05/html/vbnet2005_preview-fig16.gif

mahshid_lipo
دوشنبه 29 آبان 1385, 10:36 صبح
سلام
میشه در مورد .net assemblies,Deploying Windows Forms Application هم کاملا توضیح بدهید
باتشکر

Xcalivorse
شنبه 03 فروردین 1387, 00:48 صبح
در vb دات نت امکان استفاده از عملگر =+ و از این قبیل وجود دارد