# HG changeset patch # User "Meillo r e t u r n s " # Date 1165179283 -3600 # Node ID ef71164288c1f93810f27053747ca16893aec408 begin of using hg for cdar diff -r 000000000000 -r ef71164288c1 .hg_archival.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hg_archival.txt Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,2 @@ +repo: 2cbc9fe99513c9f4c3d80c5efdde6bd68a8a67d7 +node: 2b0427fff66a777b21f7731ddfb70e98f7e40405 diff -r 000000000000 -r ef71164288c1 .hgignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,6 @@ +syntax: glob + +*~ +.*.swp + +*.exe diff -r 000000000000 -r ef71164288c1 .hgtags --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgtags Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,1 @@ +2cbc9fe99513c9f4c3d80c5efdde6bd68a8a67d7 cdar-2.2.9 diff -r 000000000000 -r ef71164288c1 Autorun.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Autorun.inf Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,3 @@ +[Autorun] +Open= CDAR.exe +Icon= CDAR.exe diff -r 000000000000 -r ef71164288c1 CDAR.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CDAR.cfg Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,35 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O+ +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-LE"c:\programme\borland\delphi6\Projects\Bpl" +-LN"c:\programme\borland\delphi6\Projects\Bpl" diff -r 000000000000 -r ef71164288c1 CDAR.dof --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CDAR.dof Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,90 @@ +[FileVersion] +Version=6.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +[Linker] +MapFile=0 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir= +PackageDLLOutputDir= +PackageDCPOutputDir= +SearchPath= +Packages=vcl;rtl;dbrtl;adortl;vcldb;vclx;bdertl;vcldbx;ibxpress;dsnap;cds;bdecds;qrpt;teeui;teedb;tee;dss;teeqr;visualclx;visualdbclx;dsnapcrba;dsnapcon;VclSmp;vclshlctrls;vclie;xmlrtl;inet;inetdbbde;inetdbxpress;inetdb;nmfast;webdsnap;websnap;dbexpress;dbxcds;indy;dclOffice2k +Conditionals= +DebugSourceDirs= +UsePackages=0 +[Parameters] +RunParams= +HostApplication= +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir= +[Version Info] +IncludeVerInfo=1 +AutoIncBuild=0 +MajorVer=2 +MinorVer=3 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=1031 +CodePage=1252 +[Version Info Keys] +CompanyName=marmaro.de +FileDescription=Easy-Creator for Autorun-CDs +FileVersion=2.3.0.0 +InternalName=cdar-2.3 +LegalCopyright=© Copyright 2003 &> by Meillo r e t u r n s +LegalTrademarks=This is Free Software! +OriginalFilename=CDAR.exe +ProductName=CD-Autorunner +ProductVersion=2.3 +Comments=http://prog.marmaro.de +[HistoryLists\hlUnitAliases] +Count=1 +Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; diff -r 000000000000 -r ef71164288c1 CDAR.dpr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CDAR.dpr Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,45 @@ +{ + Copyright (C) 2003 &> by Meillo r e t u r n s + + This program 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 program 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. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +} +program CDAR; + +uses + Forms, + unit_Welcome in 'unit_Welcome.pas' {form_Welcome}, + unit_Start in 'unit_Start.pas' {form_Start}, + unit_Editor in 'unit_Editor.pas' {form_Editor}, + modul_allgemein in 'modul_allgemein.pas', + unit_Editor_ws in 'unit_Editor_ws.pas' {form_Editor_ws}, + unit_Editor_as in 'unit_Editor_as.pas' {form_Editor_as}, + unit_Editor_tutorial in 'unit_Editor_tutorial.pas' {form_editor_tutorial}, + unit_Editor_CreateAR in 'unit_Editor_CreateAR.pas' {form_editor_CreateAR}, + unit_Easteregg in 'unit_Easteregg.pas' {form_easteregg}, + unit_Editor_as_BrowseDir in 'unit_Editor_as_BrowseDir.pas' {form_Editor_as_BrowseDir}; + +{$R *.res} + +begin + Application.Initialize; + Application.Title := 'CD-Autorunner'; + Application.CreateForm(Tform_Start, form_Start); + if paramstr(1) <> '' then //About-Fenster ausblenden + begin + Application.ShowMainForm := False; + Form_start.Visible := False; + end; + Application.Run; +end. diff -r 000000000000 -r ef71164288c1 CDAR.res Binary file CDAR.res has changed diff -r 000000000000 -r ef71164288c1 COPYING --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/COPYING Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program 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 program 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. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff -r 000000000000 -r ef71164288c1 cdar.ini --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cdar.ini Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,5 @@ +click +3 +207 +86 +..\ diff -r 000000000000 -r ef71164288c1 modul_allgemein.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modul_allgemein.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,25 @@ +unit modul_Allgemein; + + + +interface//##################################################################### + +uses shellapi, sysutils; + +function fktCMD (const Parameternummer : integer =1): string; + + + +implementation//################################################################ + + +function fktCMD (const Parameternummer : integer =1): string; + begin + if parameternummer = 0 then + fktcmd := extractfilepath(paramstr(0)) //+ '\' + else + fktCMD := paramstr(parameternummer); + end; + + +end.//########################################################################## diff -r 000000000000 -r ef71164288c1 unit_Easteregg.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Easteregg.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,360 @@ +object form_easteregg: Tform_easteregg + Left = 227 + Top = 227 + BorderStyle = bsNone + Caption = 'form_easteregg' + ClientHeight = 198 + ClientWidth = 248 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 13 + object img_Marmaro: TImage + Left = 0 + Top = 0 + Width = 250 + Height = 200 + Cursor = crNo + Picture.Data = { + 0A544A504547496D6167658B280000FFD8FFE000104A46494600010101004800 + 480000FFDB0043000604040405040605050609060506090B080606080B0C0A0A + 0B0A0A0C100C0C0C0C0C0C100C0E0F100F0E0C1313141413131C1B1B1B1C2020 + 2020202020202020FFDB0043010707070D0C0D181010181A1511151A20202020 + 2020202020202020202020202020202020202020202020202020202020202020 + 20202020202020202020202020FFC000110800C800FA03012200021101031101 + FFC4001C0000000701010000000000000000000000000102030506070408FFC4 + 004C100001020404030503070808060105000001020300040511061221312241 + 51071332617114428116235291A1B1E215336272A3C1D1F00824344344548292 + 175383A2C2E164356373B2F1FFC4001401010000000000000000000000000000 + 0000FFC40014110100000000000000000000000000000000FFDA000C03010002 + 110311003F00B2E3CED530AE0A2DB55553CE4EBE8EF5894976CA94A45CA6F995 + 95B1A8E6ABC7260CED8B0CE28AAFE47431354DAB29256D4A4EB6105C48198E42 + 92ABF0EB636D22BBFD23E9CCB786E9B88D945AAB499D6FD9E607BA85F11046C7 + 8D09FE6F0D60DA4633C698DE978FF10CA354BA5C8CADE8F2AD2C38A783C8514A + C9049B59DCDADB90B6F01AA9AE5144E8913509613CAD132BDF23BD27C917CDF6 + 4744D4DCACA30A7E69E44BB08D56EBAA0840F552AC0479331A5270CC8632C574 + 89396987AB0A9B9618704B2944A1F7085BC0D8EBAAAC05AF7DAD1AAF6E489F57 + 67986A8B38F84D46A13B252F36F3874CE1950716A371B3841301B0ADD690DF78 + B584B6352B26C2DEB014B424A42940159CA804EE6C4D875D013189D29AA8F695 + D85A29B2936A6EB54A21871B0BB07D729AB4DB9D42DBCA41FA7AF28AECC625C4 + 3DA457305E1F9275F91A8D290662BB329BA1C626195F74E387A2825BB8F372D0 + 1E90825292949528D923524EC04002C00BDEDCCC66DDB76295495125F0D494DB + 52954C44BF67F6879C0D21894FEFDE5AD4404A6DC3E84DB680B361DED1B05E22 + 71B66935565F9A773E494BE578F777CC7BB3C56B26FE91648F35D067702E1BED + 8F0EB3479F44D5265A444919C66EE77936FF007A9B928BEAA5B83C87A47A5202 + BB2D8E294FE379BC1F91C45425259135DE2C00DB8156B86FAE50A1F6F4872731 + 7C8CB633A7E1529CD393F2AF4DE7CD6C8968809196DAE7B2F9E996312ED9314B + F87FB6CA456A593734B9397F694A37534A71DEF12AFD66DDCBF54435271C3958 + EDF6431102AF609A9E32120A3700B2A47B3206BCCF7814475301E9E989C94972 + D8987DB64BCB0DB21C504E75AB4094DF727A085BCFB2C365D79C4B4DA7552D64 + 2523D498C23FA494C4C3D5EC39292CF8977E4A5E7AA285DED653490EA79EFF00 + D5C84F9C5AF194F52B1A761CFD69FB59523EDA9CA6D926D90414FC1D05301A2C + 8556975142974F9C627108365AA5DC43A01E84A098E8438DB809428280252483 + 7D526C47A8223CE3D85312CFE3A9098C36CCCB3212D4A08C4AE2C9EE5736A49D + AF7DD7620791B0B42E81DA8B184E4FB41A1A1D39A566E6DDC3B98F16675F2C58 + 5EDE0252E5BF5A03D12D4C30F3297DA712E32A1992EA482923A823482969B959 + A6BBE95790FB5729EF1A505A6E93650B8B8D08B18C9303E2027FA3B4D4D15FCF + C8C85425F37E9A7BCEEBA725A622FF00A36D7552AAA8612987D2E5DA66AB2363 + 7D1F6905E47AA73234EB780D9DDAE51599B4C9BD50966E6D66C8975BC84B84F4 + 0826F1DB1E53ED3E9784E9FDA262C927259F7A6E69A6DDA536C289526A3345B7 + 54481EE9CEAE1B1DF4E516FED01CC42EFF00C34C21509F9A91999E6D9455DE6D + E5256A5ACB4D5956365388E2D557D4C06FB02320C0F58AC619ED527FB3E9A9E9 + 8A951DD67DA692F4DABBC7DAF9B0E14E7FA36CC2DE42D6B98D7E004081020040 + 81020040810200408102004081020295DB1617AA626C09394BA5321FA8171971 + 8694B4A2F91C055C4A2137CB7DCC3BD92C9D7643015369B5C9654A54640392EB + 6D6527810E2BBB20A4A8119081BC740C6C483FD47F6BF820D38D6E7FB1FED7F0 + 4064D88BB14C655AC7388AB92E534E577C26E87365D47CE3A8526C084152DBE6 + 412342225B1BE04C678967B003D59A72279F9758189D6CA929652D179A252519 + FF00E5E6CC51BF2E51A1FCB520DBD8B5E7F39F8201C6841B192F4F9CFC30152C + 038271060AC558B6A0186D1852673BF2528D2B33A4A0971BEE9A4E6B00952916 + 241DA247B23C2933292D3D8B6AA95375DC52BF6B99962004B0D296A5B4DA740A + 072AEEAB9E9D227158D149D7D8B4EBDEFE184FCB7D3492B9E9DE7E180B4C57AB + 9D9F60DAF540546B14B6E7A7036194B8E959B201B80139B28D49E50CA71ADC7F + 63F8779F860BE5A9B7F62F4F9DFC101526BB216657B5890AF485324A5F0D494B + 01DC009BFB480BCAE25BB1E24A8A4E6DF48D562AFF002D8FF92F5F9DFC30AF96 + 9FFC3F5F9CFC1019DE28C035AADF6CB34B9F9074E1BAAD3D72699F090B6D244A + DD2A396F90A5F4DD39EDA88A8F68F8167F074BE05669B2AE4ECDD3FBD7669F96 + 6D6BCF30979B74EC2FBAAC9BF28DC8E3423FC1EFFF00DCFC303E59F0DC49FC3B + CFC30145C43D9BBF5FEDA18AACFD24CCE187248266261C50282E869611C05598 + 58E5D32DAF1CB863B38C7B4CEC9F136189C69A79F9C2A3489643A92BE2B05851 + 243690ACA1438FADE343F96A6DFD8BE1DEFE08238DBFF85AF4EF3F0C066FD9B7 + 655DA0E0EAD52AA128FB2DC9CFA03789641C505F761B2A20A329B28916CAA078 + 4AB6CB78E2C29D894F54AB4E4FE2492328F4A569C9C792E94B899B947539D280 + A4E64AACEA05F5D94A8D57E5BEB6F63B7FD4FC307F2D6CAB193DF63DE7E180C6 + 30E60BC66FF6318870DB9459A4D47F28B3314F65E49972B054DA5C29EF726648 + 0DABEBBC5868FD92E21A4E26C135BA14A3321EC74F61188D2B732DDECB699042 + 7395AD61C501616B811A37CB4D6DEC7FB4FC306AC696FF0007FB4FC30196E38E + C5F14E29ED26BD566F2C948BCCB2BA54FA9C4D9530CB0C24052104B891742C5F + 2E9BEB1358A3B3EC7F8830A61EAA4D3D2FF2EF0F3A5F6C26C943A02C1482BBE5 + CFF34955F417B8D378BBFCB53604495FAFCE6DFF006C0F96BD24FF0069F8602A + B82707E2F9EED026F1DE2E9366993225C4AC8535A710F14F084A9C2B4150DAF6 + D6FAF96BA8C567E5A7165F63D7FF00C9F860BE5AEB6F62FDA7E180B3C08AC1C6 + 96FF0007FB5FC307F2D386FEC7FB4FC3016681159F967717127FB4FC30138D09 + FF0005FB4FC301668115BF965A7F64FDA7E180718E971277FF00A9F8602C9022 + B6718903FB1FED3F0C17CB2D7593B7FD4FC301658115A38CEDFE0EFF00F53F0C + 27E5AA7FCAFED3F0C056721491A69CCC0CBADF6079C293C62CABDF9183EA149D + 7A4012B8C5FDF1F6C27215709F87510A1952730D2DB42AC956BAE680427C1955 + A2A1BCBC5CF48E8282A4E82CA1012842B4E7D2019C851E63E8F485E5CD6B6877 + 5085AD361B6D0A46A34D07DB00D287C7A7A4124F222FF7C3F94916E9B427BA50 + 55EFA9E50090012068612410A255A11B8EB0EE5D0DF584F7574D89DF680494FB + C9D3CFAC114E61D0F310E0193855A81A6B03BB5A35DD079F31E500D9482AEF01 + D61393374CDD21F28F7ADFEAD84536ADDA8616A7CF1935AD6F29A365B8D5AC0F + 3D79C05B32A6D650F5F28006846E93B4414BE3EC1AFB41D45559093EEAC94A87 + C200C7783AD94D5981AF53FC2026EC50AFD1DE17C24664EC7C42219AC61859E2 + 509AB4AAAFB5D76FBE2425AA326EDBB99969E0762DAD26FF006C07496F5EA7AC + 15944EBBF23D60CA4A0DF5CA76F2821B6FF080013D7E1044292ABFDD0B19176B + F4FAE0017272E89E900413D34E8615975DB6DCFEF8309520588B0DEF0608161F + 51802DB548B9E70E379B97C21237D34F285E63AE961F7C0215A9D15CFF009105 + 6EBB1E460C8B78352615A11D0C0359024EBB723032ABE8087728D41D4EF09B79 + 8802EEEDC434F2872D9D015B91A42940E5E2E5005C1B9F8880425374F10CBD44 + 04857D5B42D4D9492B4EA0EFE900A0AD3A1F8738048035E47908053B280D6161 + 171C5BF585E5B0B0B1FBA018D7C5CE014122E371BC3CA469B6A37F3F4824A11E + 2DC1DADFBE01B47AD818594A88D53AFF003B42F280337D90AB0D0F5D44034506 + 08A465F5E50F65BEC6C371E5140C6FDA9334A74D26888F6BAD2B84AC6ADB7E7E + A202CD5CC4345A14A77F54984303DC45EEB57A2778A14FF6B3549CCC9C3F4FC8 + D9D3DB26B6F5088AB374B766264D42B0F19FA82F894A59BA537E4911DEA17D7E + E8062726F1354B37E53AC3CB49DD967E691F66B1C2DD0A94DECC051DCA97751F + B6175099AACB3F76A4FDAA4C0E2293F39F5414957299347267EE5ED8B4EF09BC + 03C99293074976EFFAA215DC316FCCA0FF00A4474140B109DC8D2FB794414D4D + 5665DA71B9F972B695B4DCAF893F08090729F26BD172AD9FF40860D229B7CC86 + 7BA3F49A5291F7188465C9E2EA1F919FF6AEEF4F6770E45E5E841DE3A138A661 + 97CB73F2A5B1E5A11F5C05824E6F10D3F8A9959986C0FEEDE3DF23FEED62729F + DA5D7E4AC9ABC826699E73527E2F5C862BB2D3F25304869E4A94371D2F1D1B6A + 3480D3A898BE815945E9D3885BC7C52CBE0747FA55133989235BAB95F4FAE30D + 9AA549CD2C2CA7BA7C785F6F8563CEE22528F8F71061D5A59AC5EAB4724244CF + F7CDFC7F8C06C42E55D3CA156F306236935BA655E51B9C91980F30E6CB1B8F25 + 8E4444805257C2537234807136BDB7F381EA3886D0344EFE0E70764784EDCA00 + B456DE2E9CA159469AEA205969B2BDD8328BA872F580009B1EA2059CFE442865 + 50CDB2BA8E709EF40D358076C49EA2DA180A495236E210E232DB2DEC9FB60D24 + 58F3239C0329CF6FFC2064CA6E0687EC30E96C2AC4683ED8196FA6FE7008D86A + 7E06070900EDFB8C28B6336BBF285806DE1BFD2806F537077BC17769B9B1D0EE + 930EA908DFEF83D3F71100D252523A88194A4F9723CE1CC9B731CFD212E3ECB0 + D29D79610CA7C6B540533B4FC5C70FE1F5A193FD76686541E893194618A6F76C + 7B7CCF14E4CF1951DC031DBDAED4854B1030868E7654A01B4796D1DC84143612 + 8F752004C019C891AE839930CCB4D4A3E3330E255D45F5FAA3866E615C626DB0 + A97B7120DC5BCEE2383D86466417A4260076DC0959B7C028403F5BA929A5AE55 + F43F2AC9B649E6B5FB2231487E65ABAD0D5625C6EF35C33091E7CE241B9EABC8 + 3286273FACBAF1F9B6562E32F4CFB130CF7786E71DBA14AA5CFA74CC939466FB + A03924DF5B472536A050A1FE067465F8056D0A9E9B716FA173BDF5326922C975 + BE364FC23A2769F56427FAD30D55A586CE8E17ADEA23925DC48416E9F3BDDABD + EA6CF0D3D013A4025D61D791DECC4B373ED7F9A93367079903F84134A5389EEE + 5A69B9C6FF00CA4E0CAE0F204FF180EA65E5DD0A9A977A9330769897E268FC3F + 84494AD25D9E215514B3372CB4DD99C6F81C3EB6B40428A34C3EE953128E4B16 + C8EF5ACDA11FA04C59933BDE30A12DC130D80324CF00F89F3879E9A4C8B68438 + D39ECE9D12EA78EC07D2E70A53B29392FC01138D9F123DEFE301CCC4FB84A913 + 92CB955A05CABC4D91FA2A8E96D72D30D9EED4979958B2B2EA3D088847AA8D49 + AD0DB0B79AB5FBD95793980E9BF2F48E06E6A61336A9D61A6D4946E866E9FAD3 + 01272952AA60DAA09CA7A8AE9AF9B3D2E763FA27CFA18DBE835994AC5319A84A + 3B99A746879A0F3428794624CAE7EA34FC8B4A26A55F052B3B3AD9F749E46D11 + 586AB756A4CCB8DCA4D38C29049EED1AA54A1C8A4E901E966D573652AFD130FE + 961193503B5BCC4355460389FF0030CE9FF698D1A915B91A94A89894783ACAB4 + 04723D0F43012C02BDEDA0D5C278B686D04DBAA7A43809481CFA0803B0E5F110 + BCFE5F6437C20E607483CABFF98201FEECE6CD974F28252524EBC2B1CC6C61EB + 2B2FDD0839B5CDF1804E9AF96E07584F76730B0E2E70EF2CC36D8F5819387A01 + CE00882743AA613954156483986C7AC3A9B1B5F430E650B0027780606A2C7488 + BAFE22A361E97331557FBB49176D23C4AF8444637ED228B86195202C4C540ECC + 8D403FC631A32F5CC6351354AC2D689226EDB6798F2F280BFF00FC7154CBAA14 + 8C3EECE320EAB5AB2C40D7B16E3AAF3FC320DC84B274436E2EE0799EB1D12B22 + D30D25997477681A25098E5A9E22A0D11DEEE756A7A713BCA363C1FAC4E900CD + 1B07BAA9BFCA7557FDA667DCE491E9129514B09994CBB7DD07B266EE4AB2B8BE + 9962BFFF001624B3FF00F4E5E4EB9C5E14BAAC96329D6A9EC944ACAB567565CB + 7B52C8F71B572101DFF30E1EE17C0EDBF30F8CA7E1C8C712B0EC834E294D35DC + 3AADD1EEFD516096C38D3799B7265D9B9123E6A5E63894D2873439E285BA2558 + 67D9DBBBAA4FBCAE223E3015199FCAD4FCBDD346658BF15B5CBF030D3B45929E + 67BF2C2A4DC56A548E249FD641EB1C750C595153AB1249084A4D94A02EA4DB4D + 530FD17154C4C4F22466B2BA5CD1B986F4FF0070805B34FA9CB4C95C9CC112A8 + 1728F1E6037013B83D2185D4A9750716CD524B2BA8B9CE34504F53161995C8B5 + F38FBC84006D9D2AD6FF0008E79CA7A66DABA3BA7DDFEEDFE7FEE101C14AA74A + 67CF253E66248EF28E710FB7A44D7024646F2E9A06869F545315293522EABDA5 + A5CA36412E38CEA92A1E1CBD224E4E6E99549601F74A5E6C7129672A81E442C4 + 074D62A52DDCB928E778CBC45BBA50B66BF43E515D97987A5C2D2C94B8E9E12E + DECBCBD3AFC626DEC3EF3CF7786714AE1D16BD5571E1D7C244454C34F3727DCC + CC9F74A42FFB46C6E79FA403AF4D4F38F36C4FB65762121A56E6FC82C6F12125 + 225E7FBCCDDC4ECB1B251974C9CB375D20E4A90FB80B33D772E0392F3CD2BEC1 + E713C19504A6F73616CE60196D969B376D01198E65DB405519EBB65D62632E89 + 2E2FEF8BBD6AA0D53E9EB789F9C570B29E6547F8452E8D28E3AE2DE3A8485295 + E83730074A43EA9969B9667DA665D7036D4BFD2276D39DE2C12DDA0566893AB6 + A4251A91CA724E4B5894AD6936B9BF84C562CF30E25D6D65B750414AD072A82B + A8312F4AA54CD5144D94EBAE9D5C56A547ADFEF301AB60DED5252B936D53E6E5 + CC9CF2FF0036EA0E66C9FDD1A036E156AAD6C75FE2232AC2D85A5A9450C349F6 + 8994A8393D32364E5D92234A9259732950D4F3E5AC049056BBEBEEC3976BE808 + 4EC0050190F848E50BEE93F4A03B72156A957AFF00086F809F0EDB7943D932EA + 36E77E506508BEC6D00C84242AE0F10DC0D88850484DFA7F3A4295648F0586C3 + ADA14D9D3A9E7E9004A0943657E16D22E54AD93EA6327ED13B61664C2A9787CE + 79C570AE613F558427B72C653922D8A348B85B0A1F3CEA4DB3791F48A0604A23 + 2583547C77930E121A2AD72DB73EB00BA36187E65FFCA95D25E9870E64B2AFFC + BF845B05ADA0B01A01047CE392A93CEC8C9A9F6E59734A1EEA3DDFD23E50055A + 9CF64A6BAFFB40955DBE69EB6639BA253CCC53862E959F0966BD20DD46FB4DB2 + 3BB981EBD639EB359FCACDB4E4EB3C6010C2995652075283BC4006943368A4AC + 7839180B2AB0952EA77730F4FA5C5739299F9B747A1D8C474B50AB12B5D9694E + E5C6A6D2E26CAB586875215D21CC3B87A76A8F899714A6655BF1BE3457FA62E9 + 4D457A5D650E541B9EA3FBAEAEDDE0E82FCA02C5353E48C8D1D3DF5F5EB68E1E + BAC1D87A030328E5A88087AB5064A65CF68F63CCF2BF3AA695DDA8F9F9C42D46 + 954C14F5354B6D49A8A4F1B6EF03C5037CBF4A2C552AE53E492E256BCCF37C25 + A1BDCED78A9CF4D19C289942568C9A596AD53E683BDA020D696912A5AF657915 + 02BD1773972F4CBD62E186279912CDC8CC10DCF1BAFBBEA9F3E8A88B97AED464 + F88B81F40565525D4EC4EDAC4F77520F4AFB7CE31F92E65678E61BE2209F7AFD + 0C03CF1AD34E296DF753F26AD52CECB03A03B18899CA5D0E6807722A466D60A8 + 4B9E1248F2D8DE15354BAFCA30D9A04D17E4BC44020AB31DCFEA9835E244CAB8 + C4BD7A56F3606653C900817D8DBAF5B4045271054995F752C43086B44CAAD3A9 + EA083BDE2CB4C99159933DECB869C3A2F4BA08E60A4ED1C428F273CE7B7D366C + 38952B329B7867413E5CD26261BEF1956D6EBEB00F8936E5DB4B6D272369164A + 06C3D22B13E2A54ABCE3D38A5283B7BA97C2E35FF2C35F4BCE2C950AC49D3E48 + BF38787FBB40F128F4114872BD375F7134F7A4DB754B72F2CA427E7517F72FCD + 301C532FCF57AA1DEAC10DDF2B6DA7648E494F9C5EE4B0A1A652C8787F599A4D + D481EE3635CBF1E712F86708B148692FCD653376D8785AF4EA7CE3AEA6F99C3E + C52C92A997F41E4DF3513C8406772340767EA096D282BCCAE1B73EBF08D1E468 + ACD2D2DC9B26D34F0E27B2F0817D403CADF6C48D1E87294C6AC9E3797F9C73AF + A7945B295430AFEB3349CA7DC6CFEFF5808FA5D203484B691F363A6E49F78C4C + 265D48B65D2DC84750EE5374368B81A11094A06875083B1E86012C581CA763CA + 1CEEC7480A4AB6E636BC16657D11F5C04B90956B6F220C252937B03A7BB0602E + F94EA47DA202C79FC200595F111CD3D32D4AA438AF111C0D8F11883C658D25B0 + E0936FD9D535393CA299717B369B7BCEAB908AFD22A9255A6DCAA4BBB32CCD95 + 7F58A7CD8F09EAC9E688080ED3F0CBF579776A4DB798A389E4A35294FD2FF4C5 + 1708D5934E4FE49A91EE52A56694983F9B55F95E374914BB9DB713E0734EA9BF + 30622B10F66D40ABA565B6849BCAD4A2D79751EB6DD07D20337C555E7A892EC3 + 8D301FEFC9E257845BCC455AB159C4350612F38D2E5A432E62960EFF00A4A3D2 + 2DD54C0B8A30F83EC8BCF27FF25F1DFCB2BD15A911529CB25458790AA636E2C1 + 725CDD52CAEA10E0F0A4F48062568752EEE5A527109C938B059E6EA1B1BB89F2 + 3160630B4F4B4CA51DF35394FBF1A1F4DD691E461CA6502655526AA8ECFA261A + 651925932FE14A06C9F48B10B7D700D36C36CA036DA42529D9236F48887E80FB + 7ED2B94577A1FDE54F0DAFBDB9475D6EAAF53584ADB955CC2D7B11F9B48E79D5 + CA3899C4B235097086267D82695E175D176F327C490AD8C07209E9DA73A1BD52 + C10025B77529B6F6F589396AFCAA88EFDA532926C958E2493CBCC43735597257 + 2A6AB281C97578665233A09EA3A423D8242A281314B9BCA45F87749BEF7E8602 + 0EA14D9F6265F9B752AC85454DCCB7F3AD7FAB98D2391B650B68BB6F9B3E0791 + C46FD2DE7131EC953900ACEE38C94EADBC9E2464E8473F8C34A7E9D328EF5E97 + 534059227250E45E7EB93C2603A2918796A2262A201E6DB1C87AC4DCC4C4A4BA + 529985A5097385398709F231192D50AA348E15A2B0D27E87CDCC84FE920EE444 + 7D56BC2710EC9B6C82D287134E0B380F5B1D6E201C9F9FA7C9CE364B4F48CC5B + 45306ED94FBA72EC44122AACCD48B8BAE4AA0C9A746E680D5C57448DEF1C747A + 1BD3CA4AE6147D953A2927DEE8018731D4996E4E48B62D28C9285206C09D8C03 + 52358A83AD896A34B224E4C1E15AC675FC62669B49C6532F284C92E49B9A77C2 + C85A7F4903CA24FB3B97A7A996E61D4870936436760075F38D498725EE021A1E + B6DA031C9AECB2A930F296F4FAE739327291A79DF41164C2B832470EB0A79567 + 2795E278FBA3A08D1A712C997BA96107A452EA2FCC2E6BD92585DE56BAEC84FD + 35C0724F4CCC3F32896974E678EA86F901F4DCF2F28929293449208BF7AFB9AB + CF1F12D5E5E439083949366491951771D70FCE3C755B8AFE761167A2504B63DA + E646678FE6D1C93FFB802A3521774CD4C20E61E16CFBBEB13AE397E141CAAFB2 + 094E287853BFBD0CA81FAF9C01285D5BD94378585A81D788FD86016C9D2F65FD + F0611AF973F280316E7717FAE15997D53FED801BD2C6CA1EE93D3A437DCB7F4D + 5012CAB91E7D60650A4F17C4985FA0D79C114F11B27CF480AD627C4B40C30B96 + 9CAD0496269465DB70A33D956BEA390B738CBE624AA8FCF9AB616ADA4E5B844A + B873B2537BE5F28B27F484A5D42730A493B292EB984CB4C153E5B1728414D828 + 81ADAF1E7A90A9D429EF0764DF5B0E0FA27EF101E8CC378DA65E4190AD537F27 + 4F5FF388E261C5725A0F2BC5AA5A74BA921C1915F618C2685DA92436897AECBD + D2AF0CD33BFA94FF0008D1A815A6A799EFA913A89C6F9B37E21F03A880BD7852 + 40364AB74EE93F0880ACE0AC3D5442B335EC4EB9E25343334AFD66CC097C40D8 + 391DBB4E734AA25D99C69DB1B8D79C064B57EC9AAF4952A728CF2DB035EF656E + B6FF00D4DEE2210620AAC870D6A47BD6869EDD2BAFFB931BFB6024E642F29EA9 + 8E0A9E1DA3D4EE66A5C21E3FE259E05FC79180C1E6454AA931EDB87AB097D3AE + 6907084E507DDCA7706206AEF25003354A4AA4E610745B574B5FAD93C378D471 + 1F636E1519BA59EF96350ECB7CD3E3D51B2BE115274E2BA75E5EA32A2B3268F1 + A169B3C903AA4EB01C7486A72464BBEA64C7E5D6DC494FB10D9A3C94A42BF747 + 2B15BA43AEFB3CD36E5166C68EA9AFCDE6BEBC3B8BC25B91A0BD36A9CA43EE4A + BEDEABA4A945A754AFA285FEE8667B12A1D9EEEA7A92DB808EED6A70143AA1D7 + 375F380B73F3B388960F48308A94B0B0506D60AC8E6639E53E4FCE4C9019F679 + A09F9E927386F7E79799F311054FC333C65BF28D0675C614B51CB2AEDD0AD391 + 3B1F58765313A533EDA311C9F7736C9296A7729040E77FA501D53F4EA9CA3AA7 + D328998424E6666993C6D8FA2A46F1D34E937AA0DA1DA8212EB438A5DC50B3C9 + 50E655B91E46271879B75B43CD139162E83B690B558052D44040D54B3A0B4036 + 10948D00091AF4114AC4F5AFCA8B34BA70CF2E140BF31C9453D3C843988B11AE + A4E2A9D4B3FD576989ADB3F90E8989FC1982D2B69337349EEE4C78507773F0C0 + 3183BBCA4A1B54C92D30EDD4D9B5CE54E9980F38D3E9937459E484B53A5E5917 + 2D25402BE2229F5DCAE4D6748F9A653DCB7946C08D618A7E1EA32DAA2BB4C54C + 3752A7A94A9D749B2566FC24795A02EF53A830C5A4E4580A9D50BF7ABD4369FA + 47F84714B4B06BC3771E74FCE387752A14197D530DAD0038B52F33F9FC4BF4B7 + 3E9168A3510307BE98B1717AA4721FFB80452A8296809898E27D1AA51C93FC62 + 5B35C68343F6FA41A9D5A4E9B0D0FF003D212027529D8C02005036FBF63FFB84 + 940EA7EFB43A2E753AEE0FA42BBB6F439AC36BFF001804800A771730652B16CF + FEE832DA5274178501A5EE7279F28009404E853741D72FF085656A065E2E1D2D + CE1CCAEC07679817EA61694056E6DD21945FAD88E50E245B51E1804290B6C9E6 + 0E879E9E636B452B14F64B82B1005ADC931213ABB94CE4A70F175523C2634049 + 1E130DAD841BDBE2203CB78B7B10C5D45EF1F9348AAC823FBC63F3807E937BFD + 514297999FA7CD6761C725665B3B8BA1408EB1EDA7A58856640F2BF9454F1476 + 7784B108BD4E40098E532C7CDBA3E23C5F180C2A8DDAD4F212862B6C267591FD + FA785D1FB8C68387F12532A490BA54F2564EF28E68B1FE9DFEA8A9E29FE8FF00 + 886454B7E80E8AB49EE86FC0FF00A65D89F48CC9F97A95326CB6FB6ECA4DB47C + 2A050B047D501EA196AE2D9396613940DCF2FAE2665EA0CB89053AA4F311E70A + 176A75D910199F02A32DCC39A383D15FC6341A1E35A054C03233864E6F9CABDA + 5FD39180D59241E36D5C4398DC435392F253C9C93F2E898E8BF0B83D1422BD23 + 88BBAE19C46FFDEB7138CCFCA3E90B438157E63F7C05371276514EA99CD26A4B + EBF75B77E6A613FAAE8D15F18A3CE608C5549753DDB81CC9E062A2D5EDE8E8B8 + FB63714F76BF7AE624587E61B48428079BFA0B1987DB0183B23185BE7281DF84 + FBF28F36AFB2F1CD3954980522730E4D92DEADF78949CA7C8C7A425E8D4E9E41 + 71DA449E41BB9E1FBA21EAB8770C0495A694C157D205444079E9FC51553A4B52 + 3279BCB1FF00EA988C9992C515852533CB5772769668593F546F2ED0A8F9B865 + 90D0FD11684097A54B5FBB6D2143757380CD30D6004CADA62A48CACA7544B732 + 7F4E2D2F4D198BB6D908610389CE407411D35453B38486CE4691F9C73CBCBCE2 + 15B979A9F98F66613DD4AB7E23D3F48F551E9004A63DB6644A4A8CB2ED6AA59F + B49F389B95956A5C06D94F0ED7E6A30F3126CCBB225A5D1CEDFA4A3D4C5968B4 + 332FF3CFFE74EC8DC0F4F38055228E9974879FB2DF3B7403CA24D4AD2C354F2F + 585E6053A83A7284293616B69BFAFF00EE012129D336FD60F291ADAD6F784181 + A6A4A90798E50E016398FD7FC601AD49B8DC883CB7D41E2E70E06C24929E9C49 + 1FBA1441D08DA0116006DA40CA02B2D8EDE2E506AD351A2BA7230ABA88F0DD1C + C0DC18064FC6C343057F2FBE1F22FCC5F975F484F76BFA3F6C07658724FAC2F4 + B5AD684EA4EBA5F62200D36DB95E017C63783D6FAEB7FB605C11A9F4845ADB71 + 27ED80790E7256B04B6039B78B91842737F3BC2B3116074E901C8A975209236E + 63F78884C4584E875F97F66AC49A269163DD3D6B3A8F458E28B4663B1D7A4254 + CB6ADB4BF3F380F3B628FE8F55168ADFC393499A6EC5424DF395CF44AB631945 + 469753A5CCAA5A7E59C949841D50E24A4FC23DB0E4AAADA68A4C465628148ACC + B162AB24DCF34774B89D479856E0C0794A858F2BB4AB23BCF69961BB2EEBF51D + C468145ED0A8D3CA484BC69D35F41C3C24FEB6DF5C4B627FE8F14E75F0FE1F9D + 54AB2AFCE4B4C7CE5BF55435FAE28388BB1AC654660CCA194D425D22EB5CA92A + 29F5468AFAA035A96AE4DA4A4BB6283EF0D411D748BD505D4CD3692CCC058E68 + BED1E4DA2630C41435E461E25A06CB967B893E963B4689873B4C9078A1536174 + B7964843DAF70A23F4B9407A86464E565D8E361D55F555F51F0B47054DF955A4 + A1B977079648A9E19ED4A625A49B6E75B134C1FCD4CB4AD6DF72A3A6ADDABC8A + D21A9761C75E72E1040B0D37CDD201A9E9271C199B64A32EEB72C05A2154298F + B4A9844E31321170E30C2C5C5B72AE67E10C2BB45C3552EE65175132CFCE1532 + 95BC9F9852B628CF10550927E9686E41D6994332E4AA4CCB8057C7EEA143C455 + D0C074CEBEB9D77D925381B6F575C1E140FDEA8EB94612CA132F2CDE6D330008 + 37FD227AC372123372EC33DEA7BB766412896DF2F404FBCAFA462CF4AA131292 + F90A403E2BF99DFE100747A525B47B43C333CAF77E8FA4492DD56C0E87627F7C + 0364F0EC615BF0A8580FB601BF7B4DF65C286BB7C0182B29076D3918581A055A + 0106C0DF63B2AF0B00EE05C738580920E9E900240D0E97D95002DADAE0741D20 + BC245F887410AC872DF98D3585FBB71A91008397646C61441FFF009BC190B16E + 683E24C1D95616FF0074037952A1C49BF5B7DF07DC2BE9C2B22AF7F7BCA1593F + 487D500EA7E0472B41DB736D39C2540F8827EA855EFCFEB802B01B7FA4C10D46 + 9F1D615977FDDB4241B1B9E5B9800816D3A79C1DF6178220EE9DFCE0246607ED + 805EBCF43CE0F30B69EBAC22DA79C18EB00E21474FDFBC1292DAB8BEE8402546 + F6DBAC18735D3457310085CBE74F0E80C73997EBBF3023B42B5DFD47283B6A7C + E032BED3FB246314844E52D4CC9559907BCCC8CA97C72CCA1CC758C2311E0CC5 + F87C771569279B966D44A1C1C6CDCEE52A1A6B1EC85B171E51CF31281C6952EF + 3697187465710A19924742937101E3FA3626A8C9D45229B3029B2ABF134B2A71 + 9B81B90ABEE44689817B58A37E5253988253B96F2774B79A495B1C5A5D69DD37 + EA22CF8BFB04C3D522E3F4551A5CDF36BC4C93FAA751F0318D624C0D8C30C77A + D4ECBB824966CA9866EA6176DAE47FE501B1E2A92EC9DC906AB12EFCBB4894F9 + E4A1950515DF9246E4DFAC77F67B2B313CEFCAAAB27BB616DF7744A6726DA3FD + F2BF4D51927667D9A4D6249B44E5410B6A88D9E25EC5D23DD4797531E8E95926 + D9976A59A6F232C2421A4744A74020105B6DC990F86AE522C957407A47724E9E + 22A07DE834A129E5F08500B07E979180032E5CA76E47A4282136B051BFDF0E14 + 255A8E130AB026E440340660073FA5CE08E64AB8870ABDE10B565D88D442CA2E + 35D41E5008EEC6E2E2176EAABE6F0C36136362763610E0165049D7A5A000CC2C + 08D792BAFAC1DB755AC06E2149D743BED71BC278FBCDF887DA2005900731D408 + 3245C1FB39183BA72F0F2E50123874E7C84010000B7DB09B8F2FB614469CEFD3 + AC1674FD223CA01D41B0D34FBA0C2413E7BC081008E1B02826FF00CEF07706F6 + F173810200ADAD8EE20BDE0A17D343E70204028F87324DD5CAF07655AFE1BC08 + 10032EBA1B2B9C11046A371B1F2810201415A661B731005B6FAA040803CDCC1D + 3F9DE0C286A2FA0810201A71B17EBD7AC32ECA36B4942921485E8A42802950F3 + 06040806E5E9F2CDA4259692DB4340DA06509F410F2594DC83A9810200952EA4 + 6A9B6BCA0C0E87430204028664AB29F0C2ADD758102013A6DCB91E621201CDC2 + 75FA3020402D40A85CFD504743623D0C08100E5D1CC71751CE0B5DF973810201 + 246C6E329DA08AAC48B408100B20EB6DCC15DDFE40810203FFD9} + OnClick = img_MarmaroClick + end + object Timer1: TTimer + Interval = 10 + OnTimer = Timer1Timer + Left = 210 + Top = 10 + end +end diff -r 000000000000 -r ef71164288c1 unit_Easteregg.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Easteregg.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,97 @@ +unit unit_Easteregg; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, jpeg, ExtCtrls; + +type + Tform_easteregg = class(TForm) + img_Marmaro: TImage; + Timer1: TTimer; + procedure img_MarmaroClick(Sender: TObject); + procedure Timer1Timer(Sender: TObject); + procedure FormCreate(Sender: TObject); + private + vx : integer; + vy : integer; + x1 : integer; + y1 : integer; + x2 : integer; + y2 : integer; + public + { Public declarations } + end; + +var + form_easteregg: Tform_easteregg; + +implementation//############################################################################### + +{$R *.dfm}//################################################################################### + +//------------------------------------------------------------------------------ form create +procedure Tform_easteregg.FormCreate(Sender: TObject); +begin + vx := 0; + vy := 0; + x1 := form_Easteregg.Left + (form_Easteregg.Width div 2); + y1 := form_Easteregg.top + (form_Easteregg.height div 2); + x2 := screen.Width div 2; + y2 := screen.Height div 2; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ kill +procedure Tform_easteregg.img_MarmaroClick(Sender: TObject); +begin + application.Terminate; +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ move form +procedure Tform_easteregg.Timer1Timer(Sender: TObject); +begin + // keep window in foreground + SetWindowPos(handle, HWND_TopMost, left, top, width, height, SWP_ShowWindow); + + randomize; // for better random + + x1 := form_Easteregg.Left + (form_Easteregg.Width div 2); + y1 := form_Easteregg.top + (form_Easteregg.height div 2); + + if x1 < x2 then + begin + vx := vx + (random(10)-4); + end + else + begin + vx := vx + (random(10)-6); + end; + + if y1 < y2 then + begin + vy := vy + (random(10)-4); + end + else + begin + vy := vy + (random(10)-6); + end; + + if (vx > 0) then form_easteregg.Left := form_easteregg.Left + (random(2)+1) + else form_easteregg.Left := form_easteregg.Left - (random(2)+1); + + if (vy > 0) then form_easteregg.top := form_easteregg.top + (random(2)+1) + else form_easteregg.top := form_easteregg.top - (random(2)+1); + + if form_easteregg.Left < 0 then form_Easteregg.left := 0; + if form_easteregg.Left > screen.Width - form_easteregg.Width then + form_Easteregg.Left := screen.Width - form_Easteregg.Width; + if form_easteregg.top < 0 then form_Easteregg.top := 0; + if form_easteregg.top > screen.Height - form_easteregg.height then + form_Easteregg.top := screen.Height - form_Easteregg.height; +end;//-------------------------------------------------------------------------- + + +end.//######################################################################################## diff -r 000000000000 -r ef71164288c1 unit_Editor.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,72 @@ +object form_Editor: Tform_Editor + Left = 327 + Top = 149 + BorderIcons = [biSystemMenu] + BorderStyle = bsSingle + Caption = 'CD-Autorunner - Editor' + ClientHeight = 468 + ClientWidth = 600 + Color = clSkyBlue + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + Menu = mnu_Main + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 13 + object img_Background: TImage + Left = 0 + Top = 0 + Width = 600 + Height = 450 + Center = True + Proportional = True + Stretch = True + end + object img_button: TImage + Left = 0 + Top = 0 + Width = 150 + Height = 40 + Cursor = crHandPoint + AutoSize = True + OnMouseDown = img_buttonMouseDown + OnMouseMove = img_buttonMouseMove + OnMouseUp = img_buttonMouseUp + end + object mnu_Main: TMainMenu + object mnu_tutorial: TMenuItem + Caption = ' Tutorial ' + ShortCut = 16468 + OnClick = mnu_tutorialClick + end + object mnu_WelcomeScreen: TMenuItem + Caption = ' Welcome-Screen Settings ' + ShortCut = 16471 + OnClick = mnu_WelcomeScreenClick + end + object mnu_Autorun: TMenuItem + Caption = ' Autorun Settings ' + ShortCut = 16449 + OnClick = mnu_AutorunClick + end + object mnu_CreateAR: TMenuItem + Caption = ' Create CD-Autorunner ' + ShortCut = 16451 + OnClick = mnu_CreateARClick + end + object mnu_nzl: TMenuItem + Caption = ' I ' + Enabled = False + end + object mnu_Sprache: TMenuItem + Caption = ' -> Deutsch ' + OnClick = mnu_SpracheClick + end + end +end diff -r 000000000000 -r ef71164288c1 unit_Editor.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,200 @@ +unit unit_Editor; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, Menus, ExtCtrls, Buttons, StdCtrls; + +type + Tform_Editor = class(TForm) + mnu_Main: TMainMenu; + mnu_tutorial: TMenuItem; + mnu_WelcomeScreen: TMenuItem; + mnu_Autorun: TMenuItem; + mnu_CreateAR: TMenuItem; + img_Background: TImage; + img_button: TImage; + mnu_nzl: TMenuItem; + mnu_Sprache: TMenuItem; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure mnu_tutorialClick(Sender: TObject); + procedure mnu_WelcomeScreenClick(Sender: TObject); + procedure mnu_AutorunClick(Sender: TObject); + procedure mnu_CreateARClick(Sender: TObject); + procedure img_buttonMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure img_buttonMouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure img_buttonMouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure mnu_SpracheClick(Sender: TObject); + + private + dX : integer; + dY : integer; + public + DraggingStatus : byte; + + PfadHG_neu : String; // 'C:\' + PfadEnter_neu : String; // 'C:\' + PfadIcon_neu : string; + CDRoot_neu : string; + xEnter_neu : integer; // '225' + yEnter_neu : integer; // '325' + WelcomeKind_neu : String; // 'click' 'time' 'none' + Delay_neu : byte; // '3000' (in ms) + StartsFD_neu : string; + + PfadHG_alt : String; + PfadEnter_alt : String; + PfadIcon_alt : string; + CDRoot_alt : string; + xEnter_alt : integer; + yEnter_alt : integer; + WelcomeKind_alt : String; + Delay_alt : byte; + StartsFD_alt : string; + + Delay : string; + englisch : boolean; + end; + +var + form_Editor: Tform_Editor; + +implementation//############################################################################### +uses unit_Start, unit_Welcome, unit_Editor_ws, unit_Editor_as, + unit_Editor_tutorial, unit_Editor_CreateAR; +{$R *.dfm}//################################################################################### + +//------------------------------------------------------------------------------ form create +procedure Tform_Editor.FormCreate(Sender: TObject); +begin + // close form 'start' + form_start.Hide; + + // init global vars + PfadHG_alt := ''; + PfadEnter_alt := ''; + PfadIcon_alt := ''; + CDRoot_alt := 'C:\NewCD\'; + xEnter_alt := 0; + yEnter_alt := 0; + WelcomeKind_alt := 'click'; + Delay_alt := 2; + StartsFD_alt := ''; + Delay := '3'; + englisch := true; + + // background color + form_editor.Color := rgb(192,192,192); + // dragging dtatus = 0 + DraggingStatus := 0; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ kill +procedure Tform_Editor.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + application.Terminate; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ tutorial +procedure Tform_Editor.mnu_tutorialClick(Sender: TObject); +begin + application.CreateForm(tform_editor_tutorial, form_editor_tutorial); + form_editor_tutorial.show; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ welcome settings +procedure Tform_Editor.mnu_WelcomeScreenClick(Sender: TObject); +begin + application.CreateForm(tform_editor_ws, form_editor_ws); + form_editor_ws.show; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ autorun settings +procedure Tform_Editor.mnu_AutorunClick(Sender: TObject); +begin + application.CreateForm(tform_editor_as, form_editor_as); + form_editor_as.show; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ create settings +procedure Tform_Editor.mnu_CreateARClick(Sender: TObject); +begin + application.CreateForm(tform_editor_CreateAR, form_editor_CreateAR); + form_editor_CreateAR.show; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ toggle language +procedure Tform_Editor.mnu_SpracheClick(Sender: TObject); +begin + if englisch = true then + begin + englisch := false; + mnu_sprache.caption := ' -> English '; // German + mnu_Tutorial.Caption := ' Anleitung '; + mnu_WelcomeScreen.Caption := ' Begrüßungsbild Optionen '; + mnu_Autorun.Caption := ' Autorun Optionen '; + mnu_CreateAR.Caption := ' Autorunner erstellen '; + end + else + begin + englisch := true; + mnu_sprache.Caption := ' -> Deutsch '; // English + mnu_Tutorial.Caption := ' Tutorial '; + mnu_WelcomeScreen.Caption := ' Welcome-Screen Settings '; + mnu_Autorun.Caption := ' Autorun Settings '; + mnu_CreateAR.Caption := ' Create CD-Autorunner '; + end; +end;//-------------------------------------------------------------------------- + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ // mouse down +procedure Tform_Editor.img_buttonMouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); + var MouseArea : trect; +begin + // right drag'n'drop status needed + if DraggingStatus <> 0 then exit; + // remember cursor position on 'img_button' + dX := x; + dY := y; + // jail mouse in mousearea + mousearea.Left := form_editor.Left + dX + 3; + mousearea.Right := form_editor.Left + form_editor.Width - (img_button.Width - dX + 2); + mousearea.Top := form_editor.Top + dY + 41; + mousearea.Bottom := form_editor.Top + form_editor.Height - (img_button.Height - dY +2); + clipcursor(@mousearea); + // set drag'n'drop status + DraggingStatus := 1; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ // mouse move +procedure Tform_Editor.img_buttonMouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + // right drag'n'drop status needed + if (DraggingStatus = 0) or (draggingstatus = 3) then exit; + // drag + img_button.Left := img_button.Left + (x - dX); + img_button.Top := img_button.Top + (y - dY); + // set drag'n'drop status + DraggingStatus := 2; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ // mouse up +procedure Tform_Editor.img_buttonMouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + // right drag'n'drop status needed + if DraggingStatus <> 2 then exit; + // free cursor from jail + clipcursor(nil); + // set 'img_button' coordinated + xEnter_alt := img_button.left; + yEnter_alt := img_button.top; + // set drag'n'drop status + DraggingStatus := 0; +end;//-------------------------------------------------------------------------- + +end.//######################################################################################### diff -r 000000000000 -r ef71164288c1 unit_Editor_CreateAR.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_CreateAR.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,99 @@ +object form_editor_CreateAR: Tform_editor_CreateAR + Left = 245 + Top = 190 + BorderIcons = [] + BorderStyle = bsSingle + Caption = 'Create your CD-Autorunner' + ClientHeight = 270 + ClientWidth = 520 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + Icon.Data = { + 0000010001002020100000000000E80200001600000028000000200000004000 + 0000010004000000000080020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BBBBBBBB000000000000000000000BBBBBBBBBBBBB0000000000 + 0000000BBBBBBBBBBB0000000000000000000BBBBBBBBBB000BBBB0000000000 + 0000BBBBBBBBB00BBBBBB00000000000000BBBBBBBB00BBBBBB0000000000000 + 000BBBBBBB0BBBBBB00000000000000000BBBBBBB0BBBBB00000000000000000 + 00BBBBBB0BBBBB0000000000000000000BBBBBB0BBBB00000000000000000000 + 0BBBBB0BBBB0000000000000000000000BBBB0BBBB0000000000000000000000 + BBBB0BBBB00000000000000000000000BBBB0BBB000000000000000000000000 + BBB0BBB0000000000000000000000000BBB0BB00000000000000000000000000 + BB0BBB00000000000000000000000000BB0BB000000000000000000000000000 + 0B0BB0000000000000000000000000000B0B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FFFFFFFFFFFFFFFFFFFFFFFF00FFFFF8003FFFE0001FFF80000FFF00000FFE00 + 001FFC00007FFC0001FFF80007FFF8001FFFF0003FFFF000FFFFF001FFFFE003 + FFFFE007FFFFE00FFFFFE01FFFFFE01FFFFFE03FFFFFE03FFFFFF07FFFFFF07F + FFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFCFFFFFFFFFFFFFFFFFFFFFF} + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object btn_Finish: TButton + Left = 400 + Top = 230 + Width = 111 + Height = 31 + Caption = 'Finish' + TabOrder = 0 + OnClick = btn_FinishClick + end + object btn_Back: TButton + Left = 280 + Top = 230 + Width = 111 + Height = 31 + Caption = 'Back' + TabOrder = 1 + OnClick = btn_BackClick + end + object FinalSettings: TValueListEditor + Left = 10 + Top = 10 + Width = 501 + Height = 211 + DisplayOptions = [doColumnTitles, doKeyColFixed] + Enabled = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + ScrollBars = ssNone + Strings.Strings = ( + '=' + '=' + '=' + '=' + '=' + '=' + '=' + '=' + '=' + '=') + TabOrder = 2 + TitleCaptions.Strings = ( + ' Setting' + ' Value') + ColWidths = ( + 124 + 371) + end +end diff -r 000000000000 -r ef71164288c1 unit_Editor_CreateAR.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_CreateAR.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,319 @@ +unit unit_Editor_CreateAR; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, Grids, ValEdit, ShellApi; + +type + Tform_editor_CreateAR = class(TForm) + btn_Finish: TButton; + btn_Back: TButton; + FinalSettings: TValueListEditor; + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure btn_BackClick(Sender: TObject); + procedure btn_FinishClick(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + form_editor_CreateAR: Tform_editor_CreateAR; + +implementation//############################################################################### +uses unit_Editor, unit_Editor_tutorial, unit_Start; +{$R *.dfm}//################################################################################### +{$I-} + +//------------------------------------------------------------------------------ form create +procedure Tform_editor_CreateAR.FormCreate(Sender: TObject); +begin + // + form_Editor_CreateAR.Caption := 'Create your CD-Autorunner'; + btn_Finish.Caption := 'Finish'; + btn_Back.Caption := 'Back'; + FinalSettings.TitleCaptions.Strings[0] := ' Settings'; + FinalSettings.TitleCaptions.Strings[1] := ' Value'; + FinalSettings.Keys[1] := 'Background-Picture'; + FinalSettings.Keys[2] := 'Enter-Picture'; + FinalSettings.Keys[3] := 'Autorun-Icon'; + FinalSettings.Keys[4] := 'CD-Root-Dir'; + FinalSettings.Keys[6] := 'Enter X-Position'; + FinalSettings.Keys[7] := 'Enter Y-Position'; + FinalSettings.Keys[8] := 'Welcome-Kind'; + FinalSettings.Keys[9] := 'Delay'; + FinalSettings.Keys[10] := 'Starts File/Dir'; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ form show +procedure Tform_editor_CreateAR.FormShow(Sender: TObject); +begin + // disable drag'n'drop of 'img_button' + form_editor.draggingstatus := 3; + // disable menu + form_editor.mnu_Tutorial.enabled := false; + form_editor.mnu_WelcomeScreen.Enabled := false; + form_editor.mnu_Autorun.Enabled := false; + form_editor.mnu_CreateAR.enabled := false; + form_editor.mnu_Sprache.enabled := false; + + // show final settings + finalsettings.Values['Background-Picture'] := form_Editor.PfadHG_alt; + finalsettings.Values['Enter-Picture'] := form_Editor.PfadEnter_alt; + finalsettings.values['Autorun-Icon'] := form_Editor.PfadIcon_alt; + finalsettings.Values['CD-Root-Dir'] := form_Editor.CDRoot_alt; + + finalsettings.Values['Enter X-Position'] := inttostr(form_Editor.xEnter_alt); + finalsettings.Values['Enter Y-Position'] := inttostr(form_Editor.yEnter_alt); + finalsettings.Values['Welcome-Kind'] := form_Editor.WelcomeKind_alt; + finalsettings.Values['Delay'] := form_Editor.delay; + finalsettings.Values['Starts File/Dir'] := form_Editor.StartsFD_alt; + + // disable everything not needed + if form_Editor.WelcomeKind_alt = 'none' then + begin + finalsettings.Values['Background-Picture'] := '< not used / nicht genutzt >'; + finalsettings.Values['Enter-Picture'] := '< not used / nicht genutzt >'; + finalsettings.Values['Enter X-Position'] := '< not used / nicht genutzt >'; + finalsettings.Values['Enter Y-Position'] := '< not used / nicht genutzt >'; + finalsettings.Values['Delay'] := '< not used / nicht genutzt >'; + end + else + begin + if form_Editor.WelcomeKind_alt = 'time' then + begin + finalsettings.Values['Enter-Picture'] := '< not used / nicht genutzt >'; + finalsettings.Values['Enter X-Position'] := '< not used / nicht genutzt >'; + finalsettings.Values['Enter Y-Position'] := '< not used / nicht genutzt >'; + if form_Editor.PfadHG_alt = '' then + begin + finalsettings.Values['Background-Picture'] := '#### missing / fehlt ####'; + btn_finish.Enabled := false; + end; + end + else // klick + begin + finalsettings.Values['Delay'] := '< not used / nicht genutzt >'; + if form_Editor.PfadHG_alt = '' then + begin + // if the 'enter'-picture is full size, then dont use the 'background'-picture + if (form_editor.img_button.Width = form_editor.img_Background.Width) and + (form_editor.img_button.Height = form_editor.img_Background.Height) then + begin + finalsettings.Values['Background-Picture'] := '< not used / nicht genutzt >'; + end + else + begin + finalsettings.Values['Background-Picture'] := '#### missing / fehlt ####'; + btn_finish.Enabled := false; + end; + end; + if form_Editor.PfadEnter_alt = '' then + begin + finalsettings.Values['Enter-Picture'] := '#### missing / fehlt ####'; + btn_finish.Enabled := false; + end; + end; + end; + + // + if form_Editor.pfadIcon_alt = '' then + begin + finalsettings.values['Autorun-Icon'] := '(The banana / Die Banane)'; + end; + + // + if form_Editor.StartsFD_alt = '' then + begin + finalsettings.Values['Starts File/Dir'] := '(CD-Root-Dir / CD-Wurzelverzeichnis)'; + end; + // + if form_Editor.StartsFD_alt = '-' then + begin + if form_Editor.WelcomeKind_alt = 'none' then + begin + finalsettings.Values['Starts File/Dir'] := '#### CDAR does not do anything! / CDAR macht gar nichts! ####'; + btn_finish.Enabled := false; + end + else + begin + finalsettings.Values['Starts File/Dir'] := '(Just shows Welcome-Screen / Zeigt nur ein Willkommensbild)'; + end; + end; + + // use German if set so + if form_editor.englisch = false then + begin + form_Editor_CreateAR.Caption := 'Autorunner erstellen'; + btn_Finish.Caption := 'Fertigstellen'; + btn_Back.caption := 'Zurück'; + FinalSettings.TitleCaptions.Strings[0] := ' Einstellung'; + FinalSettings.TitleCaptions.Strings[1] := ' Wert'; + FinalSettings.Keys[1] := 'Hintergrundbild'; + FinalSettings.Keys[2] := 'Enterbild'; + FinalSettings.Keys[3] := 'Autorun-Icon'; + FinalSettings.Keys[4] := 'CD-Grundverzeichnis'; + FinalSettings.Keys[6] := 'Enter X-Position'; + FinalSettings.Keys[7] := 'Enter Y-Position'; + FinalSettings.Keys[8] := 'Willkommensart'; + FinalSettings.Keys[9] := 'Zeitverzögerung'; + FinalSettings.Keys[10] := 'Startet Datei/Verz.'; + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Form Close +procedure Tform_editor_CreateAR.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + // enable drag'n'drop of 'img_button' again + form_editor.draggingstatus := 0; + // enable menu again + form_editor.mnu_Tutorial.enabled := true; + form_editor.mnu_WelcomeScreen.Enabled := true; + form_editor.mnu_Autorun.Enabled := true; + form_editor.mnu_CreateAR.enabled := true; + form_editor.mnu_Sprache.enabled := true; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ Click Back +procedure Tform_editor_CreateAR.btn_BackClick(Sender: TObject); +begin + // close CreateAR + form_editor_createar.Close; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Click Finish +procedure Tform_editor_CreateAR.btn_FinishClick(Sender: TObject); + var f : textfile; + i : integer; + CDRoot1 : string; + CDRoot2 : string; +begin + // create 'CDRoot' directory if not exists + cdRoot1 := form_Editor.CDRoot_alt; + + if DirectoryExists(CDRoot1) = false then + begin + for i := 5 to length(CDRoot1) do + begin + if copy(CDRoot1, i, 1) = '\' then + begin + CDRoot2 := copy(CDRoot1, 1, i); + if DirectoryExists(CDRoot2) = false then + begin + mkdir(cdroot2); + end; + end; + end; + end; + + + // create Autorun.inf + try + AssignFile(f, form_Editor.CDRoot_alt + 'Autorun.inf'); + ReWrite(f); + Writeln(f, '[Autorun]'); + Writeln(f, 'Open= "_CDAR\cdar.exe welcome"'); + if finalsettings.Cells[1,3] = '(The banana / Die Banane)' then + begin + Writeln(f, 'Icon= "_CDAR\cdar.exe"'); + end + else + begin + Writeln(f, 'Icon= "_CDAR\Autorun.ico"'); + end; + CloseFile(f); + except + showmessage('"Autorun.inf" konnte nicht erstellt werden'+ #10 + +'Vermutlich ist der Pfad zum CD-Wurzelverzeichnis ungültig'+ #10 + + #10 + +'"Autorun.inf" could not be created'+ #10 + +'probably the path to the CD root directory is corrupt'); + end; + + // create directory '_CDAR' if not exists + if DirectoryExists(CDRoot1 + '_CDAR') = false then + begin + mkdir(form_Editor.CDRoot_alt + '_CDAR\'); + end; + + // create 'cdar.ini' + try + AssignFile(f, form_Editor.CDRoot_alt + '_CDAR\cdar.ini'); + ReWrite(f); + Writeln(f, form_Editor.WelcomeKind_alt); + Writeln(f, form_Editor.Delay); + Writeln(f, inttostr(form_Editor.xEnter_alt)); + Writeln(f, inttostr(form_Editor.yEnter_alt)); + Writeln(f, '..\' + form_Editor.StartsFD_alt); + CloseFile(f); + except + showmessage('"cdar.ini" konnte nicht erstellt werden'+ #10 + +'Vermutlich ist der Pfad zum CD-Wurzelverzeichnis ungültig'+ #10 + + #10 + +'"cdar.ini" could not be created'+ #10 + +'probably the path to the CD root directory is corrupt'); + end; + + // create 'cdar.bat' + try + AssignFile(f, 'C:\cdar.bat'); + ReWrite(f); + Writeln(f, 'Rem This File was built by CD-Autorunner'); + Writeln(f, 'Rem It is not needed anymore you can delete it'); + Writeln(f, 'Rem'); + Writeln(f, 'Rem Diese Datei wurde von CD-Autorunner erzeugt'); + Writeln(f, 'Rem Sie wird nicht mehr gebraucht und kann geloescht werden'); + Writeln(f, 'Rem ###############################################'); + Writeln(f, 'Rem'); + Writeln(f, 'Rem'); + // copy 'Autorun.ico' if necessary + if finalsettings.Cells[1,3] <> '(The banana / Die Banane)' then + begin + Writeln(f, 'Copy %1 %2'); + end; + // copy 'background'-picture if necessary + if finalsettings.Cells[1,1] <> '< not used / nicht genutzt >' then + begin + Writeln(f, 'Copy %3 %4'); + end; + // copy 'enter'-picture if necessary + if finalsettings.Cells[1,2] <> '< not used / nicht genutzt >' then + begin + Writeln(f, 'Copy %5 %6'); + end; + // copy 'cdar.exe' + Writeln(f, 'Copy %7 %8'); + // self destruction + Writeln(f, 'del "C:\cdar.bat"'); + // exit script + Writeln(f, 'exit'); + // close file + CloseFile(f); + except + showmessage('"cdar.bat" konnte nicht erstellt werden'+ #10#10 + +'"cdar.bat" could not be created'); + end; + + try + ShellExecute(application.Handle, 'open', pchar('C:\cdar.bat'), + pchar('"' + + form_Editor.PfadIcon_alt + '" "' + form_Editor.CDRoot_alt + '_CDAR\Autorun.ico" "' + + form_Editor.PfadHG_alt + '" "' + form_Editor.CDRoot_alt + '_CDAR\Welcome.jpg" "' + + form_Editor.PfadEnter_alt + '" "' + form_Editor.CDRoot_alt + '_CDAR\Enter.jpg" "' + + paramstr(0) + '" "' + form_Editor.CDRoot_alt + '_CDAR\cdar.exe"' + ), nil, sw_shownormal); + except + showmessage('"cdar.bat" konnte nicht ausgeführt werden'+ #10#10 + +'was not able to run "cdar.bat"'); + end; + + // return to 'form_Editor' + form_editor_createar.Close; +end;//-------------------------------------------------------------------------- + +end.//######################################################################################### diff -r 000000000000 -r ef71164288c1 unit_Editor_as.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_as.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,236 @@ +object form_Editor_as: Tform_Editor_as + Left = 371 + Top = 172 + BorderIcons = [biSystemMenu] + BorderStyle = bsSingle + Caption = 'Autorun Settings' + ClientHeight = 360 + ClientWidth = 390 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + Icon.Data = { + 0000010001002020100000000000E80200001600000028000000200000004000 + 0000010004000000000080020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BBBBBBBB000000000000000000000BBBBBBBBBBBBB0000000000 + 0000000BBBBBBBBBBB0000000000000000000BBBBBBBBBB000BBBB0000000000 + 0000BBBBBBBBB00BBBBBB00000000000000BBBBBBBB00BBBBBB0000000000000 + 000BBBBBBB0BBBBBB00000000000000000BBBBBBB0BBBBB00000000000000000 + 00BBBBBB0BBBBB0000000000000000000BBBBBB0BBBB00000000000000000000 + 0BBBBB0BBBB0000000000000000000000BBBB0BBBB0000000000000000000000 + BBBB0BBBB00000000000000000000000BBBB0BBB000000000000000000000000 + BBB0BBB0000000000000000000000000BBB0BB00000000000000000000000000 + BB0BBB00000000000000000000000000BB0BB000000000000000000000000000 + 0B0BB0000000000000000000000000000B0B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FFFFFFFFFFFFFFFFFFFFFFFF00FFFFF8003FFFE0001FFF80000FFF00000FFE00 + 001FFC00007FFC0001FFF80007FFF8001FFFF0003FFFF000FFFFF001FFFFE003 + FFFFE007FFFFE00FFFFFE01FFFFFE01FFFFFE03FFFFFE03FFFFFF07FFFFFF07F + FFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFCFFFFFFFFFFFFFFFFFFFFFF} + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object gbx_AutorunIcon: TGroupBox + Left = 10 + Top = 10 + Width = 371 + Height = 101 + TabOrder = 2 + object img_Icon: TImage + Left = 190 + Top = 15 + Width = 48 + Height = 48 + Visible = False + end + object lbl_1: TLabel + Left = 20 + Top = 20 + Width = 109 + Height = 13 + Caption = 'Autorun-Icon of the CD' + end + object img_IconCDAR: TImage + Left = 190 + Top = 15 + Width = 48 + Height = 48 + Center = True + Picture.Data = { + 055449636F6E0000010001002020100000000000E80200001600000028000000 + 2000000040000000010004000000000080020000000000000000000000000000 + 0000000000000000000080000080000000808000800000008000800080800000 + 80808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000 + FFFFFF0000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000BBBBBBBB000000000000000000000BBBBBBBBBBB + BB00000000000000000BBBBBBBBBBB0000000000000000000BBBBBBBBBB000BB + BB00000000000000BBBBBBBBB00BBBBBB00000000000000BBBBBBBB00BBBBBB0 + 000000000000000BBBBBBB0BBBBBB00000000000000000BBBBBBB0BBBBB00000 + 00000000000000BBBBBB0BBBBB0000000000000000000BBBBBB0BBBB00000000 + 0000000000000BBBBB0BBBB0000000000000000000000BBBB0BBBB0000000000 + 000000000000BBBB0BBBB00000000000000000000000BBBB0BBB000000000000 + 000000000000BBB0BBB0000000000000000000000000BBB0BB00000000000000 + 000000000000BB0BBB00000000000000000000000000BB0BB000000000000000 + 0000000000000B0BB0000000000000000000000000000B0B0000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFF8003FFFE0001FFF80000F + FF00000FFE00001FFC00007FFC0001FFF80007FFF8001FFFF0003FFFF000FFFF + F001FFFFE003FFFFE007FFFFE00FFFFFE01FFFFFE01FFFFFE03FFFFFE03FFFFF + F07FFFFFF07FFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFCFFFFFFFFFFFFFF + FFFFFFFF} + end + object btn_BrowseIcon: TButton + Left = 260 + Top = 38 + Width = 101 + Height = 25 + Caption = 'Browse' + TabOrder = 0 + OnClick = btn_BrowseIconClick + end + object tbx_IconPath: TEdit + Left = 20 + Top = 70 + Width = 341 + Height = 21 + TabOrder = 1 + end + object btn_restore: TButton + Left = 260 + Top = 15 + Width = 101 + Height = 20 + Caption = 'CDAR-Icon' + TabOrder = 2 + OnClick = btn_restoreClick + end + end + object gbx_ZielDir: TGroupBox + Left = 10 + Top = 120 + Width = 371 + Height = 91 + TabOrder = 3 + object lbl_2: TLabel + Left = 20 + Top = 20 + Width = 195 + Height = 13 + Caption = 'Directory where the Files will be copied to' + end + object lbl_3: TLabel + Left = 20 + Top = 40 + Width = 231 + Height = 13 + Caption = '(This Directory represents the Root-Dir of the CD)' + end + object tbx_CDRootPath: TEdit + Left = 20 + Top = 60 + Width = 341 + Height = 21 + Hint = 'Must be an ABSOLUTE Path (zB: "C:\New CD")' + ParentShowHint = False + ShowHint = True + TabOrder = 1 + OnChange = tbx_CDRootPathChange + end + object btn_BrowseCDRoot: TButton + Left = 260 + Top = 28 + Width = 101 + Height = 25 + Caption = 'Browse' + TabOrder = 0 + OnClick = btn_BrowseCDRootClick + end + end + object btn_cancel: TButton + Left = 170 + Top = 320 + Width = 101 + Height = 31 + Caption = 'Cancel Changes' + TabOrder = 0 + OnClick = btn_cancelClick + end + object btn_apply: TButton + Left = 280 + Top = 320 + Width = 101 + Height = 31 + Caption = 'Apply Changes' + TabOrder = 1 + OnClick = btn_applyClick + end + object GroupBox1: TGroupBox + Left = 9 + Top = 220 + Width = 371 + Height = 91 + TabOrder = 4 + object lbl_4: TLabel + Left = 20 + Top = 20 + Width = 218 + Height = 13 + Caption = 'Choose the File which will be started by CDAR' + end + object lbl_5: TLabel + Left = 20 + Top = 40 + Width = 196 + Height = 13 + Caption = '(Insert a Path relative to the CD-Root-Dir!)' + end + object tbx_StartsFD: TEdit + Left = 20 + Top = 60 + Width = 341 + Height = 21 + Hint = 'Must be a RELATIVE Path (zB: "Noname\Welcome.txt")' + ParentShowHint = False + ShowHint = True + TabOrder = 0 + OnChange = tbx_StartsFDChange + end + end + object tbx_Warnings: TMemo + Left = 10 + Top = 320 + Width = 151 + Height = 32 + TabStop = False + Color = clRed + ReadOnly = True + TabOrder = 5 + Visible = False + WantReturns = False + WordWrap = False + end + object OpenDialog1: TOpenPictureDialog + Filter = 'Icon-File (*.ico)|*.ico' + OptionsEx = [ofExNoPlacesBar] + Left = 360 + end +end diff -r 000000000000 -r ef71164288c1 unit_Editor_as.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_as.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,245 @@ +unit unit_Editor_as; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ExtCtrls, StdCtrls, ExtDlgs; + +type + Tform_Editor_as = class(TForm) + gbx_AutorunIcon: TGroupBox; + btn_BrowseIcon: TButton; + tbx_IconPath: TEdit; + img_Icon: TImage; + gbx_ZielDir: TGroupBox; + tbx_CDRootPath: TEdit; + btn_BrowseCDRoot: TButton; + lbl_1: TLabel; + lbl_2: TLabel; + lbl_3: TLabel; + btn_cancel: TButton; + btn_apply: TButton; + btn_restore: TButton; + img_IconCDAR: TImage; + GroupBox1: TGroupBox; + lbl_4: TLabel; + lbl_5: TLabel; + tbx_StartsFD: TEdit; + tbx_Warnings: TMemo; + OpenDialog1: TOpenPictureDialog; + procedure FormCreate(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormShow(Sender: TObject); + procedure btn_BrowseIconClick(Sender: TObject); + procedure btn_BrowseCDRootClick(Sender: TObject); + procedure btn_restoreClick(Sender: TObject); + procedure btn_applyClick(Sender: TObject); + procedure btn_cancelClick(Sender: TObject); + procedure tbx_StartsFDChange(Sender: TObject); + procedure tbx_CDRootPathChange(Sender: TObject); + private + + public + { Public declarations } + end; + +var + form_Editor_as: Tform_Editor_as; + +implementation//############################################################################### +uses unit_Editor, unit_Editor_as_BrowseDir; +{$R *.dfm}//################################################################################### + +// forwardings + procedure Warnings();forward; + +//------------------------------------------------------------------------------ form create +procedure Tform_Editor_as.FormCreate(Sender: TObject); +begin + // set language + if form_editor.englisch = true then + begin // English + form_editor_as.Caption := 'Autorun Settings'; + btn_BrowseIcon.Caption := 'Browse'; + btn_BrowseCDRoot.Caption := 'Browse'; + lbl_1.Caption := 'Autorun-Icon of the CD'; + lbl_2.Caption := 'Directory where the Files will be copied to'; + lbl_3.Caption := '(This Directory represents the Root-Dir of the CD)'; + btn_cancel.Caption := 'Cancel Changes'; + btn_apply.Caption := 'Apply Changes'; + btn_restore.Caption := 'CDAR-Icon'; + lbl_4.Caption := 'Choose the File which will be started by CDAR'; + lbl_5.Caption := '(Insert a Path relative to the CD-Root-Dir!)'; + end + else + begin // German + form_editor_as.Caption := 'Autorun Optionen'; + btn_BrowseIcon.Caption := 'Durchsuchen'; + btn_BrowseCDRoot.Caption := 'Durchsuchen'; + lbl_1.Caption := 'Autorun-Icon der CD'; + lbl_2.Caption := 'Ordner in den die Dateien kopiert werden'; + lbl_3.Caption := '(Entspricht dem CD-Grund-Verzeichnis)'; + btn_cancel.Caption := 'Abbrechen'; + btn_apply.Caption := 'Übernehmen'; + btn_restore.Caption := 'CDAR-Icon'; + lbl_4.Caption := 'Datei, die von CDAR gestartet werden soll'; + lbl_5.Caption := '(Pfad relativ zum CD-Grund-Verzeichnis)'; + end; + + // set standard path in OpenDialog + opendialog1.InitialDir := extractfilepath(paramstr(0)); +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ form show +procedure Tform_Editor_as.FormShow(Sender: TObject); +begin + // disable drag'n'drop + form_editor.draggingstatus := 3; + // disable menu + form_editor.mnu_Tutorial.enabled := false; + form_editor.mnu_WelcomeScreen.Enabled := false; + form_editor.mnu_Autorun.Enabled := false; + form_editor.mnu_CreateAR.enabled := false; + form_editor.mnu_Sprache.enabled := false; + + // init + tbx_IconPath.text := form_Editor.PfadIcon_alt; + if form_Editor.PfadIcon_alt = '' then + begin + img_IconCDAR.show; + img_icon.Hide; + end + else + begin + img_IconCDAR.hide; + img_Icon.Show; + img_icon.Picture.LoadFromFile(form_Editor.PfadIcon_alt); + end; + tbx_CDRootPath.text := form_Editor.CDRoot_alt; + tbx_StartsFD.Text := form_Editor.StartsFD_alt; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ form close +procedure Tform_Editor_as.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + // enable drag'n'drop + form_editor.draggingstatus := 0; + // enable menu + form_editor.mnu_Tutorial.enabled := true; + form_editor.mnu_WelcomeScreen.Enabled := true; + form_editor.mnu_Autorun.Enabled := true; + form_editor.mnu_CreateAR.enabled := true; + form_editor.mnu_Sprache.enabled := true; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ browse icon +procedure Tform_Editor_as.btn_BrowseIconClick(Sender: TObject); +begin + if opendialog1.Execute then + begin + tbx_IconPath.Text := opendialog1.FileName; + // load picture + img_Icon.Picture.LoadFromFile(tbx_IconPath.text); + // show picture + img_IconCDAR.hide; + img_Icon.Show; + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ restore icon +procedure Tform_Editor_as.btn_restoreClick(Sender: TObject); +begin + img_IconCDAR.show; + img_icon.Hide; + tbx_IconPath.Text := ''; +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ browse CD-root +procedure Tform_Editor_as.btn_BrowseCDRootClick(Sender: TObject); +begin + application.CreateForm(tform_editor_as_browsedir, form_editor_as_browsedir); + form_editor_as_browsedir.show; +end;//-------------------------------------------------------------------------- + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ change CD-root +procedure Tform_Editor_as.tbx_CDRootPathChange(Sender: TObject); +begin + // format check + Warnings; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ change startsFD +procedure Tform_Editor_as.tbx_StartsFDChange(Sender: TObject); +begin + // format check + Warnings; +end;//-------------------------------------------------------------------------- + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ apply +procedure Tform_Editor_as.btn_applyClick(Sender: TObject); +begin + form_Editor.PfadIcon_alt := tbx_IconPath.text; + + if copy(tbx_CDRootPath.text, length(tbx_CDRootpath.text), 1) <> '\' then + begin + form_Editor.CDRoot_alt := tbx_CDRootPath.Text + '\'; + end + else + begin + form_Editor.CDRoot_alt := tbx_CDRootPath.Text; + end; + + form_Editor.StartsFD_alt := tbx_startsFD.text; + + // close + form_editor_as.Close; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ cancel +procedure Tform_Editor_as.btn_cancelClick(Sender: TObject); +begin + // close + form_editor_as.Close; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ warnings +procedure Warnings(); +begin + with form_Editor_as do + begin + tbx_Warnings.lines.clear; + + if copy(tbx_CDRootPath.text, 2, 2) <> ':\' then + begin + btn_apply.Enabled := false; + tbx_Warnings.Show; + tbx_Warnings.Lines.Add('2nd Path must be ABSOLUTE'); + if pos(':', tbx_StartsFD.text) <> 0 then + begin + tbx_Warnings.Lines.Add('3rd Path must be RELATIVE'); + end; + end + else + begin + if pos(':', tbx_StartsFD.text) <> 0 then + begin + btn_apply.Enabled := false; + tbx_Warnings.Show; + tbx_Warnings.Lines.Add('3rd Path must be RELATIVE'); + end + else + begin + btn_apply.Enabled := true; + tbx_Warnings.hide; + end; + end; + tbx_Warnings.Text := copy(tbx_Warnings.text, 1, length(tbx_Warnings.text)-2); + end; +end;//-------------------------------------------------------------------------- + +end.//######################################################################################### diff -r 000000000000 -r ef71164288c1 unit_Editor_as_BrowseDir.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_as_BrowseDir.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,77 @@ +object form_Editor_as_BrowseDir: Tform_Editor_as_BrowseDir + Left = 436 + Top = 201 + BorderIcons = [] + BorderStyle = bsSingle + Caption = 'Chose Directory' + ClientHeight = 299 + ClientWidth = 290 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object dirlbx_1: TDirectoryListBox + Left = 10 + Top = 40 + Width = 271 + Height = 191 + ItemHeight = 16 + TabOrder = 2 + OnChange = dirlbx_1Change + end + object tbx_Path: TEdit + Left = 10 + Top = 240 + Width = 271 + Height = 21 + TabStop = False + ReadOnly = True + TabOrder = 4 + Text = 'tbx_Path' + end + object btn_NewDir: TBitBtn + Left = 180 + Top = 10 + Width = 101 + Height = 19 + Caption = 'Create new Dir' + TabOrder = 3 + OnClick = btn_NewDirClick + end + object btn_Apply: TButton + Left = 180 + Top = 270 + Width = 101 + Height = 25 + Caption = 'Apply Changes' + TabOrder = 1 + OnClick = btn_ApplyClick + end + object btn_Cancel: TButton + Left = 70 + Top = 270 + Width = 101 + Height = 25 + Caption = 'Cancel Changes' + TabOrder = 0 + OnClick = btn_CancelClick + end + object dcobx_1: TDriveComboBox + Left = 10 + Top = 10 + Width = 161 + Height = 19 + TabOrder = 5 + OnChange = dcobx_1Change + end +end diff -r 000000000000 -r ef71164288c1 unit_Editor_as_BrowseDir.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_as_BrowseDir.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,150 @@ +unit unit_Editor_as_BrowseDir; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, Buttons, FileCtrl; + +type + Tform_Editor_as_BrowseDir = class(TForm) + dirlbx_1: TDirectoryListBox; + tbx_Path: TEdit; + btn_NewDir: TBitBtn; + btn_Apply: TButton; + btn_Cancel: TButton; + dcobx_1: TDriveComboBox; + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure dcobx_1Change(Sender: TObject); + procedure btn_NewDirClick(Sender: TObject); + procedure btn_ApplyClick(Sender: TObject); + procedure dirlbx_1Change(Sender: TObject); + procedure btn_CancelClick(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + form_Editor_as_BrowseDir: Tform_Editor_as_BrowseDir; + +implementation//############################################################################### +uses unit_Editor_as, unit_Start, unit_Editor; +{$R *.dfm}//################################################################################### + +//------------------------------------------------------------------------------ Form Create +procedure Tform_Editor_as_BrowseDir.FormCreate(Sender: TObject); +begin + // disable autorun settings + form_editor_as.Enabled := false; + + // set language + if form_editor.englisch = true then + begin // English + form_editor_as_BrowseDir.Caption := 'Chose Directory'; + btn_NewDir.Caption := 'Create new Dir'; + btn_Apply.Caption := 'Apply Changes'; + btn_Cancel.Caption := 'Cancel Changes'; + end + else + begin // German + form_editor_as_BrowseDir.Caption := 'Wähle ein Verzeichnis'; + btn_NewDir.Caption := 'Ordner erstellen'; + btn_Apply.Caption := 'Übernehmen'; + btn_Cancel.Caption := 'Abbrechen'; + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Form Show +procedure Tform_Editor_as_BrowseDir.FormShow(Sender: TObject); + var i : integer; + typ : cardinal; +begin +{ + // dont show floppy and cdrom drives + for i := 0 to 25 do + begin + typ := getdrivetype(pchar(chr(i + 65) + ':\')) ; + if (typ = Drive_Removable) or (typ = Drive_CDRom) then + begin + dcobx_1.Drive := chr(i+65); // this must be avoided + dcobx_1.Items.Delete(dcobx_1.ItemIndex); // how to delete without setting the item?? + end; + end; +} + // Init + dcobx_1.Drive := 'c'; + dirlbx_1.Drive := 'c'; + tbx_path.Text := dirlbx_1.Directory; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Form Close +procedure Tform_Editor_as_BrowseDir.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + // activate autorun settings + form_editor_as.enabled := true; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ Change Drive +procedure Tform_Editor_as_BrowseDir.dcobx_1Change(Sender: TObject); +begin + dirlbx_1.Drive := dcobx_1.drive ; + dirlbx_1.Refresh; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Change Dir +procedure Tform_Editor_as_BrowseDir.dirlbx_1Change(Sender: TObject); +begin + tbx_path.Text := dirlbx_1.Directory; +end;//-------------------------------------------------------------------------- + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ New Dir +procedure Tform_Editor_as_BrowseDir.btn_NewDirClick(Sender: TObject); + var NewDir : string; +begin + // create new dir + if form_editor.englisch = true then + begin // english + if inputquery('Create new Dir','Enter the name of the new Dir', NewDir) then + begin + if not directoryexists(dirlbx_1.directory + '\' + NewDir) then + begin + mkdir(dirlbx_1.directory + '\' + NewDir); + end; + end; + end + else + begin // German + if inputquery('Neuen Ordner erstellen','Name des neuen Ordners', NewDir) then + begin + if not directoryexists(dirlbx_1.directory + '\' + NewDir) then + begin + mkdir(dirlbx_1.directory + '\' + NewDir); + end; + end; + end; + // go to new dir and refresh + dirlbx_1.Directory := dirlbx_1.directory + '\' + NewDir; + dirlbx_1.Update; +end;//-------------------------------------------------------------------------- + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ apply +procedure Tform_Editor_as_BrowseDir.btn_ApplyClick(Sender: TObject); +begin + form_editor_as.tbx_CDRootPath.Text := tbx_path.text; + form_editor_as_browsedir.Close; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ cancel +procedure Tform_Editor_as_BrowseDir.btn_CancelClick(Sender: TObject); +begin + form_editor_as_browsedir.Close; +end;//-------------------------------------------------------------------------- + +end.//######################################################################################### diff -r 000000000000 -r ef71164288c1 unit_Editor_tutorial.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_tutorial.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,365 @@ +object form_editor_tutorial: Tform_editor_tutorial + Left = 322 + Top = 206 + BorderIcons = [] + BorderStyle = bsSingle + Caption = 'Tutorial' + ClientHeight = 320 + ClientWidth = 420 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + Icon.Data = { + 0000010001002020100000000000E80200001600000028000000200000004000 + 0000010004000000000080020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BBBBBBBB000000000000000000000BBBBBBBBBBBBB0000000000 + 0000000BBBBBBBBBBB0000000000000000000BBBBBBBBBB000BBBB0000000000 + 0000BBBBBBBBB00BBBBBB00000000000000BBBBBBBB00BBBBBB0000000000000 + 000BBBBBBB0BBBBBB00000000000000000BBBBBBB0BBBBB00000000000000000 + 00BBBBBB0BBBBB0000000000000000000BBBBBB0BBBB00000000000000000000 + 0BBBBB0BBBB0000000000000000000000BBBB0BBBB0000000000000000000000 + BBBB0BBBB00000000000000000000000BBBB0BBB000000000000000000000000 + BBB0BBB0000000000000000000000000BBB0BB00000000000000000000000000 + BB0BBB00000000000000000000000000BB0BB000000000000000000000000000 + 0B0BB0000000000000000000000000000B0B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FFFFFFFFFFFFFFFFFFFFFFFF00FFFFF8003FFFE0001FFF80000FFF00000FFE00 + 001FFC00007FFC0001FFF80007FFF8001FFFF0003FFFF000FFFFF001FFFFE003 + FFFFE007FFFFE00FFFFFE01FFFFFE01FFFFFE03FFFFFE03FFFFFF07FFFFFF07F + FFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFCFFFFFFFFFFFFFFFFFFFFFF} + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object richtbx_Advanced: TRichEdit + Left = -1 + Top = 24 + Width = 421 + Height = 273 + TabStop = False + Lines.Strings = ( + 'Use all Settings:' + '*******************' + '' + '- Welcome-Screen Settings:' + + ' - Background-Picture can be larger or smaller, but will be s' + + 'treched then.' + ' - Enter-Picture can messure 600 x 450 pixels, ' + ' Backgroud-Picture is not used then.' + + ' - Position of the Enter-Picture can be set exact to a pixel ' + + 'with the scrollbars' + + ' (Coordinates to upper left corner) or by Drag'#39'n'#39'Drop in ' + + 'the main Editor-window.' + + ' - The Welcome-Screen is shown ether till the click on the En' + + 'ter-Picture or till ' + ' the time-delay is over or not at all.' + '' + '- Autorun Settings:' + + ' - The Autorun-Icon of the CD is the Icon which is shown in t' + + 'he Explorer.' + + ' - The Directory in which the files will be copied to gets cr' + + 'eated if it not exists.' + + ' - The File which will be run automaticly has to be insert wi' + + 'th a path relative' + + ' to the CD-root-dir. Folders can be opend as well (pe: "!' + + 'CDAR\"). ' + + ' Leave blank to open the CD-root-dir. Insert minus (-) fo' + + 'r open nothing.' + '' + '- Create CD-Autorunner:' + ' - Watch the Grind to check the settings.' + ' - After a click on "Finish" a batch-file gets started. ' + + ' If the DOS-box doesn'#39't close it'#39's self, ignore warnings ' + + 'and close it.' + '' + '>> Got it? - If not -> "Learning by doing"') + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 5 + end + object richtbx_Professional: TRichEdit + Left = -1 + Top = 24 + Width = 421 + Height = 273 + TabStop = False + Lines.Strings = ( + 'Use Command-Line Parameters:' + '**************************************' + '' + ' "editor" Opens the Editor at once.' + '' + + ' "welcome" Actual it'#39's only used in the Autorun-pr' + + 'ocess. (Autorun.inf)' + + ' Loads the Settings form "cdar.i' + + 'ni" in the same dir' + + ' and then loads "welcome.jpg" an' + + 'd/or "enter.jpg".' + + ' (Perhaps for testing-use suitab' + + 'le)' + '' + ' Path Direktcall of a File of Directory:' + + ' Nearly the same as "Do not show' + + ' Welcome-Screen".' + '' + + '>> If you wonder if there are any more secrets in CDAR, then you' + + ' ' + ' have to search for yourself, cause I'#39've forgotten all them.') + ReadOnly = True + TabOrder = 6 + end + object richtbx_Anfaenger: TRichEdit + Left = -1 + Top = 24 + Width = 421 + Height = 273 + TabStop = False + Lines.Strings = ( + 'Die erste CD-Autorunner CD:' + '**********************************' + '' + '1. Male ein Begr'#252#223'ungsbild f'#252'r deine CD (600 x 450 Pixel) ' + ' und speicher es im JPG-Format.' + '2. Male eine OK-Schaltfl'#228'che (Kleiner als das erste Bild)' + ' und speicher ebenfalls im JPG-Format.' + '3. Starte CDAR.exe' + '4. -> Editor -> Begr'#252#223'ungsbild Optionen' + '5. Begr'#252#223'ungsbild und OK-Schaltfl'#228'che laden -> '#220'bernehmen' + + '6. Die OK-Schaltfl'#228'che per Drag'#39'n'#39'Drop an die gew'#252'nschte Stell' + + 'e schieben' + '7. -> Autorun Optionen' + + '8. Im dritten Feld die Datei angeben, die automatisch gestarte' + + 't werden soll.' + + ' (Pfad muss relativ zum CD-Grundverzeichnis sein) -> '#220'berne' + + 'hmen' + '9. -> Autorunner erstellen -> Fertigstellen' + + '10. Die Datei "Autorun.inf" und der Ordner "!CDAR" im Verzeichni' + + 's "C:\NewCD\"' + + ' mit einem geeigneten Programm mit den anderen Daten auf ei' + + 'ne CD brennen.' + '' + '>> Jetzt kannst du dich zur'#252'cklehnen und stolz auf dich sein!') + ReadOnly = True + TabOrder = 7 + end + object richtbx_Fortgeschrittene: TRichEdit + Left = -1 + Top = 24 + Width = 421 + Height = 273 + TabStop = False + Lines.Strings = ( + 'Alle Einstellungen nutzen:' + '******************************' + '' + '- Begr'#252#223'ungsbild Optionen:' + + ' - Hintergrundbild kann auch gr'#246#223'er oder kleiner sein, wird d' + + 'ann aber gezerrt.' + ' - OK-Schaltfl'#228'che kann auch 600 x 450 Pixel gro'#223' sein, ' + ' ein Hintergrundbild ist dann nicht mehr von N'#246'ten.' + + ' - Die Position der OK-Schaltfl'#228'che kann mit den Laufbalken a' + + 'uf den Pixel ' + + ' genau eingestellt werden (linke obere Ecke z'#228'hlt) oder i' + + 'm Editor-Hauptfenster' + ' per Drag'#39'n'#39'Drop.' + + ' - Das Begr'#252#223'ungsbild entweder bis zum Klick auf die OK-Schal' + + 'tfl'#228'che oder' + + ' eine bestimmte Zeit lang oder gar nicht angezeigt werden' + + '.' + '' + '- Autorun Optionen:' + + ' - Autorun-Icon der CD ist das Icon, das im Explorer/Arbeitsp' + + 'latz angezeigt wird.' + + ' - Das Verzeichnis in das die Dateien kopiert werden wird aut' + + 'omatisch erzeugt ' + ' falls es nicht existiert.' + + ' - Datei die automatisch gestartet wird muss unbedingt mit ei' + + 'nem Pfad relativ zum' + + ' CD-Grundvereichnis angegeben werden. Es k'#246'nnen auch Ordn' + + 'er auf der CD' + ' ge'#246'ffnet werden (zB: "!CDAR\"). ' + + ' Wenn das Feld leer ist wird das CD-Grundverzeichniss ge'#246 + + 'ffnet.' + ' Bindestrich (-) f'#252'r keine Datei/Ordner '#246'ffnen.' + '' + '- Autorunner erstellen:' + + ' - In der Tabelle k'#246'nnen noch einmal alle Einstellungen kontr' + + 'olliert werden.' + + ' - Nach einem Klick auf Fertigstellen wird eine Batch-Datei g' + + 'estartet, die den' + + ' Autorunner fertigstellt. Falls sich das DOS-Fenster nich' + + 't automatisch schlie'#223't' + ' kann man dies unter Datei\Einstellungen '#228'ndern.' + '' + '>> Alles klar? - Wenn nicht -> "Probieren geht '#252'ber Studieren"') + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 8 + end + object richtbx_Profis: TRichEdit + Left = -1 + Top = 24 + Width = 421 + Height = 273 + TabStop = False + Lines.Strings = ( + 'Befehlszeilen-Parameter nutzen:' + '**************************************' + '' + ' "editor" '#214'ffnet direkt den Editor' + '' + + ' "welcome" Wird eigentlich nur zum Autorun selbst ' + + 'gebraucht:' + + ' L'#228'd die Einstellungen aus "cdar' + + '.ini" im gleichen Ordner' + + ' und l'#228'd dann "welcome.jpg" und/' + + 'oder "enter.jpg".' + ' (Evtl. zum Testen geeignet)' + '' + + ' Pfad Direktaufruf einer Datei / eines O' + + 'rdners:' + + ' Mit "Kein Begr'#252#223'ungsbild anzeig' + + 'en" vergleichbar.' + '' + + '>> Wenn du jetzt denkst CDAR h'#228'tte immer noch Geheimnisse vor di' + + 'r,' + + ' dann musst du selbst suchen gehen, denn ich habe sie verges' + + 'sen.') + ReadOnly = True + TabOrder = 9 + end + object richtbx_Beginner: TRichEdit + Left = -1 + Top = 24 + Width = 421 + Height = 273 + TabStop = False + Lines.Strings = ( + 'Your first CD-Autorunner CD:' + '**********************************' + '' + '1. Paint a Welcome-Picture for your CD (600 x 450 pixels) ' + ' and save it in JPG-format.' + '2. Paint a Enter-Picture (smaller as the first picture)' + ' and save it in JPG-format too.' + '3. Run CDAR.exe' + '4. -> Editor -> Welcome-Screen Settings' + '5. Load Background-Picture and Enter-Picture -> Apply Changes' + '6. Drag'#39'n'#39'Drop the Enter-Picture to the prefered Position' + '7. -> Autorun Settings' + + '8. Insert the File which should start automaticly in the third' + + ' Field' + + ' (Path has to be relative to the CD-root-dir) -> Apply Chan' + + 'ges' + '9. -> Create CD-Autorunner -> Finish' + + '10. Burn the File "Autorun.inf" and the Folder "!CDAR" in "C:\Ne' + + 'wCD\"' + ' and your other data with your prefered programm on a CD.' + '' + '>> Lean back and be proud of yourself!') + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 4 + end + object btn_close: TButton + Left = 0 + Top = 297 + Width = 421 + Height = 24 + Caption = 'Close' + TabOrder = 0 + OnClick = btn_closeClick + end + object btn_Beginner: TButton + Left = 0 + Top = 0 + Width = 141 + Height = 24 + Caption = 'Beginner' + Enabled = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + TabOrder = 1 + OnClick = btn_BeginnerClick + end + object btn_Advanced: TButton + Left = 140 + Top = 0 + Width = 141 + Height = 24 + Caption = 'Advanced' + TabOrder = 2 + OnClick = btn_AdvancedClick + end + object btn_Professional: TButton + Left = 280 + Top = 0 + Width = 141 + Height = 24 + Caption = 'Professional' + TabOrder = 3 + OnClick = btn_ProfessionalClick + end +end diff -r 000000000000 -r ef71164288c1 unit_Editor_tutorial.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_tutorial.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,148 @@ +unit unit_Editor_tutorial; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ComCtrls; + +type + Tform_editor_tutorial = class(TForm) + btn_close: TButton; + btn_Beginner: TButton; + btn_Advanced: TButton; + btn_Professional: TButton; + richtbx_Beginner: TRichEdit; + richtbx_Advanced: TRichEdit; + richtbx_Professional: TRichEdit; + richtbx_Anfaenger: TRichEdit; + richtbx_Fortgeschrittene: TRichEdit; + richtbx_Profis: TRichEdit; + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure btn_closeClick(Sender: TObject); + procedure btn_BeginnerClick(Sender: TObject); + procedure btn_AdvancedClick(Sender: TObject); + procedure btn_ProfessionalClick(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + form_editor_tutorial: Tform_editor_tutorial; + +implementation//############################################################################### +uses unit_Editor; +{$R *.dfm}//################################################################################### + +//------------------------------------------------------------------------------ form create +procedure Tform_editor_tutorial.FormCreate(Sender: TObject); +begin + // set language + if form_editor.englisch = true then + begin // English + form_Editor_Tutorial.Caption := 'Tutorial'; + btn_close.Caption := 'Close'; + btn_Beginner.Caption := 'Beginner'; + btn_Advanced.Caption := 'Advanced'; + btn_Professional.Caption := 'Professional'; + richtbx_Beginner.BringToFront; + end + else + begin // German + form_Editor_Tutorial.Caption := 'Anleitung'; + btn_close.Caption := 'Schließen'; + btn_Beginner.Caption := 'Anfänger'; + btn_Advanced.Caption := 'Fortgeschrittene'; + btn_Professional.Caption := 'Profis'; + richtbx_Anfaenger.BringToFront; + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ form show +procedure Tform_editor_tutorial.FormShow(Sender: TObject); +begin + // disable drag'n'drop + form_editor.draggingstatus := 3; + // disable menu + form_editor.mnu_Tutorial.enabled := false; + form_editor.mnu_WelcomeScreen.Enabled := false; + form_editor.mnu_Autorun.Enabled := false; + form_editor.mnu_CreateAR.enabled := false; + form_editor.mnu_Sprache.enabled := false; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ form close +procedure Tform_editor_tutorial.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + // reenable drag'n'drop + form_editor.draggingstatus := 0; + // reenable menu + form_editor.mnu_Tutorial.enabled := true; + form_editor.mnu_WelcomeScreen.Enabled := true; + form_editor.mnu_Autorun.Enabled := true; + form_editor.mnu_CreateAR.enabled := true; + form_editor.mnu_Sprache.enabled := true; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ close +procedure Tform_editor_tutorial.btn_closeClick(Sender: TObject); +begin + form_editor_tutorial.Close; +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ beginner +procedure Tform_editor_tutorial.btn_BeginnerClick(Sender: TObject); +begin + if form_editor.englisch = true then + begin + richtbx_Beginner.BringToFront; + end + else + begin + richtbx_Anfaenger.BringToFront; + end; + + btn_Beginner.Enabled := false; + btn_Advanced.Enabled := true; + btn_Professional.Enabled := true; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ advanced +procedure Tform_editor_tutorial.btn_AdvancedClick(Sender: TObject); +begin + if form_editor.englisch = true then + begin + richtbx_Advanced.BringToFront; + end + else + begin + richtbx_Fortgeschrittene.BringToFront; + end; + + + btn_Beginner.Enabled := true; + btn_Advanced.Enabled := false; + btn_Professional.Enabled := true; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ professional +procedure Tform_editor_tutorial.btn_ProfessionalClick(Sender: TObject); +begin + if form_editor.englisch = true then + begin + richtbx_Professional.BringToFront; + end + else + begin + richtbx_Profis.BringToFront; + end; + + btn_Beginner.Enabled := true; + btn_Advanced.Enabled := true; + btn_Professional.Enabled := false; +end;//-------------------------------------------------------------------------- + +end.//######################################################################################### diff -r 000000000000 -r ef71164288c1 unit_Editor_ws.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_ws.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,322 @@ +object form_Editor_ws: Tform_Editor_ws + Left = 171 + Top = 275 + BorderIcons = [] + BorderStyle = bsSingle + Caption = 'Welcome-Screen Settings' + ClientHeight = 350 + ClientWidth = 470 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + Icon.Data = { + 0000010001002020100000000000E80200001600000028000000200000004000 + 0000010004000000000080020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BBBBBBBB000000000000000000000BBBBBBBBBBBBB0000000000 + 0000000BBBBBBBBBBB0000000000000000000BBBBBBBBBB000BBBB0000000000 + 0000BBBBBBBBB00BBBBBB00000000000000BBBBBBBB00BBBBBB0000000000000 + 000BBBBBBB0BBBBBB00000000000000000BBBBBBB0BBBBB00000000000000000 + 00BBBBBB0BBBBB0000000000000000000BBBBBB0BBBB00000000000000000000 + 0BBBBB0BBBB0000000000000000000000BBBB0BBBB0000000000000000000000 + BBBB0BBBB00000000000000000000000BBBB0BBB000000000000000000000000 + BBB0BBB0000000000000000000000000BBB0BB00000000000000000000000000 + BB0BBB00000000000000000000000000BB0BB000000000000000000000000000 + 0B0BB0000000000000000000000000000B0B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FFFFFFFFFFFFFFFFFFFFFFFF00FFFFF8003FFFE0001FFF80000FFF00000FFE00 + 001FFC00007FFC0001FFF80007FFF8001FFFF0003FFFF000FFFFF001FFFFE003 + FFFFE007FFFFE00FFFFFE01FFFFFE01FFFFFE03FFFFFE03FFFFFF07FFFFFF07F + FFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFCFFFFFFFFFFFFFFFFFFFFFF} + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object btn_cancel: TButton + Left = 250 + Top = 310 + Width = 101 + Height = 31 + Caption = 'Cancel Changes' + TabOrder = 0 + OnClick = btn_cancelClick + end + object btn_Apply: TButton + Left = 360 + Top = 310 + Width = 101 + Height = 31 + Caption = 'Apply Changes' + TabOrder = 1 + OnClick = btn_ApplyClick + end + object gbx_BilderLaden: TGroupBox + Left = 10 + Top = 10 + Width = 451 + Height = 141 + TabOrder = 2 + object lbl_1: TLabel + Left = 20 + Top = 20 + Width = 234 + Height = 16 + Caption = 'Background-Picture: (600x450 px)' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object lbl_2: TLabel + Left = 20 + Top = 80 + Width = 282 + Height = 16 + Caption = 'Enter-Picture: (150x40 px recommended)' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object btn_bp: TButton + Left = 20 + Top = 40 + Width = 91 + Height = 21 + Caption = 'Browse' + TabOrder = 0 + OnClick = btn_bpClick + end + object tbx_BackgroundPath: TEdit + Left = 130 + Top = 40 + Width = 311 + Height = 21 + TabOrder = 1 + Text = 'tbx_BackgroundPath' + OnChange = tbx_BackgroundPathChange + end + object tbx_EnterPath: TEdit + Left = 130 + Top = 100 + Width = 311 + Height = 21 + TabOrder = 3 + Text = 'tbx_EnterPath' + OnChange = tbx_EnterPathChange + end + object btn_ep: TButton + Left = 20 + Top = 100 + Width = 91 + Height = 21 + Caption = 'Browse' + TabOrder = 2 + OnClick = btn_epClick + end + end + object gbx_EnterPos: TGroupBox + Left = 10 + Top = 160 + Width = 231 + Height = 181 + TabOrder = 3 + object lbl_3: TLabel + Left = 110 + Top = 50 + Width = 47 + Height = 13 + Caption = 'X-Position' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object lbl_4: TLabel + Left = 40 + Top = 90 + Width = 47 + Height = 13 + Caption = 'Y-Position' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object lbl_5: TLabel + Left = 80 + Top = 120 + Width = 128 + Height = 13 + Caption = '... of the Enter-Picture' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object lbl_6: TLabel + Left = 50 + Top = 150 + Width = 166 + Height = 13 + Caption = '(You can move by Drag'#39'n'#39'Drop too)' + end + object hsb_EnterXPos: TScrollBar + Left = 30 + Top = 20 + Width = 191 + Height = 20 + LargeChange = 10 + Max = 0 + PageSize = 0 + TabOrder = 0 + OnChange = hsb_EnterXPosChange + end + object tbx_XPos: TEdit + Left = 170 + Top = 50 + Width = 31 + Height = 21 + TabStop = False + AutoSize = False + BevelEdges = [] + BevelInner = bvNone + BevelKind = bkFlat + BevelOuter = bvNone + Enabled = False + TabOrder = 2 + Text = '325' + end + object tbx_YPos: TEdit + Left = 100 + Top = 90 + Width = 31 + Height = 21 + TabStop = False + AutoSize = False + BevelEdges = [] + BevelInner = bvNone + BevelKind = bkFlat + BevelOuter = bvNone + BiDiMode = bdLeftToRight + Enabled = False + ParentBiDiMode = False + TabOrder = 3 + Text = '225' + end + object vsb_EnterYPos: TScrollBar + Left = 10 + Top = 40 + Width = 20 + Height = 131 + Kind = sbVertical + LargeChange = 10 + Max = 0 + PageSize = 0 + TabOrder = 1 + OnChange = vsb_EnterYPosChange + end + end + object gbx_ShowTill: TGroupBox + Left = 250 + Top = 160 + Width = 211 + Height = 141 + TabOrder = 4 + object rbtn_DoShow: TRadioButton + Left = 30 + Top = 30 + Width = 171 + Height = 17 + Caption = 'Show Welcome-Screen ...' + Checked = True + TabOrder = 0 + TabStop = True + OnClick = rbtn_DoShowClick + end + object rbtn_NotShow: TRadioButton + Left = 30 + Top = 100 + Width = 171 + Height = 17 + Caption = 'Don'#39't show Welcome-Screen' + TabOrder = 1 + OnClick = rbtn_NotShowClick + end + object pan_ShowTill: TPanel + Left = 60 + Top = 50 + Width = 141 + Height = 41 + BevelOuter = bvNone + TabOrder = 2 + object rbtn_TillClick: TRadioButton + Left = 0 + Top = 1 + Width = 131 + Height = 17 + Caption = '... till click' + Checked = True + TabOrder = 0 + TabStop = True + OnClick = rbtn_TillClickClick + end + object rbtn_TillTime: TRadioButton + Left = 0 + Top = 22 + Width = 141 + Height = 17 + Caption = '... seconds' + TabOrder = 1 + OnClick = rbtn_TillTimeClick + end + object cobx_Delay: TComboBox + Left = 30 + Top = 20 + Width = 41 + Height = 21 + Style = csDropDownList + Enabled = False + ItemHeight = 13 + TabOrder = 2 + Items.Strings = ( + '1' + '2' + '3' + '5' + '7' + '10' + '15' + '20') + end + end + end + object OpenDialog1: TOpenPictureDialog + Filter = 'JPEG Image File (*.jpg)|*.jpg;*.jpeg' + OptionsEx = [ofExNoPlacesBar] + Left = 440 + end +end diff -r 000000000000 -r ef71164288c1 unit_Editor_ws.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Editor_ws.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,408 @@ +unit unit_Editor_ws; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, jpeg, ExtDlgs; + +type + Tform_Editor_ws = class(TForm) + btn_cancel: TButton; + btn_Apply: TButton; + gbx_BilderLaden: TGroupBox; + btn_bp: TButton; + lbl_1: TLabel; + tbx_BackgroundPath: TEdit; + tbx_EnterPath: TEdit; + btn_ep: TButton; + lbl_2: TLabel; + gbx_EnterPos: TGroupBox; + hsb_EnterXPos: TScrollBar; + tbx_XPos: TEdit; + lbl_3: TLabel; + tbx_YPos: TEdit; + lbl_4: TLabel; + vsb_EnterYPos: TScrollBar; + gbx_ShowTill: TGroupBox; + rbtn_DoShow: TRadioButton; + rbtn_NotShow: TRadioButton; + pan_ShowTill: TPanel; + rbtn_TillClick: TRadioButton; + rbtn_TillTime: TRadioButton; + cobx_Delay: TComboBox; + lbl_5: TLabel; + lbl_6: TLabel; + OpenDialog1: TOpenPictureDialog; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure hsb_EnterXPosChange(Sender: TObject); + procedure vsb_EnterYPosChange(Sender: TObject); + procedure rbtn_NotShowClick(Sender: TObject); + procedure rbtn_DoShowClick(Sender: TObject); + procedure btn_bpClick(Sender: TObject); + procedure btn_epClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure btn_ApplyClick(Sender: TObject); + procedure btn_cancelClick(Sender: TObject); + procedure rbtn_TillTimeClick(Sender: TObject); + procedure rbtn_TillClickClick(Sender: TObject); + procedure tbx_BackgroundPathChange(Sender: TObject); + procedure tbx_EnterPathChange(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + form_Editor_ws: Tform_Editor_ws; + +implementation//############################################################################### +uses unit_Editor; +{$R *.dfm}//################################################################################### + +//------------------------------------------------------------------------------ form create +procedure Tform_Editor_ws.FormCreate(Sender: TObject); +begin + // set language + if form_editor.englisch = true then + begin // English + form_Editor_ws.Caption := 'Welcome-Screen Settings'; + btn_cancel.Caption := 'Cancel Changes'; + btn_Apply.Caption := 'Apply Changes'; + btn_bp.Caption := 'Browse'; + btn_ep.Caption := 'Browse'; + lbl_1.Caption := 'Background-Picture: (600x450 px)'; + lbl_2.caption := 'Enter-Picture: (150x40 px recommended)'; + lbl_5.Caption := '... of the Enter-Picture'; + lbl_6.Caption := '(You can move by Drag n Drop too)'; + rbtn_DoShow.Caption := 'Show Welcome-Screen ...'; + rbtn_NotShow.Caption := 'Do not show Welcome-Screen'; + rbtn_TillClick.Caption := '... till click'; + rbtn_TillTime.Caption := '... seconds'; + end + else + begin // German + form_Editor_ws.Caption := 'Begrüßungsbild Optionen'; + btn_cancel.Caption := 'Abbrechen'; + btn_Apply.Caption := 'Übernehmen'; + btn_bp.Caption := 'Durchsuchen'; + btn_ep.Caption := 'Durchsuchen'; + lbl_1.Caption := 'Hintergrundbild: (600x450 px)'; + lbl_2.caption := 'Enterbild: (150x40 px empfohlen)'; + lbl_5.Caption := '... des Enterbilds'; + lbl_6.Caption := '(Drag n Drop ist auch möglich)'; + rbtn_DoShow.Caption := 'Begrüßungsbild anzeigen ...'; + rbtn_NotShow.Caption := 'Kein Begrüßungsbild anzeigen'; + rbtn_TillClick.Caption := '... bis Klick'; + rbtn_TillTime.Caption := '... Sekunden'; + end; + + // set standard path + opendialog1.InitialDir := extractfilepath(paramstr(0)); +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ form show +procedure Tform_Editor_ws.FormShow(Sender: TObject); +begin + // disable drag'n'drop + form_editor.draggingstatus := 3; + // disable menu + form_editor.mnu_Tutorial.enabled := false; + form_editor.mnu_WelcomeScreen.Enabled := false; + form_editor.mnu_Autorun.Enabled := false; + form_editor.mnu_CreateAR.enabled := false; + form_editor.mnu_Sprache.enabled := false; + + // init + // set picture path + tbx_BackgroundPath.text := form_Editor.PfadHG_alt; + tbx_EnterPath.text := form_Editor.PfadEnter_alt; + // set 'img_button'-positon + tbx_XPos.text := inttostr(form_Editor.xEnter_alt); + tbx_YPos.text := inttostr(form_Editor.yEnter_alt); + // kind of welcome action + if form_Editor.Welcomekind_alt = 'none' then + begin + rbtn_notshow.checked := true; + + rbtn_tillclick.Enabled := false; + rbtn_tilltime.Enabled := false; + end + else + begin + if form_Editor.Welcomekind_alt = 'click' then + begin + rbtn_tillClick.checked := true; + rbtn_doshow.Checked := true; + end + else + begin + rbtn_tilltime.Checked := true; + rbtn_doshow.Checked := true; + end; + end; + // delay + cobx_delay.ItemIndex := form_Editor.Delay_alt; + + // set scrollbar values + hsb_enterXpos.Max := form_editor.img_Background.Width - form_editor.img_button.Width; + hsb_enterXpos.Position := form_editor.img_button.Left; + vsb_enterYpos.Max := form_editor.img_Background.height - form_editor.img_button.height; + vsb_enterYpos.Position := form_editor.img_button.top; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ form close +procedure Tform_Editor_ws.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + // reenable drag'n'drop + form_editor.draggingstatus := 0; + // reenable menu + form_editor.mnu_Tutorial.enabled := true; + form_editor.mnu_WelcomeScreen.Enabled := true; + form_editor.mnu_Autorun.Enabled := true; + form_editor.mnu_CreateAR.enabled := true; + form_editor.mnu_Sprache.enabled := true; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ change x-position +procedure Tform_Editor_ws.hsb_EnterXPosChange(Sender: TObject); +begin + tbx_xpos.Text := inttostr(hsb_enterXpos.Position); + form_editor.img_button.Left := hsb_enterXpos.position; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ change y-position +procedure Tform_Editor_ws.vsb_EnterYPosChange(Sender: TObject); +begin + tbx_ypos.Text := inttostr(vsb_enterYpos.Position); + form_editor.img_button.top := vsb_enterYpos.position; +end;//-------------------------------------------------------------------------- + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ NotShow +procedure Tform_Editor_ws.rbtn_NotShowClick(Sender: TObject); +begin + // + rbtn_tillclick.Enabled := false; + rbtn_tilltime.Enabled := false; + cobx_Delay.enabled := false; + + tbx_BackgroundPath.Enabled := false; + btn_bp.Enabled := false; + tbx_EnterPath.Enabled := false; + btn_ep.Enabled := false; + hsb_EnterXPos.Enabled := false; + vsb_EnterYPos.Enabled := false; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Show +procedure Tform_Editor_ws.rbtn_DoShowClick(Sender: TObject); +begin + // + rbtn_tillclick.Enabled := true; + rbtn_tilltime.Enabled := true; + if rbtn_tilltime.Checked = true then + begin + cobx_Delay.Enabled := true; // time + + tbx_BackgroundPath.Enabled := true; + btn_bp.Enabled := true; + tbx_EnterPath.Enabled := false; + btn_ep.Enabled := false; + hsb_EnterXPos.Enabled := false; + vsb_EnterYPos.Enabled := false; + end + else + begin + cobx_Delay.enabled := false; // click + + tbx_BackgroundPath.Enabled := true; + btn_bp.Enabled := true; + tbx_EnterPath.Enabled := true; + btn_ep.Enabled := true; + hsb_EnterXPos.Enabled := true; + vsb_EnterYPos.Enabled := true; + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ TillClick +procedure Tform_Editor_ws.rbtn_TillClickClick(Sender: TObject); +begin + cobx_Delay.Enabled := false; + + tbx_BackgroundPath.Enabled := true; + btn_bp.Enabled := true; + tbx_EnterPath.Enabled := true; + btn_ep.Enabled := true; + hsb_EnterXPos.Enabled := true; + vsb_EnterYPos.Enabled := true; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ TillIime +procedure Tform_Editor_ws.rbtn_TillTimeClick(Sender: TObject); +begin + cobx_Delay.Enabled := true; + + tbx_BackgroundPath.Enabled := true; + btn_bp.Enabled := true; + tbx_EnterPath.Enabled := false; + btn_ep.Enabled := false; + hsb_EnterXPos.Enabled := false; + vsb_EnterYPos.Enabled := false; +end;//-------------------------------------------------------------------------- + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ Back-Pic +procedure Tform_Editor_ws.btn_bpClick(Sender: TObject); +begin + // Browse Background-Picture + if opendialog1.Execute then + begin + tbx_backgroundpath.Text := opendialog1.FileName; + // load picture + form_editor.img_Background.Picture.LoadFromFile(tbx_backgroundpath.text); + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Enter-Pic +procedure Tform_Editor_ws.btn_epClick(Sender: TObject); +begin + // Browse Enter-Picture + if opendialog1.Execute then + begin + tbx_enterpath.Text := opendialog1.FileName; + // load picture + form_editor.img_button.Picture.LoadFromFile(tbx_enterpath.text); + // if enter-button gets to large + if form_editor.img_button.Width > form_editor.img_Background.Width then + begin + form_editor.img_button.Picture := nil; + tbx_enterpath.Text := ''; + form_editor.img_button.Width := 0; + form_editor.img_button.Height := 0; + end; + if form_editor.img_button.height > form_editor.img_Background.height then + begin + form_editor.img_button.Picture := nil; + tbx_enterpath.Text := ''; + form_editor.img_button.Width := 0; + form_editor.img_button.Height := 0; + end; + // config scrollbars + hsb_enterXpos.Max := form_editor.img_Background.Width - form_editor.img_button.Width; + hsb_enterXpos.Position := form_editor.img_button.Left; + vsb_enterYpos.Max := form_editor.img_Background.height - form_editor.img_button.height; + vsb_enterYpos.Position := form_editor.img_button.top; + // if enter-button is fullscreen, then dont use a background-pic + if form_editor.img_button.Width = form_editor.img_Background.Width then + begin + if form_editor.img_button.Height = form_editor.img_Background.Height then + begin + tbx_BackgroundPath.Enabled := false; + btn_bp.Enabled := false; + end + else + begin + tbx_BackgroundPath.Enabled := true; + btn_bp.Enabled := true; + end; + end; + end; +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ no pic +procedure Tform_Editor_ws.tbx_BackgroundPathChange(Sender: TObject); +begin + if tbx_BackgroundPath.Text = '' then + begin + form_editor.img_Background.Picture := nil; + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ no pic +procedure Tform_Editor_ws.tbx_EnterPathChange(Sender: TObject); +begin + if tbx_EnterPath.Text = '' then + begin + form_editor.img_Button.Picture := nil; + tbx_BackgroundPath.Enabled := true; + btn_bp.Enabled := true; + end; +end;//-------------------------------------------------------------------------- + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ apply +procedure Tform_Editor_ws.btn_ApplyClick(Sender: TObject); +begin + // set new data to '*_neu' + form_Editor.pfadHG_neu := tbx_backgroundpath.text; + form_Editor.pfadEnter_neu := tbx_Enterpath.text; + form_Editor.xEnter_neu := strtoint(tbx_xpos.text); + form_Editor.yEnter_neu := strtoint(tbx_ypos.text); + form_Editor.Delay_neu := cobx_Delay.ItemIndex; + // kind of welcome action + if rbtn_notshow.checked then + begin + form_Editor.Welcomekind_neu := 'none'; + end + else + begin + if rbtn_tillClick.checked then + begin + form_Editor.Welcomekind_neu := 'click'; + end + else + begin + form_Editor.Welcomekind_neu := 'time'; + end; + end; + + // '*_neu' to '*_alt' + with form_Editor do + begin + PfadHG_alt := PfadHG_neu; + PfadEnter_alt := PfadEnter_neu; + xEnter_alt := xEnter_neu; + yEnter_alt := yEnter_neu; + WelcomeKind_alt := WelcomeKind_neu; + Delay_alt := Delay_neu; + end; + + // delay + form_Editor.Delay := cobx_Delay.text; + + + // close + form_editor_ws.Close; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ cancel +procedure Tform_Editor_ws.btn_cancelClick(Sender: TObject); +begin + // restore old settings + // background-pic + if form_Editor.PfadHG_alt = '' then + begin + form_Editor.img_background.Picture := nil; + end + else + begin + form_editor.img_Background.Picture.LoadFromFile(form_Editor.PfadHG_alt); + end; + // enter-pic + if form_Editor.PfadEnter_alt = '' then + begin + form_Editor.img_button.Picture := nil; + end + else + begin + form_editor.img_button.Picture.LoadFromFile(form_Editor.PfadEnter_alt); + end; + // button-pos + form_editor.img_button.Left := form_Editor.xEnter_alt; + form_editor.img_button.top := form_Editor.yEnter_alt; + + // close + form_editor_ws.Close; +end;//-------------------------------------------------------------------------- + +end.//######################################################################################### diff -r 000000000000 -r ef71164288c1 unit_Start.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Start.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,892 @@ +object form_Start: Tform_Start + Left = 358 + Top = 114 + BorderIcons = [biSystemMenu] + BorderStyle = bsSingle + Caption = 'CD-Autorunner 2.3 http://prog.marmaro.de/cdar/ ' + ClientHeight = 340 + ClientWidth = 640 + Color = clSkyBlue + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + Icon.Data = { + 0000010001002020100000000000E80200001600000028000000200000004000 + 0000010004000000000080020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BBBBBBBB000000000000000000000BBBBBBBBBBBBB0000000000 + 0000000BBBBBBBBBBB0000000000000000000BBBBBBBBBB000BBBB0000000000 + 0000BBBBBBBBB00BBBBBB00000000000000BBBBBBBB00BBBBBB0000000000000 + 000BBBBBBB0BBBBBB00000000000000000BBBBBBB0BBBBB00000000000000000 + 00BBBBBB0BBBBB0000000000000000000BBBBBB0BBBB00000000000000000000 + 0BBBBB0BBBB0000000000000000000000BBBB0BBBB0000000000000000000000 + BBBB0BBBB00000000000000000000000BBBB0BBB000000000000000000000000 + BBB0BBB0000000000000000000000000BBB0BB00000000000000000000000000 + BB0BBB00000000000000000000000000BB0BB000000000000000000000000000 + 0B0BB0000000000000000000000000000B0B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FFFFFFFFFFFFFFFFFFFFFFFF00FFFFF8003FFFE0001FFF80000FFF00000FFE00 + 001FFC00007FFC0001FFF80007FFF8001FFFF0003FFFF000FFFFF001FFFFE003 + FFFFE007FFFFE00FFFFFE01FFFFFE01FFFFFE03FFFFFE03FFFFFF07FFFFFF07F + FFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFCFFFFFFFFFFFFFFFFFFFFFF} + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 13 + object img_Logo: TImage + Left = 20 + Top = 20 + Width = 600 + Height = 100 + Picture.Data = { + 0A544A504547496D616765B73B0000FFD8FFE000104A46494600010101004800 + 480000FFDB0043000B08080809080C09090C110B0A0B11140F0C0C0F14171212 + 121212171813141414141318161A1B1C1B1A162222242422222E2E2E2E2E3030 + 3030303030303030FFDB0043010C0C0C1010101711111718141314181E1B1C1C + 1B1E241E1E1F1E1E242923202020202329262824242428262B2B29292B2B3030 + 30303030303030303030303030FFC00011080064025803011100021101031101 + FFC4001B00000203010101000000000000000000000005030406020107FFC400 + 4D10000103030203040507080609040300000102030400051112210613312241 + 51611432718191152333425292A107166272B1C1D1D21724435363A234445482 + 93A3B2E1E225C2D3F03573F1FFC4001A01010003010101000000000000000000 + 0000020304010506FFC4003E1100020102030408040405030403000000000102 + 031104122131415161051322718191A1D11432B1C1334252E115236272F092A2 + F1243453634382B2FFDA000C03010002110311003F00B7C4B79BDDB65C366DF1 + 9975B98A0CA56E93F4A7384E011B63BE809AD4E7172A566EED446E2849C86356 + BD5DDD54AA02827F28B602EE92892968101520B5F369CF4CE15ABF0A01DDC2FF + 0068B6B4CBD36486DB903532AC29616060EDA02BED0A03CB57105AAF0A705BDD + 2F06B054AD0B40DF3D3584E7A5014E4F1A70D467971DD97F3CDA8A14D86DD51D + 493829D918CE680751DF6E4C76E435BB6F212E2323074A8646C7A50125018247 + 17F154C53D3ED96C448B4B2B281D4B8A03BC6159CE3C1240A0367E9EDB7004E9 + A3D091A02DD4BA47CDE7B9446DD680AD0388AC97177930E636EBBDCDFAAA3EC0 + AC13EEA03CBA712596D2E866E12432EA921613A56A3A49233D84ABBC1A02BFE7 + 870F7A2266AA494475BA59438A6DCDD60051DB4E7183D680853C77C2CA38130E + 72401CA74938FD541A01C7CA507D3FE4DE727D334734B3DE13B7F1A038BADD62 + 5A61AA6CC243295252748C9ED1C74A02BDCF88ADB6CB635747CAD719FD3C9D09 + ED2B5A4AD3B2B4F70EFA019B4EB6F34879A56B6DC4852143A149DC1A032C7F28 + 9610F29B2DC9084101C7B95D84E7A6AED6AFC280753AFF0068B7C66654B921B6 + 240CB2BC29416319DB403DC680E6D5C4369BBB8B45BDD2F72C6A51D0B40DF6EA + B4A6806740140140140140140140140140140140140140140140140140140140 + 1401401401401401401401401401401401401401401401401401401401401401 + 401401401401401401401401401401401401401406478FB99CAB4F29DE439E9E + DE87B19D07070AC1D8E3AD00DECD68B8C075C7265CDDB80712004B89D2124778 + ED1A03E7170B9484DDAF36ED696604F9A1A9729482B2DE16AC6371E07E1B501B + 3E26408966B426DE52BF4797111154A3949091846549EE38DF1403DB67CB5A1C + F95FD182F57CD7A2EBC69FD2E677D019C6D77EFCE6BEB566113015154E7A5733 + 195323D50D7B0E680D80CE06AEBDF8A03DA031367B7ACBB320D92FFCA8719D2B + 5B098E92A6F593D9E639E1A7BA80A372B8DC67F045C54B74C84B130B29938092 + F474AD385909DBA9EEA00E238F093C116B9F112965E63D1D4D3A8D961453DB19 + 1BE756E7CC500CEEEFDCCDC786A446434673CD3E0F3F296F52DA6C9D5A77F1C5 + 01A488C4A7A2A3E596E3392924FD082A6C0CEDA79A339C75A010F062D3E9B7F6 + 46068B8BA703C14A50FF00DB4077C5B05D6171B89212732AD872F247F691FEB8 + F7027DD9A032771BD7E702A459D95957A5DD1B2C1FF00A4B79F60D20FBE807BC + 672586E7D96D423B8FA10E878B0DA73A909EC2529CE013D7BE80B3C0772598CF + D92485224DB544250E7AFCA276CE3BD276F850192BBDD24B37BBDC34292DC2B8 + 486D89725482B2D01A86DB8FD2F86D406BB889B6E170D5BD36F525D119F88233 + 84E42B4A8695653E38EEA01F5AFE5BC39F2B88A0E4727D179876EFD7CCC7E140 + 5FA00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A0 + 0A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00 + A00A00A00A00A00A00A00A00A00A00A00A0175E2CB0EF0CB6D4A2B4F25C0EB6A + 6CE0858F6822806340246B84ECE8727AD6853E2E6AD725B70E53AB529794E002 + 305471BD0123DC31677AD2DD9D4D110DA3A9094A88215B9CEAEFF58D00AE0F00 + DBEDF3D8991654801856BE4AD40A4F96C134059BBF04D96ED31739FE6B525CD3 + A9C6978F54048D94143A01405BE1FB0376361D61B7DC901D5EBCBBD46D8C500D + E80CFDC7832CF3E62A6E5E8CF3BB3FE8EBD01D07A858C1EBDF8C66806EDDBA13 + 5045B90CA44308E5F271D9D27A83EDEFA01235C0D656DC465721C8CD2F98D417 + 1D2A8E95788463F7D00E25DB234B931653BA83B09456C949C7AC30A047782280 + B9402FB7D9A1DBA5CC951B505DC161C7D24E53AB2A3948EECEADE80BE4050295 + 0C83B10680416FE0DB45BE44392C025E85CDC2D58CAF9BAB1AF000EC6ADA80B7 + 3AC11A6DDE1DD5C71C0EC2F51B18D07AF5DB3DFE34076CD82DCCDDDEBC212AF4 + C7C614AD474818093848DB7D3DF4057470ADA132273EE214F7CA5FE90DB8728E + BABB23008C1E9BD01DAF862CEBB40B3F28A6103A82428E7567567575EFEFA015 + 45FC9FDB614E625C495213C8712E7294A052749CE3609A035940140140140140 + 1401401401401401401401401401401401401401401401401401401401401401 + 4014014014014014014014014014014014014014014014014014014014014014 + 014014014014014014014014014044B90D23BF27C05688616A4B7597320EA451 + 515735056395B78EAFDD8AD8BA378CFD3F72BEBF9151FBC4B6FA06F1EC3FCD5A + 23D1945EF9F9AF62B75E5C8F1AE2663584C86CB60FD749D43E1B1AAEA7444D2B + D3966E4F424B12B7AB0CD53518CB4358F1E83DD5961819BF9DE5F5658EAADDA9 + 45EBA4A49EC8463CC1FE615B23D1D49ED73F35EC54EB4B9109BC4C03A37F755F + CD53FE19478CFCD7B1CEBE5C8E51C4C942B4C96BFDE6FF0094FF001A8D4E88DF + 4E5E12F73AB13C5790E22CD8B2D1AE3B81C1DF8EA3DA3A8AF26AD0A949DA7168 + D119296C27AA890500501ED4A107276471BB14A63CFA0760E8F3EBFB6BD3A184 + A7F9BB5E8512A8F76823917A9D1BB5CDD58EE52538FC0035E82E8EC3CBF2DBB9 + BFB94F5D35BC6164E218D75D4D7D1C96F7537E23ED26BC9C6E0658777F9A0F63 + FB334D2AAA7DE38AC05A14014078480324E079D7545BD12B8B95977284DAB4AD + CC7B958F8E315A9606BB5751F5457D6C38961B71B75016DA82D27A292722B34A + 2E2ED24D3E6589DF61D5440500500500500500500500500500500500501E1200 + C9381E75D516F44AE2E565DCA136AD2B731EE563E38C56A581AED5D47D515F5B + 0E2586DC6DD405B6A0B49E8A49C8ACD28B8BB4934F996277D875510140140140 + 14014014014014014014014014014014014014014014046E3EDB7D4EFE02AFA7 + 86A93D8B4E645CD22A3B7309194364FEB1C7ECD55AE1D1CDFCD34BB95FD8A9D6 + E08ACABEA93D581F7FFF001ABBF857FECFF6FEE47E2397A92238820938735B5E + 6A1B7E049FC2A99F45575B32CBBB6FA925888F70C9B71B75016DA82D07A29272 + 2BCF945C5DA49A7CCBD3BEC3AA880A2570557E7B4C9C14A95FAB8FDE456DA781 + A935F9577FEC54EAC5712072EBA4650D6A1FA4AD3FB02AAF8F46B7F34EDDCAFE + C45D7E443F2DAFFB81F7FF00F0A9FF000A5FF93FDBFB91F88E5EA78ABEA93D58 + 1F7FFF001AEFF0AFFD9FEDFDC7C472F5246B886DEA56970964F8AFD5F88CFE35 + 454E8BAF157569AE5B7C89C6BC5F21A0208C8DC1AF38B82802802802BB18B93B + 200E23B35E8D1A51877944A5710DCEEF020AB0EB835FD91D6B52A8B62D5F0443 + 299795C64CEB3CA47B0FFF00CAD90A38892D216EF6732A16BDC5B25DDB4271DC + 6AD8E1B14BFF001F9BF638E312ABB7A5C83A40D247854E35DA93A7356944AA54 + CDA3DC4712DD6C8C871B25D2819AC138D4756D15772DC5D1B58CCCAE2F7DC2A0 + DA4247D523FEF5AE384C4BDAE31F5164554F13CC19D5DAF23567C1D75B2717DE + ADEE72C8905F50E9F9C1A73DF5DCF529FE246CBF52D515BA7C099172763381F8 + CE142C74526AD9429D58DA494A2CAD3717A68CDDF0E5F53778A7580892CECEA4 + 77F828791AF97C7613E1E7A6B096CF637D2A99D731CD612D0A029BD2F43E53F6 + 3F7EF5EAE128FF002F37EAFB19EA4B5B70321C53C5325891C8630001F1AD786C + 34EACE494B2A8F8ED39A58C7BD7998E9CAD4483D456FA9467878E7527349F6BB + 8838A658813DF8529B98C1C2D073ED1DE0F91A9D58C6B53717B248A22DC5DF81 + F5B87363CC88DCB65596DC19F61EF07CC1DABE4DD09AA9D53F993FF19E8E656C + C733C39CACA1440FD138FC457A387A34D3B349BE7A944E4CCE9BA4C8EF6CF288 + CEE16750FF00366BD3782A138EB04BBB4FA1475B24F68FB9A9545F487D4120EF + 93582D1A4F2AD122ED65A992BC5EE08572DB5EA51EF1D2B6E1EB46E5538338B1 + CA9CD9529874A1B5EEA18041FBC0D68C4D0A352DD647335B3FC4421392D8CD0A + A54971BED3AACF883A7FE9C5618E1A8C5E908F8EBF5B96B9C9EF2937719C9569 + 43CAC7E9615FF566AF9E0E84B5705E1A7D2C45549F12672E93D09CF38FDD47F2 + D54B01877F93D65EE77AE9F126877D90FA3496D3AC7D7EEFBBFF007AA2AF45D3 + 8BBA94B2F0FDC9C7112E04AF5C2568CA541047D91FCDAA90C0514F54E5DEFDAC + 1D5915537E9A9F58214075C8209F81C7E1564BA2A8BD8E4BC48FC44B917E05F1 + 998AE5E82877B87507DF58AB745CE1AE64E3C77F91746BA7BB5269FCE4804294 + 07E8923F655D428D25A654FBF521394B88A2429B56EB20ABCFAD6E8351D16854 + CA0B7F96ACB2BD0AF141C1FC2B4A8C66AD2B4973D486AB668491389A4C77D2D3 + E79CD138DFD61EC3FC6B2623A2E94D5E1D8972D9E4590AF25B75468A4990A8FA + F2519DFB271F88AC5468528BB594BBCB65293E421374991DED9E5119DC2CEA1F + E6CD7A2F054271D6097769F428EB649ED1F7352A8BE90FA8241DF26B05A349E5 + 5A245DACB532578BDC10AE5B6BD4A3DE3A56DC3D68DCAA7064566993990B5B0E + 96DB5EE460107DCA06B4E230F46ADBAC8E66BC3E84213947631F5B3885E9127D + 0DC485B87D458DBEF0AF3311D174E3DB8B6A3BD7B17C2BBD8CBB725BCDE09714 + 8F628A7F662942951FD31F157FA894A5C589DE9EFA374C85E7F5C9FDF5B2387A + 32D3243C91539C96F65A66E73DC6B5177181D4253BFC45512C061D3F97D5FB93 + 5567C4853C4B223C84B6FE1D6D47076015EEC6052A74552946F0EC4BCD08E224 + 9EBA8EE529F31F984F2C1DFB271F8D65A542945DACA5DE592949F211B931D00E + 242FFE22BF8D7A11A345FE487FA514B94B8BF33A87759EB1A39B903EB6013F12 + 2A1570187BDF2FAB48EC6ACF8939B84ECFD31FBA8FE5AAFE0B0FFA3D65EE77AD + 9F10F94677F7C7EEA3F96BBF0387FD1EB2F71D6CF89126FF002997825D507127 + B9400F869C527D194651ECA707C9DFEA157927AEA3492B905A4B85453DFD9253 + FB2A8A542945DB2A7DFA9394A42C90A6D5BAC82AF3EB5B20D4745A153282DFE5 + AB2CAF42BC50707F0AD2A319AB4AD25CF521AAD9A1EB5C552A1AC07FFAC35DF9 + F5C7B0FF001AC95FA2E9545787625E9E4591C4496DD51AD892E3CD8E893197AD + A5F43FB8F9D7CED5A52A72709AB346D8C935744D559D0A25707AA6F28ADF4692 + 8EAF5653295C4572B8C28408796350FAA3AD6E55122ACA6664718441F468D43F + 1AD3185797CB4DF8E9F5399799457C56DAF6E555EA1885FF00C7EA8E645C4F4D + EA23C9C674FB6A6ABA8BEDA70EF456E9B3A6AF1260283B15DD3E23AA55ED1565 + 5A14ABC6D349F3DFE0C8C6728BD0DD592F71EEF1B98DF61E46CF35DE93FC0F75 + 7CAE2F092C3CECF58BD8F89BE9D45345C5CC6DB7B413D3AFEDABF0B87BC33F1D + 846A4F5B19BBDF12DAD9794D6FAD3D6B6D194EF65194ADC15CADC6E24778BE30 + ECA5BC8F1AD4A1886F4A6EDCDA4472F328AF8B1CD5D84809F3CD59D462BF4C57 + 88CA8EBF3A829202D1BF7915254F111DB04FB9A38E08AF22ECDC84E11B1F0ABA + 955BE8D38CB8329945A341C1DC42E87D16A92AD4D2FE8147AA55D74FB0F75795 + D29848B4EB4347F9B9F32FA151FCAFC0DD57806C0A00A02BBEF84AF467A75AF4 + 70747B2E7C74453525B841C47C569B6B05967B5215B7B2B652C3BAB532474DED + F04411F31952DD90E29E7D79528E4D7B6A343090BE915C77BF739AB20054AE83 + E358E5D27297E1C34E32F6163AD2E795163B11BE307E68E5D1E36A285E55E39A + F3FAC9759294B6C9DC93D4773A599CC25206F8D8D7AB3A4AA414A3A4B6A66652 + CAC4EB6D6856958C55F86AF39CA509A49C52D9EA5FBAE7084294B233B560AD2A + FF001128758D474B789D6D2448B65C46E7A771AD946B5452EAEAEAA5B1FD9915 + 24CF5B74A0EFEA9A8568750F3C7E4968D707C4E4A37EF1D592E6AB6DCD99293D + 8CE97478A15B1FE35462A0AB5271DFB57790A6F2CAE7D72BE50F4028045256AE + 738A57DA3F0076FC2BE8E824A9457F4AFDCC52F99F79F34BEBC5DB8387AEFB1A + F43A3A3D99CBF54BE84C5B5750ABD6F5917AE59B8F8064D1DCFA87DD59237A55 + 1D27B36C5F22AA91DE6C384EE2F2039033F344F34791C608F7ED50AD422E7D6E + FB6539193B652F714DDE447801A69C2852FBC795657473D48435599EEE05B166 + 18DCE5EA056E13DD5B2B52586CB25393BBB599C71B8F27CF96ED8A3A75129ED6 + 4D53284675E9DD5E327A883B233493975055BF686735B71C94694546CBB6BEE7 + 4D04EE207987CB31004348C04E2B361E855AC9C9CF2F69AD82D1293DC4573753 + A799A47955EBA3FB579546D704ADEA34396AFD3DA1EBE7DB496172E9D7655B93 + FF0093965C0F5EE239EB4E0AFDD545451A517255A326B769AFA9DC89EE34B0AF + 116DF646A4AF2B92FE76EE18AA2A559D494631B76B6118C1095FE2C9EE7ABD9F + 2AD51C0D6DF512EE57F62564468E2390061635559D46223B1C67E845C116235F + C3721B71BCA540E48AE758A5FCB9ACB2E0CA9C5C7519F1271149530DF21CC05F + 7563F855D6C6326D4657D85D09DCC8AE7CA59D45C3F1ADF1C161AD9F6ADB7CCE + C4AECE5135F0750709F7D2386C34F5A52FF4CAFEE1F3276EE0F29C1ACE71B835 + 0CD3A53EAE7AA7B194CE1BD1B1BF5F2526CCC842CB6B7539C8F65609D152AB18 + 2BACD2DDC0B60F43186E72F502B709EEAD75A92C365929C9DDDACCE38DC793E7 + CB76C51D3A894F6B26A994233AF4EEAF193D441D919A0ACB892ADFB4339ADB8E + 4A34A2A364B3AFB9D1D5CAF0F25FD11BE699481A00F0ACB468CAA4A4A551A9AD + 8B971E67165B6C0B55E0B3311249C389AD19AFFCAA9A4BEBCD1538B8BBA2EF14 + 5DE44975B750E65B2329DEB252C241D7C952F671BAD6C5D19DD19C54D93D759F + 8D5F89C3C2853CF4EE9A6B79DDA692E97F78408AD45EC0D0398A1D4AAA8EA9CA + AACD3718CB677F0231B584EDDD1C71C4F3CF4E86B66B47B35358BD92FB32B9C3 + 7A34776BF3F2ED084B6BC14ECB03F0AC35B0D1538B7F2396BDCC9D39EE32266C + 83F5CFC4D7A0F01452BABDEDC593B8FEDD7B7E2D935230A74ACF68F5E95E5AEB + 2AF57DACA9E8D9C4926CA3F9CD72EF556FF8394576AB5BC2DF7165C085CBF4E7 + 0E4B847B0D41E1A96FAFEA8EF811B77379D7473179C2854215A319CA9C659D2B + 59EDDDC8AE70DE69F88F882488ED21873191822ABF865D74549B5195F61284AE + 8C92E7CA59D45C3F1ADD1C161AD9F6ADB7CCEC4AECE5135F0750709F7D2386C3 + 4F5A52FF004CAFEE1F326139D755A5D39F0350CD3A53C93D53D8CA670DE8D4F0 + 35C9C6AEBE859CB5252AECF82903567E00D79FD29153A79F7C3E8CB30EECEDC4 + FA2D7CF1B0A93A588E5B1F6F27EEE3F8D7A180A39DCA5FA6DEBFF0535A56B08E + FF00C58981174B5BBCBE9E55B7E1E529AA71DB2F4457191F33953244B714E3CB + 2A2ADEBDDA185A54169B77C9ED0DDCAC547504A4649ACF8AC7F57250A694E4FC + 91D48B49B75C0B7CC0C28A3C40AAA38FACB59C22D72D08E840411D76AF429D4A + 75E9DD6B17B98246DF524849DD26B1D55F0F2597F0E4EDDCC84A37EF343C2B71 + 5C4BDC7093D890A0CAC78859C0F81C564C7A5568CB8C7B4BC052ECCBBCD4F132 + DE87243E9FA37C7ADFA40631F0150E8A9C674B27E687D19DC426A57E260AF0B2 + EB9CE3DFD6B737F0F3CEBE49692F7234E57D056563BB7A9D5E91A50D237A8F96 + CF32DB161B8370751ADB8EA28FB559BF88D56F4A692EF1A1C38D3AD28A1D4942 + 87506B761B14AB5D5AD28EDDE08F38237C1CD55D20D2845EC96656FB9C1C424B + EDB8892DAB42DB214957811B8A2829C6D2D535A99EF67A1F40E1EE2844F57A24 + B2112FEA2BA25CFF00CABC0C7F47753DBA7AD3FA7EC6BA35B368F69A3AF28D01 + 4067EE0EA933DE00F7A7FE84D7D160A3FF004F0F1FFF004CC557E767CDEF8EAD + D9EE15FDA35BFA397E23DF989EE42C4B45D734F7F7566C653955C4E57B12597E + E336543D8BC3A5D424A9DD24F762A4B0997794F58321C1FD8D5E91F85732AD87 + 4AB22C7022A90A7753A1272B4E74EAF2CF7549E12335B6CF89CEB2C38762DA24 + 3ADCBB7B61B61C40D4D7D970642863D98AEE13ADA7074EA6B28CB47FD3BBEE72 + A656EF1D8D19FE234212FA7427031BD5B41DB12FFAA0590F944AD64BC948EAAD + 857319D9AD097EA4D797FC9D7B0D471044660DBD86549F9F5272AF2ACF1ABD6D + 7A708EB695FC108C2DA99456C2BD0C7C92A12F0FA9244E8392077D79D19EC2A6 + 8FBA57CC1BCE1D752DE327AF4AD186A3D64B922139590A6EEEC48F0D6F2D406C + 703C6BD475722D4A32DCF91C9505BEB50E84D7BB818E5C3C39ABF9EA1ED38424 + 72C9270726B0E1615A38894B24B2CE52BEEE699D67392371D456FC5527385E3F + 3C355EC44756393A6732B1F58E93EFACB19AA90B94356631E3077B4DB24F766A + AC3F6B12BFA62DFDBEE5D1D864BEB8F2A748CAF5610E09BF3FF825B8D6DD1011 + 6067030302B97EDD2FEF4570DACC9F78F6D6AE91FC38FF007AFB961268E63B8D + F26BCD51CD3CB792E57237B227910171D21C50C050DAB5D0A6A9E2525BE2C465 + 7452D395FBAA9E90A69E213E30FBB277D0B7122194E06C27BF7AAA95155346AC + 572958677E4B71D2CC46B64B49C7C7AD69C2D24F11CA92D3BD925B3BC44A04E0 + 0EFAB7A4E53CB1845D949BBF86E3A8B6880BF46F48E89159E8C7A88AAA9D95FB + 4B910CF7958ADFB7BABD3C4D1EB21FD4B58BE648736D613708EE870E7969D405 + 79AEA2A942F257D0AF2DA5A09DC4804A53ECADD4A0E583505B654ADE68B779D9 + 535CA4A1280163AABC6B3E0F053A73CF369595ACBEE75B2241D4F2509EBD3E35 + 9F1B898CEB4610D725EEF9B16D0D2711A94DC68D156774A055987ED6257F4C5B + FB7DC847619AFAE3CA9D232BD5843826FCFF00E096E35B744045819C0C0C0AE5 + FB74BFBD15C36B3267BBDB5ABA47F0E3FDEBEE5837B8A1A5418EEA06E46E7D95 + 4C5FF3E93EF5E8CAE1BC51ABB58EFEA2B4559D2A951D09F664ACE2FD8B2DA16D + 52F991C30E0DD3EA2AB1D694A8CE0E6BE57A4B8ADE4631B6C2A2BA56EC7FFDBC + BC3EA8921DB0CA5CB3B8B50C949DABCFAAEF872A8FCE2451D2707D95E8E22BD3 + 865551762A697E1C2E5A916A3CC2D214D2C6A6D7F8563C45274E0FF3D27BF87E + C432EB74573D6BD0C354EB29465C56BDE48BD6C6F9CC3AD1F542757C2BC5A493 + A2E32232F98A0E20674F502B655A2EB612928ABDB2BF2562CBEA593E8211B24E + AAA3E0AAEE846DCD91F1224A12A214D0EBDD54469C5DA5038DBD8CD42ACAA7A0 + F3647D8D58ADB5E5195369ABE85504F319471201294FB2B4D283960D416D952B + 79A2FDE7654D729284A0058EAAF1ACF83C14E9CF3CDA5656B2FB9D6C802FE706 + 3BAB3E371319D68C61AE4BDDF37B85B4355C0ACB8EF1034E247658438B59F229 + 281F8AAB1632A7F25AFD565EB7394D76BB8FA9D78A6A155FE329E8A95B670B6C + EDE615B115E9F4555CB55C5EC92FA14622378DF818D93C2D74B93B95E1A693FD + A28D7AF899D2B6D77E467A6A426996BB2C271485BEA9053DC9DB7F2AC31A7D77 + C94E53E7BBCCBB55BC851718515455163A4103B2E2B73F8D6A582A91D66E9D24 + 3CD91C8BFCD78FD211B6303A5472E113EDD49557C22B4FF3C4143E79E5652852 + CFFF007C2B4C71F18ACB4693B2E3A7B9CEF67AEC596D905D414F80C564AF3C45 + 569C95A2B6243344D070ADBDD55C189EF24FA330AD7B632549DD3D48EFA84A9D + 49C1A565756D48A693377729D6C9D15716525C4215D1781D923A28609AA2860B + 13466AA53706D6EBBD796C272AB092B3B9F3FB95B2546CAF1CF8C7D490DEE857 + F03E46BD7F888D4595F667BE2F6FEFDE66C8D6BB5712BDAE2665A1C7192A693B + 918DAAB8514DF024E44D7CB8C90F16D0AD0D0F54276C7C2AA5468C672F88BDBF + 2EDF2D0B632BAD04CB79C78EA592A3D326B661F13868F629A704DED6B7F79D67 + 35BE74E13F992977AB9C244C8791EAABDD592A6172F6A8E8FF004EE7EC71A4F6 + 96DB7CF65C49D2A1B823A83508D55386BBF6A2871B33EB1C3D73F94ED4D4957D + 28EC3BFAE9EA7DFD6BE571747AAAAE2B66D5DC7A14E59A3719D6626653898AE2 + 4A0F7D47C75FD24EC47C315F47D15353A5937C1FA3D4C5885695F8981BBAB98F + 73BC7AD6FBF513CFF925B7973234E57D05E0949C8EB5B2A528555AF835F66585 + F62F12DA01217B0F7D64783AAB4854F34732AE05977896E0B6F961671E3D3F8D + 56BA3EA37DBA9E48EE9C0ACBBB3EF612F1CF9D4DE6A0ED2D60F64B87795CA17D + 831B2C8D32C37D42C558E4995589789920A10A48F69AA16988A6F8DD7A1753DE + 66DB596DC4B89F590722B66270FD7452BE5B3BDC9934D9F22639CC90BD46A147 + 0F4B0D172F3933B7B948AB51F215E363317D7CD5BF0E3B39BE24ED6349C1B693 + 73BBA0AC663C5C3AEFBBD44FBCD64AD5B2C39BD0463767D6EBCB2F14DF0B88E4 + B89F546A07DA7047ECAF5FA2ACF3A7B747F533E237184E2876539A324F2BA57A + 2ED4ABC676CDB977B2A83BA32D5EE12065B7DF56940AF0638EC4D57D9CB15C97 + B9D7647A410707AF7D7B34279E9C65BDAD7BF79C268720B0FA159C6F9CF9D60A + CBA9ABFD153D25FB91946EBB86BC48F739C6D79C829041AEE195B112FECD3CC4 + 760B6D6D32ECF6D120E96C919F6567C4AB6224E7A5D2CBFE77927B34347C5D72 + 84B4A2242396D1B62ABC1C255AAA93F929BBF7BDC4AD63227BBDB5BFA47F0E3F + DEBEE707DC3AC36F4D3AC674A722B353D1DCA645DE2A484B2D62ACA6FF00EA21 + DCFE84A1B0CAA7E9135DC7AFE6537FDCBE84DEC63EB0BE96DF58206E339AE52E + 08A2471C4279AE25D1D3A54A3FCAAEA4F64D65F62CA6EEAC24EF07C2AEC75372 + 8292DB077F0DE4CD2C7F46F909CD6E0E613D849AF37135538A843572234E3ADF + 819A511B9AF66AD454A9B9BFCA890FF871588133F56BC1A5F82EE725F30857EB + 2BDB5EED2BAA31B6D505F43A71B2D3E46AABD3C661F94978A677632FDB9E891D + 685B88EDA4ECAAF3D508E1ED9E1FFD96C212CCF632EF104A1294DBA939490315 + A70BF8F2E70D3CC4760BED6D32ECF6D120E96C919F6567C4AB6224E7A5D2CBFE + 77927B34347C5D7284B4A2242396D1B62ABC1C255AAA93F929BBF7BDC4AD6322 + 7BBDB5BFA47F0E3FDEBEE707F259CD8D877C355655F8B49FF5108EF10606A19E + FDAACE9082CF093DF78FDD13DC74B6D48F5BA771A946A69D562758BD92F7F722 + A57D872AE86AFC4C32E1651DB963F424B69A6B5B41EB1BC3BF39AF3A5DAA1E05 + 6BE6334EFACAF235BB171CD85BFE95191623A2D9035A774FECACF46A4A92FD54 + 9EEE1FB72239B73DA73DD5E861E108C5BA6FB12775CBB8E8DB87FF00D67C9B35 + E343E49AE0DA392F990AA46752B1E55B65D67C147ABBE6B47E5DA4F793262B4B + C61D3E7B56294AB2DB2ADEA73C8710E15A62F6DD93CCC7763152A33852DADF89 + 092721CB7716E4427D0DAB525B4EDECABEB6574DC96F4571BDEC6217EB2BDB5E + 8D2BAA31B6D505F42E38D969F23555E9E330FCA4BC533BB197222A1213879195 + 7DAAF3D508D0B7590BFF0052D842599EC65E873D56E988970D5A5483EE50EF49 + F2357D6A74AA432BD8FF00CB9545C93B9F5E8EF2644769F47AAEA12B4FB14322 + BE4A51CB2717B53B1E9277295D64724B49EE56A3F0C7F1AF4BA369E6CEF85BD6 + FEC67AEED632BC557C7DB869659D82FD622BD0F86CF5A1097CAF6F810848C0A9 + 4547528E49EFAF7A3151565A240B96B830E492E4C7B9607440EA457CC4A4AA4B + ACA8DB93D8BEC4B5D8863CFB044C7258E71CFACE1E9EE15A2146ACBE4A56E72D + 3EA72DC5913B7F73711DB4B20F5D200AD51C05597CF351FED1A0BDC9F21C7353 + CAD63BC54EA529D0ED45B9C3F327B57320E29F79AC178896E831F40D61E4EAF6 + 56695594EA65A71CCED7F03918685093C4887D3A423493574272835D641C6FB0 + E4A1C0BDC1B77718B9AE3A8E597D0B514F829B495E47B81ACBD2349568A6BE65 + 24BC1BB12A32CAF91B07275BD2DADE920103751AA9C254E3D9D12257526616E9 + 75B0B921651175782B3DFECAD30589A91F934E32D0E64485136EA8908086D843 + 60780ABE1809B927564B2AFCB1F725A21657AC70F090064D5752AC29C734DD92 + 07AD39B7B6BE7A9D7BE67B3349BB778944FAA700B2E3761D6B180F3CB711FAB8 + 4A3F6A6BCDC74F354EE8DBEE5D495A269AB116952E56E8F728AA8CF8D8EE950E + A9577115761F113A13CF0FF95C08CE0A4ACCF97DDED326D924C792320EEDB9F5 + 569F115F5943114F114F32F15C0F3A7070761338C6F941C7955569D377A52B2F + D2F616467C4874B83EAD4D63AAAF9A9DFB9965D1E1D7F66B92E9196EA7E6C687 + 2428F53EEAC15ABD6ABF33B4782257433B1B8BF4F49C121009563B8789A961AA + B735165738E831BECC0F321B6B720EF5B711192CB28EAE32B95D36AFA99DC39E + 18AAE58EAEF64631F52FD0E4A33EB6F582AB9D4D6A49CBE9E476E31B358A75E6 + 506232708FED5E23B081E67C7C0565A92505A924AE7D76D168876886989153B0 + DD6B3EB2D5F6955E7CE6E4EECB92B17EA274537D783696757A87567DA318FDF5 + EB74546EE7C7433E21EC309C513DA5B486DB19F1AF526B25484A77CA9DFD8A69 + BDA65350AD8FA4285BE6D7B9FB16586362752DBBDAEF4E2BCDE8F7B9EF442B15 + E702990AC6E09DAB54710F0C9C1C5CBB578DB81D8B4CAA759F2AC789C555AD1C + AD4631BF7BF326AC5E52D72184857AC81815AA9DE51535A54894DF2BE4543AD3 + D41F7558F169AB56A57EEB497A9626B733925C5E71D7C4D533C7CDC72D1864E6 + FEC8969BC15AB6C8AAF158A9548A8B865B34EF738AC37B1CDE44C07B94306A54 + 279A56E25535645ABFCCF4A4A423EAD699C5C251A91D5C777791848CEA8A8286 + D8C562C5E29D5CAB238B8B342B5879C3B0DEB8DC44760E15A16ACF77646D9F69 + C0A8FC546976DECBA2BEAF36813D2EA5C5C7908285A0E1483D41AF53B156175D + A8C919F58BE6295B4B49DB715446BD6A3A35D64777134292671ADCC6307D951F + 8E8279A347B5E0BD49F891A828F5F8579F89AF56BBEDE915B22892B0FE138DB5 + 6771B07E75DDCF8D6985072C3F3652E5DB122D47513A4D69FE22A0ADD5CDD972 + 2CF13C69194F82ABCFC2B94758F665E9E224CF16973A7E35A3118BAF2864B28D + F6C97009A2746A71AD24FABD2A34335934FB51D9EC41BB3223AD3D41F756B78B + 4D5AB52BF75A4BD4926B733925C5E71D7C4D533C7CDC72D1864E6FEC8969BC15 + AF6C8A862B152A915170CB669DEE715870B981DB4A2327AA77AB62B342335B62 + EF6EE2ABE5909D64A7A8DEABC663233A795C6519A69AE1E65CB52DB4A4BA9D06 + ADA3255639599E4B2EA40FB2A6C607681A85594E9539527DB84A2D2E2B87816C + 257195AA706A33CC9DB58C5470F6A94DC1E9A109E8EE2C741493A86D573C5463 + 4FAAAB16965CB75AEEB162D761246776093DF59B095B451642A44F5E634F691F + 76B5352C3BCF4F58BDB1F63909DF46496C98632D631B3808358A94D4A538DACA + 726D5C9CF890381CD59C66B5D3C4D4A5150C9992DF7B1DCC991EFF0064D5ABA4 + 57E684D7933A79A854DF48D1B3D5A7C1A62C32B6C84A20BED9385AC0C5797453 + 9D171DE465A4AE2F5A8EA2749ADDFC45415BAB9BB2E44BC4F1A4653E0AAF3F0A + E51D63D997A788933C5A5CE9F8D68C462EBCA192CA37DB25C02689E1B5225486 + E2B092B75D212848F1358D57CAB5D8865B9F6F871FD1A2311B39E4B686F3FAA0 + 27F7578D3966939717734A565617711B0B542E7B7EB31B9FD53EB57A3D155942 + AE47B2A69E3B8A7111BC6FC0F9E5DDCE7B3B9ED0E95F415A0ECA50F9A3AA3242 + 56667B50A97F11A2B6E6BF0B334580ACE3A1C554B1D421F2D3978452FB80049E + 8934FE277D94E5E2C076FECD425D2353752FF77EC34E27BA5CF2AE7C6E237461 + EA72E8E8738A0209D86E0566A2EAD39BA8946EEEADBBC0EB92383AD2A04F414C + 4622ACDC732494780D0D2F044754BBE236CB6DB6E170F80520B7FB5559ABE22D + 4EFBEEADE0EFF61086A31B92DD65C762BDD504A55FC7DF5ECD3C95A9A92D9246 + 6778BB7031AF8D2EA801B7754218B5423D5CD49E5D96E0685AEA45951E89A84B + A4A6FE4A7E6FEC7743DD2E78E2A8962F132DF18F72F7B8BA39D03BF7AC738B93 + BCDB93E676E3AE1DE19997A92300B50D3F4AFE36FD54F8AAB3D4A8A9F7F02495 + CFAFB0C351D86D864696DA484213E006C2BCE6EEEECBC92B80280AD3ADF0EE0C + F265B41D47767A83E208DC5594AB4E93CD0766465152DA64677E4FB275409381 + F61E1FFB93FC2BD4874A7FE48F8C7D8A1E1F83123BC15C449514A63A5C1F692E + 231FE650357FC7506BE6B77A643AA97022FCCAE243FEA9FF0031BFE7A8BC5D0F + D7E8FD8EF572E03581F93890BC2AE124343FBB686A57DE381FB6B14F18BF2ABF + 796AA5C4D85BAC16AB7475C78CC0D2E8D2EA95DA52C7E91358DD69B9295F55B3 + 9166556B19AB9700BAB74AADF212107FB37B3D9FF7920E7E15EB43A5AEAD556B + C63EC67787FD22EFE8EEF07ABF1BEF2FFF008EA2F1F4B84FC97B9DEA65C86B03 + F27505BC2A7BEA90AEF423B09F8EE4FE159278C93F9558B153E26B62448D0D84 + C78ADA59651D109AC6E4DBBBD4B49AB80280A575B7A6E30D51F5685F56D7F654 + 2B4E1712E854535AAD8D71442A433AB1F34B970FDEE2AD5CE8CB5A47F68D8D68 + C78E474F7D7D07C6D1AAB492EE7A33175528EE122D07A637AE4E37DC753195A3 + 862F53C9763B250DA4642DCEC255E49CF53581578519DDBF22EC8E48E9EE1EBE + EBE5982F95792091F786D5AEAE2A94D5F3C7CFEC5518496E63187F93EBCBE02A + 429B8A93DCA3AD7F04EDF8D79F2C6535B2ECBD5363399F93D5B6C836F91CC581 + DA43BD9C9FD123A7B0FC6A787E934B49AD38A233A1C0CF4AE19BF475695C2755 + E6D8E60FF266B6FC5519EC9AF1D3EA55D5C96E08BC21C43246A4C45363FC521B + 3F05106B34B134A2FE6F2D4B324B8137E64F1228E0C509F32E378FC14693C5D0 + B7CD7F07EC15397035160E058D099715712243EF274613EAB63AF64FDAF3AF3D + E2A4A49D3D2CEE5DD5AB6A28B9703DD9B70FA16994D1F57B410B1EDD581F8D7A + B1E94A735DBEC3F34677876B66A2E1C0FC46E2B498E96C1FACA71181F7544D53 + 571545AD257F064A34E5C0DC70C70C33626544AB9D2DEFA473B801F553E5FB6B + CAAB573F71A231B13DE787205DC6A772DC80309791D7D8A1DE2AEC3636A50D16 + B1E0C8CE9297798B99C0F7C69C298E9449477292A4A7E216457AABA468CD6B78 + 3E7AFD0CFD4C97329FE65F12FF00B27FCC6BF9EA3F1743F5FA3F63BD5CB817ED + BF93CB83CE6AB8AC4668754A085B87E1D9158EAE2E1F93B5F42C8D37BCBF76E0 + 471275DA0828FEE1C3B8F628F5F7D68C2F49A51C957CD7B10A9435BC444782F8 + 93FD93FE635FCF56CB1941FE7F47EC47AB9702DC3FC9F5E1C4A94FADB8C7EAA0 + 9D649F3D1902B37C7538BD2F22CEA9B24FE8EEEEA3DA911C0F10564FC340A94F + 1F49EC52F25EE71519722CC9FC9E3CD30930E4875E03E710B1A413FA24671EFA + 8D0E91517DA8D9723B3A37D82195C337E8EAD2B84EABCDB1CC1FE4CD6EF8AA33 + D935E3A7D4A7AB92DC11784388648D4988A6C7F8A4367E0A20D669626945FCDE + 5A966497026FCC9E2451C18A13E65C6F1F828D7678BA16F9AFE0FD82A72E05B7 + B80AF31D94ADA5372178CADB49C107C06AC0351A18FA6B4778A13A3213B9C3D7 + C2AD1E80FE7FFD6AC7C718ABEAD6A5257CF1F344231970668ACBF93F7CC675CB + 8AF90FAD3861B4F6B41EBA97E3E18AC11C77553BC355BF9973A5996A5195C13C + 409594B6D25E4F72D2B481F05949ADF2E90A335B72F269FD8ABA9922467F27F7 + 9F4753AA5B487BEAB19CE47EB0DB359618EA719EFB7126E9368592B872FAD2CB + 6A82F28F8A12563E28C8ADAF13466B49C7C5DBEA55924B73185838167C99297A + E4831A2A4E4A0ECE2FC80EE1E66BCCA989507FCB777E8688C2FB4B172E06BB34 + E1F42D329A3EAF682163DBAB03F1ADF0E94A738F6FB0FCD14BA0D3D352087C01 + 7A7964C9D1153FA4A0B24FB119FDB59A58DA71778F6BD3EA4D5293E471238238 + 81B5E96DA4BC9FB6871207F9CA4D6858FA125ABCBDE9FDAE43A992E6507B872F + AC2B42E0BC4FE824B83E28C8AB6388A325A4E3E2EDF539925C194244590C1E5B + ED2DA5FD95A4A4FC0D4FB328F66D2EED48EA9972D7C337A9E14E468E43607AEE + 7602BC93ABAD62EBE9D296ACB72B922E1E0BE24FF64FF98D7F3D5AF1941FE7F4 + 7EC47AB9702DC3FC9F5E1C4A94FADB8C7EAA09D649F3D1902B37C7538BD2F22C + EA9B24FE8EEEEA3DA911C0F10564FC340A94F1F49EC52F25EE7151972353C3BC + 2B0AC60B80F3E5AC614FA86303C103B8579B56B39F245F18D87D54923C5252A4 + 94A8652AD88F2AEA76D503E7D7EE11B830EA9D80832631DC206EB47963BEBE8B + 0FD2909C6D53B33F46629D069E9AA33A6C57ACFF00F8F91FF057FC2BB2AB4BF5 + C3FD4865970679F215EFFD824FFC15FF000A8BAB4FF5C3FD48657C1F916D9E10 + E23751AD30C807EDA9083F05281AABE2A8ADB35EBF625D5CB812A382388D6A01 + 51D2D8FB4A71181F7544D4658BA3BA57F0675539702EFF0047779FEFE37DE5FF + 00F1D47E3E9709F92F73BD4CB91EFF0047777C7D3C7CFB57FC94FE214B84FC97 + B8EA65C813F939BA2958764B094F794EB51F814A7F6D4278EA6D68A5E36F73AA + 94B91B2B0F0FC2B1C62D47CADC73775E57ACAC74F601DC2BCDA951CD97A56297 + 1370E2EE69F488842652460A4EC1C1EDEE35E8603A43A8EC4F583F4FD8A6B51C + DAADA6064582F89594982F923ECB6A50F8A722BD29E2694F5538F9A450A125B9 + 9331C1DC44F80A110A127FBC52507DE92757E1591E2A92FCDF52CEAE5C06D1BF + 2713D47FAD4A69A1FE185387F1D1544B1D0DC9BF4F727D531E5BB80ACD1485C8 + D531C1FDE6C8FB83F79ACB3C5CE5B3B24D5348D321086D010DA42109D92948C0 + 1EC02B2961D5005005005005005005005005005005011C97C478EEC85254B0D2 + 4ACA10352CE919C24779A011DA38CAD37590DC66D2F4779E054C264234F300EB + A0A4A81E8680D067BBBE8028009C6E7A50050050050050050050050050050050 + 0500500500500500500500500500500500500500500500500500500501E64648 + CEE3A8A03DA00A00A00A02A5C2E70EDAD21D98BD097169691805454B5740129C + 93405BA02A5BAE50EE71FD2612F98CEA5235E0804A7638CF51E6280B74014014 + 014014014019A00A00A00271B9E940140140140140140140547EE70D89D1E038 + BFEB32828B4D804E423724E3381EDA02DD0050067F1A00A00A02A1B9C317116C + D79965BE772C02708CE3248D87BE8099726336B5216EA12B4A39AA495004363A + AC8FB3E7400993196A4A10EA14A713CC4242812A47DA03BC79D00AB8B5F7E3D8 + 9E7A32CB7212B6792A074F6CBA8033E23C4785009AD7C43327F14462EB4A8F15 + E8EEC6432BDBFAC35A1C7FEE91A7DD404F122A2E16294A79D7B54691348E5B8B + 46E16BC025246401DD4030E148D1D36789311ACBD263B45E5ADD5B99501BE35A + 9406F9D8501D717305DE1F96A4A9685B082F2742948F53720E9EA31DD4023331 + B7AD179F4075E5DAE330DB91DCE639A92F0056E368749D440C273BEDD280716F + 8B1CDB2634B67921F4AB527D2D728A91A31AB98A5653E1B50199FC9DBCD2E614 + B7FD5744601D64AD44CA5A959E7842B61A40C6DE3406F6728A614850EA969647 + DD3407CD2D4B7AD91AC97CB90448808D4C45436AD2B64AD4BD4B2923B7D0F7D0 + 0D6F775545E2C72E2DA5C5376B4C66251093A032F15973579F6D253ECA01CDD6 + 54B66F915703E7D2FC5714EC6D5B3E86D48C72F7C0580B241EFE9406739E9778 + 4635BDC53AF2655CBD1F20294E29B4BBACF5DF381B0A01BFCAEECDE0C7A4B8B5 + 3370B7F624149C2D0F30A1B91E7D48E9DD40790DD94FF161626EA6DC76DEB69E + 4B6A506D785A74BEC9CEDA927DA0E680B1C1C12B8CCCA5B652EBB1DB1CF54B5B + E5D3D55F34B2423719DA80D4D005005005005005005005005005005005005005 + 005005005005005005005005005005005009B8B64AE370E4E751AB5728A4149C + 14EBECE7391D33402AB5BAE4DBEDC23C94AA39B8428EFE10E76F09CB7A8293EA + 93ABBA8092C16D882ED734153CE2A0C847275BEEAB014D24EE92BC1DF3D45011 + 8B3424F14080E2E43ACAE097F0B92F6EB0E84F72C771E9D2808F8862C87B88DA + 88D2D6B5CD8EA31B5C97996D875AEAB406BA9D3BE2807D158658B8203B715BF3 + 4454B6B8AA713A54138CC8E4F50491D7A500AADE3F386FCABB2B7B6DB0A99803 + B9C7BFB47BD83A0A027E2896FBE59E1F80AC4CB9643ABFEE630FA459F6F41407 + 1C4B0DBB7F0B68865C69AB7F2D41B6D65BE6202825685A91BE1409CF9EF402AB + BDB5D6383EE2EBEBF9970B6F448E979C792CA494A7675CC295AB574E940538D3 + 5D47095E655B498987121A829716A7222414A167270A055BABC3F1A01DC67645 + B6F2DC182F3B3624A82A92843CB2E90E23D55051DC05F874CD009D1758D1E3C6 + BD7A47CA13C91E928765964B2EAC8416D31529394A751F86680D37154E2D59A4 + 988F84CD6171F484AF0A4AD6EA34EB1E07C0F514029B5F10CC9FC5118BAD2A3C + 57A3BB190CAF6FEB0D6871FF00BA469F750152C777E4F11BF24858877794F47E + 62C108D6D1F98C67BC8CA48F650146F1E8CC718C9652390F3CEC52DDC0B8B488 + C48D6E7883CCE983B500E6E37EB843BE5CA2444A9F12030CC6DF506A5BAD8D1B + 7D54A93B9FD5F3A029C99E27F055A233DCC5AA63CCC67020152C8657857FBD84 + 501665CFF95780E5AA5ED321A4B525392087992064E31D7AD00BED935C470C5E + E4DB7314A02435052E2D4B8FA400E3B9382356756DB6D403BB6ADC8178B6C48D + 25D950AE3114EAD2F2CBBA5480141C4956480ACE31D280938ACC27A240B817CA + A1B729B4BCB69E525B2D38AD0B24B4A1EA9EFCED40517A4AE45990F15BAF464D + C3950965E5B0A7A39EC8D6E820E32480A3DC280D0C1762DBAD05D7522336C05B + 8EA39C6468DC9FA45124E7FED402FE188AF4B75FE249C9D3227ED15B3FD8C51E + A27DAAEA6805B6C36EB83BF295DEECA6E7A1FF00F41E78650C143984B5CA3827 + 38DCF7D01D7112A241BEB9224487992F4352E2943AE6D25B504A528403A4EA04 + 76482280A9C473E77A5DB1CE5AFE51B742F4F75B424E94AC96B9815FA3A52B49 + F6D01371ACAB7C98168BA724CC65C772190A29D685A0A8A7B3DF903BB2280696 + 6B9C7B7708377093203EDB4DA97D95156352894300AB7CA7211BD013F0BDB643 + 4CBB74B80FFD4AE679AF7F868FECDA1FAA3FFBB500E1C8711D5A9C7586D6E2DB + 2CAD6A40254D1DCB6491BA4F874A0044388DAD0E36C3685B68E536A4A40296FE + C2481B27CA80E66C18B3E398D2DBE6B2A2094E48DD27237183D6808E45AA1499 + 5165B88F9E84A5A982925382E635E40EB9C77D012B30A2B0D38CB4D84B6EA94B + 713DC54BF58FBE80EE3C7622B088F1D01B65B18420740280E9C6DB75B534EA42 + DB58295A1432140EC4107A8340466245318C4E523D18A7416748D1A4F769E98A + 017C4E18B14290A9316225A75682DAB49560A15D469CE9FC280B51ED16C8BC93 + 1E336D98C14961413BA02C92A093D7724D0169684B88536B194AC14A87883B1A + 011C7E0BE198D25129986038D9D48CADC5242BAE74A944500C5567B6AD72D6B6 + 02D53F4095A8921CE5EC8C8271B7950129810F9B1DEE5242E18298E53D9D0950 + D25200C0C63BA80E1EB55BDE5B6B719054D3DE908C653877EDF648DE803E4AB7 + 72E435E8E8D130932401F4855D4A8F53404C98CC27944206584E8695D4A53B02 + 3277EE1402D6B85787D996DCC66121A7D93A9B520A9201FD5074FE14037A00A0 + 0A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00A00 + A00A021990E34E8CB8B291CD61DD9683919C1CF763C2808916B8289889C86F4C + 96D9F474AC13F459CE9C67077A0256A24665E79F69B08764105E58EAB291819F + 750018918CA4CC2D8F494A0B6977EB6827253ECCD01CBD021BF21994EB414FC6 + CF25CFAC9D5D718F1A0076042796B75C6505D71B2CA9EC61CE59EA9D63B58F7D + 01D43871A0C66E245406986469420770F7D01C376F86DCE76E096FFAD3E94B6E + 3B924E94F4032703DD404B223B12985C79080E32E0D2B42BA114042E5B60BB00 + 5B9C642E184A501939234A30523DD81407A8B6DBDB2E2911DB05F406DE3A476D + 091A4255E231B6F40456FB2DAEDAA5AA0C6430A77D729EB8F0DF381E428024D9 + 2CF2CAD522130E2DDF5D65B4EB3DFEBE357E340752AD36D968790FC742BD20A0 + BE40D2A596FD4D4A4E1474F76F40122D50A4CA8B2DC47CF4252D4C14929C1731 + AF2075CE3BE80E1BB25A9B650C08C82D36E99084AF2BC3A73DBEDE77DE80E9DB + 35A9E75F75E8ADB8B941297CA867584634E73E18A0246ADD09992F4A69A097E4 + 68E6ABC7940A51B7418071B501523F0EDA63B4D34864E88EF7A4B395A8E974FD + 6EB405855A2D8A6A4326337CB98AD72463E9159CE547BF7A03A6ADB6F654A537 + 1DB4A96D8656424654DA460255E231404502C96AB738B760C6430B7365293E1D + 7033D067B85013FC9F03D1844F466BD153BA58D09E5839D5B2318EBBD004B810 + E647F4694CA5E636F9B50DB6E9F0A01737C27C3ED31223B71025997A0BE80B5E + 15CA24A3EB77134039000181B01D0500BE4D86CD2E409526132EBE3EBA90093F + ADE3EFA02DAE2C65BA8796D214EB5B36E1482A467AE93D474A0225DB60B92D53 + 56D6A90B64C652C93BB24EA28C671D7CA80E3E47B5F2E337E8CD86E128391920 + 6036A073A92077E680E5CB1DA5C692C98C80D21E124369EC279A3EB14A700FBE + 80BF407FFFD9} + end + object img_Copyright: TImage + Left = 90 + Top = 144 + Width = 457 + Height = 26 + Picture.Data = { + 0A544A504547496D6167653B0D0000FFD8FFE000104A46494600010101004800 + 480000FFDB0043000B08080809080C09090C110B0A0B11140F0C0C0F14171212 + 121212171813141414141318161A1B1C1B1A162222242422222E2E2E2E2E3030 + 3030303030303030FFDB0043010C0C0C1010101711111718141314181E1B1C1C + 1B1E241E1E1F1E1E242923202020202329262824242428262B2B29292B2B3030 + 30303030303030303030303030FFC0001108001A01C903012200021101031101 + FFC4001B00000202030100000000000000000000000006040501030702FFC400 + 3F10000103030302040304060807000000000102030400051106122113311422 + 4151326171152342810724335291A116536272C1D1F0F125347492A2B1C2FFC4 + 0014010100000000000000000000000000000000FFC400141101000000000000 + 00000000000000000000FFDA000C03010002110311003F0063B8DD6DF6B683D3 + DF4B0DA8ED4956793EC00C9A8E8D45695252E1716D34BC6D75E65E65B39ED871 + D4253FCEAB353B697AED6569F4F522A5721F5B5FBEE32D6F6D38F5F5A936465F + 9D151719B30CB4CE672A8836786425783B4271B8948F29C9A0BD073C8ED58529 + 2949528ED4A7924F60297F46AD7F67498A5456D4198FC68CB573965B23673F2C + E2B46BE7568B2B6CEF2D332A4B4CC9707E169592A3FF0088A0928D6BA79D9EDC + 061F2F3CEAC36928428A3728E079BFC7B55FD43836CB6438EDB50D86D0D23050 + 4007E8ADDDC9F9D2F5C7C55CB588B509B26146621F5F11DCE9F51CDF8FCF857F + 2A06DA290DF9D72B9697BA32F485B73ACCFAD0EBCD1D85E4B59F8B691DC673F4 + A9DA76229D7E42EDA99506CCFC5096FACA56F53EBE7AECF50A880127BF62681B + AB05494E371033C0CFBD73C94F5DD5018D1CA5ABED3F1211E239F34447DEA1FC + FCBFF9C77AC6B88B6A8D7580F5C52E484AE33ADAC83E75ADB480D1E3033B95CD + 0745A293650B845B1E9B666A8F8A3708887B272AC6547693EBC000D66E91D779 + 957172648908B65AD41944389FB575CDA95A96A1EBF1E123FD1071AF21682A52 + 02815231B939E467B645254ABD411A3273513C4B021FEA49549C21E53BC653C1 + CEE19E7B54AB4CF8F3F53DC4472E21B9B09A585290A695E425BDC9DE01FC7C1C + 5036D148ED69D8C8D50AB639326BCD18024657215BD47AC5182A46DF2E3D29DD + 080842503B240033C9E3E7410EE778B6DA590F5C1F4B0957C20E4A95FDD4A724 + D47B56A6B2DDD65B83242DD48C96D40A158F7014067F2AA7D45174FF00DB71A4 + 4FEBCDB8AB6F84B7B585821073F0600C6724EE5579569EB95C2FF12F2B619B52 + 22104A10ADEF3B839C2F6008191C77340C93EEB6DB7252A9D25B8E17F0EF5609 + FA0EE6B746931E53297E338979A5FC2B41DC0FE6293E22912FF48F39125B4A84 + 689B590A19FEA8E467DF79FCAA258E5B96BB86A7811D3F75192F4B8CD0F85253 + 9F28C7BE523F2A07055FECA897E0953591273B7A7BC6777EEFD7E55EAEB7AB6D + A194BD7077A2859DA83B54AC9F6F28348D6F811647E8DA438A6D25E1D578B981 + BB7B6BCE73DF3B463E94CB62446D43A5EDEBB9B624803242FD56CA94DEE3EF9C + 7341981AE34ECF94988CBEA4BAE1DADF510A48528F600FF9D30D738D711E5C19 + 312E4DC08CC4480FA432A41F33BD969DE94EDC246D2314E1A6AFADDFAD899A94 + 7496145B791DC05A402707DB041A0917B98EC1B6BB2DA71A68B5B495BF9D9B77 + 00AF879CE3B7CEB5D9EFF6EBCA5C54152CF4B1BF7A148F8BE123230738AAAFD2 + 0BB1D3A7D4D3A4F51F75B4C703182E03BBCD9E36E01CD31444C94C66D328A14F + 848EA16814A33FD9049A0DD452DA6F53A26A536D9AB6A44799FF002818FDA304 + 0ECF239560FEF76FA0ECC9405468F71B7CA714D4694CBEE23E2436E25647D424 + 9A935CAE37D9CDDED0E210612635DDF2BB814A90CF482B298FBC71923DF181F5 + A0EA9452E5F4CCB7DD61DF12EA956F6C7879CC7E16DB70FED80F91C6EFA569D1 + C99B2953EF7216B0CDC9DDD1983D8368F2A578F72001F97D281867CD620437A6 + 48CF498495AF68C9C0F6143D3A3B30573CAB31D0D17B70F5401BB23EA2A2EA15 + 84586E2A3CFEAAF7079FC0715CD977D98EE92469FC2BC627CEAFFA34B7E281CF + D31F95075869C4BAD21D47C2E24293F43CD7BA4971E6A6689B548796F042151D + A73C3A9416A01623AC797957D3DEAD60A60C7D3935CB7B6FB4D943CE112B7F50 + AC378CFDE1CE3CA281868A4475520DB748142D4373F1C2CE4F2309241FA8156F + AF94EA34C495B44A5495347724E08FBC48EE281928AAFBABEE42B24A90325D62 + 3AD408FDE4A0F3FC694589972B3DA2D57C33DF9A89AE2133987D7BD1B5DC9FBB + CF2928C7A1A07EA28A2831B93BB6E46EF6F5ACD72CBFC38A8D4F708D11B70DD6 + 42D85DB96DA8A763ABFBC7544E40C57524EEDA3772AC727E7419A294753B503E + D960CEF18EB4E4759E8C52E1F3216800EC6FE4B3934D10DB69A88C34C829690D + A12DA559DC1200001CF39C506EA2ABEED6845D10DA17264460D2B77EACE74CAB + E4A383C551E86B730AB443BA175E71F5A169F3BAB28185A90404138FC340D95A + A44A8F1929548712D05A8213B8E32A570123DC9AD5747BA16D96FF006E932E2F + 3FDD49349739A537A5B4CF50952CCC88BDC793F7816BEFF9D03F56372776DC8D + DDF1EB8ACD72BBAC38E8D557287010E0BBBB223396D710A2036A5A7AD20AB9C6 + 39A0EA94514AD7D9F2AD7A8234A8E14EB2E4670CD601F89A6549F3B69FDF46F2 + 7E63340D34529E87436D39786982151FC5F51850EC5B753B907FEDC54DD6087D + CB63484757C3AA4B42774325CF0FCEFC04F3DF1417F45516985C26D8720C65CB + 3D23D40DCD4A92E25B73213B378076794E2AF68205E2D69B9C50D07151DF6961 + D8D211F136EA7B2B1EA3D08A5B8BA52E2C4B5C861A8B0A5B80A553D971D2005F + C4A6E294848511FDAC0F4A73A2822DB6DD1AD909A851461A68719E492792A27D + C9A2E76E8B7482EC1969DCCBC3071DC11C8503EE0D4AA281099D077D61F69B66 + F4B4C165416DA72BCA769C8C379D9FEBB530DD6C931DB847BBDB1E435708E82C + ABAC92A6DD6CFA2B6608C139E2AF28A0A089A6D4C5927C171E0ECCB9F59721FD + B84F55F046427D9353AC3064DBED11A0CA5A5C763A766E46769482767700FC38 + AB1A282AA15BDC55DA55DA5A70F1FD5A22739D91D1EBC719715E6FA63E750AFB + A63ED9BA467DE527C1B6CBAD3CDF3BFCE0ED5238C642B0698A8A0597F4D5C5CB + 5DBE12E6F897604C6E4759D1B72D35B80471939C1EE6A4DC34F48767AAE36AB8 + 2ED929D01323084BADBBB7849536AC0DC0719ABDA2813D7A46E62C776B609487 + DDB83E990DBCE651E6DC85385612158276FA55835669CCEA2877105063B70043 + 7B04EEDC92559C60646714C1450552AD4F7F4913784B83A42218AA6BF167A9D4 + 07E956B45140A379D3F7C5EA56EF5685B014967A67C495612AC293C0483E87F8 + D453A4755CA96DCC9D7BC3ACA82DBD895290923D91F769FE54F14502EDCB4F4C + 55D9ABE5ADF6D9B8251D3792EA4965E1DB9DA770FF006ADD63D3BE0153254E71 + 32A75C544C9581846DE7C8907D39ABCA28138690BBC68926CF067349B4CB5151 + EA2145F6D2AF892820E0E40F5A68B7C162DF099851C61A612109CF73EE4FCC9E + 6A4D1408D71D117ABC5C1D72E574FD4C38A31DB00A884678F2F910938E3229AA + CD668765829850C1D8095294A3952947BA8F6F6A9F450575F2C90EF704C39790 + 33BDB5A7E242C7008FE355768B25E6D9734F5EE2F5C612D952087301282929D8 + 08529449209E47B734CB450545874D5BAC6DABC30DEFB9FB590BE56AF97C87CA + ADE8A280A4591A57531626DB197618B75C652A4B8E1DE5D4EE2938C631F847F9 + D3D51415173B73EEDAD8B4C727A4E6C624BD9C14C748FBCFCD613B3F3AB46196 + A3B286194ED69A484213EC948C015EE8A0AFBEC27EE167970A390975F6CA1254 + 484F3EE403553174B251052EB89FF890B7180AE414E76ED07FC33ED4CD45027D + A34F5E91A545ADD5A61CD62407A3B9C3A13B16979278C8F8B352A141D5CE0971 + 6F1263BD19F8CE36D38D0C10E2B09048DA8E319A66A28155DD2739EB45AE1A27 + 785936BF3A56847510A707C27CDB4F1FE358569CD4171B4CAB65E2E695F55682 + D3ADB693E4479B0A4ED6FF00160F7F4EF4D74502F5AED5A85B79F66F33D170B7 + 3CCA9B08D810ADCAC03BB09CFC39FC550D8D2570088B6D9331B76CF05EEBB490 + 821F5E09296D673B768CFA7FB36D1405145140A770D1AE5C2ED3E7AE4064BFD1 + 5C375BCF519759404E4F6E3BFAD33C643CDC7690FB9D6792901C77013BD4072A + C0E064D6DA2828AFB6BBD4894C4DB34B6E2C865B5B4A0EA3705A5650AC670AC7 + 281E952AC49BDA222937B5B6E4A0E1D8A67E12DE138F41CE73E95674501555A6 + ED4F59ED0D5B9E703A592BC2D3C0C296563BFD6AD68A0D3323225C47E239F048 + 6D4D2B1ECB0527FF0074A6BD2DA8259B7B536647F0F69536584B495E5D0D91E6 + 733D95B538E334E545014A333463D2EE7709E64861D7D6CBB05E6F3BDA5B4929 + F376E0E7D0D375141E194B886508757D57129016E600DCA039560703355D3EDB + 25FBC5B2E0CA921B87D74BE85672A4BC900638F429AB4A282A6D16266D32A6AE + 31C4698A438967FAB50C8581F23C62A4DDE1489D056C4692B86FF0A6DE47B8E7 + 0AC63293EB5368A0ADB5C196D3AF4DB8388726C80842BA4086D0DB79DA846EC9 + EEA24FD6ACA8A283FFD9} + end + object img_ThanksJuFo: TImage + Left = 240 + Top = 254 + Width = 150 + Height = 20 + Picture.Data = { + 0A544A504547496D616765CE040000FFD8FFE000104A46494600010101004800 + 480000FFDB0043000B08080809080C09090C110B0A0B11140F0C0C0F14171212 + 121212171813141414141318161A1B1C1B1A162222242422222E2E2E2E2E3030 + 3030303030303030FFDB0043010C0C0C1010101711111718141314181E1B1C1C + 1B1E241E1E1F1E1E242923202020202329262824242428262B2B29292B2B3030 + 30303030303030303030303030FFC00011080014009603012200021101031101 + FFC4001A000100030101010000000000000000000000040506030102FFC4002F + 1000010304010204040603000000000000010203040005111213213106144151 + 153261712223244281916372A1FFC40014010100000000000000000000000000 + 000000FFC40014110100000000000000000000000000000000FFDA000C030100 + 02110311003F00D24CB9DBE016C4D90DC72F1D5BE4504EC7F9FBD73917AB4C59 + 298B225B4D485E30DA9601EBDB3ED9F4CD55F891B6D12A3CA5077AB6E32A5B6C + 264A7AEAB4A342158528A700E31EFE950E4C17E5DE61C79FB329B8C148B82594 + A421D7993BF1A96527A753D8E7141A14DE6D4B9BE41129B54CCA93C01595E520 + 950C7D00AF5776B6B735301725B12D7F2B1B7E3F7EDE9540ABC356CF10CC6E64 + 875965E7DBE26783669CDD8651B074249F9876AF8B6498D6CB8AA04BB6BEBB8B + F256AF3E9643897038B252E72770024E08F4FEE8342F5DEDCC36975C78042DFF + 002A15D4FE76C51A1C0E9820D77725C669F6A338E252F48DB85B3DD7A0CAB5FB + 0AC34F8F32725AB4B6848F3173B92829CD86350E949E83FC848EBED531CB93EA + 4F87AF33224957021FF3450CA9450A5238B623D028F5FB506CEAB1BF11D89D7D + 31DA9CCADE528212DA5592544E0015361CA6E6456E535B06DE4EC9D86A707DC1 + AAC8EC867C4F278DBD1A72132760309D92EBA31ED9C114161F108864371C3997 + 1E2E2500038CB38E419F423348B7087339FCBB9BF95754C3DD08D5C6FE61D71D + AB136F72622E7165BCBD93F159AC046BA0CBA8560E4EC704FD7FBA91E0E727B5 + 35B75D6FF4F7769E7494051D5D6DF5AB2E1206321CC7F02835BF13B7EF1D1CE9 + 2A9892B8C075E44A46CA29C77C0EB5CD8BCDB1F86A9CDC8479642775ACFE1D52 + 7B1505608CFA66B2B6A853112AD129082B8CDC896952159CC75A83CD11F442F0 + 93F43F7A85E1B8AD9F0FCF8AB88EAE6250D3E5E6C6E5E4A485B484EDD3F01463 + 4F5FAE6837F126459AC26444752FB2AECB41C8A8B2EFD6684F98F2E634CBC3BA + 16A008C8C8CFF15C3C3EE3AE32F9CED1B93F4EE299E02BC805C3C6027A6E4F52 + 33DEBE6F4C8132D521B6F6589A02D491FB54CBA9CA88F4ED4137E2F6BE565932 + 9A0EC8485B2D9580A5A55F29093D7AFA54CAC5F889B4B33AEC2532A77E270DB4 + 5B5696CAFF003DBDC068148383B90AAD6C54C8442652F1DA425B48709F5584F5 + FF00B419F77C5376135B8ADD95D1CCB534DADF703495A920ABA1293D309CD5CA + AE6D30C2953B566432C192FB0957214B69CEC41C276EDED59BF8EAAEC6DD11C6 + F86F4C4F429F8801FCB436541C5927F6F19EFF005AEBE219022CFB8171A71C76 + 65B931A0A50852B915B3DC89C8040C6C9273E941A98CFA24C76A4379D1E425C4 + E7BE1432334A8F680536984950C111DA041FF414A0994A52814A52814A52814A + 52814A52814C52940A52940A52941E6A33B63AFBD7B4A50294A507FFD9} + end + object img_Easteregg: TImage + Left = 365 + Top = 256 + Width = 13 + Height = 16 + Cursor = crArrow + OnClick = img_EastereggClick + end + object btn_close: TBitBtn + Left = 480 + Top = 300 + Width = 150 + Height = 33 + TabOrder = 0 + OnClick = btn_CloseClick + Glyph.Data = { + 66070000424D660700000000000036040000280000002D000000110000000100 + 08000000000030030000120B0000120B00000001000011000000000000009098 + A80051555E0024262A00757B88003F424900121214006C727E0033333300878E + 9D00636873001B1C1F0008090A005A5F69007E85930036393F00484C54000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 010101010101010990A801010101010101010101010101010101010101010101 + 0101010101010101010101010101010101010101070E010990A8010101010E02 + 10100A0101010101090A1003000101010708030F090101010902100401010104 + 020F0B000005010990A8010101050000000000060401020B00000000000E010D + 000000000609010E0600000C04010103000000000003010990A801010F000000 + 000000000B010300000000000C04090C00080E0600100108000B070C03010103 + 000B0303100D010990A80107000000000000000C0E0107000007090101010D00 + 00040105000B010506100105000E0103000101010101010990A8010F00000B0A + 010E050A0101070000010101010105000001011000000101040E010700070103 + 000401010101010990A8010C000B090101010101010107000001010101010300 + 0B0101100000010500000006000E0103000000030101010990A80100000A0101 + 0101010101010700000701010101030003010108000C01000C100F030A010103 + 000F030D0101010990A80100000D010101010101010107000007010101010500 + 0601010C000F070003010101010101030B0101010101010990A8010B000B0101 + 01010101010107000007010101010A0000100F000C0E0900000A080B09010E0B + 030101010101010990A80110000003090101010101010A000007010101010700 + 0000000C0401010B000000000A011000000000000101010990A801090600000C + 0F10060A01011000030401010101010410100D09010101040C00060A01010703 + 030300000101010990A801010406000000000010010101010101010101010101 + 01010101010101010101010101010101010101010101010990A801010109100C + 0000000301010101010101010101010101010101010101010101010101010101 + 010101010101010990A801010101010104070709010101010101010101010101 + 01010101010101010101010101010101010101010101010990A8010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 010101010101010990A8} + end + object btn_Editor: TBitBtn + Left = 10 + Top = 300 + Width = 150 + Height = 33 + TabOrder = 1 + OnClick = btn_EditorClick + Glyph.Data = { + 42090000424D420900000000000036040000280000004A000000110000000100 + 0800000000000C050000120B0000120B00000001000011000000000000009098 + A800484C54001B1C1F006C727E00333333005A5F6900757B880008090A003F42 + 49007E85930024262A0036393F0051555E0012121400878E9D00636873000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 01010101040D0401010101010101010101010101010101010101010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 0101010101010101010101040D0C030000000201010101010101010101020B07 + 01010101060C070101010101060B0B02010101070B0B06010410010101010101 + 0101010101010104030701010101010101010101010102000000000000000C01 + 010103080C0A01010100000401010101000004010101010C0000000005010104 + 0000020C00080F0101010101010101010101010D000804010101010101010101 + 010102000000000000000B010101000000080701010000040101010100000401 + 0101040000020700000401040000030000081001010101010101010101010105 + 000000060101010101010101010102000504040701010101010100000800080F + 01000004010101010000040101010C000801010300090104000000000E0F0101 + 0101010101010101010101070C0800000C010101010101010101020002010101 + 01010101010A00000F0E000D010000040101010100000101010103000B01010B + 000B010400000000040101010101010B0B0B0800000E0101010F060000090101 + 01010101010102000C0401010101010101040003010D000B0100000A01010101 + 00000101010100000901010B000B010400000000060101010101010000000000 + 000C0101010A0B0008070101010101010101020000000000010101010104000B + 0104000B01000001010101010000010101010000020101080005010A00000E00 + 000A01010101010602020202050401010D080000070101010101010101010200 + 0E00000001010101010D00020106000C01000001010101010008010101010300 + 0C010700000601010000010B0002010101010101010101010101010102000006 + 01010101010101010101020002010F04010101010F0B00060F03000401000001 + 010B020C00030701010109000806030003010101000001050002010101010101 + 0101010101010101010602010101010101010101010102000401010101010101 + 0C00000E0E00090101000001010000000000000000010200000000030F010108 + 00000E0000060101010101010101010101010101010101010101010101010101 + 010A0B000D040F0101010101090300000310010101080001010B090C000B050B + 0B0101100202100101010100000000000B010101010101010101010101010101 + 0101010101010101010101010102000000000000050101010101010101010101 + 01010101010101010101010101010101010101010101010A1002021001010101 + 01010101010101010101010101010101010101010101010101060B0E00000000 + 0201010101010101010101010101010101010101010101010101010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 010101010101010101010A040A01010101010101010101010101010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 0101010101010101010101010101010101010101010101010101010101010101 + 010101010101} + end + object License: TMemo + Left = 125 + Top = 184 + Width = 393 + Height = 49 + BevelInner = bvNone + BevelOuter = bvNone + Color = clInfoBk + Lines.Strings = ( + + 'This program is free software; you can redistribute it and/or mo' + + 'dify 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 program is distributed in the hope that it will be useful, ' + + 'but WITHOUT ANY ' + + 'WARRANTY; without even the implied warranty of MERCHANTABILITY o' + + 'r ' + 'FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public ' + 'License for more details.' + '' + + 'You should have received a copy of the GNU General Public Licens' + + 'e along ' + + 'with this program; if not, write to the Free Software Foundation' + + ', Inc., 51 Franklin ' + 'Street, Fifth Floor, Boston, MA 02110-1301 USA.') + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 2 + end +end diff -r 000000000000 -r ef71164288c1 unit_Start.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Start.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,116 @@ +unit unit_Start; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, jpeg, ExtCtrls, StdCtrls, shellapi, ComCtrls, Buttons; + +type + Tform_Start = class(TForm) + img_Logo: TImage; + img_Copyright: TImage; + img_ThanksJuFo: TImage; + btn_close: TBitBtn; + btn_Editor: TBitBtn; + img_Easteregg: TImage; + License: TMemo; + procedure FormCreate(Sender: TObject); + procedure btn_CloseClick(Sender: TObject); + procedure btn_EditorClick(Sender: TObject); + procedure img_EastereggClick(Sender: TObject); + private + + public + + end; + +var + form_Start: Tform_Start; + + const ini = 'cdar.ini'; + welcome = 'welcome.jpg'; + enter = 'enter.jpg'; + + procedure shellexec(const Zielpfad :string); + +implementation//############################################################################### +uses unit_Welcome, unit_Editor, modul_allgemein, unit_Easteregg; +{$R *.dfm}//################################################################################### + +//------------------------------------------------------------------------------ Form Create +procedure Tform_Start.FormCreate(Sender: TObject); +begin + // init + form_start.Color := rgb(192,192,192); + + // command line parameters + if lowercase(paramstr(1)) = 'editor' then // start editor + begin + application.CreateForm(tform_editor, form_editor); + form_editor.Show; + end + else if lowercase(paramstr(1)) = 'welcome' then // show welcome screen + begin + application.CreateForm(tform_welcome, form_welcome); + form_welcome.Show; + end + else if lowercase(paramstr(1)) = 'marmaro' then // easteregg ... bit boring in open source ;-) + begin + application.CreateForm(tform_easteregg, form_easteregg); + form_easteregg.show; + form_Start.hide; + end + else if lowercase(paramstr(1)) = '' then // about window + begin + // do nothing special + end + else // direct call + begin + shellexec(paramstr(1)); + application.Terminate; + end; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ kill +procedure Tform_Start.btn_CloseClick(Sender: TObject); +begin + application.Terminate; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ editor +procedure Tform_Start.btn_EditorClick(Sender: TObject); +begin + application.CreateForm(tform_editor, form_editor); + form_Editor.show; + form_Start.hide; +end;//-------------------------------------------------------------------------- + +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +//------------------------------------------------------------------------------ easteregg +procedure Tform_Start.img_EastereggClick(Sender: TObject); +begin + application.CreateForm(tform_easteregg, form_easteregg); + form_Easteregg.show; + form_Start.hide; +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ shellexec +procedure shellexec(const Zielpfad :string); +begin + if zielpfad <> '..\-' then // '..\-' means 'no action' + begin + try + ShellExecute(application.Handle, 'open', pchar(zielpfad), nil, nil, sw_shownormal); + except + showmessage('could not execute file or open dir'); + end; + end; + application.Terminate; +end;//-------------------------------------------------------------------------- + +end.//######################################################################################### diff -r 000000000000 -r ef71164288c1 unit_Welcome.dfm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Welcome.dfm Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,71 @@ +object form_Welcome: Tform_Welcome + Left = 204 + Top = 165 + BorderIcons = [biSystemMenu] + BorderStyle = bsSingle + Caption = + 'CD-Autorunner 2.3 http://prog.marmaro.de/cdar/ ' + ClientHeight = 450 + ClientWidth = 600 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + Icon.Data = { + 0000010001002020100000000000E80200001600000028000000200000004000 + 0000010004000000000080020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BBBBBBBB000000000000000000000BBBBBBBBBBBBB0000000000 + 0000000BBBBBBBBBBB0000000000000000000BBBBBBBBBB000BBBB0000000000 + 0000BBBBBBBBB00BBBBBB00000000000000BBBBBBBB00BBBBBB0000000000000 + 000BBBBBBB0BBBBBB00000000000000000BBBBBBB0BBBBB00000000000000000 + 00BBBBBB0BBBBB0000000000000000000BBBBBB0BBBB00000000000000000000 + 0BBBBB0BBBB0000000000000000000000BBBB0BBBB0000000000000000000000 + BBBB0BBBB00000000000000000000000BBBB0BBB000000000000000000000000 + BBB0BBB0000000000000000000000000BBB0BB00000000000000000000000000 + BB0BBB00000000000000000000000000BB0BB000000000000000000000000000 + 0B0BB0000000000000000000000000000B0B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FFFFFFFFFFFFFFFFFFFFFFFF00FFFFF8003FFFE0001FFF80000FFF00000FFE00 + 001FFC00007FFC0001FFF80007FFF8001FFFF0003FFFF000FFFFF001FFFFE003 + FFFFE007FFFFE00FFFFFE01FFFFFE01FFFFFE03FFFFFE03FFFFFF07FFFFFF07F + FFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFCFFFFFFFFFFFFFFFFFFFFFF} + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 13 + object img_Background: TImage + Left = 0 + Top = 0 + Width = 600 + Height = 450 + Stretch = True + end + object img_Enter: TImage + Left = 0 + Top = 0 + Width = 150 + Height = 40 + Cursor = crHandPoint + AutoSize = True + OnClick = img_EnterClick + end + object timer_delay: TTimer + Enabled = False + Interval = 3000 + OnTimer = timer_delayTimer + Left = 520 + Top = 20 + end +end diff -r 000000000000 -r ef71164288c1 unit_Welcome.pas --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Welcome.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,126 @@ +unit unit_Welcome; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ExtCtrls, shellapi, jpeg; + +type + Tform_Welcome = class(TForm) + img_Background: TImage; + img_Enter: TImage; + timer_delay: TTimer; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure img_EnterClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure timer_delayTimer(Sender: TObject); + private + + public + Zielpfad : string; + end; + +var + form_Welcome: Tform_Welcome; + +implementation//############################################################################### +uses unit_Start, modul_allgemein; +{$R *.dfm}//################################################################################### + +// Forwardings + procedure ClickEnter(const x_enter:string; const y_enter:string; const zielpfad:string); forward; + procedure Time(const delay :string; const zielpfad:string); forward; + procedure None(const zielpfad:string); forward; + +//------------------------------------------------------------------------------ Form create +procedure Tform_Welcome.FormCreate(Sender: TObject); + var txtfile : textfile; + showscreentill : string; + delay : string; + x_enter : string; + y_enter : string; + //Zielpfad : string; + begin + // Form immer im Vordergrund + SetWindowPos(handle, HWND_TopMost, left, top, width, height, SWP_ShowWindow); + + //Daten aus ini laden + assignfile (txtfile, fktcmd(0) + ini); + reset (txtfile); + readln (txtfile, showscreentill); + readln (txtfile, delay); + readln (txtfile, x_enter); + readln (txtfile, y_enter); + readln (txtfile, zielpfad); + closefile (txtfile); + //Fallunterscheidung + if showscreentill = 'click' then + begin + clickenter(x_enter, y_enter, zielpfad); + end + else if showscreentill = 'time' then + begin + time(delay,zielpfad); + end + else if showscreentill = 'none' then + begin + none(zielpfad); + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Form close +procedure Tform_Welcome.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + // ShellExec trotzdem ausführen + shellexec(zielpfad); +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ Klick Enter +procedure Tform_Welcome.img_EnterClick(Sender: TObject); +begin + shellexec(zielpfad); +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ Delay vorbei +procedure Tform_Welcome.timer_delayTimer(Sender: TObject); +begin + shellexec(Zielpfad); +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ Klick ini +procedure ClickEnter(const x_enter:string; const y_enter:string; const zielpfad:string); +begin + form_welcome.img_Enter.Picture.LoadFromFile(fktcmd(0) + enter); + // Nur wenn das Enter-Bild <> 600x450 dann HG-Bild + if form_welcome.img_enter.Width <> form_welcome.img_Background.Width then + begin + if form_welcome.img_enter.Height <> form_welcome.img_Background.Height then + begin + form_welcome.img_Background.picture.loadfromfile(fktcmd(0) + welcome); + end + end; + form_welcome.img_Enter.Left := strtoint(x_enter); + form_welcome.img_Enter.top := strtoint(y_enter); +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ Time ini +procedure Time(const delay :string; const zielpfad:string); +begin + form_welcome.img_Background.picture.loadfromfile(fktcmd(0) + welcome); + form_welcome.img_Enter.Enabled := false; + form_welcome.timer_delay.Interval := strtoint(delay) * 1000; + form_welcome.timer_delay.Enabled := true; +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ Direktaufruf +procedure None(const zielpfad:string); +begin + shellexec(zielpfad); +end;//-------------------------------------------------------------------------- + +end.//#########################################################################################