Data Component Object

AppleScriptの変数に格納することができるあらゆる形式(クラス)のデータをバイナリファイルに保存する共有ライブラリです。様々なデータを自由にファイルに読み書きすることができるようになります。

AppleScriptからの利用法

Mavericks以降ではスクリプトライブラリとして利用できるので、スクリプトライブラリフォルダの中に入れたDataCompObjの機能を簡単なスクリプトで利用することができます。
tell script "DataCompObj"
    writeDataFile(FilePath, theData)
end tell

データの読み書き

どんな形式のデータでもファイルに読み書きできる強力無比なハンドラです。書き出したファイルはDataCompObj形式という独自の形式ですが、Classic Mac OS System7からOS X El Capitanまで一貫して互換性があります。
writeDataFile(FilePath, theData)
ファイルパスと保存するデータを渡します。ファイルパスはPOSIX形式での動作を保証しません。
readDataFile(FilePath)
データを読み込んで返します。マックバイナリ化されたファイルも読むことができます。

パスワード保護、その他

データをパスワードで保護します。データの記録には,ルーチン名にProtectが挿入され,パスワードの分だけパラメータの数が一つ増えた別のルーチンを使用します。読み出しの際に通常の readDataFileハンドラを用いるとパスワードを要求するダイアログが表示されます。ダイアログを表示せずに直接データを読み出せるルーチンも用意されています。
writeProtectDataFile(FilePath, theData, PassWord)
ファイルパスと保存するデータを渡します。パスワードには文字列だけではなくいかなる形式のデータも用いることができます。
readProtectDataFile(FilePath, PassWord)
パスワードを与えてデータを読み込みます。パスワードが誤っている場合はエラーが返ります。
readDataInfo(FilePath)
対象となるファイルを保存したスクリプトに関する情報を読み出します。データ形式、プロテクトされているかどうかなどの情報が返ります。

ダウンロードとライセンス

以下のリンクから最新版を自由にダウンロードできます。個人の利用には制限はありません。スクリプトライブラリフォルダにDataCompObjがインストールされていることを前提にしたスクリプトの作成や配布には宣言はありません。DataCompObjの再配布には許可が必要です。
当サイトのスクリプトソフトウエアのいくつかはネットワークインストーラを使ってユーザーのスクリプトライブラリのフォルダにDataCompObjを自動的にインストールします。

DataCompObj