Ở phần trước chúng ta đã tìm hiểu về PML và biến trong PML, ở phần này Happy sẽ gửi đến các bạn về cấu trúc vòng lặp và cấu trúc điều kiện, đây là hai cấu trúc cơ bản trong PML
1. Cấu trúc vòng lập Do
Trong PML không sử dụng các vòng lập For, While. Tất cả được thay thế bởi vòng lặp Do gồm các dạng sau:
- Vòng lặp giới hạn bởi số đầu và cuối:
Do !var from X to Y by Z . . . enddo
Trong đó biến !var (dạng real) nhận giá trị chạy từ X đến Y với bước lập là Z. Nếu không set from X, thì mặc định vòng lập bắt đầu từ 1, còn nếu không set giá trị to Y vòng lập sẽ chạy mãi
- Vòng lập qua từng phần tử trong mảng
Do !var value !array
.
.
.
Enddo
Trong đó biến !var phải cùng loại với phần tử trong mảng !array hoặc là biến loại ANY. Mỗi vòng lặp biến !var sẽ nhận giá trị của một phần tử trong mảng !array
- Vòng lặp theo số thứ thự của phần tử trong mảng
Do !var index !array
.
.
.
Enddo
Với vòng lặp kiểu này biến var có dạng số nguyên và tăng dần theo số thứ tự các phần tử trong mảng !array (chạy từ 1 đến !array.size())
Bỏ qua một vòng lặp bằng lệnh: Skip
Thoát khỏi vòng lặp bằng lệnh: Break
Tạm dừng vòng lặp bằng lệnh: Pause !time. Trong câu lệnh này vòng lặp sẽ tạm dừng một khoảng thời gian !time (tính bằng mili giây)
2. Cấu trúc điều kiện If
Cấu trúc If cơ bản có dang:
If (CONDITION1) then (command block 1) Elseif (CONDITION2) then (command block 2) Else (command block 3) Endif
Elseif va else có thể có hoặc không, nếu Condition1 trả về giá trị True, command block 1 sẽ chạy và kết thúc cấu trúc If. Ngược lại nếu Condition1 trả về giá trị False, hệ thống sẽ tiếp tục kiểm tra điều kiện trong Elseif ngay phía dưới và cứ như thế, nếu tất cả các điều kiện trong If và Elseif đều trả về giá trị false, command block 3 nằm trong Else sẽ chạy, trường hợp sử dụng cấu trúc if nhưng không dùng Else, thì khi điều kiện trả về false thì cấu trúc if sẽ kết thúc.
3. Ký tự đặc biệt trong PML
- Trong PML ký tự $ có vai trò vô cùng đặt biệt
Một số cấu trúc đi cùng $
$M <đường dẫn> : dùng để gọi file macro
$p <nội dung>: in <nội dung> ra command line
$R6 : hiện câu lệnh đang chạy
$R: vô hiệu hóa lệnh $R6
$!var: lấy giá trị của biến var. Ví dụ:
!var = ‘1’
!number = $!var
Như vậy trong câu lệnh trên biến !var chứa giá trị dạng chuỗi, với ký tự $ ta đã lấy gía trị thực của biến var. Câu lệnh này tương đương với !number = 1
- Chú thích trong PML.
Chú thích giúp các câu lệnh trở nên tường minh và dễ dàng cho người khác đọc hiểu ý nghĩa và mục đích của các câu lệnh khi cần
Ký tự -- để bắt đầu một chú thích trong PML (hay nói cách khác phần mềm sẽ bỏ qua dòng lệnh bắt đầu bằng --)
Để có thể comment trên nhiều dòng, ta dùng cấu trúc:
$(
……….
$)
4. Ví dụ
Để kết thúc bài viết này các bạn hãy cùng Happy làm một bài ví dụ: Viết macro in ra màn hình tổng của những số chẵn nhỏ hơn 10
Nào hãy mở notepad và gõ các dòng lệnh sau:
--khoi tao bien ketqua dua chua tong cua nhung so chan nho hơn 10
!ketqua = 0
--chay vong lap
do !i from 1
$(
Thoat khoi vong lap neu i bang 10
O day Happy khong dung gia tri to trong lenh do ma dung Break de ket thuc vong lap
$)
Break if (!i eq 10)
--chia i voi 2 de kiem tra chan hay le
!temp = !i / 2
if !temp eq (int(!temp)) then
!ketqua = !ketqua + !i
endif
enddo
--dung $p de in ra man hinh
$p Kết quả là $!ketqua
--Ket thuc macro
Sau khi gõ xong ta save lại với tên trong ổ D với tên example.mac. Sau đó HAppy vào PDMS và gõ câu lênh:
$M “D:\example.mac”
Ta thu được kết quả như hình:
Chúc các bạn cuối tuần vui vẻ, và đừng quên chia sẻ bài viết của team đến anh em piping nhé, hẹn gặp lại các bạn vào thứ bảy tuần tới!
コメント