ハイエンドユーザー向け利用方法(Preference Key 5)

最終更新日

Comments: 0

暑くなってきました。アスパラガスの収穫もほぼ終わり、マルベリーも全部ジャムになってしまいました。今年はゆすらうめの収穫時を間違えて、半分ぐらい鳥さんつつかれてしまいました。このユスラウメ、実は小さいのですがとっても美味しいのです。佐藤錦にも負けないぐらい。完全に熟してしまう前が食感も良くて一番好きなのですが、ほぼ全数が娘のおなかの中に入ってしまいましたw
さて、ちんたらと続けているこの初期設定絡みの処理ですが、実はユーザーにも解放されている機能です。こう書いても????なのは承知しております。どういう事かというと、「ユーザーがアプリケーションと同様に自前の設定及び値をスクリプトを介して保存しておける」と言う事です。
以前、XMPカスタムフィールドにメモを書き込める様にしましたが、それとは違いアプリケーション自身に設定が保存されます。もちろん、値がどういうものかによってメソッドの使い分けは必要ですが、既存のスクリプト等にr/wのルーチン仕込んでおけばプリセットや前回の値を読み出す等、自由自在です。

このカスタムキーの設定方法ですが、単純にキーと値のペアをsetメソッドで書き込むだけです。一つ注意が必要なのは既存のkeyを上書きする可能性があると言う事です。ですから名前を付ける場合はご注意ください。基本的に自前のURLのリバースドメインをベースにスクリプト名+ID等のような構成が良いでしょう。「net.sytes.chuwa/testJS/intVal1」と言うような感じで各項目を「/」で分割する事により階層構造を生成出来ます。

/com.ten-artai {
     /test [ 12
          5465737420737472696e672e
     ]
}

これがプレファレンスの保持状態です。これを読み出すキーは「net.sytes.chuwa/test」となります。属性は「String」デフォルトのキーにはほとんど見られない形式です。ブラケット内にはbyte数とUTF-8の文字コードが並びます。ちなみにこれは「Test String.」です。

一例

app.preferences.setStringPreference("kojinteki/memo1","めも");

これで「kojinteki」以下の「memo1」の値がString属性でセットされます。内部的にはStringの場合、前述の通りUTF-8のbyteコードの塊として保存されます。ですから日本語での書き込みも可能です。
一旦AIを終了してから読み出してみます。

alert(app.preferences.getStringPreference("kojinteki/memo1"));

この様に読み出す事ができました。
上書きしてみます。

app.preferences.setStringPreference("kojinteki/memo1","めもももも");

再度読み出して…

と言う具合になりました。これ以上続けると本当にAIの深淵を覗き込む事になりますのでプレファレンス系はこれて一区切りです。

ten_a

Graphic Designer, Scripter and Coder. Adobe Community Professional.

シェアする

コメントを残す