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, LResources, 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
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);
finally
lIniFile.Free;
end;
end;
procedure TContextHelpForm.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TContextHelpForm.HelpMessage(lTag: integer);
begin
Memo1.Lines.Clear;
Memo1.lines.Add(ReadIniFileTag(lTag));
ContextHelpForm.Show;
end;
initialization
{$I contexthelpunit.lrs}
end.