gpt4 book ai didi

delphi - 从资源(.res)文件加载文本

转载 作者:行者123 更新时间:2023-12-03 19:44:03 25 4
gpt4 key购买 nike

几天前我找到了本教程,并且按照它进行了学习。看到我只对从资源文件中加载文本感兴趣,因此只使用了与所需内容相关的。可以从教程中找到代码,可以在here中找到。注意:我正在使用函数GetResourceAsPointer和GetResourceAsString中的代码。我有:


创建了包含一个文本文件的资源文件。文本文件包含“测试”
已包含{$ R resource.res}


注意:我使用备忘录从资源中加载字符串。

该程序可以编译,没有任何错误,但是当我单击按钮以将字符串加载到备忘录中时,将加载字符串,但不会加载“ test”。取而代之的是,我得到了随机字符,例如正方形和汉字。

有谁知道是什么问题?以前有没有人经历过?

谢谢彼得,谢谢

最佳答案

我使用以下两个例程来从添加到EXE的资源中获取文本:一个例程用于ANSI字符串,一个例程用于Unicode字符串。您的随机字符可能是由于读取了比所需更多的字符。

Function GetResString (i, lang: integer): string;
var
buffer: array [0..400] of char;
ls: integer;

begin
result:= '';
ls:= loadstring (hinstance, i + lang * 1000, buffer, sizeof (buffer));
if ls <> 0 then result:= buffer
end;

function LoadResW (id, lang: integer): WideString;
const
maxlength = 1024;

var
ls: integer;

begin;
setlength (result, maxlength);
ls:= loadstringw (hinstance, lang * 1000 + id,
pwidechar (result), length (result));
if ls > 0
then setlength (result, ls)
else result:= ''
end;

关于delphi - 从资源(.res)文件加载文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com