سه شنبه, ۲ بهمن, ۱۴۰۳ / 21 January, 2025
مجله ویستا

ذخیره سازی اطلاعات در VB.NET


فرض کنید ، قصد نوشتن برنامه ای را داشته باشیم که در آن از کاربران بخواهیم نام خود را وارد نمایند . پس از درج نام توسط کاربران ، اطلاعات فوق را چگونه می بایست ذخیره نمود تا امکان استفاده از آنان در برنامه ، فراهم گردد؟. چگونه می توان اقدام به ذخیره سازی داده هائی با محتویاتی خاص نظیر : "اعداد" و یا " تاریخ " نمود؟. نحوه بازیابی اطلاعات ذخیره شده به چه صورت است ؟ در پاسخ به تمامی سوالات فوق ، می بایست به جایگاه بسیار مهم "متغیرها " در یک زبان برنامه نویسی ، اشاره نمود . متغیرها یکی از مفاهیم اولیه و در عین حال بسیار مهم در دنیای برنامه نویسی می باشند . با استفاده از متغیرها یک نام ( label ) به ناحیه ای از حافظه نسبت داده شده و امکان ذخیره سازی نوع خاصی از داده در آن فراهم می گردد . هر یک از زبان های برنامه نویسی دارای امکانات و مجموعه قوانینی به منظور تعریف ، نسبت دهی و دستابی به محتویات یک متغیر می باشند .با استفاده از متغیرها ، امکان انجام عملیات متفاوتی نظیر محاسبات ریاضی ، پردازش بر روی رشته ها ، شمارش طول یک عبارت ، در یک برنامه فراهم می گردد . VB.NET ، زبانی قدرتمند در ارتباط با نوع داده ها می باشد . در زمان تعریف یک متغیر ، می بایست نوع داده مربوطه را نیز مشخص نمود (نظیر String,Integer و یا Date ) .پس از تعریف یک متغیر و نوع آن ، نحوه برخورد با داده ( نحوه ذخیره و بازیابی و انجام عملیات مجاز بر روی آن ) ، مشخص می گردد. در این مقاله قصد داریم به بررسی امکانات VB.NET به منظور ذخیره سازی اطلاعات پرداخته و در این راستا با نوع های متفاوت داده و جایگاه هر یک از آنان ، آشنا شویم .
متغیر چیست ؟
متغیر ، مرجعی برای مراجعه به یک محل خاص در حافظه بوده که برنامه نویس برای مراجعه به آن یک نام خاص را تعریف و مشخص می نماید . از مکان های فوق به منظور ذخیره سازی اطلاعات و استفاده از محتویات مربوطه در یک برنامه استفاده می گردد. در حقیقت متغیرها ، اطلاعاتی را بطور حقیقی در خود ذخیره نمی نمایند بلکه ما را به سمت محل ذخیره سازی و در نهایت یافتن اطلاعات ، هدایت می نمایند .
مثال : در مثال زیر سه متغیر به منظور ذخیره سازی یک رشته Text ، یک مقدار عددی و یک تاریخ ، تعریف و مقداردهی شده اند .
Dim City As String
Dim Counter As Integer
Dim PublishDate As Date
City = "Tehran"
Counter = ۱۹۰
PublishDate = #۶/۱۵/۲۰۰۴#
پس از تعریف هر متغیر ، امکان نسبت دهی یک مقدار به آن ، مشاهده اطلاعات ذخیره شده ، بازیابی اطلاعات و یا درج اطلاعات جدید در آن ، فراهم می گردد.متغیرها از جمله عناصر ضروری برای ذخیره سازی داده در یک زبان برنامه نویسی بوده و VB.NET نیز از این قاعده مستثنی نخواهد بود .
تعریف یک متغیر
همانگونه که در مثال قبل مشاهده گردید ، قبل از انتساب مقدار به یک متغیر، می بایست اقدام به تعریف متغیر و مشخص نمودن نوع داده آن نمود . پس از تعریف یک متغیر و مشخص نمودن نوع آن ، نحوه برخورد با آن در برنامه مشخص خواهد شد. با استفاده از فرآیندی موسوم به Declaration ، اقدام به تعریف متغیرها و نوع آنان ، می گردد. تعریف متغیرها ، یکی از نکات مهم در دنیای برنامه نویسی است . در زما ن ایجاد صفحات پویا با استفاده از ASP.NET و توسط زبان های برنامه نویسی نظیر VB.NET و یا سی شارپ ، می بایست تمامی متغیرها قبل از استفاده دریک برنامه و یا صفحه وب ، تعریف گردند . در VB.NET برای تعریف یک متغیر از کلید واژه Dim ( اقتباس شده از واژه Dimension ) ، استفاده می گردد.
مثال : در مثال زیر ، یک متغیر رشته ای با نام strCityName ، تعریف و در ادامه مقدار " Teharn" ، به آن نسبت داده شده است .
Dim strCityName As String
strCityName = "Tehran"
در زمان تعریف یک متغیر بطور همزمان می توان مقداری را به آن نیز نسبت داد ( تعریف و مقداردهی همزمان ) :
Dim strCityName As String = "Tehran"
امکان تعریف همزمان چندین متغیر هم نوع در یک سطر نیز وجود دارد : ( تعریف همزمان چندین متغیر با نوع یکسان )
Dim strCityName۱ , strCityName۲ , strCityName۳ As String
strCityName۱ = "Tehran"
strCityName۲ ="Ahwaz"
strCityName۳ = "Shiraz"
درادامه می توان به هریک از متغیرهای تعریف شده ، مقدار مورد نظر را نسبت داد .
مثال کاربردی : در این مثال در ابتدا سه متغیر را تعریف و پس از مقداردهی مناسب هر یک از آنان ، نتایج را با یک فرمت مناسب در خروجی نمایش خواهیم داد ( یک صفحه ASPX ) .
مرحله اول : فعال نمودن ویرایشگر صفحات وب و تایپ دستورات زیر :
<Script Language= "vb" runat="server">
Sub Page_Load ( )
Dim ArticleTitle As String
Dim ArticleNumber As Integer
Dim PublishDate As Date
ArticleTitle = " ذخیره سازی اطلاعات در VB.NET ( بخش اول ) "
ArticleNumber = ۱۹۰
PublishDate = #۶/۱۵/۲۰۰۴#
Label۱.Text = ArticleTitle
Label۲.Text = ArticleNumber
Label۳.Text = PublishDate
End Sub
</Script>
<html dir="rtl">
<head>
<title>ایجاد متغیر </title>
</head>
<body>
عنوان مقاله :
<asp:label id="Label۱" runat="server" />
<br>شماره مقاله :
<asp:label id="Label۲" runat="server" />
<br>تاریخ انتشار مقاله :
<asp:label id="Label۳" runat="server" />
</body>
</html>
مرحله دوم : ذخیره نمودن برنامه فوق در فایلی با نام TestVariable.aspx
مرحله سوم : فعال نمودن فایل TestVariable.aspx در مرورگر
مرحله چهارم : برگشت به برنامه فوق و افزودن یک خط جدید ( استفاده از یک متغیر که قبلا" تعریف نشده باشد ) ...
Dim PublishDate As Date
ArticleTitle = " ذخیره سازی اطلاعات در VB.NET ( بخش اول ) "
ArticleNumber = ۱۹۰
PublishDate = #۶/۱۵/۲۰۰۴#
ArticleAuthor = "مدیریت وب "
...
Label۱.Text = ArticleTitle
...
مرحله پنجم : ذخیره نمودن برنامه فوق در فایلی با نام TestVariable.aspx
مرحله ششم : فعال نمودن فایل TestVariable.aspx در مرورگر
همانگونه که مشاهده می شود ، در خط شماره نه (خطی که از متغیر ArticleAuthor ، استفاده شده است ) به دلیل استفاده از متغیری که قبلا" اقدام به تعریف آن نشده است با یک خطاء مواجه خواهیم شد. به منظور برطرف نمودن خطای فوق ، می بایست متغیر ArticleAuthor تعریف و در ادامه مقدار مورد نظر در آن ذخیره گردد.توضیحات مثال :
در برنامه فوق ، در ابتدا اقدام به تعریف سه متغیر شده است . ما قصد داریم که از text در متغیر ArticleTitle استفاده نمائیم ، بنابراین آن را به صورت String تعریف کرده ایم . شماره مقاله یک عدد صحیح است و بدین منظور و برای نگهداری مقدار مربوطه از متغیری با نام ArticleNumber و نوع صحیح استفاده شده است . از متغیر PublishDate ، که از نوع Date تعریف شده است به منظور ذخیره تاریخ نشر یک مقاله، استفاده شده است .
Dim ArticleTitle As String
Dim ArticleNumber As Integer
Dim PublishDate As Date
پس از تعریف هر یک از متغیرها ، می توان به هر یک از آنان مقدار مورد نظر را نسبت داد : مقدار " ذخیره سازی اطلاعات در VB.NET ( بخش اول ) " ، به متغیر ArticleTitle نسبت داده شده است . در این رابطه ، مقدار مورد نظر بین علامت کوتیشن قرار داده شده است . بدین ترتیب به VB.NET اعلام می شود که ما قصد نسبت دهی یک text به یک متغیر را داریم . در صورتی که تمایل به انتساب یک مقدار عددی به متغیری را داشته باشیم ، می بایست علامت کوتیشن را حذف نمائیم. در متغیردوم ، مقداری صحیح و عددی به ArticleNumber ، نسبت داده شده است . در نهایت مقداری از نوع Date به متغیر PublishDate ، نسبت داده شده است .
ArticleTitle = " ذخیره سازی اطلاعات در VB.NET ( بخش اول ) "
ArticleNumber = ۱۹۰
PublishDate = #۶/۱۵/۲۰۰۴#
در ادامه ، سه کنترل <asp:label> ، و با نام Label۱,Label۲ و Label۳ ایجاد و مقدار خصلت Text هر یک از آنان ، محتویات هر یک از سه متغیر تعریف شده، در نظر گرفته شده است .
Label۱.Text = ArticleTitle
Label۲.Text = ArticleNumber
Label۳.Text = PublishDate
در ادامه ، یک خط جدید به برنامه اضافه گردید تا نشان داده شود که در صورت استفاده از یک متغیر که قبلا" آن را تعریف نکرده ایم ، با چه نوع خطائی برخورد خواهیم کرد. علت بروز خطاء ، به عدم تعریف متغیر ArticleAuthor ، برمی گردد . برای رفع اشکال فوق ، می بایست متغیر ArticleAuthor را در ابتدا تعریف نمود :
Dim ArticleAuthor As String
انواع نوع های ساده
VB.NET دارای دوازده نوع داده متفاوت بوده که می توان آنان را به سه گروه عمده تقسیم نمود : نوع های عددی ، نوع های حرفی ( متنی ) و نوع های متفرقه .
گروه اول : نوع های عددی
با توجه به تنوع گسترده نوع های عددی در این گروه ، می توان هر گونه عددی را به یک متغیر نسبت داد . مثلا" می توان متغیرهائی را ایجاد و به آنان اعداد صحیح ، اعداد کسری و یا اعداد اعشاری منفی را نسبت داد .
Dim IntegerNumber۱ As Integer
Dim DecimalNumber۲ As Decimal
Dim FloatingPointNumber۳ As Float
IntegerNumber۱ = ۷۵
DecimalNumber۲ = ۳.۱۴
FloatingPointNumber۳ = -۱.۴E۰۲
نوع های عددی ، یکی از انواع داده متداول در VB.NET بوده که خود به هفت نوع متفاوت تقسیم می گردند :
Integer : برای تعریف متغیرهائی که دارای مقادیر صحیح می باشند ، استفاده می گردد( ۳ ، ۱۲ ، ۵ - ) . متغیرهائی از این نوع ، قادر به نگهداری مقادیر صحیح بین ۲،۱۴۷،۴۸۳،۶۴۸ - تا ۲،۱۴۷،۴۸۳،۶۴۷ ، می باشند . برای اعداد خارج از محدوده فوق ، نوع long در نظر گرفته می شود.
Byte : متغیرهائی از این نوع ، قادر به نگهداری مقادیرصحیح بین ، ۰ تا ۲۵۵ ، می باشند . از نوع فوق به منظور انجام عملیات پایه و ساده ریاضی استفاده می گردد . ( مثلا" شمارنده هائی در برنامه که مقدار آنان حداکثر ۲۵۵ می باشد) . برای ذخیره سازی این نوع متغیرها صرفا" یک بایت حافظه در نظر گرفته می شود.
Short : نوع فوق ، شکلی خاص از نوع Integer می باشد. متغیرهائی از این نوع قادر به نگهداری محدوده کمتری از اعداد صحیح ( بین ۳۲،۷۶۸ - تا ۳۲،۷۶۷ ) در مقایسه با نوع Integer می باشند .
Long : نوع فوق شباهت زیادی به نوع Integer داشته با این تفاوت که امکان ذخیره سازی محدوده بیشتری از اعداد را فراهم می نماید. یک متغیر از نوع Long قادر به ذخیره سازی مقادیربین ۹،۲۲۳،۳۷۲،۰۳۶،۸۵۴،۷۷۵،۸۰۸ - تا ۹،۲۲۳،۳۷۲،۰۳۶،۸۵۴،۷۷۵،۸۰۷ ، می باشد . Single : متغیرهائی از این نوع ، قادر به نگهداری اعداد اعشاری با دقت معمولی ودر محدوده زیر می باشند :
محدوده نوع Single
-۳.۴۰۲۸۲۳E۳۸ to -۱.۴۰۱۲۹۸E-۴۵ اعداد منفی
۱.۴۰۱۲۹۸E-۴۵ to ۳.۴۰۲۸۲۳E۳۸ اعداد مثبت
Double : متغیرهائی از این نوع ، قادر به نگهداری اعداد اعشاری با دقت مضاعف و در محدوده زیر می باشند :
محدوده نوع Double
-۱.۷۹۷۶۹۳۱۳۴۸۶۲۳۲E۳۰۸ to -۴.۹۴۰۶۵۶۴۵۸۴۱۲۴۷E-۳۲۴ اعداد منفی
۴.۹۴۰۶۵۶۴۵۸۴۱۲۴۷E-۳۲۴ to ۱.۷۹۷۶۹۳۱۳۴۸۶۲۳۲E۲۳۰۸ اعداد مثبت
Decimal : متغیرهائی از این نوع ، قادر به نگهداری اعداد اعشاری تا حداکثر بیست و هشت رقم اعشار می باشند.
محدوده نوع Decimal
+/- ۷۹،۲۲۸،۱۶۲،۵۱۴،۲۶۴،۳۳۷،۵۹۳،۵۴۳،۹۵۰،۳۳۵ حداکثر: با لحاظ نمودن صفر رقم اعشار
+/- ۷.۹۲۲۸۱۶۲۵۱۴۲۶۴۳۳۷۵۹۳۵۴۳۹۵۰۳۳۵ حداکثر: با لحاظ نمودن بیست و هشت رقم اعشار
گروه دوم : نوع های حرفی ( متنی )
برای ذخیره سازی محتویات متنی ، از دو نوع داده String و Char استفاده می شود:
نوع String : متغیرهائی از این نوع ، همه چیز را به عنوان text در نظر می گیرند ولو این که مقدار مورد نظر شامل حروف و اعداد و یا صرفا" اعداد و یا تاریخ باشد . دستور زیر متغیری از نوع string و با نام CityName را تعریف و در ادامه مقدار "Tehran" ، به آن نسبت داده می شود.
Dim CityName As String
CityName = "Tehran"
همانگونه که قبلا" اشاره گردید ، برای نسبت دهی یک مقدار به متغیرهائی از نوع string ، از کوتیشن استفاده می شود.انجام عملیات ریاضی بر روی رشته ها ، مجاز نخواهد بود (حتی در صورتی که محتویات آنان عددی باشد) . مثلا" در صورتی که تصمیم به جمع دو رشته "۱۲" و "۱۴" را با یکدیگر داشته باشیم ، مقدار "۲۶" بدست نخواهد آمد. در چنین حالتی ، ماحصل جمع دو رشته مقدار "۱۴۱۲" ، خواهد بود . چراکه رشته Number۲ با Number۱ را جمع کرده ایم در صورتی که رشته Number۱ با Number۲ جمع شود ، مقدار " ۱۲۱۴ " را خواهیم داشت .Dim Number۱ As string
Dim Number۲ As string
Dim Number۳ As string
Number۱ = "۱۲"
Number۲ = "۱۴"
Number۳ = Number۲ + Number۱ &#۰۳۹; Result : "۱۴۱۲"
نوع Char نوع فوق ، نسبت به نوع String متفاوت بوده و در آن text به عنوان یک عدد ، ذخیره می گردد. بدین ترتیب ، امکان ذخیره سازی صرفا" یک کاراکتر در یک متغیر، فراهم می گردد. در چنین حالتی می توان یک عدد بین صفر تا ۶۵۵۳۵ را ذخیره نمود. در صورتی که قصد نمایش محتویات یک متغیر از نوع char را داشته باشیم ، صرفنظر از نحوه ذخیره سازی ، یک کاراکتر text ، نمایش داده می شود . کد زیر ، نحوه تعریف و نسبت دهی یک مقدار به متغیری از نوع char را نشان می دهد( حرف &#۰۳۹;C&#۰۳۹; ، پس از کوتیشن ، نشاندهنده این موضوع است که متغیر از نوع Char می باشد) .
Dim Letter As Char
Letter = "Q"C &#۰۳۹; This would be stored as ۸۱
گروه سوم : نوع های متفرقه دو نوع داده دیگر در VB.NET وجود دارد که می توان آنان را در این گروه قرار داد :
نوع Date : متغیرهائی از این نوع ، قادر به نگهداری تاریخ و زمان می باشند . برای ذخیره تاریخ می بایست از فرمت mm/dd/yy استفاده گردد. مقدار نسبت داده شده به یک متغیر از نوع Date توسط علائم " # " ، محصور می گردد . متغیرهائی از نوع Date ، قادر به ذخیره سازی تاریخ تا سال ۹۹۹۹ می باشند .
Dim Date۱ As Date
Date۱ = # ۱۲/ ۰۷ / ۲۰۰۴#
از متغیرهای نوع Date می توان به منظور ذخیره سازی زمان نیز استفاده نمود :
Dim Time۱ As Date
Time۱ = #۱۶:۲۵:۰۵#
نوع Boolaen : متغیرهائی از این نوع می توانند دارای مقدار True و یا False باشند . در VB.NET در صورتی که مقادیر فوق را به نوع صحیح تبدیل نمائیم ، مقادیر ۱ - و صفر را خواهیم داشت . زمانی که سایر نوع های عددی را به مقادیر Boolaen تبدیل می نمائیم ، مقدار صفر به False و سایر مقادیر به True تبدیل خواهند شد . زمانی که مقادیر Boolean را به سایر نوع های داده تبدیل می کنیم ، False مقدار صفر و True مقدار یک را دارا خواهد بود. علت این که در مواردی که True تبدیل به نوع صحیح در VB.NET می گردد مقدار ۱ - و زمانی که به سایر نوع ها تبدیل می گردد ، مقدار ۱ + را دارا می باشد ، به حمایت از کدهای نوشته شده قبلی در ویژوال بیسیک برمی گردد .
Boolean Value
Numeric value
True
False
-۱ / +۱
۰
از متغیرهای Boolean ، می توان به منظور نگهداری وضعیت یک متغیر استفاده نمود. در صورتی که مقدار اینچنین متغیرهائی True نباشد ، قطعا" مقدار آنان False خواهد بود. بدین ترتیب می توان از این نوع متغیرها در موارد متعدد و متناسب با شرایط موجود استفاده و پس از اتخاذ تصمیم ، عملیات مورد نظر را دنبال نمود.
Dim Done As Boolean
Done = False
If Done = False then
...
Else
...

مقدار False و یا True ، نمی بایست بین کوتیشن قرار داده شوند .
نامگذاری متغیرها
بهترین حالت برای نامگذاری یک متغیر ، در نظر گرفتن نامی است که نشاندهنده وظیفه یک متغیر در برنامه باشد. در صورتی که اسامی متغیرها به درستی انتخاب گردند ، خوانائی برنامه و در نهایـت نگهداری و اعمال تغییرات در آینده نیز راحتر خواهد بود . پیشنهاد می گردد ، اسامی متغیرها به صورت تشریحی در نظر گرفته شود، حتی اگر این کار باعث طولانی تر شدن اسامی می گردد .برای انتخاب نام یک متغیر ، موارد زیر پیشنهاد می گردد : استفاده از اسامی نظیر DateStart و یا DateEnd بمراتب بهتر از اسامی StartDate و یا EndDate می باشد ، چراکه اسامی فوق در صورت جستجوی متغیرها بر اساس حروف الفبائی، به دنبال هم نمایش داده می شوند . متغیرهائی نظیر Price ،Name و Number گیج کننده می باشند . چراکه معمولا" در برنامه ها بیش از یک مورد از آنان وجود دارد نظیر : NameFirst ,NameLast, PriceBuy و PriceSell . استفاده از اسامی مشابه نوع داده ها ، مجاز نمی باشد . مثلا" تعریف متغیری با نام Integer ، مجاز نخواهد بود . برای نامگذاری متغیرها از اسامی خلاصه شده ای که اقتباس شده از کلمات متفاوتی می باشند، استفاده نگردد . مثلا" استفاده از متغیری با نام FDOM که اقتباس شده از کلمات First Day Of Month می باشد ، یک انتخاب مناسب نخواهد بود ، چراکه FDOM می تواند مخفف کلمات متعددی باشد . در اکثر زبان های برنامه نویسی انتخاب یک نام برای متغیر تابع مجموعه مقررات و محدودیت هائی است . در VB.NET تمامی متغیرها می بایست با یک حرف شروع شده و نمی بایست نام در نظر گرفته شده شامل نقطه و یا فضای خالی باشد . پیشنهاد می گردد به منظور افزایش خوانائی یک برنامه، صرفا" از علامت Underscore ( _ ) به همراه نام یک متغیر استفاده گردد .VB.NET نسبت به حروف بزرگ و کوچک حساس نمی باشد . مثلا" متغیرهائی با نام counter و COUNTER مشابه در نظر گرفته خواهند شد .برخی از زبان های برنامه نویسی نظیر سی شارپ و یا Jscript.NET ، نسبت به حروف بزرگ و کوچک حساس بوده و متغیرهائی با نام counter و COUNTER ، به عنوان دو متغیر جداگانه در نظر گرفته می شوند .روشی برای نامگذاری متغیرها
در صورتی که دارای تعداد زیادی متغیر در یک برنامه باشیم ، می بایست از روش های خاصی به منظور آگاهی از نوع محتویات آنان ، استفاده کرد. در چنین مواردی می توان به بخش تعاریف متغیرها در برنامه مراجعه نمود و از نوع داده مربوط به هر یک از آنان آگاهی یافت . در مواردیکه هزاران متغیر در یک برنامه تعریف شده است ، منطقی نخواهد بود که برای آگاهی از نوع محتویات یک متغیر، لیست تمامی متغیرها را بررسی نمود . در یک برنامه در برخی مواقع لازم است که نوع یک متغیر به نوع دیگر، تبدیل گردد، در چنین مواردی آگاهی از نوع یک متغیر کمک قابل توجهی را به برنامه نویس ارائه داده و از بروز خطاء در برنامه پیشگیری می نماید .بدین منظور می توان از مجموعه ای قواعد که به نوعی امروزه بین برنامه نویسان مرسوم شده اند ، برای مشخص نمودن نوع یک متغیر استفاده نمود . قواعد فوق ، اجباری نبوده و صرفا" بین برنامه نویسان مرسوم شده اند.رویکرد فوق ، گزینه ای مناسب برای نامگذاری متغیرها با توجه به نوع داده آنان است . در این روش که موسوم به Hungarian notation می باشد ،از سه حرف اول نام هر متغیر به منظور شناسائی نوع داده متغیر، استفاده می گردد :
Data Type
Prefix Example
Boolean bln blnMember
Byte byt bytByte
Char chr chrChar
Date dat datToday
Double dbl dblDouble
Decimal dec decDecimal
Integer int intSalary
Long lng lngLong
Single sng sngSingle
Short sho shoShort
String str strTextBoxدر این رابطه از روشی دیگر با نام Short Hungarain notation استفاده می گردد . برای آگاهی از جزئیات این روش می توانید از آدرس MSDN ، استفاده نمائید.
عملگرها ( Operators )
استفاده از متغیرها در یک زبان برنامه نویسی زمانی مفید خواهد بود که بتوان بر روی آنان عملیاتی را انجام داد . به منظور انجام عملیات بر روی متغیرها ، نیازمند استفاده از "عملگرها" می باشیم . "عملگر" ، علامتی است که مسئولیت انجام یک عملیات از قبل تعریف شده را بر روی "اپراندهای " خود و تولید نتیجه مورد نظر ، برعهده دارد . اگر ۱+۲ = X باشد ، "X " یک متغیر ، "=" یک عملگر و مقادیر یک و دو ، اپراندهای آن می باشند .
عملگر نسبت دهی
عملگر "=" ، متداولترین و شناخته ترین عملگر استفاده شده در دنیای برنامه نویسی است.از عملگر فوق به منظور نسبت دادن مقدار به یک متغیر استفاده می گردد. ( متغیر در سمت چپ و مقدار متغیر در سمت راست عملگر "=" ،قرار می گیرد) .
Dim intNumber۱ As Integer
intNumber۱ = ۷۴۴۷
VB.NET هیچگونه تاکید و یا اجباری در خصوص تعداد فضای خالی ( Space ) استفاده شده در دو طرف علامت "=" ندارد.برنامه نویسان به منظور افزایش خوانائی برنامه ، می توانند به تعداد مورد نظر از فضای خالی استفاده نمایند .
Dim intNumber As Integer
intNumber = ۳
عملیات ریاضی
در VB.NET ارزیابی یک عبارت از سمت راست به چپ ، انجام می شود. مثلا" در عبارت intNumber۱ = intNumber۱ + ۱ ، در ابتدا مقدار intNumber۱ + ۱ ، محاسبه شده و در ادامه مقدار بدست آمده در متغیر intNumber۱ ، ذخیره می گردد . علامت "=" ، وظیفه یک عملگر نسبت دهی را برعهده داشته و پس از محاسبه مقدار مورد نظر آن را به متغیر intNumber۱ نسبت می دهد .
Dim intNumber ۱ As Integer
intNumber۱= ۲
intNumber۱ = intNumber۱ + ۱
عملگرهای محاسباتی
در VB.NET از عملگرهای محاسباتی زیر استفاده می شود :
کاربرد
عملگر
جمع
+
تفریق
-
ضرب *
تقسیم /
توان
^
منفی -
باقیمانده MOD
مثال : در برنامه زیر ، دو متغیر به اسامی intNumber۱ و intNumber۲ تعریف و پس از انتساب مقدار مورد نظر به هر یک از آنان ، مقادیر دو متغیر با یکدیگر جمع و حاصل در متغیری دیگر و با نام intNumber۳ ، ذخیره می گردد .
Dim intNumber۱ As Integer
Dim intNumber۲ As Integer
Dim intNumber۳ As Intege
intNumber۱ = ۱۴
intNumber۲ = ۱۲
intNumber۳ = intNumber۱ + intNumber۲
به منظور مشخص نمودن اولویت انجام محاسبات در یک عبارت ، می توان از پرانتر استفاده نمود . مثلا" در کد زیر ، در ابتدا مقدار موجود در متغیر intNumber۲ بر عدد شش تقسیم و در ادامه مقدار به دست آمده به متغیر intNumber۱ اضافه شده و در نهایت ، نتیجه بدست آمده در متغیری با نام intNumber۳ ذخیره می گردد( استفاده از پرانتز در یک عبارت ، باعث افزایش خوانائی برنامه نیز می گردد ) .
Dim intNumber۱ As Integer
Dim intNumber۲ As Integer
Dim intNumber۳ As Integer
intNumber۱= ۱۴
intNumber۲ = ۱۲
intNumber۳ = intNumber۱ + (intNumber۲ /۶ )
مثال : در برنامه زیراز یک رابطه ساده ریاضی به منظور محاسبه میزان مالیات ، استفاده شده است .
<Script language="vb" runat="server">
Sub Page_Load ( )
Dim intEarn As Integer
Dim intTax As Integer
Dim decTotal As Decimal
intEarn = ۱۵۰
intTax = ۱۰
decTotal = intEarn - ( ( intEarn / ۱۰۰ ) * intTax )
Display۱.Text = intEarn
Display۲.Text = ( intEarn / ۱۰۰ ) * intTax
Display۳.Text = decTotal
End Sub
</Script>
<html dir="rtl">
<head>
<title> استفاده از عملگرها در یک عبارت ریاضی </title>
</head>
<body>
میزان دستمزد : <asp:label id="Display۱" runat="server" /><Br>
مالیات : <asp:label id="Display۲" runat="server" /><Br>
مبلغ پرداختی پس از کسر مالیات : <asp:label id="Display۳" runat="server" />
</body>
</html>
پس از ذخیره برنامه فوق در فایلی با نام TestTax.aspx و مشاهده آن در مرورگر ، خروجی زیر را خواهیم داشت :
توضیحات : در برنامه فوق ، از سه متغیر به اسامی intEarn (به منظور ذخیره میزان دستمزد) ، intTax ( به منظور ذخیره نرخ محاسبه مالیات ) و decTotal ( به منظور ذخیره مبلغ خالص پرداختی ) ، استفاده شده است .
Dim intEarn As Integer
Dim intTax As Integer
Dim decTotal As Decimal
در ادامه ، مقادیر مورد نظر به متغیرهای intEarn ( مقدار ۱۵۰ ) و intTax ( مقدار ۱۰ ) ، نسبت داده شده است .
intEarn = ۱۵۰
intTax = ۱۰
به منظور محاسبه مبلغ قابل پرداخت ، در ابتدا میزان مالیات با توجه به نرخ مشخص شده ( ۱۰ درصد) ، محاسبه و پس از کسر مبلغ فوق از میزان دستمزد ، حاصل در متغیر decTotal ، ذخیره می گردد. از پرانتر به منظور مشخص نمودن اولویت محاسبات ، استفاده شده است .decTotal = intEarn - ( ( intEarn / ۱۰۰ ) * intTax )
در نهایت ، مقادیر decTotal ، intEarn و میزان مالیات محاسبه شده به خصلت text هر یک از کنترل های label۱,label۲ و label۳ نسبت داده شده است ( Display۱ ، Display۲ و Display۳ ) .
Display۱.Text = intEarn
Display۲.Text = ( intEarn / ۱۰۰ ) * intTax
Display۳.Text = decTotal
عملیات بر روی رشته ها
با استفاده از عملگر "+" می توان دو متغیر از نوع integer را با یکدیگر جمع نمود . در صورتی که دارای دو متغیر از نوع string باشیم و بخواهیم دو رشته فوق را با یکدیگر ترکیب نمائیم از فرآیندی با نام Concatenation ، استفاده می شود . در دات نت به منظور اتصال رشته ها و الحاق آنان به یکدیگر از دو روش مختلف استفاده می گردد : .
روش اول : در این روش ، رشته دوم به انتهای رشته دوم اضافه شده و رشته ای جدید ایجاد می گردد . بدین منظور از عملگر "&" ( ampersand ) ، استفاده می شود .
Dim strTest As String
strTest = " Test " & "VB.NET"
ماحصل ترکیب دو رشته فوق ، TestVB.NET بوده که به متغیر strTest نسبت داده می شود. در VB.NET به صورت اتوماتیک از فضای خالی ( Space ) استفاده نمی گردد و در صورت لزوم می توان به میزان دلخواه فضای خالی را به عنوان یک رشته استفاده و آن را با سایر متغیرها ، ترکیب نمود . در مثال زیر سه رشته که یکی از آنان Space ( که خود نیز یک رشته است ) ، می باشد با یکدیگر ترکیب شده اند.
Dim strTest As String
strTest = " Test " & " " & "VB.NET"
ماحصل ترکیب سه رشته فوق ، Test VB.NET بوده که به متغیر strTest نسبت داده می شود .
روش دوم : در این روش برای اتصال رشته ها به یکدیگر از عملگر "=+" ، استفاده می گردد . ( در متغیر strTest مقدار : " TestString TestString TestString TestString " ، ذخیره می گردد).
Dim strTest As String
Dim strFirst As String
strFirst ="TestString "
strTest += strFirst
strTest += strFirst
strTest += strFirst
مقایسه رشته ها
از عملگرهای مقایسه ای به منظور مقایسه محتویات دو متغیر و انجام عملیات مورد نظر با توجه به نتایج بدست آمده ، استفاده می شود . در مواردی که متغیرها از نوع String می باشند ، امکان مقایسه و مرتب نمودن متن با توجه به اولویت هر یک از حروف الفبائی ، فراهم می گردد. جدول زیر ، عملگرهای مقایسه ای را نشان می دهد
کاربرد
عملگر
مساوی
=
کوچکتر
>
کوچکتر یا مساوی =>
نامساوی <>
بزرگتر
<
بزرگتر یا مساوی =<
در مثال زیر دو متغیر از نوع String و به اسامی strName۱ و strName۲ تعریف و پس از نسبت دادن مقدار دلخواه به هر یک از آنان ، از عملگرهای مقایسه ای به منظور مقایسه و انجام عملیات مورد نظر استفاده شده است .
Dim strName۱ As String
Dim strName۲ As String
strName۱="Test۱"
strName۱="HHH"
If strName۱ < strName۲ Then Display۱.Text = " Test۱"
If strName۲ < strName۱ Then Display۱.Text = " HHH"
ثوابت
ثوابت ، به منزله متغیرهائی می باشند که مقدار نسبت داده شده به آنان در زمان اجرای برنامه تغییر نمی نماید. "نرخ محاسبه میزان مالیات " ، نمونه ای در این زمینه بوده که مقدار آن به ندرت تغییر می نماید. در زمان فروش یک کالا و به منظور محاسبه میزان مالیات مربوطه ، ممکن است به دفعات به آن مراجعه گردد . حتی اگر نرخ محاسبه مالیات تغییر یابد ، شما صرفا" مجبور به اعمال تغییرات در یک مکان ، خواهید بود. استفاده از "ثوابت " ، خوانائی یک برنامه را افزایش و باعث تسهیل در امر نگهداری یک برنامه می گردد .
اکثر زبان های برنامه نویسی روش خاصی را به منظور تعریف "ثوابت " ، در اختیار برنامه نویسان قرار می دهند . در VB.NET به منظور تعریف یک ثابت از کلید واژه Const استفاده می گردد ( معمولا" اسامی ثوابت ، به صورت "حروف بزرگ " ، در نظر گرفته می شوند ).
Const TAXRATE = ۱۰
پس از تعریف یک ثابت ، در صورتی که در ادامه برنامه قصد تغییر مقدار نسبت داده شده به آن را داشته باشیم ، با یک پیام خطاء مواجه خواهیم شد .
نوع های داده ساختیافته
نوع های ساده ، صرفا" قادر به ذخیره سازی یک آیتم اطلاعاتی می باشند . در صورتی که قصد ذخیره چندین آیتم اطلاعاتی مرتبط به هم در یک برنامه را داشته باشیم ، می بایست از "نوع های داده ساختیافته " ، استفاده گردد. VB.NET دارای امکانات متعددی به منظور ذخیره نمودن اینگونه اطلاعات است ( از اشیاء دیکشنری تا جدول hash و XML ) . در ادامه با "آرایه ها" که ساده ترین نوع در این زمینه می باشند ، آشنا می شویم .
آرایه ( Array )
از آرایه ها به منظور ذخیره سازی مجموعه ای از اقلام اطلاعاتی مرتبط به هم در متغیرهائی که همگی دارای یک نام بوده و توسط یک ایندکس عددی اضافه شده به انتهای آنان شناسائی می گردند، استفاده می شود. دستورات زیر نحوه تعریف یک آرایه و نسبت دهی مقدار به هر یک از عناصر آن را نشان می دهد .
Dim StrName ( ۵ ) As String
StrName(۰) = "AAA"
StrName(۱) = "BBB"
StrName(۲) = "CCC"
StrName(۳) = "DDD"
StrName(۴) = "EEE"
StrName(۵) = "FFF
اولین ایندکس یک آرایه، صفر در نظر گرفته می شود ( Zero based ) . در مثال فوق ، شش عنصر و به ترتیب در مکان های صفر تا پنج آرایه ، ذخیره می گردند .
تعریف یک آرایه
آرایه ها نظیر متغیرها می بایست با استفاده از کلید واژه Dim تعریف گردند . تعریف یک آرایه مستلزم تعریف یک پارامتر اضافی دیگر به منظور مشخص نمودن اندازه آن است . دستور زیر یک آرایه با اندازه پنجاه و از نوع String را تعریف می نماید . تمامی المان های آرایه می بایست از نوع String باشند .
Dim Strarray۱ (۴۹) As String
آرایه های چند بعدی
در مواردی که اطلاعات دارای ماهیتی دوبعدی و مرتبط به هم می باشند ، می توان از یک آرایه دوبعدی به منظور ذخیره آنان استفاده نمود . مثلا" در صورتی که قصد ذخیره مجموعه ای از اطلاعات مرتبط به هم نظیر نام و نام خانوادگی را داشته باشیم ، می توان از یک آرایه دوبعدی استفاده نمود. به منظور تعریف یک آرایه دو بعدی می بایست یک پارامتر دیگر را در زمان تعریف آرایه نیز مشخص نمائیم . دستورات زیر نحوه تعریف و مقداردهی یک آرایه دو بعدی ۴ * ۴ از نوع string را نشان می دهد ( امکان ذخیره حداکثر شانزده عنصر در این آرایه وجود خواهد داشت ) .
Dim strArray۱ (۳,۳) As String
...
strArray (۰,۰) = "AAA"
strArray (۰,۱) = "BBB"
...
در VB.NET امکان تعریف یک آرایه حداکثر شصت بعدی وجود خواهد داشت . استفاده از آرایه های بیش از سه بعد توصیه نشده و در صورت نیاز می توان از سایر راهکاری موجود نظیر بانک های اطلاعاتی ، استفاده نمود .
خلاصه
در مجموعه مقالاتی که با عنوان " نحوه ذخیره سازی اطلاعات در VB.NET " ، ارائه گردید با موارد زیر آشنا شدیم :
جایگاه استفاده از متغیرها در یک برنامه
نحوه تعریف متغیر در VB.NET و استفاده از آنان در صفحات ASP.NET
بررسی انواع نوع های داده ساده
نحوه انجام عملیات بر روی متغیرها و انجام برخی محاسبات ساده با استفاده از عملگرهای محاسباتی و مقایسه ای
بررسی نوع های داده ساختیافته و نحوه استفاده از یک آرایه در برنامه