mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-02 18:20:30 +02:00
Tools: GLazRes, a new GUI version of LazRes. Issue #21694, patch from Bart Broersma
git-svn-id: trunk@41125 -
This commit is contained in:
parent
495e85b016
commit
50fe24b04c
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -7757,7 +7757,10 @@ tools/delete_non_svn_files.pl svneol=native#text/plain
|
||||
tools/find_missing_lpl_files.sh svneol=native#text/plain
|
||||
tools/getallpofiles.sh -text svneol=native#application/x-sh
|
||||
tools/glazres/glazres.ico -text svneol=unset#image/ico
|
||||
tools/glazres/glazres.lpi svneol=native#text/plain
|
||||
tools/glazres/glazres.lpr svneol=native#text/pascal
|
||||
tools/glazres/glazresmain.lfm svneol=native#text/plain
|
||||
tools/glazres/glazresmain.pp svneol=native#text/pascal
|
||||
tools/iconvtable.lpi svneol=native#text/plain
|
||||
tools/iconvtable.pas svneol=native#text/plain
|
||||
tools/install/README.txt svneol=native#text/plain
|
||||
|
501
tools/glazres/glazres.lpi
Normal file
501
tools/glazres/glazres.lpi
Normal file
@ -0,0 +1,501 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="9"/>
|
||||
<PathDelim Value="\"/>
|
||||
<General>
|
||||
<MainUnit Value="0"/>
|
||||
<Title Value="glazres"/>
|
||||
<ResourceType Value="res"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
<Icon Value="0"/>
|
||||
<ActiveWindowIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<i18n>
|
||||
<EnableI18N LFM="False"/>
|
||||
</i18n>
|
||||
<VersionInfo>
|
||||
<StringTable ProductVersion=""/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="2" Active="Release">
|
||||
<Item1 Name="Debug" Default="True"/>
|
||||
<Item2 Name="Release">
|
||||
<CompilerOptions>
|
||||
<Version Value="11"/>
|
||||
<PathDelim Value="\"/>
|
||||
<Target>
|
||||
<Filename Value="glazres"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<SmartLinkUnit Value="True"/>
|
||||
<Optimizations>
|
||||
<VariablesInRegisters Value="True"/>
|
||||
</Optimizations>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<GenerateDebugInfo Value="False"/>
|
||||
<DebugInfoType Value="dsStabs"/>
|
||||
<UseLineInfoUnit Value="False"/>
|
||||
</Debugging>
|
||||
<LinkSmart Value="True"/>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerMessages>
|
||||
<UseMsgFile Value="True"/>
|
||||
</CompilerMessages>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
</Item2>
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="1">
|
||||
<Item1>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="33">
|
||||
<Unit0>
|
||||
<Filename Value="glazres.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="glazres"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<UsageCount Value="39"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="GLazResForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="glazresmain"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="508"/>
|
||||
<CursorPos X="6" Y="431"/>
|
||||
<UsageCount Value="39"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="C:\Documents and Settings\AndyK\My Documents\lazprojects\Addons\TabbedHeader.pas"/>
|
||||
<UnitName Value="TabbedHeader"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="3" Y="7"/>
|
||||
<UsageCount Value="14"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\lcl\include\canvas.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="916"/>
|
||||
<CursorPos X="1" Y="932"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="..\lcl\buttons.pp"/>
|
||||
<UnitName Value="Buttons"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="506"/>
|
||||
<CursorPos X="21" Y="382"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="..\lcl\chart.pp"/>
|
||||
<UnitName Value="Chart"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="332"/>
|
||||
<CursorPos X="32" Y="249"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="..\lcl\comctrls.pp"/>
|
||||
<UnitName Value="ComCtrls"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="93" Y="3"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="..\lcl\controls.pp"/>
|
||||
<UnitName Value="Controls"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="3864"/>
|
||||
<CursorPos X="29" Y="3884"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="..\lcl\editbtn.pas"/>
|
||||
<UnitName Value="EditBtn"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="..\lcl\grids.pas"/>
|
||||
<UnitName Value="Grids"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="595"/>
|
||||
<CursorPos X="28" Y="3253"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="..\lcl\include\customcontrol.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="114"/>
|
||||
<CursorPos X="1" Y="134"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="..\lcl\include\control.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="3460"/>
|
||||
<CursorPos X="1" Y="3480"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\lcl\include\rasterimage.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="293"/>
|
||||
<CursorPos X="1" Y="308"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\lcl\include\custombitmap.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="335"/>
|
||||
<CursorPos X="1" Y="354"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\lcl\graphics.pp"/>
|
||||
<UnitName Value="Graphics"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="986"/>
|
||||
<CursorPos X="34" Y="984"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\lcl\include\brush.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="181"/>
|
||||
<CursorPos X="1" Y="197"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="..\lcl\include\winapi.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="276"/>
|
||||
<CursorPos X="1" Y="289"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\lcl\interfaces\win32\win32winapi.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1444"/>
|
||||
<CursorPos X="1" Y="1460"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="lazres.pp"/>
|
||||
<UnitName Value="LazRes"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="22"/>
|
||||
<CursorPos X="1" Y="34"/>
|
||||
<UsageCount Value="18"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="..\lcl\lresources.pp"/>
|
||||
<UnitName Value="LResources"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1197"/>
|
||||
<CursorPos X="1" Y="1211"/>
|
||||
<UsageCount Value="14"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<Filename Value="C:\Documents and Settings\AndyK\My Documents\lazprojects\Addons\smithchart.pas"/>
|
||||
<UnitName Value="Smithchart"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="52" Y="15"/>
|
||||
<UsageCount Value="14"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="C:\Documents and Settings\AndyK\My Documents\lazprojects\Addons\Smithchart.lrs"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="17" Y="1"/>
|
||||
<UsageCount Value="14"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="C:\devel\lazarus\tools\lazres.pp"/>
|
||||
<UnitName Value="LazRes"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="31"/>
|
||||
<CursorPos X="1" Y="56"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="C:\devel\lazarus\lcl\stdctrls.pp"/>
|
||||
<UnitName Value="StdCtrls"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1538"/>
|
||||
<CursorPos X="46" Y="1549"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="C:\devel\lazarus\lcl\include\customlistbox.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="459"/>
|
||||
<CursorPos X="3" Y="462"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="C:\devel\lazarus\lcl\lcltype.pp"/>
|
||||
<UnitName Value="LCLType"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1127"/>
|
||||
<CursorPos X="5" Y="1141"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="glazresmain.lfm"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="217"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<DefaultSyntaxHighlighter Value="LFM"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="C:\devel\lazarus\lcl\lresources.pp"/>
|
||||
<UnitName Value="LResources"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="3038"/>
|
||||
<CursorPos X="3" Y="3040"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="C:\devel\lazarus\lcl\forms.pp"/>
|
||||
<UnitName Value="Forms"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1356"/>
|
||||
<CursorPos X="15" Y="1369"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="C:\devel\fpc\source\rtl\objpas\sysutils\osutilsh.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="25"/>
|
||||
<CursorPos X="10" Y="39"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="C:\devel\fpc\source\rtl\win\sysutils.pp"/>
|
||||
<UnitName Value="sysutils"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1089"/>
|
||||
<CursorPos X="3" Y="1091"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="C:\devel\fpc\source\rtl\objpas\sysutils\osutil.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="67"/>
|
||||
<CursorPos X="30" Y="84"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="C:\devel\fpc\source\packages\fcl-base\src\inifiles.pp"/>
|
||||
<UnitName Value="IniFiles"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="608"/>
|
||||
<CursorPos X="3" Y="612"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit32>
|
||||
</Units>
|
||||
<JumpHistory Count="28" HistoryIndex="27">
|
||||
<Position1>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="423" Column="20" TopLine="409"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="85" Column="34" TopLine="61"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="319" Column="3" TopLine="283"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="425" Column="20" TopLine="414"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="75" Column="26" TopLine="52"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="114" Column="72" TopLine="97"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="449" Column="22" TopLine="442"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="455" Column="1" TopLine="441"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="341" Column="6" TopLine="330"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="351" Column="14" TopLine="330"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="379" Column="1" TopLine="378"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="510" Column="16" TopLine="487"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="160" Column="1" TopLine="132"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="132" Column="14" TopLine="119"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="536" Column="1" TopLine="521"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="150" Column="1" TopLine="134"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="525" Column="1" TopLine="525"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="155" Column="1" TopLine="134"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="535" Column="1" TopLine="516"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="163" Column="6" TopLine="150"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="474" Column="1" TopLine="474"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="453" Column="1" TopLine="332"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="356" Column="1" TopLine="342"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="66" Column="51" TopLine="52"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="188" Column="8" TopLine="160"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="193" Column="3" TopLine="191"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="500" Column="37" TopLine="497"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="glazresmain.pp"/>
|
||||
<Caret Line="469" Column="34" TopLine="453"/>
|
||||
</Position28>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="11"/>
|
||||
<PathDelim Value="\"/>
|
||||
<Target>
|
||||
<Filename Value="glazres"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<Checks>
|
||||
<IOChecks Value="True"/>
|
||||
<RangeChecks Value="True"/>
|
||||
<OverflowChecks Value="True"/>
|
||||
<StackChecks Value="True"/>
|
||||
</Checks>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<UseHeaptrc Value="True"/>
|
||||
</Debugging>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerMessages>
|
||||
<UseMsgFile Value="True"/>
|
||||
</CompilerMessages>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions Count="3">
|
||||
<Item1>
|
||||
<Name Value="EAbort"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item3>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
<EditorMacros Count="0"/>
|
||||
</CONFIG>
|
454
tools/glazres/glazresmain.lfm
Normal file
454
tools/glazres/glazresmain.lfm
Normal file
@ -0,0 +1,454 @@
|
||||
object GLazResForm: TGLazResForm
|
||||
Left = 547
|
||||
Height = 532
|
||||
Top = 94
|
||||
Width = 610
|
||||
HorzScrollBar.Page = 610
|
||||
VertScrollBar.Page = 532
|
||||
ActiveControl = DestEdt
|
||||
AutoScroll = True
|
||||
Caption = 'LRS Builder'
|
||||
ClientHeight = 532
|
||||
ClientWidth = 610
|
||||
Icon.Data = {
|
||||
3615000000000100020010100000000020006804000026000000202000000000
|
||||
2000A81000008E04000028000000100000002000000001002000000000004004
|
||||
000000000000000000000000000000000000FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01433D2E03313131093232320F313131153232321B3232
|
||||
32214C4C4C1B4C4C4C0D4C4C4C05FFFFFF01FFFFFF01323232073131310D3131
|
||||
31133131311B9D741D15E39E11195B4A2B2B323232353131313B323231433432
|
||||
31494C4B4B3F4C4C4C314C4C4C23FFFFFF01FFFFFF0132323223323232353131
|
||||
313B3332314356452C47CA861D45BA7B2151654A2B6F5C42268B533D24A74B39
|
||||
26BD654E37975A4F455F4C4B4B474C4C4C03FFFFFF01483C2E495540287D4D3A
|
||||
259B473724B5403222CBC18811C7DE9C0CD74E3B1BF5232323FF242424FF2727
|
||||
27FF464646FF4D453CE55045399F4D433C07FFFFFF0124211FC3232323FF2424
|
||||
24FF242424FF463B23FFF4BD24FFA8801EFF232323FF242424FF242424FF2828
|
||||
28FF484848FF464646FF444444FF210F020FFFFFFF01242221CB252422FF2424
|
||||
24FF242424FF9B853AFFE6C446FF363024FF242424FF242424FF242424FF2929
|
||||
29FF484848FF464646FF444444FF2714050FFFFFFF01242220CD7D6734FF2525
|
||||
24FF312F29FFE7D66DFF756B3EFF232323FF242424FF242424FF242424FF2A2A
|
||||
2AFF484848FF464646FF444444FF2816050FFFFFFF01232220CFB7A756FF8076
|
||||
4CFF7E7555FFC4B679FF272726FF242424FF242424FF242424FF242424FF2B2B
|
||||
2BFF494949FF464646FF444444FF2817050FFFFFFF012A2927D1BBAF68FFF1E8
|
||||
9BFFDDD4A4FF6A6355FF3E3A35FF38342DFF252423FF252525FF242424FF2C2C
|
||||
2CFF4E4E4EFF454545FF484848FF2716050FFFFFFF013D3C3BD3C0B471FFFEF8
|
||||
AFFFFEF9CDFFF9F3DDFFE6D9BFFF786D5CFF424241FF464646FF454545FF3A3A
|
||||
3AFF5B5B5BFF575757FF595959FF2514040FFFFFFF0142413FD5C1B56BFFFDF7
|
||||
A0FFFCF5B4FFC7BC96FF58544EFF494949FF4A4A4AFF4B4B4BFF4B4B4BFF5454
|
||||
54FF585858FF565656FF565656FF2514040FFFFFFF01454443D5C2B25CFFF3E7
|
||||
7AFF958B5FFF4B4B4AFF4D4D4DFF4E4E4EFF4F4F4FFF4F4F4FFF505050FF5A5A
|
||||
5AFF555555FF535353FF535353FF2615040FFFFFFF01494847D7A48B46FF6C64
|
||||
4BFF515151FF525252FF525252FF535353FF545454FF545454FF555555FF6060
|
||||
60FF535353FF505050FF505050FF2310020FFFFFFF014A4947D1555453FF5555
|
||||
55FF565656FF565656FF575757FF585858FF595959FF595959FF5A5A5AFF6565
|
||||
65FF505050FF4D4D4DFF4B4B4BF71608000BFFFFFF01EAB10E097E64202B6C5E
|
||||
3B4F665D4573635C4A97635D4EB9605C51DB5C5A56F55E5E5EFF5F5F5FFF6A6A
|
||||
6AFF4D4D4CFD50483CAB664C2229FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01E69E0205E69D040D845E1627725E3A4B7E73
|
||||
5F6F7F6A4A37FFFFFF01FFFFFF01FFFFFF010000FFFF0000FFFF0000FFFF0000
|
||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF2800000020000000400000000100
|
||||
2000000000008010000000000000000000000000000000000000FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF012F2F2F03323232033434
|
||||
3407323232093131310D3232320F3232321332323217323232194C4C4C154C4C
|
||||
4C0F4C4C4C074D4D4D03FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01433D2E093232320F32323213333333173232
|
||||
32193131311D3232322133333323323232273232322B3232322D4C4C4C274C4C
|
||||
4C214C4C4C194C4C4C134C4C4C0B4C4C4C05FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF013232320331313105303030093333330B3232320F3131
|
||||
31138E6D2009F4AC0B09F2AA0C0FDD9D1013453E2F2132323227323232293232
|
||||
322D3131313132323233323232373232323B3232323D323232414C4C4C394C4C
|
||||
4C334C4C4C2B4C4C4C254C4C4C1D4C4C4C17FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01323232093232321332323215323232193232321D3232321F323232233232
|
||||
322754472C25E8A1101DE49E1221E19B1325BD841B2D383631393333333D3232
|
||||
324132323243323232473232324B3332314F34333153373431574E4B4A4D4C4C
|
||||
4C454C4C4C3D4C4C4C374C4C4C2F4C4C4C294C4C4C03FFFFFF01FFFFFF01FFFF
|
||||
FF013232321332323225323232293232322D3232322F32323233323232373232
|
||||
32393232323DA9781F33D7921833D4901A39D08C1B3D996C2445363331533B35
|
||||
30594138305F493B3067513F2F715A432E7B64492D856B4C2D8D6E553F79594E
|
||||
45614E4B4A514C4C4C494C4C4C414C4C4C3B4C4C4C05FFFFFF01FFFFFF01FFFF
|
||||
FF013232321D323232393232323D3232323F32323243313131473332314B3633
|
||||
314F3A3530555C472C57C4822051C27F2157C07D225FBE7B23678E60277B7753
|
||||
2A95755025AB5E411FBF573E20D14D381FDF3C2E1EED3B3126F35C4934DD7452
|
||||
2EA96E553D7D584E46634D4B4B554C4C4C4D4C4C4C07FFFFFF01FFFFFF01FFFF
|
||||
FF01323131273733314F3D3630574339305D4B3C306553402F6F5D462E79694C
|
||||
2E8576532C916F4D259F94631A99C5861899C98A14ABCD8D11BFAF7615D92320
|
||||
1CFB232323FF232323FF242424FF242424FF242424FF2B2B2BFF494949FF4140
|
||||
40FF514435E562492EB16D553E7F554D47654D4A4909FFFFFF01FFFFFF01FFFF
|
||||
FF0140372E335F482D79684A27955B4121AD503A20C34A3721D53B2F1FE5352C
|
||||
20F123211EFD212121FFB27F11F5EDAB09F3F2AD06F9E8A30AFB543F18FF2323
|
||||
23FF242424FF242424FF242424FF242424FF242424FF2B2B2BFF494949FF4646
|
||||
46FF464646FF444444FF443E37ED493F33AF4E40360FFFFFFF01FFFFFF01FFFF
|
||||
FF01241F1A8324221FF7202021FF242424FF242424FF242424FF242424FF2424
|
||||
24FF242424FF40351EFFECB01CFFF8BC18FFF3B617FFA17518FF232323FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF2C2C2CFF4A4A4AFF4646
|
||||
46FF464646FF464646FF464646FF424243FF1F10031DFFFFFF01FFFFFF01FFFF
|
||||
FF0124201C97242424FF242424FF242424FF242424FF242424FF242424FF2424
|
||||
24FF232323FF927227FFF4C42FFFF8C72EFFDCAA2AFF322C20FF242424FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF2D2D2DFF4A4A4AFF4646
|
||||
46FF464646FF464646FF464646FF424243FF230F011DFFFFFF01FFFFFF01FFFF
|
||||
FF0124211C99242424FF242424FF242424FF242424FF242424FF242424FF2424
|
||||
24FF2B2822FFDEB73EFFF9D343FFF0C940FF6D5927FF242424FF242424FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF2E2E2EFF4B4B4BFF4646
|
||||
46FF464646FF464646FF464646FF424243FF2714051FFFFFFF01FFFFFF01FFFF
|
||||
FF0124211C99242424FF2C2720FF232323FF242424FF242424FF242424FF2424
|
||||
24FF706033FFF3D656FFF7DC57FFB89B41FF232222FF242424FF242424FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF2F2F2FFF4B4B4BFF4646
|
||||
46FF464646FF464646FF464646FF424243FF2815051FFFFFFF01FFFFFF01FFFF
|
||||
FF0124201C9B242424FF745A2EFF443A26FF232323FF242424FF242424FF2727
|
||||
27FFC2AD53FFF8E76DFFEAD363FF423C29FF232323FF242424FF242424FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF303030FF4B4B4BFF4646
|
||||
46FF464646FF464646FF464646FF424243FF2815051FFFFFFF01FFFFFF01FFFF
|
||||
FF0124201C9D242424FF7D6935FFBFA148FF2A2926FF242424FF232323FF564F
|
||||
39FFEFDF79FFF4E77EFF857846FF262626FF242424FF242424FF242424FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF313131FF4C4C4CFF4646
|
||||
46FF464646FF464646FF464646FF424243FF2817051FFFFFFF01FFFFFF01FFFF
|
||||
FF0123201C9D242424FF7F6F3BFFECD867FF8E7F48FF292929FF2D2D2DFF9E90
|
||||
5BFFF5E991FFCDBB74FF32312DFF232323FF242424FF242424FF242424FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF323232FF4C4C4CFF4646
|
||||
46FF464646FF464646FF464646FF424243FF2817051FFFFFFF01FFFFFF01FFFF
|
||||
FF0123201C9F242424FF7F713FFFF4E77AFFEDDD7DFF5D5643FF46433DFFE8D6
|
||||
90FFEFE09BFF5F5745FF262626FF242424FF242424FF242424FF242424FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF343434FF4C4C4CFF4646
|
||||
46FF464646FF464646FF464646FF424243FF2817051FFFFFFF01FFFFFF01FFFF
|
||||
FF0122201CA1242424FF7F7243FFF6EB86FFF9F196FFD3C583FF908767FFF3E7
|
||||
ADFFA69875FF313131FF242424FF242424FF242424FF242424FF242424FF2424
|
||||
24FF242424FF242424FF242424FF242424FF242424FF353535FF505050FF4646
|
||||
46FF464646FF464646FF464646FF424243FF2817051FFFFFFF01FFFFFF01FFFF
|
||||
FF012F2D29A3323232FF84774AFFF6EB8EFFFDF7A4FFFBF4AFFFFAF3BBFFF8EF
|
||||
C3FF726C5FFF5F5951FF5A534AFF564F45FF50493CFF4A4032FF292623FF2323
|
||||
23FF242424FF282828FF272727FF232323FF242424FF353535FF5D5D5DFF4747
|
||||
47FF464646FF454545FF494949FF4F4F4FFF2615051FFFFFFF01FFFFFF01FFFF
|
||||
FF01383532A5404040FF8A7D51FFF6EC91FFFEF8A9FFFEF9B8FFFEF9C8FFFDF8
|
||||
D4FFF8F1D9FFF4EBDBFFF3E8D5FFEEE0C1FFD8C197FF73644EFF3B3B3AFF4040
|
||||
40FF454545FF454545FF454545FF404040FF2B2B2BFF373737FF5F5F5FFF5757
|
||||
57FF545454FF595959FF5B5B5BFF5A5A5AFF2514041FFFFFFF01FFFFFF01FFFF
|
||||
FF013A3734A7424242FF8B7E52FFF6EB90FFFEF8A7FFFFF9B6FFFFF9C5FFFEFA
|
||||
D3FFFEFADFFFFCF7E3FFF5EBD2FFC2B294FF524D47FF444444FF464646FF4747
|
||||
47FF474747FF474747FF484848FF484848FF474747FF404040FF5E5E5EFF5858
|
||||
58FF585858FF595959FF5A5A5AFF585858FF2514041FFFFFFF01FFFFFF01FFFF
|
||||
FF013B3936A9454545FF8C7F52FFF6EB8AFFFEF79FFFFEF8ADFFFEF9BAFFFEF9
|
||||
C5FFFBF4C8FFEEE0B6FF90836DFF424140FF484848FF494949FF494949FF4949
|
||||
49FF4A4A4AFF4A4A4AFF4A4A4AFF4B4B4BFF4B4B4BFF585858FF5D5D5DFF5656
|
||||
56FF575757FF585858FF585858FF575757FF2514041FFFFFFF01FFFFFF01FFFF
|
||||
FF013D3B37AB474747FF8E8050FFF5EA80FFFDF794FFFEF8A0FFFDF6A8FFF7ED
|
||||
A9FFD5C38EFF60594CFF444444FF4A4A4AFF4B4B4BFF4B4B4BFF4B4B4BFF4C4C
|
||||
4CFF4C4C4CFF4C4C4CFF4D4D4DFF4D4D4DFF4E4E4EFF606060FF5B5B5BFF5454
|
||||
54FF555555FF565656FF575757FF555555FF2614041FFFFFFF01FFFFFF01FFFF
|
||||
FF013E3C39AD494949FF90814EFFF5E874FFFDF584FFFAF28CFFF1E38AFFA898
|
||||
65FF484641FF4A4A4AFF4C4C4CFF4D4D4DFF4D4D4DFF4D4D4DFF4E4E4EFF4E4E
|
||||
4EFF4E4E4EFF4F4F4FFF4F4F4FFF505050FF505050FF636363FF5A5A5AFF5353
|
||||
53FF535353FF545454FF555555FF535353FF2615041FFFFFFF01FFFFFF01FFFF
|
||||
FF013F3D3AAD4C4C4CFF92804BFFF4E065FFF7E870FFE0CD69FF756B49FF4646
|
||||
46FF4E4E4EFF4F4F4FFF4F4F4FFF4F4F4FFF505050FF505050FF505050FF5151
|
||||
51FF515151FF515151FF525252FF525252FF525252FF666666FF595959FF5151
|
||||
51FF525252FF535353FF545454FF525252FF2615041FFFFFFF01FFFFFF01FFFF
|
||||
FF01413F3CAF4E4E4EFF927D46FFEBCB52FFBDA34DFF565244FF4E4E4EFF5050
|
||||
50FF515151FF515151FF515151FF525252FF525252FF525252FF535353FF5353
|
||||
53FF535353FF545454FF545454FF545454FF555555FF696969FF585858FF4F4F
|
||||
4FFF505050FF515151FF525252FF505050FF2411031FFFFFFF01FFFFFF01FFFF
|
||||
FF0142403DB1515151FF8B7142FF8A733EFF4D4C4CFF525252FF535353FF5353
|
||||
53FF535353FF545454FF545454FF545454FF555555FF555555FF555555FF5656
|
||||
56FF565656FF565656FF575757FF575757FF575757FF6B6B6BFF575757FF4E4E
|
||||
4EFF4F4F4FFF505050FF515151FF4F4F4FFF220F011DFFFFFF01FFFFFF01FFFF
|
||||
FF0143413EB1535353FF54524FFF545454FF545454FF555555FF555555FF5555
|
||||
55FF555555FF565656FF565656FF565656FF575757FF575757FF575757FF5858
|
||||
58FF585858FF595959FF595959FF595959FF5A5A5AFF6E6E6EFF565656FF4C4C
|
||||
4CFF4D4D4DFF4E4E4EFF4F4F4FFF4D4D4DFF1A0B011BFFFFFF01FFFFFF01FFFF
|
||||
FF013F3D39974E4D4CFB565656FF565656FF575757FF575757FF575757FF5858
|
||||
58FF585858FF585858FF595959FF595959FF595959FF5A5A5AFF5A5A5AFF5B5B
|
||||
5BFF5B5B5BFF5B5B5BFF5C5C5CFF5C5C5CFF5C5C5CFF717171FF555555FF4B4B
|
||||
4BFF4C4C4CFF4D4D4DFF4E4E4EFF444342E10F05000FFFFFFF01FFFFFF01FFFF
|
||||
FF01EEA60403EAB20F1D8A67114377632B656B5C3789695E41A95F5946C95B57
|
||||
4BE3545350FB59595AFF5C5C5CFF5C5C5CFF5C5C5CFF5C5C5CFF5D5D5DFF5D5D
|
||||
5DFF5D5D5DFF5E5E5EFF5E5E5EFF5E5E5EFF5F5F5FFF747474FF535353FF4949
|
||||
49FF4A4A4AFF484541F15A47288BA6680015FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01F1A60C03EBAF0E05E9B0180BECB1
|
||||
1A15F4BB1E1F89660F41836B2F6167583289746645A35D5542C9675F50DD5352
|
||||
50FB5F5F5FFF606060FF616161FF616161FF616161FF777777FF555555FF4543
|
||||
40F555452A979D620325E2880005FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01EA9C0003E4A30005E79D040BE79E0313E69D
|
||||
061FA770053970552161765F35816C5D41A36C614EC5858076DD786D5BA98F5F
|
||||
132FD1820205FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFF
|
||||
FF01FFFFFF01FFFFFF01DD7D0003D9870105DE90130BE19D320FD78A1F07FFFF
|
||||
FF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01FFFFFF01000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000
|
||||
}
|
||||
OnClose = FormClose
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
LCLVersion = '1.1'
|
||||
object LrsLabel: TLabel
|
||||
Left = 16
|
||||
Height = 15
|
||||
Top = 14
|
||||
Width = 141
|
||||
Caption = 'Lazarus Resource Filename'
|
||||
ParentColor = False
|
||||
end
|
||||
object AddAnyBtn: TBitBtn
|
||||
Left = 16
|
||||
Height = 30
|
||||
Hint = 'Add (any kind of) files to the list'
|
||||
Top = 264
|
||||
Width = 88
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002C86
|
||||
D8702D88D8A62D87D8EA2D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88
|
||||
D8F72D88D8F72D88D8F72D87D8F72D88D8F12C86D893FFFFFF00FFFFFF00338E
|
||||
D9E6DCF0FAF0A7DDF4FD9EDBF4FF96DAF3FF8ED8F3FF86D7F3FF7FD4F2FF79D3
|
||||
F2FF72D2F1FF6CD0F1FF69CFF1FFC2EAF8FE338ED9F0FFFFFF00FFFFFF003594
|
||||
DAF7EFFAFEFFA1E9F9FF91E5F8FF81E1F7FF72DEF6FF63DAF5FF54D7F4FF47D3
|
||||
F3FF39D0F2FF2ECDF1FF26CBF0FFCAF2FBFF3594DAF7FFFFFF00FFFFFF00369A
|
||||
DAF8F2FAFDFFB3EDFAFFA4E9F9FF95E6F8FF85E2F7FF76DEF6FF65DBF5FF57D7
|
||||
F4FF49D4F3FF3BD1F2FF30CEF1FFCCF2FBFF3598DAF7FFFFFF00FFFFFF0036A1
|
||||
DAF9F6FCFEFFC8F2FCFFB9EFFBFFACECFAFF9CE8F9FF8BE3F7FF7CE0F6FF6CDC
|
||||
F6FF5DD9F5FF4FD6F4FF44D3F3FFD0F3FCFF359FDAF7FFFFFF00FFFFFF0037A6
|
||||
DAFAFEFFFFFFF8FDFFFFF6FDFFFFF5FCFFFFF3FCFEFFD8F6FCFF94E6F8FF85E3
|
||||
F7FF76DFF6FF68DBF5FF5CD8F4FFD7F4FCFF35A4DAF7FFFFFF00FFFFFF0035AB
|
||||
DAFAE8F6FBFF94D4EFFF88CEEEFF73C1E9FFC9E9F6FFF2FCFEFFF3FCFEFFF2FC
|
||||
FEFFF0FCFEFFEFFBFEFFEEFBFEFFFEFFFFFF36ABDAF7FFFFFF00FFFFFF0036AA
|
||||
DAF2F1FAFDFF94DEF5FF93DCF4FF81D5F2FF6ACAEDFF6CCBEAFF85D3EFFF80D2
|
||||
EFFF7AD0EFFF76CFEEFF72CFEEFFE9F7FBFF34AEDAF3FFFFFF00FFFFFF0035AF
|
||||
DAF0F7FCFEFF8EE4F8FF91DEF5FF9FE0F5FFACE1F6FFEFFBFEFFF4FDFEFFF3FC
|
||||
FEFFF1FCFEFFEFFBFEFFEEFBFEFFFAFDFFF936AFDAD4FFFFFF00FFFFFF0036B3
|
||||
DAF8FDFEFEFFFEFFFFFFFEFEFFFFFDFEFFFFFEFFFFFFEAF7FBFF6BC7E4F96BC7
|
||||
E3F86BC7E3F86BC7E3F879CDE6F774CAE5E132B1D956FFFFFF00FFFFFF0034B4
|
||||
D9D05EC2E1FA60C3E2FA60C3E2FA60C3E2FA5FC3E2FA3CB6DBDD2CB2D8162CB2
|
||||
D80F2CB2D80F2CB2D80F2CB2D80F2CB3D80F2CB3D804FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
OnClick = AddAnyBtnClick
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 2
|
||||
end
|
||||
object MsgMemo: TMemo
|
||||
Left = 16
|
||||
Height = 138
|
||||
Top = 328
|
||||
Width = 576
|
||||
ReadOnly = True
|
||||
ScrollBars = ssAutoVertical
|
||||
TabOrder = 6
|
||||
WordWrap = False
|
||||
end
|
||||
object FileListBox: TListBox
|
||||
Left = 16
|
||||
Height = 176
|
||||
Top = 80
|
||||
Width = 576
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
OnDrawItem = FileListBoxDrawItem
|
||||
Style = lbOwnerDrawFixed
|
||||
TabOrder = 1
|
||||
end
|
||||
object FilesLabel: TLabel
|
||||
Left = 16
|
||||
Height = 15
|
||||
Top = 64
|
||||
Width = 79
|
||||
Caption = 'Files to include'
|
||||
ParentColor = False
|
||||
end
|
||||
object DeleteBtn: TBitBtn
|
||||
Left = 216
|
||||
Height = 30
|
||||
Hint = 'Delete selected files from the list'
|
||||
Top = 264
|
||||
Width = 88
|
||||
Glyph.Data = {
|
||||
F6000000424DF60000000000000076000000280000000F000000100000000100
|
||||
04000000000080000000130B0000130B00001000000000000000000000000000
|
||||
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
|
||||
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333000000000
|
||||
33333330F777777033333330F080807033333330F080707033333330F0808070
|
||||
33333330F080707033333330F080807033333030F080707030333300F0808070
|
||||
03333330F0807070333333307070707033333300000000000333330F88877777
|
||||
0333330000000000033333333077703333333333300000333333
|
||||
}
|
||||
OnClick = DeleteBtnClick
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 4
|
||||
end
|
||||
object ClearBtn: TBitBtn
|
||||
Left = 312
|
||||
Height = 30
|
||||
Hint = 'Cleare the entire list'
|
||||
Top = 264
|
||||
Width = 88
|
||||
Caption = 'Clear'
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000240000008F78
|
||||
A800BBBCFF00BFBFF800B9B9B100C88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C
|
||||
4FFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C4FFF1414FF0046000000380A
|
||||
5500161BFF000505EA0000000900C88C4FFFFEFAF6FFFEFAF6FFFEFAF6FFFEFA
|
||||
F6FFFEFAF6FFFEFAF6FFFEFAF6FFFEFAF6FFC88C4FFF1414FF00390000001414
|
||||
FFFF1414FFFFC88C4FFFC88C4FFFC88C4FFFFEFAF6FFFEFAF6FFFEFAF6FFFEFA
|
||||
F6FFFEFAF6FFFEFAF6FFFEFAF6FFFEFAF6FFC88C4FFFBE7A4500380000008A5E
|
||||
5A001414FFFF1414FFFFFEFAF6FFC88C4FFFFEFAF6FFDEEEF4FFBDE5F5FF72D1
|
||||
F8FF53C3F7FF68C2F0FF1414FFFF1414FFFFC88C4FFFBE7A45003A000000C88C
|
||||
4FFFC88C4FFF1414FFFF1414FFFFC88C4FFFFEFAF6FF87D2F1FFA6E3FCFFA1E6
|
||||
FFFF5DCFFFFF1414FFFF1414FFFFFEFAF6FFC88C4FFFBE7A450046AAD400C88C
|
||||
4FFFFEFAF6FFC88C4FFF1414FFFF1414FFFFFEFAF6FF93DAF1FFD3F3FFFF91DF
|
||||
FFFF1414FFFF1414FFFF40B8F6FFFEFAF6FFC88C4FFFBE7A45004FAFD700C88C
|
||||
4FFFFEFAF6FFC88C4FFFFEFAF6FF1414FFFF1414FFFF98DCF2FFAEE6FEFF1414
|
||||
FFFF1414FFFF79D8FFFF51C4F9FFFEFAF6FFC88C4FFFBE7A450052B2D700C88C
|
||||
4FFFFEFAF6FFC88C4FFFFEFAF6FFC88C4FFF1414FFFF1414FFFF1414FFFF1414
|
||||
FFFF8FDAF9FF84D3F8FFB3E0F3FFFEFAF6FFC88C4FFF1414FF0054B5D800C88C
|
||||
4FFFFEFAF6FFC88C4FFFFEFAF6FFC88C4FFF1414FFFF1414FFFF1414FFFF1414
|
||||
FFFFAFE1F1FFE1EFF3FFFEF9F4FFFEFAF6FFC88C4FFF1414FF0056B7D900C88C
|
||||
4FFFFEFAF6FFC88C4FFFFEFAF6FF1414FFFF1414FFFFFEFAF6FFFEFAF6FF1414
|
||||
FFFF1414FFFFFEFAF6FFFEFAF6FFF3D5B0FFC88C4FFF3996CB0050B5D900C88C
|
||||
4FFFFEFAF6FFC88C4FFF1414FFFF1414FFFFFEFAF6FFFEFAF6FFFEFAF6FFFEFA
|
||||
F6FF1414FFFF1414FFFFEFD1ACFFC88C4FFF84DCFB003294CA0000000000C88C
|
||||
4FFFFEFAF6FF1414FFFF1414FFFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C
|
||||
4FFFC88C4FFF1414FFFF1414FFFFC88C4FFF51A6D5004700000000000000C88C
|
||||
4FFF1414FFFF1414FFFFFEFAF6FFFEFAF6FFFEFAF6FFFEFAF6FFFEFAF6FFFEFA
|
||||
F6FFEFD1ACFFC88C4FFF62B2DB0064B2D9000D17FF000000000000000000C88C
|
||||
4FFFFEFAF6FFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C
|
||||
4FFFC88C4FFFC88C4FFF1414FF001314FF001414FF001414FF0000000000C88C
|
||||
4FFFFEFAF6FFFEFAF6FFFEFAF6FFFEFAF6FFFEFAF6FFFEFAF6FFEFD1ACFFC88C
|
||||
4FFF4F00000044000000000000001315FF001414FF001414FF0000000000C88C
|
||||
4FFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88C
|
||||
4FFF410000004400000000000000000000000000000000000000
|
||||
}
|
||||
ModalResult = 8
|
||||
OnClick = ClearBtnClick
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 5
|
||||
end
|
||||
object CloseBtn: TBitBtn
|
||||
Left = 512
|
||||
Height = 30
|
||||
Hint = 'Exit the program'
|
||||
Top = 488
|
||||
Width = 88
|
||||
Caption = '&Close'
|
||||
Kind = bkClose
|
||||
OnClick = AddAnyBtnClick
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 8
|
||||
end
|
||||
object StartBtn: TBitBtn
|
||||
Left = 408
|
||||
Height = 30
|
||||
Hint = 'Create the output LRS file'
|
||||
Top = 488
|
||||
Width = 88
|
||||
Caption = 'Start'
|
||||
Enabled = False
|
||||
Kind = bkAll
|
||||
ModalResult = 8
|
||||
OnClick = StartBtnClick
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 7
|
||||
end
|
||||
object DestEdt: TFileNameEdit
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 32
|
||||
Width = 552
|
||||
OnAcceptFileName = DestEdtAcceptFileName
|
||||
DialogKind = dkSave
|
||||
DialogOptions = [ofOverwritePrompt, ofEnableSizing, ofViewDetail]
|
||||
Filter = 'Lazarus Resource Files|*.lrs|All Files|*'
|
||||
FilterIndex = 0
|
||||
DefaultExt = 'lrs'
|
||||
HideDirectories = False
|
||||
ButtonWidth = 23
|
||||
NumGlyphs = 1
|
||||
MaxLength = 0
|
||||
TabOrder = 0
|
||||
OnEditingDone = DestEdtEditingDone
|
||||
end
|
||||
object MessagesLabel: TLabel
|
||||
Left = 16
|
||||
Height = 15
|
||||
Top = 304
|
||||
Width = 51
|
||||
Caption = 'Messages'
|
||||
ParentColor = False
|
||||
end
|
||||
object AddImgBtn: TBitBtn
|
||||
Left = 112
|
||||
Height = 30
|
||||
Hint = 'Add images to the list'
|
||||
Top = 264
|
||||
Width = 88
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00196B3788196B37F2196B37FF196B37F2196B3788FFFFFF00FFFFFF00AA74
|
||||
538AAB724FC3AA6D45F0AA6B43F0AA6B43F0AA6B43F0AA6B43F0AA6B43F05D6B
|
||||
3DF8288C53FF64BA8DFF95D2B2FF64BA8DFF288C53FF196B378CFFFFFF00A86D
|
||||
48E1EEECEAFFF7F2F0FFF8F3F0FFF8F3EFFFF7F3EFFFF7F2EFFFF7F2EEFF2270
|
||||
3FFF62BA8BFF60BA87FFFFFFFFFF60B987FF67BC8FFF196B37F7FFFFFF00A664
|
||||
3AF0F6F0ECFFFDE8D7FFFEE8D7FFFEE8D7FFFEE8D7FFFEE8D7FFFEE8D7FF317B
|
||||
4CFF9CD4B6FFFFFFFFFFFFFFFFFFFFFFFFFF95D2B2FF196B37FFFFFFFF00A664
|
||||
39F0F7F0ECFF816242FFAC8258FFAC8258FFAC8258FFAC8258FFAC8258FF4787
|
||||
5DFF90D3B1FF92D6B1FFFFFFFFFF65BC8CFF67BC8FFF196B37F7FFFFFF00A866
|
||||
3AF0F7F0EBFFAC8258FFE5AD75FFE5AD75FFE5AD75FFE5AD75FFE5AD75FF9B9E
|
||||
6EFF61AB81FF95D4B4FFBAE6D0FF6ABB8FFF2D8F57FF196B378CFFFFFF00A866
|
||||
3AF0F7F1ECFFAC8258FFE5AD75FFE5AD75FFE5AD75FFE5AD75FFE5AD75FFE5AD
|
||||
75FFA1A172FF5F956EFF4F8E66FF498960FF6C7347F7FFFFFF00FFFFFF00A866
|
||||
3CF0F7F2EDFFA67F56FFDEAA73FFDEAA73FFDDA973FFDDA873FFDCA772FFDCA7
|
||||
72FFDCA772FFDCA772FFA47D55FFF6EDE6FFAA6D45F0FFFFFF00FFFFFF00A866
|
||||
3CF0F7F3EEFF9C966EFFE6C79DFFE2C598FFDFC496FFC8BD88FFE4BA82FFE4BA
|
||||
83FFE4BA83FFD3C199FFA59A7BFFF6EDE6FFAA6D45F0FFFFFF00FFFFFF00A866
|
||||
3CF0F7F4EFFFB6A583FFF5DDB0FFF6DEB0FFF4DDAFFFF1DCADFFF3DAABFFF3DA
|
||||
ACFFF2D9ABFFEFDAAEFFB4A584FFF4EEE6FFAA6D45F0FFFFFF00FFFFFF00A866
|
||||
3CF0F7F4F1FFBEAB88FFFEE5B5FFFDE4B5FFFDE4B5FFFDE4B5FFFDE4B5FFFDE4
|
||||
B5FFFDE4B5FFFDE4B5FFBEAB88FFF6EFE7FFAA6D45F0FFFFFF00FFFFFF00A866
|
||||
3CF0F7F4F3FFB6A481FFF2DCADFFF5DEB0FFF2DDAFFFF6DEAFFFF7DFAFFFF8E0
|
||||
B1FFFAE1B2FFFCE3B4FFBEAB88FFF7EFE8FFAB6D45F0FFFFFF00FFFFFF00A86D
|
||||
46F0F3F2F1FF96815CFFA69E76FFA4A17DFFABA07AFFBAA27AFFBAA37CFFBAA4
|
||||
7EFFBBA680FFBCA883FF8F8065FFF7F1EAFFAB6D45F0FFFFFF00FFFFFF00AB79
|
||||
58E9DEDEDCFEF3F3F2FFF7F4F3FFF7F4F2FFF7F4F1FFF7F4EFFFF8F4EFFFF8F3
|
||||
EEFFF8F2EDFFF8F2EBFFF7F2EBFFF1EEE8FFAA704AEFFFFFFF00FFFFFF00AA7B
|
||||
5B8DAB7758E8A86D46F0A8663AF0A8663AF0A8663AF0A8663AF0A8663AF0A864
|
||||
3AF0A8643AF0A8643AF0A8643AF0A86B43F0A874518FFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
OnClick = AddImgBtnClick
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 3
|
||||
end
|
||||
object OpenDialog: TOpenDialog
|
||||
Options = [ofAllowMultiSelect, ofEnableSizing, ofViewDetail]
|
||||
left = 64
|
||||
top = 400
|
||||
end
|
||||
object OpenPictureDialog: TOpenPictureDialog
|
||||
Options = [ofAllowMultiSelect, ofPathMustExist, ofFileMustExist, ofEnableSizing, ofViewDetail]
|
||||
left = 232
|
||||
top = 400
|
||||
end
|
||||
end
|
536
tools/glazres/glazresmain.pp
Normal file
536
tools/glazres/glazresmain.pp
Normal file
@ -0,0 +1,536 @@
|
||||
unit glazresmain;
|
||||
|
||||
{
|
||||
***************************************************************************
|
||||
* *
|
||||
* This source is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This code is distributed in the hope that it will be useful, but *
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
||||
* General Public License for more details. *
|
||||
* *
|
||||
* A copy of the GNU General Public License is available on the World *
|
||||
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
|
||||
* obtain it by writing to the Free Software Foundation, *
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
Author of LazRes: Mattias Gaertner
|
||||
Original idea for GLazRes: Andy Koz
|
||||
Adapted by: Bart Broersma
|
||||
|
||||
GLazRes aims to be a GUI implementation of the LazRes program.
|
||||
|
||||
}
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
||||
LCLProc, LResources, Buttons, EditBtn, LazUtf8Classes, Types, LCLType,
|
||||
ExtDlgs, IniFiles;
|
||||
|
||||
type
|
||||
|
||||
{ TGLazResForm }
|
||||
|
||||
TGLazResForm = class(TForm)
|
||||
ClearBtn: TBitBtn;
|
||||
CloseBtn: TBitBtn;
|
||||
DestEdt: TFileNameEdit;
|
||||
MessagesLabel: TLabel;
|
||||
OpenPictureDialog: TOpenPictureDialog;
|
||||
AddImgBtn: TBitBtn;
|
||||
StartBtn: TBitBtn;
|
||||
FilesLabel: TLabel;
|
||||
FileListBox: TListBox;
|
||||
MsgMemo: TMemo;
|
||||
AddAnyBtn: TBitBtn;
|
||||
LrsLabel: TLabel;
|
||||
OpenDialog: TOpenDialog;
|
||||
DeleteBtn: TBitBtn;
|
||||
procedure AddImgBtnClick(Sender: TObject);
|
||||
procedure ClearBtnClick(Sender: TObject);
|
||||
procedure DeleteBtnClick(Sender: TObject);
|
||||
procedure DestEdtAcceptFileName(Sender: TObject; var {%H-}Value: String);
|
||||
procedure DestEdtEditingDone(Sender: TObject);
|
||||
procedure FileListBoxDrawItem(Control: TWinControl; Index: Integer;
|
||||
ARect: TRect; State: TOwnerDrawState);
|
||||
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormResize(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure AddAnyBtnClick(Sender: TObject);
|
||||
procedure StartBtnClick(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
FIniFileName: String;
|
||||
procedure CreateAnchors;
|
||||
procedure ResizeControls({%H-}Dummy: PtrInt);
|
||||
procedure CreateLazarusResourceFile;
|
||||
procedure ConvertFormToText(Stream: TMemoryStream);
|
||||
procedure AddFiles(Names: TStrings);
|
||||
procedure MaybeEnableButtons;
|
||||
procedure AddMessage(const Msg: String);
|
||||
procedure AddMessageFmt(const Msg: String; Args: Array of const);
|
||||
procedure ClearMessages;
|
||||
procedure LoadWindowGeometry;
|
||||
procedure SaveWindowGeometry;
|
||||
public
|
||||
|
||||
end;
|
||||
|
||||
var
|
||||
GLazResForm: TGLazResForm;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
const
|
||||
ErrConvertToText = 'ERROR: unable to convert Delphi form to text: "%s"';
|
||||
ErrFileNotFound = 'ERROR: File not found: "%s"';
|
||||
ErrFileIsResource = 'ERROR: Cannot add resource file to itself ("%s")';
|
||||
ErrCreate = 'ERROR: Cannot create "%s"';
|
||||
ErrNoResourceName = 'ERROR: No resourcename found for "%s"';
|
||||
MsgProcessing = 'Processing "%s"';
|
||||
MsgResourceNameType = ' Resource name = "%s", Type = "%s"';
|
||||
ErrRead = 'ERROR: Cannot read from "%s"';
|
||||
MsgSuccess = 'Done.'+ LineEnding + 'Number of resources added: %d.';
|
||||
|
||||
MsgWrongExt = 'Filename does not have the required extension: fix it?';
|
||||
|
||||
AppName = 'GLazRes';
|
||||
IniName = {$ifdef windows}'GLazRes.ini'{$else}'glazres.conf'{$endif};
|
||||
scPosition = 'Position';
|
||||
idLeft = 'Left';
|
||||
idTop = 'Top';
|
||||
idWidth = 'Width';
|
||||
idHeight = 'Height';
|
||||
|
||||
//Needed for GetAppConfigDir
|
||||
function GetVendorName: String;
|
||||
begin
|
||||
Result := '';
|
||||
end;
|
||||
|
||||
function GetAppName: String;
|
||||
begin
|
||||
Result := AppName;
|
||||
end;
|
||||
|
||||
{TGLazResForm}
|
||||
|
||||
// *************** Component Events *********************** //
|
||||
|
||||
procedure TGLazResForm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
OnGetVendorName := @GetVendorName;
|
||||
OnGetApplicationName := @GetAppName;
|
||||
FIniFileName := GetAppConfigDir(False) + IniName;
|
||||
CreateAnchors;
|
||||
LoadWindowGeometry;
|
||||
end;
|
||||
|
||||
procedure TGLazResForm.FormShow(Sender: TObject);
|
||||
begin
|
||||
MaybeEnableButtons;
|
||||
OnResize := @FormResize;
|
||||
//Using QueueAsyncCall delays the layout until the form is shown,
|
||||
//before that ClientWidht may have wrong value (depending on widgetset and windowmanager)
|
||||
Application.QueueAsyncCall(@ResizeControls,0);
|
||||
end;
|
||||
|
||||
procedure TGLazResForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
begin
|
||||
SaveWindowGeometry;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.FormResize(Sender: TObject);
|
||||
begin
|
||||
ResizeControls(0);
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.DestEdtAcceptFileName(Sender: TObject; var Value: String);
|
||||
begin
|
||||
DestEdtEditingDone(DestEdt);
|
||||
end;
|
||||
|
||||
procedure TGLazResForm.DestEdtEditingDone(Sender: TObject);
|
||||
var
|
||||
Fn, Ext: String;
|
||||
begin
|
||||
Fn := DestEdt.FileName;
|
||||
Ext := ExtractFileExt(Fn);
|
||||
if (Fn <> '') and (CompareText(Ext, '.lrs') <> 0) then
|
||||
begin
|
||||
if MessageDlg(AppName,MsgWrongExt,mtConfirmation,[mbYes,mbNo],0) = mrYes then
|
||||
begin
|
||||
Fn := ChangeFileExt(Fn, '.lrs');
|
||||
DestEdt.FileName := Fn;
|
||||
end;
|
||||
end;
|
||||
MaybeEnableButtons;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.StartBtnClick(Sender: TObject);
|
||||
begin
|
||||
CreateLazarusResourceFile;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.AddAnyBtnClick(Sender: TObject);
|
||||
begin
|
||||
if OpenDialog.Execute then
|
||||
begin
|
||||
AddFiles(OpenDialog.Files);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGLazResForm.AddImgBtnClick(Sender: TObject);
|
||||
begin
|
||||
if OpenPictureDialog.Execute then
|
||||
begin
|
||||
AddFiles(OpenPictureDialog.Files);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.DeleteBtnClick(Sender: TObject);
|
||||
var
|
||||
Index: integer;
|
||||
begin
|
||||
for Index := FileListBox.Count - 1 downto 0 do
|
||||
begin
|
||||
if FileListBox.Selected[Index] then
|
||||
FileListBox.Items.Delete(Index);
|
||||
end;
|
||||
MaybeEnableButtons;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.ClearBtnClick(Sender: TObject);
|
||||
begin
|
||||
FileListBox.Items.Clear;
|
||||
MaybeEnableButtons;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.FileListBoxDrawItem(Control: TWinControl; Index: Integer;
|
||||
ARect: TRect; State: TOwnerDrawState);
|
||||
var
|
||||
OldBrushStyle: TBrushStyle;
|
||||
OldTextStyle: TTextStyle;
|
||||
NewTextStyle: TTextStyle;
|
||||
ItemText: String;
|
||||
TheCanvas: TCanvas;
|
||||
begin
|
||||
//Objective: draw only the FileName, not the fully qualified path.
|
||||
if (odPainted in State) then Exit;
|
||||
TheCanvas := (Control as TCustomListBox).Canvas;
|
||||
|
||||
ItemText := ExtractFileName(FileListBox.Items[Index]);
|
||||
|
||||
TheCanvas.FillRect(ARect);
|
||||
|
||||
OldBrushStyle := TheCanvas.Brush.Style;
|
||||
TheCanvas.Brush.Style := bsClear;
|
||||
|
||||
OldTextStyle := TheCanvas.TextStyle;
|
||||
NewTextStyle := OldTextStyle;
|
||||
NewTextStyle.Layout := tlCenter;
|
||||
NewTextStyle.RightToLeft := Control.UseRightToLeftReading;
|
||||
if Control.UseRightToLeftAlignment then
|
||||
begin
|
||||
NewTextStyle.Alignment := taRightJustify;
|
||||
ARect.Right := ARect.Right - 2;
|
||||
end
|
||||
else
|
||||
begin
|
||||
NewTextStyle.Alignment := taLeftJustify;
|
||||
ARect.Left := ARect.Left + 2;
|
||||
end;
|
||||
|
||||
TheCanvas.TextStyle := NewTextStyle;
|
||||
|
||||
TheCanvas.TextRect(ARect, ARect.Left, ARect.Top, ItemText);
|
||||
TheCanvas.Brush.Style := OldBrushStyle;
|
||||
TheCanvas.TextStyle := OldTextStyle;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
// ***************** Form layout and looks *********************** //
|
||||
|
||||
procedure TGLazResForm.CreateAnchors;
|
||||
begin
|
||||
DestEdt.AnchorToNeighbour(akTop, 5, LrsLabel);
|
||||
FilesLabel.AnchorToNeighbour(akTop, 10, DestEdt);
|
||||
FileListBox.AnchorToNeighbour(akTop, 5, FilesLabel);
|
||||
AddAnyBtn.AnchorToNeighbour(akTop, 10, FileListBox);
|
||||
AddImgBtn.AnchorToNeighbour(akTop, 10, FileListBox);
|
||||
DeleteBtn.AnchorToNeighbour(akTop, 10, FileListBox);
|
||||
ClearBtn.AnchorToNeighbour(akTop, 10, FileListBox);
|
||||
AddImgBtn.AnchorToNeighbour(akLeft, 5 , AddAnyBtn);
|
||||
DeleteBtn.AnchorToNeighbour(akLeft, 15, AddImgBtn);
|
||||
ClearBtn.AnchorToNeighbour(akLeft, 5, DeleteBtn);
|
||||
MessagesLabel.AnchorToNeighbour(akTop, 10, AddAnyBtn);
|
||||
MsgMemo.AnchorToNeighbour(akTop, 5, MessagesLabel);
|
||||
StartBtn.AnchorToNeighbour(akTop, 10, MsgMemo);
|
||||
CloseBtn.AnchorToNeighbour(akTop, 10, MsgMemo);
|
||||
CloseBtn.AnchorToNeighbour(akLeft, 5, StartBtn);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TGLazResForm.ResizeControls(Dummy: PtrInt);
|
||||
var
|
||||
CH, CW, LMargin, MinW, MinH, HeightLeft: Integer;
|
||||
begin
|
||||
CH := ClientHeight;
|
||||
CW := ClientWidth;
|
||||
LMargin := LrsLabel.Left;
|
||||
MinW := ClearBtn.Left + ClearBtn.Width + 2 * LMargin;
|
||||
DestEdt.Width := CW - (2 * LMargin) - DestEdt.ButtonWidth;
|
||||
if (DestEdt.Width < MinW) then DestEdt.Width := MinW;
|
||||
FileListBox.Width := CW - (2 * LMargin);
|
||||
if (FileListBox.Width < MinW) then FileListBox.Width := MinW;
|
||||
MsgMemo.Width := FileListBox.Width;
|
||||
StartBtn.Left := CW - (StartBtn.Width + CloseBtn.Width + 5) - LMargin;
|
||||
|
||||
MinH := 532; //desing time value
|
||||
if CH <= MinH then
|
||||
begin
|
||||
MsgMemo.Height := 138;// design time value;
|
||||
Exit;
|
||||
end;
|
||||
HeightLeft := CH - MsgMemo.Top;
|
||||
MsgMemo.Height := HeightLeft - StartBtn.Height - 10 - 10;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.LoadWindowGeometry;
|
||||
var
|
||||
IniDir: String;
|
||||
Ini: TIniFile;
|
||||
L, T, W, H: LongInt;
|
||||
begin
|
||||
IniDir := ExtractFileDir(FIniFileName);
|
||||
if not DirectoryExists(IniDir) then if not ForceDirectories(IniDir) then Exit;
|
||||
try
|
||||
Ini := TIniFile.Create(FIniFileName);
|
||||
try
|
||||
L := Ini.ReadInteger(scPosition, idLeft, Left);
|
||||
T := Ini.ReadInteger(scPosition, idTop, Top);
|
||||
W := Ini.ReadInteger(scPosition, idWidth, Width);
|
||||
H := Ini.ReadInteger(scPosition, idHeight, Height);
|
||||
SetBounds(L, T, W, H);
|
||||
finally
|
||||
Ini.Free;
|
||||
end;
|
||||
except
|
||||
debugln('Error reading geometry from "',FIniFileName,'".');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGLazResForm.SaveWindowGeometry;
|
||||
var
|
||||
IniDir: String;
|
||||
Ini: TIniFile;
|
||||
begin
|
||||
IniDir := ExtractFileDir(FIniFileName);
|
||||
if not DirectoryExists(IniDir) then if not ForceDirectories(IniDir) then
|
||||
begin
|
||||
debugln('Unable to create config file "',FIniFileName,'".');
|
||||
Exit;
|
||||
end;
|
||||
try
|
||||
Ini := TIniFile.Create(FIniFileName);
|
||||
try
|
||||
Ini.CacheUpdates := True;
|
||||
Ini.WriteInteger(scPosition, idLeft, Left);
|
||||
Ini.WriteInteger(scPosition, idTop, Top);
|
||||
Ini.WriteInteger(scPosition, idWidth, Width);
|
||||
Ini.WriteInteger(scPosition, idHeight, Height);
|
||||
finally
|
||||
Ini.Free;
|
||||
end;
|
||||
except
|
||||
debugln('Error saving geometry to "',FIniFileName,'".');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TGLazResForm.MaybeEnableButtons;
|
||||
begin
|
||||
StartBtn.Enabled := (DestEdt.FileName <> '') and
|
||||
(FileListBox.Count > 0);
|
||||
DeleteBtn.Enabled := (FileListBox.Count > 0);
|
||||
ClearBtn.Enabled := (FileListBox.Count > 0);
|
||||
end;
|
||||
|
||||
|
||||
// ************** LRS Creating related procedures ***************** //
|
||||
|
||||
procedure TGLazResForm.AddFiles(Names: TStrings);
|
||||
var
|
||||
Index: Integer;
|
||||
begin
|
||||
for Index := 0 to Names.Count - 1 do
|
||||
begin
|
||||
FileListBox.Items.Add(Names[Index]);
|
||||
end;
|
||||
MaybeEnableButtons;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TGLazResForm.ConvertFormToText(Stream: TMemoryStream);
|
||||
var TextStream: TMemoryStream;
|
||||
begin
|
||||
try
|
||||
try
|
||||
TextStream:=TMemoryStream.Create;
|
||||
FormDataToText(Stream,TextStream);
|
||||
TextStream.Position:=0;
|
||||
Stream.Clear;
|
||||
Stream.CopyFrom(TextStream,TextStream.Size);
|
||||
Stream.Position:=0;
|
||||
except
|
||||
on E: Exception do begin
|
||||
debugln(Format(ErrConvertToText,[E.Message]));
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
TextStream.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TGLazResForm.CreateLazarusResourceFile;
|
||||
var
|
||||
FileCount, Index:integer;
|
||||
S:string;
|
||||
ResFileStream, BinFileStream: TFileStreamUtf8;
|
||||
ResMemStream, BinMemStream: TMemoryStream;
|
||||
ResourceFilename, FullResourceFilename, BinFilename, BinExt, ResourceName, ResourceType: String;
|
||||
begin
|
||||
FileCount := FileListBox.Count;
|
||||
if FileCount = 0 then
|
||||
Exit;
|
||||
|
||||
FullResourceFileName := ExpandFileNameUtf8(DestEdt.FileName);
|
||||
ResourceFileName := ExtractFileName(FullResourceFileName);
|
||||
ClearMessages;
|
||||
|
||||
FullResourceFilename := ExpandFileNameUTF8(ResourceFilename);
|
||||
// check that all resources exists and are not the destination file
|
||||
for Index := 0 to FileCount-1 do
|
||||
begin
|
||||
S := FileListBox.Items[Index]; //FileListBox[Index];
|
||||
if not FileExistsUTF8(S) then
|
||||
begin
|
||||
AddMessageFmt(ErrFileNotfound,[S]);
|
||||
exit;
|
||||
end;
|
||||
if CompareFileNames(ExpandFileNameUTF8(S), FullResourceFilename, True) = 0 then
|
||||
begin
|
||||
AddMessageFmt(ErrFileIsResource,[S]);
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
try
|
||||
ResFileStream:=TFileStreamUtf8.Create(ResourceFilename,fmCreate);
|
||||
except
|
||||
AddMessageFmt(ErrCreate,[ResourceFileName]);
|
||||
exit;
|
||||
end;
|
||||
ResMemStream:=TMemoryStream.Create;
|
||||
try
|
||||
for Index := 0 to FileCount - 1 do
|
||||
begin
|
||||
BinFilename:=FileListBox.Items[Index];
|
||||
AddMessageFmt(MsgProcessing,[BinFilename]);
|
||||
try
|
||||
BinFileStream:=TFileStreamUtf8.Create(BinFilename, fmOpenRead);
|
||||
BinMemStream:=TMemoryStream.Create;
|
||||
try
|
||||
BinMemStream.CopyFrom(BinFileStream, BinFileStream.Size);
|
||||
BinMemStream.Position := 0;
|
||||
BinExt := Utf8UpperCase(ExtractFileExt(BinFilename));
|
||||
if (BinExt='.LFM') or (BinExt='.DFM') or (BinExt='.XFM')
|
||||
then
|
||||
begin
|
||||
ResourceType:='FORMDATA';
|
||||
ConvertFormToText(BinMemStream);
|
||||
ResourceName:=FindLFMClassName(BinMemStream);
|
||||
if ResourceName='' then
|
||||
begin
|
||||
AddMessageFmt(ErrNoResourceName,[BinFileName]);
|
||||
exit;
|
||||
end;
|
||||
AddMessageFmt(MsgResourceNameType,[ResourceName,ResourceType]);
|
||||
LFMtoLRSstream(BinMemStream,ResMemStream);
|
||||
end
|
||||
else
|
||||
begin
|
||||
ResourceType := copy(BinExt,2,length(BinExt)-1);
|
||||
ResourceName := ExtractFileName(BinFilename);
|
||||
ResourceName := copy(ResourceName, 1, Length(ResourceName) - Length(BinExt));
|
||||
if (ResourceName = '') then
|
||||
begin
|
||||
AddMessageFmt(ErrNoResourceName,[BinFileName]);
|
||||
exit;
|
||||
end;
|
||||
AddMessageFmt(MsgResourceNameType,[ResourceName,ResourceType]);
|
||||
BinaryToLazarusResourceCode(BinMemStream, ResMemStream ,ResourceName, ResourceType);
|
||||
end;
|
||||
finally
|
||||
BinFileStream.Free;
|
||||
BinMemStream.Free;
|
||||
end;
|
||||
except
|
||||
AddMessageFmt(ErrRead,[BinfileName]);
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
ResMemStream.Position := 0;
|
||||
ResFileStream.CopyFrom(ResMemStream, ResMemStream.Size);
|
||||
AddMessageFmt(MsgSuccess,[FileCount]);
|
||||
finally
|
||||
ResMemStream.Free;
|
||||
ResFileStream.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
// **************** User interaction **************** //
|
||||
|
||||
procedure TGLazResForm.AddMessage(const Msg: String);
|
||||
begin
|
||||
MsgMemo.Lines.Add(Msg);
|
||||
end;
|
||||
|
||||
procedure TGLazResForm.AddMessageFmt(const Msg: String; Args: array of const);
|
||||
begin
|
||||
MsgMemo.Lines.Add(Format(Msg, Args));
|
||||
end;
|
||||
|
||||
procedure TGLazResForm.ClearMessages;
|
||||
begin
|
||||
MsgMemo.Lines.Clear;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user