رفتن به مطلب

دلفي و تكنولوژي net.:

امتیاز دادن به این موضوع:


king75
 اشتراک گذاری

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

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

ارسال های توصیه شده

در دلفي 8 به دو روش مي توان Applicationهاي تحت NET. نوشت: اول استفاده از VCL for .NET است كه از طراحي VCL پشتيباني مي كند و حالا براي استفاده در .NET Framework با نام VCL.NET عرضه شده است. اين روش براي بسياري از برنامه نويساني كه قبلاً با دلفي 7 كار مي كرده اند و از همان VCL استفاده مي كرده اند بسيار مفيد است, چراكه به راحتي مي توانند برنامه هاي قبلي خود را با تغييرات اندك به دلفي 8 و محيط NET. منتقل كنند.

روش دوم استفاده از WinForms است كه در اين مقاله قصد داريم درباره اين روش صحبت كنيم. در مقالات بعدي بيشتر به روش هاي ديگر خواهيم پرداخت كه البته اين روش براي توليد نرم افزارهاي ويژوال تحت NET. بهترين روش است. چراكه در اين روش از Namespace system.forms استفاده مي شود كه از كلاس هاي اصلي NET. به شمار مي رود. (namespaceها كلاس هاي اصلي NET. هستند كه مانند Unitها در دلفي 7 مي باشند)

همچنين تمامي برنامه نويسان دلفي براي استفاده از اين روش تقريباً بايد تمامي مطالبي كه در مورد برنامه نويسي GUI كه در محيط win32 استفاده مي شد را فراموش كنند و با winfroms برنامه نويسي NET. را شروع كنند.

براي شروع اول دلفي 8 را اجرا كنيد و از منوي file گزينه New و بعد Others را انتخاب كنيد تا يك ديد اوليه از روش هايي كه مي توان با استفاده از آنها در NET. برنامه نوشت را ببنيد كه ابتدا Delphi ASP Projects را مي بينيد كه در آن مي توان از ASP.NET web Application و يا ASP.NET web Services براي توليد برنامه هاي مبتني بر NET. براي استفاده در وب بكار برد.

در قسمت Delphi for.NET نيز شما قسمتهاي زير را مشاهده مي كنيد:

محيط IDE دلفي 8

با انتخاب windows form محيط IDE دلفي 8 براي شروع كار آماده مي شود. شما يك فرم خالي كه در محيط Form Designer قرار دارد را در وسط صفحه مي بينيد و Object Inspector را در سمت چپ و Project Manager و Model View و Data Explorer را در بالاي سمت راست و Tool Palette را در پايين سمت راست مي بينيد.

در اينجا اولين تفاوتي كه نسبت به دلفي 7 مشاهده مي شود اين است كه محيط طراحي form به صورت يك پنجره بسته است كه فرم خالي در آن قرار دارد. اگر با محصولات Visual Studio .NET كار كرده باشيد متوجه شباهت اين قسمت با آنها خواهيد شد. احتمالاً بورلند خواسته است كه يك شباهتي بين محيط دلفي 8 و Visual Studio .NET ايجاد كند تا برنامه نويساني كه قبلاً با VB و يا VC كار مي كرده اند بتوانند سريع تر خود را با محيط دلفي وفق دهند و با آن به برنامه نويسي NET. بپردازند.

براي اولين بار كه من اين محيط را ديدم كمي ناراحت كننده بود چرا كه ديگر نمي توانستيم آن آزادي عملي كه در محيط دلفي 7 داشته ايم را در (مورد اندازه formها) اينجا داشته باشيم و همچنين در اين محيط ديگر نمي توان كد برنامه و form را با هم ديد و براي تغيير حالت از حالت نمايش form به Code بايد از Tabهايي كه در پايين بصورت Code/Design هستند استفاده كرد. يعني در هر لحظه شما فقط يك حالت را مي توانيد داشته باشيد.

اما يك سري نكات مفيد و جالب است كه در اين محيط به چشم مي خورند. اول يك جعبه ابزار (Tool Palette) بسيار زيبا و كارا، كه نسبت به محيط قبلي دلفي 7 بسيار سهل الوصول تر شده و امكان اين كه شما بتوانيد تعداد زيادي از ابزار لازم را در كنار دست خود داشته باشيد را فراهم مي كند. هم چنين اگر نام كنترل هاي مورد نياز را هم بدانيد, مي توانيد با تايپ كردن نام كنترل مورد نظر در Textbox بالاي جعبه ابزار, ابزارها را فيلتر كنيد. مثلاً با زدن حرف (b) تمامي كنترل هايي كه با حرف (b) شروع شده است, نمايش داده مي شود.

اما يك سري تغييرات ساختاري ديگري هم در اينجا ديده مي شود. به طور مثال اگر شما يك Button را به روي form قرار دهيد در قسمت Object Inspector مي بينيد كه براي تغيير مكان دكمه، ديگر Propertyهاي Top و Left وجود ندارد بلكه location كه داراي دو قسمت x و y است مكان كنترل و Size كه شامل Height, Width است اندازه كنترل را تعيين مي كند و همچنين بجاي Caption از Text استفاده شده است.

از ديگر مزايا اين است كه تمام Propertyهاي كنترل ها به صورت كلاسه بندي و طبقه بندي شده وجود دارند كه امكان باز و بسته كردن Sub Propertyها هم با گذاشتن + و – وجود دارد كه اين نكته از سردرگمي در قسمت Propertyها كه در محيط دلفي 7 خيلي وقت گير بود جلوگيري مي كند. در قسمت رويدادها (Events) نيز تغييراتي را مي بينيم. مثلاً بجاي رويداد Onclick در اينجا Click را داريم. در كل، در اول Eventها ديگر on وجود ندارد (به اين دليل كه در NET. ما رويداد Click داريم و نه OnClick) اينجا هم با دو بار كليك كردن روي هر رويداد به قسمت Code Editor مي رويم.

محيط ويرايش كد (Code Editor)

در قسمت ويرايش كد يك سري تغييرات عمده نسبت به محيط هاي قبلي دلفي وجود دارد. اولين چيز شماره خط ها مي باشد كه در كنار هر خط از كدها مي توان ديد.

همچنين يك سري علامت هاي + و – كه با آنها مي توان يك قسمت هايي از كد را باز و بسته كرد كه به اين عمل باز (Expand) و بسته (fold) كردن كدها و روش Code Folding مي گويند. در اين روش كدهاي جديدي توليد مي شوند كه براي طراحي Win formها مي باشد.

در طراحي فرم ها و كنترل هاي VCL (يا CLX) تمامي مشخصات و Propertyهاي آنها در فايل هاي جداگانه DFM. (يا XFM.) ذخيره مي شوند. اما در اينجا به اين شكل نيست و تمامي مشخصات در فايل جدا ذخيره نمي شوند بلكه در خود فايل كد برنامه ذخيره مي شوند كه اين را مي توانيد در قسمت اول كد برنامه كه با عبارت Windows Form Designer generated Code مشخص شده, ببينيد.

حالا اگر بدون اين كه در قسمت رويداد Click دكمه اي كه قبلاً ساختيم كدي وارد كنيد برنامه را Compile كنيد. چيزي كه حتماً متوجه خواهيد شد اين است كه با آن كه شما در قسمت Button1-Click چيزي وارد نكرده ايد اين قسمت حذف نمي شود!!!

در دلفي 7 به اين شكل نبود و هنگام كمپايل كردن اگر چنين حالتي رخ مي داد آن قسمت از كد برنامه حذف مي شد. اين يك خصيصه دلفي 8 است و فكر نكنيد كه باگ پيدا كرده ايد!!! چراكه در Win Form شما مي توانيد رويداد Click چندين كنترل را به يك كد كه مثلاً براي يكي از كنترلها نوشته ايد مربوط كنيد كه هرگاه رويداد Click براي هر كدام از آن كنترلها اتفاق افتاد اين كد اجرا شود. به همين دليل در دلفي 8 با پاك كردن كدهاي مربوط به يك قسمت و كمپايل كردن برنامه, آن قسمت از بين نمي رود, چراكه ممكن است آن قسمت براي ديگر كنترلها نيز استفاده شده باشد.

كدهاي مديريت طراحي (Designer Manager Code):

اگر شما بخواهيد متد Button1-Click را به صورت دستي حذف كنيد, مي توانيد Handler اين رويداد را به صورت دستي از قسمت Implementation حذف كنيد. يعني چي؟!

خوب وقتي كه شما يك كنترل روي فرم قرار مي دهيد و مثلاً Event كليك آنرا را ايجاد مي كنيد, در قسمت Implementation يك خط كد مانند زير اضافه مي شود:

اين خط به اين معني است كه اگر روي Button1 كليك شد, متد Button1-Click را اجرا كن. اين خط همان Handler رويداد Click دكمه ما است. حال اگر از اين متد كه براي اجرا شدن هنگام كليك روي Button1 نوشته ايم در رويداد كليك چند كنترل ديگر نيز استفاده كنيم. اين Handler به كد مربوط به آن كنترلها نيز اضافه مي شود و در آن به كمپايلر مي فهماند كه اگر روي اين كنترل هم كليك شد كد مربوط به Button1-Click را اجرا كن. فقط در آنجا بجاي عبارت Self-Button1.Click نام كنترل ديگر مثلاً Self-label1.Click مي آيد. به صورت زير:

بهتر است در اين مورد بيشتر از اين توضيح ندهيم, چون مسايل مهمتري هم است!!! حالا قبل از اين كه برگرديم به قسمت طراحي form بهتر است نگاهي به سمت راست صفحه و جعبه ابزار بيندازيم. بله مي بينيم كه در آنجا بجاي كنترلها Code Snippets را داريم. هر كدام از آن آيكونها براي ايجاد كردن يك كد از پيش تعريف شده در متن برنامه مي باشد. يك مشكلي كه در اينجا ديده مي شود اين است كه آيكون تمام آنها مثل هم است و نمي توان فهميد كه كدام يك از آنها يك كدي را توليد مي كنند. البته با نگه داشتن موس روي هر كدام از آنها به صورت Hint اين مطلب را مي شود فهميد.

ولي براي راحت تر كردن كار شما مي توانيد با Right Click كردن روي آن قسمت و انتخاب Button Size Include Caption متن هر كدام از آنها را در كنار آيكونها ديد. در ضمن براي استفاده از آنها مي توانيد هر يك از آنها را بوسيله موس بكشيد و بجاي مورد نظر Darg كنيد و يا اين كه روي آنها Double Click كنيد.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • پاسخ 0
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

روزهای محبوب

بهترین ارسال کنندگان این موضوع

در تاپیک ها، اگر سوال يا نظر خاصي نداريد لطفا فقط از دکمه می پسندم و ... استفاده کنيد. نظراتي مانند مرسی، خوب بود، ممنون و ... شامل اسپم هستند و باعث کاهش کيفيت پست ها مي شوند.

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

این موضوع کاملا قدیمی است. لطفا به جای بروز کردن این موضوع در نظر شروع یک موضوع جدید باشید مگر این که لازم به بروز رسانی این موضوع باشید.

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
×
  • اضافه کردن...