fpspreadsheet: property DisplayFixedColRow of fpSpreadsheetGrid renamed to ShowHeaders. Respects the value read from the xls file.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3004 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2014-05-03 21:27:31 +00:00
parent e3446c2964
commit 211fdb666f
5 changed files with 481 additions and 457 deletions

View File

@ -117,7 +117,7 @@
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="10" Y="7"/> <CursorPos X="10" Y="7"/>
<UsageCount Value="127"/> <UsageCount Value="128"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
@ -127,11 +127,12 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="mainform"/> <UnitName Value="mainform"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="125"/> <TopLine Value="69"/>
<CursorPos X="18" Y="134"/> <CursorPos X="51" Y="85"/>
<UsageCount Value="127"/> <UsageCount Value="128"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
@ -140,19 +141,18 @@
<UnitName Value="fpspreadsheet"/> <UnitName Value="fpspreadsheet"/>
<EditorIndex Value="8"/> <EditorIndex Value="8"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="805"/> <TopLine Value="378"/>
<CursorPos X="56" Y="808"/> <CursorPos X="64" Y="392"/>
<UsageCount Value="61"/> <UsageCount Value="61"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<UnitName Value="fpspreadsheetgrid"/> <UnitName Value="fpspreadsheetgrid"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="3"/> <EditorIndex Value="3"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="793"/> <TopLine Value="37"/>
<CursorPos X="1" Y="808"/> <CursorPos X="28" Y="68"/>
<UsageCount Value="62"/> <UsageCount Value="62"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit3> </Unit3>
@ -374,123 +374,123 @@
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="315" Column="1" TopLine="295"/> <Caret Line="58" Column="20" TopLine="58"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="319" Column="1" TopLine="295"/> <Caret Line="1" Column="1" TopLine="1"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="324" Column="1" TopLine="297"/> <Caret Line="290" Column="24" TopLine="263"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="325" Column="1" TopLine="298"/> <Caret Line="331" Column="29" TopLine="304"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="326" Column="1" TopLine="299"/> <Caret Line="450" Column="36" TopLine="423"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="327" Column="1" TopLine="300"/> <Caret Line="496" Column="24" TopLine="468"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="328" Column="1" TopLine="301"/> <Caret Line="651" Column="49" TopLine="624"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="330" Column="1" TopLine="304"/> <Caret Line="710" Column="15" TopLine="681"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="331" Column="1" TopLine="305"/> <Caret Line="720" Column="29" TopLine="693"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="337" Column="1" TopLine="321"/> <Caret Line="800" Column="50" TopLine="800"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="338" Column="1" TopLine="321"/> <Caret Line="1" Column="1" TopLine="1"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="341" Column="1" TopLine="321"/> <Caret Line="441" Column="19" TopLine="415"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="348" Column="1" TopLine="328"/> <Caret Line="776" Column="16" TopLine="749"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="312" Column="1" TopLine="307"/> <Caret Line="780" Column="16" TopLine="753"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="790" Column="19" TopLine="792"/> <Caret Line="789" Column="14" TopLine="762"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="806" Column="1" TopLine="793"/> <Caret Line="803" Column="14" TopLine="777"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="..\..\fpspreadsheetgrid.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="807" Column="1" TopLine="793"/> <Caret Line="318" Column="17" TopLine="302"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="..\..\xlsbiff2.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="540" Column="44" TopLine="540"/> <Caret Line="499" Column="19" TopLine="484"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="..\..\xlsbiff2.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="776" Column="16" TopLine="749"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="..\..\xlsbiff2.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="62" Column="26" TopLine="35"/> <Caret Line="780" Column="16" TopLine="753"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="..\..\xlsbiff2.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="397" Column="41" TopLine="397"/> <Caret Line="789" Column="14" TopLine="762"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="..\..\xlsbiff2.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="836" Column="7" TopLine="832"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="..\..\xlsbiff2.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="62" Column="26" TopLine="35"/> <Caret Line="837" Column="43" TopLine="832"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="..\..\xlsbiff2.pas"/> <Filename Value="mainform.pas"/>
<Caret Line="423" Column="41" TopLine="397"/> <Caret Line="140" Column="18" TopLine="131"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="..\..\xlsbiff8.pas"/> <Filename Value="mainform.pas"/>
<Caret Line="72" Column="68" TopLine="72"/> <Caret Line="104" Column="17" TopLine="77"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="..\..\xlsbiff8.pas"/> <Filename Value="mainform.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="139" Column="16" TopLine="129"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="..\..\xlscommon.pas"/> <Filename Value="mainform.pas"/>
<Caret Line="859" Column="51" TopLine="859"/> <Caret Line="80" Column="30" TopLine="78"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="..\..\xlscommon.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="1" Column="1" TopLine="1"/> <Caret Line="65" Column="14" TopLine="40"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="..\..\xlscommon.pas"/> <Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="374" Column="26" TopLine="349"/> <Caret Line="858" Column="24" TopLine="845"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="..\..\xlsbiff2.pas"/> <Filename Value="mainform.pas"/>
<Caret Line="409" Column="3" TopLine="403"/> <Caret Line="85" Column="19" TopLine="69"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>

View File

@ -1,11 +1,11 @@
object Form1: TForm1 object Form1: TForm1
Left = 370 Left = 370
Height = 339 Height = 379
Top = 258 Top = 258
Width = 400 Width = 518
Caption = 'fpsGrid' Caption = 'fpsGrid'
ClientHeight = 319 ClientHeight = 359
ClientWidth = 400 ClientWidth = 518
Menu = MainMenu1 Menu = MainMenu1
OnActivate = FormActivate OnActivate = FormActivate
ShowHint = True ShowHint = True
@ -13,51 +13,51 @@ object Form1: TForm1
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Height = 55 Height = 55
Top = 264 Top = 304
Width = 400 Width = 518
Align = alBottom Align = alBottom
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 55 ClientHeight = 55
ClientWidth = 400 ClientWidth = 518
TabOrder = 0 TabOrder = 0
object btnPopulateGrid: TButton object btnPopulateGrid: TButton
Left = 280 Left = 400
Height = 25 Height = 25
Top = 8 Top = 13
Width = 112 Width = 112
Caption = 'Populate Grid' Caption = 'Populate Grid'
OnClick = btnPopulateGridClick OnClick = btnPopulateGridClick
TabOrder = 0 TabOrder = 0
Visible = False Visible = False
end end
object CbDisplayFixedColRow: TCheckBox object CbShowHeaders: TCheckBox
Left = 8 Left = 8
Height = 19 Height = 19
Top = 8 Top = 8
Width = 130 Width = 93
Caption = 'Display fixed col/row' Caption = 'Show headers'
Checked = True Checked = True
OnClick = CbDisplayFixedColRowClick OnClick = CbShowHeadersClick
State = cbChecked State = cbChecked
TabOrder = 1 TabOrder = 1
end end
object CbDisplayGrid: TCheckBox object CbShowGridLines: TCheckBox
Left = 8 Left = 8
Height = 19 Height = 19
Top = 29 Top = 29
Width = 82 Width = 100
Caption = 'Display grid' Caption = 'Show grid lines'
Checked = True Checked = True
OnClick = CbDisplayGridClick OnClick = CbShowGridLinesClick
State = cbChecked State = cbChecked
TabOrder = 2 TabOrder = 2
end end
end end
object PageControl1: TPageControl object PageControl1: TPageControl
Left = 0 Left = 0
Height = 238 Height = 278
Top = 26 Top = 26
Width = 400 Width = 518
ActivePage = TabSheet1 ActivePage = TabSheet1
Align = alClient Align = alClient
TabIndex = 0 TabIndex = 0
@ -65,13 +65,13 @@ object Form1: TForm1
OnChange = PageControl1Change OnChange = PageControl1Change
object TabSheet1: TTabSheet object TabSheet1: TTabSheet
Caption = 'Sheet1' Caption = 'Sheet1'
ClientHeight = 210 ClientHeight = 250
ClientWidth = 392 ClientWidth = 510
object sWorksheetGrid1: TsWorksheetGrid object sWorksheetGrid1: TsWorksheetGrid
Left = 0 Left = 0
Height = 210 Height = 250
Top = 0 Top = 0
Width = 392 Width = 510
Align = alClient Align = alClient
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSizing, goColSizing, goThumbTracking, goSmoothScroll] Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSizing, goColSizing, goThumbTracking, goSmoothScroll]
TabOrder = 0 TabOrder = 0
@ -83,7 +83,7 @@ object Form1: TForm1
Left = 0 Left = 0
Height = 26 Height = 26
Top = 0 Top = 0
Width = 400 Width = 518
ButtonHeight = 24 ButtonHeight = 24
Caption = 'ToolBar1' Caption = 'ToolBar1'
EdgeBorders = [] EdgeBorders = []

View File

@ -1,348 +1,348 @@
{ This is an automatically generated lazarus resource file } { This is an automatically generated lazarus resource file }
LazarusResources.Add('TForm1','FORMDATA',[ LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'r'#1#6'Height'#3'S'#1#3'Top'#3#2#1#5'Widt' 'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'r'#1#6'Height'#3'{'#1#3'Top'#3#2#1#5'Widt'
+'h'#3#144#1#7'Caption'#6#7'fpsGrid'#12'ClientHeight'#3'?'#1#11'ClientWidth'#3 +'h'#3#6#2#7'Caption'#6#7'fpsGrid'#12'ClientHeight'#3'g'#1#11'ClientWidth'#3#6
+#144#1#4'Menu'#7#9'MainMenu1'#10'OnActivate'#7#12'FormActivate'#8'ShowHint'#9 +#2#4'Menu'#7#9'MainMenu1'#10'OnActivate'#7#12'FormActivate'#8'ShowHint'#9#10
+#10'LCLVersion'#6#3'1.3'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'7'#3 +'LCLVersion'#6#3'1.3'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'7'#3'Top'
+'Top'#3#8#1#5'Width'#3#144#1#5'Align'#7#8'alBottom'#10'BevelOuter'#7#6'bvNon' +#3'0'#1#5'Width'#3#6#2#5'Align'#7#8'alBottom'#10'BevelOuter'#7#6'bvNone'#12
+'e'#12'ClientHeight'#2'7'#11'ClientWidth'#3#144#1#8'TabOrder'#2#0#0#7'TButto' +'ClientHeight'#2'7'#11'ClientWidth'#3#6#2#8'TabOrder'#2#0#0#7'TButton'#15'bt'
+'n'#15'btnPopulateGrid'#4'Left'#3#24#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2 +'nPopulateGrid'#4'Left'#3#144#1#6'Height'#2#25#3'Top'#2#13#5'Width'#2'p'#7'C'
+'p'#7'Caption'#6#13'Populate Grid'#7'OnClick'#7#20'btnPopulateGridClick'#8'T' +'aption'#6#13'Populate Grid'#7'OnClick'#7#20'btnPopulateGridClick'#8'TabOrde'
+'abOrder'#2#0#7'Visible'#8#0#0#9'TCheckBox'#20'CbDisplayFixedColRow'#4'Left' +'r'#2#0#7'Visible'#8#0#0#9'TCheckBox'#13'CbShowHeaders'#4'Left'#2#8#6'Height'
+#2#8#6'Height'#2#19#3'Top'#2#8#5'Width'#3#130#0#7'Caption'#6#21'Display fixe' +#2#19#3'Top'#2#8#5'Width'#2']'#7'Caption'#6#12'Show headers'#7'Checked'#9#7
+'d col/row'#7'Checked'#9#7'OnClick'#7#25'CbDisplayFixedColRowClick'#5'State' +'OnClick'#7#18'CbShowHeadersClick'#5'State'#7#9'cbChecked'#8'TabOrder'#2#1#0
+#7#9'cbChecked'#8'TabOrder'#2#1#0#0#9'TCheckBox'#13'CbDisplayGrid'#4'Left'#2 +#0#9'TCheckBox'#15'CbShowGridLines'#4'Left'#2#8#6'Height'#2#19#3'Top'#2#29#5
+#8#6'Height'#2#19#3'Top'#2#29#5'Width'#2'R'#7'Caption'#6#12'Display grid'#7 +'Width'#2'd'#7'Caption'#6#15'Show grid lines'#7'Checked'#9#7'OnClick'#7#20'C'
+'Checked'#9#7'OnClick'#7#18'CbDisplayGridClick'#5'State'#7#9'cbChecked'#8'Ta' +'bShowGridLinesClick'#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#0#12'TPage'
+'bOrder'#2#2#0#0#0#12'TPageControl'#12'PageControl1'#4'Left'#2#0#6'Height'#3 +'Control'#12'PageControl1'#4'Left'#2#0#6'Height'#3#22#1#3'Top'#2#26#5'Width'
+#238#0#3'Top'#2#26#5'Width'#3#144#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7 +#3#6#2#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8
+#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#8'OnChange'#7#18'PageControl1Ch' +'TabOrder'#2#1#8'OnChange'#7#18'PageControl1Change'#0#9'TTabSheet'#9'TabShee'
+'ange'#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#6'Sheet1'#12'ClientHeight'#3 +'t1'#7'Caption'#6#6'Sheet1'#12'ClientHeight'#3#250#0#11'ClientWidth'#3#254#1
+#210#0#11'ClientWidth'#3#136#1#0#15'TsWorksheetGrid'#15'sWorksheetGrid1'#4'L' +#0#15'TsWorksheetGrid'#15'sWorksheetGrid1'#4'Left'#2#0#6'Height'#3#250#0#3'T'
+'eft'#2#0#6'Height'#3#210#0#3'Top'#2#0#5'Width'#3#136#1#5'Align'#7#8'alClien' +'op'#2#0#5'Width'#3#254#1#5'Align'#7#8'alClient'#7'Options'#11#15'goFixedVer'
+'t'#7'Options'#11#15'goFixedVertLine'#15'goFixedHorzLine'#10'goVertLine'#10 +'tLine'#15'goFixedHorzLine'#10'goVertLine'#10'goHorzLine'#13'goRangeSelect'
+'goHorzLine'#13'goRangeSelect'#11'goRowSizing'#11'goColSizing'#15'goThumbTra' +#11'goRowSizing'#11'goColSizing'#15'goThumbTracking'#14'goSmoothScroll'#0#8
+'cking'#14'goSmoothScroll'#0#8'TabOrder'#2#0#10'TitleStyle'#7#8'tsNative'#0#0 +'TabOrder'#2#0#10'TitleStyle'#7#8'tsNative'#0#0#0#0#8'TToolBar'#8'ToolBar1'#4
+#0#0#8'TToolBar'#8'ToolBar1'#4'Left'#2#0#6'Height'#2#26#3'Top'#2#0#5'Width'#3 +'Left'#2#0#6'Height'#2#26#3'Top'#2#0#5'Width'#3#6#2#12'ButtonHeight'#2#24#7
+#144#1#12'ButtonHeight'#2#24#7'Caption'#6#8'ToolBar1'#11'EdgeBorders'#11#0#6 +'Caption'#6#8'ToolBar1'#11'EdgeBorders'#11#0#6'Images'#7#10'ImageList1'#8'Ta'
+'Images'#7#10'ImageList1'#8'TabOrder'#2#2#0#11'TToolButton'#11'ToolButton1'#4 +'bOrder'#2#2#0#11'TToolButton'#11'ToolButton1'#4'Left'#2#1#3'Top'#2#0#6'Acti'
+'Left'#2#1#3'Top'#2#0#6'Action'#7#6'AcOpen'#0#0#11'TToolButton'#11'ToolButto' +'on'#7#6'AcOpen'#0#0#11'TToolButton'#11'ToolButton2'#4'Left'#2#24#3'Top'#2#0
+'n2'#4'Left'#2#24#3'Top'#2#0#6'Action'#7#8'AcSaveAs'#0#0#11'TToolButton'#11 +#6'Action'#7#8'AcSaveAs'#0#0#11'TToolButton'#11'ToolButton3'#4'Left'#2'4'#3
+'ToolButton3'#4'Left'#2'4'#3'Top'#2#0#6'Action'#7#6'AcQuit'#0#0#11'TToolButt' +'Top'#2#0#6'Action'#7#6'AcQuit'#0#0#11'TToolButton'#11'ToolButton5'#4'Left'#2
+'on'#11'ToolButton5'#4'Left'#2'/'#3'Top'#2#0#5'Width'#2#5#7'Caption'#6#11'To' +'/'#3'Top'#2#0#5'Width'#2#5#7'Caption'#6#11'ToolButton5'#5'Style'#7#10'tbsDi'
+'olButton5'#5'Style'#7#10'tbsDivider'#0#0#0#11'TOpenDialog'#11'OpenDialog1' +'vider'#0#0#0#11'TOpenDialog'#11'OpenDialog1'#10'DefaultExt'#6#4'.xls'#6'Fil'
+#10'DefaultExt'#6#4'.xls'#6'Filter'#6#192'Excel spreadsheet (*.xls)|*.xls|Ex' +'ter'#6#192'Excel spreadsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*'
+'cel XML spreadsheet (*.xlsx)|*.xlxs|LibreOffice/OpenOffice spreadsheet (*.o' +'.xlxs|LibreOffice/OpenOffice spreadsheet (*.ods)|*.ods|Wikitable (pipes) (.'
+'ds)|*.ods|Wikitable (pipes) (.wikitable_pipes)|.wikitable_pipes|All files (' +'wikitable_pipes)|.wikitable_pipes|All files (*.*)|*.*'#7'Options'#11#20'ofE'
+'*.*)|*.*'#7'Options'#11#20'ofExtensionDifferent'#14'ofEnableSizing'#12'ofVi' +'xtensionDifferent'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#2'@'#3'top'
+'ewDetail'#0#4'left'#2'@'#3'top'#3#176#0#0#0#11'TSaveDialog'#11'SaveDialog1' +#3#176#0#0#0#11'TSaveDialog'#11'SaveDialog1'#10'DefaultExt'#6#4'.xls'#6'Filt'
+#10'DefaultExt'#6#4'.xls'#6'Filter'#6#185'Excel spreadsheet (*.xls)|*.xls|Ex' +'er'#6#185'Excel spreadsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*.'
+'cel XML spreadsheet (*.xlsx)|*.xlsx|LibreOffice/OpenOffice spreadsheet (*.o' +'xlsx|LibreOffice/OpenOffice spreadsheet (*.ods)|*.ods|Wikitable (wikimedia)'
+'ds)|*.ods|Wikitable (wikimedia) (.wikitable_wikimedia)|*.wikitable_wikimedi' +' (.wikitable_wikimedia)|*.wikitable_wikimedia'#7'Options'#11#20'ofExtension'
+'a'#7'Options'#11#20'ofExtensionDifferent'#14'ofEnableSizing'#12'ofViewDetai' +'Different'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#176#0#3'top'#3
+'l'#0#4'left'#3#176#0#3'top'#3#176#0#0#0#9'TMainMenu'#9'MainMenu1'#6'Images' +#176#0#0#0#9'TMainMenu'#9'MainMenu1'#6'Images'#7#10'ImageList1'#4'left'#3' '
+#7#10'ImageList1'#4'left'#3' '#1#3'top'#3#176#0#0#9'TMenuItem'#7'mnuFile'#7 +#1#3'top'#3#176#0#0#9'TMenuItem'#7'mnuFile'#7'Caption'#6#5'&File'#0#9'TMenuI'
+'Caption'#6#5'&File'#0#9'TMenuItem'#7'mnuOpen'#6'Action'#7#6'AcOpen'#11'Bitm' +'tem'#7'mnuOpen'#6'Action'#7#6'AcOpen'#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0
+'ap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0 +'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4
+#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0','#134 +#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0','#134#216#0'-'#136#216#247'-'#135#216
+#216#0'-'#136#216#247'-'#135#216#247'-'#136#216#247'-'#136#216#247'-'#136#216
+#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216 +#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216
+#247'-'#135#216#247'-'#136#216#247','#134#216#0#255#255#255#0#255#255#255#0 +#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#135#216#247'-'#136#216
+'3'#142#217#251#220#240#250#255#152#225#246#255#149#224#246#255#146#223#246 +#247','#134#216#0#255#255#255#0#255#255#255#0'3'#142#217#251#220#240#250#255
+#255#142#222#245#255#137#220#245#255#133#218#244#255#128#217#244#255'z'#215 +#152#225#246#255#149#224#246#255#146#223#246#255#142#222#245#255#137#220#245
+#243#255't'#213#243#255'p'#211#242#255#194#234#248#255'5'#148#218#255#255#255 +#255#133#218#244#255#128#217#244#255'z'#215#243#255't'#213#243#255'p'#211#242
+#255#0#255#255#255#0'5'#148#218#247#239#250#254#255#147#229#248#255#143#228 +#255#194#234#248#255'5'#148#218#255#255#255#255#0#255#255#255#0'5'#148#218
+#248#255#137#227#248#255#130#225#247#255'z'#223#247#255'q'#222#246#255'g'#219 +#247#239#250#254#255#147#229#248#255#143#228#248#255#137#227#248#255#130#225
+#245#255'['#216#244#255'M'#212#243#255'@'#209#242#255#202#242#251#255'5'#148 +#247#255'z'#223#247#255'q'#222#246#255'g'#219#245#255'['#216#244#255'M'#212
+#218#255#255#255#255#0#255#255#255#0'6'#154#218#248#242#250#253#255#148#230 +#243#255'@'#209#242#255#202#242#251#255'5'#148#218#255#255#255#255#0#255#255
+#248#255#146#229#248#255#144#229#248#255#139#227#248#255#134#226#247#255#127 +#255#0'6'#154#218#248#242#250#253#255#148#230#248#255#146#229#248#255#144#229
+#225#247#255'w'#222#246#255'l'#220#246#255'^'#217#244#255'O'#213#243#255#204 +#248#255#139#227#248#255#134#226#247#255#127#225#247#255'w'#222#246#255'l'
+#242#251#255'5'#148#218#255#255#255#255#0#255#255#255#0'6'#161#218#249#246 +#220#246#255'^'#217#244#255'O'#213#243#255#204#242#251#255'5'#148#218#255#255
+#252#254#255#148#229#248#255#147#229#248#255#147#229#248#255#145#229#248#255 +#255#255#0#255#255#255#0'6'#161#218#249#246#252#254#255#148#229#248#255#147
+#147#219#233#255#147#215#227#255#147#210#220#255#144#206#215#255#140#200#207 +#229#248#255#147#229#248#255#145#229#248#255#147#219#233#255#147#215#227#255
+#255#134#193#198#255#201#216#214#255'5'#148#218#255#197'tD'#232#202#127'S' +#147#210#220#255#144#206#215#255#140#200#207#255#134#193#198#255#201#216#214
+#241'7'#166#218#250#254#255#255#255#248#253#255#255#246#253#255#255#245#252 +#255'5'#148#218#255#197'tD'#232#202#127'S'#241'7'#166#218#250#254#255#255#255
+#255#255#243#252#254#255#154#228#244#255#154#230#247#255#155#230#246#255#157 +#248#253#255#255#246#253#255#255#245#252#255#255#243#252#254#255#154#228#244
+#229#245#255#158#229#245#255#159#229#244#255#218#243#248#255'5'#148#218#255 +#255#154#230#247#255#155#230#246#255#157#229#245#255#158#229#245#255#159#229
,#253#244#238#255#202#128'T'#249'5'#171#218#250#232#246#251#255'p'#188#231#255 +#244#255#218#243#248#255'5'#148#218#255#253#244#238#255#202#128'T'#249'5'#171
+'U'#170#226#255'M'#165#224#255#145#201#235#255#250#243#239#255#253#254#253 ,#218#250#232#246#251#255'p'#188#231#255'U'#170#226#255'M'#165#224#255#145#201
+#255#255#253#252#255#255#253#252#255#254#253#252#255#254#252#251#255#254#254 +#235#255#250#243#239#255#253#254#253#255#255#253#252#255#255#253#252#255#254
+#253#255'5'#148#218#255#239#242#232#255#206#129'V'#255'6'#170#218#242#241#250 +#253#252#255#254#252#251#255#254#254#253#255'5'#148#218#255#239#242#232#255
+#253#255#148#222#245#255#147#220#244#255'd'#188#233#255'5'#148#218#255'5'#148 +#206#129'V'#255'6'#170#218#242#241#250#253#255#148#222#245#255#147#220#244
+#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148 +#255'd'#188#233#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218
+#218#255'5'#148#218#255'5'#148#218#255#251#246#239#255#204#131'U'#254'5'#175 +#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218
+#218#240#247#252#254#255#142#228#248#255#145#222#245#255#159#224#245#255#172 +#255#251#246#239#255#204#131'U'#254'5'#175#218#240#247#252#254#255#142#228
+#225#246#255#202#132'R'#255#255#247#241#255#255#233#217#255#255#234#219#255 +#248#255#145#222#245#255#159#224#245#255#172#225#246#255#202#132'R'#255#255
+#255#233#217#255#255#231#215#255#255#229#210#255#255#226#203#255#255#247#241 +#247#241#255#255#233#217#255#255#234#219#255#255#233#217#255#255#231#215#255
+#255#203#133'U'#254'6'#179#218#248#253#254#254#255#254#255#255#255#254#254 +#255#229#210#255#255#226#203#255#255#247#241#255#203#133'U'#254'6'#179#218
+#255#255#253#254#255#255#254#255#255#255#228#186#145#255#255#247#240#255#255 +#248#253#254#254#255#254#255#255#255#254#254#255#255#253#254#255#255#254#255
+#231#213#255#253#231#214#255#253#230#212#255#252#228#208#255#251#227#203#255 +#255#255#228#186#145#255#255#247#240#255#255#231#213#255#253#231#214#255#253
+#250#220#194#255#254#243#232#255#204#134'V'#254'4'#180#217#208'^'#194#225#250 +#230#212#255#252#228#208#255#251#227#203#255#250#220#194#255#254#243#232#255
+'`'#195#226#250'`'#195#226#250'`'#195#226#250'_'#195#226#250#228#187#145#255 +#204#134'V'#254'4'#180#217#208'^'#194#225#250'`'#195#226#250'`'#195#226#250
+#255#247#242#255#254#231#213#255#254#231#213#255#253#229#209#255#250#224#202 +'`'#195#226#250'_'#195#226#250#228#187#145#255#255#247#242#255#254#231#213
+#255#249#222#196#255#247#217#188#255#253#242#231#255#204#135'W'#254#255#255 +#255#254#231#213#255#253#229#209#255#250#224#202#255#249#222#196#255#247#217
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#188#255#253#242#231#255#204#135'W'#254#255#255#255#0#255#255#255#0#255#255
+#228#187#146#255#254#247#241#255#252#229#210#255#252#228#209#255#251#226#204 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#228#187#146#255#254#247#241
+#255#249#221#196#255#246#215#187#255#243#209#175#255#250#239#228#255#204#135 +#255#252#229#210#255#252#228#209#255#251#226#204#255#249#221#196#255#246#215
+'X'#254#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#187#255#243#209#175#255#250#239#228#255#204#135'X'#254#255#255#255#0#255#255
+#255#255#255#0#228#187#146#255#254#246#240#255#252#226#205#255#252#227#205 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#228#187#146
+#255#250#223#200#255#247#217#188#255#245#233#221#255#250#243#235#255#251#248 +#255#254#246#240#255#252#226#205#255#252#227#205#255#250#223#200#255#247#217
+#243#255#202#131'S'#254#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 +#188#255#245#233#221#255#250#243#235#255#251#248#243#255#202#131'S'#254#255
+#0#255#255#255#0#255#255#255#0#228#187#147#255#254#245#237#255#252#222#197
+#255#251#224#199#255#249#220#194#255#245#211#180#255#254#249#243#255#250#226
+#196#255#236#193#147#255#195'}H'#147#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#229#190#150#255#255#255#254#255
+#253#243#233#255#253#243#234#255#252#242#232#255#250#239#227#255#250#242#231
+#255#234#187#136#255#207#133'U'#179#180'i='#12#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#234#195#157#255#230
+#191#150#255#228#187#146#255#228#187#146#255#209#160'l'#245#208#158'm'#246
+#204#150'_'#218#196'yB~'#178'g<'#9#255#255#255#0#7'OnClick'#7#13'acOpenExecu'
+'te'#0#0#9'TMenuItem'#9'mnuSaveAs'#6'Action'#7#8'AcSaveAs'#11'Bitmap.Data'#10
+':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0
+' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#186'j6'#0#185'i5'#181
+#184'i5'#238#183'h5'#255#181'h5'#255#180'g4'#255#178'f4'#255#176'e3'#255#174
+'d3'#255#172'c2'#255#170'b2'#255#169'a2'#255#168'`1'#255#167'`1'#254#166'`1'
+#241#168'a1'#196#186'j5'#222#235#198#173#255#234#197#173#255#254#251#248#255
+#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248
+#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#200#154
+'|'#255#199#152'y'#255#167'`1'#237#186'k7'#254#237#202#179#255#224#162'z'#255
+#254#250#247#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255
+'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255#253#249#246#255
+#202#141'e'#255#201#155'|'#255#167'`1'#254#187'l8'#255#238#204#182#255#225
+#162'z'#255#254#250#247#255#191#220#194#255#191#220#194#255#191#220#194#255
+#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194
+#255#253#249#246#255#205#144'h'#255#204#158#129#255#168'a2'#255#187'k8'#255
+#239#206#184#255#225#162'y'#255#254#250#247#255'b'#192#136#255'b'#192#136#255
+'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255
+'b'#192#136#255#253#249#246#255#207#147'j'#255#206#163#132#255#170'a2'#255
+#186'j6'#255#239#208#187#255#226#162'z'#255#254#251#248#255#254#251#248#255
+#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248
+#255#254#251#248#255#254#251#248#255#254#251#248#255#211#150'm'#255#210#167
+#138#255#171'b2'#255#187'j6'#255#240#210#190#255#226#163'z'#255#226#163'z'
+#255#225#163'z'#255#226#163'{'#255#225#163'{'#255#224#161'x'#255#222#159'w'
+#255#221#159'v'#255#220#157't'#255#217#155'r'#255#216#153'q'#255#214#153'p'
+#255#213#171#142#255#173'c3'#255#187'j6'#255#242#213#194#255#227#163'z'#255
+#227#163'z'#255#226#163'{'#255#226#163'{'#255#226#164'{'#255#225#162'y'#255
+#224#161'x'#255#222#160'w'#255#222#158'u'#255#220#157't'#255#218#155's'#255
+#217#155's'#255#218#176#149#255#175'd3'#255#187'j6'#255#242#216#197#255#227
+#164'{'#255#227#163'z'#255#227#164'z'#255#226#164'{'#255#226#163'{'#255#225
+#163'{'#255#225#162'y'#255#223#160'w'#255#222#159'v'#255#221#158't'#255#219
+#156'r'#255#220#157't'#255#221#181#154#255#177'e4'#255#187'k6'#255#244#217
,#199#255#230#166'}'#255#200#140'd'#255#201#141'e'#255#201#142'g'#255#203#146
+'l'#255#203#146'm'#255#202#144'i'#255#200#140'e'#255#200#140'd'#255#200#140
+'d'#255#200#140'd'#255#218#156't'#255#225#186#159#255#179'f4'#255#187'k6'#254
+#244#220#201#255#231#167'}'#255#249#236#225#255#249#236#225#255#249#237#227
+#255#252#244#238#255#253#250#247#255#253#247#243#255#250#237#229#255#247#231
+#219#255#247#229#217#255#246#229#216#255#222#160'w'#255#228#190#164#255#180
+'g4'#255#188'k6'#250#245#221#204#255#231#168'~'#255#250#240#232#255#250#240
+#232#255#201#141'f'#255#250#240#233#255#253#248#243#255#254#250#248#255#252
+#244#239#255#249#233#223#255#247#231#219#255#247#229#217#255#224#162'x'#255
+#231#194#169#255#182'h5'#255#188'k6'#240#246#223#208#255#232#168'~'#255#252
+#246#241#255#252#246#241#255#200#140'd'#255#250#241#233#255#251#244#238#255
+#253#250#247#255#253#249#246#255#250#240#232#255#248#232#221#255#247#230#219
+#255#225#163'z'#255#239#213#195#255#183'i5'#254#188'k6'#216#246#223#209#255
+#233#170#128#255#254#250#246#255#253#250#246#255#200#140'd'#255#251#243#238
+#255#251#241#234#255#252#246#242#255#254#251#248#255#252#246#241#255#249#236
+#226#255#248#231#219#255#238#208#186#255#236#208#189#255#187'p>'#248#188'k6'
+#155#246#224#209#255#247#224#209#255#254#251#248#255#254#251#247#255#253#249
+#246#255#252#245#240#255#250#240#234#255#251#242#237#255#253#249#246#255#253
+#250#247#255#251#241#235#255#248#233#223#254#236#208#189#251#201#137'^'#236
+#181'i5c'#188'k6q'#188'k6'#144#188'k6'#204#188'k6'#238#188'k6'#250#187'k6'
+#254#187'k6'#255#187'j6'#255#187'j6'#255#188'l9'#255#189'n;'#255#187'm:'#255
+#187'k8'#239#187'p>'#203#182'i5T'#255#255#255#0#7'OnClick'#7#15'acSaveAsExec'
+'ute'#0#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#7'mnu'
+'Quit'#6'Action'#7#6'AcQuit'#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0
+#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0
+#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#29'c'#155#22#25'`'#152'9'#20']'#149'b'#16'Z'#146#136#13'X'#144#164#19'\'#146
+#252#12'W'#143#237#153#153#153#255'qqq'#255'TTT'#255'QQQ'#255'OOO'#255'LLL'
+#255'JJJ'#255'GGG'#255'EEE'#255'%g'#157#255'2t'#168#255'=|'#175#255'G'#132
+#181#255'N'#138#186#255'>~'#173#255#12'W'#143#234#255#255#255#0#255#255#255#0
+'XXX'#255#162#162#162#255#162#162#162#255#163#163#163#255#164#164#164#255#164
+#164#164#255#165#165#165#255'/o'#165#255'x'#171#210#255'x'#171#211#255's'#167
+#209#255'i'#160#205#255'@'#127#174#255#15'Y'#145#234#255#255#255#0#255#255
+#255#0'\\\'#255#161#161#161#255'<s@'#255#160#161#161#255#163#163#163#255#163
+#163#163#255#164#164#164#255'6t'#170#255'}'#175#212#255'['#154#201#255'T'#149
+#199#255'X'#150#200#255'A'#128#174#255#19'\'#148#234#255#255#255#0#255#255
+#255#0'```'#255#160#160#160#255'=vA'#255'6q9'#255#162#162#162#255#162#162#162
+#255#163#163#163#255'=y'#176#255#130#179#215#255'b'#159#204#255'Z'#154#201
+#255'^'#155#202#255'C'#129#175#255#25'`'#152#234'7'#130'>'#255'4~;'#255'1y7'
+#255'.u4'#255'I'#145'P'#255'F'#143'L'#255'9s='#255#161#161#161#255#162#162
+#162#255'E~'#180#255#136#183#217#255'g'#163#207#255'a'#158#204#255'c'#159#204
+#255'E'#131#177#255#31'd'#156#234';'#135'B'#255#137#203#146#255#132#200#141
+#255#128#198#136#255'{'#195#131#255'w'#193#127#255'G'#143'M'#255';t?'#255#161
+#161#161#255'L'#132#186#255#141#187#219#255'n'#168#209#255'f'#166#209#255'_'
+#180#223#255'G'#133#177#255'%i'#161#234'>'#139'F'#255#143#206#153#255'}'#198
+#135#255'x'#195#129#255's'#192'|'#255't'#192'|'#255'y'#194#129#255'I'#144'O'
+#255'T'#127'W'#255'T'#137#191#255#148#191#221#255'u'#173#212#255'c'#184#225
+#255'K'#212#255#255'B'#139#184#255',n'#166#234'A'#144'J'#255#148#210#159#255
+#145#208#154#255#141#205#150#255#137#203#146#255#132#200#141#255'Q'#152'X'
+#255'A|F'#255#159#159#159#255'Z'#142#196#255#152#195#224#255'|'#179#215#255
+'t'#175#214#255'^'#196#237#255'K'#136#179#255'4s'#171#234'D'#148'M'#255'B'
+#145'K'#255'?'#141'H'#255'='#137'E'#255']'#164'e'#255'Z'#160'a'#255'E'#131'K'
+#255#158#158#158#255#158#158#158#255'`'#146#201#255#158#199#226#255#131#184
+#218#255'}'#180#215#255'~'#179#215#255'O'#137#180#255';y'#177#234#255#255#255
+#0#255#255#255#0'www'#255#154#154#154#255'='#138'E'#255'I'#138'O'#255#156#156
+#156#255#157#157#157#255#157#157#157#255'f'#150#204#255#162#203#227#255#137
+#189#220#255#131#185#218#255#132#185#218#255'Q'#139#181#255'C~'#182#234#255
+#255#255#0#255#255#255#0'zzz'#255#153#153#153#255'R'#145'Y'#255#153#154#153
+#255#155#155#155#255#156#156#156#255#156#156#156#255'l'#154#208#255#167#206
+#229#255#143#193#223#255#137#189#220#255#139#189#220#255'S'#141#182#255'K'
+#132#188#234#255#255#255#0#255#255#255#0'}}}'#255#153#153#153#255#153#153#153
+#255#154#154#154#255#154#154#154#255#155#155#155#255#155#155#155#255'o'#157
+#211#255#170#209#231#255#171#209#231#255#152#199#225#255#145#194#222#255'V'
,#143#183#255'R'#137#193#234#255#255#255#0#255#255#255#0#128#128#128#255'~~~'
+#255'|||'#255'zzz'#255'www'#255'uuu'#255'rrr'#255'q'#158#212#255'o'#158#214
+#255#135#178#220#255#171#211#232#255#169#208#230#255'X'#144#184#255'Y'#142
+#198#234#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0'p'#158#214#219'm'#156#212#255#133#177#218#255'Z'#145#185#255'`'
+#147#203#234#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0'm'#156#212#137'j'#154#210#251'f'
+#151#207#238#7'OnClick'#7#13'acQuitExecute'#0#0#0#0#10'TImageList'#10'ImageL'
+'ist1'#4'left'#3#176#0#3'top'#2'x'#6'Bitmap'#10#14#12#0#0'Li'#3#0#0#0#16#0#0
+#0#16#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#234#195#157#255#230#191#150#255#228#187#146#255#228#187
+#146#255#209#160'l'#245#208#158'm'#246#204#150'_'#218#196'yB~'#178'g<'#9#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#228#187#147#255#254#245#237#255#252#222#197#255#251#224#199#255#249
+#220#194#255#245#211#180#255#254#249#243#255#250#226#196#255#236#193#147#255
+#195'}H'#147#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#229#190#150#255#255#255#254#255#253#243#233#255#253#243 +#255#0#255#255#255#0#229#190#150#255#255#255#254#255#253#243#233#255#253#243
+#234#255#252#242#232#255#250#239#227#255#250#242#231#255#234#187#136#255#207 +#234#255#252#242#232#255#250#239#227#255#250#242#231#255#234#187#136#255#207
+#133'U'#179#180'i='#12#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 +#133'U'#179#180'i='#12#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#228#187#147#255#254#245#237#255#252#222#197 +#0#255#255#255#0#255#255#255#0#234#195#157#255#230#191#150#255#228#187#146
+#255#251#224#199#255#249#220#194#255#245#211#180#255#254#249#243#255#250#226 +#255#228#187#146#255#209#160'l'#245#208#158'm'#246#204#150'_'#218#196'yB~'
+#196#255#236#193#147#255#195'}H'#147#255#255#255#0#255#255#255#0#255#255#255 +#178'g<'#9#255#255#255#0#7'OnClick'#7#13'acOpenExecute'#0#0#9'TMenuItem'#9'm'
+#0#255#255#255#0#255#255#255#0#255#255#255#0#228#187#146#255#254#246#240#255 +'nuSaveAs'#6'Action'#7#8'AcSaveAs'#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'
+#252#226#205#255#252#227#205#255#250#223#200#255#247#217#188#255#245#233#221 +#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0
+#255#250#243#235#255#251#248#243#255#202#131'S'#254#255#255#255#0#255#255#255 +'d'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#186'j6'#0#185'i5'#181#184'i5'#238#183'h5'
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#228#187#146#255 +#255#181'h5'#255#180'g4'#255#178'f4'#255#176'e3'#255#174'd3'#255#172'c2'#255
+#254#247#241#255#252#229#210#255#252#228#209#255#251#226#204#255#249#221#196 +#170'b2'#255#169'a2'#255#168'`1'#255#167'`1'#254#166'`1'#241#168'a1'#196#186
+#255#246#215#187#255#243#209#175#255#250#239#228#255#204#135'X'#254'4'#180 +'j5'#222#235#198#173#255#234#197#173#255#254#251#248#255#254#251#248#255#254
+#217#208'^'#194#225#250'`'#195#226#250'`'#195#226#250'`'#195#226#250'_'#195 +#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255
+#226#250#228#187#145#255#255#247#242#255#254#231#213#255#254#231#213#255#253 +#254#251#248#255#254#251#248#255#254#251#248#255#200#154'|'#255#199#152'y'
+#229#209#255#250#224#202#255#249#222#196#255#247#217#188#255#253#242#231#255 +#255#167'`1'#237#186'k7'#254#237#202#179#255#224#162'z'#255#254#250#247#255
+#204#135'W'#254'6'#179#218#248#253#254#254#255#254#255#255#255#254#254#255 +'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255
+#255#253#254#255#255#254#255#255#255#228#186#145#255#255#247#240#255#255#231 +'b'#192#136#255'b'#192#136#255'b'#192#136#255#253#249#246#255#202#141'e'#255
+#213#255#253#231#214#255#253#230#212#255#252#228#208#255#251#227#203#255#250 +#201#155'|'#255#167'`1'#254#187'l8'#255#238#204#182#255#225#162'z'#255#254
+#220#194#255#254#243#232#255#204#134'V'#254'5'#175#218#240#247#252#254#255 +#250#247#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255
+#142#228#248#255#145#222#245#255#159#224#245#255#172#225#246#255#202#132'R' +#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255#253#249#246
+#255#255#247#241#255#255#233#217#255#255#234#219#255#255#233#217#255#255#231 +#255#205#144'h'#255#204#158#129#255#168'a2'#255#187'k8'#255#239#206#184#255
+#215#255#255#229#210#255#255#226#203#255#255#247#241#255#203#133'U'#254'6' +#225#162'y'#255#254#250#247#255'b'#192#136#255'b'#192#136#255'b'#192#136#255
+#170#218#242#241#250#253#255#148#222#245#255#147#220#244#255'd'#188#233#255 +'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255
+'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255 +#253#249#246#255#207#147'j'#255#206#163#132#255#170'a2'#255#186'j6'#255#239
+'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255#251#246#239#255 +#208#187#255#226#162'z'#255#254#251#248#255#254#251#248#255#254#251#248#255
+#204#131'U'#254'5'#171#218#250#232#246#251#255'p'#188#231#255'U'#170#226#255
+'M'#165#224#255#145#201#235#255#250#243#239#255#253#254#253#255#255#253#252
+#255#255#253#252#255#254#253#252#255#254#252#251#255#254#254#253#255'5'#148
+#218#255#239#242#232#255#206#129'V'#255'7'#166#218#250#254#255#255#255#248
+#253#255#255#246#253#255#255#245#252#255#255#243#252#254#255#154#228#244#255
+#154#230#247#255#155#230#246#255#157#229#245#255#158#229#245#255#159#229#244
+#255#218#243#248#255'5'#148#218#255#253#244#238#255#202#128'T'#249'6'#161#218
+#249#246#252#254#255#148#229#248#255#147#229#248#255#147#229#248#255#145#229
+#248#255#147#219#233#255#147#215#227#255#147#210#220#255#144#206#215#255#140
+#200#207#255#134#193#198#255#201#216#214#255'5'#148#218#255#197'tD'#232#202
+#127'S'#241'6'#154#218#248#242#250#253#255#148#230#248#255#146#229#248#255
+#144#229#248#255#139#227#248#255#134#226#247#255#127#225#247#255'w'#222#246
+#255'l'#220#246#255'^'#217#244#255'O'#213#243#255#204#242#251#255'5'#148#218
+#255#255#255#255#0#255#255#255#0'5'#148#218#247#239#250#254#255#147#229#248
+#255#143#228#248#255#137#227#248#255#130#225#247#255'z'#223#247#255'q'#222
+#246#255'g'#219#245#255'['#216#244#255'M'#212#243#255'@'#209#242#255#202#242
+#251#255'5'#148#218#255#255#255#255#0#255#255#255#0'3'#142#217#251#220#240
+#250#255#152#225#246#255#149#224#246#255#146#223#246#255#142#222#245#255#137
+#220#245#255#133#218#244#255#128#217#244#255'z'#215#243#255't'#213#243#255'p'
+#211#242#255#194#234#248#255'5'#148#218#255#255#255#255#0#255#255#255#0','
+#134#216#0'-'#136#216#247'-'#135#216#247'-'#136#216#247'-'#136#216#247'-'#136
+#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136
+#216#247'-'#135#216#247'-'#136#216#247','#134#216#0#255#255#255#0#255#255#255
+#0#188'k6q'#188'k6'#144#188'k6'#204#188'k6'#238#188'k6'#250#187'k6'#254#187
,'k6'#255#187'j6'#255#187'j6'#255#188'l9'#255#189'n;'#255#187'm:'#255#187'k8'
+#239#187'p>'#203#182'i5T'#255#255#255#0#188'k6'#155#246#224#209#255#247#224
+#209#255#254#251#248#255#254#251#247#255#253#249#246#255#252#245#240#255#250
+#240#234#255#251#242#237#255#253#249#246#255#253#250#247#255#251#241#235#255
+#248#233#223#254#236#208#189#251#201#137'^'#236#181'i5c'#188'k6'#216#246#223
+#209#255#233#170#128#255#254#250#246#255#253#250#246#255#200#140'd'#255#251
+#243#238#255#251#241#234#255#252#246#242#255#254#251#248#255#252#246#241#255
+#249#236#226#255#248#231#219#255#238#208#186#255#236#208#189#255#187'p>'#248
+#188'k6'#240#246#223#208#255#232#168'~'#255#252#246#241#255#252#246#241#255
+#200#140'd'#255#250#241#233#255#251#244#238#255#253#250#247#255#253#249#246
+#255#250#240#232#255#248#232#221#255#247#230#219#255#225#163'z'#255#239#213
+#195#255#183'i5'#254#188'k6'#250#245#221#204#255#231#168'~'#255#250#240#232
+#255#250#240#232#255#201#141'f'#255#250#240#233#255#253#248#243#255#254#250
+#248#255#252#244#239#255#249#233#223#255#247#231#219#255#247#229#217#255#224
+#162'x'#255#231#194#169#255#182'h5'#255#187'k6'#254#244#220#201#255#231#167
+'}'#255#249#236#225#255#249#236#225#255#249#237#227#255#252#244#238#255#253
+#250#247#255#253#247#243#255#250#237#229#255#247#231#219#255#247#229#217#255
+#246#229#216#255#222#160'w'#255#228#190#164#255#180'g4'#255#187'k6'#255#244
+#217#199#255#230#166'}'#255#200#140'd'#255#201#141'e'#255#201#142'g'#255#203
+#146'l'#255#203#146'm'#255#202#144'i'#255#200#140'e'#255#200#140'd'#255#200
+#140'd'#255#200#140'd'#255#218#156't'#255#225#186#159#255#179'f4'#255#187'j6'
+#255#242#216#197#255#227#164'{'#255#227#163'z'#255#227#164'z'#255#226#164'{'
+#255#226#163'{'#255#225#163'{'#255#225#162'y'#255#223#160'w'#255#222#159'v'
+#255#221#158't'#255#219#156'r'#255#220#157't'#255#221#181#154#255#177'e4'#255
+#187'j6'#255#242#213#194#255#227#163'z'#255#227#163'z'#255#226#163'{'#255#226
+#163'{'#255#226#164'{'#255#225#162'y'#255#224#161'x'#255#222#160'w'#255#222
+#158'u'#255#220#157't'#255#218#155's'#255#217#155's'#255#218#176#149#255#175
+'d3'#255#187'j6'#255#240#210#190#255#226#163'z'#255#226#163'z'#255#225#163'z'
+#255#226#163'{'#255#225#163'{'#255#224#161'x'#255#222#159'w'#255#221#159'v'
+#255#220#157't'#255#217#155'r'#255#216#153'q'#255#214#153'p'#255#213#171#142
+#255#173'c3'#255#186'j6'#255#239#208#187#255#226#162'z'#255#254#251#248#255
+#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248 +#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248
+#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#211#150 +#255#254#251#248#255#254#251#248#255#211#150'm'#255#210#167#138#255#171'b2'
+'m'#255#210#167#138#255#171'b2'#255#187'k8'#255#239#206#184#255#225#162'y' +#255#187'j6'#255#240#210#190#255#226#163'z'#255#226#163'z'#255#225#163'z'#255
+#255#254#250#247#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136 +#226#163'{'#255#225#163'{'#255#224#161'x'#255#222#159'w'#255#221#159'v'#255
+#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255#253#249#246 +#220#157't'#255#217#155'r'#255#216#153'q'#255#214#153'p'#255#213#171#142#255
+#255#207#147'j'#255#206#163#132#255#170'a2'#255#187'l8'#255#238#204#182#255 +#173'c3'#255#187'j6'#255#242#213#194#255#227#163'z'#255#227#163'z'#255#226
+#225#162'z'#255#254#250#247#255#191#220#194#255#191#220#194#255#191#220#194 +#163'{'#255#226#163'{'#255#226#164'{'#255#225#162'y'#255#224#161'x'#255#222
+#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220 +#160'w'#255#222#158'u'#255#220#157't'#255#218#155's'#255#217#155's'#255#218
+#194#255#253#249#246#255#205#144'h'#255#204#158#129#255#168'a2'#255#186'k7' +#176#149#255#175'd3'#255#187'j6'#255#242#216#197#255#227#164'{'#255#227#163
+#254#237#202#179#255#224#162'z'#255#254#250#247#255'b'#192#136#255'b'#192#136 +'z'#255#227#164'z'#255#226#164'{'#255#226#163'{'#255#225#163'{'#255#225#162
+#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136 +'y'#255#223#160'w'#255#222#159'v'#255#221#158't'#255#219#156'r'#255#220#157
+#255'b'#192#136#255#253#249#246#255#202#141'e'#255#201#155'|'#255#167'`1'#254 +'t'#255#221#181#154#255#177'e4'#255#187'k6'#255#244#217#199#255#230#166'}'
+#186'j5'#222#235#198#173#255#234#197#173#255#254#251#248#255#254#251#248#255 ,#255#200#140'd'#255#201#141'e'#255#201#142'g'#255#203#146'l'#255#203#146'm'
+#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248 +#255#202#144'i'#255#200#140'e'#255#200#140'd'#255#200#140'd'#255#200#140'd'
+#255#254#251#248#255#254#251#248#255#254#251#248#255#200#154'|'#255#199#152 +#255#218#156't'#255#225#186#159#255#179'f4'#255#187'k6'#254#244#220#201#255
+'y'#255#167'`1'#237#186'j6'#0#185'i5'#181#184'i5'#238#183'h5'#255#181'h5'#255 +#231#167'}'#255#249#236#225#255#249#236#225#255#249#237#227#255#252#244#238
+#180'g4'#255#178'f4'#255#176'e3'#255#174'd3'#255#172'c2'#255#170'b2'#255#169 +#255#253#250#247#255#253#247#243#255#250#237#229#255#247#231#219#255#247#229
+'a2'#255#168'`1'#255#167'`1'#254#166'`1'#241#168'a1'#196#255#255#255#0#255 +#217#255#246#229#216#255#222#160'w'#255#228#190#164#255#180'g4'#255#188'k6'
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#250#245#221#204#255#231#168'~'#255#250#240#232#255#250#240#232#255#201#141
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +'f'#255#250#240#233#255#253#248#243#255#254#250#248#255#252#244#239#255#249
+#255#255#255#0'm'#156#212#137'j'#154#210#251'f'#151#207#238#255#255#255#0#255 +#233#223#255#247#231#219#255#247#229#217#255#224#162'x'#255#231#194#169#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#182'h5'#255#188'k6'#240#246#223#208#255#232#168'~'#255#252#246#241#255#252
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'p'#158#214#219 +#246#241#255#200#140'd'#255#250#241#233#255#251#244#238#255#253#250#247#255
+'m'#156#212#255#133#177#218#255'Z'#145#185#255'`'#147#203#234#255#255#255#0 +#253#249#246#255#250#240#232#255#248#232#221#255#247#230#219#255#225#163'z'
+#255#255#255#0#128#128#128#255'~~~'#255'|||'#255'zzz'#255'www'#255'uuu'#255 +#255#239#213#195#255#183'i5'#254#188'k6'#216#246#223#209#255#233#170#128#255
+'rrr'#255'q'#158#212#255'o'#158#214#255#135#178#220#255#171#211#232#255#169 +#254#250#246#255#253#250#246#255#200#140'd'#255#251#243#238#255#251#241#234
+#208#230#255'X'#144#184#255'Y'#142#198#234#255#255#255#0#255#255#255#0'}}}' +#255#252#246#242#255#254#251#248#255#252#246#241#255#249#236#226#255#248#231
+#255#153#153#153#255#153#153#153#255#154#154#154#255#154#154#154#255#155#155 +#219#255#238#208#186#255#236#208#189#255#187'p>'#248#188'k6'#155#246#224#209
+#155#255#155#155#155#255'o'#157#211#255#170#209#231#255#171#209#231#255#152 +#255#247#224#209#255#254#251#248#255#254#251#247#255#253#249#246#255#252#245
+#199#225#255#145#194#222#255'V'#143#183#255'R'#137#193#234#255#255#255#0#255 +#240#255#250#240#234#255#251#242#237#255#253#249#246#255#253#250#247#255#251
+#255#255#0'zzz'#255#153#153#153#255'R'#145'Y'#255#153#154#153#255#155#155#155 +#241#235#255#248#233#223#254#236#208#189#251#201#137'^'#236#181'i5c'#188'k6q'
+#255#156#156#156#255#156#156#156#255'l'#154#208#255#167#206#229#255#143#193 +#188'k6'#144#188'k6'#204#188'k6'#238#188'k6'#250#187'k6'#254#187'k6'#255#187
+#223#255#137#189#220#255#139#189#220#255'S'#141#182#255'K'#132#188#234#255 +'j6'#255#187'j6'#255#188'l9'#255#189'n;'#255#187'm:'#255#187'k8'#239#187'p>'
,#255#255#0#255#255#255#0'www'#255#154#154#154#255'='#138'E'#255'I'#138'O'#255 +#203#182'i5T'#255#255#255#0#7'OnClick'#7#15'acSaveAsExecute'#0#0#9'TMenuItem'
+#156#156#156#255#157#157#157#255#157#157#157#255'f'#150#204#255#162#203#227 +#9'MenuItem1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#7'mnuQuit'#6'Action'#7#6'Ac'
+#255#137#189#220#255#131#185#218#255#132#185#218#255'Q'#139#181#255'C~'#182 +'Quit'#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0
+#234'D'#148'M'#255'B'#145'K'#255'?'#141'H'#255'='#137'E'#255']'#164'e'#255'Z' +#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0
+#160'a'#255'E'#131'K'#255#158#158#158#255#158#158#158#255'`'#146#201#255#158 +#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#199#226#255#131#184#218#255'}'#180#215#255'~'#179#215#255'O'#137#180#255';y' +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#29'c'#155#22#25'`'
+#177#234'A'#144'J'#255#148#210#159#255#145#208#154#255#141#205#150#255#137 +#152'9'#20']'#149'b'#16'Z'#146#136#13'X'#144#164#19'\'#146#252#12'W'#143#237
+#203#146#255#132#200#141#255'Q'#152'X'#255'A|F'#255#159#159#159#255'Z'#142 +#153#153#153#255'qqq'#255'TTT'#255'QQQ'#255'OOO'#255'LLL'#255'JJJ'#255'GGG'
+#196#255#152#195#224#255'|'#179#215#255't'#175#214#255'^'#196#237#255'K'#136 +#255'EEE'#255'%g'#157#255'2t'#168#255'=|'#175#255'G'#132#181#255'N'#138#186
+#179#255'4s'#171#234'>'#139'F'#255#143#206#153#255'}'#198#135#255'x'#195#129 +#255'>~'#173#255#12'W'#143#234#255#255#255#0#255#255#255#0'XXX'#255#162#162
+#255's'#192'|'#255't'#192'|'#255'y'#194#129#255'I'#144'O'#255'T'#127'W'#255 +#162#255#162#162#162#255#163#163#163#255#164#164#164#255#164#164#164#255#165
+'T'#137#191#255#148#191#221#255'u'#173#212#255'c'#184#225#255'K'#212#255#255 +#165#165#255'/o'#165#255'x'#171#210#255'x'#171#211#255's'#167#209#255'i'#160
+'B'#139#184#255',n'#166#234';'#135'B'#255#137#203#146#255#132#200#141#255#128 +#205#255'@'#127#174#255#15'Y'#145#234#255#255#255#0#255#255#255#0'\\\'#255
+#198#136#255'{'#195#131#255'w'#193#127#255'G'#143'M'#255';t?'#255#161#161#161 +#161#161#161#255'<s@'#255#160#161#161#255#163#163#163#255#163#163#163#255#164
+#255'L'#132#186#255#141#187#219#255'n'#168#209#255'f'#166#209#255'_'#180#223 +#164#164#255'6t'#170#255'}'#175#212#255'['#154#201#255'T'#149#199#255'X'#150
+#255'G'#133#177#255'%i'#161#234'7'#130'>'#255'4~;'#255'1y7'#255'.u4'#255'I' +#200#255'A'#128#174#255#19'\'#148#234#255#255#255#0#255#255#255#0'```'#255
+#160#160#160#255'=vA'#255'6q9'#255#162#162#162#255#162#162#162#255#163#163
+#163#255'=y'#176#255#130#179#215#255'b'#159#204#255'Z'#154#201#255'^'#155#202
+#255'C'#129#175#255#25'`'#152#234'7'#130'>'#255'4~;'#255'1y7'#255'.u4'#255'I'
+#145'P'#255'F'#143'L'#255'9s='#255#161#161#161#255#162#162#162#255'E~'#180 +#145'P'#255'F'#143'L'#255'9s='#255#161#161#161#255#162#162#162#255'E~'#180
+#255#136#183#217#255'g'#163#207#255'a'#158#204#255'c'#159#204#255'E'#131#177 +#255#136#183#217#255'g'#163#207#255'a'#158#204#255'c'#159#204#255'E'#131#177
+#255#31'd'#156#234#255#255#255#0#255#255#255#0'```'#255#160#160#160#255'=vA' +#255#31'd'#156#234';'#135'B'#255#137#203#146#255#132#200#141#255#128#198#136
+#255'6q9'#255#162#162#162#255#162#162#162#255#163#163#163#255'=y'#176#255#130 +#255'{'#195#131#255'w'#193#127#255'G'#143'M'#255';t?'#255#161#161#161#255'L'
+#179#215#255'b'#159#204#255'Z'#154#201#255'^'#155#202#255'C'#129#175#255#25 +#132#186#255#141#187#219#255'n'#168#209#255'f'#166#209#255'_'#180#223#255'G'
+'`'#152#234#255#255#255#0#255#255#255#0'\\\'#255#161#161#161#255'<s@'#255#160 +#133#177#255'%i'#161#234'>'#139'F'#255#143#206#153#255'}'#198#135#255'x'#195
+#129#255's'#192'|'#255't'#192'|'#255'y'#194#129#255'I'#144'O'#255'T'#127'W'
+#255'T'#137#191#255#148#191#221#255'u'#173#212#255'c'#184#225#255'K'#212#255
+#255'B'#139#184#255',n'#166#234'A'#144'J'#255#148#210#159#255#145#208#154#255
+#141#205#150#255#137#203#146#255#132#200#141#255'Q'#152'X'#255'A|F'#255#159
+#159#159#255'Z'#142#196#255#152#195#224#255'|'#179#215#255't'#175#214#255'^'
+#196#237#255'K'#136#179#255'4s'#171#234'D'#148'M'#255'B'#145'K'#255'?'#141'H'
+#255'='#137'E'#255']'#164'e'#255'Z'#160'a'#255'E'#131'K'#255#158#158#158#255
+#158#158#158#255'`'#146#201#255#158#199#226#255#131#184#218#255'}'#180#215
+#255'~'#179#215#255'O'#137#180#255';y'#177#234#255#255#255#0#255#255#255#0'w'
+'ww'#255#154#154#154#255'='#138'E'#255'I'#138'O'#255#156#156#156#255#157#157
+#157#255#157#157#157#255'f'#150#204#255#162#203#227#255#137#189#220#255#131
+#185#218#255#132#185#218#255'Q'#139#181#255'C~'#182#234#255#255#255#0#255#255
+#255#0'zzz'#255#153#153#153#255'R'#145'Y'#255#153#154#153#255#155#155#155#255
+#156#156#156#255#156#156#156#255'l'#154#208#255#167#206#229#255#143#193#223
+#255#137#189#220#255#139#189#220#255'S'#141#182#255'K'#132#188#234#255#255
+#255#0#255#255#255#0'}}}'#255#153#153#153#255#153#153#153#255#154#154#154#255
+#154#154#154#255#155#155#155#255#155#155#155#255'o'#157#211#255#170#209#231
+#255#171#209#231#255#152#199#225#255#145#194#222#255'V'#143#183#255'R'#137
,#193#234#255#255#255#0#255#255#255#0#128#128#128#255'~~~'#255'|||'#255'zzz'
+#255'www'#255'uuu'#255'rrr'#255'q'#158#212#255'o'#158#214#255#135#178#220#255
+#171#211#232#255#169#208#230#255'X'#144#184#255'Y'#142#198#234#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'p'#158#214
+#219'm'#156#212#255#133#177#218#255'Z'#145#185#255'`'#147#203#234#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0'm'#156#212#137'j'#154#210#251'f'#151#207#238#7'OnClick'
+#7#13'acQuitExecute'#0#0#0#0#10'TImageList'#10'ImageList1'#4'left'#3#176#0#3
+'top'#2'x'#6'Bitmap'#10#14#12#0#0'Li'#3#0#0#0#16#0#0#0#16#0#0#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#234
+#195#157#255#230#191#150#255#228#187#146#255#228#187#146#255#209#160'l'#245
+#208#158'm'#246#204#150'_'#218#196'yB~'#178'g<'#9#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#229
+#190#150#255#255#255#254#255#253#243#233#255#253#243#234#255#252#242#232#255
+#250#239#227#255#250#242#231#255#234#187#136#255#207#133'U'#179#180'i='#12
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#228#187#147#255#254#245#237#255#252#222#197#255#251#224#199#255
+#249#220#194#255#245#211#180#255#254#249#243#255#250#226#196#255#236#193#147
+#255#195'}H'#147#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#228#187#146#255#254#246#240#255#252#226#205#255#252
+#227#205#255#250#223#200#255#247#217#188#255#245#233#221#255#250#243#235#255
+#251#248#243#255#202#131'S'#254#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#228#187#146#255#254#247#241#255#252
+#229#210#255#252#228#209#255#251#226#204#255#249#221#196#255#246#215#187#255
+#243#209#175#255#250#239#228#255#204#135'X'#254'4'#180#217#208'^'#194#225#250
+'`'#195#226#250'`'#195#226#250'`'#195#226#250'_'#195#226#250#228#187#145#255
+#255#247#242#255#254#231#213#255#254#231#213#255#253#229#209#255#250#224#202
+#255#249#222#196#255#247#217#188#255#253#242#231#255#204#135'W'#254'6'#179
+#218#248#253#254#254#255#254#255#255#255#254#254#255#255#253#254#255#255#254
+#255#255#255#228#186#145#255#255#247#240#255#255#231#213#255#253#231#214#255
+#253#230#212#255#252#228#208#255#251#227#203#255#250#220#194#255#254#243#232
+#255#204#134'V'#254'5'#175#218#240#247#252#254#255#142#228#248#255#145#222
+#245#255#159#224#245#255#172#225#246#255#202#132'R'#255#255#247#241#255#255
+#233#217#255#255#234#219#255#255#233#217#255#255#231#215#255#255#229#210#255
+#255#226#203#255#255#247#241#255#203#133'U'#254'6'#170#218#242#241#250#253
+#255#148#222#245#255#147#220#244#255'd'#188#233#255'5'#148#218#255'5'#148#218
+#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218
+#255'5'#148#218#255'5'#148#218#255#251#246#239#255#204#131'U'#254'5'#171#218
+#250#232#246#251#255'p'#188#231#255'U'#170#226#255'M'#165#224#255#145#201#235
+#255#250#243#239#255#253#254#253#255#255#253#252#255#255#253#252#255#254#253
+#252#255#254#252#251#255#254#254#253#255'5'#148#218#255#239#242#232#255#206
+#129'V'#255'7'#166#218#250#254#255#255#255#248#253#255#255#246#253#255#255
+#245#252#255#255#243#252#254#255#154#228#244#255#154#230#247#255#155#230#246
+#255#157#229#245#255#158#229#245#255#159#229#244#255#218#243#248#255'5'#148
+#218#255#253#244#238#255#202#128'T'#249'6'#161#218#249#246#252#254#255#148
+#229#248#255#147#229#248#255#147#229#248#255#145#229#248#255#147#219#233#255
+#147#215#227#255#147#210#220#255#144#206#215#255#140#200#207#255#134#193#198
+#255#201#216#214#255'5'#148#218#255#197'tD'#232#202#127'S'#241'6'#154#218#248
+#242#250#253#255#148#230#248#255#146#229#248#255#144#229#248#255#139#227#248
+#255#134#226#247#255#127#225#247#255'w'#222#246#255'l'#220#246#255'^'#217#244
+#255'O'#213#243#255#204#242#251#255'5'#148#218#255#255#255#255#0#255#255#255
+#0'5'#148#218#247#239#250#254#255#147#229#248#255#143#228#248#255#137#227#248
+#255#130#225#247#255'z'#223#247#255'q'#222#246#255'g'#219#245#255'['#216#244
+#255'M'#212#243#255'@'#209#242#255#202#242#251#255'5'#148#218#255#255#255#255
+#0#255#255#255#0'3'#142#217#251#220#240#250#255#152#225#246#255#149#224#246
+#255#146#223#246#255#142#222#245#255#137#220#245#255#133#218#244#255#128#217
+#244#255'z'#215#243#255't'#213#243#255'p'#211#242#255#194#234#248#255'5'#148
+#218#255#255#255#255#0#255#255#255#0','#134#216#0'-'#136#216#247'-'#135#216
+#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216
+#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#135#216#247'-'#136#216
+#247','#134#216#0#255#255#255#0#255#255#255#0#188'k6q'#188'k6'#144#188'k6'
+#204#188'k6'#238#188'k6'#250#187'k6'#254#187'k6'#255#187'j6'#255#187'j6'#255
,#188'l9'#255#189'n;'#255#187'm:'#255#187'k8'#239#187'p>'#203#182'i5T'#255#255
+#255#0#188'k6'#155#246#224#209#255#247#224#209#255#254#251#248#255#254#251
+#247#255#253#249#246#255#252#245#240#255#250#240#234#255#251#242#237#255#253
+#249#246#255#253#250#247#255#251#241#235#255#248#233#223#254#236#208#189#251
+#201#137'^'#236#181'i5c'#188'k6'#216#246#223#209#255#233#170#128#255#254#250
+#246#255#253#250#246#255#200#140'd'#255#251#243#238#255#251#241#234#255#252
+#246#242#255#254#251#248#255#252#246#241#255#249#236#226#255#248#231#219#255
+#238#208#186#255#236#208#189#255#187'p>'#248#188'k6'#240#246#223#208#255#232
+#168'~'#255#252#246#241#255#252#246#241#255#200#140'd'#255#250#241#233#255
+#251#244#238#255#253#250#247#255#253#249#246#255#250#240#232#255#248#232#221
+#255#247#230#219#255#225#163'z'#255#239#213#195#255#183'i5'#254#188'k6'#250
+#245#221#204#255#231#168'~'#255#250#240#232#255#250#240#232#255#201#141'f'
+#255#250#240#233#255#253#248#243#255#254#250#248#255#252#244#239#255#249#233
+#223#255#247#231#219#255#247#229#217#255#224#162'x'#255#231#194#169#255#182
+'h5'#255#187'k6'#254#244#220#201#255#231#167'}'#255#249#236#225#255#249#236
+#225#255#249#237#227#255#252#244#238#255#253#250#247#255#253#247#243#255#250
+#237#229#255#247#231#219#255#247#229#217#255#246#229#216#255#222#160'w'#255
+#228#190#164#255#180'g4'#255#187'k6'#255#244#217#199#255#230#166'}'#255#200
+#140'd'#255#201#141'e'#255#201#142'g'#255#203#146'l'#255#203#146'm'#255#202
+#144'i'#255#200#140'e'#255#200#140'd'#255#200#140'd'#255#200#140'd'#255#218
+#156't'#255#225#186#159#255#179'f4'#255#187'j6'#255#242#216#197#255#227#164
+'{'#255#227#163'z'#255#227#164'z'#255#226#164'{'#255#226#163'{'#255#225#163
+'{'#255#225#162'y'#255#223#160'w'#255#222#159'v'#255#221#158't'#255#219#156
+'r'#255#220#157't'#255#221#181#154#255#177'e4'#255#187'j6'#255#242#213#194
+#255#227#163'z'#255#227#163'z'#255#226#163'{'#255#226#163'{'#255#226#164'{'
+#255#225#162'y'#255#224#161'x'#255#222#160'w'#255#222#158'u'#255#220#157't'
+#255#218#155's'#255#217#155's'#255#218#176#149#255#175'd3'#255#187'j6'#255
+#240#210#190#255#226#163'z'#255#226#163'z'#255#225#163'z'#255#226#163'{'#255
+#225#163'{'#255#224#161'x'#255#222#159'w'#255#221#159'v'#255#220#157't'#255
+#217#155'r'#255#216#153'q'#255#214#153'p'#255#213#171#142#255#173'c3'#255#186
+'j6'#255#239#208#187#255#226#162'z'#255#254#251#248#255#254#251#248#255#254
+#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255
+#254#251#248#255#254#251#248#255#254#251#248#255#211#150'm'#255#210#167#138
+#255#171'b2'#255#187'k8'#255#239#206#184#255#225#162'y'#255#254#250#247#255
+'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255
+'b'#192#136#255'b'#192#136#255'b'#192#136#255#253#249#246#255#207#147'j'#255
+#206#163#132#255#170'a2'#255#187'l8'#255#238#204#182#255#225#162'z'#255#254
+#250#247#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255
+#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255#253#249#246
+#255#205#144'h'#255#204#158#129#255#168'a2'#255#186'k7'#254#237#202#179#255
+#224#162'z'#255#254#250#247#255'b'#192#136#255'b'#192#136#255'b'#192#136#255
+'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255
+#253#249#246#255#202#141'e'#255#201#155'|'#255#167'`1'#254#186'j5'#222#235
+#198#173#255#234#197#173#255#254#251#248#255#254#251#248#255#254#251#248#255
+#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248
+#255#254#251#248#255#254#251#248#255#200#154'|'#255#199#152'y'#255#167'`1'
+#237#186'j6'#0#185'i5'#181#184'i5'#238#183'h5'#255#181'h5'#255#180'g4'#255
+#178'f4'#255#176'e3'#255#174'd3'#255#172'c2'#255#170'b2'#255#169'a2'#255#168
+'`1'#255#167'`1'#254#166'`1'#241#168'a1'#196#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+'m'#156#212#137'j'#154#210#251'f'#151#207#238#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0'p'#158#214#219'm'#156#212
+#255#133#177#218#255'Z'#145#185#255'`'#147#203#234#255#255#255#0#255#255#255
+#0#128#128#128#255'~~~'#255'|||'#255'zzz'#255'www'#255'uuu'#255'rrr'#255'q'
+#158#212#255'o'#158#214#255#135#178#220#255#171#211#232#255#169#208#230#255
+'X'#144#184#255'Y'#142#198#234#255#255#255#0#255#255#255#0'}}}'#255#153#153
+#153#255#153#153#153#255#154#154#154#255#154#154#154#255#155#155#155#255#155
+#155#155#255'o'#157#211#255#170#209#231#255#171#209#231#255#152#199#225#255
+#145#194#222#255'V'#143#183#255'R'#137#193#234#255#255#255#0#255#255#255#0'z'
+'zz'#255#153#153#153#255'R'#145'Y'#255#153#154#153#255#155#155#155#255#156
+#156#156#255#156#156#156#255'l'#154#208#255#167#206#229#255#143#193#223#255
+#137#189#220#255#139#189#220#255'S'#141#182#255'K'#132#188#234#255#255#255#0
,#255#255#255#0'www'#255#154#154#154#255'='#138'E'#255'I'#138'O'#255#156#156
+#156#255#157#157#157#255#157#157#157#255'f'#150#204#255#162#203#227#255#137
+#189#220#255#131#185#218#255#132#185#218#255'Q'#139#181#255'C~'#182#234'D'
+#148'M'#255'B'#145'K'#255'?'#141'H'#255'='#137'E'#255']'#164'e'#255'Z'#160'a'
+#255'E'#131'K'#255#158#158#158#255#158#158#158#255'`'#146#201#255#158#199#226
+#255#131#184#218#255'}'#180#215#255'~'#179#215#255'O'#137#180#255';y'#177#234
+'A'#144'J'#255#148#210#159#255#145#208#154#255#141#205#150#255#137#203#146
+#255#132#200#141#255'Q'#152'X'#255'A|F'#255#159#159#159#255'Z'#142#196#255
+#152#195#224#255'|'#179#215#255't'#175#214#255'^'#196#237#255'K'#136#179#255
+'4s'#171#234'>'#139'F'#255#143#206#153#255'}'#198#135#255'x'#195#129#255's'
+#192'|'#255't'#192'|'#255'y'#194#129#255'I'#144'O'#255'T'#127'W'#255'T'#137
+#191#255#148#191#221#255'u'#173#212#255'c'#184#225#255'K'#212#255#255'B'#139
+#184#255',n'#166#234';'#135'B'#255#137#203#146#255#132#200#141#255#128#198
+#136#255'{'#195#131#255'w'#193#127#255'G'#143'M'#255';t?'#255#161#161#161#255
+'L'#132#186#255#141#187#219#255'n'#168#209#255'f'#166#209#255'_'#180#223#255
+'G'#133#177#255'%i'#161#234'7'#130'>'#255'4~;'#255'1y7'#255'.u4'#255'I'#145
+'P'#255'F'#143'L'#255'9s='#255#161#161#161#255#162#162#162#255'E~'#180#255
+#136#183#217#255'g'#163#207#255'a'#158#204#255'c'#159#204#255'E'#131#177#255
+#31'd'#156#234#255#255#255#0#255#255#255#0'```'#255#160#160#160#255'=vA'#255
+'6q9'#255#162#162#162#255#162#162#162#255#163#163#163#255'=y'#176#255#130#179
+#215#255'b'#159#204#255'Z'#154#201#255'^'#155#202#255'C'#129#175#255#25'`'
+#152#234#255#255#255#0#255#255#255#0'\\\'#255#161#161#161#255'<s@'#255#160
+#161#161#255#163#163#163#255#163#163#163#255#164#164#164#255'6t'#170#255'}' +#161#161#255#163#163#163#255#163#163#163#255#164#164#164#255'6t'#170#255'}'
+#175#212#255'['#154#201#255'T'#149#199#255'X'#150#200#255'A'#128#174#255#19 +#175#212#255'['#154#201#255'T'#149#199#255'X'#150#200#255'A'#128#174#255#19
+'\'#148#234#255#255#255#0#255#255#255#0'XXX'#255#162#162#162#255#162#162#162 +'\'#148#234#255#255#255#0#255#255#255#0'XXX'#255#162#162#162#255#162#162#162

View File

@ -19,8 +19,8 @@ type
AcQuit: TAction; AcQuit: TAction;
ActionList1: TActionList; ActionList1: TActionList;
btnPopulateGrid: TButton; btnPopulateGrid: TButton;
CbDisplayFixedColRow: TCheckBox; CbShowHeaders: TCheckBox;
CbDisplayGrid: TCheckBox; CbShowGridLines: TCheckBox;
ImageList1: TImageList; ImageList1: TImageList;
MainMenu1: TMainMenu; MainMenu1: TMainMenu;
MenuItem1: TMenuItem; MenuItem1: TMenuItem;
@ -40,8 +40,8 @@ type
ToolButton3: TToolButton; ToolButton3: TToolButton;
ToolButton5: TToolButton; ToolButton5: TToolButton;
procedure btnPopulateGridClick(Sender: TObject); procedure btnPopulateGridClick(Sender: TObject);
procedure CbDisplayFixedColRowClick(Sender: TObject); procedure CbShowHeadersClick(Sender: TObject);
procedure CbDisplayGridClick(Sender: TObject); procedure CbShowGridLinesClick(Sender: TObject);
procedure acOpenExecute(Sender: TObject); procedure acOpenExecute(Sender: TObject);
procedure acQuitExecute(Sender: TObject); procedure acQuitExecute(Sender: TObject);
procedure acSaveAsExecute(Sender: TObject); procedure acSaveAsExecute(Sender: TObject);
@ -75,17 +75,14 @@ begin
sWorksheetGrid1.Invalidate; sWorksheetGrid1.Invalidate;
end; end;
procedure TForm1.CbDisplayFixedColRowClick(Sender: TObject); procedure TForm1.CbShowHeadersClick(Sender: TObject);
begin begin
sWorksheetGrid1.DisplayFixedColRow := CbDisplayFixedColRow.Checked; sWorksheetGrid1.ShowHeaders := CbShowHeaders.Checked;
end; end;
procedure TForm1.CbDisplayGridClick(Sender: TObject); procedure TForm1.CbShowGridLinesClick(Sender: TObject);
begin begin
if CbDisplayGrid.Checked then sWorksheetGrid1.ShowGridLines := CbShowGridLines.Checked;
sWorksheetGrid1.Options := sWorksheetGrid1.Options + [goHorzLine, goVertLine]
else
sWorksheetGrid1.Options := sWorksheetGrid1.Options - [goHorzLine, goVertLine];
end; end;
procedure TForm1.acOpenExecute(Sender: TObject); procedure TForm1.acOpenExecute(Sender: TObject);
@ -138,7 +135,8 @@ begin
AFilename, AFilename,
GetFileFormatName(sWorksheetGrid1.Workbook.FileFormat) GetFileFormatName(sWorksheetGrid1.Workbook.FileFormat)
]); ]);
CbDisplayGrid.Checked := sWorksheetGrid1.Worksheet.ShowGridLines; CbShowGridLines.Checked := sWorksheetGrid1.Worksheet.ShowGridLines;
CbShowHeaders.Checked := sWorksheetGrid1.Worksheet.ShowHeaders;
// Create a tab in the pagecontrol for each worksheet contained in the workbook // Create a tab in the pagecontrol for each worksheet contained in the workbook
// This would be easer with a TTabControl. This has display issues, though. // This would be easer with a TTabControl. This has display issues, though.

View File

@ -24,11 +24,14 @@ type
{ Private declarations } { Private declarations }
FWorkbook: TsWorkbook; FWorkbook: TsWorkbook;
FWorksheet: TsWorksheet; FWorksheet: TsWorksheet;
FDisplayFixedColRow: Boolean; FHeaderCount: Integer;
function CalcAutoRowHeight(ARow: Integer): Integer; function CalcAutoRowHeight(ARow: Integer): Integer;
function CalcColWidth(AWidth: Single): Integer; function CalcColWidth(AWidth: Single): Integer;
function CalcRowHeight(AHeight: Single): Integer; function CalcRowHeight(AHeight: Single): Integer;
procedure SetDisplayFixedColRow(AValue: Boolean); function GetShowGridLines: Boolean;
function GetShowHeaders: Boolean;
procedure SetShowGridLines(AValue: Boolean);
procedure SetShowHeaders(AValue: Boolean);
protected protected
{ Protected declarations } { Protected declarations }
procedure DoPrepareCanvas(ACol, ARow: Integer; AState: TGridDrawState); override; procedure DoPrepareCanvas(ACol, ARow: Integer; AState: TGridDrawState); override;
@ -38,7 +41,9 @@ type
function GetCellText(ACol, ARow: Integer): String; function GetCellText(ACol, ARow: Integer): String;
procedure Loaded; override; procedure Loaded; override;
procedure Setup; procedure Setup;
property DisplayFixedColRow: Boolean read FDisplayFixedColRow write SetDisplayFixedColRow; property DisplayFixedColRow: Boolean read GetShowHeaders write SetShowHeaders default true;
property ShowGridLines: Boolean read GetShowGridLines write SetShowGridLines default true;
property ShowHeaders: Boolean read GetShowHeaders write SetShowHeaders default true;
public public
{ public methods } { public methods }
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
@ -59,7 +64,9 @@ type
TsWorksheetGrid = class(TsCustomWorksheetGrid) TsWorksheetGrid = class(TsCustomWorksheetGrid)
published published
// inherited from TsCustomWorksheetGrid // inherited from TsCustomWorksheetGrid
property DisplayFixedColRow; property DisplayFixedColRow; deprecated 'Use ShowHeaders';
property ShowGridLines;
property ShowHeaders;
// inherited from other ancestors // inherited from other ancestors
property Align; property Align;
@ -256,7 +263,7 @@ end;
constructor TsCustomWorksheetGrid.Create(AOwner: TComponent); constructor TsCustomWorksheetGrid.Create(AOwner: TComponent);
begin begin
inherited Create(AOwner); inherited Create(AOwner);
FDisplayFixedColRow := true; FHeaderCount := 1;
end; end;
destructor TsCustomWorksheetGrid.Destroy; destructor TsCustomWorksheetGrid.Destroy;
@ -284,7 +291,7 @@ var
h: Integer; h: Integer;
begin begin
h := 0; h := 0;
for c := FixedCols to ColCount-1 do for c := FHeaderCount to ColCount-1 do
h := Max(h, GetCellHeight(c, ARow)); h := Max(h, GetCellHeight(c, ARow));
if h = 0 then if h = 0 then
Result := DefaultRowHeight Result := DefaultRowHeight
@ -312,7 +319,7 @@ begin
Canvas.Font.Assign(Font); Canvas.Font.Assign(Font);
Canvas.Brush.Bitmap := nil; Canvas.Brush.Bitmap := nil;
ts := Canvas.TextStyle; ts := Canvas.TextStyle;
if FDisplayFixedColRow then begin if ShowHeaders then begin
// Formatting of row and column headers // Formatting of row and column headers
if ARow = 0 then begin if ARow = 0 then begin
ts.Alignment := taCenter; ts.Alignment := taCenter;
@ -324,8 +331,8 @@ begin
end; end;
end; end;
if FWorksheet <> nil then begin if FWorksheet <> nil then begin
r := ARow - FixedRows; r := ARow - FHeaderCount;
c := ACol - FixedCols; c := ACol - FHeaderCount;
lCell := FWorksheet.FindCell(r, c); lCell := FWorksheet.FindCell(r, c);
if lCell <> nil then begin if lCell <> nil then begin
// Background color // Background color
@ -435,7 +442,7 @@ begin
inherited; inherited;
if FWorksheet = nil then exit; if FWorksheet = nil then exit;
if (FixedRows > 0) then if (FHeaderCount > 0) then
HeaderRect := CellRect(0, 0) HeaderRect := CellRect(0, 0)
else else
HeaderRect := Classes.Rect(0, 0, 0, 0); HeaderRect := Classes.Rect(0, 0, 0, 0);
@ -443,8 +450,8 @@ begin
cell := FWorksheet.GetFirstCell; cell := FWorksheet.GetFirstCell;
while cell <> nil do begin while cell <> nil do begin
if (uffBorder in cell^.UsedFormattingFields) then begin if (uffBorder in cell^.UsedFormattingFields) then begin
c := cell^.Col + FixedCols; c := cell^.Col + FHeaderCount;
r := cell^.Row + FixedRows; r := cell^.Row + FHeaderCount;
rect := CellRect(c, r); rect := CellRect(c, r);
if (cbNorth in cell^.Border) then if (cbNorth in cell^.Border) then
DrawBorderLine(cell, rect, cbNorth, cell^.BorderStyles[cbNorth].LineStyle); DrawBorderLine(cell, rect, cbNorth, cell^.BorderStyles[cbNorth].LineStyle);
@ -489,11 +496,11 @@ begin
if FWorksheet = nil then if FWorksheet = nil then
exit; exit;
c := ACol - FixedCols; c := ACol - FHeaderCount;
r := ARow - FixedRows; r := ARow - FHeaderCount;
lCell := FWorksheet.FindCell(r, c); lCell := FWorksheet.FindCell(r, c);
if lCell = nil then begin if lCell = nil then begin
if FDisplayFixedColRow and ((ACol = 0) or (ARow = 0)) then begin if ShowHeaders and ((ACol = 0) or (ARow = 0)) then begin
ts.Alignment := taCenter; ts.Alignment := taCenter;
ts.Layout := tlCenter; ts.Layout := tlCenter;
ts.Opaque := false; ts.Opaque := false;
@ -640,12 +647,12 @@ var
flags: Cardinal; flags: Cardinal;
begin begin
Result := 0; Result := 0;
if FDisplayFixedColRow and ((ACol = 0) or (ARow = 0)) then if ShowHeaders and ((ACol = 0) or (ARow = 0)) then
exit; exit;
if FWorksheet = nil then if FWorksheet = nil then
exit; exit;
lCell := FWorksheet.FindCell(ARow-FixedRows, ACol-FixedCols); lCell := FWorksheet.FindCell(ARow-FHeaderCount, ACol-FHeaderCount);
if lCell <> nil then begin if lCell <> nil then begin
s := GetCellText(ACol, ARow); s := GetCellText(ACol, ARow);
if s = '' then if s = '' then
@ -697,12 +704,12 @@ var
begin begin
Result := ''; Result := '';
if FDisplayFixedColRow then begin if ShowHeaders then begin
// Titles // Headers
if (ARow = 0) and (ACol = 0) then if (ARow = 0) and (ACol = 0) then
exit; exit;
if (ARow = 0) then begin if (ARow = 0) then begin
Result := GetColString(ACol-FixedCols); Result := GetColString(ACol-FHeaderCount);
exit; exit;
end end
else else
@ -713,8 +720,8 @@ begin
end; end;
if FWorksheet <> nil then begin if FWorksheet <> nil then begin
r := ARow - FixedRows; r := ARow - FHeaderCount;
c := ACol - FixedCols; c := ACol - FHeaderCount;
lCell := FWorksheet.FindCell(r, c); lCell := FWorksheet.FindCell(r, c);
if lCell <> nil then begin if lCell <> nil then begin
Result := FWorksheet.ReadAsUTF8Text(r, c); Result := FWorksheet.ReadAsUTF8Text(r, c);
@ -741,16 +748,35 @@ begin
ASheets.Add(FWorkbook.GetWorksheetByIndex(i).Name); ASheets.Add(FWorkbook.GetWorksheetByIndex(i).Name);
end; end;
function TsCustomWorksheetGrid.GetShowGridLines: Boolean;
begin
Result := (Options * [goHorzLine, goVertLine] <> []);
end;
function TsCustomWorksheetGrid.GetShowHeaders: Boolean;
begin
Result := FHeaderCount <> 0;
end;
procedure TsCustomWorksheetGrid.Loaded; procedure TsCustomWorksheetGrid.Loaded;
begin begin
inherited; inherited;
Setup; Setup;
end; end;
procedure TsCustomWorksheetGrid.SetDisplayFixedColRow(AValue: Boolean); procedure TsCustomWorksheetGrid.SetShowGridLines(AValue: Boolean);
begin begin
if AValue = FDisplayFixedColRow then Exit; if AValue = GetShowGridLines then Exit;
FDisplayFixedColRow := AValue; if AValue then
Options := Options + [goHorzLine, goVertLine]
else
Options := Options - [goHorzLine, goVertLine];
end;
procedure TsCustomWorksheetGrid.SetShowHeaders(AValue: Boolean);
begin
if AValue = GetShowHeaders then Exit;
FHeaderCount := ord(AValue);
Setup; Setup;
end; end;
@ -761,7 +787,7 @@ var
lRow: PRow; lRow: PRow;
begin begin
if (FWorksheet = nil) or (FWorksheet.GetCellCount = 0) then begin if (FWorksheet = nil) or (FWorksheet.GetCellCount = 0) then begin
if FDisplayFixedColRow then begin if ShowHeaders then begin
ColCount := 2; ColCount := 2;
RowCount := 2; RowCount := 2;
FixedCols := 1; FixedCols := 1;
@ -774,15 +800,15 @@ begin
RowCount := 0; RowCount := 0;
end; end;
end else end else
if FDisplayFixedColRow then begin if ShowHeaders then begin
ColCount := FWorksheet.GetLastColNumber + 2; ColCount := FWorksheet.GetLastColNumber + 2;
RowCount := FWorksheet.GetLastRowNumber + 2; RowCount := FWorksheet.GetLastRowNumber + 2;
FixedCols := 1; FixedCols := 1;
FixedRows := 1; FixedRows := 1;
ColWidths[0] := Canvas.TextWidth(' 999999 '); ColWidths[0] := Canvas.TextWidth(' 999999 ');
// Setup column widths // Setup column widths
for i := FixedCols to ColCount-1 do begin for i := FHeaderCount to ColCount-1 do begin
lCol := FWorksheet.FindCol(i - FixedCols); lCol := FWorksheet.FindCol(i - FHeaderCount);
if (lCol <> nil) then if (lCol <> nil) then
ColWidths[i] := CalcColWidth(lCol^.Width) ColWidths[i] := CalcColWidth(lCol^.Width)
else else
@ -803,17 +829,13 @@ begin
end; end;
if FWorksheet <> nil then begin if FWorksheet <> nil then begin
RowHeights[0] := DefaultRowHeight; RowHeights[0] := DefaultRowHeight;
for i := FixedRows to RowCount-1 do begin for i := FHeaderCount to RowCount-1 do begin
lRow := FWorksheet.FindRow(i - FixedRows); lRow := FWorksheet.FindRow(i - FHeaderCount);
if (lRow = nil) or lRow^.AutoHeight then if (lRow = nil) or lRow^.AutoHeight then
RowHeights[i] := CalcAutoRowHeight(i) RowHeights[i] := CalcAutoRowHeight(i)
else else
RowHeights[i] := CalcRowHeight(lRow^.Height); RowHeights[i] := CalcRowHeight(lRow^.Height);
end; end;
if FWorksheet.ShowGridLines then
Options := Options + [goHorzLine, goVertLine]
else
Options := Options - [goHorzLine, goVertLine];
end end
else else
for i:=0 to RowCount-1 do begin for i:=0 to RowCount-1 do begin
@ -825,6 +847,10 @@ end;
procedure TsCustomWorksheetGrid.LoadFromWorksheet(AWorksheet: TsWorksheet); procedure TsCustomWorksheetGrid.LoadFromWorksheet(AWorksheet: TsWorksheet);
begin begin
FWorksheet := AWorksheet; FWorksheet := AWorksheet;
if FWorksheet <> nil then begin
ShowHeaders := FWorksheet.ShowHeaders;
ShowGridLines := FWorksheet.ShowGridLines;
end;
Setup; Setup;
end; end;