タイトル通り、昔作った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