资源文件(.RES)的应用

资源档有什麽用处呢?最重要的有两个地方
1.国际发行:我们将Application中所有的文字从Resource用读取,那麽,只要更动
            Resource档的内容,就可以用不同语言的方式来显示。
2.管理资源:例如说,我们的AP中用了数百张的图片或声音,不用Resource档的话,
            在发行出去的AP中,就必需有数百个图形、声音档,那似乎不太好,使
            用Resource档,便可以将这些图形、声音放进一个.Res档。

使用RC.exe来Compiler我们所定义的Resource档, RC.EXE在vb5.0光碟中的/TOOLS/RESOURCE 

Resources 可分成两大部份:

- String resources (text strings such as "Hello World").
- Binary resources (icons, bitmaps, cursors, sounds, video等)

String Resources

语法:

STRINGTABLE [load-option] [mem-option]
BEGIN
stringID string
.
    .
    .
END

叁数说明 :
- load-option 可以是以下两种

Option Description
------ -----------
PRELOAD Resource is loaded immediately.
LOADONCALL (Default) Resource is loaded when called.

- mem-option 可以是以下三种

Option Description
------ -----------
FIXED Resource remains at a fixed memory location.
MOVEABLE Resource can be moved if necessary in order to compact memory.
DISCARDABLE Resource can be discarded if no longer needed.
- stringID  自行定义的integer,用来定义字串 resource.

- string    我们定义的字串,字串前後要用双引号(")将之包围起来,字串长度不可
            超过255 bytes,而且字串要在同一行 

BINARY RESOURCES
语法:

nameID keyword [load-option] [mem-option] filename

叁数:

- nameID 定义一个於以下keyword类别中,一个唯一的名称或数字,即,有三个BITMAP
         类别的Resource,其nameID可以分别为1,2,3不重覆,而另有三个ICON的资源
         ,其nameID亦可分别为1,2,3,不会和BITMAP的1,2,3相冲突。注:ICON类别
         的nameID不可以为0,0保留给 Visual Basic icon。nameID亦可以为字串

- keyword 定义资源类别

Option Description
------ -----------
BITMAP Defines a bitmap (.BMP)
CURSOR Defines a cursor (.CUR)
ICON Defines an icon (.ICO)
SOUND Defines a wave file (.WAV)
VIDEO Defines a video file (.AVI)

- load-option

Option Description
------ -----------
PRELOAD Resource is loaded immediately.
LOADONCALL (Default) Resource is loaded when called.

- mem-option

Option Description
------ -----------
FIXED Resource remains at a fixed memory location.
MOVEABLE Resource can be moved if necessary in order to compact memory.
DISCARDABLE Resource can be discarded if no longer needed.

default for binary resources is MOVEABLE. - filename 资源所在的档名

Compiler的语法:

rc /r [options] SourceFile(.RC) 

- /r		只Compiler .RC file , not linked to any executable.

可用rc /? 来查语法

EXAMPLE

RC /r /fo TEST32.RES TEST.RC

上面的表格中是读取Test.RC的定义,而产生TEST32.RES,这个档便是我们程式设计中所需的资源档,而在vb5.0中如何来使用呢,在 "专案功能表 的 新增档案"中来选取该Resource file(.RES) ,之後在专案总管中,会出现

- ---Project1
   +-- 表单
   --- 相关文件
     |
     ------TEST32.RES

那便可以使用 LoadResString LoadResPicture LoadResData来抓取相关的资料了 以下是Test.RC的内容,而BitMap, Icon写的档名,请自行更改成您对映的档案

#define IDS_HELLO    1
#define IDS_GOODBYE  2

STRINGTABLE
BEGIN
    IDS_HELLO,   "Hello"
    IDS_GOODBYE, "Goodbye"
    3,           "This is a Test"
END
STRINGTABLE
BEGIN
    101,        "您好"
    102,        "再见了"
    103,        "这是一个测试"
END

/////////////////////////////////////////////////
// Bitmap
////////////////////////////////////////////////
1          BITMAP "CLI.BMP"
101        BITMAP "CLI2.BMP"
BITMAP3    BITMAP "多多.BMP"

////////////////////////////////////////////////
// ICON
///////////////////////////////////////////////
1          ICON   CLIENT.ICO

以下是在form中,需3个Command Button 3个Label 1个PictureBox 另需在 专案功能表 中选 新增档案 并进而选取Test32.Res

Option Explicit

Private Sub Command1_Click()
Call ShowRtn(0)
End Sub

Private Sub ShowRtn(ByVal i As Long)
Label1.Caption = LoadResString(i + 1)
Label2.Caption = LoadResString(i + 2)
Label3.Caption = LoadResString(i + 3)
Set Picture1 = LoadResPicture(i + 1, vbResBitmap)
End Sub

Private Sub Command2_Click()
Call ShowRtn(100)
End Sub

Private Sub Command3_Click()
Set Picture1 = LoadResPicture("BITMAP3", vbResBitmap)
End Sub
时间: 2024-11-10 14:52:18

资源文件(.RES)的应用的相关文章

Delphi的资源文件

  学习使用资源文件[1] - 入门 更多有关资源的问题参考API应用相关篇章资源文件(*.res)通过编译指令 $R 关联, 譬如工程文件 Project1 中的 {$R *.res} 就是关联 Project1.res 资源文件, 我们直接写作 {$R Project1.res} 不会有问题(但如果工程文件改名时, 你也得随着改才行). 譬如: program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R Project1.r

java 读取jar包中的资源文件实例程序

1) ClassLoader是abstract的,不可能实例化对象,更加不可能通过ClassLoader调用上面两个方法.所以我们真正写代码的时候,是通过Class类中的getResource()和getResourceAsStream()方法,这两个方法会委托ClassLoader中的getResource()和getResourceAsStream()方法 .好了,现在我们重新写一段Resource代码,来看看上面那段费解的话是什么意思了: Java代码  代码如下 复制代码 package

C#创建和使用资源文件

创建 创建资源文件    资源文件顾名思义就是存放资源的文件.资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用.同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密.安全的效果.那么Visual C#所使用的资源文件中到底存放哪些东西呢?在用Visual C#创建资源文件大致可以存放三种类型的数据资源,分别是字节数组.各种对象和字符串.本文将结合一个程序例子来具体说明用Visual C#是如何创建资源文件的.

VB编程的好帮手--资源文件

各位VB高手,你一定也常常因苦于无法组织自己程序中大量的picture,而头痛不已,那就让小生为各位介绍一下VB编程的好帮手--资源文件. 所谓资源文件,就是指将在程序运行时用到的资源集中在一起的一个文件.一个资源文件可以包括文字(TEXT).位图(BITMAP).图标(ICON)等.并且在程序中调用时不用指明路径,这就简化了程序的编写并减少了发生错误的可能.现在我就以一个小程序为例讲述资源文件的一些使用方法. 这个工程运行后,当点击[未来]按钮时中间图像将依次变换为夏.秋.冬.春--点击[从前

如何使用资源文件

下面介绍如何将光标和声音作为资源编译到可执行文件中,及其使用方法. 第一步:建立一个rc文件. 例如:zpg.rc,内容如下: DemHint  WAVE  D:\Zpg2000\Res\DemHint.wav PrintType BITMAP  D:\Zpg2000\Res\PrintType.bmp ArrowDown BITMAP  D:\Zpg2000\Res\ArrowDown.bmp ArrowUp BITMAP  D:\Zpg2000\Res\ArrowUp.bmp ZoomIn

解析Android资源文件及他们的读取方法详解_Android

Sam在Android开发中,有两种处理资源文件的方式.其一,是将所有资源文件以及JNI程序放置于一个单独的资源包.使用到他们时,使用文件方式读取.或者直接使用C++层代码读取. 其二,则是将资源文件加入到APK内部.使用各种不同的办法去得到其内容.方法一:适合于移植较大的C++程序时使用,因为C++代码数量众多,不太可能修改为JAVA代码.所以将其与资源文件以一定方式存放,并让他们自称体系是个好办法.但这造成软件的发布必须以APK+资源包的方式发布.方法二:则比较适合代码量不是非常大,且资源数

Android 原始资源文件的使用详解_Android

背景知识介绍与其他平台的应用程序一样,Android中的应用程序也会使用各种资源,比如图片,字串等,会把它们放入源码的相应文件夹下面,如/res/drawable, /res/xml, /res/values/, /res/raw, /res/layout和/assets.Android也支持并鼓励开发者把UI相关的布局和元素,用XML资源来实现.总结起来,Android中支持的资源有:•颜色值                 /res/values               以resourc

过滤Android工程中多余资源文件的解决方法_Android

本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下: 很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,有的图片删掉了,可是在实现的时候开发人员只是把新的资源覆盖到原来的资源文件夹中,随着版本的发布,在drawable或values中积累的无用资源越来越多,直到最后发布正式版的时候再想要删除这些多余的文件,于是不得不一个一个文件检查看是否有用,再决定要不要删除之. 有鉴于此,很有必要

Android开发之资源文件用法实例总结_Android

本文实例总结了Android开发之资源文件用法.分享给大家供大家参考,具体如下: 这里记录在Android开发中经常用到的一些用法 arrays.xml定义数组 例: <resources> <!-- share items --> <string-array name="app_share_items"> <item>新浪微博</item> <item>腾讯微博</item> </string-