C++Builder 从资源加载字符串的正确方法
C++Builder correct way to Load string from ressources
我是 c++ 和 c++builder(11 v-28) 的新手,我已经将资源放入文本文件(通过 projet->Ressources and Images),但我找不到任何方法要从资源中检索我的文本,LoadStr(..) 函数会回收一个我找不到或如何获取它的数字标识符。
使用 C++ Builder,您可以使用 RTL 中的函数来帮助您。
当您将大型文本文件放入资源中时,您会为其指定类型和 ID。通常对于嵌入式文件,类型为 RT_RCDATA.
(我根本没有检查过这段代码,所以它可能不会编译,但应该给你一个指针)
TStream * function TMyForm::GetResourceStream(UnicodeString szResName);
{
TStream: rc;
id: int;
rc=nil;
id=StrToIntDef(szResName, 0);
if(id > 0)
{
rc = TResourceStream::CreateFromID(hInstance, id, RT_RCDATA);
}
return(rc);
}
Th hInstance 是传递给 WinMain 的程序实例。
获得 TStream
后,您可以从中阅读。例如,您可以填充 TStringList。
我是 c++ 和 c++builder(11 v-28) 的新手,我已经将资源放入文本文件(通过 projet->Ressources and Images),但我找不到任何方法要从资源中检索我的文本,LoadStr(..) 函数会回收一个我找不到或如何获取它的数字标识符。
使用 C++ Builder,您可以使用 RTL 中的函数来帮助您。
当您将大型文本文件放入资源中时,您会为其指定类型和 ID。通常对于嵌入式文件,类型为 RT_RCDATA.
(我根本没有检查过这段代码,所以它可能不会编译,但应该给你一个指针)
TStream * function TMyForm::GetResourceStream(UnicodeString szResName);
{
TStream: rc;
id: int;
rc=nil;
id=StrToIntDef(szResName, 0);
if(id > 0)
{
rc = TResourceStream::CreateFromID(hInstance, id, RT_RCDATA);
}
return(rc);
}
Th hInstance 是传递给 WinMain 的程序实例。
获得 TStream
后,您可以从中阅读。例如,您可以填充 TStringList。