Files
lazarus-ccr/applications/lazstats/source/forms/misc/contexthelpunit.pas

71 lines
1.4 KiB
ObjectPascal
Raw Normal View History

unit ContextHelpUnit;
{$mode objfpc}
{$H+}
interface
uses
IniFiles, Classes, SysUtils, FileUtil, Forms, Controls, Graphics,
Dialogs, ExtCtrls, StdCtrls;
type
{ TContextHelpForm }
TContextHelpForm = class(TForm)
Button1: TButton;
Memo1: TMemo;
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
procedure HelpMessage(lTag: integer);
end;
var
ContextHelpForm: TContextHelpForm;
implementation
{$R *.lfm}
function ReadIniFileTag(var lTag: Integer): string;
//Read string with index lTag
var
lIniFile: TIniFile;
lFileName,lLang: string;
begin
lFilename := ChangeFileExt(ParamStr(0), '.ini');
if (not FileExists(lFilename)) then begin
Result := 'No contextual help: unable to find '+lFilename;
exit;
end;
Result := 'No contextual help found for '+IntToStr(lTag);
lIniFile := TIniFile.Create(lFilename);
try
lLang := lIniFile.ReadString('LANGUAGE', 'DEFAULT', '');
Result := lIniFile.ReadString(lLang, IntToStr(lTag), Result);
Result := StringReplace(Result, '\n', LineEnding, [rfIgnoreCase, rfReplaceAll]);
finally
lIniFile.Free;
end;
end;
procedure TContextHelpForm.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TContextHelpForm.HelpMessage(lTag: integer);
begin
Memo1.Lines.Clear;
Memo1.Lines.Text := ReadIniFileTag(lTag);
Show;
end;
end.