Thủ tục con & Hàm

Các thủ tục con và hàm trong VBScript

Phần này cung cấp tổng quan về cách sử dụng thủ tục con và quy trình trong các script VisualBasic của Altum Designer.

Truyền tham số cho quy trình

Khi một hàm hoặc thủ tục con (một procedure/method) có thể nhận tham số được định nghĩa trong script, các biến có thể được truyền vào hàm hoặc thủ tục con theo hai cách: truyền tham chiếu hoặc truyền giá trị, lần lượt bằng cách sử dụng ByRef hoặc ByVal.

Để khai báo cách truyền tham số cho phương thức, hãy dùng các từ khóa ByRef hoặc ByVal trong danh sách tham số khi định nghĩa hàm hoặc thủ tục con trong câu lệnh Sub hoặc Function. Ví dụ, đoạn mã sau định nghĩa một thủ tục con nhận hai tham số. Tham số thứ nhất được truyền theo giá trị và tham số thứ hai được truyền theo tham chiếu:

Sub Test (ByVal Param1 As Integer , ByRef B As String)

Sự khác biệt giữa hai phương thức này là ByRef truyền một tham chiếu tới biến và cho phép thủ tục con/hàm thay đổi trực tiếp biến thực tế được truyền vào dưới dạng tham số. Đây là phương thức truyền tham số mặc định và sẽ được dùng nếu phương thức không được khai báo tường minh.

ByVal chỉ truyền giá trị của biến. Thủ tục con hoặc hàm có thể sử dụng giá trị này, nhưng biến gốc được truyền vào sẽ không bị thay đổi.

Các ví dụ sau minh họa sự khác nhau giữa các phương thức. Quy trình chính như sau:

Sub Main
  Dim X, Y
  X = 45 : Y = "Number"
  Test X, Y   ' Call to a subprocedure called Test.
  MsgBox X
   MsgBox Y
End Sub

Quy trình trên bao gồm một lệnh gọi đến thủ tục con Test — xem bên dưới.

Nếu thủ tục con được định nghĩa như sau:

Sub Test (ByRef A, ByRef B)
  B = B & " = " & A : A = 10*A
End Sub

Khi đó các biến XY trong quy trình chính được thủ tục con tham chiếu trực tiếp. Kết quả là các giá trị của XY bị thủ tục con thay đổi, do đó sau khi Test được thực thi; X = 450 và Y = "Number = 45". Đây là hành vi mặc định khi phương thức không được khai báo tường minh.

Tuy nhiên, nếu thủ tục con được định nghĩa như sau:

Sub Test (ByVal A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub

Thì sau khi Test được thực thi, quy trình chính sẽ cho biết; X = 45 và Y = "Number" — tức là chúng vẫn giữ nguyên.

Ngoài ra, nếu thủ tục con được định nghĩa như sau (kết hợp các phương thức):

Sub Test (ByRef A, ByVal B)
  B = B & " = " & A : A = 10*A
End Sub

Thì sau khi Test được thực thi, X = 450 và Y = "Number", vì Y được truyền theo giá trị nên nó không thay đổi.

Bạn có thể ghi đè thiết lập ByRef của một hàm hoặc thủ tục con bằng cách đặt tên biến trong dấu ngoặc đơn ở câu lệnh gọi.

Gọi Test bằng câu lệnh sau:

Test (X), Y

...sẽ truyền biến X theo giá trị, bất kể phương thức được định nghĩa cho tham số đó trong phần định nghĩa quy trình là gì.

Các routine ngày và giờ

Ngôn ngữ VBScript hỗ trợ một tập hợp các routine Ngày/Giờ như trình bày dưới đây:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

Các routine File IO

Ngôn ngữ VBScript hỗ trợ tập hợp các routine File IO sau:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

 

Các routine toán học

Ngôn ngữ VBScript hỗ trợ tập hợp các routine toán học sau:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

 

Các routine chuỗi

Ngôn ngữ VBScript hỗ trợ nhiều routine chuỗi như trình bày dưới đây:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

Các routine xử lý máy chủ

Các routine xử lý máy chủ được sử dụng khi làm việc với các process trong script, đặc biệt khi cần trích xuất (lấy) hoặc thiết lập chuỗi cho các tham số của process.

Để thực thi các process và tham số trong script, hãy sử dụng các hàm sau:

AddColorParameter

AddIntegerParameter

AddLongIntParameter

AddSingleParameter

AddWordParameter

GetIntegerParameter

GetStringParameter

ResetParameters

RunProcess

Useful functions

SetCursorBusy

ResetCursor

CheckActiveServer

GetActiveServerName

GetCurrentDocumentFileName

RunApplication

SaveCurrentDocument

 

 

Useful Dialogs

ConfirmNoYes

ConfirmNoYesCancel

ShowError

ShowInfo

ShowWarning

 

AI-LocalizedBản địa hóa bằng AI
Nếu bạn phát hiện vấn đề, hãy chọn văn bản/hình ảnh và nhấnCtrl + Enterđể gửi phản hồi cho chúng tôi.
Tính khả dụng của tính năng

Các tính năng có sẵn cho bạn phụ thuộc vào giải pháp Altium mà bạn đang sử dụng – Altium Develop, một phiên bản của Altium Agile (Agile Teams hoặc Agile Enterprise), hoặc Altium Designer (đang còn hiệu lực).

Nếu bạn không thấy tính năng được đề cập trong phần mềm của mình, liên hệ Bộ phận Kinh doanh của Altium để tìm hiểu thêm.

Tài liệu cũ

Tài liệu Altium Designer không còn được phân phiên bản. Nếu bạn cần truy cập tài liệu cho các phiên bản cũ hơn của Altium Designer, hãy truy cập mục Tài liệu cũ trên trang Trình cài đặt khác.

Nội dung