Làm cách nào để tạo AppleScript bằng menu thả xuống không có Xcode?


8

Làm cách nào để tạo một AppleScript hiển thị menu thả xuống mà không sử dụng Xcode?

Câu trả lời:


1

Không có khái niệm nào về menu trong các hộp thoại - cảnh báo bằng ngôn ngữ AppleScript.

Cách gần nhất bạn có thể làm là đặt tên cho một số tệp giả (trong thư mục tạm thời) bằng hành động thích hợp và yêu cầu người dùng chọn tệp có nhãn hành động bạn muốn thực hiện.

open folder blah
  with selected file bah
    do whatever

Một "giải pháp" khủng khiếp cho một vấn đề cần một menu ca cao - cho dù bạn thực hiện nó trong Xcode hay người khác làm - Xcode / IB là công cụ tạo ra một menu . MacRuby là một cách hay để kịch bản một ứng dụng cần giao diện người dùng đầy đủ tính năng hơn AppleScript. Bạn không cần Xcode / IB để tạo một ứng dụng từ tập lệnh thuần túy.

Bạn có thể tạo NIB bằng Trình tạo giao diện và tập lệnh tất cả bằng AppleScript, nhưng nib tự xác định menu - không phải AppleScript (ngay cả khi AppleScript có thể điền hoặc xóa các mục menu trong thời gian chạy).


11

Một lựa chọn sẽ là sử dụng CocoaDialog **:

set l to {"aa", "bb", "cc"}
set choices to ""
repeat with x in l
    set choices to choices & quoted form of x & " "
end repeat
set dialog to paragraphs of (do shell script "/Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog" & " standard-dropdown --title title --text text --items " & choices)
if item 1 of dialog is "2" then return -- pressed cancel button
item ((item 2 of dialog) + 1) of l

Bạn cũng có thể chỉ cần sử dụng choose from list:

choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed


** URL gốc cho repo Github mstratmannày đã thay đổi. Từ nghiên cứu, có vẻ như CocoaDialog đã chuyển sang org. Dưới đây là những thay đổi mới:


1

Ngoài ra, nếu bạn chỉ cần một danh sách để lựa chọn, bạn cũng có thể làm

choose from list listYouDefined with prompt "Choose from the list."

Google "AppleScript Chọn từ danh sách".


1

Tôi hiểu đây là một câu hỏi cũ nhưng vì câu trả lời được bình chọn tốt nhất nói trong tài liệu về Cốc Cốc 2:

Tải xuống không hoạt động Tải xuống cho cocoadialog 2 không còn có sẵn. Điều này phần lớn là do những thay đổi khác nhau và thiếu lưu trữ vĩnh viễn trong những năm qua.

và 3 không đến mùa xuân / hè 18 Tôi đã tìm kiếm các lựa chọn thay thế khác và tôi đã tìm thấy Pashua :

nhập mô tả hình ảnh ở đây (ảnh chụp từ trang web)

Theo tài liệu này được gọi là popup:

Example: Using popup
p.type = popup
p.label = Example popup menu
p.width = 310
p.option = Popup menu item #1
p.option = Popup menu item #2
p.option = Popup menu item #3
p.default = Popup menu item #2

Ảnh chụp màn hình:

nhập mô tả hình ảnh ở đây

Github repo

Sau khi sử dụng, tôi thấy rằng bạn có thể cài đặt Pashua.app trong thư mục Ứng dụng của mình hoặc bạn có thể nhúng Pashua vào ứng dụng của mình. Tôi không phải là tác giả của điều này nhưng tôi cần một giải pháp cơ bản cho GUI và điều này không được đề cập.


0

Bạn không cần Xcode cho AppleScript. Chỉ cần mở Trình soạn thảo AppleScript trong Ứng dụng / Tiện ích (Phím tắt Finder cho thư mục Tiện ích: ⌘ Command+ Shift+ U). Có một số mã mẫu cho menu thả xuống trên MacScripter: Menu thả xuống .


Tôi đã xem liên kết đó. Kịch bản yêu cầu giao diện NIB / Xcode.
daviesgeek

Đó là một ví dụ tuyệt vời về cách AppleScript có thể sửa đổi các mục menu trong thời gian chạy mặc dù :-)
bmike

Vâng, nhưng không chính xác những gì tôi đang tìm kiếm.
daviesgeek
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.