从INI文件加载文本

时间:2014-08-18 14:18:27

标签: text inno-setup

我想将外部INI文件中的文本加载到TRichEditViewer,但我不知道如何。 这是我到目前为止的代码(参见CH_toolbar.RTFText):

{CH_toolbar}
    CH_toolbar := TRichEditViewer.Create(SPPage);
    CH_toolbar.Parent := SPPage.Surface;
    CH_toolbar.Left := ScaleX(0);
    CH_toolbar.Top := Title.Top + Title.Height + 10 ;
    CH_toolbar.Width := ScaleX(480);
    CH_toolbar.Height := ScaleY(80);
    CH_toolbar.TabOrder := 1;
    CH_toolbar.Font.Name := 'Verdana';
    CH_toolbar.Color := -16777211;
    CH_toolbar.ScrollBars := ssVertical;
    CH_toolbar.RTFText := ExpandConstant(#ReadIni("setupPages", "setupValues", "SPEulatext", "")) ;

如何在SPEulatext中插入CH_toolbar.RTFText值?

1 个答案:

答案 0 :(得分:2)

#ReadIni在编译时执行,因此它插入一个非常长的(未引用的)字符串文字。

如果要在运行时加载它,请使用GetIniString()功能:

CH_toolbar.RTFText := GetIniString('setupValues', 'SPEulatext', '', 'setupPages');

setupPages是两种情况下的文件名)

请注意,Ini字符串的长度有限,并且不能包含换行符,因此INI文件可能是一个不好的选择。

或者,您可以直接加载RTF或文本文件:

ExtractTemporaryFile('lgpl-3.0.txt');
LoadStringFromFile(ExpandConstant('{tmp}/lgpl-3.0.txt'), LGPLText);
LGPLPage.RichEditViewer.RTFText := LGPLText;