محبوبترینها
نمایش جنگ دینامیت شو در تهران [از بیوگرافی میلاد صالح پور تا خرید بلیط]
9 روش جرم گیری ماشین لباسشویی سامسونگ برای از بین بردن بوی بد
ساندویچ پانل: بهترین گزینه برای ساخت و ساز سریع
خرید بیمه، استعلام و مقایسه انواع بیمه درمان ✅?
پروازهای مشهد به دبی چه زمانی ارزان میشوند؟
تجربه غذاهای فرانسوی در قلب پاریس بهترین رستورانها و کافهها
دلایل زنگ زدن فلزات و روش های جلوگیری از آن
خرید بلیط چارتر هواپیمایی ماهان _ ماهان گشت
سیگنال در ترید چیست؟ بررسی انواع سیگنال در ترید
بهترین هدیه تولد برای متولدین زمستان: هدیههای کاربردی برای روزهای سرد
در خرید پارچه برزنتی به چه نکاتی باید توجه کنیم؟
صفحه اول
آرشیو مطالب
ورود/عضویت
هواشناسی
قیمت طلا سکه و ارز
قیمت خودرو
مطالب در سایت شما
تبادل لینک
ارتباط با ما
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
آمار وبسایت
تعداد کل بازدیدها :
1827711698
بخشی از ويژگيهای جديد Borland Developer Studio 2006
واضح آرشیو وب فارسی:سایت ریسک: تکنیک برتر15-11-2006, 11:25 PMبخشي از ويژگيهاي جديد محيط BDS 4.0 Method Navigation حركت/پرش بين متدها با استفاده از تركيب كليدهاي : Ctrl+Alt+Up متد قبل Ctrl+Alt+Down متد بعد Ctrl+Alt+End آخرين متد Ctrl+Alt+Home اولين متد • Class Lock براي حركت بين متدهايي كه در يك يونيت در كلاسهاي مختلف تعريف شده اند از روش بالا ميتوانيد استفاده كنيد، حالا براي اينكه حركت بين متدها را به يك كلاس خاص محدود كنيد ، ميتوانيد روي هر متدي كه هستيد (كه متعلق به يك كلاس خاص هست) كليد هاي Ctrl+Q+L را فشار دهيد تا از اين به بعد با استفاده از روش مذكور فقط در اين كلاس حركت كنيد و با استفاده دوباره همين كليدها (Ctrl+Q+L) اين محدوديت را از بين ببريد. • زمانيكه يك فايل سورس را باز كنيد شماره خطوط را در كنار اديتور مي بينيد كه تغيير ميكند. • به جاي اينكه كنار هر خط و همه خطوط "عدد" ببينيد، شماره خط را در كنار هر 10 خط خواهيد ديد. به اين معني كه خطوط به صورت 10 خط به 10 خط شماره گذاري شده اند با يك خط فاصله در خط پنجم و يك نقطه كنار هر خط. اين قاعده براي خطي كه كرسر در آن است استثناست، يعني براي خطي كه كرسر در آن ست شماره خط نيز نمايش داده ميشود. شماره خط در محلي كه علامت Bookmark و Breakpoint قرار ميگيرد نمايش داده نميشود و محلي جداگانه دارد. • در سمت چپ اديتور خطوطي را به رنگهاي مختلف ميبينيد كه : رنگ زرد : تغييرات جاري رنگ سبز : آخرين تغييرات كه ذخيره هم شده اند. • اگه در Code Editor روي هر كدام از Tabها دكمه سمت راست ماوس را فشار دهيد ميتوانيد با استفاده از گزينه Close all other pages به غير از اين Tab ، ساير Tab ها رو ببنديد. • با فشار دادن دكمه مياني ماوس روي هر Tab ميتوانيد آن Tab رو ببنديد. • اگه در جايي بخواهيد مقدار رشته اي را به يك ثابت (Const) يا به يك متغير تخصيص دهيد كه جمله نسبتا" طولاني هم براي آن در نظر گرفتيد ، ميتوانيد اين جمله را به چندين خط تقسيم كنيد و براي نوشتن اين جمله از ويژگي جديد BDS 2006 استفاده كنيد به اين صورت كه بعد از تعريف نام ثابت و قرار دادن علامت مساوي و كوتيشن بخشي از جمله مورد نظر را بنويسيد و به جاي قرار دادن كوتيشن و عملگر + و زدن كليد Enter (براي نوشتن ادامه جمله در خط بعدي ) ، فقط كليد Enter را بزنيد و بقيه كار را به Editor بسپاريد. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! • برای تعريف يك كلاس جديد ، ميتوانيد از ويژگي جديد BDS 2006 استفاده كنيد به اين صورت كه: در قسمت Type يعني در جايي كه ساختار يك كلاس تعريف ميشود يك خط جديد باز كنيد و در آن خط فقط كلمه Class را بنويسيد و بعد كليد Tab را بزنيد، ميبينيد كه قالب عمومي يك كلاس ايجاد ميشود و فقط كافيست نام كلاس و وراثت آن را تعيين كنيد، كه مطمئنا" انجام اين دو كار هم با استفاده از كليدهاي Shift+Tab مشكل نخواهد بود. • وقتي در يك متد در حال كار هستيد و نياز به يك متغير داريد ، حتما" لازم نيست كه به ابتداي متد رفته و متغير مورد نياز را در بخش var تعريف كنيد، ميتوانيد در جايي كه هستيد يك خط جديد باز كنيد و كلمه var را بنويسيد و كليد Tab را بزنيد ، كه در اين صورت تعريف يك متغير با نام Lvar از نوع Integer را در همان خط ملاحظه خواهيد كرد، حالا ميتوانيد با استفاده از كليدهاي Shift+Tab بين نام متغير و نوع متغير حركت كنيد و متغير را با نام و نوع مورد نياز خود تعريف كنيد و در آخر هم كليد Enter را بزنيد تا تعريف متغير در سر جاي خود قرار گيرد. • فراموش نكنيد كه IDE جديد دلفي شامل Error Insight و Help Insight و SyncEdit نيز هست. Error Insight : نمايشگر خطاي زمان طراحي ست ، برای نمونه اگر شما از متغيري استفاده كنيد كه تعريف نشده باشد يك خط قرمز رنگ در زير آن كشيده خواهد شد. Help Insight : راهنمايي كه با قرار دادن اشاره گر ماوس روي يك كلمه نمايش داده خواهد شد. (اين ويژگي را با Code Hints اشتباه نگيريد) SyncEdit ياSynchronized Editing : اگر يك بخش از كد را انتخاب كنيد كه در آن كلمات تكراری وجود داشته باشد در قسمت سمت چپ Editor ، آيكون دو قلم نمايش داده خواهد شد ، با انتخاب اين آيكون يا استفاده از كليدهاي Shift+Ctrl+J ميتوانيد SyncEdit را فعال كنيد . پس از فعال شدن SyncEdit ، زير تمام كلمات تكراری يك خط آبي قرار ميگيرد كه نشان ميدهد با تغيير يك كلمه از هر گروه ، مابقی گروه نيز تغيير ميكنند. براي اين كار ميتوانيد كلمه مورد نظر (كه خط آبي رنگ زير آن وجود دارد) را انتخاب كنيد و شروع به ويرايش كلمه كنيد و نتيجه را ببينيد. (آيكون SyncEdit زماني ظاهر ميشود كه در بلاك انتخاب شده كلمه تكراري وجود داشته باشد) • UML Designer (همان Together هست كه در BDS 2006 جا داده شده) ورژن 1.5 و 2.0 UML را پشتيباني ميكند و اگر نرم افزاري را با Rational Rose مدل كرده باشيد ، مبدل(Rational Rose to Together) آن را در اختيارتان قرار ميدهد. UML Designer سابقا" در نسخه 2005 توسعه داده شده و ويژگي جديد آن live code synchronization ميباشد ، كه شما ميتوانيد كد را تغيير دهيد و همين تغيير را در Diagram ببينيد يا Diagram را تغيير دهيد و نتيجه را در كد مشاهده كنيد. ميتوانيد يك كلاس جديد ايجاد كنيد و به آن Field و Property و Method را اضافه كنيد. در كنار Class Diagram با ساير دياگرامهاي UML نيز ميتوانيد كار كنيد ، مانند : Use Case, Sequence Collaboration, State Chart و ... . با استفاده از Together ميتوانيد مستندات كاملي را براي پروژه تهيه كنيد. • وقتي يك كنترل را روي فرم قرار ميدهيد در گوشه ها و مركز هر طرف كنترل ، يك دايره كوچك به رنگ آبي روشن مشاهده ميكنيد. اين علامات ، بخشهايي هستند كه شما ميتوانيد از آنها براي تغيير سايز كنترل استفاده كنيد. • اگر يك كنترل ديگر روي فرم قرار دهيد ، ميتوانيد از ويژگي جديد و مفيد Design Guidelines استفاده كنيد. اين ويژگي يك راهنماي بصري خوب براي تراز كردن كنترل هاي روي يك فرم هست (خط آبي رنگ). اين راهنما نه تنها براي تراز كردن كناره هاي كنترلهاست بلكه شما ميتوانيد كنترل ها را با توجه به متن موجود در آنها تراز كنيد(خط صورتي رنگ). • Form Positioner ويژگي ديگريست كه در سمت راست پائين Designer قرار دارد. توسط اين ويژگي ميتوانيد موقعيت فرم جاري در صفحه نمايش را در زمان اجراي برنامه ببينيد و آن را تغيير دهيد. براي راحتي كار ميتوانيد با دوبار كليك روي آن ، سايز Form Positioner را بزرگتر كنيد. • Block Completion با استفاده از اين ويژگي در Code Editor ميتوانيد بلاكهاي خود را تكميل كنيد براي نمونه اگر در خطي از برنامه كلمه End را بنويسيد و بعد كليد Enter را بزنيد اين بلاك با قرار دادن يك End و يك Semicolon در انتهاي آن تكميل ميشود . اين ويژگي شما را در تكميل بلاكهاي Beginو Try و Case و Record و Class و Repeat و If كمك خواهد كرد. به غير از بلاك If ، در انتهاي مابقي بلاكها Semicolon قرار ميگيرد. • Live (Code) Templates اين ويژگي واژه نامه اي شامل كدهاي از قبل نوشته شده را در اختيار شما قرار ميدهد كه ميتوانيد از اين كدها در برنامه استفاده كنيد (البته زمانيكه در Code Editor هستيد) تا از بخشي از مقدار تايپي را كه روزانه ميبايست انجام دهيد بكاهد. Live Template قابل تغيير نيز هست. • Block Comments زمانيكه در Code Editor هستيد با استفاده از تركيب كليدهاي /+Ctrl ميتوانيد خطي كه در آن هستيد را Comment كنيد (Comment يي كه با // ايجاد ميشود ) يا اينكه بخشي از كد (كه ميتواند شامل چندين خط باشد) را انتخاب كنيد و با /+Ctrl همه را يكدفعه Comment كرد. توسط همين تركيب هم ميتوانيد Comment هايي را كه ايجاد كرده ايد حذف كنيد. تکنیک برتر15-11-2006, 11:28 PMبخش دوم • Code Folding and Region با استفاده از علامت – و + در كنار هر تعریف، متد یا تمام بخشها مانند بخش Implementation یك یونیت كه وجود دارد میتوانید آن را ببندید یا باز كنید(این علامات به صورت خودكار در كنار هر بخشی ایجاد میشود). Ctrl+Shift+K+O : غیرفعال/فعال كردن Code Folding Ctrl+Shift+k+E : بستن كد Ctrl+Shift+K+U : باز كردن كد Ctrl+Shift+K+A باز كردن همه كد ویژگی كه به محیط Code Editor اضافه شده، تعریف شخصی چنین بخشی ست ، به این معنی كه شما میتوانید با استفاده از یك رهنمود كامپایلر (compiler directives) این بخش را ایجاد كنید و آن را نامگذاری كنید. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! • Refactoring تكنیكی ست برای دوباره ساختن و اصلاح كد جاری تا رفتار كد جاری به همان صورت باقی بماند. سه نوع Refactoring در دلفی تعریف شده ست : یكی استفاده از تركیب كلیدهای Ctrl+Shift+V، برای تعریف متغیر محلی و دیگری برای تعریف فیلد (یا همان متغیر در ساختار كلاس جاری ست) كه با تركیب كلیدهای Ctrl+Shift+D ست. خوب، این مراحل را كه خودم هم میتوانستم با رفتن به بخش تعریف كلاس یا Begin متد انجام بدهم !!؟؟ بله، Refactoring امكان مفید دیگری كه در كنار كدنویسی سریعتر به شما میدهد اینست كه نیازی نیست وقفه ای را ایجاد كنید و سرتاسر سورس را برای تعریف یك متغیر طی كنید، نیازی نیست كه به Begin متد بروید و كلمه var را اگر وجود نداشته باشد تایپ كنید و بعد هم متغیر مورد نظر را تعریف كنید یا به كلاس یك متد بروید تا در آنجا فیلدی را تعریف كنید. نمونه : خط زیر را در Code Editor بنویسید و از قبل مطمئن باشید كه متغیری به نام i وجود ندارد : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! به موقعیت i برگردید و تعریف متغیر (Declare Variable) را فعال كنید (با Ctrl+Shift+V یا از منوی اصلی و گزینه Refactor یا با استفاده از context menu كه همان كلیك راست در Code Editor و گزینه Refactoring). فرمی باز میشود كه اگر در جلوی متغیر := و مقدار را قرار نداده باشید ، نوع پیشنهادی خود را نمایش میدهد. اگر در این فرم دقت كنید، میبنید كه میتوانید یك آرایه نیز تعریف كنید، همچنین میتوانید یك مقدار اولیه (initial value) نیز برای متغیر در نظر بگیرید كه در این صورت دلفی یك خط جدید بعد از Begin متد ایجاد میكند و مقدار را به متغیر تخصیص میدهد. تعریف فیلد (Declare Field)نیز شباهت خیلی زیادی به تعریف متغیر دارد. Extract Resource String دومین Refactoring یی كه در دلفی وجود دارد راه ساده ایست برای انتقال یك متغیر رشته ای به بخش resource string. بخش resource string در قسمت code segment برنامه كامپایل نمیشود ولی مانند یك resource به فایل اجرایی لینك میشود. به این شكل میتوان بخشی از حافظه را كه همیشه درگیر متغیرهای رشته ای هست را آزاد كرد. نكته : تعریف resource string مانند تعریف Const است : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! استفاده از resource string ها واقعا خسته كننده ست؛ باید از رشته مورد نظر كپی بگیرید ، از محل فعلی به قبل از بلاك جاری(حداقل) حركت كنید ، resource string را تعریف كنید ، رشته مورد نظر را قرار دهید ، به موقعیت قبلی برگردید و از نام resource string یی كه در بالا تعریف كرده اید استفاده كنید. ولی حالا فقط با یك دستور همه این كارها انجام میشود، Ctrl+Shift+L . فرض كنید متدی مانند متد زیر دارید : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! كرسر متن را داخل رشته Hello ببرید (لازم نیست كه متغیر را انتخاب كنید یا این خط را انتخاب كنید) سپس كلیدهای Ctrl+Shift+L را فشار دهید. فرمی نمایش داده میشود كه در آن نام پیشنهادی resource string وجود دارد كه میتوانید آن را تغییر دهید و تائید كنید، تمام مراحلی كه در بالا ذكر كردم انجام میشود. (نام resource string برگرفته از رشته مورد نظر به اضافه كلمه Str ست). پس Extract Resource String با استفاده از : Ctrl+Shift+L یا از منوی اصلی گزینه Refactor و بعد هم گزینه Extract Resource String یا كلیك راست در Code Editor ، گزینه Refactoring و بعد هم Extract Resource String نكته : سه نوع Refactoring یی كه توضیح دادم Declare Variable) و Declare Field و Extract Resource String) در دلفی وجود دارد و جزء لیست رسمی Refactoring نیست ، ولی به هر حال پیاده سازی را ساده تر میكند. Rename Refactoring یكی از مهمترین انواع Refactoring است كه جزء لیست رسمی Refactoring نیز هست. Rename بسیار قدرتمند است و میتواند روی خیلی از موارد مانند متغیرها، procedure ها، type ها(شامل كلاسها)، فیلدها، functionها كار كند. فعال كردن Rename Factoring : تركیب كلیدهای Ctrl+Shift+E یا از منوی اصلی گزینه Refactor و بعد گزینه Rename یا كلیك راست در Code Editor و گزینه Refactoring و بعد هم گزینه Rename كافی ست كرسر متن را روی چیزی كه میخواهید تغییر نام دهید بگذارید(لازم نیست كه آن را انتخاب كنید) ، Rename را فعال كنید. اطلاعاتی از قبیل نام كلاس یا یونیت و نام فعلی و نام جدید نمایش داده می شود كه میتوانید نام جدید را وارد كنید. اگر گزینه View reference before refactoring انتخاب شده باشد، قبل از تغییر نام ، لیستی از تغییرات در یك پنجره جدید نمایش داده می شود ، پس از مرور میتوانید عملیات را ادامه دهید یا لغو كنید. اگر نوعی (منظور فیلد ، شئی، متغیر و ...) را تعریف كرده اید و از آن در چندین یونیت مختلف استفاده كرده اید و حالا قصد تغییر نام آن را دارید ، Rename تمام یونیتها را برای این تغییر مرور میكند. حقیقتا" زیبایی Rename Refactoring اینست كه نه فقط در تعریف و اعلان یك كلاس یا متد موثر هست، بلكه روی همه ارجاعات به متد یا كلاس نیز تاثیر گذار هست. یكی دیگر از تفاوتهای Search و Replace با Rename refactoring در اینست كه اگر در یك كلاس پدر، متد virtual یی را تغییر نام دهید ، Rename در كلاسهای فرزند نام متد را تغییر خواهد داد. اگر كه فرضا" با نام جدید شئی ، شئی دیگری وجود داشته باشد، Rename refactoring با خطا متوقف خواهد شد. موردی كه بوسیله Rename نمیتوانید تغییر دهید، Property ست، البته نه نام Property، بلكه متدهای setter و getter آن. به این صورت كه اگر نام یك Property را تغییر دهید، متدهای مربوط به آن كه معمولا" تركیبی ست از نام Property و پیشوندهای get و set، تغییر نخواهند كرد. كه البته برای این مورد میتوانید به صورت جداگانه از Rename استفاده كنید. Extract Method Refactoring یكی دیگر از Refactoring های رسمی Extract Method هست. Extract Method یك قطعه كد را تبدیل به یك متد میكند كه نام متد نشان دهنده هدف متد هست. ممكن است همین كار را زمانی انجام دهید كه متد برای درك خیلی پیچیده شده یا نیاز شما به چنین كدی كه در متد دیگری پیاده سازی شده باعث انجام این كار شود. فرض كنید دو متد مجزا دارید كه بخشی از كد در هر دو مشترك هست، در چنین مواقعی بهترست كه در صورت امكان بخش مشترك تبدیل به یك متد شود تا هر دو متد بتوانند از آن استفاده كنند. برای فعال كردن Extract Method Refactoring ابتدا بخشی از كد را كه میخواهید تبدیل به یك متد شود انتخاب كنید سپس یكی از سه روش زیر را اجرا كنید : تركیب كلیدهای Ctrl+Shift+M یا از منوی اصلی گزینه Refactor و بعد هم گزینه Extract Method یا كلیك راست روی Code Editor و گزینه Refactoring و بعد گزینه Extract Method در ابتدا Extract Method كد مورد نظر شما را تجزیه میكند و اگر قابل تبدیل نباشد به شما هشدار میدهد. اگر كد مورد نظر قابل تبدیل باشد آن را تبدیل به یك متد خارج از متد جاری میكند. نكته جالبی كه در Extract Method وجود دارد اینست كه اگر در قطعه كدی كه انتخاب شده متغیری وجود داشته باشد ، به صورت خودكار آن را به عنوان پارامتر در نظر میگیرد. بعد از باز شدن فرم Extract Method ، اطلاعاتی از قبیل نام متد جاری ، نام متد جدید و ساختار كامل متد نمایش داده میشود كه میتوان نامی را برای متد در نظر گرفت. فراموش نكنید كه در بخش new method name فقط نام متد را بنویسید و از قرار دادن پرانتز و تعریف پارامتر خودداری كنید. نمونه : این كد ، كد اصلی ما هست كه میخواهیم بخش داخلی حلقه for را تبدیل به یك متد كنیم: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 2) بخش داخلی حلقه را انتخاب كنید( به غیر از begin و end)، یعنی : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! 3) یكی از روشهای فراخوانی Extract Method را انجام دهید، مثلا" Ctrl+Shift+M، بعد از باز شدن فرم، NumberToString را در قسمت نام متد تایپ و تائید كنید. ميتوانيد با مرور سورس نتيجه را ببينيد. نكته: هر كدی را نمیتوان تبدیل به یك متد كرد. كد حتما" باید بدون خطا باشد و شامل with و متدهای محلی/تو در تو (متدی كه داخل یك متد دیگر ایجاد شده) و دستور inherited نباشد. تکنیک برتر15-11-2006, 11:30 PMبخش سوم Change Parameters توسط این Refactoring میتوانید نوع پارامتر(های) موجود یك متد را تغییر دهید، یك پارامتر جدید به متد اضافه كنید، پارامتری را حذف كنید یا ترتیب پارامترها را تغییر دهید. تغییری كه حاصل میشود هم بر روی تعریف(declaration) متد هست و هم روی پیاده سازی (implementation) متد. اگر پارامتر متدی كه به صورت virtual تعریف شده را تغییر دهید، این تغییر روی تمام كلاسهای فرزند كه این متد را override كرده اند نیز اعمال می شود. فراخوانی Change Parameters : تركیب كلیدهای Ctrl+Shift+A یا از منوی اصلی ، گزینه Refactor و بعد هم Change Params یا كلیك راست روی Code Editor ، گزینه Refactoring و بعد Change Params فرمی كه باز میشود اطلاعاتی مانند نام یونیت، نام كلاس و لیستی از پارامترها (اگر وجود داشته باشد) به همراه نوع داده ، مقدار پیش فرض و نوع پارامتر (var, const, out) نمایش میدهد. كاربرد دكمه ها : Add برای اضافه كردن پارامتر Edit برای تغییر نوع پارمتر موجود Remove حذف پارامتر Move up و Move Down تغییر ترتیب پارمترها در متد بعد از ایجاد تغییرات روی پارامترهای متد و زدن كلید OK ، لیستی از تغییراتی كه اعمال خواهند شد نمایش داده می شود كه شما می توانید این تغییرات را مرور كنید و نهایتا" تائید كنید. Extract Interface خارج كردن یك متد از یك كلاس و قرار دادن آن در یك Interface . با فعال كردن Extract Interface فرمی باز میشود كه میتوانید نام Interface و نام یونیتی كه میخواهید این Interface در آن قرار گیرد را وارد كنید. بعد از تائید فرم، لیستی از مواردی كه تغییر خواهند كرد نمایش داده می شود كه پس از مرور میتوانید آن را تائید یا لغو كنید. اگر نام Interface یی كه وارد میكنید از قبل وجود داشته باشه، این متد به Interface موجود اضافه خواهد شد. اگر نام یونیتی كه میخواهید Interface در آن ساخته شود وجود نداشته باشد، ابتدا یونیت ساخته شده و سپس Interface در آن قرار میگیرد. Introduce Variable و Introduce Field Introduce Variable در نگاه اول شباهت زیادی به declare variable دارد، در صورتیكه declare variable ، تعریف متغیری ست كه در كد استفاده شده ولی جایی تعریف نشده و introduce variable ، انتخاب یك عبارت برای تعریف یك متغیر جدید و تخصیص عبارت به آن متغیر هست. فراخوانی Introduce Variable : منوی اصلی ، گزینه Refactor ، گزینه Introduce Variable یا كلیك راست در Code Editor ، گزینه Refactoring ، گزینه Introduce Variable نمونه : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در این مثال می توانید عبارت Left + Top را انتخاب كنید و Introduce Field را فراخوانی كنید. فرمی باز میشود كه فقط باید نام متغیر جدید (فرضا" Position) را در آن وارد و تائید كنید. می بینید كه یك متغیر در بخش var تعریف میشود و كد به صورت زیر تغییر میكند : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! Introduce Field شباهت زیادی به Introduce Variable دارد با این تفاوت كه فیلدی(متغیری) كه در ساختار كلاس تعریف می شود ، ویژگیهایی از قبیل مقدار اولیه (intitialize) و میدان دید (visibility) ... را باید در مورد آن مشخص كرد كه با فراخوانی فرم Introduce Field ، این امكان فراهم میشود. فراخوانی Introduce Field : منوی اصلی ، گزینه Refactor ، گزینه Introduce Field یا كلیك راست در Code Editor ، گزینه Refactoring ، گزینه Introduce Field - Find Unit Refactoring آخرین Refactoring یی كه دلفی 2006 در اختیار شما میگذارد، توانایی اضافه كردن خودكار یونیت به دستور uses هست. بعضی مواقع ممكن ست كه از توابع ، پروسیجرها یا هر تعریفی از یونیتی دیگر استفاده كنید ولی آن یونیت در لیست uses اضافه نشده باشد. نمونه : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در اینصورت توسط Find Unit میتوانید نام یونیت مربوطه را در لیست uses اضافه كنید. Find Unit به صورت زیر فراخوانی میشود : Ctrl+Shift+A یا از منوی اصلی گزینه Refactor و بعد گزینه Find Unit یا كلیك راست در Code Editor و گزینه Refactoring و بعد گزینه Find Unit بعد از باز شدن فرم Find unit میتوانید تعیین كنید كه یونیت مورد نظر در كدام uses میبایست قرار گیرد، uses بخش Interface یا بخش Implementation . تکنیک برتر15-11-2006, 11:34 PMبخش چهارم • دستور for…in مایكروسافت ویژوال بیسیك دستوری برای پیمایش از ابتدا تا انتهای یك مجموعه دارد كه for..each نامیده میشود. قبلا" چنین ایده ای در #C نیز پیاده شده است. شركت بورلند در دلفی نسخه 2005 تصمیم گرفت كه پشتیبانی بهتری از این نوع كد را انجام دهد. البته نه فقط برای كامپایلر دات نت بلكه هم برای كامپایلر Win32 و هم برای دات نت. الان این دستور برای استفاده آماده است، البته نه تنها برای یك كلاس Container بلكه برای : - كاراكترهای موجود در یك رشته - مقادیر یك مجموعه - آیتم های یك آرایه داینامیك یا استاتیك ، شامل آرایه های دو بعدی شكل كلی : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! به مثال های زیر توجه كنید : - كاراكترهای موجود در یك رشته !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در این مثال، حلقه به تعداد ch های موجود در s اجرا خواهد شد، يا به عبارتي حلقه به تعداد كاراكترهاي موجود در s اجرا ميشود. - آیتم های یك آرایه !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در این مثال، حلقه به تعداد i موجود در iArray تكرار خواهد شد. اگر فرضا" برای دو خانه آخر آرایه مقداری در نظر نگیرید ، چون آرایه به صورت استاتیك تعریف شده، باز هم حلقه 5 بار تكرار خواهد شد كه در مورد آرايه هاي دايناميك ، به خاطر ماهيتشان، چنين اتفاقي نمي افتد. - مقادیر یك مجموعه !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در این مثال، حلقه به تعداد عنصرهای موجود در مجموعه تكرار میشود، یعنی برای حلقه اول 3 بار و برای حلقه دوم 2 بار. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در این مثال، حلقه به تعداد كامپوننتهای موجود در فرم اجرا خواهد شد و نام آنها را به لیست اضافه خواهد كرد. • Advanced Record ركوردها همیشه بخشی از زبانهای برنامه نویسی هستند. اما در این نسخه به ركوردها میدان بیشتری داده شده چونكه از این به بعد برای ركورد میتوان هم "متد" تعریف كرد و هم از مفهوم نهان سازي يا Encapsulation استفاده كرد ( البته فقط از public و private). یك ركورد به همراه متد تا حدی شبیه به یك كلاس است. بیشترین تفاوت (به غیر از مفاهیم Inheritance و Polymorphism) این است كه : ركورد از حافظه محلی (از Stack frame) استفاده میكند. ركورد را میتوان به عنوان پارامتری از نوع By Value ارسال كرد. ركورد در زمان تخصیص یك متغیر ركورد به یك متغیر ركورد دیگر رفتار "value copy" دارد. به این معنی كه محل دیگری از حافظه با محتویات ركورد مبدا مقدار دهی میشود. از كلمات كليدي مانند dynamic و virtual و message در تعريف ركورد نمي توانيد استفاده كنيد. در مقابل متغیری از نوع كلاس : در حافظه Heap قرار میگیرد. به عنوان پارامتر به صورت By Reference ارسال میشود. در هنگام تخصیص یك متغیر كلاس به یك متغیر كلاس دیگر رفتار "reference copy" دارد. به این معنی كه متغیر مقصد هم به همان محل از حافظه اشاره میكند كه متغیر مبدا اشاره میكند، در واقع عمل "كپی" صورت نمی گیرد بلكه آدرس حافظه به متغیر مقصد تخصیص داده می شود. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 437]
-
گوناگون
پربازدیدترینها