.تعمیـــرکاران کیان ست (kiansat.kim)تابع قوانین -جمهموری-اسلامی ایران میباشد و ارسال هر گونه مطلب سیاسی،مذهبی،غیراخلاقی و خرید و فروش متعلقات ماه-واره و دیگر موارد مجرمانه ممنوع میباشد وبا کاربران خاطی به شدت برخورد میگردد انجمن فقط تعمیرات لوازم الکترونیک میباشد...













سلام مهمان گرامی؛
به کیان ست خوش آمدید برای مشاهده انجمن با امکانات کامل می بايست از طريق این لینک عضو شوید.

http://teranzit.pw/uploads/14469017281.png
پیام خصوصی به مدیریت کل سایت ........... صفحه توضیحات و شرایط گروه ویژه ........... ...........
ارتباط تلگرامی با مدیریت سایت ................. ایدی تلگرام suportripair@ .................
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: چگونه دانش دلفی را برای یادگیری ویژوال بیسیک به کار بگیریم …

  1. #1


    تاریخ عضویت
    Oct 2010
    نوشته ها
    198
    تشکر ها
    38
    401 سپاس از181 پست

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

    به هر دلیل امکان دارد یک برنامه نویس دلفی تصمیم بگیرد – یا مجبور شود – که با ویژوال بیسیک برنامه بنویسد. در ابتدا اجازه دهید به مساله ای بپردازیم که شاید همه ما به نحوی با آن برخورد کرده ایم، اسم این حالت یا احساس را چه میتوان گذاشت! مشخص نیست، ولی اجازه دهید ساده بگوییم احساس برتری برنامه نویسان زبانهای مختلف نسبت به برنامه نویسان ویژوال بیسیک.

    هر زبان برنامه نویسی برتریها و ضعفهای مخصوص به خود را دارد. فرض کنیم قرار بر این باشد که یک بازی نوشته شود، برای یک بازی جدی استفاده از ویژوال بیسیک با توجه به سرعت پایین برنامه های کامپایل شده آن منطقی به نظر نمی رسد، خوب در این حالت از دلفی استفاده میشود.

    یا در زمانی که بخواهیم با یک زبان برنامه نویسی بر اساس کلاسها و اشیاء (Object Oriented) واقعی کار کنیم، واضح است که دلفی یکی از بهترین انتخابهاست و در این مورد ویژوال بیسیک بازنده حقیقی است (در ویژوال بیسیک هر چند از اشیاء استفاده شده است اما مفهوم کلاسها، ارث بری و … رعایت نشده اند).

    حال فرض کنیم قرار بر نوشتن برنامه ای ساده برای کار با یک پایگاه داده ای Microsoft Access باشد وباید خیلی سریع هم آماده شود، کدام را انتخاب کنیم؟ جواب یک برنامه نویس دلفی کاملا واضح است! اما شاید اگر در کنار دلفی با ویژوال بیسیک هم کار کرده باشد نظر دیگری داشته باشد.

    در هر دو انتخاب ما کار با پایگاههای داده ای پیش بینی شده است، هر دو نیز از قابلیتهای معینی برای کار برخوردار هستند که برای نوشتن برنامه ما کافی هستند. اگر با هر دو زبان کار کرده باشید حتما قبول دارید نوشتن این برنامه با ویژوال بیسیک به مراتب سریعتر از دلفی پایان میپذیرد. خواهش میکنم! قبل از اینکه من هدف حمله کفشهای شما قرار بگیرم چند دقیقه ای تحمل کنید و به بقیه بحث هم توجه کنید…

    بد هم نیست اگر یک برنامه نویس دلفی با ویژوال بیسیک هم برنامه نویسی کند، ویژوال بیسیک هم نقاط قوتی دارد که گاهی به برنامه نویس کمک میکند.
    بعضی مواقع برنامه ها با ویژوال بیسیک خیلی سریعتر آماده میشوند و برای برنامه نویسان دلفی یادگیری ویژوال بیسیک آسان است چون به هر حال امکانات و قابلیتهای آن به مراتب کمتر از دلفی است.

    ویژوال بیسیک یک زبان مبتنی بر اشیاء به معنای واقعی اینگونه زبانها نیست. ویژوال بیسیک از اشاره گرها استفاده نمیکند، و همین آنرا به یک زبان آسان برای کار تبدیل کرده است و البته کمی با قابلیت! اما در همه برنامه ها وجود اشاره گرها و OOP (Object Oriented Programming) ضروری نیست. VB هم یکی از زبانهای RAD(Rapid Application Development) است و آماده کردن برنامه ها با آن به نسبت سریعتر از دلفی است.

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

    کد:
    کد:
    Function AddNumbers( Num1: Integer; Num2: Integer): Integer; Var Num3: Integer; Begin Num3 := Num1 + Num2; Result := Num3; End;  FUNCTION AddNumbers( Num1 AS Integer, Num2 AS Integer) AS Integer DIM Num3 AS Integer Num3 = Num1 + Num2 AddNumbers = Num3 END FUNCTION
    در کد VB علامت “;” در انتهای دستورات قرار نمیگیرد به این دلیل که VB بر اساس خطوط کار میکند (اصطلاحا Line Based است) یعنی دستورات چند خطی ندارد (البته این مساله راه حلی دارد که از بحث خارج است). نکته دوم و بسیار مهم Begin و End در کد VB مشاهده نمیشود و در واقع مجموعه دستورات پشتیبانی نمیشوند.
    روش معرفی متغیرها در VB که در هر جای برنامه امکان پذیر است به صورت زیر میباشد:
    Dim As
    نکته دیگر اینست که در VB مانند اکثر زبانها و بر خلاف پاسکال از علامت = استفاده میشود ( نه از := ). همچنین در VB هم – مانند دلفی – مقدار بازگشتی تابع در متغیری با نام خود تابع بازمیگردد.
    از بخشهای مهم یک زبان برنامه نویسی دستورات شرطی آن است. در دلفی دستورات با If … Then شروع شده و دستورات در یک مجموعه که با Begin و End مشخص میشوند قرار میگیرند و امکان استفاده از Else هم پیش بینی شده است:

    کد:
    کد:
        If a = 1 Then begin a := 0; Text := ‘Hello World’; end Else a := 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 := 1 To 100 Do Begin a = i * 2; Text := ‘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 از SUB(Subroutine) استفاده میشود. و باقی مثل تابعی است که در بالا دیدیم و در پایان آن هم از END SUB استفاده میشود.
    در توابع VB نکته مهم اینست که متغیر Result نداریم و باید حتما از نام همان تابع برای بازگرداندن مقدار استفاده کرد.
    در مورد آرگومانهای توابع و SUBها باید دقت کرد به جای (Click here to enlarge که در دلفی استفاده میشود، اینجا باید (,) را به کار برد و باقی مثل تعریف متغیر در VB بدون استفاده از DIM است.
    شاید بد نباشد مثالی از SUB هم ببینید:

    کد:
    کد:
     SUB MakeSound Beep END SUB
    به نظر میرسد مسائل اساسی بررسی شدند، باقی به عهده خودتان!
    اما نکات زیر را به خاطر داشته باشید:
    از (Click here to enlarge در انتهای خطوط استفاده نکنید. همانگونه که گفته شد VB به تغییر خط حساس است، یعنی عبارت زیر نیز ایجاد خطا میکند:

    کد:
    کد:
     IF (a = 1) AND (b = 2) AND (c = 3) AND (d = 4) AND (e = 5) THEN Beep END IF
    و باید به صورت زیر باشد:

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

    کد:
    کد:
    IF (a = 1) AND (b = 2) AND (c = 3)_ AND (d = 4) AND (e = 5) THEN Beep END IF
    فراموش نکنید در VB امکان استفاده از مجموعه دستورات را ندارید و تنها مجموعه ها عبارتند از:
    کد:
    کد:
    IF…END IF, FOR…NEXT, DO…LOOP UNTIL, DO…LOOP WHILE, FUNCTION…END FUNCTION, SUB…END SUB

    خوب فکر کنم کافی باشد، اگر علاقه مند شدید کتب متعدد ویژوال بیسیک راهنمای خوبی برای شما هستند…
    [CENTER]:1205219183:
    [B][FONT=Tahoma][SIZE=3][COLOR=#0000ff][URL="http://kiansat3.ir/showthread.php?t=47100"]فروش جدیدترین و کاملترین پکیج نرم افزاری و بازی و آموزشی و تعمیراتی انواع موبایل ها بصورت کاملا فارسی به همراه چندین اشانتیون[/URL][/COLOR][/SIZE][/FONT][/B]
    [B]:1205219183::فقط خودت باش نه کسی دیگر!
    :lay:
    [/B][/CENTER]

  2. 2کاربر از Borna66 بخاطر ارسال این پست مفید سپاسگزاری کرده اند:

    ARIYA (5th May 2012),KIAN FAR (4th May 2012)

اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

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


Copyright ©2000 - 2013, Jelsoft Enterprises Ltd کیــــــــــان ستـــــــــــ ...® اولین و بزرگترین سایت فوق تخصصی الکترونیک در ایران



Cultural Forum | Study at Malaysian University