忍者ブログ

[PR]

×

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

ApplescriptでPerlにGUI

タイトル通り、昔作ったperlプログラムにGUIをつけようと思った。
以前作ったデジカメの写真を整理するプログラムだ。
(そんなんそこらへんにあるだろとか言うな。自分でやることに意味がある.........
と思います!)

友達同士で旅行に行ったとする。
そこでみんなのでデジカメの写真を集めて配ろう、なんてよく聞く話だ。
じゃあ俺がまとめるよーって言って
このかっちょいい(そうなる予定)GUIでシャキッと決めて
「えー、何これーすごいー、」
俺「このプログラム自分で作ったんだよー」
「すごい!抱いて!!」

俺死ね。

へっぽこながら「一応」GUIがついたので忘備録としてメモ。
          ↑
       ここ重要

選択肢は3つ
1. XcodeとInterface Builderで作る
2. Perl/Tkを使う
3. Applescriptからperlスクリプトを呼び出す

自分にとって1と2は敷居が高すぎた。

1は、GUIを使ってGUIを作れるらしくて
「これなら簡単じゃん」
って挑戦してみたのだがさっぱり。
何が分からないのかすら分からない状態なので調べようがない。

2はGUI部分もプログラミングしなければいけないので
挑戦せずにあきらめた。

残りは3。
ネットによるとApplescriptとは
中学生でも分かるような自然英語でMacのアプリと
会話する感じでプログラミングができるとのこと。

choose fileと書くだけで

って画面がでる。

これならGUIのデザイン考えないですむし
簡単そうだと感じたので3に決定!

とはいってもすごくはまったのでメモ。

まずはperlプログラムの説明。
以前日記にも書いた奴で、

カレントディレクトリの各jpgファイルのexifデータから
exifっていうコマンドを使って撮影日を取得

撮影日毎に、○枚あるぜー
って表示後、どれをデスクトップにコピーするかを数字で入力させる。
こんな感じ


んで、数字を読み取ってデスクトップにコピー。

めんどくさいのは、接続したデジカメの、ファイルがあるとこまで
Terminalのcdコマンドで移動しなければならないことだ。

そこでApplescriptedtorで
choose folder with prompt "デジカメの写真があるfolderを選択しろおぉぉぉぉぅぁぁぁぁぁぁぁぁぁ"
とかく。
そうすると最初の画像のような、フォルダを選択するダイアログが出てくる。
"○○○○"の部分は自分で自由に変更可能。

選んだフォルダのパスを取得して、perlコマンドに渡したい。
だもんで、"set 変数名 to コマンド" を利用。
set folder_path to choose folder with prompt "Choose a folder containing JPG files"
とすると変数folder_pathに選択したフォルダのパスが入る。

ここで入るパスはTerminalで使う/Users/name/Desktopとかとは違くて
Macintosh HD:Users:name:Desktop
ってなる。

これをTerminal式に変換するのがPOSIX pathというやつで
set folder_path_trmnl to POSIX path of folder_path
とすると変数folder_path_trmnlにTerminal式でのパスが代入される.

これを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

 

忍者アナライズ