نمایش نتایج 1 تا 3 از 3

نام تاپیک: چگونه دانش دلفی را برای یادگیری ویژوال بیسیک به کار بگیریم..

  1. #1

    چگونه دانش دلفی را برای یادگیری ویژوال بیسیک به کار بگیریم..

    به هر دلیل امکان دارد یک برنامه نویس دلفی تصمیم بگیرد – یا مجبور شود – که با ویژوال بیسیک برنامه بنویسد. در ابتدا اجازه دهید به مساله ای بپردازیم که شاید همه ما به نحوی با آن برخورد کرده ایم، اسم این حالت یا احساس را چه میتوان گذاشت! مشخص نیست، ولی اجازه دهید ساده بگوییم احساس برتری برنامه نویسان زبانهای مختلف نسبت به برنامه نویسان ویژوال بیسیک. هر زبان برنامه نویسی برتریها و ضعفهای مخصوص به خود را دارد. فرض کنیم قرار بر این باشد که یک بازی نوشته شود، برای یک بازی جدی استفاده از ویژوال بیسیک با توجه به سرعت پایین برنامه های کامپایل شده آن منطقی به نظر نمی رسد، خوب در این حالت از دلفی استفاده میشود. یا در زمانی که بخواهیم با یک زبان برنامه نویسی بر اساس کلاسها و اشیاء (Object Oriented) واقعی کار کنیم، واضح است که دلفی یکی از بهترین انتخابهاست و در این مورد ویژوال بیسیک بازنده حقیقی است (در ویژوال بیسیک هر چند از اشیاء استفاده شده است اما مفهوم کلاسها، ارث بری و ... رعایت نشده اند). حال فرض کنیم قرار بر نوشتن برنامه ای ساده برای کار با یک پایگاه داده ای Microsoft Access باشد وباید خیلی سریع هم آماده شود، کدام را انتخاب کنیم؟ جواب یک برنامه نویس دلفی کاملا واضح است! اما شاید اگر در کنار دلفی با ویژوال بیسیک هم کار کرده باشد نظر دیگری داشته باشد. در هر دو انتخاب ما کار با پایگاههای داده ای پیش بینی شده است، هر دو نیز از قابلیتهای معینی برای کار برخوردار هستند که برای نوشتن برنامه ما کافی هستند. اگر با هر دو زبان کار کرده باشید حتما قبول دارید نوشتن این برنامه با ویژوال بیسیک به مراتب سریعتر از دلفی پایان میپذیرد. خواهش میکنم! قبل از اینکه من هدف حمله کفشهای شما قرار بگیرم چند دقیقه ای تحمل کنید و به بقیه بحث هم توجه کنید...
    بد هم نیست اگر یک برنامه نویس دلفی با ویژوال بیسیک هم برنامه نویسی کند، ویژوال بیسیک هم نقاط قوتی دارد که گاهی به برنامه نویس کمک میکند. بعضی مواقع برنامه ها با ویژوال بیسیک خیلی سریعتر آماده میشوند و برای برنامه نویسان دلفی یادگیری ویژوال بیسیک آسان است چون به هر حال امکانات و قابلیتهای آن به مراتب کمتر از دلفی است. ویژوال بیسیک یک زبان مبتنی بر اشیاء به معنای واقعی اینگونه زبانها نیست. ویژوال بیسیک از اشاره گرها استفاده نمیکند، و همین آنرا به یک زبان آسان برای کار تبدیل کرده است و البته کمی با قابلیت! اما در همه برنامه ها وجود اشاره گرها و <span dir=ltr>OOP (Object Oriented Programming)</span> ضروری نیست. VB هم یکی از زبانهای<span dir=ltr> RAD(Rapid Application Development)</span> است و آماده کردن برنامه ها با آن به نسبت سریعتر از دلفی است. راستی! گاهی نسخه اجرایی برنامه های ویژوال بیسیک از معادل دلفی آن کم حجم تر میشود! البته دلیل اینست که مستقل نیستند و یک کتابخانه زمان اجرا با حجمی در حدود یک مگا بایت را یدک میکشند (مثلا در VB6 فایل msvbvm60.dll) و این فایل باید در کامپیوتر مورد نظر برای اجرا باشد.
    در هر حال آشنایی با VB به عنوان یک زبان برنامه نویسی هم سطح دانش شما را در زمینه برنامه نویسی بالا میبرد و هم میبینید که ویژوال بیسیک هم بدک نیست و فقط یک بیسیک تحت ویندوز نیست و به مراتب بیشتر از تغییر دلفی در مقایسه با پاسکال تحت DOS نسبت به بیسیک قدیمی تغییر کرده است.


    با VB آشنا شویم

    خوب! ویژوال بیسیک همانگونه که از نام آن پیداست بر پایه BASIC ساخته شده است. اما در واقع بسیار گسترده تر از آن است. اجازه دهید طرح کلی VB را بررسی کنیم. در VB بر خلاف دلفی بخش مربوط به unitها را نداریم. علاوه بر این، حتی بخش VAR را برای تعاریف متغیرها نداریم! این کار در هر جای برنامه امکان پذیر است، حتی اگر تمایل ندارید میتوانید اصلا این کار را انجام ندهید. مشخص کردن نوع متغیر در VB به صورت اتوماتیک انجام میشود.

    بد نیست یک مثال از قطعه برنامه ای در این دو زبان را بررسی کنیم. یک تابع:
    Function AddNumbers&#40; Num1&#58; Integer; Num2&#58; Integer&#41;&#58; Integer;
    Var
    Num3&#58; Integer;
    Begin
    Num3 &#58;= Num1 + Num2;
    Result &#58;= Num3;
    End;

    FUNCTION AddNumbers&#40; Num1 AS Integer, Num2 AS Integer&#41; AS Integer
    DIM Num3 AS Integer
    Num3 = Num1 + Num2
    AddNumbers = Num3
    END FUNCTION

    در کد VB علامت ";" در انتهای دستورات قرار نمیگیرد به این دلیل که VB بر اساس خطوط کار میکند (اصطلاحا Line Based است) یعنی دستورات چند خطی ندارد (البته این مساله راه حلی دارد که از بحث خارج است). نکته دوم و بسیار مهم Begin و End در کد VB مشاهده نمیشود و در واقع مجموعه دستورات پشتیبانی نمیشوند.
    روش معرفی متغیرها در VB که در هر جای برنامه امکان پذیر است به صورت زیر میباشد:
    Dim &lt;VariableName> As &lt;VariableType>


    نکته دیگر اینست که در VB مانند اکثر زبانها و بر خلاف پاسکال از علامت = استفاده میشود ( نه از <span dir=ltr>:=</span> ). همچنین در VB هم - مانند دلفی – مقدار بازگشتی تابع در متغیری با نام خود تابع بازمیگردد.
    از بخشهای مهم یک زبان برنامه نویسی دستورات شرطی آن است. در دلفی دستورات با If … Then شروع شده و دستورات در یک مجموعه که با Begin و End مشخص میشوند قرار میگیرند و امکان استفاده از Else هم پیش بینی شده است:
    If a = 1 Then
    begin
    a &#58;= 0;
    Text &#58;= ‘Hello World’;
    end
    Else
    a &#58;= a + 1;

    IF a = 1 THEN
    a = 0
    Text = "Hello World"
    ELSE
    a = a + 1
    END IF

    تفاوت آشکار است، باز هم عدم استفاده از Begin و End در کد VB، همچنین لزوم وجود END IF در پایان مجموعه شرطی و نکته مهم؛ استفاده از علامت (") در VB برای نمایش عبارات متنی با جای (‘) در دلفی. به نظر میرسد تنها نکته گیج کننده عدم وجود Begin و End باشد. نوبتی هم باشد باید حلقه ها را بررسی کنیم:
    For i &#58;= 1 To 100 Do
    Begin
    a = i * 2;
    Text &#58;= ‘Hello World’
    End;

    FOR i = 1 TO 100
    a = i * 2
    Text = "Hello World"
    NEXT i

    اولین تفاوتی که به چشم میخورد عدم استفاده از Do در قالب دستور FOR در VB است. نکته دیگر مشخص شدن انتهای حلقه با استفاده از دستور NEXT است. کلیه دستورات مابین FOR و NEXT در حلقه قرار دارند. اما در مورد Repeat … Until کافیست از Do … Loop Until استفاده شود!
    اما مساله بعد Procedureهای دلفی هستند. معادل Procedure دلفی در VB از <span dir=ltr>SUB(Subroutine)</span> استفاده میشود. و باقی مثل تابعی است که در بالا دیدیم و در پایان آن هم از END SUB استفاده میشود.
    در توابع VB نکته مهم اینست که متغیر Result نداریم و باید حتما از نام همان تابع برای بازگرداندن مقدار استفاده کرد.
    در مورد آرگومانهای توابع و SUBها باید دقت کرد به جای ( ; ) که در دلفی استفاده میشود، اینجا باید (,) را به کار برد و باقی مثل تعریف متغیر در VB بدون استفاده از DIM است.
    شاید بد نباشد مثالی از SUB هم ببینید:
    SUB MakeSound
    Beep
    END SUB

    به نظر میرسد مسائل اساسی بررسی شدند، باقی به عهده خودتان!
    اما نکات زیر را به خاطر داشته باشید:
    از ( ; ) در انتهای خطوط استفاده نکنید. همانگونه که گفته شد VB به تغییر خط حساس است، یعنی عبارت زیر نیز ایجاد خطا میکند:
    IF &#40;a = 1&#41; AND &#40;b = 2&#41; AND &#40;c = 3&#41;
    AND &#40;d = 4&#41; AND &#40;e = 5&#41; THEN
    Beep
    END IF

    و باید به صورت زیر باشد:
    IF &#40;a = 1&#41; AND &#40;b = 2&#41; AND &#40;c = 3&#41; AND &#40;d = 4&#41; AND &#40;e = 5&#41; THEN 
    Beep
    END IF

    البته همانطور که گفته شد برای ایجاد دستورات چند خطی راه حلی در نظر گرفته شده است و آن استفاده از (_) (Under-line/Underscore) است:
    IF &#40;a = 1&#41; AND &#40;b = 2&#41; AND &#40;c = 3&#41;_
    AND &#40;d = 4&#41; AND &#40;e = 5&#41; THEN
    Beep
    END IF

    فراموش نکنید در VB امکان استفاده از مجموعه دستورات را ندارید و تنها مجموعه ها عبارتند از:
    IF…END IF, FOR…NEXT, DO…LOOP UNTIL, DO…LOOP WHILE, FUNCTION…END FUNCTION, SUB…END SUB

    خوب فکر کنم کافی باشد، اگر علاقه مند شدید کتب متعدد ویژوال بیسیک راهنمای خوبی برای شما هستند...
    http://www.mcp.com

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    www.gold-nevis.rzb.ir
    پست
    129

    نقل قول: چگونه دانش دلفی را برای یادگیری ویژوال بیسیک به کار بگیریم..

    خوب دوست عزیز به نظر من ویبی خیلی ساده تر از دلفی است و اول ویبی رو یاد بگیرین بهتره
    در ضمن کتاب vb in n+1 روز رو به شما پیشنهاد می دم که واقعا ا زhello world رفته تا api و ...
    ممنونم

  3. #3
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    963

    نقل قول: چگونه دانش دلفی را برای یادگیری ویژوال بیسیک به کار بگیریم..

    من هم تو VB هم تو دلفی ناشی هستم. قبلا با VB کار می کردم
    کدی که توی VB می نویسیم ممکنه کوتاهتر باشه.
    من قبلا اگه یه برنامه خیلی ساده میخواستم ممکن بود حتی Quick Basic رو بر VB ترجیح بدم.
    اما یه مساله مهم هم هست. در روند برنامه نویسی خیلی وقتها نیاز به سرعت بالا داریم. مثلا هنگام کار با فایل.VB در این زمینه به مراتب کندتر از دلفیه.
    همین بی نیاز بودن برنامه از فایل جانبی هم مساله مهمیه.
    یه مساله قابل توجه دیگه اینه که دلفی خیلی از کامپوننتها رو جلوی چشم آدم میذاره.
    البته یونیتهایی که به طور پیشفرض در Uses لیست شدن هم هست ولی توی VB وقتی از یه تابع API و غیره میخوایم استفاده کنیم باید برای برنامه تعریف کنیم.
    اما توی VB یا باید بریم کامپوننتها رو به پالت اضافه کنیم یا بریم تو اینترنت بگردیم.
    شکل ظاهری محیط طراحی برنامه VB6 هم خیلی قشنگ نیست.(نسخه های جدیدترش رو نمی دونم!)
    --
    این حرفها رو خیلی جدی نگیرین. اگه قصد ندارین کار حرفه ای انجام بدین و سرعت براتون مهمه VB هم خوبه.
    لازم نیست هرکی تا ته خط رو بره. ممکنه یکی فقط بخواد یک کم کارهاش رو با برنامه پیش ببره.
    اما بعضی وقتها هم آدم از کدهای سابق در برنامه جاری استفاده می کنه بنابراین بهتره زبان برنامه نویسی قویتر رو استفاده کنه.

تاپیک های مشابه

  1. سوال: کمک ومعرفی کتاب برای یادگیری ویژوال سی شارپ
    نوشته شده توسط danial_rtw در بخش C#‎‎
    پاسخ: 8
    آخرین پست: شنبه 25 تیر 1390, 11:56 صبح
  2. سوال: چگونه اطلاعات یک بانک را در ویژوال بیسیک مرتب کنم
    نوشته شده توسط Masoudse7en در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 2
    آخرین پست: جمعه 22 مرداد 1389, 09:49 صبح
  3. ابزارهای زیبا و کارا برای زبان ویژوال بیسیک
    نوشته شده توسط alimahmou20 در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: چهارشنبه 20 آذر 1387, 11:25 صبح
  4. خبر: برای آپدیت ویژوال بیسیک 6 از ماکروسافت
    نوشته شده توسط alifatehi در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: یک شنبه 30 تیر 1387, 00:44 صبح
  5. اولین قدم در یادگیری ویژوال بیسیک
    نوشته شده توسط ali_ahlina در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: دوشنبه 24 اسفند 1383, 21:11 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •