You've already forked lazarus-ccr
fpspreadsheet: Add support for horizontal and vertical text alignment in cells for biff8 and fpspreadsheetgrid.
Fix failure to reckognize file format in case of uppercase filename. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2955 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -52,7 +52,7 @@ begin
|
||||
lCell^.BackgroundColor := scPURPLE;
|
||||
lCell^.UsedFormattingFields := [uffBackgroundColor];
|
||||
|
||||
// Word-wrapped long text
|
||||
// Word-wrapped long text in D7
|
||||
MyWorksheet.WriteUTF8Text(6, 3, 'This is a very, very, very, very long text.');
|
||||
MyWorksheet.WriteUsedFormatting(6, 3, [uffWordwrap]);
|
||||
|
||||
|
@ -27,7 +27,6 @@
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="2">
|
||||
@ -38,7 +37,7 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="23">
|
||||
<Units Count="24">
|
||||
<Unit0>
|
||||
<Filename Value="fpsgrid.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -47,7 +46,7 @@
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="1" Y="11"/>
|
||||
<UsageCount Value="88"/>
|
||||
<UsageCount Value="93"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
@ -59,20 +58,20 @@
|
||||
<UnitName Value="mainform"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="50"/>
|
||||
<CursorPos X="30" Y="57"/>
|
||||
<UsageCount Value="88"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="8" Y="1"/>
|
||||
<UsageCount Value="93"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<UnitName Value="fpspreadsheet"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="161"/>
|
||||
<CursorPos X="3" Y="180"/>
|
||||
<UsageCount Value="42"/>
|
||||
<TopLine Value="464"/>
|
||||
<CursorPos X="9" Y="496"/>
|
||||
<UsageCount Value="44"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
@ -80,9 +79,9 @@
|
||||
<UnitName Value="fpspreadsheetgrid"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="206"/>
|
||||
<CursorPos X="45" Y="223"/>
|
||||
<UsageCount Value="43"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="52" Y="6"/>
|
||||
<UsageCount Value="45"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="1" Y="194" ID="1"/>
|
||||
</Bookmarks>
|
||||
@ -138,12 +137,10 @@
|
||||
<Unit10>
|
||||
<Filename Value="..\..\wikitable.pas"/>
|
||||
<UnitName Value="wikitable"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="48"/>
|
||||
<CursorPos X="41" Y="60"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="21"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="..\..\fpsopendocument.pas"/>
|
||||
@ -156,58 +153,50 @@
|
||||
<Unit12>
|
||||
<Filename Value="d:\lazarus-svn\lcl\grids.pas"/>
|
||||
<UnitName Value="Grids"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="4124"/>
|
||||
<CursorPos X="3" Y="4129"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="21"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\..\fpsutils.pas"/>
|
||||
<UnitName Value="fpsutils"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="413"/>
|
||||
<CursorPos X="45" Y="447"/>
|
||||
<UsageCount Value="19"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="20"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="d:\lazarus-svn\lcl\include\canvas.inc"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1212"/>
|
||||
<CursorPos X="3" Y="1218"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="d:\lazarus-svn\lcl\graphics.pp"/>
|
||||
<UnitName Value="Graphics"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="84"/>
|
||||
<CursorPos X="3" Y="101"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
<TopLine Value="81"/>
|
||||
<CursorPos X="3" Y="100"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="d:\lazarus-svn\fpc\2.6.2\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="76"/>
|
||||
<CursorPos X="3" Y="95"/>
|
||||
<UsageCount Value="12"/>
|
||||
<CursorPos X="28" Y="88"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<UnitName Value="xlsbiff8"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1518"/>
|
||||
<CursorPos X="38" Y="1529"/>
|
||||
<UsageCount Value="17"/>
|
||||
<TopLine Value="375"/>
|
||||
<CursorPos X="1" Y="367"/>
|
||||
<UsageCount Value="19"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
@ -220,164 +209,164 @@
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="d:\lazarus-svn\lcl\include\wincontrol.inc"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="7344"/>
|
||||
<CursorPos X="30" Y="7349"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="15"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<Filename Value="..\..\xlscommon.pas"/>
|
||||
<UnitName Value="xlscommon"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="464"/>
|
||||
<CursorPos X="1" Y="485"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
<TopLine Value="918"/>
|
||||
<CursorPos X="52" Y="946"/>
|
||||
<UsageCount Value="15"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="..\..\xlsbiff5.pas"/>
|
||||
<UnitName Value="xlsbiff5"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1110"/>
|
||||
<CursorPos X="1" Y="1134"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="..\..\xlsbiff2.pas"/>
|
||||
<UnitName Value="xlsbiff2"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="93"/>
|
||||
<CursorPos X="35" Y="83"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="d:\lazarus-svn\lcl\lclproc.pas"/>
|
||||
<UnitName Value="LCLProc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="841"/>
|
||||
<CursorPos X="19" Y="852"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit23>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="193" Column="14" TopLine="186"/>
|
||||
<Caret Line="422" Column="1" TopLine="400"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="194" Column="1" TopLine="186"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1446" Column="1" TopLine="1427"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="180" Column="58" TopLine="171"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1447" Column="1" TopLine="1427"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\..\fpsutils.pas"/>
|
||||
<Caret Line="56" Column="1" TopLine="34"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1365" Column="1" TopLine="1346"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\..\fpsutils.pas"/>
|
||||
<Caret Line="445" Column="1" TopLine="411"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1366" Column="1" TopLine="1346"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="..\..\fpsutils.pas"/>
|
||||
<Caret Line="59" Column="1" TopLine="21"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1367" Column="1" TopLine="1346"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="191" Column="1" TopLine="181"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1368" Column="1" TopLine="1346"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="1905" Column="39" TopLine="1869"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1375" Column="1" TopLine="1346"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="..\..\xlsbiff5.pas"/>
|
||||
<Caret Line="1372" Column="3" TopLine="1367"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1448" Column="1" TopLine="1429"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="205" Column="1" TopLine="186"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1450" Column="1" TopLine="1429"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="204" Column="23" TopLine="186"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1454" Column="1" TopLine="1429"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="..\..\xlsbiff2.pas"/>
|
||||
<Caret Line="464" Column="1" TopLine="435"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1455" Column="1" TopLine="1429"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="128" Column="45" TopLine="125"/>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="2178" Column="1" TopLine="2171"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="148" Column="28" TopLine="148"/>
|
||||
<Filename Value="mainform.pas"/>
|
||||
<Caret Line="115" Column="21" TopLine="87"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="222" Column="29" TopLine="188"/>
|
||||
<Caret Line="420" Column="3" TopLine="410"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="221" Column="47" TopLine="203"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1476" Column="55" TopLine="1413"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="200" Column="3" TopLine="180"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="498" Column="36" TopLine="479"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="222" Column="45" TopLine="196"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1342" Column="11" TopLine="1308"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="d:\lazarus-svn\lcl\graphics.pp"/>
|
||||
<Caret Line="1218" Column="14" TopLine="1200"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="496" Column="1" TopLine="468"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="211" Column="71" TopLine="241"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="498" Column="36" TopLine="468"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="d:\lazarus-svn\lcl\grids.pas"/>
|
||||
<Caret Line="4129" Column="3" TopLine="4124"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1309" Column="1" TopLine="1309"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="d:\lazarus-svn\lcl\include\canvas.inc"/>
|
||||
<Caret Line="1187" Column="3" TopLine="1178"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="d:\lazarus-svn\lcl\graphics.pp"/>
|
||||
<Caret Line="1207" Column="15" TopLine="1188"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="498" Column="27" TopLine="466"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="d:\lazarus-svn\lcl\graphics.pp"/>
|
||||
<Caret Line="1208" Column="40" TopLine="1188"/>
|
||||
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
|
||||
<Caret Line="420" Column="3" TopLine="410"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="1558" Column="3" TopLine="1520"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="292" Column="15" TopLine="267"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="162" Column="78" TopLine="147"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="498" Column="11" TopLine="466"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="1531" Column="29" TopLine="1518"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="500" Column="10" TopLine="468"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="409" Column="1" TopLine="382"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="1473" Column="38" TopLine="1435"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="613" Column="81" TopLine="588"/>
|
||||
<Filename Value="..\..\fpspreadsheet.pas"/>
|
||||
<Caret Line="20" Column="26" TopLine="1"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="..\..\xlsbiff8.pas"/>
|
||||
<Caret Line="163" Column="37" TopLine="144"/>
|
||||
<Caret Line="2" Column="7" TopLine="1"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
|
@ -72,7 +72,7 @@ object Form1: TForm1
|
||||
Top = 0
|
||||
Width = 392
|
||||
Align = alClient
|
||||
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goColSizing, goThumbTracking, goSmoothScroll, goCellEllipsis]
|
||||
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSizing, goColSizing, goThumbTracking, goSmoothScroll, goCellEllipsis]
|
||||
TabOrder = 0
|
||||
TitleStyle = tsNative
|
||||
end
|
||||
@ -132,10 +132,82 @@ object Form1: TForm1
|
||||
Caption = '&File'
|
||||
object mnuOpen: TMenuItem
|
||||
Action = AcOpen
|
||||
Bitmap.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
20000000000000040000640000006400000000000000000000002C86D8002D88
|
||||
D8F72D87D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88
|
||||
D8F72D88D8F72D87D8F72D88D8F72C86D800FFFFFF00FFFFFF00338ED9FBDCF0
|
||||
FAFF98E1F6FF95E0F6FF92DFF6FF8EDEF5FF89DCF5FF85DAF4FF80D9F4FF7AD7
|
||||
F3FF74D5F3FF70D3F2FFC2EAF8FF3594DAFFFFFFFF00FFFFFF003594DAF7EFFA
|
||||
FEFF93E5F8FF8FE4F8FF89E3F8FF82E1F7FF7ADFF7FF71DEF6FF67DBF5FF5BD8
|
||||
F4FF4DD4F3FF40D1F2FFCAF2FBFF3594DAFFFFFFFF00FFFFFF00369ADAF8F2FA
|
||||
FDFF94E6F8FF92E5F8FF90E5F8FF8BE3F8FF86E2F7FF7FE1F7FF77DEF6FF6CDC
|
||||
F6FF5ED9F4FF4FD5F3FFCCF2FBFF3594DAFFFFFFFF00FFFFFF0036A1DAF9F6FC
|
||||
FEFF94E5F8FF93E5F8FF93E5F8FF91E5F8FF93DBE9FF93D7E3FF93D2DCFF90CE
|
||||
D7FF8CC8CFFF86C1C6FFC9D8D6FF3594DAFFC57444E8CA7F53F137A6DAFAFEFF
|
||||
FFFFF8FDFFFFF6FDFFFFF5FCFFFFF3FCFEFF9AE4F4FF9AE6F7FF9BE6F6FF9DE5
|
||||
F5FF9EE5F5FF9FE5F4FFDAF3F8FF3594DAFFFDF4EEFFCA8054F935ABDAFAE8F6
|
||||
FBFF70BCE7FF55AAE2FF4DA5E0FF91C9EBFFFAF3EFFFFDFEFDFFFFFDFCFFFFFD
|
||||
FCFFFEFDFCFFFEFCFBFFFEFEFDFF3594DAFFEFF2E8FFCE8156FF36AADAF2F1FA
|
||||
FDFF94DEF5FF93DCF4FF64BCE9FF3594DAFF3594DAFF3594DAFF3594DAFF3594
|
||||
DAFF3594DAFF3594DAFF3594DAFF3594DAFFFBF6EFFFCC8355FE35AFDAF0F7FC
|
||||
FEFF8EE4F8FF91DEF5FF9FE0F5FFACE1F6FFCA8452FFFFF7F1FFFFE9D9FFFFEA
|
||||
DBFFFFE9D9FFFFE7D7FFFFE5D2FFFFE2CBFFFFF7F1FFCB8555FE36B3DAF8FDFE
|
||||
FEFFFEFFFFFFFEFEFFFFFDFEFFFFFEFFFFFFE4BA91FFFFF7F0FFFFE7D5FFFDE7
|
||||
D6FFFDE6D4FFFCE4D0FFFBE3CBFFFADCC2FFFEF3E8FFCC8656FE34B4D9D05EC2
|
||||
E1FA60C3E2FA60C3E2FA60C3E2FA5FC3E2FAE4BB91FFFFF7F2FFFEE7D5FFFEE7
|
||||
D5FFFDE5D1FFFAE0CAFFF9DEC4FFF7D9BCFFFDF2E7FFCC8757FEFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E4BB92FFFEF7F1FFFCE5D2FFFCE4
|
||||
D1FFFBE2CCFFF9DDC4FFF6D7BBFFF3D1AFFFFAEFE4FFCC8758FEFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E4BB92FFFEF6F0FFFCE2CDFFFCE3
|
||||
CDFFFADFC8FFF7D9BCFFF5E9DDFFFAF3EBFFFBF8F3FFCA8353FEFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E4BB93FFFEF5EDFFFCDEC5FFFBE0
|
||||
C7FFF9DCC2FFF5D3B4FFFEF9F3FFFAE2C4FFECC193FFC37D4893FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5BE96FFFFFFFEFFFDF3E9FFFDF3
|
||||
EAFFFCF2E8FFFAEFE3FFFAF2E7FFEABB88FFCF8555B3B4693D0CFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EAC39DFFE6BF96FFE4BB92FFE4BB
|
||||
92FFD1A06CF5D09E6DF6CC965FDAC479427EB2673C09FFFFFF00
|
||||
}
|
||||
OnClick = acOpenExecute
|
||||
end
|
||||
object mnuSaveAs: TMenuItem
|
||||
Action = AcSaveAs
|
||||
Bitmap.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000BA6A3600B969
|
||||
35B5B86935EEB76835FFB56835FFB46734FFB26634FFB06533FFAE6433FFAC63
|
||||
32FFAA6232FFA96132FFA86031FFA76031FEA66031F1A86131C4BA6A35DEEBC6
|
||||
ADFFEAC5ADFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
|
||||
F8FFFEFBF8FFFEFBF8FFFEFBF8FFC89A7CFFC79879FFA76031EDBA6B37FEEDCA
|
||||
B3FFE0A27AFFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0
|
||||
88FF62C088FF62C088FFFDF9F6FFCA8D65FFC99B7CFFA76031FEBB6C38FFEECC
|
||||
B6FFE1A27AFFFEFAF7FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC
|
||||
C2FFBFDCC2FFBFDCC2FFFDF9F6FFCD9068FFCC9E81FFA86132FFBB6B38FFEFCE
|
||||
B8FFE1A279FFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0
|
||||
88FF62C088FF62C088FFFDF9F6FFCF936AFFCEA384FFAA6132FFBA6A36FFEFD0
|
||||
BBFFE2A27AFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
|
||||
F8FFFEFBF8FFFEFBF8FFFEFBF8FFD3966DFFD2A78AFFAB6232FFBB6A36FFF0D2
|
||||
BEFFE2A37AFFE2A37AFFE1A37AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F
|
||||
76FFDC9D74FFD99B72FFD89971FFD69970FFD5AB8EFFAD6333FFBB6A36FFF2D5
|
||||
C2FFE3A37AFFE3A37AFFE2A37BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA0
|
||||
77FFDE9E75FFDC9D74FFDA9B73FFD99B73FFDAB095FFAF6433FFBB6A36FFF2D8
|
||||
C5FFE3A47BFFE3A37AFFE3A47AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA0
|
||||
77FFDE9F76FFDD9E74FFDB9C72FFDC9D74FFDDB59AFFB16534FFBB6B36FFF4D9
|
||||
C7FFE6A67DFFC88C64FFC98D65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C
|
||||
65FFC88C64FFC88C64FFC88C64FFDA9C74FFE1BA9FFFB36634FFBB6B36FEF4DC
|
||||
C9FFE7A77DFFF9ECE1FFF9ECE1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAED
|
||||
E5FFF7E7DBFFF7E5D9FFF6E5D8FFDEA077FFE4BEA4FFB46734FFBC6B36FAF5DD
|
||||
CCFFE7A87EFFFAF0E8FFFAF0E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4
|
||||
EFFFF9E9DFFFF7E7DBFFF7E5D9FFE0A278FFE7C2A9FFB66835FFBC6B36F0F6DF
|
||||
D0FFE8A87EFFFCF6F1FFFCF6F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9
|
||||
F6FFFAF0E8FFF8E8DDFFF7E6DBFFE1A37AFFEFD5C3FFB76935FEBC6B36D8F6DF
|
||||
D1FFE9AA80FFFEFAF6FFFDFAF6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFB
|
||||
F8FFFCF6F1FFF9ECE2FFF8E7DBFFEED0BAFFECD0BDFFBB703EF8BC6B369BF6E0
|
||||
D1FFF7E0D1FFFEFBF8FFFEFBF7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9
|
||||
F6FFFDFAF7FFFBF1EBFFF8E9DFFEECD0BDFBC9895EECB5693563BC6B3671BC6B
|
||||
3690BC6B36CCBC6B36EEBC6B36FABB6B36FEBB6B36FFBB6A36FFBB6A36FFBC6C
|
||||
39FFBD6E3BFFBB6D3AFFBB6B38EFBB703ECBB6693554FFFFFF00
|
||||
}
|
||||
OnClick = acSaveAsExecute
|
||||
end
|
||||
object MenuItem1: TMenuItem
|
||||
@ -143,6 +215,42 @@ object Form1: TForm1
|
||||
end
|
||||
object mnuQuit: TMenuItem
|
||||
Action = AcQuit
|
||||
Bitmap.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001D63
|
||||
9B1619609839145D9562105A92880D5890A4135C92FC0C578FED999999FF7171
|
||||
71FF545454FF515151FF4F4F4FFF4C4C4CFF4A4A4AFF474747FF454545FF2567
|
||||
9DFF3274A8FF3D7CAFFF4784B5FF4E8ABAFF3E7EADFF0C578FEAFFFFFF00FFFF
|
||||
FF00585858FFA2A2A2FFA2A2A2FFA3A3A3FFA4A4A4FFA4A4A4FFA5A5A5FF2F6F
|
||||
A5FF78ABD2FF78ABD3FF73A7D1FF69A0CDFF407FAEFF0F5991EAFFFFFF00FFFF
|
||||
FF005C5C5CFFA1A1A1FF3C7340FFA0A1A1FFA3A3A3FFA3A3A3FFA4A4A4FF3674
|
||||
AAFF7DAFD4FF5B9AC9FF5495C7FF5896C8FF4180AEFF135C94EAFFFFFF00FFFF
|
||||
FF00606060FFA0A0A0FF3D7641FF367139FFA2A2A2FFA2A2A2FFA3A3A3FF3D79
|
||||
B0FF82B3D7FF629FCCFF5A9AC9FF5E9BCAFF4381AFFF196098EA37823EFF347E
|
||||
3BFF317937FF2E7534FF499150FF468F4CFF39733DFFA1A1A1FFA2A2A2FF457E
|
||||
B4FF88B7D9FF67A3CFFF619ECCFF639FCCFF4583B1FF1F649CEA3B8742FF89CB
|
||||
92FF84C88DFF80C688FF7BC383FF77C17FFF478F4DFF3B743FFFA1A1A1FF4C84
|
||||
BAFF8DBBDBFF6EA8D1FF66A6D1FF5FB4DFFF4785B1FF2569A1EA3E8B46FF8FCE
|
||||
99FF7DC687FF78C381FF73C07CFF74C07CFF79C281FF49904FFF547F57FF5489
|
||||
BFFF94BFDDFF75ADD4FF63B8E1FF4BD4FFFF428BB8FF2C6EA6EA41904AFF94D2
|
||||
9FFF91D09AFF8DCD96FF89CB92FF84C88DFF519858FF417C46FF9F9F9FFF5A8E
|
||||
C4FF98C3E0FF7CB3D7FF74AFD6FF5EC4EDFF4B88B3FF3473ABEA44944DFF4291
|
||||
4BFF3F8D48FF3D8945FF5DA465FF5AA061FF45834BFF9E9E9EFF9E9E9EFF6092
|
||||
C9FF9EC7E2FF83B8DAFF7DB4D7FF7EB3D7FF4F89B4FF3B79B1EAFFFFFF00FFFF
|
||||
FF00777777FF9A9A9AFF3D8A45FF498A4FFF9C9C9CFF9D9D9DFF9D9D9DFF6696
|
||||
CCFFA2CBE3FF89BDDCFF83B9DAFF84B9DAFF518BB5FF437EB6EAFFFFFF00FFFF
|
||||
FF007A7A7AFF999999FF529159FF999A99FF9B9B9BFF9C9C9CFF9C9C9CFF6C9A
|
||||
D0FFA7CEE5FF8FC1DFFF89BDDCFF8BBDDCFF538DB6FF4B84BCEAFFFFFF00FFFF
|
||||
FF007D7D7DFF999999FF999999FF9A9A9AFF9A9A9AFF9B9B9BFF9B9B9BFF6F9D
|
||||
D3FFAAD1E7FFABD1E7FF98C7E1FF91C2DEFF568FB7FF5289C1EAFFFFFF00FFFF
|
||||
FF00808080FF7E7E7EFF7C7C7CFF7A7A7AFF777777FF757575FF727272FF719E
|
||||
D4FF6F9ED6FF87B2DCFFABD3E8FFA9D0E6FF5890B8FF598EC6EAFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00709ED6DB6D9CD4FF85B1DAFF5A91B9FF6093CBEAFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF006D9CD4896A9AD2FB6697CFEE
|
||||
}
|
||||
OnClick = acQuitExecute
|
||||
end
|
||||
end
|
||||
|
@ -21,186 +21,342 @@ LazarusResources.Add('TForm1','FORMDATA',[
|
||||
+#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'goCo'
|
||||
+'lSizing'#15'goThumbTracking'#14'goSmoothScroll'#14'goCellEllipsis'#0#8'TabO'
|
||||
+'rder'#2#0#10'TitleStyle'#7#8'tsNative'#0#0#0#0#8'TToolBar'#8'ToolBar1'#4'Le'
|
||||
+'ft'#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'TToolB'
|
||||
+'utton'#11'ToolButton1'#4'Left'#2#1#3'Top'#2#0#6'Action'#7#6'AcOpen'#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'A'
|
||||
+'cQuit'#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'TOpenDi'
|
||||
+'alog'#11'OpenDialog1'#10'DefaultExt'#6#4'.xls'#6'Filter'#6#192'Excel spread'
|
||||
+'sheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*.xlxs|LibreOffice/OpenO'
|
||||
+'ffice spreadsheet (*.ods)|*.ods|Wikitable (pipes) (.wikitable_pipes)|.wikit'
|
||||
+'able_pipes|All files (*.*)|*.*'#7'Options'#11#20'ofExtensionDifferent'#14'o'
|
||||
+'fEnableSizing'#12'ofViewDetail'#0#4'left'#2'@'#3'top'#3#176#0#0#0#11'TSaveD'
|
||||
+'ialog'#11'SaveDialog1'#10'DefaultExt'#6#4'.xls'#6'Filter'#6#185'Excel sprea'
|
||||
+'dsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*.xlsx|LibreOffice/Open'
|
||||
+'Office spreadsheet (*.ods)|*.ods|Wikitable (wikimedia) (.wikitable_wikimedi'
|
||||
+'a)|*.wikitable_wikimedia'#7'Options'#11#20'ofExtensionDifferent'#14'ofEnabl'
|
||||
+'eSizing'#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'T'
|
||||
+'MenuItem'#7'mnuFile'#7'Caption'#6#5'&File'#0#9'TMenuItem'#7'mnuOpen'#6'Acti'
|
||||
+'on'#7#6'AcOpen'#7'OnClick'#7#13'acOpenExecute'#0#0#9'TMenuItem'#9'mnuSaveAs'
|
||||
+#6'Action'#7#8'AcSaveAs'#7'OnClick'#7#15'acSaveAsExecute'#0#0#9'TMenuItem'#9
|
||||
+'MenuItem1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#7'mnuQuit'#6'Action'#7#6'AcQu'
|
||||
+'it'#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
|
||||
+#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#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
|
||||
+#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#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'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#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#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
|
||||
+#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
|
||||
+#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'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
|
||||
+#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'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'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
|
||||
]);
|
||||
|
@ -132,7 +132,7 @@ type
|
||||
{@@ List of possible formatting fields }
|
||||
|
||||
TsUsedFormattingField = (uffTextRotation, uffBold, uffBorder, uffBackgroundColor,
|
||||
uffNumberFormat, uffWordWrap);
|
||||
uffNumberFormat, uffWordWrap, uffHorAlign, uffVertAlign);
|
||||
|
||||
{@@ Describes which formatting fields are active }
|
||||
|
||||
@ -173,6 +173,10 @@ type
|
||||
|
||||
TsCellBorders = set of TsCellBorder;
|
||||
|
||||
{@@ Indicates horizontal and vertical text alignment in cells }
|
||||
TsHorAlignment = (haDefault, haLeft, haCenter, haRight);
|
||||
TsVertAlignment = (vaDefault, vaTop, vaCenter, vaBottom);
|
||||
|
||||
{@@ Colors in FPSpreadsheet as given by a palette to be compatible with Excel.
|
||||
However, please note that they are physically written to XLS file as
|
||||
ABGR (where A is 0) }
|
||||
@ -228,6 +232,8 @@ type
|
||||
{ Formatting fields }
|
||||
UsedFormattingFields: TsUsedFormattingFields;
|
||||
TextRotation: TsTextRotation;
|
||||
HorAlignment: TsHorAlignment;
|
||||
VertAlignment: TsVertAlignment;
|
||||
Border: TsCellBorders;
|
||||
BackgroundColor: TsColor;
|
||||
NumberFormat: TsNumberFormat;
|
||||
@ -298,6 +304,8 @@ type
|
||||
procedure WriteTextRotation(ARow, ACol: Cardinal; ARotation: TsTextRotation);
|
||||
procedure WriteUsedFormatting(ARow, ACol: Cardinal; AUsedFormatting: TsUsedFormattingFields);
|
||||
procedure WriteBackgroundColor(ARow, ACol: Cardinal; AColor: TsColor);
|
||||
procedure WriteHorAlignment(ARow, ACol: Cardinal; AValue: TsHorAlignment);
|
||||
procedure WriteVertAlignment(ARow, ACol: Cardinal; AValue: TsVertAlignment);
|
||||
{ Data manipulation methods - For Rows and Cols }
|
||||
function FindRow(ARow: Cardinal): PRow;
|
||||
function FindCol(ACol: Cardinal): PCol;
|
||||
@ -485,9 +493,11 @@ implementation
|
||||
uses
|
||||
Math, StrUtils;
|
||||
|
||||
var
|
||||
{ Translatable strings }
|
||||
lpUnsupportedReadFormat, lpUnsupportedWriteFormat: string;
|
||||
{ Translatable strings }
|
||||
resourcestring
|
||||
lpUnsupportedReadFormat = 'Tried to read a spreadsheet using an unsupported format';
|
||||
lpUnsupportedWriteFormat = 'Tried to write a spreadsheet using an unsupported format';
|
||||
lpNoValidSpreadsheetFile = '"%s" is not a valid spreadsheet file.';
|
||||
|
||||
{@@
|
||||
Registers a new reader/writer pair for a format
|
||||
@ -1193,6 +1203,24 @@ begin
|
||||
ACell^.BackgroundColor := AColor;
|
||||
end;
|
||||
|
||||
procedure TsWorksheet.WriteHorAlignment(ARow, ACol: Cardinal; AValue: TsHorAlignment);
|
||||
var
|
||||
lCell: PCell;
|
||||
begin
|
||||
lCell := GetCell(ARow, ACol);
|
||||
lCell^.UsedFormattingFields := lCell^.UsedFormattingFields + [uffHorAlign];
|
||||
lCell^.HorAlignment := AValue;
|
||||
end;
|
||||
|
||||
procedure TsWorksheet.WriteVertAlignment(ARow, ACol: Cardinal; AValue: TsVertAlignment);
|
||||
var
|
||||
lCell: PCell;
|
||||
begin
|
||||
lCell := GetCell(ARow, ACol);
|
||||
lCell^.UsedFormattingFields := lCell^.UsedFormattingFields + [uffVertAlign];
|
||||
lCell^.VertAlignment := AValue;
|
||||
end;
|
||||
|
||||
function TsWorksheet.FindRow(ARow: Cardinal): PRow;
|
||||
var
|
||||
LElement: TRow;
|
||||
@ -1307,12 +1335,7 @@ end;
|
||||
constructor TsWorkbook.Create;
|
||||
begin
|
||||
inherited Create;
|
||||
|
||||
FWorksheets := TFPList.Create;
|
||||
|
||||
// In the future: add support for translations
|
||||
lpUnsupportedReadFormat := 'Tried to read a spreadsheet using an unsupported format';
|
||||
lpUnsupportedWriteFormat := 'Tried to write a spreadsheet using an unsupported format';
|
||||
end;
|
||||
|
||||
{@@
|
||||
@ -1338,7 +1361,7 @@ var
|
||||
suffix: String;
|
||||
begin
|
||||
Result := True;
|
||||
suffix := ExtractFileExt(AFileName);
|
||||
suffix := Lowercase(ExtractFileExt(AFileName));
|
||||
if suffix = STR_EXCEL_EXTENSION then SheetType := sfExcel8
|
||||
else if suffix = STR_OOXML_EXCEL_EXTENSION then SheetType := sfOOXML
|
||||
else if suffix = STR_OPENDOCUMENT_CALC_EXTENSION then SheetType := sfOpenDocument
|
||||
@ -1446,7 +1469,8 @@ begin
|
||||
end
|
||||
else
|
||||
ReadFromFile(AFileName, SheetType);
|
||||
end;
|
||||
end else
|
||||
raise Exception.CreateFmt(lpNoValidSpreadsheetFile, [AFileName]);
|
||||
end;
|
||||
|
||||
procedure TsWorkbook.ReadFromFileIgnoringExtension(AFileName: string);
|
||||
@ -1713,6 +1737,12 @@ begin
|
||||
begin
|
||||
if (FFormattingStyles[i].UsedFormattingFields <> AFormat^.UsedFormattingFields) then Continue;
|
||||
|
||||
if uffHorAlign in AFormat^.UsedFormattingFields then
|
||||
if (FFormattingStyles[i].HorAlignment <> AFormat^.HorAlignment) then Continue;
|
||||
|
||||
if uffVertAlign in AFormat^.UsedFormattingFields then
|
||||
if (FFormattingStyles[i].VertAlignment <> AFormat^.VertAlignment) then Continue;
|
||||
|
||||
if uffTextRotation in AFormat^.UsedFormattingFields then
|
||||
if (FFormattingStyles[i].TextRotation <> AFormat^.TextRotation) then Continue;
|
||||
|
||||
|
@ -3,7 +3,7 @@ fpspreadsheetgrid.pas
|
||||
|
||||
Grid component which can load and write data from / to FPSpreadsheet documents
|
||||
|
||||
AUTHORS: Felipe Monteiro de Carvalho
|
||||
AUTHORS: Felipe Monteiro de Carvalho, Werner Pamler
|
||||
}
|
||||
unit fpspreadsheetgrid;
|
||||
|
||||
@ -190,7 +190,7 @@ end;
|
||||
// Converts the row height, given in mm, to pixels
|
||||
function TsCustomWorksheetGrid.CalcRowHeight(AHeight: Single): Integer;
|
||||
begin
|
||||
Result := round(AHeight / 25.4 * Screen.PixelsPerInch);
|
||||
Result := round(AHeight / 25.4 * Screen.PixelsPerInch) + 4;
|
||||
end;
|
||||
|
||||
procedure TsCustomWorksheetGrid.DoPrepareCanvas(ACol, ARow: Integer;
|
||||
@ -203,20 +203,35 @@ begin
|
||||
ts := Canvas.TextStyle;
|
||||
if FDisplayFixedColRow then begin
|
||||
// Formatting of row and column headers
|
||||
if ARow = 0 then
|
||||
ts.Alignment := taCenter
|
||||
else
|
||||
if ACol = 0 then
|
||||
if ARow = 0 then begin
|
||||
ts.Alignment := taCenter;
|
||||
ts.Layout := tlCenter;
|
||||
end else
|
||||
if ACol = 0 then begin
|
||||
ts.Alignment := taRightJustify;
|
||||
ts.Layout := tlCenter;
|
||||
end;
|
||||
end;
|
||||
if FWorksheet <> nil then begin
|
||||
r := ARow - FixedRows;
|
||||
c := ACol - FixedCols;
|
||||
lCell := FWorksheet.FindCell(r, c);
|
||||
if lCell <> nil then begin
|
||||
// Default alignment of number is right-justify
|
||||
if lCell^.ContentType = cctNumber then
|
||||
ts.Alignment := taRightJustify;
|
||||
case lCell^.HorAlignment of
|
||||
haDefault: if lCell^.ContentType = cctNumber then
|
||||
ts.Alignment := taRightJustify
|
||||
else
|
||||
ts.Alignment := taLeftJustify;
|
||||
haLeft : ts.Alignment := taLeftJustify;
|
||||
haCenter : ts.Alignment := taCenter;
|
||||
haRight : ts.Alignment := taRightJustify;
|
||||
end;
|
||||
case lCell^.VertAlignment of
|
||||
vaDefault: ts.Layout := tlBottom;
|
||||
vaTop : ts.Layout := tlTop;
|
||||
vaCenter : ts.Layout := tlCenter;
|
||||
vaBottom : ts.layout := tlBottom;
|
||||
end;
|
||||
// Word wrap?
|
||||
if (uffWordWrap in lCell^.UsedFormattingFields) then begin
|
||||
ts.Wordbreak := true;
|
||||
|
@ -51,6 +51,8 @@ type
|
||||
procedure TestWriteReadColWidths;
|
||||
// Test word wrapping
|
||||
procedure TestWriteReadWordWrap;
|
||||
// Test alignments
|
||||
procedure TestWriteReadAlignments;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@ -323,12 +325,78 @@ begin
|
||||
if MyCell = nil then
|
||||
fail('Error in test code. Failed to get non-wrapped cell.');
|
||||
CheckEquals((uffWordWrap in MyCell^.UsedFormattingFields), false, 'failed to return correct word-wrap flag, cell ' + CellNotation(MyWorksheet,0,0));
|
||||
// Finalization
|
||||
MyWorkbook.Free;
|
||||
|
||||
DeleteFile(TempFile);
|
||||
end;
|
||||
|
||||
procedure TSpreadWriteReadFormatTests.TestWriteReadAlignments;
|
||||
const
|
||||
CELLTEXT = 'This is a text.';
|
||||
var
|
||||
MyWorksheet: TsWorksheet;
|
||||
MyWorkbook: TsWorkbook;
|
||||
horAlign: TsHorAlignment;
|
||||
vertAlign: TsVertAlignment;
|
||||
row, col: Integer;
|
||||
MyCell: PCell;
|
||||
TempFile: string; //write xls/xml to this file and read back from it
|
||||
begin
|
||||
TempFile:=GetTempFileName;
|
||||
{// Not needed: use workbook.writetofile with overwrite=true
|
||||
if fileexists(TempFile) then
|
||||
DeleteFile(TempFile);
|
||||
}
|
||||
// Write out all test values: HorAlignments along columns, VertAlignments along rows
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
MyWorkSheet:= MyWorkBook.AddWorksheet(FmtNumbersSheet);
|
||||
|
||||
row := 0;
|
||||
for horAlign in TsHorAlignment do begin
|
||||
col := 0;
|
||||
for vertAlign in TsVertAlignment do begin
|
||||
MyWorksheet.WriteUTF8Text(row, col, CELLTEXT);
|
||||
MyWorksheet.WriteHorAlignment(row, col, horAlign);
|
||||
MyWorksheet.WriteVertAlignment(row, col, vertAlign);
|
||||
MyCell := MyWorksheet.FindCell(row, col);
|
||||
if MyCell = nil then
|
||||
fail('Error in test code. Failed to get cell.');
|
||||
CheckEquals(vertAlign = MyCell^.VertAlignment, true,
|
||||
'Test unsaved word vertical alignment, cell ' + CellNotation(MyWorksheet,0,0));
|
||||
CheckEquals(horAlign = MyCell^.HorAlignment, true,
|
||||
'Test unsaved word horizontal alignment, cell ' + CellNotation(MyWorksheet,0,0));
|
||||
inc(col);
|
||||
end;
|
||||
inc(row);
|
||||
end;
|
||||
MyWorkBook.WriteToFile(TempFile,sfExcel8,true);
|
||||
MyWorkbook.Free;
|
||||
|
||||
// Open the spreadsheet, as biff8
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
MyWorkbook.ReadFromFile(TempFile, sfExcel8);
|
||||
MyWorksheet:=GetWorksheetByName(MyWorkBook, FmtNumbersSheet);
|
||||
if MyWorksheet=nil then
|
||||
fail('Error in test code. Failed to get named worksheet');
|
||||
for row := 0 to MyWorksheet.GetLastRowNumber do
|
||||
for col := 0 to MyWorksheet.GetLastColNumber do begin
|
||||
MyCell := MyWorksheet.FindCell(row, col);
|
||||
if MyCell = nil then
|
||||
fail('Error in test code. Failed to get cell.');
|
||||
vertAlign := TsVertAlignment(col);
|
||||
if vertAlign = vaDefault then vertAlign := vaBottom;
|
||||
CheckEquals(vertAlign = MyCell^.VertAlignment, true,
|
||||
'Test saved vertical alignment mismatch, cell '+CellNotation(MyWorksheet,Row,Col));
|
||||
horAlign := TsHorAlignment(row);
|
||||
CheckEquals(horAlign = MyCell^.HorAlignment, true,
|
||||
'Test saved horizontal mismatch, cell '+CellNotation(MyWorksheet,Row,Col));
|
||||
end;
|
||||
MyWorkbook.Free;
|
||||
|
||||
DeleteFile(TempFile);
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
RegisterTest(TSpreadWriteReadFormatTests);
|
||||
InitSollFmtData;
|
||||
|
@ -66,6 +66,8 @@ type
|
||||
TXFRecordData = class
|
||||
public
|
||||
FormatIndex: Integer;
|
||||
HorAlignment: TsHorAlignment;
|
||||
VertAlignment: TsVertAlignment;
|
||||
WordWrap: Boolean;
|
||||
Borders: TsCellBorders;
|
||||
{
|
||||
@ -159,7 +161,8 @@ type
|
||||
procedure WriteColInfo(AStream: TStream; ASheet: TsWorksheet; ACol: PCol);
|
||||
procedure WriteXF(AStream: TStream; AFontIndex: Word;
|
||||
AFormatIndex: Word; AXF_TYPE_PROT, ATextRotation: Byte; ABorders: TsCellBorders;
|
||||
AddWordWrap: Boolean = false; AddBackground: Boolean = false;
|
||||
AHorAlignment: TsHorAlignment = haDefault; AVertAlignment: TsVertAlignment = vaDefault;
|
||||
AWordWrap: Boolean = false; AddBackground: Boolean = false;
|
||||
ABackgroundColor: TsColor = scSilver);
|
||||
public
|
||||
// constructor Create;
|
||||
@ -289,9 +292,18 @@ const
|
||||
MASK_XF_USED_ATTRIB_BACKGROUND = $40;
|
||||
MASK_XF_USED_ATTRIB_CELL_PROTECTION = $80;
|
||||
|
||||
{ XF HORIZONTAL ALIGN }
|
||||
MASK_XF_HOR_ALIGN_LEFT = $01;
|
||||
MASK_XF_HOR_ALIGN_CENTER = $02;
|
||||
MASK_XF_HOR_ALIGN_RIGHT = $03;
|
||||
MASK_XF_HOR_ALIGN_FILLED = $04;
|
||||
MASK_XF_HOR_ALIGN_JUSTIFIED = $05; // BIFF4-BIFF8
|
||||
MASK_XF_HOR_ALIGN_CENTERED_SELECTION= $06; // BIFF4-BIFF8
|
||||
MASK_XF_HOR_ALIGN_DISTRIBUTED = $07; // BIFF8
|
||||
|
||||
{ XF_VERT_ALIGN }
|
||||
MASK_XF_VERT_ALIGN_TOP = $00;
|
||||
MASK_XF_VERT_ALIGN_CENTRED = $10;
|
||||
MASK_XF_VERT_ALIGN_CENTER = $10;
|
||||
MASK_XF_VERT_ALIGN_BOTTOM = $20;
|
||||
MASK_XF_VERT_ALIGN_JUSTIFIED = $30;
|
||||
|
||||
@ -300,6 +312,12 @@ const
|
||||
XF_ROTATION_90_DEGREE_COUNTERCLOCKWISE = 90;
|
||||
XF_ROTATION_90_DEGREE_CLOCKWISE = 180;
|
||||
|
||||
{ XF CELL BORDER }
|
||||
MASK_XF_BORDER_LEFT = $0000000F;
|
||||
MASK_XF_BORDER_RIGHT = $000000F0;
|
||||
MASK_XF_BORDER_TOP = $00000F00;
|
||||
MASK_XF_BORDER_BOTTOM = $0000F000;
|
||||
|
||||
{ XF record constants }
|
||||
MASK_XF_TYPE_PROT = $0007;
|
||||
MASK_XF_TYPE_PROT_PARENT = $FFF0;
|
||||
@ -308,6 +326,7 @@ const
|
||||
MASK_XF_VERT_ALIGN = $70;
|
||||
MASK_XF_TEXTWRAP = $08;
|
||||
|
||||
|
||||
{
|
||||
Exported functions
|
||||
}
|
||||
@ -396,6 +415,8 @@ var
|
||||
lBorders: TsCellBorders;
|
||||
lAddBackground: Boolean;
|
||||
lBackgroundColor: TsColor;
|
||||
lHorAlign: TsHorAlignment;
|
||||
lVertAlign: TsVertAlignment;
|
||||
lWordWrap: Boolean;
|
||||
fmt: String;
|
||||
begin
|
||||
@ -407,6 +428,8 @@ begin
|
||||
lFormatIndex := 0; //General format (one of the built-in number formats)
|
||||
lTextRotation := XF_ROTATION_HORIZONTAL;
|
||||
lBorders := [];
|
||||
lHorAlign := FFormattingStyles[i].HorAlignment;
|
||||
lVertAlign := FFormattingStyles[i].VertAlignment;
|
||||
lBackgroundColor := FFormattingStyles[i].BackgroundColor;
|
||||
|
||||
// Now apply the modifications.
|
||||
@ -488,8 +511,8 @@ begin
|
||||
lWordwrap := (uffWordwrap in FFormattingStyles[i].UsedFormattingFields);
|
||||
|
||||
// And finally write the style
|
||||
WriteXF(AStream, lFontIndex, lFormatIndex, 0, lTextRotation, lBorders, lWordwrap,
|
||||
lAddBackground, lBackgroundColor);
|
||||
WriteXF(AStream, lFontIndex, lFormatIndex, 0, lTextRotation, lBorders,
|
||||
lHorAlign, lVertAlign, lWordwrap, lAddBackground, lBackgroundColor);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -648,6 +671,7 @@ begin
|
||||
WriteXF(AStream, 0, 0, 0, XF_ROTATION_90_DEGREE_CLOCKWISE, []);
|
||||
// XF18 - Bold
|
||||
WriteXF(AStream, 1, 0, 0, XF_ROTATION_HORIZONTAL, []);
|
||||
|
||||
// Add all further non-standard/built-in formatting styles
|
||||
ListAllFormattingStyles(AData);
|
||||
WriteXFFieldsForFormattingStyles(AStream);
|
||||
@ -1525,7 +1549,8 @@ end;
|
||||
*******************************************************************}
|
||||
procedure TsSpreadBIFF8Writer.WriteXF(AStream: TStream; AFontIndex: Word;
|
||||
AFormatIndex: Word; AXF_TYPE_PROT, ATextRotation: Byte; ABorders: TsCellBorders;
|
||||
AddWordWrap: Boolean = false; AddBackground: Boolean = false;
|
||||
AHorAlignment: TsHorAlignment = haDefault; AVertAlignment: TsVertAlignment = vaDefault;
|
||||
AWordWrap: Boolean = false; AddBackground: Boolean = false;
|
||||
ABackgroundColor: TsColor = scSilver);
|
||||
var
|
||||
XFOptions: Word;
|
||||
@ -1551,8 +1576,19 @@ begin
|
||||
AStream.WriteWord(WordToLE(XFOptions));
|
||||
|
||||
{ Alignment and text break }
|
||||
XFAlignment := MASK_XF_VERT_ALIGN_BOTTOM;
|
||||
if AddWordWrap then
|
||||
XFAlignment := 0;
|
||||
case AHorAlignment of
|
||||
haLeft : XFAlignment := XFAlignment or MASK_XF_HOR_ALIGN_LEFT;
|
||||
haCenter : XFAlignment := XFAlignment or MASK_XF_HOR_ALIGN_CENTER;
|
||||
haRight : XFAlignment := XFAlignment or MASK_XF_HOR_ALIGN_RIGHT;
|
||||
end;
|
||||
case AVertAlignment of
|
||||
vaTop : XFAlignment := XFAlignment or MASK_XF_VERT_ALIGN_TOP;
|
||||
vaCenter : XFAlignment := XFAlignment or MASK_XF_VERT_ALIGN_CENTER;
|
||||
vaBottom : XFAlignment := XFAlignment or MASK_XF_VERT_ALIGN_BOTTOM;
|
||||
else XFAlignment := XFAlignment or MASK_XF_VERT_ALIGN_BOTTOM;
|
||||
end;
|
||||
if AWordWrap then
|
||||
XFAlignment := XFAlignment or MASK_XF_TEXTWRAP;
|
||||
|
||||
AStream.WriteByte(XFAlignment);
|
||||
@ -2058,6 +2094,10 @@ begin
|
||||
if Assigned(lCell) then begin
|
||||
XFData := TXFRecordData(FXFList.Items[XFIndex]);
|
||||
|
||||
// Alignment
|
||||
lCell^.HorAlignment := XFData.HorAlignment;
|
||||
lCell^.VertAlignment := XFData.VertAlignment;
|
||||
|
||||
// Word wrap
|
||||
if XFData.WordWrap then
|
||||
Include(lCell^.UsedFormattingFields, uffWordWrap)
|
||||
@ -2395,6 +2435,7 @@ type
|
||||
var
|
||||
lData: TXFRecordData;
|
||||
xf: TXFRecord;
|
||||
b: Byte;
|
||||
begin
|
||||
AStream.ReadBuffer(xf, SizeOf(xf));
|
||||
|
||||
@ -2403,6 +2444,20 @@ begin
|
||||
// Format index
|
||||
lData.FormatIndex := WordLEToN(xf.FormatIndex);
|
||||
|
||||
// Horizontal text alignment
|
||||
b := xf.Align_TextBreak AND MASK_XF_HOR_ALIGN;
|
||||
if (b <= ord(High(TsHorAlignment))) then
|
||||
lData.HorAlignment := TsHorAlignment(b)
|
||||
else
|
||||
lData.HorAlignment := haDefault;
|
||||
|
||||
// Vertical text alignment
|
||||
b := (xf.Align_TextBreak AND MASK_XF_VERT_ALIGN) shr 4;
|
||||
if (b + 1 <= ord(high(TsVertAlignment))) then
|
||||
lData.VertAlignment := tsVertAlignment(b + 1) // + 1 due to vaDefault
|
||||
else
|
||||
lData.VertAlignment := vaDefault;
|
||||
|
||||
// Word wrap
|
||||
lData.WordWrap := (xf.Align_TextBreak and MASK_XF_TEXTWRAP) <> 0;
|
||||
|
||||
@ -2411,13 +2466,13 @@ begin
|
||||
lData.Borders := [];
|
||||
// the 4 masked bits encode the line style of the border line. 0 = no line
|
||||
// We ignore the line style here. --> check against "no line"
|
||||
if xf.Border_Background_1 and $0000000F <> 0 then
|
||||
if xf.Border_Background_1 and MASK_XF_BORDER_LEFT <> 0 then
|
||||
Include(lData.Borders, cbWest);
|
||||
if xf.Border_Background_1 and $000000F0 <> 0 then
|
||||
if xf.Border_Background_1 and MASK_XF_BORDER_RIGHT <> 0 then
|
||||
Include(lData.Borders, cbEast);
|
||||
if xf.Border_Background_1 and $00000F00 <> 0 then
|
||||
if xf.Border_Background_1 and MASK_XF_BORDER_TOP <> 0 then
|
||||
Include(lData.Borders, cbNorth);
|
||||
if xf.Border_Background_1 and $0000F000 <> 0 then
|
||||
if xf.Border_Background_1 and MASK_XF_BORDER_BOTTOM <> 0 then
|
||||
Include(lData.Borders, cbSouth);
|
||||
|
||||
// Add the XF to the list
|
||||
|
@ -862,19 +862,22 @@ begin
|
||||
end;
|
||||
|
||||
{ This function checks whether the format string corresponds to exponential
|
||||
formatting and determines the number decimals }
|
||||
formatting and determines the number of decimals }
|
||||
function IsExpNumberFormat(s: String; out Decimals: Word): Boolean;
|
||||
var
|
||||
i, p, pe: Integer;
|
||||
begin
|
||||
Result := false;
|
||||
Decimals := 0;
|
||||
|
||||
if SameText(s, 'General') then
|
||||
exit;
|
||||
|
||||
// Check for a valid format string
|
||||
try
|
||||
FormatDateTime(s, 1.0);
|
||||
except
|
||||
on EConvertError do begin
|
||||
Result := false;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
Reference in New Issue
Block a user