resource

ReferenceTOPKeywords

コマンド名

resource - Macintoshリソースを操作します。

構文

resource option ?arg arg ...?

解説

resourceコマンドはMacintoshリソースを取り扱うためのいくつかの一般的な操作を提供します。このコマンドはMacintoshプラットフォームでのみサポートされます。各Macintoshファイルは2つのforks から構成されています。 dataフォークとresourceフォーク。 データフォークを操作するためには、普通open、puts、close等のコマンドを用います。しかしリソースフォークと相互に作用し合うには、当コマンドを使う必要があります。optionはどのようなリソースコマンドを使うべきかを示します。 optionは、区別できるなら全ての省略形が認められます。認められているオプションは下記の通りです。

resource close rsrcRef
resource delete ?options? resourceType
-id resourceId
-name resourceName
-file resourceRef
resource files ?resourceRef?
resource list resourceType ?resourceRef?
resource open fileName ?access?
resource read resourceType resourceId ?resourceRef?
resource types ?resourceRef?
resource write ?options? resourceType data
-id resourceId
-name resourceName
-file resourceRef
-force
resource close rsrcRef
与えられたリソース参照(resource openで取得された) を閉じます。このリソースファイルからのリソースは使えなくなります。

resource delete ?options? resourceType
このコマンドはoptions とタイプresourceTypeリソースタイプ参照)によって指定されたリソースを削除します。 下記オプションは削除されるリソースを指定するいくつかの方法を定義します。

-id resourceId
-idオプションが与えられると、IDresourceId リソースID参照) は削除されるリソースを指定するために使われます。 IDは番号でなければなりません--名前を指定するには、-nameオプションを使います。

-name resourceName
-nameが指定されると、resourceName という名前のリソースは削除されます。-idも与えられる場合、 この名前とこのIDの両方を持っているリソースが存在しなければなりません。名前が提供されない場合、実際のリソースの名前に関係なく、IDが使われます。

-file resourceRef
-fileオプションが指定される場合には、resourceRef に示されたファイルからリソースが削除されます。そうでない場合には、リソースファイルパスで見つかった与えられたresourceName 及び(あるいは)resourceId を持つ最初のリソースが削除されます。ファイルパスを検査するために、resource files コマンドを使用します。

resource files ?resourceRef ?
resourceRef が提供されなかったら、このコマンドは現在オープンされたリソースファイルの全てへのリソース参照のTclリストを返します。 このリストはリソースの正常なMicintos検索順です。resourceRef が指定される場合、このコマンドはリソースフォークがそのトークンに表されるファイルへパスを返します。

resource list resourceType ?resourceRef ?
タイプresourceType リソースタイプ参照)のすべてのリソースIDをリストします。resourceRef が指定されると、コマン ドはその特定のリソースファイルに検索を限定します。そうでなければ、アプリケーションにより現在オープンされているすべてのリソースファイルが検索されます。見つかったリソースのリソース名かリソースIDのいずれかのTclリストが返されます。

resource open fileName ?access?
ファイルfileNameのリソースをオープンします。標準のファイルアクセス許可も指定できます(open 参照)。 他のリソースコマンドによって使われるリソース参照(resourceRef)が返されます。ファイルが存在しなかったり、ファイルがリソースフォー クを持たないと、エラーが発生することがあります。しかし、書込み許可でオープンするとエラーを生成しないで、ファイル、かつ(または)リソースフォークが作成されます。

resource read resourceType resourceId ?resourceRef ?
タイプresourceType (後述のリソースタイプを参照)のリソース全体、そしてresourceId (下のリソースIDを参照)の名前かIDをメモリへ読み込み、結果を返します。resourceType が指定されると、そのリソースファイルに検索を限定します。そうでなければアプリケーションでオープンされているリソースフォークすべてを検索します。ほとんどのMacintosh リソースがバイナリ形式を使っていることと、このコマンドから返されるデータがNULLや他の非ASCIIデータを含んでいるかも知れないことに 注意することが重要です。

resource types ?resourceRef ?
このコマンドはresourceRef で指定されたリソースファイルで見つかったすべてのリソースタイプ(リソースタイプ参照)のTclのリストを返します。 resourceRef が指定されないと、現在アプリケーションでオープンされているすべてのリソースファイルで見つかったすべてのリソースタイプを返します。

resource write ?options? resourceType data 
このコマンドはdataに渡されたものを、resourceType タイプ(後述のリソースタイプを参照)の新しいリソースとして書き出します。リソースがどこに、どのように格納されるかを記述するいくつかのオプションが利用可能です。
-id resourceId
-idオプションが与えられれば、IDのresourceIdリソースID参照)は新しいリソースに使われます。そうでなければ、既存のソースと衝突しないユニークなIDが生成されます。IDは番号でなければなりません-- 名前を指定するには-nameオプションを使います。

-name resourceName
-nameが指定されれば、リソースはresourceName という名前になります。指定されなければ、名前として空文字列を持ちます。

-file resourceRef
-fileオプションが指定されれば、リソースはresourceRef で示されるファイルに書き出されます。指定されなければ、もっとも最近オープンされたリソースが使われます。

-force
ターゲットリソースが既に存在すれば、デフォルトでは、Tclはそれに上書きしないで、その代りにエラーを生成します。 -forceフラグは現存しているリソースへの上書きを強制します。

リソースタイプ

リソースタイプは内在のIDにマップされる4文字の文字列と定義されます。例えば、TEXTはテキストのMacintoshリソースタイプを参照します。タイプSTR#はカウントされた文字列のリストです。 すべてのMacintoshリソースは、かならずいずれかのタイプでなければなりません。一般的に使われるリソースタイプの完全なリストについては、Macintosh のドキュメンテーションを参照します。

リソースID

このコマンドに対するリソースIDの概念は、実際Macintosh リソースの2つの項目を参照しています。リソースIDが使用できる場所なら、どこででもリソース名かリソース番号の両方が使用できます。名前は番号より優先に検索され、返されます。 例えば、resource listコマンドは名前が存在すれば名前を、名前がNULLならば番号を返します。

移植性の問題

リソースコマンドはMacintoshのみで利用可能です。

参照

open

キーワード

open, resource


Copyright © 1997 Sun Microsystems, Inc. Copyright © 1995-1997 Roger E. Critchlow Jr.