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- ID 為 1 和 2 的 "vers" 資源包含版本資訊,這些資訊在 Finder 視窗和 "獲取資訊" 視窗中可見。有關更多資訊,請參閱 Inside Macintosh: Macintosh Toolbox Essentials 中的 "Finder Interface" 章節。
-SIZE- ID 為 -1、0 和 1 的 "SIZE" 資源包含有關你的應用程式記憶體大小、它可以響應哪些事件型別等重要資訊。FB 在構建應用程式時始終包含 "SIZE" 資源,但你可能希望透過提供你自己的 "SIZE" 資源來覆蓋預設 "SIZE" 資源中的功能。有關更多資訊,請參閱 Inside Macintosh: Macintosh Toolbox Essentials 中的 "Event Manager" 章節。
-BNDL, FREF, ICN#- 使用這些資源將特殊圖示分配給你的應用程式以及你的應用程式建立的文件。這些資源還決定了哪些型別的文件可以拖放到 Finder 中你的應用程式的圖示上。有關更多資訊,請參閱 Inside Macintosh: Macintosh Toolbox Essentials 中的 "Finder Interface" 章節。
CALL <資源>; BUTTON (自定義 CDEF); ENTERPROC