mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 14:29:36 +02:00
* Added two way comunication to LHelpControl
* Made using lhelp easier so that it's only needed to install ChmHelpPkg and copy chms to docs/html * lhelp will be built by ChmHelpPkg if it doesn't exist * added helpful msg when F1 is pushed and no chms can be found git-svn-id: trunk@21688 -
This commit is contained in:
parent
efdffe51ba
commit
08ed127d0f
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -57,9 +57,9 @@ components/chmhelp/lhelp/images/table_open.png -text
|
|||||||
components/chmhelp/lhelp/lhelp.ico -text svneol=unset#image/icon
|
components/chmhelp/lhelp/lhelp.ico -text svneol=unset#image/icon
|
||||||
components/chmhelp/lhelp/lhelp.lpi svneol=native#text/plain
|
components/chmhelp/lhelp/lhelp.lpi svneol=native#text/plain
|
||||||
components/chmhelp/lhelp/lhelp.lpr svneol=native#text/plain
|
components/chmhelp/lhelp/lhelp.lpr svneol=native#text/plain
|
||||||
components/chmhelp/lhelp/lhelp.manifest -text svneol=native#text/plain
|
components/chmhelp/lhelp/lhelp.manifest svneol=native#text/plain
|
||||||
components/chmhelp/lhelp/lhelp.rc -text svneol=native#text/plain
|
components/chmhelp/lhelp/lhelp.rc svneol=native#text/plain
|
||||||
components/chmhelp/lhelp/lhelpcore.lfm -text svneol=native#text/plain
|
components/chmhelp/lhelp/lhelpcore.lfm svneol=native#text/plain
|
||||||
components/chmhelp/lhelp/lhelpcore.lrs svneol=native#text/pascal
|
components/chmhelp/lhelp/lhelpcore.lrs svneol=native#text/pascal
|
||||||
components/chmhelp/lhelp/lhelpcore.pas svneol=native#text/plain
|
components/chmhelp/lhelp/lhelpcore.pas svneol=native#text/plain
|
||||||
components/chmhelp/lhelp/lnethttpdataprovider.pas svneol=native#text/plain
|
components/chmhelp/lhelp/lnethttpdataprovider.pas svneol=native#text/plain
|
||||||
|
@ -2,15 +2,17 @@
|
|||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="6"/>
|
<Version Value="7"/>
|
||||||
<General>
|
<General>
|
||||||
|
<Flags>
|
||||||
|
<LRSInOutputDirectory Value="False"/>
|
||||||
|
</Flags>
|
||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
<TargetFileExt Value=""/>
|
<TargetFileExt Value=""/>
|
||||||
</General>
|
</General>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
|
|
||||||
<IgnoreBinaries Value="False"/>
|
<IgnoreBinaries Value="False"/>
|
||||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||||
@ -19,7 +21,7 @@
|
|||||||
<local>
|
<local>
|
||||||
<FormatVersion Value="1"/>
|
<FormatVersion Value="1"/>
|
||||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||||
<Display Use="True" Value="192.168.0.250:0"/>
|
<Display Value="192.168.0.250:0"/>
|
||||||
</local>
|
</local>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<RequiredPackages Count="2">
|
<RequiredPackages Count="2">
|
||||||
@ -38,9 +40,9 @@
|
|||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
<Unit1>
|
||||||
<Filename Value="unit1.pas"/>
|
<Filename Value="unit1.pas"/>
|
||||||
<ComponentName Value="Form1"/>
|
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<ResourceFilename Value="unit1.lrs"/>
|
<ComponentName Value="Form1"/>
|
||||||
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="Unit1"/>
|
<UnitName Value="Unit1"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
</Units>
|
</Units>
|
||||||
|
@ -1,30 +1,34 @@
|
|||||||
object Form1: TForm1
|
object Form1: TForm1
|
||||||
|
Left = 610
|
||||||
|
Height = 300
|
||||||
|
Top = 247
|
||||||
|
Width = 400
|
||||||
ActiveControl = Button1
|
ActiveControl = Button1
|
||||||
Caption = 'Form1'
|
Caption = 'Form1'
|
||||||
ClientHeight = 300
|
ClientHeight = 300
|
||||||
ClientWidth = 400
|
ClientWidth = 400
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
PixelsPerInch = 90
|
OnDestroy = FormDestroy
|
||||||
HorzScrollBar.Page = 399
|
LCLVersion = '0.9.27'
|
||||||
VertScrollBar.Page = 299
|
object Label1: TLabel
|
||||||
Left = 610
|
Left = 93
|
||||||
Height = 300
|
Height = 18
|
||||||
Top = 247
|
Top = 73
|
||||||
Width = 400
|
Width = 110
|
||||||
|
Caption = 'Response is here'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
object Button1: TButton
|
object Button1: TButton
|
||||||
|
|
||||||
Caption = 'Click to load a chm'
|
|
||||||
OnClick = Button1Click
|
|
||||||
TabOrder = 0
|
|
||||||
Left = 36
|
Left = 36
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 20
|
Top = 20
|
||||||
Width = 284
|
Width = 284
|
||||||
|
Caption = 'Click to load a chm'
|
||||||
|
OnClick = Button1Click
|
||||||
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
object OpenDialog1: TOpenDialog
|
object OpenDialog1: TOpenDialog
|
||||||
Title = 'Open existing file'
|
|
||||||
FilterIndex = 0
|
FilterIndex = 0
|
||||||
Title = 'Open existing file'
|
|
||||||
left = 28
|
left = 28
|
||||||
top = 127
|
top = 127
|
||||||
end
|
end
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
|
{ This is an automatically generated lazarus resource file }
|
||||||
|
|
||||||
LazarusResources.Add('TForm1','FORMDATA',[
|
LazarusResources.Add('TForm1','FORMDATA',[
|
||||||
'TPF0'#6'TForm1'#5'Form1'#13'ActiveControl'#7#7'Button1'#7'Caption'#6#5'Form1'
|
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'b'#2#6'Height'#3','#1#3'Top'#3#247#0#5'Wi'
|
||||||
+#12'ClientHeight'#3','#1#11'ClientWidth'#3#144#1#8'OnCreate'#7#10'FormCreate'
|
+'dth'#3#144#1#13'ActiveControl'#7#7'Button1'#7'Caption'#6#5'Form1'#12'Client'
|
||||||
+#13'PixelsPerInch'#2'Z'#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.Page'
|
+'Height'#3','#1#11'ClientWidth'#3#144#1#8'OnCreate'#7#10'FormCreate'#9'OnDes'
|
||||||
+#3'+'#1#4'Left'#3'b'#2#6'Height'#3','#1#3'Top'#3#247#0#5'Width'#3#144#1#0#7
|
+'troy'#7#11'FormDestroy'#10'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#4
|
||||||
+'TButton'#7'Button1'#7'Caption'#6#19'Click to load a chm'#7'OnClick'#7#12'Bu'
|
+'Left'#2']'#6'Height'#2#18#3'Top'#2'I'#5'Width'#2'n'#7'Caption'#6#16'Respons'
|
||||||
+'tton1Click'#8'TabOrder'#2#0#4'Left'#2'$'#6'Height'#2#25#3'Top'#2#20#5'Width'
|
+'e is here'#11'ParentColor'#8#0#0#7'TButton'#7'Button1'#4'Left'#2'$'#6'Heigh'
|
||||||
+#3#28#1#0#0#11'TOpenDialog'#11'OpenDialog1'#5'Title'#6#18'Open existing file'
|
+'t'#2#25#3'Top'#2#20#5'Width'#3#28#1#7'Caption'#6#19'Click to load a chm'#7
|
||||||
+#11'FilterIndex'#2#0#5'Title'#6#18'Open existing file'#4'left'#2#28#3'top'#2
|
+'OnClick'#7#12'Button1Click'#8'TabOrder'#2#0#0#0#11'TOpenDialog'#11'OpenDial'
|
||||||
+''#0#0#0
|
+'og1'#11'FilterIndex'#2#0#4'left'#2#28#3'top'#2''#0#0#0
|
||||||
]);
|
]);
|
||||||
|
@ -6,7 +6,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LHelpControl,
|
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LHelpControl,
|
||||||
Buttons;
|
Buttons, StdCtrls;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -14,9 +14,11 @@ type
|
|||||||
|
|
||||||
TForm1 = class(TForm)
|
TForm1 = class(TForm)
|
||||||
Button1: TButton;
|
Button1: TButton;
|
||||||
|
Label1: TLabel;
|
||||||
OpenDialog1: TOpenDialog;
|
OpenDialog1: TOpenDialog;
|
||||||
procedure Button1Click(Sender: TObject);
|
procedure Button1Click(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ private declarations }
|
{ private declarations }
|
||||||
public
|
public
|
||||||
@ -31,16 +33,38 @@ implementation
|
|||||||
|
|
||||||
{ TForm1 }
|
{ TForm1 }
|
||||||
|
|
||||||
|
function ResponseToString(Ares: TLHelpResponse): String;
|
||||||
|
begin
|
||||||
|
case Ares of
|
||||||
|
srNoAnswer: Result := 'NoAnswer';
|
||||||
|
srSuccess: Result := 'Success';
|
||||||
|
srInvalidFile:Result := 'InvalidFileName';
|
||||||
|
srInvalidURL:Result := 'InvalidURL';
|
||||||
|
srInvalidContext:Result := 'InvalidContext';
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TForm1.Button1Click(Sender: TObject);
|
procedure TForm1.Button1Click(Sender: TObject);
|
||||||
|
var
|
||||||
|
Res: TLHelpResponse;
|
||||||
begin
|
begin
|
||||||
if not OpenDialog1.Execute then exit;
|
if not OpenDialog1.Execute then exit;
|
||||||
Help.StartHelpServer('letstestagain', '../lhelp/lhelp --display=192.168.0.250:0');
|
if Help.ServerRunning = false then
|
||||||
Help.OpenFile(OpenDialog1.FileName);
|
Help.StartHelpServer('letstestagain', '../lhelp/lhelp');
|
||||||
|
Res :=Help.OpenFile(OpenDialog1.FileName);
|
||||||
|
Label1.Caption := ResponseToString(Res);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.FormCreate(Sender: TObject);
|
procedure TForm1.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Help := TLHelpConnection.Create;
|
Help := TLHelpConnection.Create;
|
||||||
|
Help.ProcessWhileWaiting := @Application.ProcessMessages;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Help.Free;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -55,15 +55,15 @@
|
|||||||
</Unit2>
|
</Unit2>
|
||||||
<Unit3>
|
<Unit3>
|
||||||
<Filename Value="chmpopup.pas"/>
|
<Filename Value="chmpopup.pas"/>
|
||||||
<ComponentName Value="HelpPopupForm"/>
|
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
<ComponentName Value="HelpPopupForm"/>
|
||||||
<UnitName Value="ChmPopup"/>
|
<UnitName Value="ChmPopup"/>
|
||||||
</Unit3>
|
</Unit3>
|
||||||
<Unit4>
|
<Unit4>
|
||||||
<Filename Value="lhelpcore.pas"/>
|
<Filename Value="lhelpcore.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
<ComponentName Value="HelpForm"/>
|
<ComponentName Value="HelpForm"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<IsPartOfProject Value="True"/>
|
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="lhelpcore"/>
|
<UnitName Value="lhelpcore"/>
|
||||||
</Unit4>
|
</Unit4>
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
|
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
|
||||||
<description>Your application description here.</description>
|
<description>Your application description here.</description>
|
||||||
<dependency>
|
<dependency>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
|
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</dependency>
|
</dependency>
|
||||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
<security>
|
<security>
|
||||||
<requestedPrivileges>
|
<requestedPrivileges>
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
||||||
</requestedPrivileges>
|
</requestedPrivileges>
|
||||||
</security>
|
</security>
|
||||||
</trustInfo>
|
</trustInfo>
|
||||||
</assembly>
|
</assembly>
|
@ -1,7 +1,7 @@
|
|||||||
#define RT_MANIFEST 24
|
#define RT_MANIFEST 24
|
||||||
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
|
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
|
||||||
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
|
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
|
||||||
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
|
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
|
||||||
|
|
||||||
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "lhelp.manifest"
|
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "lhelp.manifest"
|
||||||
MAINICON ICON "lhelp.ico"
|
MAINICON ICON "lhelp.ico"
|
||||||
|
@ -1,439 +1,439 @@
|
|||||||
object HelpForm: THelpForm
|
object HelpForm: THelpForm
|
||||||
Left = 322
|
Left = 322
|
||||||
Height = 535
|
Height = 535
|
||||||
Top = 239
|
Top = 239
|
||||||
Width = 758
|
Width = 758
|
||||||
ActiveControl = Panel1
|
ActiveControl = Panel1
|
||||||
Caption = 'LHelp'
|
Caption = 'LHelp'
|
||||||
ClientHeight = 510
|
ClientHeight = 510
|
||||||
ClientWidth = 758
|
ClientWidth = 758
|
||||||
Icon.Data = {
|
Icon.Data = {
|
||||||
7E04000000000100010010100000010020006804000016000000280000001000
|
7E04000000000100010010100000010020006804000016000000280000001000
|
||||||
0000200000000100200000000000000400006400000064000000000000000000
|
0000200000000100200000000000000400006400000064000000000000000000
|
||||||
0000FFFFFF002775B87D4C81A7AE7498ADBD7699AEBD779AAFBD789BAFBD799C
|
0000FFFFFF002775B87D4C81A7AE7498ADBD7699AEBD779AAFBD789BAFBD799C
|
||||||
B1BD7A9DB2BD7C9EB3BE7D9FB3BD7E9FB4BD80A1B5BD81A1B5BD5883A2AF205F
|
B1BD7A9DB2BD7C9EB3BE7D9FB3BD7E9FB4BD80A1B5BD81A1B5BD5883A2AF205F
|
||||||
A1162364A6312C8AD2FCEFF2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
A1162364A6312C8AD2FCEFF2F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBCBCBFF5C8495EE1558
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBCBCBFF5C8495EE1558
|
||||||
A30E2F74AF7C248BDBFFE3E9E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
A30E2F74AF7C248BDBFFE3E9E9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5D3D3FF598397E1326A
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5D3D3FF598397E1326A
|
||||||
9D31306BA162108FFCFF1F8FE6FF3CA2D8FF42B0D9FF49BBD9FF4DC4D9FF51CA
|
9D31306BA162108FFCFF1F8FE6FF3CA2D8FF42B0D9FF49BBD9FF4DC4D9FF51CA
|
||||||
DAFF56CCD9FF58CADAFF5AC6DAFF5BBFDAFF5CB7DAFF5EAEDBFF66A9D9FF3169
|
DAFF56CCD9FF58CADAFF5AC6DAFF5BBFDAFF5CB7DAFF5EAEDBFF66A9D9FF3169
|
||||||
9D5827639F39148CF1FF0796EEFF11BBFDFF12D3FEFF18EBFEFF1FF5FFFF1CD4
|
9D5827639F39148CF1FF0796EEFF11BBFDFF12D3FEFF18EBFEFF1FF5FFFF1CD4
|
||||||
FFFF20E0FFFF23F7FFFF1EF5FFFF17E8FEFF11CFFEFF0BB6FDFF47ACECFC1558
|
FFFF20E0FFFF23F7FFFF1EF5FFFF17E8FEFF11CFFEFF0BB6FDFF47ACECFC1558
|
||||||
A30D1558A3131E8EE7FD08A1F2FF1DC7FEFF15DFFEFF1CF5FFFF16C1FFFF016A
|
A30D1558A3131E8EE7FD08A1F2FF1DC7FEFF15DFFEFF1CF5FFFF16C1FFFF016A
|
||||||
FFFF0471FFFF22DFFFFF22F7FFFF1BF5FFFF14DBFEFF0DBFFEFF56ACDEE7FFFF
|
FFFF0471FFFF22DFFFFF22F7FFFF1BF5FFFF14DBFEFF0DBFFEFF56ACDEE7FFFF
|
||||||
FF00FFFFFF002389DDF4069CF5FF26C2FDFF12D6FEFF13F2FEFF08CAFFFF0070
|
FF00FFFFFF002389DDF4069CF5FF26C2FDFF12D6FEFF13F2FEFF08CAFFFF0070
|
||||||
FFFF0176FFFF07E6FFFF10FAFFFF15ECFEFF12D2FEFF11BAFDFF5EA2D0BFFFFF
|
FFFF0176FFFF07E6FFFF10FAFFFF15ECFEFF12D2FEFF11BAFDFF5EA2D0BFFFFF
|
||||||
FF00FFFFFF002988D4E9028BF8FF2CB3FCFF08CFFEFF03F7FFFF01FEFFFF00CA
|
FF00FFFFFF002988D4E9028BF8FF2CB3FCFF08CFFEFF03F7FFFF01FEFFFF00CA
|
||||||
FFFF00E9FFFF00FFFFFF01FDFFFF05EFFFFF0AC0FDFF2CB0FCFF457EB073FFFF
|
FFFF00E9FFFF00FFFFFF01FDFFFF05EFFFFF0AC0FDFF2CB0FCFF457EB073FFFF
|
||||||
FF00FFFFFF002C6EAB413087CCC22E9DDAD40BEAF6F301FDFEFE00FFFFFF0083
|
FF00FFFFFF002C6EAB413087CCC22E9DDAD40BEAF6F301FDFEFE00FFFFFF0083
|
||||||
FFFF00D0FFFF00FFFFFF00FFFFFF04FAFDFC23D5EFEB4FA1D9D41D5DA115FFFF
|
FFFF00D0FFFF00FFFFFF00FFFFFF04FAFDFC23D5EFEB4FA1D9D41D5DA115FFFF
|
||||||
FF00FFFFFF00FFFFFF0000FFFF0600FFFF4D00FFFFEA00FFFFFF00FFFFFF008D
|
FF00FFFFFF00FFFFFF0000FFFF0600FFFF4D00FFFFEA00FFFFFF00FFFFFF008D
|
||||||
FFFF008EFFFF00EFFFFF00FFFFFF00FFFFFC00FFFFCB00FFFF16FFFFFF00FFFF
|
FFFF008EFFFF00EFFFFF00FFFFFF00FFFFFC00FFFFCB00FFFF16FFFFFF00FFFF
|
||||||
FF00FFFFFF00FFFFFF0000FFFF0A00FFFF6E00FFFFF100FFFFFF00FFFFFF00E2
|
FF00FFFFFF00FFFFFF0000FFFF0A00FFFF6E00FFFFF100FFFFFF00FFFFFF00E2
|
||||||
FFFF0078FFFF007FFFFF00DAFFFF00FFFFFF00FFFFE600FFFF2300FFFF02FFFF
|
FFFF0078FFFF007FFFFF00DAFFFF00FFFFFF00FFFFE600FFFF2300FFFF02FFFF
|
||||||
FF00FFFFFF00FFFFFF0000FFFF0800FFFF5C00FFFFEE00FFFFFF00FFFFFF00FF
|
FF00FFFFFF00FFFFFF0000FFFF0800FFFF5C00FFFFEE00FFFFFF00FFFFFF00FF
|
||||||
FFFF00C6FFFF006AFFFF0077FFFF00DBFFFE00FFFFDA00FFFF19FFFFFF00FFFF
|
FFFF00C6FFFF006AFFFF0077FFFF00DBFFFE00FFFFDA00FFFF19FFFFFF00FFFF
|
||||||
FF00FFFFFF00FFFFFF0000FFFF0300FFFF3000F5FFDF008FFFFF00A0FFFF00FB
|
FF00FFFFFF00FFFFFF0000FFFF0300FFFF3000F5FFDF008FFFFF00A0FFFF00FB
|
||||||
FFFF00F7FFFF007BFFFF0066FFFF00A3FFFC00FFFFA700FFFF10FFFFFF00FFFF
|
FFFF00F7FFFF007BFFFF0066FFFF00A3FFFC00FFFFA700FFFF10FFFFFF00FFFF
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF0000FFFF0E00FFFF7D008DFFF90066FFFF007B
|
FF00FFFFFF00FFFFFF00FFFFFF0000FFFF0E00FFFF7D008DFFF90066FFFF007B
|
||||||
FFFF0077FFFF0066FFFF0067FFFF00BCFFE700FFFF3D00FFFF05FFFFFF00FFFF
|
FFFF0077FFFF0066FFFF0067FFFF00BCFFE700FFFF3D00FFFF05FFFFFF00FFFF
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF0000FFFF0100FFFF1700CDFF960088FFF6006B
|
FF00FFFFFF00FFFFFF00FFFFFF0000FFFF0100FFFF1700CDFF960088FFF6006B
|
||||||
FFFE0067FFFF007CFFFC0096FFE900F8FF5200FFFF0AFFFFFF00FFFFFF00FFFF
|
FFFE0067FFFF007CFFFC0096FFE900F8FF5200FFFF0AFFFFFF00FFFFFF00FFFF
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000FFFF0100FFFF0E00FDFF3100D2
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000FFFF0100FFFF0E00FDFF3100D2
|
||||||
FF7000C5FF8D00F3FF5100FFFF1F00FFFF0700FFFF01FFFFFF00FFFFFF00FFFF
|
FF7000C5FF8D00F3FF5100FFFF1F00FFFF0700FFFF01FFFFFF00FFFFFF00FFFF
|
||||||
FF00000000000000000000000000000000000000000000000000000000000000
|
FF00000000000000000000000000000000000000000000000000000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
0000
|
0000
|
||||||
}
|
}
|
||||||
Menu = MainMenu1
|
Menu = MainMenu1
|
||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
ShowInTaskBar = stAlways
|
ShowInTaskBar = stAlways
|
||||||
LCLVersion = '0.9.27'
|
LCLVersion = '0.9.27'
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 32
|
Height = 32
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 758
|
Width = 758
|
||||||
Align = alTop
|
Align = alTop
|
||||||
ClientHeight = 32
|
ClientHeight = 32
|
||||||
ClientWidth = 758
|
ClientWidth = 758
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object ForwardBttn: TSpeedButton
|
object ForwardBttn: TSpeedButton
|
||||||
Left = 65
|
Left = 65
|
||||||
Height = 30
|
Height = 30
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 32
|
Width = 32
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
36040000424D3604000000000000360000002800000010000000100000000100
|
36040000424D3604000000000000360000002800000010000000100000000100
|
||||||
2000000000000004000064000000640000000000000000000000000000000002
|
2000000000000004000064000000640000000000000000000000000000000002
|
||||||
65000200000000000000000000000000000049332A0069463900694639003F2D
|
65000200000000000000000000000000000049332A0069463900694639003F2D
|
||||||
25001B531D000000000000000000000000000000000000000000000000005900
|
25001B531D000000000000000000000000000000000000000000000000005900
|
||||||
00000000000000000000000000004B342B0069463900EBB49200EBB492006946
|
00000000000000000000000000004B342B0069463900EBB49200EBB492006946
|
||||||
390047332C000000000000000000000000000000000000000000DA0400000058
|
390047332C000000000000000000000000000000000000000000DA0400000058
|
||||||
D800D447000000000000002EB70069463900EBB49200EBB49200EBB49200EBB4
|
D800D447000000000000002EB70069463900EBB49200EBB49200EBB49200EBB4
|
||||||
920069463900000000000000000000000000000000000000000000A72A004B34
|
920069463900000000000000000000000000000000000000000000A72A004B34
|
||||||
2B00694639006946390069463900EBB49200EBB49200EBB49200EBB492009898
|
2B00694639006946390069463900EBB49200EBB49200EBB49200EBB492009898
|
||||||
98FF989898FF6946390069463900694639004B342B00000000004B342B006746
|
98FF989898FF6946390069463900694639004B342B00000000004B342B006746
|
||||||
3A00FCE2D200EBB49200EBB49200EBB4920065606100EBB49200EBB492000000
|
3A00FCE2D200EBB49200EBB49200EBB4920065606100EBB49200EBB492000000
|
||||||
00FF000000FF989898FFEBB49200EBB4920067463A004B342B004B342B006946
|
00FF000000FF989898FFEBB49200EBB4920067463A004B342B004B342B006946
|
||||||
3900FDE6D800989898FF989898FF989898FF989898FF989898FF989898FF0000
|
3900FDE6D800989898FF989898FF989898FF989898FF989898FF989898FF0000
|
||||||
00FFFBB276FF000000FF989898FFEBB49200694639004B342B00FC0400006946
|
00FFFBB276FF000000FF989898FFEBB49200694639004B342B00FC0400006946
|
||||||
3900000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
3900000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
||||||
00FFF9B377FFF9B377FF000000FF989898FF69463900DD4D000000001B000000
|
00FFF9B377FFF9B377FF000000FF989898FF69463900DD4D000000001B000000
|
||||||
FF00000000FFFAB780FFFAB47EFFFFB983FFFFBA7FFFFFB983FFFFC087FFFBB7
|
FF00000000FFFAB780FFFAB47EFFFFB983FFFFBA7FFFFFB983FFFFC087FFFBB7
|
||||||
7CFFF3B379FFFFBD82FFFFC58BFF000000FF989898FF226C26000000FF00469E
|
7CFFF3B379FFFFBD82FFFFC58BFF000000FF989898FF226C26000000FF00469E
|
||||||
4A00000000FFF6B27DFFFAB47EFFFFBE85FFFFC087FFFFBD82FFFFBD82FFF3B3
|
4A00000000FFF6B27DFFFAB47EFFFFBE85FFFFC087FFFFBD82FFFFBD82FFF3B3
|
||||||
79FFF3B379FFFFC087FFFFCB93FFFFC790FF000000FFE81B00003AAC3D006946
|
79FFF3B379FFFFC087FFFFCB93FFFFC790FF000000FFE81B00003AAC3D006946
|
||||||
3900000000FFF9B580FFFFB983FFFFBE85FFFFC087FFFFBE85FFFAB780FFFAB7
|
3900000000FFF9B580FFFFB983FFFFBE85FFFFC087FFFFBE85FFFAB780FFFAB7
|
||||||
80FFFCBF87FFFFC890FFFFC790FF000000FF69463900000076004B342B006946
|
80FFFCBF87FFFFC890FFFFC790FF000000FF69463900000076004B342B006946
|
||||||
3900000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
3900000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
||||||
00FFFFC087FFFFC790FF000000FFFDE6D800694639004B342B004B342B006746
|
00FFFFC087FFFFC790FF000000FFFDE6D800694639004B342B004B342B006746
|
||||||
3A00FDE6D800FDE6D800FDE6D800FDE6D800FDE6D800FDE6D800FDE6D8000000
|
3A00FDE6D800FDE6D800FDE6D800FDE6D800FDE6D800FDE6D800FDE6D8000000
|
||||||
00FFFFC790FF000000FFFDE6D800FDE6D800664539004B342B00000000009134
|
00FFFFC790FF000000FFFDE6D800FDE6D800664539004B342B00000000009134
|
||||||
2B00694639006946390069463900F3C0A000FAE1D100FDE6D800FDE6D8000000
|
2B00694639006946390069463900F3C0A000FAE1D100FDE6D800FDE6D8000000
|
||||||
00FF000000FF6946390069463900694639004B342B00000000000000FF000000
|
00FF000000FF6946390069463900694639004B342B00000000000000FF000000
|
||||||
0000000000003AB740000000000069463900FDE6D800FDE6D800FDE6D800FDE6
|
0000000000003AB740000000000069463900FDE6D800FDE6D800FDE6D800FDE6
|
||||||
D8006946390047332C0084967E0000000000000000000000000008000000FFFF
|
D8006946390047332C0084967E0000000000000000000000000008000000FFFF
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF0091342A0069463900FDE6D800FDE6D8006946
|
FF00FFFFFF00FFFFFF00FFFFFF0091342A0069463900FDE6D800FDE6D8006946
|
||||||
390047332C003EAB440000000000000000000000000000000000A0CAB500985D
|
390047332C003EAB440000000000000000000000000000000000A0CAB500985D
|
||||||
8B000000000000000000B07522006780280037221A005E392A00683B2C009129
|
8B000000000000000000B07522006780280037221A005E392A00683B2C009129
|
||||||
1B000000000038AB3E000000000068BC74000000000000000000
|
1B000000000038AB3E000000000068BC74000000000000000000
|
||||||
}
|
}
|
||||||
NumGlyphs = 0
|
NumGlyphs = 0
|
||||||
OnClick = ForwardToolBtnClick
|
OnClick = ForwardToolBtnClick
|
||||||
end
|
end
|
||||||
object BackBttn: TSpeedButton
|
object BackBttn: TSpeedButton
|
||||||
Left = 33
|
Left = 33
|
||||||
Height = 30
|
Height = 30
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 32
|
Width = 32
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
36040000424D3604000000000000360000002800000010000000100000000100
|
36040000424D3604000000000000360000002800000010000000100000000100
|
||||||
2000000000000004000064000000640000000000000000000000000000000000
|
2000000000000004000064000000640000000000000000000000000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
00000000000000000000000000000000000000000000000000004A4E4C005357
|
00000000000000000000000000000000000000000000000000004A4E4C005357
|
||||||
5500535755005357550053575500535755005357550053575500535755005357
|
5500535755005357550053575500535755005357550053575500535755005357
|
||||||
5500535755005357550053575500535755004A4E4C000000000053575500B5C5
|
5500535755005357550053575500535755004A4E4C000000000053575500B5C5
|
||||||
C400B6C7C600B6C7C600B6C7C600B6C7C600B6C7C600B6C7C600B6C6C500B6C6
|
C400B6C7C600B6C7C600B6C7C600B6C7C600B6C7C600B6C7C600B6C6C500B6C6
|
||||||
C500B5C6C500B5C6C500B5C6C500AFC0BF00535755000000000053575500BCCC
|
C500B5C6C500B5C6C500B5C6C500AFC0BF00535755000000000053575500BCCC
|
||||||
CB00A4BAB900A4BAB900A4BAB900989898FF989898FFA4BAB900A4BAB900A4BA
|
CB00A4BAB900A4BAB900A4BAB900989898FF989898FFA4BAB900A4BAB900A4BA
|
||||||
B900A4BAB900A4BAB900A4BAB900B5C7C600535755000000000053575500BFCE
|
B900A4BAB900A4BAB900A4BAB900B5C7C600535755000000000053575500BFCE
|
||||||
CD00A4BAB900A4BAB900989898FF000000FF000000FF989898FFA4BAB900A4BA
|
CD00A4BAB900A4BAB900989898FF000000FF000000FF989898FFA4BAB900A4BA
|
||||||
B900A4BAB900A4BAB900A4BAB900BDCCCB00535755000000000053575500C0CE
|
B900A4BAB900A4BAB900A4BAB900BDCCCB00535755000000000053575500C0CE
|
||||||
CD00A4BAB900989898FF000000FFFBB276FF000000FF989898FF989898FF9898
|
CD00A4BAB900989898FF000000FFFBB276FF000000FF989898FF989898FF9898
|
||||||
98FF989898FF989898FF989898FF989898FF989898FF0000000053575500C1CF
|
98FF989898FF989898FF989898FF989898FF989898FF0000000053575500C1CF
|
||||||
CE00989898FF000000FFF9B378FFFBB276FF000000FF000000FF000000FF0000
|
CE00989898FF000000FFF9B378FFFBB276FF000000FF000000FF000000FF0000
|
||||||
00FF000000FF000000FF000000FF000000FF989898FF00000000535755009898
|
00FF000000FF000000FF000000FF000000FF989898FF00000000535755009898
|
||||||
98FF000000FFFFC68FFFFFBC81FFF6B479FFFBB77CFFFCBF87FFFFBA7FFFFFBC
|
98FF000000FFFFC68FFFFFBC81FFF6B479FFFBB77CFFFCBF87FFFFBA7FFFFFBC
|
||||||
81FFFFBA7FFFFAB77EFFF9B580FF000000FF989898FF00000000535755000000
|
81FFFFBA7FFFFAB77EFFF9B580FF000000FF989898FF00000000535755000000
|
||||||
00FFFFC690FFFFCB93FFFDC28AFFF5B378FFF5B378FFFFBC81FFFFBC81FFFFBF
|
00FFFFC690FFFFCB93FFFDC28AFFF5B378FFF5B378FFFFBC81FFFFBC81FFFFBF
|
||||||
86FFFCBF87FFFAB77EFFF6B27DFF000000FF989898FF0000000053575500CAD7
|
86FFFCBF87FFFAB77EFFF6B27DFF000000FF989898FF0000000053575500CAD7
|
||||||
D600000000FFFFC690FFFFC68FFFFCBF87FFFAB77EFFFAB77EFFFCBF87FFFFBF
|
D600000000FFFFC690FFFFC68FFFFCBF87FFFAB77EFFFAB77EFFFCBF87FFFFBF
|
||||||
86FFFCBF87FFFFB983FFF9B580FF000000FF989898FF00000000535755006C70
|
86FFFCBF87FFFFB983FFF9B580FF000000FF989898FF00000000535755006C70
|
||||||
6E00565A5800000000FFFFCB93FFFDC28AFF000000FF000000FF000000FF0000
|
6E00565A5800000000FFFFCB93FFFDC28AFF000000FF000000FF000000FF0000
|
||||||
00FF000000FF000000FF000000FF000000FF535755000000000053575500A6B8
|
00FF000000FF000000FF000000FF000000FF535755000000000053575500A6B8
|
||||||
B500788A8800788A8800000000FFFFC68FFF000000FF595D5B00565A5800565A
|
B500788A8800788A8800000000FFFFC68FFF000000FF595D5B00565A5800565A
|
||||||
5800565A5800565A5800595D5B006C706E00535755000000000053575500A3B5
|
5800565A5800565A5800595D5B006C706E00535755000000000053575500A3B5
|
||||||
B3007E928F007E928F007E918F00000000FF000000FF93A4A20095A4A30096A5
|
B3007E928F007E928F007E918F00000000FF000000FF93A4A20095A4A30096A5
|
||||||
A30096A5A30096A5A30096A5A300919F9D00535755000000000053575500AABD
|
A30096A5A30096A5A30096A5A300919F9D00535755000000000053575500AABD
|
||||||
BB00889D9A00879C9A00869B99009FB0AF005357550053575500535755005357
|
BB00889D9A00879C9A00869B99009FB0AF005357550053575500535755005357
|
||||||
5500535755005357550053575500535755004A4E4C000000000053575500B2C3
|
5500535755005357550053575500535755004A4E4C000000000053575500B2C3
|
||||||
C100B5C5C300B5C5C300B5C5C300ACBAB9005357550000000000000000000000
|
C100B5C5C300B5C5C300B5C5C300ACBAB9005357550000000000000000000000
|
||||||
00000000000000000000000000000000000000000000000000005819D700985D
|
00000000000000000000000000000000000000000000000000005819D700985D
|
||||||
8B00000000000000000053575500535755005659580000000000000000000000
|
8B00000000000000000053575500535755005659580000000000000000000000
|
||||||
0000000000000000000000000000000000000000000000000000
|
0000000000000000000000000000000000000000000000000000
|
||||||
}
|
}
|
||||||
NumGlyphs = 0
|
NumGlyphs = 0
|
||||||
OnClick = BackToolBtnClick
|
OnClick = BackToolBtnClick
|
||||||
end
|
end
|
||||||
object HomeBttn: TSpeedButton
|
object HomeBttn: TSpeedButton
|
||||||
Left = 1
|
Left = 1
|
||||||
Height = 30
|
Height = 30
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 32
|
Width = 32
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
36090000424D3609000000000000360000002800000018000000180000000100
|
36090000424D3609000000000000360000002800000018000000180000000100
|
||||||
2000000000000009000064000000640000000000000000000000E4E7EA00E4E7
|
2000000000000009000064000000640000000000000000000000E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00000000FF0000
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00000000FF0000
|
||||||
00FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
00FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00000000FF000000FFE4E7EA00000000FF000000FF000000FF000000FF0000
|
EA00000000FF000000FFE4E7EA00000000FF000000FF000000FF000000FF0000
|
||||||
00FF000000FF000000FF000000FF000000FFE4E7EA00000000FF000000FF0000
|
00FF000000FF000000FF000000FF000000FFE4E7EA00000000FF000000FF0000
|
||||||
00FF000000FF000000FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
00FF000000FF000000FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA001C1C1CFF859D87FF7F9486FF859F8EFF859D87FF6784
|
EA00E4E7EA00E4E7EA001C1C1CFF859D87FF7F9486FF859F8EFF859D87FF6784
|
||||||
6FFF57775FFF42634EFF374F3FFF2B3D31FF000000FF7F9486FF7B8F7FFF5E7B
|
6FFF57775FFF42634EFF374F3FFF2B3D31FF000000FF7F9486FF7B8F7FFF5E7B
|
||||||
67FF3F5646FF637767FF3B5242FF000000FFE4E7EA00E4E7EA00E4E7EA000000
|
67FF3F5646FF637767FF3B5242FF000000FFE4E7EA00E4E7EA00E4E7EA000000
|
||||||
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
||||||
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
|
||||||
00FF000000FF000000FF000000FFE4E7EA00000000FFE4E7EA00E4E7EA00E4E7
|
00FF000000FF000000FF000000FFE4E7EA00000000FFE4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00000000FFA5A5A5FF08123DFF3753D7FF5A67
|
EA00E4E7EA00E4E7EA00E4E7EA00000000FFA5A5A5FF08123DFF3753D7FF5A67
|
||||||
C7FF43539FFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9595
|
C7FF43539FFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9595
|
||||||
95FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00694639003F2D
|
95FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00694639003F2D
|
||||||
2500E4E7EA00E4E7EA00E4E7EA00000000FFBFBFBFFF000000FF677FE7FF5A67
|
2500E4E7EA00E4E7EA00E4E7EA00000000FFBFBFBFFF000000FF677FE7FF5A67
|
||||||
C7FF3D4E96FF000000FFBDBDBDFFBDBDBDFFBDBDBDFFBDBDBDFFBDBDBDFF8C8C
|
C7FF3D4E96FF000000FFBDBDBDFFBDBDBDFFBDBDBDFFBDBDBDFFBDBDBDFF8C8C
|
||||||
8CFF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
8CFF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00000000FF000000FFEFEFEFFF000000FF96A7EFFF4B5E
|
EA00E4E7EA00E4E7EA00000000FF000000FFEFEFEFFF000000FF96A7EFFF4B5E
|
||||||
CFFF3F4F97FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBF
|
CFFF3F4F97FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBF
|
||||||
BFFF000000FFE4E7EA00E4E7EA00E4E7EA0049332A0069463900EBB49200EBB4
|
BFFF000000FFE4E7EA00E4E7EA00E4E7EA0049332A0069463900EBB49200EBB4
|
||||||
9200EBB4920069463900000000FF000000FFFFFFFFFF000000FF95A7EFFF3D56
|
9200EBB4920069463900000000FF000000FFFFFFFFFF000000FF95A7EFFF3D56
|
||||||
CFFF161D37FF000000FFC6C6C6FF949494FF5F5F5FFF5F5F5FFF868686FF7B7B
|
CFFF161D37FF000000FFC6C6C6FF949494FF5F5F5FFF5F5F5FFF868686FF7B7B
|
||||||
7BFF000000FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA004B342B006746
|
7BFF000000FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA004B342B006746
|
||||||
3A00FCE2D200EBB49200000000FF858585FFFFFFFFFF000000FF96A7EFFF3B53
|
3A00FCE2D200EBB49200000000FF858585FFFFFFFFFF000000FF96A7EFFF3B53
|
||||||
D6FF3F4F97FF000000FFFFFFFFFF000000FF000000FF000000FF000000FF0000
|
D6FF3F4F97FF000000FFFFFFFFFF000000FF000000FF000000FF000000FF0000
|
||||||
00FF6F6F6FFF000000FF69463900EBB49200EBB49200EBB4920031313100EBB4
|
00FF6F6F6FFF000000FF69463900EBB49200EBB49200EBB4920031313100EBB4
|
||||||
920031313100EBB49200000000FFADADADFFFFFFFFFF000000FF8F9EEFFF6F84
|
920031313100EBB49200000000FFADADADFFFFFFFFFF000000FF8F9EEFFF6F84
|
||||||
DFFF43539FFF000000FFFFFFFFFF000000FFCECECEFFFFFFFFFFFFFFFFFF0000
|
DFFF43539FFF000000FFFFFFFFFF000000FFCECECEFFFFFFFFFFFFFFFFFF0000
|
||||||
00FF636363FF000000FFEBB49200EBB49200694639004B342B00E4E7EA00E4E7
|
00FF636363FF000000FFEBB49200EBB49200694639004B342B00E4E7EA00E4E7
|
||||||
EA0069463900FDE6D800000000FFD6D6D6FFFFFFFFFF000000FF000000FF0000
|
EA0069463900FDE6D800000000FFD6D6D6FFFFFFFFFF000000FF000000FF0000
|
||||||
00FF000000FF000000FFFFFFFFFF000000FFBDBDBDFFFFFFFFFFFFFFFFFF0000
|
00FF000000FF000000FFFFFFFFFF000000FFBDBDBDFFFFFFFFFFFFFFFFFF0000
|
||||||
00FF6F6F6FFF000000FFFDE6D80031313100EBB4920031313100EFBFA1000000
|
00FF6F6F6FFF000000FFFDE6D80031313100EBB4920031313100EFBFA1000000
|
||||||
00FF000000FF000000FF000000FFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
00FF000000FF000000FF000000FFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF949494FFC7C7C7FFEFEFEFFF0000
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF949494FFC7C7C7FFEFEFEFFF0000
|
||||||
00FF7F7F7FFF000000FF000000FF000000FF000000FFE4E7EA004B342B006946
|
00FF7F7F7FFF000000FF000000FF000000FF000000FFE4E7EA004B342B006946
|
||||||
3900000000FF232323FFAFAFAFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBF
|
3900000000FF232323FFAFAFAFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBF
|
||||||
BFFFBFBFBFFFBFBFBFFFBFBFBFFF000000FF000000FF000000FF000000FF0000
|
BFFFBFBFBFFFBFBFBFFFBFBFBFFF000000FF000000FF000000FF000000FF0000
|
||||||
00FF949494FF6F6F6FFF252525FF000000FF31313100F9DBC900FDE6D800FDE6
|
00FF949494FF6F6F6FFF252525FF000000FF31313100F9DBC900FDE6D800FDE6
|
||||||
D800F3C0A000000000FF1F1F1FFFC6C6C6FFC6C6C6FFCECECEFFFFFFFFFFAFAF
|
D800F3C0A000000000FF1F1F1FFFC6C6C6FFC6C6C6FFCECECEFFFFFFFFFFAFAF
|
||||||
AFFFFFFFFFFFBFBFBFFFFFFFFFFFBFBFBFFFFFFFFFFFBDBDBDFFFFFFFFFFD7D7
|
AFFFFFFFFFFFBFBFBFFFFFFFFFFFBFBFBFFFFFFFFFFFBDBDBDFFFFFFFFFFD7D7
|
||||||
D7FF7F7F7FFF1C1C1CFF000000FFFDE6D800664539004B342B00E4E7EA00E4E7
|
D7FF7F7F7FFF1C1C1CFF000000FFFDE6D800664539004B342B00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00000000FF212121FF737373FFA7A7A7FFD6D6D6FF9E9E
|
EA00E4E7EA00E4E7EA00000000FF212121FF737373FFA7A7A7FFD6D6D6FF9E9E
|
||||||
9EFFFFFFFFFFBDBDBDFFFFFFFFFFBDBDBDFFFFFFFFFFBDBDBDFFFFFFFFFF6363
|
9EFFFFFFFFFFBDBDBDFFFFFFFFFFBDBDBDFFFFFFFFFFBDBDBDFFFFFFFFFF6363
|
||||||
63FF1D1D1DFF000000FF69463900F3C0A000FAE1D100FDE6D800683B2C009129
|
63FF1D1D1DFF000000FF69463900F3C0A000FAE1D100FDE6D800683B2C009129
|
||||||
1B00E4E7EA00E4E7EA00E4E7EA00000000FF232323FF525252FFB7B7B7FF9494
|
1B00E4E7EA00E4E7EA00E4E7EA00000000FF232323FF525252FFB7B7B7FF9494
|
||||||
94FFD6D6D6FF9E9E9EFFFFFFFFFFBDBDBDFFFFFFFFFFBDBDBDFF878787FF1717
|
94FFD6D6D6FF9E9E9EFFFFFFFFFFBDBDBDFFFFFFFFFFBDBDBDFF878787FF1717
|
||||||
17FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
17FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00000000FF000000FF1C1C1CFF464646FF6767
|
EA00E4E7EA00E4E7EA00E4E7EA00000000FF000000FF1C1C1CFF464646FF6767
|
||||||
67FFBFBFBFFF7F7F7FFFD6D6D6FFBDBDBDFFFFFFFFFF4F4F4FFF272727FF0000
|
67FFBFBFBFFF7F7F7FFFD6D6D6FFBDBDBDFFFFFFFFFF4F4F4FFF272727FF0000
|
||||||
00FFE4E7EA00E4E7EA00E4E7EA00E4E7EA0037221A005E392A00E4E7EA00E4E7
|
00FFE4E7EA00E4E7EA00E4E7EA00E4E7EA0037221A005E392A00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00000000FF3D4F97FF000000FF232323FF3131
|
EA00E4E7EA00E4E7EA00E4E7EA00000000FF3D4F97FF000000FF232323FF3131
|
||||||
31FFA5A5A5FF676767FFADADADFFBDBDBDFF5A5A5AFF141414FF000000FFE4E7
|
31FFA5A5A5FF676767FFADADADFFBDBDBDFF5A5A5AFF141414FF000000FFE4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00000000FF3B4F94FF4356A5FF000000FF1818
|
EA00E4E7EA00E4E7EA00E4E7EA00000000FF3B4F94FF4356A5FF000000FF1818
|
||||||
18FF474747FF575757FF8D8D8DFF393939FF191919FF000000FFE4E7EA00E4E7
|
18FF474747FF575757FF8D8D8DFF393939FF191919FF000000FFE4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00000000FF5A67C7FF374B96FF000000FF0000
|
EA00E4E7EA00E4E7EA00E4E7EA00000000FF5A67C7FF374B96FF000000FF0000
|
||||||
00FF2B2B2BFF333333FF353535FF252525FF000000FFE4E7EA00E4E7EA00E4E7
|
00FF2B2B2BFF333333FF353535FF252525FF000000FFE4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00000000FF000000FF000000FF000000FFE4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00000000FF000000FF000000FF000000FFE4E7
|
||||||
EA00000000FF212121FF2D2D2DFF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00000000FF212121FF2D2D2DFF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00000000FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00000000FF000000FFE4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA005840D50060EE
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA005840D50060EE
|
||||||
7A000000000000000000E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
7A000000000000000000E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7
|
||||||
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00
|
EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00E4E7EA00
|
||||||
}
|
}
|
||||||
NumGlyphs = 0
|
NumGlyphs = 0
|
||||||
OnClick = HomeToolBtnClick
|
OnClick = HomeToolBtnClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object PageControl: TPageControl
|
object PageControl: TPageControl
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 478
|
Height = 478
|
||||||
Top = 32
|
Top = 32
|
||||||
Width = 758
|
Width = 758
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
TabPosition = tpBottom
|
TabPosition = tpBottom
|
||||||
OnChange = PageControlChange
|
OnChange = PageControlChange
|
||||||
OnEnter = PageControlEnter
|
OnEnter = PageControlEnter
|
||||||
OnPageChanged = PageControlChange
|
OnPageChanged = PageControlChange
|
||||||
end
|
end
|
||||||
object MainMenu1: TMainMenu
|
object MainMenu1: TMainMenu
|
||||||
top = 124
|
top = 124
|
||||||
object FileMenuItem: TMenuItem
|
object FileMenuItem: TMenuItem
|
||||||
Caption = '&File'
|
Caption = '&File'
|
||||||
object FileMenuOpenItem: TMenuItem
|
object FileMenuOpenItem: TMenuItem
|
||||||
Caption = '&Open...'
|
Caption = '&Open...'
|
||||||
ShortCut = 16463
|
ShortCut = 16463
|
||||||
OnClick = FileMenuOpenItemClick
|
OnClick = FileMenuOpenItemClick
|
||||||
end
|
end
|
||||||
object FileMenuOpenURLItem: TMenuItem
|
object FileMenuOpenURLItem: TMenuItem
|
||||||
Caption = 'Open &URL...'
|
Caption = 'Open &URL...'
|
||||||
OnClick = FileMenuOpenURLItemClick
|
OnClick = FileMenuOpenURLItemClick
|
||||||
end
|
end
|
||||||
object FileMenuCloseItem: TMenuItem
|
object FileMenuCloseItem: TMenuItem
|
||||||
Caption = '&Close'
|
Caption = '&Close'
|
||||||
ShortCut = 16471
|
ShortCut = 16471
|
||||||
OnClick = FileMenuCloseItemClick
|
OnClick = FileMenuCloseItemClick
|
||||||
end
|
end
|
||||||
object FileSeperater: TMenuItem
|
object FileSeperater: TMenuItem
|
||||||
Caption = '-'
|
Caption = '-'
|
||||||
end
|
end
|
||||||
object FileMenuExitItem: TMenuItem
|
object FileMenuExitItem: TMenuItem
|
||||||
Caption = 'E&xit'
|
Caption = 'E&xit'
|
||||||
OnClick = FileMenuExitItemClick
|
OnClick = FileMenuExitItemClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object ViewMenuItem: TMenuItem
|
object ViewMenuItem: TMenuItem
|
||||||
Caption = '&View'
|
Caption = '&View'
|
||||||
object ViewMenuContents: TMenuItem
|
object ViewMenuContents: TMenuItem
|
||||||
Caption = 'Show contents'
|
Caption = 'Show contents'
|
||||||
Checked = True
|
Checked = True
|
||||||
ShortCut = 115
|
ShortCut = 115
|
||||||
ShowAlwaysCheckable = True
|
ShowAlwaysCheckable = True
|
||||||
OnClick = ViewMenuContentsClick
|
OnClick = ViewMenuContentsClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object HelpMenuItem: TMenuItem
|
object HelpMenuItem: TMenuItem
|
||||||
Caption = '&Help'
|
Caption = '&Help'
|
||||||
object AboutItem: TMenuItem
|
object AboutItem: TMenuItem
|
||||||
Caption = '&About...'
|
Caption = '&About...'
|
||||||
OnClick = AboutItemClick
|
OnClick = AboutItemClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object OpenDialog1: TOpenDialog
|
object OpenDialog1: TOpenDialog
|
||||||
Filter = 'HelpFiles(*.chm)|*.chm|All FIles(*.*)|*'
|
Filter = 'HelpFiles(*.chm)|*.chm|All FIles(*.*)|*'
|
||||||
FilterIndex = 0
|
FilterIndex = 0
|
||||||
top = 156
|
top = 156
|
||||||
end
|
end
|
||||||
object ImageList1: TImageList
|
object ImageList1: TImageList
|
||||||
left = 8
|
left = 8
|
||||||
top = 80
|
top = 80
|
||||||
Bitmap = {
|
Bitmap = {
|
||||||
4C690400000010000000100000007001E300B0CE2A000000000000000000F609
|
4C690400000010000000100000007001E300B0CE2A000000000000000000F609
|
||||||
0200E1281B00005959000090AF00329FCCFF75888800003A3A00000E0E00FA11
|
0200E1281B00005959000090AF00329FCCFF75888800003A3A00000E0E00FA11
|
||||||
0200FE1F0000000000000000000086180000FF3F000000000000000202006C54
|
0200FE1F0000000000000000000086180000FF3F000000000000000202006C54
|
||||||
2C002BD6D4FF0088FFFF006BFFFF0067FFFF007CFFFF0095FDFF00868A00B2E3
|
2C002BD6D4FF0088FFFF006BFFFF0067FFFF007CFFFF0095FDFF00868A00B2E3
|
||||||
1400FFFF00000000000000000000C1E10000FFFF000000000000001B1B0009F7
|
1400FFFF00000000000000000000C1E10000FFFF000000000000001B1B0009F7
|
||||||
BD00008DFFFF0066FFFF007BFFFF0077FFFF0066FFFF0067FFFF00BAFDFF0479
|
BD00008DFFFF0066FFFF007BFFFF0077FFFF0066FFFF0067FFFF00BAFDFF0479
|
||||||
6B00F5470A000000000000000000FC0F0000FE1F0000000606000057570004F1
|
6B00F5470A000000000000000000FC0F0000FE1F0000000606000057570004F1
|
||||||
FBFF008FFFFF00A0FFFF00FBFFFF00F7FFFF007BFFFF0066FFFF00A3FFFF1EE1
|
FBFF008FFFFF00A0FFFF00FBFFFF00F7FFFF007BFFFF0066FFFF00A3FFFF1EE1
|
||||||
E1FFDD2C1F0000000000000000000000000000000000001010000097970000FE
|
E1FFDD2C1F0000000000000000000000000000000000001010000097970000FE
|
||||||
FEFF00FFFFFF00FFFFFF00FFFFFF00C6FFFF006AFFFF0077FFFF00DBFFFF00FA
|
FEFF00FFFFFF00FFFFFF00FFFFFF00C6FFFF006AFFFF0077FFFF00DBFFFF00FA
|
||||||
FAFF00303000000000000000000000000000000000000014140000ADAD0000FE
|
FAFF00303000000000000000000000000000000000000014140000ADAD0000FE
|
||||||
FEFF00FFFFFF00FFFFFF00E2FFFF0078FFFF007FFFFF00DAFFFF00FFFFFF00FD
|
FEFF00FFFFFF00FFFFFF00E2FFFF0078FFFF007FFFFF00DAFFFF00FFFFFF00FD
|
||||||
FDFF0041410000040400000000000000000000000000000C0C000083830000FD
|
FDFF0041410000040400000000000000000000000000000C0C000083830000FD
|
||||||
FDFF00FFFFFF00FFFFFF008DFFFF008EFFFF00EFFFFF00FFFFFF00FFFFFF00F4
|
FDFF00FFFFFF00FFFFFF008DFFFF008EFFFF00EFFFFF00FFFFFF00FFFFFF00F4
|
||||||
F4FF002A2A0000000000000000000000000013314D002E80C0FF2C99D4FF0AE9
|
F4FF002A2A0000000000000000000000000013314D002E80C0FF2C99D4FF0AE9
|
||||||
F5FF01FDFEFF00FFFFFF0083FFFF00D0FFFF00FFFFFF00FFFFFF04FAFDFF23D3
|
F5FF01FDFEFF00FFFFFF0083FFFF00D0FFFF00FFFFFF00FFFFFF04FAFDFF23D3
|
||||||
EDFF4D9DD2FF040F190000000000000000002887D3FF028BF8FF2CB3FCFF08CF
|
EDFF4D9DD2FF040F190000000000000000002887D3FF028BF8FF2CB3FCFF08CF
|
||||||
FEFF03F7FFFF01FEFFFF00CAFFFF00E9FFFF00FFFFFF01FDFFFF05EFFFFF0AC0
|
FEFF03F7FFFF01FEFFFF00CAFFFF00E9FFFF00FFFFFF01FDFFFF05EFFFFF0AC0
|
||||||
FDFF2CB0FCFF30587A0000000000000000002289DCFF069CF5FF26C2FDFF12D6
|
FDFF2CB0FCFF30587A0000000000000000002289DCFF069CF5FF26C2FDFF12D6
|
||||||
FEFF13F2FEFF08CAFFFF0070FFFF0176FFFF07E6FFFF10FAFFFF15ECFEFF12D2
|
FEFF13F2FEFF08CAFFFF0070FFFF0176FFFF07E6FFFF10FAFFFF15ECFEFF12D2
|
||||||
FEFF11BAFDFF5897C3FF00000000040D17001E8EE7FF08A1F2FF1DC7FEFF15DF
|
FEFF11BAFDFF5897C3FF00000000040D17001E8EE7FF08A1F2FF1DC7FEFF15DF
|
||||||
FEFF1CF5FFFF16C1FFFF016AFFFF0471FFFF22DFFFFF22F7FFFF1BF5FFFF14DB
|
FEFF1CF5FFFF16C1FFFF016AFFFF0471FFFF22DFFFFF22F7FFFF1BF5FFFF14DB
|
||||||
FEFF0DBFFEFF55ABDCFF0000000010274000148CF1FF0796EEFF11BBFDFF12D3
|
FEFF0DBFFEFF55ABDCFF0000000010274000148CF1FF0796EEFF11BBFDFF12D3
|
||||||
FEFF18EBFEFF1FF5FFFF1CD4FFFF20E0FFFF23F7FFFF1EF5FFFF17E8FEFF11CF
|
FEFF18EBFEFF1FF5FFFF1CD4FFFF20E0FFFF23F7FFFF1EF5FFFF17E8FEFF11CF
|
||||||
FEFF0BB6FDFF47ACECFF020810001D426400108FFCFF1F8FE6FF3CA2D8FF42B0
|
FEFF0BB6FDFF47ACECFF020810001D426400108FFCFF1F8FE6FF3CA2D8FF42B0
|
||||||
D9FF49BBD9FF4DC4D9FF51CADAFF56CCD9FF58CADAFF5AC6DAFF5BBFDAFF5CB7
|
D9FF49BBD9FF4DC4D9FF51CADAFF56CCD9FF58CADAFF5AC6DAFF5BBFDAFF5CB7
|
||||||
DAFF5EAEDBFF66A9D9FF1C3C590023558100248BDBFFE3E9E9FFFFFFFFFFFFFF
|
DAFF5EAEDBFF66A9D9FF1C3C590023558100248BDBFFE3E9E9FFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFC5D3D3FF588295FF122436000D223A002C8AD2FFEFF2F2FFFFFFFFFFFFFF
|
FFFFC5D3D3FF588295FF122436000D223A002C8AD2FFEFF2F2FFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFBBCBCBFF5C8394FF020A1200000000001D568800457496FF6C8EA1FF6E8E
|
FFFFBBCBCBFF5C8394FF020A1200000000001D568800457496FF6C8EA1FF6E8E
|
||||||
A2FF6F90A4FF7091A4FF7192A5FF7192A6FF7394A7FF7595A7FF7595A7FF7896
|
A2FF6F90A4FF7091A4FF7192A5FF7192A6FF7394A7FF7595A7FF7595A7FF7896
|
||||||
A9FF7996A9FF4F7692FF060F1B007001E300C819EE000000000000000000F708
|
A9FF7996A9FF4F7692FF060F1B007001E300C819EE000000000000000000F708
|
||||||
0100EE1C0E0000313100005C70006F708D00AC575100001F1F0000070700FB10
|
0100EE1C0E0000313100005C70006F708D00AC575100001F1F0000070700FB10
|
||||||
0100FE1F0000000000000000000086180000FF3F000000000000000101007743
|
0100FE1F0000000000000000000086180000FF3F000000000000000101007743
|
||||||
170069E296000083F600006BFE000067FF00037EFC000089E90000505200B9E2
|
170069E296000083F600006BFE000067FF00037EFC000089E90000505200B9E2
|
||||||
0A00FFFF00000000000000000000C1E10000FFFF000000000000000E0E0011EF
|
0A00FFFF00000000000000000000C1E10000FFFF000000000000000E0E0011EF
|
||||||
7D000690F9000066FF00007BFF000077FF000066FF000067FF0000AAE700054F
|
7D000690F9000066FF00007BFF000077FF000066FF000067FF0000AAE700054F
|
||||||
3D00FA4305000000000000000000FC0F0000DA2619001F569DFF276CB7FF2C7D
|
3D00FA4305000000000000000000FC0F0000DA2619001F569DFF276CB7FF2C7D
|
||||||
C9FF2E78CEFF307DCEFF3489CFFF368ACEFF3A82CFFF3C7FD0FF4186D1FF4987
|
C9FF2E78CEFF307DCEFF3489CFFF368ACEFF3A82CFFF3C7FD0FF4186D1FF4987
|
||||||
CBFF5563A2FF0000000000000000000000001D5198FF0B8CFCFF2E98F3FF0389
|
CBFF5563A2FF0000000000000000000000001D5198FF0B8CFCFF2E98F3FF0389
|
||||||
FDFF0798FDFF0CAAFDFF10B7FDFF12BCFDFF11B7FDFF0FAAFDFF0A98FDFF088C
|
FDFF0798FDFF0CAAFDFF10B7FDFF12BCFDFF11B7FDFF0FAAFDFF0A98FDFF088C
|
||||||
FDFF4596E6FF0002060000000000000000002262B1FF0589FCFF339CF6FF0499
|
FDFF4596E6FF0002060000000000000000002262B1FF0589FCFF339CF6FF0499
|
||||||
FDFF0BB5FDFF10CBFEFF0CACFEFF0895FFFF0AA2FEFF0FC4FEFF0AB3FDFF0397
|
FDFF0BB5FDFF10CBFEFF0CACFEFF0895FFFF0AA2FEFF0FC4FEFF0AB3FDFF0397
|
||||||
FDFF3F99EDFF00142E000000000000000000236ABBFF0388FBFF37A4FBFF09AF
|
FDFF3F99EDFF00142E000000000000000000236ABBFF0388FBFF37A4FBFF09AF
|
||||||
FDFF11CFFEFF12C9FEFF0992FFFF13BDFFFF0373FFFF0CA7FFFF11CDFEFF09AD
|
FDFF11CFFEFF12C9FEFF0992FFFF13BDFFFF0373FFFF0CA7FFFF11CDFEFF09AD
|
||||||
FDFF369FF8FF0D2B5D0000000000000000002571C6FF0187FBFF38AFFDFF0DBE
|
FDFF369FF8FF0D2B5D0000000000000000002571C6FF0187FBFF38AFFDFF0DBE
|
||||||
FEFF16E2FEFF1FF6FFFF27F8FFFF22D8FFFF0780FFFF1AE1FFFF16E0FEFF0DBC
|
FEFF16E2FEFF1FF6FFFF27F8FFFF22D8FFFF0780FFFF1AE1FFFF16E0FEFF0DBC
|
||||||
FDFF2EA9FDFF1C4A8CFF00000000000000002577D0FF0086FAFF33B1FDFF0FC5
|
FDFF2EA9FDFF1C4A8CFF00000000000000002577D0FF0086FAFF33B1FDFF0FC5
|
||||||
FEFF18EBFEFF22F6FFFF2DF9FFFF149DFFFF2AF1FFFF22F6FFFF18E9FEFF0EC3
|
FEFF18EBFEFF22F6FFFF2DF9FFFF149DFFFF2AF1FFFF22F6FFFF18E9FEFF0EC3
|
||||||
FEFF1FA7FDFF3970B8FF0000000000000000237BD4FF0086FAFF2EACFDFF0EC2
|
FEFF1FA7FDFF3970B8FF0000000000000000237BD4FF0086FAFF2EACFDFF0EC2
|
||||||
FEFF17E7FEFF21F6FFFF2AF6FFFF1EC6FFFF28F4FFFF20F6FFFF17E4FEFF0DBF
|
FEFF17E7FEFF21F6FFFF2AF6FFFF1EC6FFFF28F4FFFF20F6FFFF17E4FEFF0DBF
|
||||||
FEFF0D9EFDFF4B89CFFF0000000002070C00217CD8FF0086F9FF26A1FDFF0BB5
|
FEFF0D9EFDFF4B89CFFF0000000002070C00217CD8FF0086F9FF26A1FDFF0BB5
|
||||||
FDFF13D7FEFF1BF5FFFF1DE3FFFF067FFFFF1BDBFFFF1AF3FEFF13D5FEFF0AB3
|
FDFF13D7FEFF1BF5FFFF1DE3FFFF067FFFFF1BDBFFFF1AF3FEFF13D5FEFF0AB3
|
||||||
FDFF0290FDFF4E92DAFF00000000091624001F7EDDFF0086F9FF1E95FCFF06A1
|
FDFF0290FDFF4E92DAFF00000000091624001F7EDDFF0086F9FF1E95FCFF06A1
|
||||||
FDFF0DBEFEFF13D7FEFF17E8FEFF19EEFEFF17E7FEFF13D6FEFF0DBDFDFF059F
|
FDFF0DBEFEFF13D7FEFF17E8FEFF19EEFEFF17E7FEFF13D6FEFF0DBDFDFF059F
|
||||||
FDFF0088FDFF4894E1FF01040800102B46001F82E1FF2589E6FF438AD4FF4189
|
FDFF0088FDFF4894E1FF01040800102B46001F82E1FF2589E6FF438AD4FF4189
|
||||||
D3FF4797D3FF4DA3D4FF50ABD5FF54AED6FF56ADD7FF57A8D7FF58A0D8FF5897
|
D3FF4797D3FF4DA3D4FF50ABD5FF54AED6FF56ADD7FF57A8D7FF58A0D8FF5897
|
||||||
D8FF5A98D9FF508BCDFF0F284300133A64002A77CBFFC2C2D0FFFFFFFFFFFFFF
|
D8FF5A98D9FF508BCDFF0F284300133A64002A77CBFFC2C2D0FFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFD
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFD
|
||||||
FEFF8989A5FF32589DFF0A162000071322002468BCFF8E97B8FFCDCDD9FFCECE
|
FEFF8989A5FF32589DFF0A162000071322002468BCFF8E97B8FFCDCDD9FFCECE
|
||||||
DAFFD0D0DBFFD0D0DBFFD1D1DCFFD2D2DCFFD3D3DDFFD4D4DEFFD5D5DFFFD5D5
|
DAFFD0D0DBFFD0D0DBFFD1D1DCFFD2D2DCFFD3D3DDFFD4D4DEFFD5D5DFFFD5D5
|
||||||
DFFF9292ACFF3E5C9BFF010509000000000012395F0025528D00335B9800325A
|
DFFF9292ACFF3E5C9BFF010509000000000012395F0025528D00335B9800325A
|
||||||
9800325A9900325A9900315A9900315A9900315B9900305B9900305B9900315B
|
9800325A9900325A9900315A9900315A9900315B9900305B9900305B9900315B
|
||||||
9A00315A9A002C55860003080E007001E300703A46000000000000000000A3A9
|
9A00315A9A002C55860003080E007001E300703A46000000000000000000A3A9
|
||||||
A600A2A8A600A2A8A500A2A8A500798CA2002E5FAAFF2B2D2C00000000000000
|
A600A2A8A600A2A8A500A2A8A500798CA2002E5FAAFF2B2D2C00000000000000
|
||||||
000000000000000000000000000000000000959A9800EDEFEE00FFFFFF00FFFF
|
000000000000000000000000000000000000959A9800EDEFEE00FFFFFF00FFFF
|
||||||
FF00FFFFFF00D9E2F200467CC6FF368FE4FF408FDEFFA6ACA9004E504F000000
|
FF00FFFFFF00D9E2F200467CC6FF368FE4FF408FDEFFA6ACA9004E504F000000
|
||||||
000000000000000000000000000000000000A1A7A500FEFEFE00E9ECEB00D3DD
|
000000000000000000000000000000000000A1A7A500FEFEFE00E9ECEB00D3DD
|
||||||
E300477CBEFF318CDFFF0F8FFCFF0088FDFF3C8CDDFFFDFDFD00B3B7B6004B4E
|
E300477CBEFF318CDFFF0F8FFCFF0088FDFF3C8CDDFFFDFDFD00B3B7B6004B4E
|
||||||
4D0000000000000000000000000000000000949FA300779FD500326DBAFF3298
|
4D0000000000000000000000000000000000949FA300779FD500326DBAFF3298
|
||||||
D9FF1CBBFAFF0AB1FDFF059DFDFF0088FDFF3B8BDCFF77A5DA0079A5DA00608D
|
D9FF1CBBFAFF0AB1FDFF059DFDFF0088FDFF3B8BDCFF77A5DA0079A5DA00608D
|
||||||
C20031538200000000000000000000000000446FAB002781D3FF1BBAF7FF12D3
|
C20031538200000000000000000000000000446FAB002781D3FF1BBAF7FF12D3
|
||||||
FEFF0BA2FEFF0581FFFF0CBBFDFF0499FDFF3C8BDCFF0FA8FD000A98FB00088A
|
FEFF0BA2FEFF0581FFFF0CBBFDFF0499FDFF3C8BDCFF0FA8FD000A98FB00088A
|
||||||
FB004292E1000003090000000000000000002B62B0FF12B0FDFF13D5FEFF0CA6
|
FB004292E1000003090000000000000000002B62B0FF12B0FDFF13D5FEFF0CA6
|
||||||
FFFF088DFFFF0688FFFF13D6FEFF09AEFDFF3986D8FF96A0B7FF96A0B7FF969F
|
FFFF088DFFFF0688FFFF13D6FEFF09AEFDFF3986D8FF96A0B7FF96A0B7FF969F
|
||||||
B7FF969FB7FF395EA1FF00000000000000002B68B7FF13BCFDFF16E1FEFF0B95
|
B7FF969FB7FF395EA1FF00000000000000002B68B7FF13BCFDFF16E1FEFF0B95
|
||||||
FFFF1CC6FFFF1BD3FFFF18EAFEFF0DBDFDFF4990D2FFB6B6B6FFB6B6B6FFB6B6
|
FFFF1CC6FFFF1BD3FFFF18EAFEFF0DBDFDFF4990D2FFB6B6B6FFB6B6B6FFB6B6
|
||||||
B6FFBCBCBCFF5A71A3FF00000000000000002B6CBDFF12BFFDFF18E9FEFF27F6
|
B6FFBCBCBCFF5A71A3FF00000000000000002B6CBDFF12BFFDFF18E9FEFF27F6
|
||||||
FFFF1EB9FFFF29F8FFFF1AF2FEFF0EC3FEFF4A91D4FFC9C9C9FFC9C9C9FFC9C9
|
FFFF1EB9FFFF29F8FFFF1AF2FEFF0EC3FEFF4A91D4FFC9C9C9FFC9C9C9FFC9C9
|
||||||
C9FFCACACAFF5E75A5FF00000000000000002A6FC2FF0FB9FDFF17E6FEFF23F6
|
C9FFCACACAFF5E75A5FF00000000000000002A6FC2FF0FB9FDFF17E6FEFF23F6
|
||||||
FFFF1FCFFFFF25F7FFFF18ECFEFF0DBFFEFF4D90D2FFBABABAFFBABABAFFBABA
|
FFFF1FCFFFFF25F7FFFF18ECFEFF0DBFFEFF4D90D2FFBABABAFFBABABAFFBABA
|
||||||
BAFFBFBFBFFF6278A8FF00000000000000002A73C6FF09ABFDFF12D3FEFF19EF
|
BAFFBFBFBFFF6278A8FF00000000000000002A73C6FF09ABFDFF12D3FEFF19EF
|
||||||
FEFF0889FFFF1CF5FFFF14D9FEFF0BB2FDFF508ED1FFB8B8B8FFB8B8B8FFB8B8
|
FEFF0889FFFF1CF5FFFF14D9FEFF0BB2FDFF508ED1FFB8B8B8FFB8B8B8FFB8B8
|
||||||
B8FFBEBEBEFF657BA9FF00000000000000002A76CCFF0396FDFF0CB9FDFF10CA
|
B8FFBEBEBEFF657BA9FF00000000000000002A76CCFF0396FDFF0CB9FDFF10CA
|
||||||
FEFF0FBBFEFF13D7FEFF28C1F9FF4D95D0FF959EAFFFB8B8B8FFB8B8B8FFB8B8
|
FEFF0FBBFEFF13D7FEFF28C1F9FF4D95D0FF959EAFFFB8B8B8FFB8B8B8FFB8B8
|
||||||
B8FFBFBFBFFF687DA9FF00000000000000002878CFFF0088FDFF049BFDFF0AB1
|
B8FFBFBFBFFF687DA9FF00000000000000002878CFFF0088FDFF049BFDFF0AB1
|
||||||
FDFF1FBDFAFF449FD7FF8B9FBDFFC8C8C9FFCBCBCBFFCBCBCBFFCBCBCBFFCBCB
|
FDFF1FBDFAFF449FD7FF8B9FBDFFC8C8C9FFCBCBCBFFCBCBCBFFCBCBCBFFCBCB
|
||||||
CBFFCBCBCBFF6B7FABFF0000000000020600267BD4FF0088FDFF0C8CFBFF3489
|
CBFFCBCBCBFF6B7FABFF0000000000020600267BD4FF0088FDFF0C8CFBFF3489
|
||||||
D9FF819ABDFFB6B6B7FFB8B8B8FFB8B8B8FFB8B8B8FFB8B8B8FFB8B8B8FFB8B8
|
D9FF819ABDFFB6B6B7FFB8B8B8FFB8B8B8FFB8B8B8FFB8B8B8FFB8B8B8FFB8B8
|
||||||
B8FFC0C0C0FF6E82ACFF00040A00000610001E79D8FF2380DEFF82A0C9FFE0E1
|
B8FFC0C0C0FF6E82ACFF00040A00000610001E79D8FF2380DEFF82A0C9FFE0E1
|
||||||
E3FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9
|
E3FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9E9FFE9E9
|
||||||
E9FFD2D2D8FF5E76A8FF00010100000001002555A8FFE7E8EEFFFFFFFFFFFFFF
|
E9FFD2D2D8FF5E76A8FF00010100000001002555A8FFE7E8EEFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFA6A6BBFF435D9AFF0000000000000000233858004464A0FF6C82B2FF6B82
|
FFFFA6A6BBFF435D9AFF0000000000000000233858004464A0FF6C82B2FF6B82
|
||||||
B2FF6A81B2FF6980B2FF687FB0FF687FB0FF677EB1FF647FB0FF647DB0FF637D
|
B2FF6A81B2FF6980B2FF687FB0FF687FB0FF677EB1FF647FB0FF647DB0FF637D
|
||||||
AFFF5E77ACFF294E8FFF00000000A803E3000051C8000000000000000000F708
|
AFFF5E77ACFF294E8FFF00000000A803E3000051C8000000000000000000F708
|
||||||
0100EE1C0E0000313100005C7000626B9100535A9000001F1F0000070700FB10
|
0100EE1C0E0000313100005C7000626B9100535A9000001F1F0000070700FB10
|
||||||
0100FE1F0000000000000000000086180000FF3F0000006AC9FF0091EEFF0092
|
0100FE1F0000000000000000000086180000FF3F0000006AC9FF0091EEFF0092
|
||||||
EEFF0084EAFF0084EAFF0092EEFF0084EAFF0084EAFF0080E2FF0068C00093CE
|
EEFF0084EAFF0084EAFF0092EEFF0084EAFF0084EAFF0080E2FF0068C00093CE
|
||||||
3400FFFF00000000000000000000C1E10000FFFF000000A7FEFFCDF1FFFFCDF1
|
3400FFFF00000000000000000000C1E10000FFFF000000A7FEFFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFF5FDBFFFF0DACFFFF0081
|
FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFF5FDBFFFF0DACFFFF0081
|
||||||
E2FFBB523E000000000000000000FC0F0000EB230D0000A7FEFFCDF1FFFFCDF1
|
E2FFBB523E000000000000000000FC0F0000EB230D0000A7FEFFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFF5BDAFFFF0FB3
|
FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFF5BDAFFFF0FB3
|
||||||
FFFF0F78D300000000000000000000000000143C7300009BFEFFCDF1FFFFCDF1
|
FFFF0F78D300000000000000000000000000143C7300009BFEFFCDF1FFFFCDF1
|
||||||
FFFF81DAFFFF19B6FFFF00A2EEFF00A4F0FF23B9FFFFBEECFFFFCDF1FFFF5FDB
|
FFFF81DAFFFF19B6FFFF00A2EEFF00A4F0FF23B9FFFFBEECFFFFCDF1FFFF5FDB
|
||||||
FFFF0083E8FF0002060000000000000000001E539B00009BFEFFCDF1FFFFCDF1
|
FFFF0083E8FF0002060000000000000000001E539B00009BFEFFCDF1FFFFCDF1
|
||||||
FFFF03AFFFFF009EE8FF6DD4FFFF6BD3FFFF009EE8FF17B5FFFFCDF1FFFFCDF1
|
FFFF03AFFFFF009EE8FF6DD4FFFF6BD3FFFF009EE8FF17B5FFFFCDF1FFFFCDF1
|
||||||
FFFF0095F4FF30518C000000000000000000225DA900009BFEFFCDF1FFFFCDF1
|
FFFF0095F4FF30518C000000000000000000225DA900009BFEFFCDF1FFFFCDF1
|
||||||
FFFF009EE8FF03AFFFFFCDF1FFFFC7F0FFFF009EE8FF00A2EEFFCDF1FFFFCDF1
|
FFFF009EE8FF03AFFFFFCDF1FFFFC7F0FFFF009EE8FF00A2EEFFCDF1FFFFCDF1
|
||||||
FFFF0098F8FF4E65940000000000000000002667B700009BFEFFCDF1FFFFCDF1
|
FFFF0098F8FF4E65940000000000000000002667B700009BFEFFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFFC9EFFFFF1BB7FFFF009EE8FF57CEFFFFCDF1FFFFCDF1
|
FFFFCDF1FFFFCDF1FFFFC9EFFFFF1BB7FFFF009EE8FF57CEFFFFCDF1FFFFCDF1
|
||||||
FFFF0095F4FF546C9C0000000000000000002871C5000098F8FFCDF1FFFFCDF1
|
FFFF0095F4FF546C9C0000000000000000002871C5000098F8FFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFF21B8FFFF009EE8FF4BCAFFFFCDF1FFFFCDF1FFFFCDF1
|
FFFFCDF1FFFFCDF1FFFF21B8FFFF009EE8FF4BCAFFFFCDF1FFFFCDF1FFFFCDF1
|
||||||
FFFF0095F2FF5C75A70000000000000000002874C9000095F4FFCDF1FFFFCDF1
|
FFFF0095F2FF5C75A70000000000000000002874C9000095F4FFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFF00A0EAFF009EE8FFC9EFFFFFCDF1FFFFCDF1FFFFCDF1
|
FFFFCDF1FFFFCDF1FFFF00A0EAFF009EE8FFC9EFFFFFCDF1FFFFCDF1FFFFCDF1
|
||||||
FFFF008DF0FF627DAD000000000002070C002877CE000095F2FFCDF1FFFFCDF1
|
FFFF008DF0FF627DAD000000000002070C002877CE000095F2FFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1
|
FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1
|
||||||
FFFF0082E6FF6580AF0000000000091624002679D1000092EEFFCDF1FFFFCDF1
|
FFFF0082E6FF6580AF0000000000091624002679D1000092EEFFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFF009EE8FF009EE8FFCDF1FFFFCDF1FFFFCDF1FFFFCDF1
|
FFFFCDF1FFFFCDF1FFFF009EE8FF009EE8FFCDF1FFFFCDF1FFFFCDF1FFFFCDF1
|
||||||
FFFF0080E2FF6782B10001040800112A4200257BD6000083E8FFCDF1FFFFCDF1
|
FFFF0080E2FF6782B10001040800112A4200257BD6000083E8FFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFF009EE8FF009EE8FFCDF1FFFFCDF1FFFFCDF1FFFFCDF1
|
FFFFCDF1FFFFCDF1FFFF009EE8FF009EE8FFCDF1FFFFCDF1FFFFCDF1FFFFCDF1
|
||||||
FFFF007CDCFF6B83AF0010263D0015395D001E79D7000080E2FFCDF1FFFFCDF1
|
FFFF007CDCFF6B83AF0010263D0015395D001E79D7000080E2FFCDF1FFFFCDF1
|
||||||
FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1
|
FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1FFFFCDF1
|
||||||
FFFF027CDCFF5974A6000A151F00071321002458AB002F6EC4FF0761C8FF005D
|
FFFF027CDCFF5974A6000A151F00071321002458AB002F6EC4FF0761C8FF005D
|
||||||
C6FF005DC6FF005DC6FF005DC6FF005DC6FF005CC2FF005CC2FF005BC2FF075F
|
C6FF005DC6FF005DC6FF005DC6FF005DC6FF005CC2FF005CC2FF005BC2FF075F
|
||||||
C4FF2560B6FF435F9B000105090000000000143D6B00385C9600627CAC00627C
|
C4FF2560B6FF435F9B000105090000000000143D6B00385C9600627CAC00627C
|
||||||
AB00617BAC00607AAC005F79AA005F79AA005E79AB005C79AA005C78AA005C78
|
AB00617BAC00607AAC005F79AA005F79AA005E79AB005C79AA005C78AA005C78
|
||||||
AA005A75AA003158930003080E00
|
AA005A75AA003158930003080E00
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -86,14 +86,16 @@ type
|
|||||||
private
|
private
|
||||||
{ private declarations }
|
{ private declarations }
|
||||||
fServerName: String;
|
fServerName: String;
|
||||||
fServer: TSimpleIPCServer;
|
fInputIPC: TSimpleIPCServer;
|
||||||
|
fOutputIPC: TSimpleIPCClient;
|
||||||
fServerTimer: TTimer;
|
fServerTimer: TTimer;
|
||||||
fContext: LongInt; // used once when we are started on the command line with --context
|
fContext: LongInt; // used once when we are started on the command line with --context
|
||||||
|
procedure SendResponse(Response: DWord);
|
||||||
procedure ServerMessage(Sender: TObject);
|
procedure ServerMessage(Sender: TObject);
|
||||||
procedure ReadCommandLineOptions;
|
procedure ReadCommandLineOptions;
|
||||||
procedure StartServer(ServerName: String);
|
procedure StartServer(ServerName: String);
|
||||||
procedure StopServer;
|
procedure StopServer;
|
||||||
procedure OpenURL(const AURL: String; AContext: THelpContext=-1);
|
function OpenURL(const AURL: String; AContext: THelpContext=-1): DWord;
|
||||||
procedure LateOpenURL(Url: PStringItem);
|
procedure LateOpenURL(Url: PStringItem);
|
||||||
function ActivePage: TContentTab;
|
function ActivePage: TContentTab;
|
||||||
procedure RefreshState;
|
procedure RefreshState;
|
||||||
@ -231,6 +233,23 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure THelpForm.SendResponse(Response: DWord);
|
||||||
|
var
|
||||||
|
Stream: TMemoryStream;
|
||||||
|
begin
|
||||||
|
fOutputIPC := TSimpleIPCClient.Create(nil);
|
||||||
|
fOutputIPC.ServerID := fServerName+'client';
|
||||||
|
fOutputIPC.Active := True;
|
||||||
|
|
||||||
|
Stream := TMemoryStream.Create;
|
||||||
|
Stream.WriteDWord(Response);
|
||||||
|
fOutputIPC.SendMessage(mtUnknown, Stream);
|
||||||
|
|
||||||
|
if fOutputIPC.Active then
|
||||||
|
fOutputIPC.Active := False;
|
||||||
|
FreeAndNil(fOutputIPC);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
procedure THelpForm.ServerMessage(Sender: TObject);
|
procedure THelpForm.ServerMessage(Sender: TObject);
|
||||||
@ -239,30 +258,32 @@ var
|
|||||||
FileReq:TFileRequest;
|
FileReq:TFileRequest;
|
||||||
ConReq: TContextRequest;
|
ConReq: TContextRequest;
|
||||||
Stream: TStream;
|
Stream: TStream;
|
||||||
|
Res: LongWord;
|
||||||
begin
|
begin
|
||||||
if fServer.PeekMessage(5, True) then begin
|
if fInputIPC.PeekMessage(5, True) then begin
|
||||||
Stream := fServer.MsgData;
|
Stream := fInputIPC.MsgData;
|
||||||
Stream.Position := 0;
|
Stream.Position := 0;
|
||||||
Stream.Read(FileReq, SizeOf(FileReq));
|
Stream.Read(FileReq, SizeOf(FileReq));
|
||||||
case FileReq.RequestType of
|
case FileReq.RequestType of
|
||||||
rtFile : begin
|
rtFile : begin
|
||||||
|
Res := OpenURL('file://'+FileReq.FileName);
|
||||||
OpenURL('file://'+FileReq.FileName);
|
|
||||||
end;
|
end;
|
||||||
rtUrl : begin
|
rtUrl : begin
|
||||||
Stream.Position := 0;
|
Stream.Position := 0;
|
||||||
Stream.Read(UrlReq, SizeOf(UrlReq));
|
Stream.Read(UrlReq, SizeOf(UrlReq));
|
||||||
if UrlReq.FileRequest.FileName <> '' then
|
if UrlReq.FileRequest.FileName <> '' then
|
||||||
OpenUrl('file://'+UrlReq.FileRequest.FileName+'://'+UrlReq.Url)
|
Res := OpenUrl('file://'+UrlReq.FileRequest.FileName+'://'+UrlReq.Url)
|
||||||
else
|
else
|
||||||
OpenURL(UrlReq.Url);
|
Res := OpenURL(UrlReq.Url);
|
||||||
end;
|
end;
|
||||||
rtContext : begin
|
rtContext : begin
|
||||||
Stream.Position := 0;
|
Stream.Position := 0;
|
||||||
Stream.Read(ConReq, SizeOf(ConReq));
|
Stream.Read(ConReq, SizeOf(ConReq));
|
||||||
OpenURL('file://'+FileReq.FileName, ConReq.HelpContext);
|
Res := OpenURL('file://'+FileReq.FileName, ConReq.HelpContext);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
SendResponse(Res);
|
||||||
|
Self.SendToBack;
|
||||||
Self.BringToFront;
|
Self.BringToFront;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -314,27 +335,32 @@ end;
|
|||||||
|
|
||||||
procedure THelpForm.StartServer(ServerName: String);
|
procedure THelpForm.StartServer(ServerName: String);
|
||||||
begin
|
begin
|
||||||
fServer := TSimpleIPCServer.Create(nil);
|
fInputIPC := TSimpleIPCServer.Create(nil);
|
||||||
fServer.ServerID := ServerName;
|
fInputIPC.ServerID := ServerName;
|
||||||
fServer.Global := True;
|
fInputIPC.Global := True;
|
||||||
fServer.Active := True;
|
fInputIPC.Active := True;
|
||||||
fServerTimer := TTimer.Create(nil);
|
fServerTimer := TTimer.Create(nil);
|
||||||
fServerTimer.OnTimer := @ServerMessage;
|
fServerTimer.OnTimer := @ServerMessage;
|
||||||
fServerTimer.Interval := 200;
|
fServerTimer.Interval := 200;
|
||||||
fServerTimer.Enabled := True;
|
fServerTimer.Enabled := True;
|
||||||
ServerMessage(nil);
|
ServerMessage(nil);
|
||||||
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure THelpForm.StopServer;
|
procedure THelpForm.StopServer;
|
||||||
begin
|
begin
|
||||||
if fServer = nil then exit;
|
if fInputIPC = nil then
|
||||||
|
exit;
|
||||||
|
|
||||||
|
if fInputIPC.Active then
|
||||||
|
fInputIPC.Active := False;
|
||||||
|
|
||||||
|
FreeAndNil(fInputIPC);
|
||||||
FreeAndNil(fServerTimer);
|
FreeAndNil(fServerTimer);
|
||||||
if fServer.Active then fServer.Active := False;
|
|
||||||
FreeAndNil(fServer);
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure THelpForm.OpenURL(const AURL: String; AContext: THelpContext);
|
function THelpForm.OpenURL(const AURL: String; AContext: THelpContext): DWord;
|
||||||
function GetURLPrefix: String;
|
function GetURLPrefix: String;
|
||||||
var
|
var
|
||||||
fPos: Integer;
|
fPos: Integer;
|
||||||
@ -349,18 +375,20 @@ var
|
|||||||
fNewPage: TContentTab;
|
fNewPage: TContentTab;
|
||||||
I: Integer;
|
I: Integer;
|
||||||
begin
|
begin
|
||||||
|
Result := Ord(srUnknown);
|
||||||
fURLPrefix := GetURLPrefix;
|
fURLPrefix := GetURLPrefix;
|
||||||
fContentProvider := GetContentProvider(fURLPrefix);
|
fContentProvider := GetContentProvider(fURLPrefix);
|
||||||
|
|
||||||
if fContentProvider = nil then begin
|
if fContentProvider = nil then begin
|
||||||
ShowError('Cannot handle this type of content. "' + fURLPrefix + '"');
|
ShowError('Cannot handle this type of content. "' + fURLPrefix + '" for url:'+LineEnding+AURL);
|
||||||
|
Result := Ord(srInvalidFile);
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
fRealContentProvider := fContentProvider.GetProperContentProvider(AURL);
|
fRealContentProvider := fContentProvider.GetProperContentProvider(AURL);
|
||||||
|
|
||||||
if fRealContentProvider = nil then begin
|
if fRealContentProvider = nil then begin
|
||||||
ShowError('Cannot handle this type of subcontent. "' + fURLPrefix + '"');
|
ShowError('Cannot handle this type of subcontent. "' + fURLPrefix + '" for url:'+LineEnding+AURL);
|
||||||
|
Result := Ord(srInvalidFile);
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -368,7 +396,12 @@ begin
|
|||||||
for I := 0 to PageControl.PageCount-1 do begin
|
for I := 0 to PageControl.PageCount-1 do begin
|
||||||
if fRealContentProvider.ClassName = TContentTab(PageControl.Pages[I]).ContentProvider.ClassName then begin
|
if fRealContentProvider.ClassName = TContentTab(PageControl.Pages[I]).ContentProvider.ClassName then begin
|
||||||
if TContentTab(PageControl.Pages[I]).ContentProvider.LoadURL(AURL, AContext) then
|
if TContentTab(PageControl.Pages[I]).ContentProvider.LoadURL(AURL, AContext) then
|
||||||
|
begin
|
||||||
PageControl.ActivePage := PageControl.Pages[I];
|
PageControl.ActivePage := PageControl.Pages[I];
|
||||||
|
Result := Ord(srSuccess);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Result := Ord(srInvalidFile);
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -381,7 +414,12 @@ begin
|
|||||||
ShowOnTop;
|
ShowOnTop;
|
||||||
|
|
||||||
if fNewPage.ContentProvider.LoadURL(AURL, AContext) then
|
if fNewPage.ContentProvider.LoadURL(AURL, AContext) then
|
||||||
|
begin
|
||||||
PageControl.ActivePage := fNewPage;
|
PageControl.ActivePage := fNewPage;
|
||||||
|
Result := Ord(srSuccess);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Result := Ord(srInvalidFile);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure THelpForm.LateOpenURL ( Url: PStringItem ) ;
|
procedure THelpForm.LateOpenURL ( Url: PStringItem ) ;
|
||||||
|
@ -9,7 +9,9 @@ uses
|
|||||||
|
|
||||||
type
|
type
|
||||||
TRequestType = (rtFile, rtUrl, rtContext);
|
TRequestType = (rtFile, rtUrl, rtContext);
|
||||||
|
|
||||||
|
TLHelpResponse = (srNoAnswer, srUnknown, srSuccess, srInvalidFile, srInvalidURL, srInvalidContext);
|
||||||
|
|
||||||
TFileRequest = record
|
TFileRequest = record
|
||||||
RequestType: TRequestType;
|
RequestType: TRequestType;
|
||||||
FileName: array[0..512] of char;
|
FileName: array[0..512] of char;
|
||||||
@ -22,19 +24,29 @@ type
|
|||||||
FileRequest: TFileRequest;
|
FileRequest: TFileRequest;
|
||||||
HelpContext: THelpContext;
|
HelpContext: THelpContext;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TProcedureOfObject = procedure of object;
|
||||||
|
|
||||||
{ TLHelpConnection }
|
{ TLHelpConnection }
|
||||||
|
|
||||||
TLHelpConnection = class(TObject)
|
TLHelpConnection = class(TObject)
|
||||||
private
|
private
|
||||||
fClient: TSimpleIPCClient;
|
FProcessWhileWaiting: TProcedureOfObject;
|
||||||
|
fServerOut: TSimpleIPCClient; // sends messages to lhelp
|
||||||
|
fServerIn: TSimpleIPCServer; // recieves messages from lhelp
|
||||||
|
function WaitForMsgResponse: TLHelpResponse;
|
||||||
|
function SendMessage(Stream: TStream): TLHelpResponse;
|
||||||
public
|
public
|
||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
|
function ServerRunning: Boolean;
|
||||||
function StartHelpServer(NameForServer: String; ServerEXE: String = ''): Boolean;
|
function StartHelpServer(NameForServer: String; ServerEXE: String = ''): Boolean;
|
||||||
procedure OpenURL(HelpFileName: String; Url: String);
|
|
||||||
procedure OpenContext(HelpFileName: String; Context: THelpContext);
|
function OpenURL(HelpFileName: String; Url: String): TLHelpResponse;
|
||||||
procedure OpenFile(HelpFileName: String);
|
function OpenContext(HelpFileName: String; Context: THelpContext): TLHelpResponse;
|
||||||
|
function OpenFile(HelpFileName: String): TLHelpResponse;
|
||||||
|
|
||||||
|
property ProcessWhileWaiting: TProcedureOfObject read FProcessWhileWaiting write FProcessWhileWaiting;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -42,45 +54,87 @@ implementation
|
|||||||
|
|
||||||
{ TLHelpConnection }
|
{ TLHelpConnection }
|
||||||
|
|
||||||
|
function TLHelpConnection.WaitForMsgResponse: TLHelpResponse;
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
Stream: TStream;
|
||||||
|
WaitTime: Integer = 5000;
|
||||||
|
begin
|
||||||
|
Result := srNoAnswer;
|
||||||
|
while WaitTime >= 0 do
|
||||||
|
begin
|
||||||
|
Dec(WaitTime, 50);
|
||||||
|
if fServerIn.PeekMessage(50, True) then
|
||||||
|
begin
|
||||||
|
Stream := fServerIn.MsgData;
|
||||||
|
Stream.Position:=0;
|
||||||
|
Result := TLHelpResponse(Stream.ReadDWord);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
if Assigned(FProcessWhileWaiting) then FProcessWhileWaiting();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TLHelpConnection.SendMessage(Stream: TStream): TLHelpResponse;
|
||||||
|
begin
|
||||||
|
fServerOut.SendMessage(mtUnknown, Stream);
|
||||||
|
Result := WaitForMsgResponse;
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TLHelpConnection.Create;
|
constructor TLHelpConnection.Create;
|
||||||
begin
|
begin
|
||||||
fClient := TSimpleIPCClient.Create(nil);
|
fServerOut := TSimpleIPCClient.Create(nil);
|
||||||
|
fServerIn := TSimpleIPCServer.Create(nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TLHelpConnection.Destroy;
|
destructor TLHelpConnection.Destroy;
|
||||||
begin
|
begin
|
||||||
if fCLient.Active then fClient.Active:=False;
|
if fServerOut.Active then
|
||||||
fClient.Free;
|
fServerOut.Active:=False;
|
||||||
|
if fServerIn.Active then
|
||||||
|
fServerIn.Active:=False;
|
||||||
|
fServerOut.Free;
|
||||||
|
fServerIn.Free;
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TLHelpConnection.ServerRunning: Boolean;
|
||||||
|
begin
|
||||||
|
Result := (fServerOut<>nil) and (fServerOut.Active);
|
||||||
|
end;
|
||||||
|
|
||||||
function TLHelpConnection.StartHelpServer(NameForServer: String;
|
function TLHelpConnection.StartHelpServer(NameForServer: String;
|
||||||
ServerEXE: String): Boolean;
|
ServerEXE: String): Boolean;
|
||||||
var
|
var
|
||||||
X: Integer;
|
X: Integer;
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
fClient.Active := False;
|
|
||||||
fClient.ServerID := NameForServer;
|
fServerIn.Active := False;
|
||||||
if not fClient.ServerRunning then begin
|
fServerIn.ServerID := NameForServer+'client';
|
||||||
|
fServerIn.Global := True;
|
||||||
|
fServerIn.Active := True;
|
||||||
|
|
||||||
|
fServerOut.Active := False;
|
||||||
|
fServerOut.ServerID := NameForServer;
|
||||||
|
if not fServerOut.ServerRunning then begin
|
||||||
with TProcessUTF8.Create(nil) do begin
|
with TProcessUTF8.Create(nil) do begin
|
||||||
CommandLine := ServerExe + ' --ipcname ' + NameForServer;
|
CommandLine := ServerExe + ' --ipcname ' + NameForServer;
|
||||||
Execute;
|
Execute;
|
||||||
end;
|
end;
|
||||||
// give the server some time to get started
|
// give the server some time to get started
|
||||||
for X := 0 to 40 do begin
|
for X := 0 to 40 do begin
|
||||||
if not fClient.ServerRunning then Sleep(200);
|
if not fServerOut.ServerRunning then Sleep(200);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
if fClient.ServerRunning then begin
|
if fServerOut.ServerRunning then begin
|
||||||
fClient.Active := True;
|
fServerOut.Active := True;
|
||||||
Result := True;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLHelpConnection.OpenURL(HelpFileName: String; Url: String);
|
function TLHelpConnection.OpenURL(HelpFileName: String; Url: String): TLHelpResponse;
|
||||||
var
|
var
|
||||||
UrlRequest: TUrlRequest;
|
UrlRequest: TUrlRequest;
|
||||||
Stream: TMemoryStream;
|
Stream: TMemoryStream;
|
||||||
@ -90,12 +144,15 @@ begin
|
|||||||
UrlRequest.FileRequest.RequestType := rtURL;
|
UrlRequest.FileRequest.RequestType := rtURL;
|
||||||
UrlRequest.Url := Url+#0;
|
UrlRequest.Url := Url+#0;
|
||||||
Stream.Write(UrlRequest,SizeOf(UrlRequest));
|
Stream.Write(UrlRequest,SizeOf(UrlRequest));
|
||||||
fClient.SendMessage(mtUnknown, Stream);
|
Result := SendMessage(Stream);
|
||||||
|
|
||||||
// Do I need to free the stream?? the example doesn't
|
// Do I need to free the stream?? the example doesn't
|
||||||
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLHelpConnection.OpenContext(HelpFileName: String;
|
function TLHelpConnection.OpenContext(HelpFileName: String;
|
||||||
Context: THelpContext);
|
Context: THelpContext) : TLHelpResponse;
|
||||||
var
|
var
|
||||||
ContextRequest: TContextRequest;
|
ContextRequest: TContextRequest;
|
||||||
Stream: TMemoryStream;
|
Stream: TMemoryStream;
|
||||||
@ -105,11 +162,11 @@ begin
|
|||||||
ContextRequest.FileRequest.RequestType := rtContext;
|
ContextRequest.FileRequest.RequestType := rtContext;
|
||||||
ContextRequest.HelpContext := Context;
|
ContextRequest.HelpContext := Context;
|
||||||
Stream.Write(ContextRequest, SizeOf(ContextRequest));
|
Stream.Write(ContextRequest, SizeOf(ContextRequest));
|
||||||
fClient.SendMessage(mtUnknown, Stream);
|
Result := SendMessage(Stream);
|
||||||
// Do I need to free the stream?? the example doesn't
|
// Do I need to free the stream?? the example doesn't
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLHelpConnection.OpenFile(HelpFileName: String);
|
function TLHelpConnection.OpenFile(HelpFileName: String): TLHelpResponse;
|
||||||
var
|
var
|
||||||
FileRequest : TFileRequest;
|
FileRequest : TFileRequest;
|
||||||
Stream: TMemoryStream;
|
Stream: TMemoryStream;
|
||||||
@ -118,7 +175,7 @@ begin
|
|||||||
FileRequest.RequestType := rtFile;
|
FileRequest.RequestType := rtFile;
|
||||||
FileRequest.FileName := HelpFileName+#0;
|
FileRequest.FileName := HelpFileName+#0;
|
||||||
Stream.Write(FileRequest, SizeOf(FileRequest));
|
Stream.Write(FileRequest, SizeOf(FileRequest));
|
||||||
fClient.SendMessage(mtUnknown, Stream);
|
Result := SendMessage(Stream);
|
||||||
// Do I need to free the stream?? the example doesn't
|
// Do I need to free the stream?? the example doesn't
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<CONFIG>
|
<CONFIG>
|
||||||
<Package Version="2">
|
<Package Version="3">
|
||||||
<Name Value="ChmHelpPkg"/>
|
<Name Value="ChmHelpPkg"/>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="5"/>
|
<Version Value="8"/>
|
||||||
<SearchPaths>
|
<SearchPaths>
|
||||||
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
|
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
|
||||||
</SearchPaths>
|
</SearchPaths>
|
||||||
<CodeGeneration>
|
|
||||||
<Generate Value="Faster"/>
|
|
||||||
</CodeGeneration>
|
|
||||||
<Other>
|
<Other>
|
||||||
<CompilerPath Value="$(CompPath)"/>
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
</Other>
|
</Other>
|
||||||
@ -23,20 +20,23 @@
|
|||||||
</Item1>
|
</Item1>
|
||||||
</Files>
|
</Files>
|
||||||
<Type Value="DesignTime"/>
|
<Type Value="DesignTime"/>
|
||||||
<RequiredPkgs Count="4">
|
<RequiredPkgs Count="5">
|
||||||
<Item1>
|
<Item1>
|
||||||
<PackageName Value="CodeTools"/>
|
<PackageName Value="LCL"/>
|
||||||
</Item1>
|
</Item1>
|
||||||
<Item2>
|
<Item2>
|
||||||
<PackageName Value="lhelpcontrolpkg"/>
|
<PackageName Value="CodeTools"/>
|
||||||
</Item2>
|
</Item2>
|
||||||
<Item3>
|
<Item3>
|
||||||
<PackageName Value="IDEIntf"/>
|
<PackageName Value="lhelpcontrolpkg"/>
|
||||||
</Item3>
|
</Item3>
|
||||||
<Item4>
|
<Item4>
|
||||||
|
<PackageName Value="IDEIntf"/>
|
||||||
|
</Item4>
|
||||||
|
<Item5>
|
||||||
<PackageName Value="FCL"/>
|
<PackageName Value="FCL"/>
|
||||||
<MinVersion Major="1" Valid="True"/>
|
<MinVersion Major="1" Valid="True"/>
|
||||||
</Item4>
|
</Item5>
|
||||||
</RequiredPkgs>
|
</RequiredPkgs>
|
||||||
<UsageOptions>
|
<UsageOptions>
|
||||||
<UnitPath Value="$(PkgOutDir)/"/>
|
<UnitPath Value="$(PkgOutDir)/"/>
|
||||||
|
@ -24,7 +24,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, LazHelpIntf, HelpIntfs, LazConfigStorage,
|
Classes, SysUtils, FileUtil, LazHelpIntf, HelpIntfs, LazConfigStorage,
|
||||||
PropEdits, LHelpControl;
|
PropEdits, LHelpControl, Controls;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -36,10 +36,13 @@ type
|
|||||||
fHelpLabel: String;
|
fHelpLabel: String;
|
||||||
fHelpConnection: TLHelpConnection;
|
fHelpConnection: TLHelpConnection;
|
||||||
fChmsFilePath: String;
|
fChmsFilePath: String;
|
||||||
|
function GetHelpEXE: String;
|
||||||
protected
|
protected
|
||||||
function GetFileNameAndURL(RawUrl: String; out FileName: String; out URL: String): Boolean;
|
function GetFileNameAndURL(RawUrl: String; out FileName: String; out URL: String): Boolean;
|
||||||
procedure SetHelpEXE(AValue: String);
|
procedure SetHelpEXE(AValue: String);
|
||||||
procedure SetHelpLabel(AValue: String);
|
procedure SetHelpLabel(AValue: String);
|
||||||
|
function CheckBuildLHelp: Integer; // modal result
|
||||||
|
function GetLazBuildEXE(out ALazBuild: String): Boolean;
|
||||||
public
|
public
|
||||||
constructor Create(TheOwner: TComponent); override;
|
constructor Create(TheOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -53,7 +56,7 @@ type
|
|||||||
procedure Save(Storage: TConfigStorage); override;
|
procedure Save(Storage: TConfigStorage); override;
|
||||||
function GetLocalizedName: string; override;
|
function GetLocalizedName: string; override;
|
||||||
published
|
published
|
||||||
property HelpEXE: String read fHelpEXE write SetHelpEXE;
|
property HelpEXE: String read GetHelpEXE write SetHelpEXE;
|
||||||
property HelpLabel: String read fHelpLabel write SetHelpLabel;
|
property HelpLabel: String read fHelpLabel write SetHelpLabel;
|
||||||
property HelpFilesPath: String read fChmsFilePath write fChmsFilePath;
|
property HelpFilesPath: String read fChmsFilePath write fChmsFilePath;
|
||||||
|
|
||||||
@ -62,9 +65,18 @@ type
|
|||||||
procedure Register;
|
procedure Register;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
uses Process, MacroIntf, InterfaceBase, Forms, Dialogs, HelpFPDoc;
|
||||||
|
|
||||||
{ TChmHelpViewer }
|
{ TChmHelpViewer }
|
||||||
|
|
||||||
|
function TChmHelpViewer.GetHelpEXE: String;
|
||||||
|
begin
|
||||||
|
if fHelpExe <> '' then
|
||||||
|
Exit(fHelpExe);
|
||||||
|
Result := '$(LazarusDir)/components/chmhelp/lhelp/lhelp$(ExeExt)';
|
||||||
|
if not IDEMacros.SubstituteMacros(Result) then
|
||||||
|
Exit('');
|
||||||
|
end;
|
||||||
|
|
||||||
function TChmHelpViewer.GetFileNameAndURL(RawUrl:String; out FileName: String; out URL: String
|
function TChmHelpViewer.GetFileNameAndURL(RawUrl:String; out FileName: String; out URL: String
|
||||||
): Boolean;
|
): Boolean;
|
||||||
@ -90,11 +102,82 @@ begin
|
|||||||
fHelpLabel := AValue;
|
fHelpLabel := AValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TChmHelpViewer.CheckBuildLHelp: Integer;
|
||||||
|
var
|
||||||
|
Proc: TProcess;
|
||||||
|
Lazbuild: String;
|
||||||
|
LHelpProject: String;
|
||||||
|
WS: String;
|
||||||
|
begin
|
||||||
|
Result := mrCancel;
|
||||||
|
|
||||||
|
if FileExistsUTF8(HelpExe) = True then
|
||||||
|
Exit(mrOK);
|
||||||
|
|
||||||
|
if not GetLazBuildEXE(Lazbuild) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
LHelpProject := '$(LazarusDir)/components/chmhelp/lhelp/lhelp.lpi';
|
||||||
|
|
||||||
|
if not (IDEMacros.SubstituteMacros(LHelpProject)
|
||||||
|
and FileExistsUTF8(LHelpProject))
|
||||||
|
then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
WS := ' --ws='+LCLPlatformDirNames[WidgetSet.LCLPlatform]+' ';
|
||||||
|
|
||||||
|
Result := MessageDlg('The help viewer is not compiled yet. Try to compile it now?', mtConfirmation, mbYesNo ,0);
|
||||||
|
if Result <> mrYes then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
Proc := TProcess.Create(nil);
|
||||||
|
Proc.CommandLine := Lazbuild + WS + LHelpProject;
|
||||||
|
Proc.Options := [];
|
||||||
|
Proc.Execute;
|
||||||
|
|
||||||
|
while Proc.Running do begin
|
||||||
|
Application.HandleMessage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Proc.ExitStatus = 0 then
|
||||||
|
Result := mrOK;
|
||||||
|
Proc.Free;
|
||||||
|
|
||||||
|
if Result = mrOK then
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TChmHelpViewer.GetLazBuildEXE(out ALazBuild: String): Boolean;
|
||||||
|
var
|
||||||
|
LazBuildMacro: String;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
LazBuildMacro:= '$(LazarusDir)/$MakeExe(lazbuild)';
|
||||||
|
Result := IDEMacros.SubstituteMacros(LazBuildMacro)
|
||||||
|
and FileExistsUTF8(LazBuildMacro);
|
||||||
|
if Result then
|
||||||
|
ALazBuild := LazBuildMacro;
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TChmHelpViewer.Create(TheOwner: TComponent);
|
constructor TChmHelpViewer.Create(TheOwner: TComponent);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
DB: TFPDocHTMLHelpDatabase;
|
||||||
|
BaseURL: THelpBaseURLObject;
|
||||||
begin
|
begin
|
||||||
inherited Create(TheOwner);
|
inherited Create(TheOwner);
|
||||||
fHelpConnection := TLHelpConnection.Create;
|
fHelpConnection := TLHelpConnection.Create;
|
||||||
|
fHelpConnection.ProcessWhileWaiting:=@Application.ProcessMessages;
|
||||||
AddSupportedMimeType('text/html');
|
AddSupportedMimeType('text/html');
|
||||||
|
for i := 0 to HelpDatabases.Count-1 do begin
|
||||||
|
DB := TFPDocHTMLHelpDatabase(HelpDatabases.Items[i]);
|
||||||
|
BaseURL := THelpBaseURLObject(DB.BasePathObject);
|
||||||
|
if (DB.ID = 'RTLUnits') and (BaseURL.BaseURL = '') then
|
||||||
|
BaseURL.BaseURL := 'rtl.chm://'
|
||||||
|
else if (DB.ID = 'FCLUnits') and (BaseURL.BaseURL = '') then
|
||||||
|
BaseURL.BaseURL := 'fcl.chm://'
|
||||||
|
else if (DB.ID = 'LCLUnits') and (BaseURL.BaseURL = '') then
|
||||||
|
BaseURL.BaseURL := 'lcl.chm://';
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TChmHelpViewer.Destroy;
|
destructor TChmHelpViewer.Destroy;
|
||||||
@ -118,20 +201,52 @@ function TChmHelpViewer.ShowNode(Node: THelpNode; var ErrMsg: string
|
|||||||
var
|
var
|
||||||
FileName: String;
|
FileName: String;
|
||||||
Url: String;
|
Url: String;
|
||||||
|
Res: TLHelpResponse;
|
||||||
|
DocsDir: String;
|
||||||
begin
|
begin
|
||||||
Result:=shrNone;
|
Result:=shrNone;
|
||||||
if not FileExistsUTF8(fHelpEXE) then begin
|
if CheckBuildLHelp <> mrOK then begin
|
||||||
ErrMsg := 'The program "' + fHelpEXE + '" doesn''t seem to exist!';
|
ErrMsg := 'The program "' + HelpEXE + '" doesn''t seem to exist'+LineEnding+
|
||||||
|
'or could not be built!';
|
||||||
Exit(shrViewerNotFound);
|
Exit(shrViewerNotFound);
|
||||||
end;
|
end;
|
||||||
if not GetFileNameAndURL(Node.Url, FileName, Url) then begin
|
if not GetFileNameAndURL(Node.Url, FileName, Url) then begin
|
||||||
ErrMsg := 'Couldn''t read the file/URL correctly';
|
ErrMsg := 'Couldn''t read the file/URL correctly';
|
||||||
Exit(shrDatabaseNotFound);
|
Exit(shrDatabaseNotFound);
|
||||||
end;
|
end;
|
||||||
FileName := fChmsFilePath+FileName;
|
|
||||||
fHelpConnection.StartHelpServer(fHelpLabel, fHelpExe);
|
if HelpFilesPath = '' then
|
||||||
fHelpConnection.OpenURL(FileName, Url);
|
begin
|
||||||
Result := shrSuccess;
|
DocsDir := '$(LazarusDir)/docs/html/';
|
||||||
|
IDEMacros.SubstituteMacros(DocsDir);
|
||||||
|
if not FileExistsUTF8(DocsDir+FileName) then
|
||||||
|
begin
|
||||||
|
Result := shrDatabaseNotFound;
|
||||||
|
ErrMsg := FileName +' not found. Please put the chm help files in '+ LineEnding
|
||||||
|
+DocsDir+ LineEnding
|
||||||
|
+' or set the path to lcl.chm rtl.chm fcl.chm with "HelpFilesPath" in '
|
||||||
|
+' Environment Options -> Help -> Help Options ->'+LineEnding
|
||||||
|
+' under HelpViewers - CHMHelpViewer';
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end
|
||||||
|
else
|
||||||
|
DocsDir := fChmsFilePath;
|
||||||
|
|
||||||
|
FileName := DocsDir+FileName;
|
||||||
|
|
||||||
|
fHelpConnection.StartHelpServer(fHelpLabel, HelpExe);
|
||||||
|
Res := fHelpConnection.OpenURL(FileName, Url);
|
||||||
|
|
||||||
|
case Res of
|
||||||
|
srSuccess: Result := shrSuccess;
|
||||||
|
srNoAnswer: Result := shrSuccess;
|
||||||
|
else
|
||||||
|
Result := shrNone;
|
||||||
|
ErrMsg := 'Unknown error showing '+URL;
|
||||||
|
end;
|
||||||
|
|
||||||
//WriteLn('LOADING URL = ', Node.URL);
|
//WriteLn('LOADING URL = ', Node.URL);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user