关于FmtLoadStr函数的参数(100分)

  • 主题发起人 主题发起人 shannon
  • 开始时间 开始时间
S

shannon

Unregistered / Unconfirmed
GUEST, unregistred user!
function FmtLoadStr(Ident: Integer
const Args: array of const): string
;

Description:

FmtLoadStr loads a string from a program's resource string table and uses that
string, plus the Args array, as a parameter to Format. Ident is the string
resource ID of the desired format string.

您能详细解释一下 Ident 参数吗?我有本参考书有如下两句:
1." Source:=FileOpen(FileName,fmShareDenyWrite);
if Source<0 then
raise EFOpenError.Create(FmtLoadStr(SFOpenError,[FileName]));
"
2." Dest:=FileCreate(Destination);
if Dest<0 then
raise EFOpenError.Create(FmtLoadStr(SFCreateError,[Destination]));

"
其中:Indent 参数分别用实参 SFOpenError、SFCreateError 代入。但是编译是通不过的,
编译器不认得这两个单词,而且在Delphi help中也根本没这两个作为实参的"string
resource ID",估计这两个实参不是Delphi中预定义的。我认为是这两个实参印错了,但
又没法更正了。您能告诉我它们应该是那两个参数吗?十分感谢!
 
加个uses QConsts
 
sorry,看错了。奇怪这个FmtLoadStr到底怎么用
 
我又试了一下,可以这样用
uses QConsts;

Source:=FileOpen(FileName,fmShareDenyWrite);
if Source<0 then
raise EFOpenError.Create(FmtLoadStr(PResStringRec(@SFOpenError).Identifier,[FileName]));
也可以这样写:
Source:=FileOpen(FileName,fmShareDenyWrite);
if Source<0 then
raise EFOpenError.CreateResFmt(@SFOpenError, [FileName]);
 
加个uses QConsts,有道理,SFOpenError果然在QConsts里,为什么Delphi help中会查不
到,原来它也不是很全的。
wagxu 能告诉我您的E-mail吗?
多谢wagxu。我接受答案了。
 
后退
顶部