fpspreadsheet: Introduce new property AutoRowHeights for fpspreadsheetgrid

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2977 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2014-04-30 19:09:54 +00:00
parent 5e1e29aef8
commit 317175e312
4 changed files with 471 additions and 367 deletions

View File

@ -113,11 +113,10 @@
<Filename Value="fpsgrid.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="fpsgrid"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="16" Y="7"/>
<CursorPos X="10" Y="7"/>
<UsageCount Value="120"/>
<Loaded Value="True"/>
</Unit0>
@ -128,6 +127,7 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="mainform"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="47"/>

View File

@ -84,6 +84,7 @@ object Form1: TForm1
Height = 26
Top = 0
Width = 400
ButtonHeight = 24
Caption = 'ToolBar1'
EdgeBorders = []
Images = ImageList1

View File

@ -1,362 +1,362 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3' '#1#6'Height'#3'S'#1#3'Top'#3#177#0#5'Wi'
+'dth'#3#144#1#7'Caption'#6#7'fpsGrid'#12'ClientHeight'#3'?'#1#11'ClientWidth'
+#3#144#1#4'Menu'#7#9'MainMenu1'#8'ShowHint'#9#10'LCLVersion'#6#3'1.3'#0#6'TP'
+'anel'#6'Panel1'#4'Left'#2#0#6'Height'#2'7'#3'Top'#3#8#1#5'Width'#3#144#1#5
+'Align'#7#8'alBottom'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'7'#11'Cl'
+'ientWidth'#3#144#1#8'TabOrder'#2#0#0#7'TButton'#15'btnPopulateGrid'#4'Left'
+#3#24#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'p'#7'Caption'#6#13'Populate Gri'
+'d'#7'OnClick'#7#20'btnPopulateGridClick'#8'TabOrder'#2#0#7'Visible'#8#0#0#9
+'TCheckBox'#20'CbDisplayFixedColRow'#4'Left'#2#8#6'Height'#2#19#3'Top'#2#8#5
+'Width'#3#130#0#7'Caption'#6#21'Display fixed col/row'#7'Checked'#9#7'OnClic'
+'k'#7#25'CbDisplayFixedColRowClick'#5'State'#7#9'cbChecked'#8'TabOrder'#2#1#0
+#0#9'TCheckBox'#13'CbDisplayGrid'#4'Left'#2#8#6'Height'#2#19#3'Top'#2#29#5'W'
+'idth'#2'R'#7'Caption'#6#12'Display grid'#7'Checked'#9#7'OnClick'#7#18'CbDis'
+'playGridClick'#5'State'#7#9'cbChecked'#8'TabOrder'#2#2#0#0#0#12'TPageContro'
+'l'#12'PageControl1'#4'Left'#2#0#6'Height'#3#238#0#3'Top'#2#26#5'Width'#3#144
+#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'Ta'
+'bOrder'#2#1#8'OnChange'#7#18'PageControl1Change'#0#9'TTabSheet'#9'TabSheet1'
+#7'Caption'#6#6'Sheet1'#12'ClientHeight'#3#210#0#11'ClientWidth'#3#136#1#0#15
+'TsWorksheetGrid'#15'sWorksheetGrid1'#4'Left'#2#0#6'Height'#3#210#0#3'Top'#2
+#0#5'Width'#3#136#1#5'Align'#7#8'alClient'#7'Options'#11#15'goFixedVertLine'
+#15'goFixedHorzLine'#10'goVertLine'#10'goHorzLine'#13'goRangeSelect'#11'goRo'
+'wSizing'#11'goColSizing'#15'goThumbTracking'#14'goSmoothScroll'#14'goCellEl'
+'lipsis'#0#8'TabOrder'#2#0#10'TitleStyle'#7#8'tsNative'#0#0#0#0#8'TToolBar'#8
+'ToolBar1'#4'Left'#2#0#6'Height'#2#26#3'Top'#2#0#5'Width'#3#144#1#7'Caption'
+#6#8'ToolBar1'#11'EdgeBorders'#11#0#6'Images'#7#10'ImageList1'#8'TabOrder'#2
+#2#0#11'TToolButton'#11'ToolButton1'#4'Left'#2#1#3'Top'#2#0#6'Action'#7#6'Ac'
+'Open'#0#0#11'TToolButton'#11'ToolButton2'#4'Left'#2#24#3'Top'#2#0#6'Action'
+#7#8'AcSaveAs'#0#0#11'TToolButton'#11'ToolButton3'#4'Left'#2'4'#3'Top'#2#0#6
+'Action'#7#6'AcQuit'#0#0#11'TToolButton'#11'ToolButton5'#4'Left'#2'/'#3'Top'
+#2#0#5'Width'#2#5#7'Caption'#6#11'ToolButton5'#5'Style'#7#10'tbsDivider'#0#0
+#0#11'TOpenDialog'#11'OpenDialog1'#10'DefaultExt'#6#4'.xls'#6'Filter'#6#192
+'Excel spreadsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*.xlxs|Libre'
+'Office/OpenOffice spreadsheet (*.ods)|*.ods|Wikitable (pipes) (.wikitable_p'
+'ipes)|.wikitable_pipes|All files (*.*)|*.*'#7'Options'#11#20'ofExtensionDif'
+'ferent'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#2'@'#3'top'#3#176#0#0
+#0#11'TSaveDialog'#11'SaveDialog1'#10'DefaultExt'#6#4'.xls'#6'Filter'#6#185
+'Excel spreadsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*.xlsx|Libre'
+'Office/OpenOffice spreadsheet (*.ods)|*.ods|Wikitable (wikimedia) (.wikitab'
+'le_wikimedia)|*.wikitable_wikimedia'#7'Options'#11#20'ofExtensionDifferent'
+#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#176#0#3'top'#3#176#0#0#0#9
+'TMainMenu'#9'MainMenu1'#6'Images'#7#10'ImageList1'#4'left'#3' '#1#3'top'#3
+#176#0#0#9'TMenuItem'#7'mnuFile'#7'Caption'#6#5'&File'#0#9'TMenuItem'#7'mnuO'
+'pen'#6'Action'#7#6'AcOpen'#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','#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'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'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'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'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'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'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'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'#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'#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'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#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#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#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'acOpenExecute'#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'acSaveAsExecute'#0#0#9'TMenuItem'#9'MenuItem1'#7'Capt'
+'ion'#6#1'-'#0#0#9'TMenuItem'#7'mnuQuit'#6'Action'#7#6'AcQuit'#11'Bitmap.Dat'
+'a'#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'acQuitEx'
+'ecute'#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
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'r'#1#6'Height'#3'S'#1#3'Top'#3#2#1#5'Widt'
+'h'#3#144#1#7'Caption'#6#7'fpsGrid'#12'ClientHeight'#3'?'#1#11'ClientWidth'#3
+#144#1#4'Menu'#7#9'MainMenu1'#10'OnActivate'#7#12'FormActivate'#8'ShowHint'#9
+#10'LCLVersion'#6#3'1.3'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'7'#3
+'Top'#3#8#1#5'Width'#3#144#1#5'Align'#7#8'alBottom'#10'BevelOuter'#7#6'bvNon'
+'e'#12'ClientHeight'#2'7'#11'ClientWidth'#3#144#1#8'TabOrder'#2#0#0#7'TButto'
+'n'#15'btnPopulateGrid'#4'Left'#3#24#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2
+'p'#7'Caption'#6#13'Populate Grid'#7'OnClick'#7#20'btnPopulateGridClick'#8'T'
+'abOrder'#2#0#7'Visible'#8#0#0#9'TCheckBox'#20'CbDisplayFixedColRow'#4'Left'
+#2#8#6'Height'#2#19#3'Top'#2#8#5'Width'#3#130#0#7'Caption'#6#21'Display fixe'
+'d col/row'#7'Checked'#9#7'OnClick'#7#25'CbDisplayFixedColRowClick'#5'State'
+#7#9'cbChecked'#8'TabOrder'#2#1#0#0#9'TCheckBox'#13'CbDisplayGrid'#4'Left'#2
+#8#6'Height'#2#19#3'Top'#2#29#5'Width'#2'R'#7'Caption'#6#12'Display grid'#7
+'Checked'#9#7'OnClick'#7#18'CbDisplayGridClick'#5'State'#7#9'cbChecked'#8'Ta'
+'bOrder'#2#2#0#0#0#12'TPageControl'#12'PageControl1'#4'Left'#2#0#6'Height'#3
+#238#0#3'Top'#2#26#5'Width'#3#144#1#10'ActivePage'#7#9'TabSheet1'#5'Align'#7
+#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#1#8'OnChange'#7#18'PageControl1Ch'
+'ange'#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#6'Sheet1'#12'ClientHeight'#3
+#210#0#11'ClientWidth'#3#136#1#0#15'TsWorksheetGrid'#15'sWorksheetGrid1'#4'L'
+'eft'#2#0#6'Height'#3#210#0#3'Top'#2#0#5'Width'#3#136#1#5'Align'#7#8'alClien'
+'t'#7'Options'#11#15'goFixedVertLine'#15'goFixedHorzLine'#10'goVertLine'#10
+'goHorzLine'#13'goRangeSelect'#11'goRowSizing'#11'goColSizing'#15'goThumbTra'
+'cking'#14'goSmoothScroll'#0#8'TabOrder'#2#0#10'TitleStyle'#7#8'tsNative'#0#0
+#0#0#8'TToolBar'#8'ToolBar1'#4'Left'#2#0#6'Height'#2#26#3'Top'#2#0#5'Width'#3
+#144#1#12'ButtonHeight'#2#24#7'Caption'#6#8'ToolBar1'#11'EdgeBorders'#11#0#6
+'Images'#7#10'ImageList1'#8'TabOrder'#2#2#0#11'TToolButton'#11'ToolButton1'#4
+'Left'#2#1#3'Top'#2#0#6'Action'#7#6'AcOpen'#0#0#11'TToolButton'#11'ToolButto'
+'n2'#4'Left'#2#24#3'Top'#2#0#6'Action'#7#8'AcSaveAs'#0#0#11'TToolButton'#11
+'ToolButton3'#4'Left'#2'4'#3'Top'#2#0#6'Action'#7#6'AcQuit'#0#0#11'TToolButt'
+'on'#11'ToolButton5'#4'Left'#2'/'#3'Top'#2#0#5'Width'#2#5#7'Caption'#6#11'To'
+'olButton5'#5'Style'#7#10'tbsDivider'#0#0#0#11'TOpenDialog'#11'OpenDialog1'
+#10'DefaultExt'#6#4'.xls'#6'Filter'#6#192'Excel spreadsheet (*.xls)|*.xls|Ex'
+'cel XML spreadsheet (*.xlsx)|*.xlxs|LibreOffice/OpenOffice spreadsheet (*.o'
+'ds)|*.ods|Wikitable (pipes) (.wikitable_pipes)|.wikitable_pipes|All files ('
+'*.*)|*.*'#7'Options'#11#20'ofExtensionDifferent'#14'ofEnableSizing'#12'ofVi'
+'ewDetail'#0#4'left'#2'@'#3'top'#3#176#0#0#0#11'TSaveDialog'#11'SaveDialog1'
+#10'DefaultExt'#6#4'.xls'#6'Filter'#6#185'Excel spreadsheet (*.xls)|*.xls|Ex'
+'cel XML spreadsheet (*.xlsx)|*.xlsx|LibreOffice/OpenOffice spreadsheet (*.o'
+'ds)|*.ods|Wikitable (wikimedia) (.wikitable_wikimedia)|*.wikitable_wikimedi'
+'a'#7'Options'#11#20'ofExtensionDifferent'#14'ofEnableSizing'#12'ofViewDetai'
+'l'#0#4'left'#3#176#0#3'top'#3#176#0#0#0#9'TMainMenu'#9'MainMenu1'#6'Images'
+#7#10'ImageList1'#4'left'#3' '#1#3'top'#3#176#0#0#9'TMenuItem'#7'mnuFile'#7
+'Caption'#6#5'&File'#0#9'TMenuItem'#7'mnuOpen'#6'Action'#7#6'AcOpen'#11'Bitm'
+'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
+#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
+#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
+'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'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'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'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'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'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'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'#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'#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'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#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
+#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#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'f'
+'4'#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
+#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
+#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
+#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'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'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'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'}'#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#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#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#255#255
+#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#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#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#0#0#11'TActionList'#11'ActionList1'#4'left'
+#3#176#0#3'top'#2'@'#0#7'TAction'#6'AcOpen'#7'Caption'#6#7'Open...'#10'Image'
+'Index'#2#0#9'OnExecute'#7#13'acOpenExecute'#0#0#7'TAction'#8'AcSaveAs'#7'Ca'
+'ption'#6#10'Save as...'#10'ImageIndex'#2#1#9'OnExecute'#7#15'acSaveAsExecut'
+'e'#0#0#7'TAction'#6'AcQuit'#7'Caption'#6#4'Quit'#10'ImageIndex'#2#2#9'OnExe'
+'cute'#7#13'acQuitExecute'#0#0#0#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'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'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'}'
+#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
+#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#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
+#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#0#0#11'TActionList'#11'ActionList'
+'1'#4'left'#3#176#0#3'top'#2'@'#0#7'TAction'#6'AcOpen'#7'Caption'#6#7'Open..'
+'.'#10'ImageIndex'#2#0#9'OnExecute'#7#13'acOpenExecute'#0#0#7'TAction'#8'AcS'
+'aveAs'#7'Caption'#6#10'Save as...'#10'ImageIndex'#2#1#9'OnExecute'#7#15'acS'
+'aveAsExecute'#0#0#7'TAction'#6'AcQuit'#7'Caption'#6#4'Quit'#10'ImageIndex'#2
+#2#9'OnExecute'#7#13'acQuitExecute'#0#0#0#0
]);

View File

@ -25,17 +25,23 @@ type
FWorkbook: TsWorkbook;
FWorksheet: TsWorksheet;
FDisplayFixedColRow: Boolean;
FAutoRowHeights: Boolean;
function CalcColWidth(AWidth: Single): Integer;
function CalcRowHeight(AHeight: Single): Integer;
procedure SetDisplayFixedColRow(const AValue: Boolean);
procedure SetAutoRowHeights(AValue: Boolean);
procedure SetDisplayFixedColRow(AValue: Boolean);
protected
{ Protected declarations }
procedure DoAutoRowHeights;
procedure DoPrepareCanvas(ACol, ARow: Integer; AState: TGridDrawState); override;
procedure DrawAllRows; override;
procedure DrawTextInCell(ACol, ARow: Integer; ARect: TRect; AState: TGridDrawState); override;
function GetCellHeight(ACol, ARow: Integer): Integer;
function GetCellText(ACol, ARow: Integer): String;
procedure Loaded; override;
procedure Setup;
property AutoRowHeights: Boolean read FAutoRowHeights write SetAutoRowHeights default true;
property DisplayFixedColRow: Boolean read FDisplayFixedColRow write SetDisplayFixedColRow;
public
{ public methods }
constructor Create(AOwner: TComponent); override;
@ -47,7 +53,6 @@ type
procedure SaveToWorksheet(AWorksheet: TsWorksheet);
procedure SelectSheetByIndex(AIndex: Integer);
{ public properties }
property DisplayFixedColRow: Boolean read FDisplayFixedColRow write SetDisplayFixedColRow;
property Worksheet: TsWorksheet read FWorksheet;
property Workbook: TsWorkbook read FWorkbook;
end;
@ -56,6 +61,11 @@ type
TsWorksheetGrid = class(TsCustomWorksheetGrid)
published
// inherited from TsCustomWorksheetGrid
property AutoRowHeights;
property DisplayFixedColRow;
// inherited from other ancestors
property Align;
property AlternateColor;
property Anchors;
@ -250,6 +260,7 @@ end;
constructor TsCustomWorksheetGrid.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FAutoRowHeights := true;
FDisplayFixedColRow := true;
end;
@ -276,6 +287,23 @@ begin
Result := round(AHeight / 25.4 * Screen.PixelsPerInch) + 4;
end;
{ Finds the max cell height per row and uses this to define the RowHeights[]. }
procedure TsCustomWorksheetGrid.DoAutoRowHeights;
var
r, c: Integer;
h: Integer;
begin
for r := FixedRows to RowCount-1 do begin
h := 0;
for c := FixedCols to ColCount-1 do
h := Max(h, GetCellHeight(c, r));
if h = 0 then
RowHeights[r] := DefaultRowHeight
else
RowHeights[r] := h;
end;
end;
{ Adjusts the grid's canvas before painting a given cell. Considers, e.g.
background color, horizontal alignment, vertical alignment, etc. }
procedure TsCustomWorksheetGrid.DoPrepareCanvas(ACol, ARow: Integer;
@ -414,6 +442,7 @@ begin
if FDisplayFixedColRow and ((ACol = 0) or (ARow = 0)) then begin
ts.Alignment := taCenter;
ts.Layout := tlCenter;
ts.Opaque := false;
Canvas.TextStyle := ts;
end;
inherited DrawCellText(aCol, aRow, aRect, aState, GetCellText(ACol,ARow));
@ -441,7 +470,9 @@ begin
InflateRect(ARect, -constCellPadding, -constCellPadding);
if lCell^.TextRotation in [trHorizontal, rtStacked] then begin
if (lCell^.TextRotation in [trHorizontal, rtStacked]) or
(not (uffTextRotation in lCell^.UsedFormattingFields))
then begin
// HORIZONAL TEXT DRAWING DIRECTION
ts := Canvas.TextStyle;
if wordwrap then begin
@ -461,6 +492,7 @@ begin
Canvas.Font.Orientation := 0;
ts.Alignment := HOR_ALIGNMENTS[horAlign];
ts.Opaque := false;
if h > ARect.Bottom - ARect.Top then
ts.Layout := tlTop
else
@ -497,6 +529,7 @@ begin
ts.Clipping := false;
ts.Layout := tlTop;
ts.Alignment := taLeftJustify;
ts.Opaque := false;
if lCell^.TextRotation = rt90DegreeClockwiseRotation then begin
// Clockwise
@ -542,6 +575,65 @@ begin
end;
end;
{ Returns the height (in pixels) of the cell at ACol/ARow. }
function TsCustomWorksheetGrid.GetCellHeight(ACol, ARow: Integer): Integer;
var
lCell: PCell;
s: String;
wordwrap: Boolean;
txtR: TRect;
cellR: TRect;
flags: Cardinal;
begin
Result := 0;
if FDisplayFixedColRow and ((ACol = 0) or (ARow = 0)) then
exit;
if FWorksheet = nil then
exit;
lCell := FWorksheet.FindCell(ARow-FixedRows, ACol-FixedCols);
if lCell <> nil then begin
s := GetCellText(ACol, ARow);
if s = '' then
exit;
DoPrepareCanvas(ACol, ARow, []);
wordwrap := (uffWordWrap in lCell^.UsedFormattingFields)
or (lCell^.TextRotation = rtStacked);
// *** multi-line text ***
if wordwrap then begin
// horizontal
if ( (uffTextRotation in lCell^.UsedFormattingFields) and
(lCell^.TextRotation in [trHorizontal, rtStacked]))
or not (uffTextRotation in lCell^.UsedFormattingFields)
then begin
cellR := CellRect(ACol, ARow);
InflateRect(cellR, -constCellPadding, -constCellPadding);
txtR := Bounds(cellR.Left, cellR.Top, cellR.Right-cellR.Left, cellR.Bottom-cellR.Top);
flags := DT_WORDBREAK and not DT_SINGLELINE;
LCLIntf.DrawText(Canvas.Handle, PChar(s), Length(s), txtR,
DT_CALCRECT or flags);
Result := txtR.Bottom - txtR.Top + 2*constCellPadding;
end;
// rotated wrapped text:
// do not consider this because wrapping affects cell height.
end else
// *** single-line text ***
begin
// not rotated
if ( not (uffTextRotation in lCell^.UsedFormattingFields) or
(lCell^.TextRotation = trHorizontal) )
then
Result := Canvas.TextHeight(s) + 2*constCellPadding
else
// rotated by +/- 90°
if (uffTextRotation in lCell^.UsedFormattingFields) and
(lCell^.TextRotation in [rt90DegreeClockwiseRotation, rt90DegreeCounterClockwiseRotation])
then
Result := Canvas.TextWidth(s) + 2*constCellPadding;
end;
end;
end;
{ GetCellText function returns the text to be written in the cell }
function TsCustomWorksheetGrid.GetCellText(ACol, ARow: Integer): String;
var
@ -575,9 +667,9 @@ begin
if lCell^.TextRotation = rtStacked then begin
s := Result;
Result := '';
for i:=1 to Length(s)-1 do
for i:=1 to Length(s) do
Result := Result + s[i] + LineEnding;
Result := Result + s[Length(s)];
// Result := Result + s[Length(s)];
end;
end;
end;
@ -601,7 +693,14 @@ begin
Setup;
end;
procedure TsCustomWorksheetGrid.SetDisplayFixedColRow(const AValue: Boolean);
procedure TsCustomWorksheetGrid.SetAutoRowHeights(AValue: Boolean);
begin
if AValue = FAutoRowHeights then Exit;
FAutoRowHeights := AValue;
Setup;
end;
procedure TsCustomWorksheetGrid.SetDisplayFixedColRow(AValue: Boolean);
begin
if AValue = FDisplayFixedColRow then Exit;
FDisplayFixedColRow := AValue;
@ -656,14 +755,18 @@ begin
end;
end;
if FWorksheet <> nil then begin
RowHeights[0] := DefaultRowHeight;
for i := FixedRows to RowCount-1 do begin
lRow := FWorksheet.FindRow(i - FixedRows);
if (lRow <> nil) then
RowHeights[i] := CalcRowHeight(lRow^.Height)
else
RowHeights[i] := DefaultRowHeight;
end
if FAutoRowHeights then
DoAutoRowHeights
else begin
RowHeights[0] := DefaultRowHeight;
for i := FixedRows to RowCount-1 do begin
lRow := FWorksheet.FindRow(i - FixedRows);
if (lRow <> nil) then
RowHeights[i] := CalcRowHeight(lRow^.Height)
else
RowHeights[i] := DefaultRowHeight;
end;
end;
end
else
for i:=0 to RowCount-1 do begin