忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ApplescriptでPerlにGUI その弐

前回の続き。
set folder_path_trmnl to POSIX path of folder_path
で取得したフォルダのパスをperlスクリプトに渡すところから。

ここが一番はまった...

まず、Applescirptからperlスクリプトを実行する方法は
(自分が知っている限り)2つある。

do shell scirpt "コマンド"
これは、ほんとにApplescirpt上でperlのコマンドが動く。
Applescirptでは、perlの中でprint "なんたら"としたやつを取得できる。

もう一つはTerminalを起動させてしまい
そこで実行する方法。

tell application "Terminal"
 ごにょごにょ
end tell


("アプリ"の部分をSafariにして指定したurlを開くとかもできる。)

ごにょごにょの部分に
do script "Terminalに実行してほしいコマンド"
をかけばいい。

この方法、GUIを作るんだ!
っていう目的にそぐわないので却下。
 ┌○┐
 │お|ハ,,ハ
 │断|゚ω゚ )  お断りします
 │り _| //
 └○┘ (⌒)
    し⌒

ということでApplescript上でperlを実行することにした。この場合、
do shell script "cd "/some/where/niaru/your_program.pl 引数"
でできるはず。

この引数を渡す方法がかなり厄介。
上記の例だと、単に
ponyo.pl folder_path_trmnl
としただけでは無理。
試しにperl中で
print "ARGV[0]\n"
とすると
folder_path_trmnl
と返ってくる。

helpをみても分からんので、他人のサンプルプログラムを拝見。
"ponyo.pl " & folder_path_trmnl & ""

うげぇ、なんだこれ...
一気にApplescriptに対する印象が悪くなった。

まあ、かくして引数は渡せる様になった。
いざ実行。

フォルダを選択させるダイアログが出現。
Terminal式のパスがPerlスクリプトに渡されて...
動いたー、ってあれーーー?

このプログラム、対話式で、入力した数字をもとに
コピーするファイルを決定するのに、全部デスクトップにコピーされてやがる....

うおおぉおぉおおおぉぉぉぉーーーい!!!

このあといくらあがいても
対話型として動かすことはできませんでした。。。

ちゃんちゃん。




ということで現在、Terminalを起動させる方法で「一応」
完成しました。
Folderを選択するとこだけGUI...

applescript上で完結させるには
元のperlスクリプトをかなりいじらなければならなそうなんで
暇なときにでもやる...かな?

やらないなんてこともないかと思うこともない。
PR
Name
Title
Mail
URL
Comment
Pass
Pictgram
Vodafone絵文字 i-mode絵文字 Ezweb絵文字

 
トラックバックURL
 

プロフィール

HN:
わかめ
性別:
男性

 

カレンダー

11 2025/12 01
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

 

最新TB

 

バーコード

 

ブログ内検索

 

最古記事

 

P R

 

忍者アナライズ