sách gpt4 ai đã đi

Tương tác Applescript và iCal

In lại 作者:行者123 更新时间:2023-12-04 02:45:03 29 4
mua khóa gpt4 Nike

我正在尝试编写一个 AppleScript 来查询 iCal 并在任何日历中查找给定日期的所有事件。

我首先编写了一个简单的脚本,它对给定日历中的每个事件执行一些简单的操作:

tell application "iCal"
tell calendar "Reuniones"
set the_events to every event
repeat with an_event in the_events
-- do something with every event
set value to summary of an_event
end repeat
end tell
end tell

但是,即使我在循环中没有做任何复杂的事情,这个简单的脚本也需要很长时间才能执行(几秒钟)。恐怕真正的脚本执行起来真的要花很多时间。

我对 Applescript 不是很熟悉,因此我想我正在做一些对性能有严重影响的傻事。

谁能解释一下为什么这需要这么多才能执行?任何人都可以提出一些改进我的代码的建议吗?我现在要开始检查事件的日期,在循环中有一个条件。我怀疑必须有一种方法可以搜索带有日期的事件(就像 Automator 操作一样),但我一直无法找到一种“本地”方法来这样做......

biên tập:我使用的是 Mac OS X Tiger (10.4)。较新版本的 iCal 可能改进了可用的操作库。

1 Câu trả lời

我今天一直在努力解决这个问题,发现您可以按日期过滤(至少在 Snow Leopard 上)。所以

tell application "iCal"
set out to ""
set todaysDate to current date
set time of todaysDate to 0
repeat with c in (every calendar)
set theEvents to (every event of c whose start date ≥ todaysDate)
repeat with current_event in theEvents
set out to out & summary of current_event & "\n"
end repeat
end repeat
return out
end tell

将返回所有 future 事件的摘要,并且与遍历所有事件相比非常快。

关于Applescript 和 iCal 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/928273/

29 4 0
Bài viết được đề xuất: haskell - 给我解释一下
Bài viết được đề xuất: tags - 在 PC 和 Mac 上为图像使用标签或元数据
Bài viết được đề xuất: r - glm 中的系数与 loglm 中的系数
Bài viết được đề xuất: silverlight-2.0 - Silverlight 2.0 DataGrid 如何去除鼠标悬停效果
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com