Board logo

Subject: “INI读写单元生成向导”在D2009生成乱码问题 [Print This Page]

Author: wfymqj    Time: 2009-2-8 09:36     Subject: “INI读写单元生成向导”在D2009生成乱码问题

“INI读写单元生成向导”在D2009生成乱码问题
1.Delphi2009中,使用“INI读写单元生成向导”,若原INI文件中有中文的话,生成的文件中会在单元文件末出现乱码(版本0.9.0.479)(D2009版本 V12.0.3210.17555)

2.使用“INI读写单元生成向导”生成的单元文件的LoadFromFile方法中,将“if FileExists(FileName) then”去掉是否会更好。加入此句的话,若FileName不存在,则无法载入默认值了。

Image Attachment: [在D2009生成乱码图] 乱码图.JPG (2009-2-8 09:36, 24.61 K) / Download count 348
http://bbs.cnpack.org/attachment.php?aid=585


Author: Passion    Time: 2009-2-9 16:46

我用最新的0.9.0.481,拿了个简单的带中文的ini文件测试了一下,暂没楼主提到的问题。能否发个示例的ini文件上来供测测?
Author: wfymqj    Time: 2009-2-10 12:50

用最新的0.9.0.481测试确实无此问题

不知对于第2点你们如何认为
Author: softbug    Time: 2009-2-12 21:38

不带示例代码不做分析!
Author: wfymqj    Time: 2009-2-13 15:00

这里对应我的第2个问题

procedure TIniOptions.LoadSettings(Ini: TIniFile);
begin
  if Ini <> nil then
  begin
    {Section: 接收发送延时}
    FInceptDelay := Ini.ReadString(csIniJSFSYSSection, csIniInceptDelay, '300');
  end;
end;

procedure TIniOptions.LoadFromFile(const FileName: string);
var
  Ini: TIniFile;
begin
//  if FileExists(FileName) then  //注释掉此句,在不存在FileName时程序才能调用到默认值,否则根本不调用LoadSettings
  begin
    Ini := TIniFile.Create(FileName);
    try
      LoadSettings(Ini);
    finally
      Ini.Free;
    end;
  end;
end;
Author: Passion    Time: 2009-2-13 23:47

用户自己倒是可以在Data\Template下面手工改掉模板文件。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0