تبليغاتX
مرکز اطلاع رسانی ستاره درخشان مرکز اطلاع رسانی ستاره درخشان

ستاره درخشان

درباره وبلاگ
سلام...
امیدوارم لحظات خوشی را در این وبلاگ گذرانده باشید...
پیوندهای روزانه
پیوندها
طراح قالب

Powered By
BLOGFA.COM
تعريف متغيرها (آموزش ويژال بيسيک)

به اطمينان، قبلاً در برنامه نويسی (لااقل در Basic که پيش فرض بحث ما معرفی شده بود) از متغيرها زياد استفاده کرده ايد. در برخی زبانهای برنامه نويسی (مثل Basic) ، نوع متغيرهای بکار رفته در برنامه، لازم نيست از قبل تعريف شده باشد و در هنگام اجرا، کامپايلر، خود، آن را به نوع مورد نياز (مثل Integer برای برای داده های عددی صحيح، يا String برای نوع داده رشته ای و کاراکتری و ...) تعريف و اجرا خواهد کرد. اما در برخی ديگر (مانند زبان برنامه نويسی Pascal)لازم است، نوع داده متغيرهای بکار رفته، در جايی از برنامه (و عموماً قبل از استفاده از آن) تعريف شوند.

در VB، از آنجا که VB از Basic برای کدنويسی استفاده می شود، به طور معمول، نياز به تعريف نوع داده ها نيست. اما از آنجا که امروزه برنامه نويسان ترجيح می دهند که از کامپايلری برای برنامه نويسی استفاده کنند که او را به تعريف تمام متغيرها مجبور کند (زيرا اگر چنين نباشد، اگر او به اشتباه دستوری را غلط تايپ کند (مثلاً بجای then بنويسد Then) ، کامپايلر آن را به عنوان متغيری فرض می کند و در واقع بدون اينکه ما خطايی را دريافت کنيم، در روند برنامه مان مشکل پيدا می شود و خطايی رخ می دهد که شايد تشخيص علت آن سخت تر شود) ، می توانيم VB را موظف سازيم تا ما را مجبور به تعريف نوع داده متغيرها نمايد.

اگر در ابتدای هر يونيت (Unit) عبارت Option Explicit نوشته شود، VB ما را مظف می کند که در آن يونيت، هر متغيری که بخواهيم استفاده کنيم، آن را قبل از استفاده، تعريف نماييم (لذا بهتر است ابتدای همه Unitها عبارت مذکور باشد) . يونيت (Unit) ها، بخش هايی از برنامه اند که در آنها کدنويسی می شود. مثلاً هر فرم، دارای يک Unit مخصوص به خود است که تمام Event Procedureهايی که تا بحال می نوشتيم، در آن قرار می گرفت.

همچنين اگر از منوی Tools گزينه Options را اتنخاب کنيم، و از لبه General (Tab Sheet) ، گزينه Require Variable Declare را چک مارک بزنيم، از اين پس، VB هر فرمی که ايجاد می شود، به طور پيش فرض عبارت Option Explicit را در ابتدای آن خواهد نوشت و در واقع هميشه ما را موظف می سازد که متغيرها را تعريف نماييم.

برای تعريف متغيرها از دستور Dim به شکل کلی زير استفاده می شود:

Dim variableNames As variablsType

به عنوان مثال دستور Dim a,b As Integer متغيرهايی را به نام a,b از نوع داده Integer (نوع داده عددی صحيح) تعريف می کند و سپس از آن می توانيم متغير a را در برنامه مقداردهی نماييم.

متغيرها را می توان در سه سطح تعريف نمود (Space of Variables) :

1-    سطح پروسيجر (procedure Level) :

اگر متغيری در يک Procedure (و معمولاً ابتدای آن) تعريف کنيم، آن متغير را فقط در همان Procedure می توان استفاده نمود و در واقع برای همان Procedure خاص تعريف شده است.

2-    سصح فرم (Form Level) :در سطح فرم (يعنی در ابتدای Unit مربوط به فرم و پس از عبارت Option Explicit) ، متغيرها می توانند به دو نوع تعريف شوند:

2-1- تعريف به صورت Private (شخصی) :

     اگر متغيری در سطح فرم به صورت Private و به شکل کلی:

Private variableNames As variableType

    تعريف شود، آن متغير فقط در تمام Procedureهای فرم قابل استفاده است و در فرم های ديگر قابل دسترسی و استفاده نمی باشد (مگر اينکه در آنها هم جداگانه تعريف شده باشد) .

2-2- تعريف به صورت Public (عمومی) :

     اگر متغيری در سطح فرم، به صورت Public و به شکل کلی:

Public variableNames As variableType

تعريف شود، در اين صورت آن متغير علاوه بر دسترسی در همان فرم (بوسيله نام آن متغير) ، در فرمهای ديگر (در واقع در کل پروژه) قابل دسترسی خواهد بود. فقط در صورت نياز به استفاده در فرمهای ديگر لازم است نام فرمی را که متغير در آن تعريف شده است ذکر شود (البته اگر آن فرم load باشد) و سپس پس از يک نقطه (Dot) نام آن متغير آورده شود. به عنوان مثال اگر در ابتدای يونيت مربوط به Form1 نوشته شده باشد:

Public Number As Integer

و بخواهيم در فرمی ديگر، به آن مقداردهی کنيم، لازم است چنين بنويسيم:

Form1.Number = 15

توجه: اگر در سطح فرم از Dim برای تعريف استفاده شود، به طور پيش فرض آن را Private در نظر خواهد گرفت.

3-    سطح ماژول (Module Level) :

ماژولها بخشی از پروژه هستند که متغيرها، توابع و Procedureهای عمومی (Global) را در آن تعريف می کنيم. اگر تعريفی (مثل تعريف نوع داده متغير يا يک Procedure) با Private انجام گيرد، فقط در همان ماژول قابل استفاده می باشد و اگر با Public صورت گيرد، در هر فرمی و بدون نياز به نوشتن نام ماژول در ابتدای آن، قابل استفاده خواهد بود. نکته ای که بايد توجه داشت اينکه اگر بخواهيم از متغيريا Procedureای که در يک ماژول به صورت Public تعريف شده است، در ماژولی ديگر استفاذه کنيم، ذکر نام ماژول در ابتدای آن به همراه يک نقطه (Dot) ضروری است.

معمولاً از تعريف Public در ماژول زمانی استفاده می کنيم که بخواهيم متغير يا Procedureای به صورت Global (عمومی) در سراسر پروژه استفاده شود. شايد بگوييد می شود در هر فرمی که به آن نياز داريم، همانجا متغير را تعريف می کنيم، پس چه نيازی به ماژول داريم؟

هر چند اين کار باعث می شود که برنامه خطای دستوری از ما نگيرد اما در اينصورت وقتی از فرمی به فرم ديگر می رويم مقدار موجود در آن متغير، پس از تعريف مجدد، دوباره Null (تهی) می شود، در حاليکه اگر از يکبار تعريف Public در ماژول استفاده کنيم، پس از مقدار دهی در جايی از پروژه، تا مقداردهی مجدد، اين مقدار در تمام پروژه قابل دسترسی است.

برای افزودن يک ماژول به پروژه کافی است از منوی Project گزينه Add Module را انتخاب کنيد و آن را (با پسوند .BAS) save نماييم.

همانطور که ملاحظه می فرماييد، ماژولها تنها بخش کدنويسی (Unit) دارند بر خلاف فرمها که يک بخش Interface (ظاهری) داشتند که کنترلها را به صورت Visual روی آن قرار می داديم و يک بخش کدنويسی (Unit) که کدهای مربوط به Event Procedureها را در آن می نوشتيم. همچنين ملاحظه می فرماييد که با توجه به وظيفه ماژولها، معمولاً در کل پروژه اولاً به يک ماژول نيازمنديم ثانياً به بيش از يک ماژول احتياجی پيدا نمی کنيم.

نکته: علاوه بر متغيرها می توانيم از ثوابت (Constants) نيز در پروژه استفاده کنيم. ثوابت، بخشی از پرونده اند که هنگام تعريف، مقداردهی می شوند و تا پايان پروژه مقدارشان ثابت می ماند. برای تعريف ثوابت از دستور Constant استفاده می شود به عنوان مثال:                   

Const PI As single = 3.14

 نوشته شده توسط احسان سید محمد زاد |  
فهرست اصلی
آرشیو موضوعی
راه های با کلاس شدن!
فیزیک نوین
معنی نام کشورهای مختلف
یک کاغذ را چند بار می توان تا کرد؟
گل
ماهواره مینیاتوری
زندگی در شکم کوسه
بیو تکنولوژی
چند سوال
طراحی موتور ماهواره کم مصرف
کد های جاوا
ساخت فولدر هاي بدون نام و بدون آيکن
ترفندی برای به دست آوردن پسورد در یاهو
آشنایی بیشتر با موتور های جستجو گر
تشخیص اصل بودن گوشی از طریق اینترنت
بالابردن صدای گوشی های سری N نوکیا بایک تنظیم ساده
آخرين کلمات شخصيتهای مختلف قبل از مرگ
برنامه Xn View چیست؟ (ترفند سخت افزار و نرم افزار)
تعريف متغيرها (آموزش ويژال بيسيک)
غیر فعال کردن ذخیره سازس کامل صفحات web
تاریخچه زبان جاوا
جالب
فواید انار
احتمال برخورد یک سیاره با زمین در سال ۲۰۳۶
اندازه گیری آسمان
نامگذاری ستارگان
کلمبیا و چلنجر
سحابی روزت
بارش شهابی ارابه رانی
برخوردی با مریخ
یوری گاگارین، نخستین فضانورد جهان
تأثیر تشعشعات کیهانی بر اسکلت فضانوردان
ماهواره های مصنوعی
ستاره های دنباله دار
رنگ حیات
سیاره ای خارج از منظومه شمسی
مریخ
ماه
شهاب سنگ
طرز کار راکت فضایی
بیگ بنگ
حالات ماده
متافيزيك ابن سينا
اندازه‌گيري ارتفاع آسمان‌خراش با فشارسنج!
رنگها و موجها
ساختار هسته
نزدیک ترين رويارويي فضاپيما راستا و سياره سرخ
یک کاغذ را چند بار می توان تا کرد؟
نظريه پردازان ذرات گردن‌آويزديراك را ازآن خودکردند
مريخ نوردان فاش كردند كه مريخ مغناطيسي است
تفاوتهاي برجسته اي ميان ماده و پادماده يافت شد
يك ابر سحابي به كهكشان راه شيري برخورد خواهد كرد
زندگینامه فردوسی
بـيو گـرافـي استاد شهـريار
تاريخچه واليبال
سلمان هراتی
تاریخچه بسکتبال
زبان و ادبیات فارسی
خورشید
ریشه زبان ترکی آذربایجانی
ویتامین ها
معرفی گوشی N95
معرفی نرم افزار فلش 9
معرفی کتاب استان خراسان از مجموعه راهنمای ایرانگرد
باقرخان
نظر دانشمندان غربی درباره ی قرآن
ارتودنسی
معرفی Pocket PC
روش هک بلاگفا
طنز
هک و بوت
فیزیک
زیست شناسی
کامپیوتر و نرم افزار
نجوم
حکایت ها
ورزشی
زندگینامه
اجتماعی
تاریخی
جغرافیا
دانلود
بازی
مطالبی جذاب
اینترنت
پزشکی
مذهبی
آرشیو مطالب
امکانات
اين وبلاگ را صفحه خانگي خود كنید!   ذخيره كردن صفحه!   اضافه کردن این وبلاگ به علاقه مندیها!   لینک RSS

Copyright © 2006 All Rights Reserved by e-brightstar.Blogfa.com

مرکز اطلاع رسانی ستاره درخشان

ستاره درخشان

درباره وبلاگ
سلام...
امیدوارم لحظات خوشی را در این وبلاگ گذرانده باشید...
پیوندها
طراح قالب

Powered By
BLOGFA.COM
نوشته های پیشین
فهرست اصلی
امکانات
اين وبلاگ را صفحه خانگي خود كنید!   ذخيره كردن صفحه!   اضافه کردن این وبلاگ به علاقه مندیها!   لینک RSS

Copyright © 2006 All Rights Reserved by e-brightstar.Blogfa.com