Integer
یک عدد صحیح می باشد.
دو نوع داده با Integer وابستگی دارند .
byte, long .
long می تواند اعداد بزرگتر از محدوده integer را در خود ذخیره نماید.
یک byte کوچکتر می باشد.
اعداد اعشاری یا Floating-point numbers
اعداد اعشاری اعداد decimal می باشند .
توجه به این نکته مهم می باشد که اعداد ممیز شناور و اغلب گرد شده یا بریده می شوند تا به اندازه فضایی شوند که به آنها اختصاص داده شده است .
نوع داده ای single , double به اعداد ممیز شناور ، اختصاص داده شده اند فرق بین این دو دقت اعدادی که در خود ذخیره می کنند می باشند در نوع داده double دو برابر single حافظه لازم دارید اما بدیهی است که محدوده اعداد بزرگتر را می تواند در خود نگهداری کند و همچنین دقت بیشتری نسبت به single دارد.
رشته String
یک رشته می تواند زنجیره ای از حروف ، اعداد، و نشانه ها را در داخل خود نگهداری کند.
اطلاعات Data
یک ویژگی مفید Vbscript که در دیگر زبانهای برنامه نویسی وجود ندارد مدیریت اطلاعات می باشد .
اگر چه می توان داده ها را به صورت رشته ها یا اعداد نمایش داد ولی استفاده از این متغیر داده ای می تواند زمان یا تاریخ و اطلاعات متنوع توابع تاریخ Vbscript و عملگرهایی که فرمت و اطلاعات مربوط به تاریخ را چاپ می نمایند را نگهداری کنند.
Boolean
یک متغیر boolean مقادیر درست یا غلط را در خود نگهداری می کند.
نوع داده Currency
یک عدد دقیق که تنها برای ذخیره مقادیر پولی به خوبی کار خواهد کرد اما Vbscript یک نوع داده مخصوص برای پول مهیا می کند که با چندین تابع ویژه Vbscript کار می کند
Object
این قسمت به اشیاء مخصوص اشاره دارد در کارکردن با عملگرهای مربوطه به پایگاه های داده استفاده می شود.
Variant Variables
در بیشتر زبانهای برنامه نویسی تفاوتی باید بین متغیرهای داده های مختلف وجود داشته باشد.
یک متغیر که برای نگهداری رشته ها استفاده می شود بعداً برای نگهداری یک عدد نمی تواند مورد استفاده قرار بگیرد البته این موضوع در زبان Vbscript صادق نمی باشد.
Vbscript از Variant Variables هایی استفاده می کند که متغیرهایی هستند که شامل مقادیری از هر نوع می تواند باشد.
مقدار دادن به یک متغیر
در تعدادی از زبانهای برنامه نویسی قبل از اینکه شما از متغیرها استفاده کنید باید به سیستم اعلام نمایید که از چه نوعی از داده می خواهید در داخل متغیر استفاده کنید و چه کاری با آن متغیر میخواهید انجام دهید.
برای مثال در زبان برنامه نویسی c++ شما باید بگویید که
int my_variable;
my_variable = 2;
Vbscript همه چیز را کمی ساده تر می کند در Vbscript لازم نیست که نوع متغیر را یعنی char, real, integer یا هر نوع متغیری را که ایجاد میکنید تعیین نمایید.
در Vbscript همه متغیرها به وسیله کلمه کلیدی dim تعریف میگردند این بدین خاطر است که در Vbscript از variant variables ها استفاده میگردد .
بنابراین جملهی معادل برای آن چیزی که در c++ توصیف شد عبارت زیر است:
Dim my_variable
در اینجا در اولین خط my_variable به عنوان متغیر توصیف گشته است بدون اینکه my_variable را به عنوان یک متغیر از نوع integer تعیین نماییم.
حتی در خط اول ابداً لزومی ندارد، در Vbscript استفاده از خط دوم بدون اینکه اشارهای بهmy_variable شود به سادگی قابل قبول میباشد به این کار implicit declaration می گویند.
از dashes, perrids, Spaces استفاده نکنید .
استفاده از هر کدام از موارد ذکر شده در نام متغیرتان یک پیغام خطا را ایجاد میکنند در عوض اگر شما میخواهید چیزی را گسترش دهید سعی کنید از علامت (_) استفاده نمایید برای مثال my_first_variable یک نام متغیر است در صورتی که my first variable چنین نمی باشد.
نامهای متغیرها باید با یک حرف شروع شوند Underscore و اعداد می توانند در داخل نامهای متغیرتان تعریف گردند اما نه به عنوان کاراکتر اول.
• نام متغیرها نباید طولانی تر از 255 کاراکتر باشد.
• از کلمات کلیدی به عنوان متغیرها استفاده نکنید.
• از نام متغیرها دوباره استفاده ننمایید شما می توانید از نام متغیرها دوباره استفاده نمایید فقط آگاه باشید که شما نمی توانید از همان نام برای دو متغیر مختلف استفاده نمایید.
• همان طوری که پیش از این ذکر گردید Vbscript از variant variable ها استفاده مینماید که با وجود آنها شما دیگر نیازی برای ساختن یک متغیر مخصوص برای یک نوع داده را ندارید.
آنها کدهای شما را برای خواندن دیگران سادهتر مینمایند اما بهتر از آن اینکه آنها چیزهایی را برای شما که میخواهید بنویسید راحتتر مینمایند.
همان طوری که پیش از این ذکر گردید Vbscript از variant variable ها استفاده مینماید که با وجود آنها شما دیگر نیازی برای ساختن یک متغیر مخصوص برای یک نوع داده را ندارید.
آنها کدهای شما را برای خواندن دیگران سادهتر مینمایند اما بهتر از آن اینکه آنها چیزهایی را برای شما که میخواهید بنویسید راحتتر مینمایند.
استفاده از نامهای توصیفی بیشتر برنامه نویسان سعی میکنند که به وسیله استفاده از یک حرف برای نام متغیرها کمتر تایپ نمایند .
تصور نمایید که شما در خال خواندن 100 خط از کدها می باشید و به یک خطی مثل x=5 برخورد مینمایید این عبارت به چه معنی میباشد؟
حرف x چیست ؟
آیا یک متغیر از نوع رشته ای میباشد که میخواهید اسم کاربر را در خود نگاه دارد که در آن صورت نامی مانند strUserName را باید به کار ببرید اگر آن یک رشته را نگاه میدارد که حقوق اشخاص می باشد باید آن را syssalary بنامیم .
تمام متغیرها را در ابتدای برنامه تعریف نمایید اگر حتی بعد از استفاده از نامهای مناسب شما در به یادآوری نام یک متغیر به خصوص دچار مشکل شدید بهتر است بدانید که کجا میتوانید آن متغیر را پیدا کنید بیشتر زبانها از این واقعیت استفاده مینمایند.
ثابتها Constants یک ثابت متغیری میباشد که شما به آن یک نام دادهاید و یک data را در آن ذخیره کردهاید .
برعکس متغیرها ،ثابتها وقتی که آنها را تعریف میکنید ، یک مقدار میگیرند و آن مقدار دیگر تغییر داده نمی شود.
Vbscript چندین ثابت پیش ساخته برای خود دارد.
آرایه ها یک نوع دیگر از داده ها وجود دارند که شما هنوز به آنها برخورد نکردهاید یک متغیر آرایهای ، مجموعهای از متغیرها می باشند با داشتن یک نام ، اما به وسیله یک اندیس تشخیص داده میشوند.
آرایه ها برای گروهی از داده ها که از یک نوع میباشند استفاده می شوند.
چگونه نوع متغیرها را مشخص میکنید ؟
دو تابع در هنگام data type که در داخل متغیرها ذخیره میگردند سودمند میباشند اولین آنها vartype میباشد که به صورت زیر مورد استفاده قرار می گیرد.
Vartype (variable-name) تابع vartype یک کد عددی را بر می گرداند که مطابقت داشتن با نوع داده را مشخص می کند .
تابع دوم که قشنگتر از اولی است تابعی به نام typename می باشد .
typename یک رشته را بر میگرداند که نام نوع دادهای است که به عنوان یک کد استفاده میشود و مانند تابع vartype استفاده میگردد مقادیر برگشتی از تابع typename و منظور آنها در جدول 1 لیست شده است.
Value Constant Datatype 0 Vbempty Empty 1 Vbnull Null 2 Vbinteger Integer 3 Vblong Long 4 Vbsingle Single 5 Vbdouble Double 6 Vbcurrency Currency 7 Vbdate Date 8 Vbstring String 9 Vberror Error 10 Vbboolean Boolean 11 Vbvariant Variant 12 Vbdataobject Object 13 Vbdecimal Decimal 14 Vbbyte Byte جدول 1 Abstraction data type داده مجرد نوع داده مجرد(ADT) یک نوع داده انتزاعی است، جایی که فرم های داخلی پشت مجموعه ای از توابع پنهان شده اند.
مقدار این نوع فقط توسط فراخوانی توابع ایجاد و ویرایش می گردد.
این نوع به ما اجازه می دهد که انواع تغییر یافته را بدون نیاز به تغییرات خارجی ماژول پیاده سازی کنیم.
اشیاء و ADT ها هر دو فرم هایی از داده های انتزاعی هستند اما اشیاء داده مجرد نیستند.
اشیاء متدهای رویه ای انتزاعی را استفاده میکنند نه نوع انتزاعی.
که مثال قدیمی از داده مجرد، پشته می باشد ،توابعی که یک پشته خالی را برای PUSH کردن مقادیر روی پشته و POP کردن مقادیر از آن ایجاد میکنند.
دستور زبان انتزاعی یک نمایش از داده (عموماً یک پیام در طول یک لینک ارتباطی یا یک برنامه کامپایل شده) که مستقل از ساختمان ماشین و کد کردن و همچنین نمایش فیزیکی داده ها می باشند.
یک نمایش داخلی از یک برنامه کامپایل شده به اجزای ساده تری مانند دستورات، عبارات و شناسه ها توسط دستور زبان انتزاعی تقسیم می شود.
که این از دستور مبدأ کامپایل شده مستقل است.
یک PARS TREE شبیه به یک درخت Abstraction Syntax می باشد با این تفاوت که شامل خصیصه هایی چون پرانتزها نیز می باشد که بصورت نحوی مهم می باشند.
Sequence Control انواع کنترل سه نوع اصلی از ساختارهای کنترلی در برنامه نویسی مورد استفاده قرار می گیرند.
آنها اجازه کنترل کردن را به ما میدهند تا دستورات را هر چند بار که میخواهیم اجرا کنیم.
استفادهی بجا از این ساختارهای کنترلی برای یک برنامه نویس به عنوان یک مهارت محسوب می گردد خوشبختانه منطق پشت این ساختارها بسیار واضح می باشد.
1 ـ منطق شرطی 2 ـ منطق حلقه ها 3 ـ منطق انشعابی یا Branching logic IF –Then statement جمله if … then یکی از معمولترین ساختارهای کنترلی می باشد.
شکا دستوری آن بصورت if condition Then code block End if If … then …..
else statement گاهی اوقات مفید است که یک قطعه از کد فقط وقتی اجرا گردد که شرط ما غلط است .
شما میتوانید با اضافه کردن یک عبارت else به ساختار if … then این کار را انجام دهید.
If condition then Code block 1 Else Code block 2 End if ElseIf statement عبارت elseIf ساختارهای if های تو در تو را سادهتر میسازد برای مثال به عبارت if در مثال زیر توجه نمایید : if condition then code block 1 else if condition2 then code block 2 can be changed to this: if condition 1 then code block 1 ElseIf condition 2 then Code block 2 … تابع ElseIf به عنوان یک ترکیب از if و else می باشد دو چیز را هنگامی که از تابع else if استفاده می کنید در نظر داشته باشید.
تابه ElseIf بعد از یک Else قرار نمیگیرد .
شما میتوانید از ElseIf به صورت تکراری استفاده نمایید.
اما عبارت ElseIf را بعد از Else نباید استفاده کنید .
ElseIf نیازی به end if ندارد اما عبارت if اصلی به endif نیاز دارد کنترل های منطقی حلقوی منطق حلقه یک بلوک از کدها را به صورت تکراری اجرا می نماید البته تا وقتی که شرط معینی اتفاق بیفتد یا هنگامی که شروط معینی درست باشند.
عبارات Do … loop Do ….
یکی از دو شکل را می تواند داشته باشد شکل اول do while … loop یک بلوک از کد را تا هنگامی که شرط معینی درست باشد اجرا میکند.
نوع دوم do until … loop یک بلوک از کد را تا وقتی که به یک شرط معین برسد اجرا میکند.
Do while … loop شکل عبارت do while … loop به صورت زیر میباشد.
Do while condition Code block کد بلوک تا زمانی که شرط درست است اجرا میگردد اگر شرط نادرست باشد برای بار اول عبارت do اجرا میگردد اما حلقه هیچگاه اجرا نمیگردد.
مثال زیر اعداد 1 تا 10 را با استفاده از Do while … loop میشمارد.
Icount =1 Do while icount Response.
write (icount) Icount = icount + 1 عبارتهای Do until … loop عبارت do until … loop بسیار شبیه عبارت Do while ….
Loop میباشد تنها فرق آن با do while … loop در این است که در Do until … loop حلقه تا زمانی اجرا میگردد که شرط true شود نه false هرکاری که یکی از آنها میتواند انجام دهد حلقه نوع دوم نیز میتواند انجام دهد تنها فرق در این است که آیا شرط به صورت مثبت نوشته شده است یا خیر ؟
شمارنده تا 10 (فقط زیر) یک اسکریپت میباشد که در آن از حلقه Until به جای while استفاده شده است.
Dim icount Icount =1 Do Until icount > 10 Response.
write (icount) % > Icount = icount + 1 LOOP %> عبارتهای While …Wend عبارت While … wend همانند Do while… loop میباشد این دستور زبان به خاطر اینکه برای بیشتر برنامه نویسان آشنا میباشد آورده شده است.
به جای do while کلمه while و به جای عبارت loop کلمه wend قرارداده شده است.
با این وجود while… wend دقیقا همان کار do while … loop را انجام میدهد.
عبارتهای for… next حلقه for … next وقتی استفاده میشود که تعداد دفعات اجرای کد مشخص میباشد .
این حلقه یک بلوک کد را به تعداد دفعات معینی اجرا میکند.
شکل زیر یک حلقه for … next میباشد.
For counter-variable