Lec3
- 1. ВИЗУАЛ БЕЙСИКИЙН ӨГӨГДЛИЙН ТӨРЛҮҮД
1. Өгөгдлийн төрлүүд
2. Визуал бейсикийн үйлдлүүд
математик үйлдлүүд
логик үйлдэл
1. Өгөгдлийн төрлүүд
Өгөгдлийн төрлийг тоон, мөр, тусгай гэсэн үндсэн 3 хэсэгт хуваадаг. Тоон өгөгдөлтэй
ажиллахад тоон төрлийг, тексттэй ажиллахад мөр төрлийг, бусад тусгай төрөлтэй ажиллах
бол тусгай төрлийг ашиглана. Мөр төрөл нь тэг эсвэл олон тэмдэгтийн дараалал юм. Визуал
бейсикт тогтсон ба хувьсах урттай гэсэн хоѐр мөр төрлийг хэрэглэдэг.
Мөн өгөгдлийн төрөлд variant төрөл бий. Variant төрөл нь өгөгдлийн төрлийг дурын
төрлөөр зарлах төрөл юм. Үүнийг өгөгдлийн нэг төрлийг нөгөө төрөлд хувиргахад
хэрэглэдэг.
Визуал бейсикийн өгөгдлийн төрлүүдийг дараах хүснэгтээр харуулья.
Төрлийн
Төрөл Утгын хязгаар
товчлол
Byte Byte 0-255 хооронд орших бүхэл тоо
Boolean Bln Үнэн (True) эсвэл худал (False) гэсэн утга авна
Integer Int -32768-ээс 32767 хүртэл утга авах бүхэл тоон төрөл
Long Lng -2,147,483,648-ээс 2,147,483,647 хүртэл утга авах төрөл
Currency Cur -4’922’337’203’685,477.5808-аас 4’922’337’203’685’477.5807 хүртэл
утга авна
Single Sng -3.402823Е-38-ээс 3.402823Е+38 хүртэл утга авах хөвөгч таслалтай тоон
төрөл
Double Dbl -1.7976313486232Е-308-ээс 1.7976313486232Е+308 хүртэл утга авах
давхар нарийвчлалтай, хөвөгч таслалтай тоон төрөл
Decimal Dec 28 оронтой аравтын бутархай утга авах төрөл
Date Dte Огноо ба хугацааны утга авах төрөл
String Str 0-ээс 65500 хүртэл утга авах тоо, тэмдэгтийн зэрэгцээ %, &, ^ гэх мэт
тусгай тэмдэгтүүдийг агуулах төрөл
Variant Var Дурын буюу үл мэдэгдэх төрөлтэй үед хэрэглэх төрөл
Usertype - Хэрэглэгчийн дурын төрөл
Object Obj Формууд ба удирдах элемнетүүд шиг өгөгдлийн тусгай төрөл
Визуал бейсикийн тоон төрлийг тодотгохдоо тусгай тэмдэгтүүдийг тухайн тооны ард
бичнэ. Жишээ: Long 15&, Long 15&, Double 15#, Currency 15@
- 2. Визуал бейсикт хувьсагч ганцхан өгөгдлийн төрөлд байна. Хувьсагчийг
тодорхойлохдоо түүний төрлийг нэртэй нь хамт тодорхойлно. Үүнийг хувьсагчийг зарлах
гэдэг. Хувьсагчийг зарлахдаа дараах шаардлагыг анхаарах хэрэгтэй:
хувьсагчийн нэр 40 тэмдэгтээс хэтрэхгүй;
үсэг, тоо болон доогуур зураасаас бүрдэнэ;
эхний тэмдэгт заавал үсэг байх ѐстой;
түлхүүр үгийг хэрэглэж болохгүй.
Хувьсагчийг зарлахдаа Dim түлхүүр үгээр зарлах бөгөөд энэ нь програмыг
ажиллуулахад тухайн хувьсагчийг санах ойд байрлуулна. Өөрөөр хэлбэл, Dim нь тухайн
өгөгдлийн төрлийн хэмжээгээр санах ойг хуваарилна гэсэн үг.
Бичигдэх ерөнхий хэлбэр:
Dim <хувьсагчийн нэр> As <хувьсагчийн төрөл>
Жишээ нь Dim Num As Integer нь Num нэртэй хувьсагчийг integer буюу бүхэл тоон
төрлөөр зарлаж байна. Энэ хувьсагч нь санах ойд 2 байт зай эзлэх бөгөөд хүрэлцээтэй зай
байгаа эсэхийг үйлдлийн систем тодорхойлно1. Ижил нэртэй хувьсагчуудыг ижил процедурт
зарлаж болохгүй2.
Хувьсагчийг яаж ашиглахаас хамааран Dim-н байрлалыг тодорхойлно. Хэрвээ форм,
модулийн эсвэл стандарт модулийн хамгийн дээд талд Option Еxplicit-г бичиж өгвөл
тэдгээрээс ашиглахаас өмнө бүх хувьсагчийг, зарлахаас өмнө нэрийг нь ашиглаж болох ба
тэр нь variant төрөлтэй. Dim-г тухайн үзэгдэлт процедурт тодорхойлсон бол түүний зарласан
хувьсагч нь локал байна. Харин кодын ерөнхий хэсэгт тодорхойлсон бол тэр хувьсагч нь
глобал хувьсагч буюу програмын хаанаас ч хандаж болох хувьсагч байна. Dim-г мөн public
гэж тодорхойлох ба глобал хувьсагч, прожектын бүх модулд хамаарна. Стандарт модулд
зарласан хувьсагчдын бараг ихэнх нь глобал хувьсагч бөгөөд public-аар зарлагддаг.
Жишээ нь:
Dim intDistance As Integer
Dim sngPrice As Single
Dim dblWidth As Double
Мөр төрлийн хувьсагчийг дараах байдлаар тодорхойлно:
Dim <мөр төрлийн хувьсагчийн нэр> As String
Энд, <мөр төрлийн хувьсагчийн нэр> нэртэй мөр нь 0-65500 урттай байна. Мөрийн
уртыг тодорхой уртаас хэтрэхгүй байхаар тодорхойлж болно.
1
Тухайн хувьсагчийг тодорхойлсны дараа үйлдлийн систем санах ойд хангалттай зайтай үед тухайн хувьсагчийн санах ойн
хаягийг тодорхойлно гэсэн үг.
2
Хоѐр хувьсагчийг ижил нэртэйгээр ижил процедурт зарлаж өгч блохгүй.
- 3. Dim strFirstName As String*20
Энд strFirstName хувьсагчийн авах мөрийн урт нь 0-20 хооронд байна.
Ижил төрөлтэй хэд хэдэн хувьсагчийг дараах байдлаар зарлаж болно:
Dim A As Integer, C As Integer, D As Integer
Хувьсагчид оноох хэлбэр нь дараах хэлбэртэй байна:
<Хувьсагчийн нэр> = < илэрхийлэл>
Энэ нь удирдах элемент, хувьсагч эсвэл өөр объектод утга оноох хэлбэр юм. Еxpression
нь хувьсагч, үсэгчлэл эсвэл математик илэрхийлэл байж болно:
intAge = 25
sngLength = 22.7
sngLength =”twenty two point seven”
Жишээ нь:
Private Sub cmdNew_Click()
cmd.Caption = “Click here!”
End Sub
Энэ жишээ нь cmdNew гэсэн нэртэй команд товчин дээр дарах үзэгдэл явагдахад
түүний Caption шинжид “Click here!” гэсэн утга оноож байна.
Энэ жишээ нь cmdNew гэсэн нэртэй команд товчин дээр дарах үзэгдэл явагдахад
түүний Caption шинжид “Click here!” гэсэн утга оноож байна.
Private Sub cmdButton_Click()
picBox.Cls
picBox.Print “hello”
today = “03/18/10”
picBox.Print today
End Sub
Програмын үр дүн:
hello
03/18/10
2. Визуал бейсикийн үйлдлүүд
Математик үйлдэл: Визуал бейсикт хэрэглэгдэх математик операторууд (+, -, *, /) нь
бусад хэлнийхтэй адилхан тодорхойлогддог. Зэрэг дэвшүүлэх оператор нь (^), хоѐр
илэрхийлэлд (& ба +)-г хэрэглэнэ.
Харьцуулах оператор: Өгөгдлийн утгуудыг өөр хооронд нь харьцуулах ба үр дүн нь
үнэн эсвэл худал үйлдэхүүн болно.
- 4. > - эрс их
< - эрс бага
>= их юм уу тэнцүү
<= бага юм уу тэнцүү
= тэнцүү
<> ялгаатай
Харьцуулах оператор нь тоон болон үсэгт илэрхийлэлд мөн удирдах элементүүдийн
утга, хувьсагчдад хэрэглэгдэнэ. Түүнчлэн нэг трөлийн тоог нөгөө төрөлтэй, аль нэг төрлийн
мөрийг нөгөө хэлбэрийн мөртэй харьцуулахад хэрэглэж болно.
Логик үйлдэл: Визуал бейсик нь бусад програмчлалын хэлтэй адилхан логик
оператортой:
And логик ба If (A>B) and (C>D) Хоср талын илэрхийлэл үнэн бол үнэн
үйлдэхүүн, худлаа байвал биелэхгүй.
Or логик буюу If (A>B) or (C>D) Хоѐр талын илэрхийллийн аль нэг нь биелж
байвал үнэн үйлдэхүүн, худлаа байвал
биелэхгүй.
Not логик үгүйсгэл If Not(strAns = Энэ нь үнэн эсвэл худал үр дүнгийн эсрэг
“Yes”) үйлдэхүүн. Хэрвээ strAns үнэн байвал Not
нь үгүйсгэж худал болгож харгалзах
үйлдлийг хийнэ.
Жишээ: (3 < n) And (n < 12) илэрхийлэл нь энэ нөхцөлүүд хоѐуулаа биелнэ гэсэн үг.