Futurebasic/语言/参考/资源
资源
2000 年 5 月 30 日(版本 3)
这是一个非可执行语句,执行两个主要功能:它指定程序的文件类型和创建者;它标识一个包含资源的现有文件(路径名),这些资源应在 FB 构建文件时复制到应用程序文件或代码资源文件的资源分支中。RESOURCES 语句是可选的。如果您在程序中不包含它,FB 将构建一个类型为“APPL”,创建者签名为“xxxx”的应用程序文件,其中包含一组标准资源。资源也可以通过将资源文件拖放到项目管理器窗口中来添加。您可以在程序中包含多个 RESOURCES 语句。FB 使用遇到的第一个 RESOURCES 语句来确定文件类型和创建者。路径名参数可以是完整路径名或部分路径名,该路径名指定包含资源的文件;或者指定指向该文件的别名。如果您使用部分路径名(例如,简单文件名),则假设该路径相对于您的项目文件夹。当 FB 构建应用程序文件时,它将从路径名文件中的所有资源复制到构建的文件的资源分支中。请注意,如果您未指定路径名参数,则仍必须指定一对(空的)双引号。使用多个 RESOURCES 语句 有时,让 FB 从多个不同的资源文件复制资源会很方便。您可以通过在程序中包含多个 RESOURCES 语句来实现这一点,每个语句指定一个不同的路径名参数。如果您的程序包含多个 RESOURCES 语句,则第二个及所有后续的 RESOURCES 语句不应指定除路径名以外的任何参数。如果您的程序包含多个 RESOURCES 语句,则有可能在资源之间发生“冲突”。当一个路径名文件中的资源与另一个路径名文件中的资源具有相同的类型和相同的 ID 号时,就会发生这种情况。当这种情况发生时,FB 在构建文件时,遇到的最后一个资源将替换遇到的第一个资源。在决定将 RESOURCES 语句放置的顺序时,您应该牢记这一点。版本 3 中的新功能:如果您的资源的 ID 为 32512-32767,编译器会在看到冲突时对其重新编号。这样,您可以通过名称引用它,并使用 GETNAMEDRESOURCE 拾取它。这对那些希望将源代码与所需资源一起分发的用户非常重要。
示例:您的项目中有两个资源文件。
myRes1.rsrc myRes2.rsrc myRes1.rsrc 包含:_"PICT" ID 501 Name "One" _"PICT" ID 502 Name "Two" _"PICT" ID 32512Name "Fred" myRes2.rsrc 包含:_"PICT" ID 501 Name "OneOne" _"PICT" ID 502 Name "TwoTwo" _"PICT" ID 32512Name "Barney" 您的最终应用程序将包含:_"PICT" ID 501 Name "OneOne"<- 注意 OneOne 替换了 One _"PICT" ID 502 Name "TwoTwo"<- 注意 TwoTwo 替换了 Two _"PICT" ID 32512Name "Fred" <- 32512 的第一个版本已保存 _"PICT" ID 32513Name "Barney"<- 32512 的第二个版本已重新编号 一些有用的资源
在构建应用程序时,FB 会自动包含应用程序所需的标准资源集。您可以通过包括以下资源来增强应用程序(所有这些资源都可以使用 ResEdit 创建)
-VERS- "vers" 资源,其 ID 为 1 和 2,包含在 Finder 窗口和“获取信息”窗口中可见的版本信息。有关更多信息,请参见 Inside Macintosh:Macintosh Toolbox Essentials 中的“Finder 界面”一章。
-SIZE- "SIZE" 资源,其 ID 为 -1、0 和 1,包含有关应用程序内存大小、可以响应的事件类型等的 중요한 信息。FB 在构建应用程序时始终包含“SIZE”资源,但您可能希望通过提供自己的“SIZE”资源来覆盖默认“SIZE”资源中的功能。有关更多信息,请参见 Inside Macintosh:Macintosh Toolbox Essentials 中的“事件管理器”一章。
-BNDL, FREF, ICN#- 使用这些资源为应用程序和应用程序创建的文档分配特殊图标。这些资源还确定哪些类型的文档可以拖放到 Finder 中的应用程序图标上。有关更多信息,请参见 Inside Macintosh:Macintosh Toolbox Essentials 中的“Finder 界面”一章。
CALL <resource>; BUTTON (自定义 CDEF's); ENTERPROC