例如:101 你好!(中文)
1101 你好!(英文)
2101 你好!(德文)INDEX =0 (中文)
INDEX =1 (英文)
INDEX =2 (德文)多语言版:
Text=Loadstr(Index*1000+101)

解决方案 »

  1.   

    下面是我投的一篇稿,你参考参考 顾名思义,“资源文件”是用来存放文字、图片、声音等资源的文件。它最大的好处是可以编译成.exe文件的一部分,非常的方便程序的发散。当程序中多处用到资源文件中的资源时,我们只要更改资源文件就能达到同时对程序的多处做出修改的目的,这对开发双语版软件是非常方便的。
        那么,资源文件是怎样产生的呢?要产生资源文件,首先需要撰写资源的原始文件(文件名.rc),再通过资源编译程序(rc.exe)编译成我们所需要的资源文件(文件名.res)。在我们安装vb时,资源编译程序默认是没有安装到硬盘上的,但你可以在vb安装盘的COMMON\TOOLS\VB\RESOURCE目录下找到它。将rc.exe和rcdll.dll(与rc.exe在光盘的同一目录下)文件一起复制到你的硬盘上后,你就可以使用资源编译程序了。它的用法是:rc 资源原始文件路径\资源原始文件名.res(注意:rc.exe是在dos模式下运行的。笔者建议将rc.exe文件拷贝到dos命令的默认目录下,而rcdll.dll拷贝到windows\sysem目录下)
        资源原始文件撰写方法很简单,用windows自带的记事本就可以编写。它的基本语法是:
        1、非文字资源:
           语法:  资源名称 关键字 文件名称
           其中,资源名称是你将资源写入资源文件后,资源在资源文件中的id号,这个id号必须是唯一的。关键字是写入资源的类型。非文字资源包括:BITMAP(位图)、CURSOR(光标)、ICON(图标)、WAVE(声音)、TEXTFILE(文本)。文件名称是你要写入的资源所在的路径和它的名称以及扩展名。
        2、文字资源
           语法:  StringTable
                   Begin
                       编号1,“文字内容一”
                       编号2,“文字内容二”
                       …………………………
                       编号n,“文字内容n”
                   End
          其中,StringTable是定义文字资源的关键字。编号是文字资源在资源文件中的唯一id号,且必须是数字。
        下面,我们用一个实际的例子来说明怎样撰写资源原始文件(.rc),以及怎样将它编译成需要的资源文件(.res)。首先,我们在D盘新建一个文件夹,取名为Resource。将一副位图(.bmp)、一个图标(.ico)、一个声音文件(.wav)、一个文本文件(.txt)装入文件夹,分别命名为Mybmp、Myico、Mywav、Mytxt。接着打开记事本,写入如下语句:
           MyPicture BITMAP d:\Resource\Mybmp.bmp
                  MyImage   ICON   d:\Resource\Myico.ico  
                  MySound   WAVE   d:\Resource\Mywav.wav
                  MyText    TEXTFILE d:\Resource\Mytxt.txt
                  STRINGTABLE
                  BEGIN
                       1,"这是使用资源文件的文字内容一!"
                       2,"这是使用资源文件的文字内容二!"
                  END
    将文件保存,在保存对话框的保存类型中选择所有文件,文件名一栏中输入“MyResource.rc”,单击保存(保存在d:\Resource目录下)。在dos提示符下输入:rc d:\Resource\MyResource.rc,回车(注意:如果你的rc.exe文件不是拷贝在默认的dos命令目下,则需要先使用path命令指定路径。也可以在“开始菜单/运行”中输入相同命令,但应注意在rc前加上rc所在的路径)。如果没有错误的话,在D:\Resource目下将产生一个MyResource.res文件,这就是我们所需要的资源文件。如果有错误产生,你可以根据错误类型的提示作出相应的修改,也可以用rc/?命令来寻求帮助。
      资源文件生成后,我们就可以在vb程序中使用它了。在使用资源文件之前,你必须先将它添加进你的工程。这里有两种方法,你可以通过菜单中的“工程/添加文件”,选择需要的资源文件加入,也可以右键单击右方的“工程资源管理器”中要添加资源文件的工程,选择“添加文件”,再选择所需的资源文件即可(我们在这里添加的是d:\Resource\MyResource.res)。这里要注意的是,一个工程只能添加一个资源文件。所以,在撰写资源原始文件之前,对程序所需要用到的资源做一个整体的规划,不失为一个明智之举。
      添加了资源文件后,我们怎样在程序中引用它呢?这里,vb为我们提供了几个函数:LoadResString(文字载入函数)、LoadResPicture(图片载入函数)、LoadResData(数据载入函数)。它们的具体用法是:
      语法:LoadResString(ID as Long)
         LoadResPicture(ID,ResType as Integer)
              LoadRseData(ID,Type)
      其中,LoadResString中的id是文字内容在资源文件中的编号。LoadResPicture中的id是图片在资源文件中的名称,ResType是图片类型,它包括VbResBitmap(位图文件)、VbResIcon(图标文件)、VbResCursor(光标文件)三种。LoadResData中的id是声音文件或文本文件在资源文件中的名称,Type是文件类型(Wave对应声音文件,TextFile对应文本文件)。下面,我们通过一个具体的例子来介绍在程序中引用资源文件。
      新建一个工程,在窗体中放入一个PictureBox控件、一个Image控件、两个TextBox控件、五个CommadnButton控件,分别命名为PicRes、IcoRes、TxtRes、TxtFileRes以及Cmd1~5。
      添加一个标准模块,写入以下声明:
       Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (          lpszSoundName As Any, ByVal uFlags As Long) As Long
       Public Const SND_MEMORY = &H4  '该常数表示播放存储器中的声音      
        以上api函数的作用是用来播放声音文件。注意,这里将标准SndPlaySound函数中的参数“ByVal lpszSoundName As String”改成了“lpszSoundName As Any”,是为了接收资源文件中的声音资源转化成的byte数组。(有关api函数的问题请参阅相关资料)
      在窗体的代码模式下写入如下代码:Private Sub cmd1_Click()
    '将资源文件中的位图加载进picturebox控件
    PicRes.Picture = LoadResPicture("mypicture", vbResBitmap)
    End SubPrivate Sub cmd2_Click()
    '将资源文件中的图标加载进Image控件
    IcoRes.Picture = LoadResPicture("myimage", vbResIcon)
    End SubPrivate Sub cmd3_Click()
    '将资源文件中的文字资源1加载进textbox控件后换行,再将文字资源2载入
    TxtRes.Text = LoadResString(1) & Chr(13) & Chr(10) & LoadResString(2)
    End SubPrivate Sub cmd4_Click()
    Dim Txt() As Byte
    '声明一个byte数组,用来接收资源文件中的文本文件
    Txt = LoadResData("mytext", "textfile")
    '用strconv函数将byte数组转化为文本后,赋予textbox控件
    TxtFileRes.Text = StrConv(Txt, vbUnicode)
    End SubPrivate Sub cmd5_Click()
    Dim Wav() As Byte
    '声明一个byte数组,用来接受资源文件中的声音文件
    Wav = LoadResData("mysound", "wave")
    '用sndplaysound函数播放声音文件 
    sndPlaySound Wav(0), SND_MEMORY
    End Sub
      怎么样,经过上面的例子,你是否已经掌握了资源文件的使用方法。有兴趣的朋友还可以参考一下资源文件的相关资料,看看它的其他用法,例如使用转译字符,这里就不详加介绍了。灵活的使用资源文件,能大大减少我们在开发双语软件以及对软件进行升级时书写代码的时间,使得我们开发出的软件显得更加标准、更加专业!以上程序在win2000下,vb6.0环境中运行通过。