Bài giảng môn Tin học đại cương - Chương 6: Các lệnh định nghĩa & khai báo VB

pdf 17 trang phuongnguyen 7850
Bạn đang xem tài liệu "Bài giảng môn Tin học đại cương - Chương 6: Các lệnh định nghĩa & khai báo VB", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_mon_tin_hoc_dai_cuong_chuong_6_cac_lenh_dinh_nghia.pdf

Nội dung text: Bài giảng môn Tin học đại cương - Chương 6: Các lệnh định nghĩa & khai báo VB

  1. MÔN TIN HỌC Ch ươ ng 6 CÁC LỆNH ĐỊ NH NGHĨA & KHAI BÁO VB 6.1 T ổng quát v ề ngôn ng ữ VB 6.2 Chú thích trong ch ươ ng trình. 6.3 L ệnh đị nh ngh ĩa h ằng g ợi nh ớ 6.4 L ệnh đị nh ngh ĩa bi ến 6.5 L ệnh đị nh ngh ĩa ki ểu ng ườ i dùng 6.6 L ệnh khai báo Declare Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 157
  2. 6.1 Tổng quát về code của 1 ứng dụng VB  Một project VB th ườ ng qu ản lý các thành ph ần c ấu thành 1 ứng d ụng VB.  Trong 1 project VB có 3 lo ại ph ần t ử có ch ứa code (do đó ta c ần bi ết cú pháp VB để xây d ựng các lo ại ph ần t ừ này):  Class module đị nh ngh ĩa s ự hi ện th ực c ủa 1 l ớp đố i t ượ ng có c ấu trúc và hành vi gi ống nhau.  Form module là tr ườ ng h ợp đặ c bi ệt c ủa class module, nó miêu t ả s ự hi ện th ực c ủa 1 l ớp đố i t ượ ng đặ c bi ệt: một form giao di ện.  (Standard) Module là đơ n v ị ph ần mềm nh ỏ có 1 ch ức n ăng rõ ràng nào đó. Theo tr ườ ng phái l ập trình c ấu trúc (c ổ điển), ta dùng module để chia ứng d ụng ra nhi ều ph ần nh ỏ d ễ qu ản lý ⇒ VB h ỗ tr ợ c ả 2 ph ươ ng pháp l ập trình: có c ấu trúc và OOP.  Ngoài 1 vài ngo ại l ệ nh ỏ, t ổ ch ức code cho 3 lo ại module trên hoàn toàn gi ống nhau: đó là danh sách nhi ều l ệnh VB ph ục v ụ đị nh ngh ĩa ki ểu, h ằng, bi ến và th ủ tục trong module đó. Trong l ệnh đị nh ngh ĩa th ủ t ục, ta s ẽ dùng các l ệnh th ực thi để miêu t ả gi ải thu ật c ủa th ủ t ục. Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 158
  3. Tổng quát về ngôn ngữ VB  Để d ễ ti ếp c ận ngôn ng ữ VB, ta hãy nhìn l ại ngôn ng ữ ti ếng Vi ệt. Ta nói ngôn ng ữ ti ếng Vi ệt đị nh ngh ĩa 1 t ập các t ừ có ngh ĩa c ơ b ản, các qui t ắc ghép các t ừ cơ b ản này l ại để t ạo thành đoạn câu (phrase), câu (sentence), đoạn v ăn (paragraph), bài v ăn (document) cùng ng ữ ngh ĩa c ủa các ph ần t ử đượ c t ạo ra. Vì ngôn ng ữ Vi ệt là ngôn ng ữ t ự nhiên nên th ườ ng cho phép nhi ều ngo ại l ệ trong vi ệc xây d ựng các ph ần t ử.  Ngôn ng ữ l ập trình VB c ũng đị nh ngh ĩa 1 t ập các ký t ự c ơ b ản (ch ưa có ngh ĩa), các qui t ắc ghép các ký t ự để t ạo thành các t ừ có ngh ĩa (identifier), bi ểu th ức (expression), câu l ệnh (statement), th ủ t ục (Function, Sub, Property) cùng ng ữ ngh ĩa c ủa các ph ần t ử đượ c t ạo ra. Vì ngôn ng ữ VB là ngôn ng ữ l ập trình cho máy tính th ực hi ện nên s ẽ không cho phép 1 ngo ại l ệ nào trong vi ệc xây d ựng các ph ần t ử.  Nghiên c ứu ngôn ng ữ l ập trình là h ọc để nh ớ rõ các ký t ự c ơ b ản c ủa ngôn ng ữ, các qui t ắc để t ạo danh hi ệu, bi ểu th ức, các qui t ắc để vi ết các câu l ệnh cùng ng ữ ngh ĩa c ủa chúng ⇒ rất gi ống v ới vi ệc h ọc 1 ngôn ng ữ t ự nhiên: Anh, Pháp, Nh ật, Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 159
  4. Các ký hi ệu cơ bản của ngôn ngữ VB  Về nguyên t ắc, VB cho phép dùng h ầu h ết các ký t ự mà b ạn có th ể nh ập t ừ bàn phím, trong đó các ký t ự ch ữ và s ố đượ c dùng ch ủ y ếu.  Qui t ắc c ấu t ạo 1 danh hi ệu đã đượ c trình bày ở Slide 113 (ch ươ ng 5). 1 danh hi ệu có th ể đượ c dùng để đặ t tên cho bi ến, h ằng g ợi nh ớ, Function, Sub, Property, form, class module, module, và ng ữ ngh ĩa c ủa t ừng danh hi ệu là do sự qui đị nh c ủa ng ườ i l ập trình.  Qui t ắc xây d ựng 1 bi ểu th ức s ẽ đượ c trình bày trong ch ươ ng 7.  Có nhi ều lo ại câu l ệnh VB khác nhau, qui t ắc xây d ựng 1 câu l ệnh ph ụ thu ộc vào lo ại câu l ệnh c ụ th ể ⇒ ta ph ải nghiên c ứu t ừng lo ại câu l ệnh và qui t ắc c ấu thành nó, nh ưng may mắn s ố l ượ ng lo ại câu l ệnh VB là không nhi ều (d ướ i 20 lo ại).  Các câu l ệnh đượ c chia làm 2 nhóm chính:  Các l ệnh đị nh ngh ĩa: xác đị nh 1 hành độ ng nào đó t ại th ời điểm d ịch.  Và các l ệnh th ực thi : xác đị nh 1 hành độ ng nào đó t ại th ời điểm th ực thi. Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 160
  5. 6.2 Chú thích trong chương trình  Các l ệnh đị nh ngh ĩa và các l ệnh th ực thi mà ta v ừa trình bày là để máy x ử lý, chúng tuân th ủ các cú pháp c ụ th ể mà ta s ẽ trình bày sau. Nh ưng ý t ưở ng chung là con ng ườ i r ất khó đọ c và hi ểu chúng.  Để tr ợ giúp cho ng ườ i đọ c và hi ểu các l ệnh VB trong ch ươ ng trình, VB còn cung c ấp 1 l ệnh đặ c bi ệt: l ệnh chú thích. Đây là l ệnh mà máy s ẽ b ỏ qua (vì máy sẽ không th ể hi ểu n ổi ý ngh ĩa đượ c miêu t ả trong l ệnh này), tuy nhiên l ệnh này cho phép ng ườ i l ập trình dùng ngôn ng ữ t ự nhiên để chú thích ý ngh ĩa c ủa các lệnh VB khác h ầu giúp chính h ọ hay ng ườ i khác d ễ dàng hi ểu ch ươ ng trình.  Cú pháp c ủa l ệnh chú thích r ất đơ n gi ản: ch ỉ qui đị nh b ắt đầ u l ệnh b ằng ký t ự ' và có th ể đượ c vi ết trên 1 hàng riêng bi ệt hay đi sau l ệnh hi ện hành. Ví d ụ: Private Sub cmdCE_Click() ' hàm x ử lý bi ến c ố khi ấn nút CE (Clear Entry) dblDispValue = 0 blnFpoint = False bytPosDigit = 0 txtDisplay.Text = ".0" ' b ắt đầ u hi ển th ị .0 lên Display End Sub Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 161
  6. Chú thích trong chương trình (tt)  Vi ệc dùng chú thích trong ch ươ ng trình là s ự dung hòa gi ữa 2 thái c ực: l ạm dụng và không bao gi ờ dùng. Th ườ ng ta nên dùng chú thích ở nh ững v ị trí sau:  Ở đầ u c ủa mỗi th ủ t ục để miêu t ả ch ức n ăng c ủa th ủ t ục đó, d ữ li ệu nh ập vào th ủ t ục và d ữ li ệu tr ả v ề t ừ th ủ t ục.  Ở các đoạn code miêu t ả gi ải thu ật ph ức t ạp để ghi chú đoạn code này hi ện th ực gi ải thu ật nào trong lý thuy ết đã h ọc.  Ở hàng l ệnh có hi ệu ứng đặ c bi ệt Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 162
  7. 6.3 Các l ệnh đị nh nghĩa  1 module VB (form, class, standard) g ồm 2 lo ại ph ần t ử: thu ộc tính d ữ li ệu và các method (th ủ t ục). Các l ệnh đị nh ngh ĩa cho phép ta đị nh ngh ĩa tính ch ất c ủa các thu ộc tính d ữ li ệu, các l ệnh th ực thi cho phép ta miêu t ả gi ải thu ật thi hành của các method (th ủ t ục).  2 l ệnh đị nh ngh ĩa d ữ li ệu ch ủ y ếu là l ệnh đị nh ngh ĩa bi ến và l ệnh đị nh ngh ĩa hằng, trong 2 l ệnh này có s ử d ụng tên ki ểu d ữ li ệu. Tên ki ểu d ữ li ệu có th ể là đị nh s ẵn, có th ể do ng ườ i l ập trình t ự đặ t. L ệnh đị nh ngh ĩa ki ểu s ẽ ph ục v ụ vi ệc đị nh ngh ĩa ki ểu mới c ủa ng ườ i l ập trình.  Để VB ki ểm tra vi ệc đị nh ngh ĩa bi ến b ắt bu ộc trong 1 module nào đó, ta dùng lệnh sau ở đầ u module đó. Option Explicit  Cú pháp đị nh ngh ĩa h ằng g ợi nh ớ c ơ b ản: Const AConst = Value Lưu ý ta dùng ch ữ nghiêng để miêu t ả ph ần t ử mà ng ườ i l ập trình t ự xác đị nh theo yêu c ầu riêng (d ĩ nhiên ph ải th ỏa mãn qui t ắc VB), ch ữ đậ m miêu t ả ph ần tử b ắt bu ộc và ng ườ i l ập trình ph ải vi ết y nh ư v ậy trong l ệnh c ủa h ọ. Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 163
  8. Qui t ắc miêu t ả các loại giá tr ị  Giá tr ị lu ận lý: True | False .  Giá tr ị th ập phân nguyên: [ +|-] [ decdigit ]+ (Vd. 125, -548) Lưu ý ta dùng | để miêu t ả s ự ch ọn l ựa, [ ] để miêu t ả có t ừ 0 t ới 1, [ ]* để miêu t ả có t ừ 0 t ới n, [ ]+ để miêu t ả có t ừ 1 t ới n (n>1).  Giá tr ị th ập l ục phân nguyên: [ +|-] &H [hexdigit ]+ (&HFF)  Giá tr ị bát phân nguyên: [ +|-] &O[ocdigit ]+ (&O77)  Giá tr ị th ập phân th ực: [+|-] [ decdigit ]+ [ .[decdigit ]*] [ E [+|-] [ decdigit ]+] 3.14159, 0.31459E1,-83.1E-9,  Giá tr ị chu ỗi: "Nguyen Van A" """Nguyen Van A""" Lưu ý dùng 2 d ấu nháy kép liên ti ếp để miêu t ả 1 ký t ự nháy kép trong giá tr ị chu ỗi (c ơ ch ế dùng Escape để gi ải quy ết nh ầm l ẫn). Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 164
  9. Qui t ắc miêu t ả các loại giá tr ị (tt)  Giá tr ị ngày tháng (Date): đã trình bày trong slide 125, ở đây ta ch ỉ nh ắc l ại cho có tính h ệ th ống. Ví d ụ: #January 1, 2000# #Jan 1, 2000# #1/1/ 2000# #December 31, 1999 11:59:59PM# #December 31, 1999 23:59:59#  Giá tr ị ngày tháng luôn đượ c đặ t trong c ặp d ấu # #.  Có nhi ều d ạng th ức khác nhau để miêu t ả gi ờ trong ngày và miêu tả ngày/tháng/n ăm. Dạng th ức miêu t ả ngày d ạng 2/1/2000 s ẽ đượ c phân gi ải theo thông s ố "locale" c ủa Windows (d ạng dd/mm/yyyy hay mm/dd/yyyy). Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 165
  10. 6.4 Phát bi ểu đị nh nghĩa bi ến  Cú pháp c ơ b ản c ủa đị nh ngh ĩa bi ến c ục b ộ trong function, Sub, Property: Dim AVariable [As Type ] Static AVariable [As Type ]  Cú pháp c ơ b ản c ủa đị nh ngh ĩa bi ến c ục b ộ trong module (class, form, standard): Private AVariable [As Type ] Static AVariable [As Type ]  Cú pháp c ơ b ản c ủa đị nh ngh ĩa bi ến toàn c ục: Public AVariable [As Type ]  Lưu ý h ạn ch ế t ối đa vi ệc dùng bi ến toàn c ục (trong OOP ta không cần dùng bi ến toàn c ục). Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 166
  11. Phát bi ểu đị nh nghĩa bi ến (tt)  Có th ể dùng ti ếp v ĩ ng ữ qui đị nh ki ểu (trong ch ươ ng 5) thay th ế cho tên ki ểu. N ếu tên bi ến không có ti ếp v ĩ ng ữ và không có ph ần tên ki ểu trong lệnh đị nh ngh ĩa bi ến thì bi ến thu ộc ki ểu Variant. Cho phép nhi ều phát bi ểu đị nh ngh ĩa bi ến trên 1 hàng l ệnh (dùng d ấu ',' để ng ăn cách chúng).  Nên đặ t tên bi ến theo ký hi ệu Hungarian và luôn miêu t ả tên ki ểu k ết hợp v ới bi ến trong l ệnh đị nh ngh ĩa bi ến, nh ờ v ậy ch ươ ng trình s ẽ r ất trong sáng, d ễ hi ểu và d ễ phát tri ển. Ví d ụ: Thay vì dùng l ệnh sau: Private DispValue# để đị nh ngh ĩa bi ến th ực chính xác kép tên là "DispValue", ta nên dùng lệnh đị nh ngh ĩa sau: Private dblDispValue As Double Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 167
  12. 6.5 Phát bi ểu đị nh nghĩa ki ểu c ủa người l ập trình  Nếu trong 1 module nào đó c ần d ữ li ệu có c ấu trúc đặ c thù mà VB ch ưa cung cấp, ng ườ i l ập trình s ẽ dùng phát bi ểu TYPE để đị nh ngh ĩa ki ểu này. Phát bi ểu này k ết h ợp tên ki ểu (t ự đặ t) v ới 1 c ấu trúc d ữ li ệu g ồm nhi ều field d ữ li ệu (do dó ta th ườ ng g ọi ki ểu này là ki ểu record hay structure). Cú pháp nh ư sau: Type TypeName [AfieldName As Type ]+ End Type Ví d ụ: Type SystemInfo CPU As Variant Memory As Long DiskDrives(25) As String ' Fixed-size array. VideoColors As Integer Cost As Currency PurchaseDate As Variant End Type Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 168
  13. Phát bi ểu đị nh nghĩa ki ểu Array  Nếu trong 1 module nào đó c ần danh sách g ồm nhi ều d ữ li ệu có c ấu trúc đồ ng nh ất, ta s ẽ dùng phát bi ểu đị nh ngh ĩa ki ểu array để miêu t ả danh sách này. Cú pháp c ơ b ản nh ư sau: Dim varname [([subscripts ])] [ As [New ] type ] trong đó subscripts là danh sách t ừ 1 đế n n chi ều cách nhau b ằng d ấu ',', mỗi chi ều miêu t ả ph ạm vi ch ỉ s ố các ph ần t ử thu ộc chi ều đó ở d ạng: [lower To ] upper .  Nếu ch ỉ s ố c ận d ướ i c ủa 1 chi ều nào đó không đượ c miêu t ả thì VB ch ọn giá tr ị ng ầm đị nh (là 0 hay 1).  Phát bi ểu đị nh ngh ĩa giá tr ị c ận d ướ i ng ầm đị nh có cú pháp: Option Base {0|1 } Lưu ý d ấu { } miêu t ả có 1 và ch ỉ 1 l ần. N ếu không có phát bi ểu này thì VB ch ọn c ận d ướ i là 0. Ví d ụ: Dim vector(50) As Double 'vector có 51 ph ần t ừ t ừ 0 - 51 Dim MyArray (1 to 100, 1 to 50) As Double Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 169
  14. Phát bi ểu đị nh nghĩa ki ểu Array (tt) Nếu s ố l ượ ng ph ần t ử c ủa danh sách ch ưa bi ết t ại th ời điểm vi ết ch ươ ng trình và ch ỉ bi ết t ại th ời điểm ch ạy, ta dùng 1 trong 2 cách sau:  Khai báo s ố l ượ ng t ĩnh t ại th ời điểm vi ết, cách này th ườ ng phí ph ạm b ộ nh ớ hay khai báo thi ếu s ố l ượ ng ph ần t ử.  Thí d ụ để gi ải h ệ n ph ươ ng trình tuy ến tính, n ẩn s ố, ta có th ể khai báo t ĩnh ma tr ận thông s ố nh ư sau: Option Base 1 Dim matran(100,100) As Double  Nh ưng n ếu đạ i đa s ố l ần dùng ứng d ụng này, ta ch ỉ gi ải các h ệ ph ươ ng trình có 2, 3, ẩn s ố thì s ẽ r ất phí ph ạm b ộ nh ớ. Còn 1 l ần ch ạy nào đó, nếu ta c ần gi ải h ệ 200 ph ươ ng trình thì ch ươ ng trình s ẽ ch ạy sai.  Khai báo s ố l ượ ng độ ng t ại th ời điểm ch ạy. Cú pháp nh ư sau: Dim varname () [As [New ] type ] Ví d ụ: Dim matran() As Double ' để tr ống s ố l ượ ng n = Val(txtInput.Text) ReDim matran(n,n) 'phân ph ối ph ần t ử cho ma tr ận Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 170
  15. 6.6 Lệnh khai báo Declare  Các l ệnh đị nh ngh ĩa h ằng, bi ến, ki ểu, th ủ t ục cho phép ta s ản sinh ph ần tử t ươ ng ứng trong ph ạm vi ng ữ c ảnh t ươ ng ứng (th ủ t ục, module, toàn cục).  Ngoài ra Windows (và nhi ều hãng, cá nhân khác) đã vi ết nhi ều module tổng quát, mỗi module ch ứa nhi ều th ủ t ục khác nhau, các th ủ t ục này gi ải quy ết nh ững v ần đề nào đó. Thí d ụ ta có module các hàm l ượ ng giác, module các hàm th ống kê, module các hàm x ử lý d ữ li ệu multimedia,  Windows dùng k ỹ thu ật liên k ết độ ng các module trên vào ứng d ụng dùng chúng, mỗi module đượ c c ất trên 1 file *.dll (dynamic link library).  VB cung c ấp l ệnh khai báo "Declare" để cho phép ng ườ i l ập trình khai báo ch ữ ký (signature, interface, prototype, header, ) của các th ủ t ục có s ẵn trong các module *.dll để g ọi nó trong ng ữ c ảnh c ủa mình (module). Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 171
  16. Lệnh khai báo Declare (tt) Cú pháp 1: [Public | Private ] Declare Sub name Lib "libname " [ Alias "aliasname "] [([ arglist ])] Cú pháp 2: [Public | Private ] Declare Function name Lib "libname " [ Alias "aliasname "] [([ arglist ])] [As type ]  Cú pháp 1 cho phép khai báo 1 subroutine v ới tên là name ở th ư vi ện tên là libname , ta có th ể g ọi subroutine này b ằng 1 tên khác là aliasname và truy ền cho nó 1 danh sách đố i s ố t ươ ng thích v ới arglist .  Cú pháp 2 cho phép khai báo 1 function v ới tên là name ở th ư vi ện tên là libname , ta có th ể g ọi function này b ằng 1 tên khác là aliasname và truy ền cho nó 1 danh sách đố i s ố t ươ ng thích v ới arglist . Sau khi hoàn thành, function s ẽ tr ả v ề 1 giá tr ị k ết qu ả thu ộc ki ểu type .  Chi ti ết v ề s ự khác bi ệt gi ữa subroutine và function s ẽ đượ c trình bày trong ch ươ ng 9 và 10. Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 172
  17. Thí dụ v ề các l ệnh đị nh nghĩa VB Chúng ta đã trình bày qui trình thi ết k ế tr ực quan giao di ện c ủa trình MiniCalculator cho phép gi ả l ập 1 máy tính tay đơ n gi ản. Ch ươ ng trình này ch ỉ có 1 form, trong form này chúng ta s ẽ đị nh ngh ĩa các h ằng, bi ến c ục b ộ sau đây để ph ục v ụ ho ạt độ ng cho ứng d ụng: Option Explicit Const IDC_EQUAL = 0 ' đị nh ngh ĩa các h ằng g ợi nh ớ miêu t ả toán t ử Const IDC_ADD = 1 Const IDC_SUB = 2 Const IDC_MUL = 3 Const IDC_DIV = 4 Private dblDispValue As Double ' bi ến l ưu giá tr ị đang hi ển th ị Private dblOldValue As Double ' bi ến l ưu giá tr ị tr ướ c đó Private dblMemValue As Double ' bi ến l ưu giá tr ị trong b ộ nh ớ Private blnFpoint As Boolean ' tr ạng thái nh ập s ố nguyên/l ẻ Private bytPosDigit As Byte ' v ị trí lý s ố l ẻ đang nh ập Private intPosNeg As Integer ' tr ạng thái miêu t ả giá tr ị âm/d ươ ng Private bytOperationId As Byte ' id c ủa phép toán c ần th ực hi ện Private blnFAfterOp As Boolean ' tr ạng thái nh ập ký s ố đầ u sau phép toán Môn: Tin h ọc Khoa Công ngh ệ Thông tin Ch ươ ng 6: Các l ệnh đị nh ngh ĩa & khai báo VB Tr ườ ng ĐH Bách Khoa Tp.HCM Slide 173