intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình phân tích quy trình tự động hóa với Autocad 3d cho thiết kế công trình giao thông p9

Chia sẻ: Dgrw Eryewr | Ngày: | Loại File: PDF | Số trang:5

56
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Ví dụ sau tính tổng của các số chẵn từ 0 đến 10: Dim i As Integer Dim Tong As Integer Tong = 0 For i = 0 To 10 Step 2 Tong = Tong + i Next Debug.Print ("Tong = " & Tong)Kết quả như sau:CHÚ Ý Khi giá trị của là âm ( và đổi chỗ cho nhau.Ví dụ tính tổng của các số chẵn từ 0 đến 10 sử dụng vòng lặp đếm ngược:Dim i As Integer Dim Tong As Integer Tong = 0 For i = 10To 0 Step -2 Tong = Tong + i Next Debug.Print ("Tong = " & Tong)

Chủ đề:
Lưu

Nội dung Text: Giáo trình phân tích quy trình tự động hóa với Autocad 3d cho thiết kế công trình giao thông p9

  1. CHƯƠNG III: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC  GỢI Ý Cửa sổ Immediate là một bộ phận trong VBA IDE, bật / tắt cửa sổ này được thực hiện trong menu View của VBA IDE. Khi sử dụng lệnh Debug.Print thì giá trị của biến sẽ được thể hiện trong cửa sổ Immediate khi chương trình hoạt động và được lưu lại ngay cả khi chương trình kết thúc. Cửa sổ này thường được dùng với mục đích gỡ rối khi lập trình. Khi nội dung trong cửa sổ này nhiều quá thì ta có thể xóa bớt bằng cách chọn vùng cần xóa và bấm phím Delete. 7.4. Các hàm xử lý chuỗi Các hàm loại này được chứa trong thư viện Strings (có thể tra cứu thư viện này bằng Object Browser). Sau đây là một số hàm thông dụng: Hàm Mô tả Asc(x) Trả về mã ASCII của ký tự đầu trong một chuỗi Chr(x) Chuyển đổi từ mã ASCII sang một ký tự Left(String, Length as Long) Trích dữ liệu bên trái của một chuỗi Mid(String, Start As Long, [Length]) Trích dữ liệu phần giữa của một chuỗi Right(String, Length As Long) Trích dữ liệu phần bên phải của một chuỗi Split(String) Tách một chuỗi dài thành một mảng gồm nhiều chuỗi nhỏ hơn Joint(StringArray) Gộp một mảng các chuỗi thành một chuỗi duy nhất Len(String) Trả về độ dài của chuỗi (số lượng ký tự trong chuỗi bao gồm cả ký tự trống) Ucase(String) Hàm thực hiện đổi tất cả các ký tự trong chuỗi thành chữ HOA. InStr([start, ]string1, string2[, compare]) Trả về vị trí bắt đầu của chuỗi String2 trong chuỗi String1. Ví dụ: Public Sub Test() Dim StrArDes() As String ' Mảng các chuỗi được khai báo dạng mảng động Dim StrScr As String 'Chuỗi ban đầu StrScr = "Point1_23.5_4.5_44.8" StrArDes = Split(StrScr, "_") ' Tách chuỗi StrScr thành một mảng các chuỗi và đưa vào StrArDes, ' kí tự ngăn cách là "_" ' Khi đó StrArDes(0)="Point1”, StrArDes(1)="23.5" ' StrArDes(2)="4.5", StrArDes(3)="44.8" Debug.Print StrArDes(0), StrArDes(1), StrArDes(2), StrArDes(3) End Sub Kết quả sẽ như sau: 43
  2. Lưu ý là dấu “_” trong ví dụ trên có thể thay thế bằng bất cứ ký tự nào. CHÚ Ý Trong tất cả các ngôn ngữ lập trình, khái niệm chuỗi số và số là khác nhau. Ví dụ khi gán A=”123” thì giá trị của A là một chuỗi ký tự gồm “1”, “2” và “3”. Còn khi gán B=123 thì giá trị của B là một trăm hai mươi ba. Để tạo ra một chuỗi có chứa dấu nháy kép (“) bên trong nó thì cần sử dụng thêm hai dấu nháy kép nữa. Ví dụ, trong biểu thức sau: s = “ABC” “123” thì giá trị của biến s là: ABC”123 8. Các cấu trúc điều khiển 8.1. Cấu trúc điều kiện Các từ khóa: If, Then, Else, ElseIf, End If Cú pháp: If then Khối_lệnh End If Diễn giải tiến trình của cấu trúc điều kiện như sau: nếu là đúng thì chương trình sẽ thực hiện , nếu sai thì chương trình sẽ thoát khỏi cấu trúc lệnh này. Sơ đồ khối của cấu trúc lệnh kiểu này có thể được biểu diễn như sau: Dim A As Double Dim B As Double A = 20: B = 10 If A > B Then Debug.Print ("Hieu cua hai so A va B >0") Kết quả như sau: 44
  3. CHƯƠNG III: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC  GỢI Ý Nếu như [khối_lệnh] có thể viết trên một dòng như ví dụ trên thì không dùng từ khóa End If. Để phân tách nhiều lệnh trên cùng một dòng, sử dụng dấu hai chấm (:) để ngăn cách giữa các lệnh. Ngoài cấu trúc cơ bản và trường hợp riêng ở trên, trong nhiều trường hợp, ta buộc phải xử lý khi trả về giá trị False (sai). Để giải quyết tình huống này ta sử dụng cấu trúc điều kiện mở rộng như sau: If Khối_lệnh_1 Else Khối_lệnh_2 End If Diễn giải tiến trình của cấu trúc lệnh này như sau: nếu là đúng thì chương trình sẽ thực hiện , còn nếu không đúng thì chương trình sẽ thực hiện . Sơ đồ khối của cấu trúc lệnh kiểu này có thể được biểu diễn như sau: Các cấu trúc lệnh điều kiện có thể được lồng nhau để thể hiện những thao tác phức tạp hơn bằng cách sử dụng thêm từ khoá ElseIf. Như vậy, cấu trúc điều kiện có cú pháp tổng quát như sau: If Then [Khối_lệnh_1] [ElseIf Then [khối_lệnh_n] ... [Else [Khối_lệnh_2]] End If Trong khối cấu trúc này, khối lệnh [ElseIf Then có thể lặp lại nhiều lần tương ứng với nhiều điều kiện khác nhau. Diễn giải cấu trúc này như sau: nếu là đúng thì thực hiện [Khối_lệnh_1] và thoát khỏi khối cấu trúc này, còn nếu sai thì sẽ kiểm tra lần lượt từng điều kiện của ElseIf xem có giá trị nào đúng không, nếu không có giá trị nào đúng thì thực hiện [Khối_lệnh_2] 45
  4. (sau từ khóa Else) và thoát khỏi cấu trúc này, còn nếu gặp một giá trị đúng đầu tiên của nào đó thì khối lệnh tương ứng với ElseIf này sẽ được thực hiện và thoát khỏi cấu trúc này. If (TheColorYouLike = vbRed) Then MsgBox "You 're a lucky person" ElseIf (TheColorYouLike = vbGreen) Then MsgBox "You 're a hopeful person" ElseIf (TheColorYouLike = vbBlue) Then MsgBox "You 're a brave person" ElseIf (TheColorYouLike = vbMagenta) Then MsgBox "You 're a sad person" Else MsgBox "You 're an average person" End If Ta xét ví dụ trên: Nếu TheColorYouLike = vbRed thì sẽ chỉ có thông báo: You 're a lucky person. Nếu TheColorYouLike = vbBlue thì sẽ chỉ có thông báo: You 're a brave person. Nếu TheColorYouLike không thuộc bất cứ giá trị nào trong bảng màu: vbRed, vbGreen, vbBlue, vbMagenta thì sẽ chỉ có thông báo: You 're an average person. 8.2. Cấu trúc lựa chọn Cấu trúc này sử dụng khi ta muốn thực hiện một số lệnh nào đấy tương ứng với từng giá trị của biểu thức kiểm tra. Các từ khoá sử dụng trong cấu trúc này: Select Case, Case, Case Else, End Select. Cú pháp của cấu trúc lựa chọn: Select Case [Case điều_kiện_1 [khối_lệnh_1]] ... [Case điều_kiện_n [khối_lệnh_n]] [Case Else [khối_lệnh_else]] End Select Diễn giải tiến trình của cấu trúc lựa chọn như sau: Giá trị của sẽ được so sánh với các nếu giá trị của thoả mãn thì tương ứng sẽ được thực hiện, sau đó chương trình sẽ thoát khỏi cấu trúc lựa chọn. Trong trường hợp giá trị của không thoả mãn tất cả các điều kiện thì sẽ được thực hiện nếu có từ khoá Case Else, còn nếu không có từ khoá Case Else thì chương trình sẽ thoát khỏi khối lệnh lựa chọn này mà không thực hiện gì cả. Ví dụ sử dụng ElseIf ở trên được viết lại với cấu trúc lựa chọn như sau: Select Case TheColorYouLike Case vbRed MsgBox "You 're a lucky person" Case vbGreen 46
  5. CHƯƠNG III: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC  MsgBox "You 're a hopeful person" Case vbBlue MsgBox "You 're a brave person" Case vbMagenta MsgBox "You 're a sad person" Else MsgBox "You 're an average person" End Select Có thể thấy rằng với cách viết sử dụng cấu trúc lựa chọn, đoạn chương trình trên dễ đọc hơn nhiều so với dùng cấu trúc điều kiện và ElseIf. Sơ đồ khối của cấu trúc lựa chọn có thể được biểu diễn như sau: 8.3. Vòng lặp xác định 8.3.1. Vòng lặp theo biến đếm Thực hiện lặp một khối lệnh theo một biến đếm với số lần lặp xác định, ví dụ như khi ta cần tính tổng của các số nằm giữa hai số nào đó. Các từ khóa: For, to, Step, Next Cú pháp: For = To [Step ] [Khối_lệnh] Next [] Cấu trúc lặp này thực hiện theo trình tự sau: Gán bằng giá trị So sánh với giá trị : Nếu nhỏ hơn hoặc bằng: thực hiện các lệnh bên trong [Khối_lệnh] và tự động cộng vào một giá trị bằng nếu có từ khóa Step, còn không thì cộng thêm 1 và quay lại bước so sánh với giá trị . Nếu lớn hơn: kết thúc khối lệnh lặp. 47
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2