Sử dụng các thành phần biểu mẫu VBScript

Sử dụng các thành phần trong biểu mẫu VBScript

Mặc dù các biểu mẫu và thành phần được xây dựng dựa trên Thư viện Thành phần Hình ảnh (VCL) của Embarcadero Delphi™, Altium Designer dựa trên Delphi Tool Palette vẫn được sử dụng để chèn các điều khiển vào biểu mẫu khi sử dụng VBScript. Ngoài ra, các trình xử lý sự kiện được tạo ra và mã được viết bằng ngôn ngữ VBScript, bất kể nguồn gốc từ biểu mẫu/thành phần Delphi trong Altium Designer.

Tổng quan về thành phần

Hệ thống kịch bản xử lý hai loại thành phần: thành phần trực quan và thành phần không trực quan. Các thành phần trực quan được sử dụng để xây dựng giao diện người dùng, còn các thành phần không trực quan được sử dụng cho các tác vụ khác nhau, chẳng hạn như các chức năng do Timer, OpenDialogMainMenu . Ví dụ, thành phần không trực quan Timer được sử dụng để kích hoạt mã cụ thể theo các khoảng thời gian đã lên lịch và thành phần này không bao giờ hiển thị cho người dùng. Thành phần Button, EditMemo là các thành phần trực quan — người dùng có thể nhìn thấy chúng.

Cả hai loại thành phần đều xuất hiện trong giai đoạn thiết kế, nhưng các thành phần không hiển thị sẽ không hiển thị trong giai đoạn chạy. Các thành phần từ Tool Palette có tính hướng đối tượng và có ba mục sau:

  • Thuộc tính
  • Sự kiện
  • Phương thức

Một property là một đặc tính của một đối tượng, ảnh hưởng đến hành vi hiển thị hoặc các thao tác của đối tượng đó. Ví dụ, thuộc tính Visible thuộc tính này xác định liệu đối tượng này có thể được nhìn thấy trong dạng kịch bản hay không.

Một event là một hành động hoặc sự kiện được kịch bản phát hiện. Trong một kịch bản, lập trình viên viết mã cho từng trình xử lý sự kiện, được thiết kế để bắt một sự kiện cụ thể, chẳng hạn như nhấp chuột.

Một method là một thủ tục luôn được liên kết với một đối tượng và xác định hành vi của đối tượng đó.

Tất cả các biểu mẫu kịch bản đều có một hoặc nhiều thành phần. Các thành phần thường hiển thị thông tin hoặc cho phép người dùng thực hiện một hành động. Ví dụ: Label được sử dụng để hiển thị văn bản tĩnh, hộp Edit được sử dụng để cho phép người dùng nhập dữ liệu, nút Button có thể được sử dụng để khởi tạo các hành động.

Bất kỳ sự kết hợp nào của các thành phần đều có thể được đặt trên biểu mẫu, cho phép người dùng tương tác với chúng khi kịch bản đang chạy (thời gian chạy). Nhiệm vụ của lập trình viên kịch bản là quyết định điều gì sẽ xảy ra khi người dùng nhấp vào một nút hoặc thay đổi văn bản trong hộp Edit.

Hệ thống Scripting cung cấp một loạt các thành phần để tạo giao diện người dùng đơn giản hoặc phức tạp cho các tập lệnh. Tất cả các thành phần có thể được đặt trên biểu mẫu đều có thể tìm thấy trong bảng Tool Palette.

Để đặt một thành phần vào biểu mẫu, hãy tìm biểu tượng của thành phần đó trên Tool Palette bảng và nhấp đúp vào nó. Thao tác này sẽ đặt thành phần vào biểu mẫu đang hoạt động ở vị trí mặc định, với chiều rộng và chiều cao mặc định. Hình thức hiển thị của hầu hết các thành phần được xác định bởi tập hợp các thuộc tính liên quan của chúng.

Một thành phần đã được đặt, ở vị trí và chiều rộng-chiều cao mặc định, có thể được thay đổi kích thước hoặc định vị lại bằng chuột hoặc thông qua Object Inspector bảng điều khiển. Khi một thành phần được thả vào biểu mẫu, hệ thống Scripting sẽ tự động tạo mã cơ bản cần thiết để sử dụng thành phần đó và cập nhật biểu mẫu kịch bản. Để thành phần trên biểu mẫu hoạt động, tất cả những gì còn lại là thiết lập các thuộc tính, đặt mã vào trình xử lý sự kiện và sử dụng các phương thức khi cần thiết.

Thiết kế biểu mẫu kịch bản

Biểu mẫu kịch bản được thiết kế để tương tác với người dùng trong môi trường Altium Designer. Thiết kế biểu mẫu kịch bản là cốt lõi của việc phát triển trực quan trong Altium Designer.

Mỗi thành phần được đặt trên biểu mẫu kịch bản và mọi thuộc tính được thiết lập đều được lưu trữ trong một tệp mô tả biểu mẫu (một *.dfm tệp) và có mối quan hệ với mã kịch bản liên quan (tệp *.vbs tệp). Vì vậy, đối với mỗi biểu mẫu kịch bản, sẽ có một *.vbs tệp và tệp *.dfm tệp.

Khi làm việc với biểu mẫu kịch bản và các thành phần của nó, bạn có thể truy cập và sửa đổi các thuộc tính của chúng thông qua Object Inspector bảng điều khiển. Có thể chọn nhiều thành phần bằng cách nhấn phím Shift và nhấp vào các thành phần đó, hoặc bằng cách kéo một hình chữ nhật chọn bao quanh các thành phần trên biểu mẫu tập lệnh. Một biểu mẫu tập lệnh có tiêu đề được gán cho thuộc tính Caption thuộc tính trong Object Inspector bảng điều khiển.

Tạo biểu mẫu kịch bản mới

Khi dự án kịch bản đang mở, nhấp chuột phải vào dự án trong Projects bảng điều khiển và chọn Add New to Project sau đó chọn VB Script Form từ menu ngữ cảnh. Một biểu mẫu kịch bản mới sẽ được tạo với EditScript1.vbs . Ngoài ra, trong một *.PrjPCB dự án, hãy chọn File » New » Script Files » VB Script Form lệnh.

Hiển thị biểu mẫu kịch bản

Một kịch bản cần có một thủ tục để hiển thị biểu mẫu khi biểu mẫu kịch bản được thực thi trong Altium Designer. Trong thủ tục này, phương thức ShowModal phương thức này được gọi để hiển thị biểu mẫu. Thuộc tính Visible của biểu mẫu cần được đặt thành false (không được chọn) để ShowModal phương thức của biểu mẫu kịch bản hoạt động chính xác.

Ví dụ về ShowModal

Sub RunDialog
  DialogForm.ShowModal
End Sub

Ví dụ ShowModal là một cách đơn giản để hiển thị biểu mẫu script khi RunDialog hộp thoại từ tập lệnh được gọi. Lưu ý rằng các giá trị có thể được gán cho các thành phần của DialogForm trước khi DialogForm.ShowModal phương thức được gọi.

ModalResult dưới đây phức tạp hơn. Các phương thức sau của nó được sử dụng cho các nút trong biểu mẫu kịch bản. Các phương thức kịch bản sẽ khiến hộp thoại đóng lại khi người dùng nhấp vào nút OK hoặc Cancel , điều này sẽ trả về mrOk hoặc mrCancel tương ứng từ ShowModal phương thức.

ModalResult Example

sub bOKButtonClick(Sender)
  ModalResult := mrOK
end sub
 
sub bCancelButtonClick(Sender)
  ModalResult := mrCancel
end sub
 
sub RunShowModalExample
  'Form Visible property must be false for ShowModal to work properly.
  If Form.ShowModal = mrOk     Then ShowMessage("mrOk")
  If Form.ShowModal = mrCancel Then ShowMessage("mrCancel")
end sub

Có thể thực hiện điều tương tự như trên bằng cách đặt giá trị ModalResult giá trị thành mrOk cho OK nút và thành mrCancel cho Cancel trong các trình xử lý sự kiện của chúng. Khi người dùng nhấp vào một trong hai nút, hộp thoại sẽ đóng lại. Không cần phải gọi phương thức Close phương thức này, vì khi phương thức ModalResult đã được thiết lập, trình chạy kịch bản sẽ tự động đóng biểu mẫu kịch bản.

Lưu ý rằng để thiết lập tùy chọn ModalResult thành hủy khi người dùng nhấn phím Esc phím, hãy đặt Cancel thuộc tính Cancel của nút thành true (được chọn) trong Object Inspector bảng điều khiển, hoặc chèn Sender.Cancel := True vào trình xử lý sự kiện CancelButtonClick .

Chấp nhận đầu vào của người dùng

Một trong những thành phần phổ biến có thể chấp nhận đầu vào từ người dùng là EditBox thành phần. Thành phần này EditBox thành phần này có một trường văn bản nơi người dùng có thể nhập một chuỗi ký tự. Ngoài ra còn có các thành phần khác có thể chấp nhận văn bản, chẳng hạn như thành phần chỉnh sửa có mặt nạ (masked edit component), đây là một thành phần chỉnh sửa có mặt nạ nhập liệu cho trường văn bản. Mặt nạ này kiểm soát hoặc lọc đầu vào và được lưu trữ trong một chuỗi tham số.

Ví dụ dưới đây minh họa những gì xảy ra khi người dùng nhấp vào nút sau khi nhập văn bản vào hộp chỉnh sửa. Lưu ý rằng nếu người dùng không nhập bất kỳ văn bản nào vào thành phần chỉnh sửa, trình xử lý sự kiện sẽ phản hồi bằng một thông báo cảnh báo

sub TScriptForm.ButtonClick(Sender)
  If Edit1.Text = "" Then
  ShowMessage("Warning - empty input!")
  Exit
  End
  ' do something else for the input
End sub

Lưu ý rằng người dùng có thể di chuyển tiêu điểm nhập liệu trên biểu mẫu bằng cách sử dụng phím Tab hoặc bằng cách nhấp vào một điều khiển biểu mẫu khác.

Phản hồi sự kiện

Khi người dùng chọn một biểu mẫu hoặc thành phần, Altium Designer sẽ gửi một thông báo đến Hệ thống Tạo kịch bản, hệ thống này sẽ phản hồi thông báo sự kiện bằng cách gọi phương thức xử lý sự kiện thích hợp.

Viết trình xử lý sự kiện

Một tập lệnh có thể cần phản hồi các sự kiện có thể xảy ra với một thành phần trong thời gian chạy. Sự kiện là mối liên kết giữa một sự kiện xảy ra trong Altium Designer, chẳng hạn như nhấp vào một nút, và một đoạn mã phản hồi sự kiện đó. Đoạn mã phản hồi là trình xử lý sự kiện, có chức năng sửa đổi các giá trị thuộc tính và gọi các phương thức.

Cùng với các thuộc tính của thành phần, mỗi thành phần đều có một tập hợp các tên sự kiện. Lập trình viên kịch bản quyết định cách phản ứng với các hành động của người dùng trong Altium Designer. Ví dụ: khi người dùng nhấp vào một nút trên biểu mẫu, Altium Designer sẽ gửi một thông báo đến kịch bản và kịch bản sẽ phản ứng với sự kiện mới này — nếu OnClick sự kiện cho nút đó được chỉ định, nó sẽ được thực thi.

Tất cả các thành phần như vậy cũng có sự kiện để nhận và mất tiêu điểm. Tuy nhiên, nếu mã cho OnEnter và OnExit không được chỉ định (OnEnter - điều khiển đang có tiêu điểm; OnExit - điều khiển mất tiêu điểm), sự kiện sẽ bị tập lệnh bỏ qua.

Thuộc tính thành phần

Để xem danh sách các thuộc tính của một thành phần, hãy chọn thành phần đó và kích hoạt Properties tab trong Object Inspector bảng điều khiển.

Sự kiện của thành phần

Để xem danh sách các sự kiện mà một thành phần có thể phản ứng, hãy chọn một thành phần và kích hoạt Events trong Object Inspector bảng điều khiển. Để tạo thủ tục xử lý sự kiện mà thành phần sẽ phản ứng, hãy chọn một sự kiện phù hợp và nhấp đúp vào tên của nó.

Ví dụ: chọn Button1 thành phần từ Tool Palette bảng điều khiển, thả nó vào biểu mẫu kịch bản và nhấp đúp vào bên cạnh OnClick tên sự kiện. Hệ thống kịch bản sẽ chuyển trọng tâm trở lại Trình soạn thảo mã, nơi mã khung cho OnClick sự kiện sẽ được tạo sẵn. Nếu một nút có Close phương thức trong CloseClick trong trình xử lý sự kiện, khi nút này được nhấp vào, trình xử lý sự kiện của nó sẽ bắt sự kiện on-click và mã bên trong trình xử lý sự kiện sẽ được thực thi. Tức là, phương thức Close phương thức này sẽ đóng biểu mẫu kịch bản.

Tóm lại, trình xử lý sự kiện được tạo trong một tập lệnh bằng cách chọn một thành phần trên biểu mẫu, hoặc thông qua Object Inspector bảng điều khiển, sau đó nhấp đúp vào bên phải sự kiện mong muốn (ví dụ: OnClick) trong tab Events — khung mã thích hợp sẽ xuất hiện trong tập lệnh.

Ngoài ra, bằng cách nhấp đúp vào một nút, hệ thống kịch bản sẽ thêm một trình xử lý cho sự kiện đó OnClick sự kiện. Các loại thành phần khác sẽ có các hành động mặc định hoàn toàn khác nhau.

Phương thức của thành phần

Xem Tài liệu tham khảo thành phần để biết danh sách các phương thức của một thành phần và tham khảo tài liệu Embarcadero Delphi để biết thêm thông tin chi tiết.

Tạo thành phần tại thời điểm chạy

Các thành phần có thể được tạo và hủy trực tiếp trong một tập lệnh. Thông thường, không cần truyền handle của biểu mẫu, vì biểu mẫu tập lệnh sẽ tự động xử lý việc này — thay vào đó, hãy truyền tham số Nil tham số vào hàm tạo (Constructor) của thành phần.

Ví dụ, tham số OpenSave Hộp thoại có thể được tạo và hủy (các TOpenDialogTSaveDialog , là một phần của RTL Delphi).

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 bạn có thể sử dụng phụ thuộc vào giải pháp Altium mà bạn đang có – Altium Develop, Altium Agile Teams, Altium Agile Enterprise, hoặc Altium Designer (đang trong thời hạn hiệu lực).

Nếu bạn không thấy một tính năng được nêu trong tài liệu có trong phần mềm thực tế 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