Scroll to navigation

resource(3tcl) Tcl Built-In Commands resource(3tcl)


NAME

resource - 操纵 Macintosh 资源

总览 SYNOPSIS

resource option ?arg arg ...?


描述 DESCRIPTION

resource 命令为处理 Macintosh 资源提供了一些一般操作。只在Macintosh 平台上支持这个命令。每个 Macintosh 文件由两个 fork组成: 一个数据 fork 和一个资源 fork。你可以使用通常的open、puts、 close 等命令来操纵数据 fork。但是要与资源 fork 交互你必须使用这个命令。Option 指示完成什么资源命令。可以接受 option 的一个唯一的缩写。有效的选项有:

关闭给定的资源引用(获取自 resource open)。来自这个资源文件的资源将不再可获得。
这个命令将删除用 options 和类型 resourceType (参见下面的RESOURCE TYPES 资源类型) 指定的资源。下列选项给出指定要删除资源的一些方式。
如果给出了 -id 选项,则使用 id resourceId (参见下面的RESOURCE IDS 资源ID)指定要被删除的资源。id 必须是一个数 - 要指定一个名字请使用 -name 选项。
如果指定了 -name,则删除叫做 resourceName 的资源。如果还提供了 -id,则要删除的资源必须有这个名字和这个 id 二者。如果未提供名字,则使用 id 而不管实际资源的名字。
如果指定了 -file 选项,则从 resourceRef 所指向的文件中删除资源。否则删除在资源文件路径上找到的有给定的 resourceName 和/或 resourceId 的第一个资源。要检查文件路径,应使用 resource files 命令。
如果未提供 resourceRef,这个命令返回所有当前打开的资源文件的资源引用的一个 Tcl 列表。这个列表按 Macintosh 通常查找资源的次序来排序。如果指定了 resourceRef,这个命令将返回到那个记号表示的资源 fork 所在的文件的路径。
列出所有的类型 resourceType 的 id(参见下面的 RESOURCE TYPES 资源类型)。如果指定了resourceRef ,则这个命令把查找限制为这个特定的资源文件。否则,查找应用当前当前打开的所有资源文件。返回找到的资源的要么是资源名字要么是资源id 的一个 Tcl 列表。关于资源 id 的详情请参见下面的 RESOURCE IDS 资源 ID。
打开文件 fileName 的中资源。还可以指定标准文件访问权限(详情参见 open 手册条目)。它返回可被其他资源命令使用的一个资源引用(resourceRef)。如果文件不存在或文件没有资源 fork 则产生一个错误。但是,如果你打开文件时加上了写权限,则建立这个文件和/或资源 fork 而不生成一个错误。
把类型是 resourceType (参见下面的 RESOURCE TYPES资源类型)并且名字或 id 是 resourceId 的全部资源(参见下面的 RESOURCE IDS 资源 ID)读到内存中并返回这个结果。如果指定了 resourceRef ,则这个命令把我们的查找限制为这个特定的资源文件,否则我们查找在应用中所有打开的资源。要注意:多数 Macintosh 资源使用二进制格式,并且从这个命令返回的数据可能包含嵌入的 NULL 或其他非 ASCII 数据。
这个命令返回在 resourceRef 所指向的资源文件中找到的所有资源类型(参见下面的 RESOURCE TYPES资源类型)的一个Tcl 列表。如果未指定 resourceRef ,则它返回在应用当前打开的所有资源文件中找到的所有资源类型。
这个命令把在 data 中传递进来的数据写为类型是 resourceType (参见下面的 RESOURCE TYPES资源类型)的一个新资源。可获得许多描述资源存储在那里和如何存储的选项。
如果给出了 -id 选项,则为新资源使用 id resourceId ( 参见下面的SOURCE TYPES资源类型),否则生成一个与任何现存的资源不冲突的一个唯一的 id。但是,id 必须是一个数 - 要指定一个名字请使用 -name 选项。
如果指定了 -name,则这个资源将叫做 resourceName,否则它将以空串作为名字。
如果指定了 -file 选项,则把资源被写入 resourceRef 所指向的文件中,否则使用最新近打开的资源。
如果目标资源已经存在,则 Tcl 缺省的不是覆写它,而是引发一个错误。使用 -force 标志来强行覆写现存的资源。

资源类型 RESOURCE TYPES

资源类型被定义为一个四字符的字符串,它被映射成一个底层 id。例如,TEXT 参照的 Macintosh 资源类型是文本。类型 STR# 是已计数的(counted)的字符串的一个列表。所有 Macintosh 资源必须是某种类型的。要得到通常使用的资源类型的一个完整列表请参见 Macintosh 文档。

资源 RESOURCE IDS

对于本命令,一个资源的 id 的概念(notion)实际上涉及 Macintosh 资源中的两个概念。在你可以使用资源 Id 的每个地方,你可以使用资源名字或者一个资源数。查找和返回总是偏好名字而不是数。例如,如果一个资源的名字存在则 resource list 命令将返回这个名字,如果资源的名字是 NULL 则返回数。

移植要点 PORTABILITY ISSUES

只在 Macintosh 上可获得这个命令。

参见 SEE ALSO

open(n)

关键字 KEYWORDS

open, resource

[中文版维护人]

寒蝉退士

[中文版最新更新]

2001/10/29

《中国 Linux 论坛 man 手册页翻译计划》:

http://cmpp.linuxforum.net

8.0 Tcl