آموزش تخصصی ویژوال بیسیک 6

مسائل مربوط به برنامه نویسی ویژوال بیسیک 6

آموزش تخصصی ویژوال بیسیک 6

مسائل مربوط به برنامه نویسی ویژوال بیسیک 6

توابع داخلی ویژوال بیسیک

در ویژوال بیسیک تابع هایی وجود دارد که  نیازهای شمارا به مقدار قابل توجهی برطرف میکند.

توابع در ویژوال بیسیک انواع مختلف دارد که ما در این بخش به مطالعه توابع کار با اعداد و توابع محاسباتی و  توابع کار با رشته ها و توابع تاریخ و زمان می پردازیم.

 

الف- توابع محاسباتی:

 ۱ - تابع قدر مطلق که ساختار تابع به صورت زیر است.

(مقدار عددی) ABS

مثال: در دستور زیر مقدار ۱ برگردانده میشود.     

(۱-) ABS

 

۲- تابع سینوس که ساختار آن به صورت زیر است.

(مقدار عددی) Sin

مثال: مقدار برگشتی دستور زیر برابر ۰۱۷۴/ ۰ میشود.

(۱) Sin

 

۳- تابع کسینوس که ساختار آن به صورت زیر است.

(مقدارعددی) Cos

مثال : مقدار برگشتی تابع زیر برابر ۹۹۹/ ۰ است.

(۱) Cos

 

۴- تابع جذر که شکل کلی آن به صورت زیر است.

(مقدار عددی) SQR

مثال : مقدار برگشتی تابع زیر برابر ۳ میشود.

(۹) SQR

 

۵- تابع علامت. این تابع علامت یک عدد را برمیگرداند که ساختار آن به صورت زیر است.

(مقدار عددی) SGN

مثال : مقدار برگشتی تابع زیر برابر "-" است.

(۶-) SGN

 

۶- تابع فیکس. این تابع اعداد بعد از اعشار یک عدد را قطع میکند و به قول خودمون رندش میکنه.

(عدد) Fix

مثال: مقدار برگشتی تابع زیر برابر ۲۰ است.

(۲۰.۱۵۴) Fix

 

در ویژوال بیسیک توابع محاسباتی بسیار زیادی وجود دارد که بعدآ لیستی از ۱۰۰ تا ۲۰۰ تا از آنها را برای شما دوستان میزارم.

 

ب- توابع کار با رشته ها:

رشته ها ثابت یا متغیر هایی هستند که حروف الفبا در آنها ذخیره میشود.

 

۱- تابع تبدیل عدد به رشته. این تابع یک عدد را میگیرد و آن را به رشته تبدیل میکند. ساختارآن به صورت

(عدد) STR

نکته: اگر شما بخواهید یک عدد را به یک رشته متصل کنید باید حتما آن عدد را به رشته تبدیل کنید وگر نه کامپایلر برنامه به شما خطا میدهد. بنابراین تابع "STR" یکی از توابع مهم ویژوال بیسیک است.

 

۲- تابع Space . این تابع همان طور که از نامش معلومه به مقدار مورد نظر برای ما بین رشته ها جای خالی قرار میدهد که ساختار آن به صورت زیر است.

(تعداد جاخالی که میخواهد گذاشته شود) Space

مثال: مقدار برگشتی در این مثال برابر   Ali     123  است.(به فضای بین علی و ۱۲۳ توجه کنید.)

X = Ali

Y = 123

Z = X + Space(5) + Y

 

۳- تابع UCase. این تابه حروف یک رشته را به صورت حروف بزرگ برمی گرداند و ساختار آن به این صورت است:

(هر رشته ای که دلت میخواد) UCase

مثال: مقدار برگشتی تابع زیر برابر "MASOUD" است.

UCase("masoud") 'Horof Bozorg Mishavand

 

توجه: جملات سبز رنگ را نخونید سنگین تر هستید.

 

۴- تابع Lcase . این تابع دقیقآ برعکس تابع Ucase است.

 

توابع رشته ای بسیار زیادی وجود دارد که ما فقط به تعداد کمی از آنها اشاره کردیم بلکه هدف ما از این کار سرکار گذاشتن شما بود.

متغیرها و ثابت ها

تعریف متغیر: متغیر مکانی در حافظه است که می تواند مقادیر مختلفی را بگیرد.

برای تعریف متغیر از دستور Dim استفاده میکنیم. متغیر ها دارای انواع مختلفی هستند که برای مثال میتوانیم به متغیر رشته ای عددی بولن و غیره اشاره کنیم که در پایین لیست انواع متغیر ها در ویژوال بیسیک آورده شده است.

نوع متغیر مقدار حافظه محدوده اعداد

بایت(Byte) یک بایت ۰ تا ۲۵۵

عددصحیح(Integer) دو بایت ۳۲۷۶۷ تا ۳۲۷۶۷-

عددصحیح بلند(Long) چهار بایت ۲۱۴۷۴۸۳۶۴۷ تا ۲۱۴۷۴۸۳۶۴۷-

اعداد اعشاری(Single) هشت بایت ۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷.۵۸۰۵ تا منفی آن

رشته ای(String) به مقدار طول رشته(بی نهایت) ---------

تاریخ(Date) هشت بایت ---------

منطقی(Boolean) دو بایت ---------



مثال۱ :متغیری از نوع عدد صحیح با نام Ali تعریف کنید.

Dim Ali as Integer

در خط بالا Dim کلمه کلیدی تعریف متغیر و Ali نام متغیر و Integer نوع متغیر را نشان میدهد. توجه داشته باشید برای تعیین نوع متغیر باید حتما از As استفاده کنید.

تعریف ثابت: ثابت ها نیز مانند متغیر ها مکانی در حافظه هستند که مقادیری در آنها قرار میگیرد اما دیگر مقدار آنها تغییر نمیکند و همیشه ثابت است.

برای تعریف ثابت از کلمه Const استفاده میکنیم . (ثابت ها در برنامه نویسی بسیار مهم هستند.)

Const Ali = 123456789 که در این جمله کلمه Const تعیین کننده ثابت است و Ali نام ثابت و ۱۲۳۴۵۶۷۸۹ مقدار ثابت است.

انجام اعمالی از جمله کپی/انتقال/ساختن/حذف و نمایش فایلها و فولد

در اینجا من یک شئ برای شما تعریف میکنم که کارهای زیادی بر روی فایل ها و فولدر ها انجام میده :

شئ FileSystemObject :
برای استفاده از این شئ و بهره بردن از امکاناتش ابتدا باید آن را به برنامه خود اضافه کنیم در زیر مثالی آمده است که باعث میشود تمامی درایوهای شما در یک لیست بوکس نمایش داده شود.

ابتدا یک پروژه جدید باز کنید . سپس یک لیست بوکس (ListBox ) از جعبه ابزار به فرم خود اضافه کنید. حال یک دکمه فرمان(Command1) را در فرم خود قرار دهید سپس روی دکمه فرمان خود دوبار کلیک کنید تا پنجره کدها باز شود.کدهای زیر را بنویسید:

Private Sub Command1_Click

Dim FSO , Drives

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Drives = FSO.Drives

For Each Drive in Drives
if Drive.isready Then
List1.AddItem Drive
End If
Next

حالا برنامه خودتون رو اجرا کنید و با زدن دکمه فرمان لیست درایو های خودتان را ببینید.به همین سادگی شما خودتان یک کنترل DriveListBox ساختید!

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

در مثال زیر چگونگی ساختن فولدر را یاد میگیرید.

ابتدا یک پروژه جدید باز کنید . سپس یک دکمه فرمان روی فرم خود جاسازکنید! حالا کدهای زیر را در پنجره کدها بنویسید:

Private Sub Command1_Click

Dim FSO

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CreateFolder "D:Ali" 'Create A New Directory

End Sub

در قطعه کد بالا علت اینکه عبارت "CreateFolder" رو کمرنگ نوشتم اینه که شما میتونید به جای اینکه با این عبارت یک فولدر بسازید می توانید با تغییر دادن آن به صورت CreateTextFile یک فایل تکست ایجاد کنید به این صورت:

Private Sub Command1_Click

Dim FSO

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CreateTextFile "D:Ali.TXT" 'Create A New Text File

End Sub

و اما کپی کردن فایل برای کپی کردن یک فایل ما باید (در قطعه کد بالا) در خط چهارم به جای استفاده از FSO.CreateTextFile از FSO.CopyFile استفاده کنیم با این تفاوت که CopyFile داری دو آرگومان اجباری است که آرگومان اول مسیر فایل مبدا و آرگومان دوم مسیری است که فایل در آنجا کپی می شود. برای اینکه بهتر موضوع رو درک کنید یک مثال ساده برای شما می زنم:

یک پروژه جدید باز کنید و با قرار دادن یک دکمه فرمان(Command1) در پنجره کدها عبارات زیر را تایپ کنید:

Private Sub Command1_Click

Dim FSO

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "D:Ali.TXT" , "C:CopyAli.TXT" 'Copy Ali to Drive C

End Sub

برای انتقال فایل نیز باید همانند بالا عمل کنیم اما با این تفاوت که به جای عبارت FSO.CopyFile باید از عبارت MoveFile استفاده کنیم. همچنین آرگومان اول MoveFile مسیر فایل مبدا و آرگومان دوم مسیر فایل مقصد است