From 6de12fccc1565825012b313d7924dd46190add21 Mon Sep 17 00:00:00 2001 From: Dennis07 Date: Wed, 24 Sep 2014 23:50:17 +0200 Subject: [PATCH] Version 1.0 DEV 1.09a Signed-off-by: Dennis07 --- Example/TSplashScreen/pExample.identcache | Bin 221 -> 317 bytes Example/TSplashScreen/uMain.dfm | 24 + Example/TSplashScreen/uMain.pas | 54 +- Information/Readme.txt | 6 +- Information/Statistics.txt | 2 +- Package/Delphi_XE5/LINA_D_XE5.dproj.local | 47 +- Package/Delphi_XE5/LINA_D_XE5.identcache | Bin 1248 -> 1151 bytes Source/Compiled/uAdvCtrls.dcu | Bin 18400 -> 18400 bytes Source/Compiled/uBase.dcu | Bin 3698 -> 3698 bytes Source/Compiled/uCrypt.dcu | Bin 10761 -> 10761 bytes Source/Compiled/uFileCtrls.dcu | Bin 6713 -> 6713 bytes Source/Compiled/uFileTools.dcu | Bin 65315 -> 65315 bytes Source/Compiled/uFrmCtrls.dcu | Bin 40330 -> 55887 bytes Source/Compiled/uLocalMgr.dcu | Bin 6627 -> 6627 bytes Source/Compiled/uScriptMgr.dcu | Bin 31549 -> 31549 bytes Source/Compiled/uSysCtrls.dcu | Bin 19155 -> 19155 bytes Source/Compiled/uSysTools.dcu | Bin 207038 -> 208174 bytes Source/Compiled/uVirtObj.dcu | Bin 4857 -> 4857 bytes Source/Compiled/uWebCtrls.dcu | Bin 12619 -> 12538 bytes Source/uBase.pas | 2 +- Source/uFrmCtrls.pas | 976 ++++++++++++++++------ Source/uSysTools.pas | 40 +- Source/uWebCtrls.pas | 10 +- 23 files changed, 882 insertions(+), 279 deletions(-) diff --git a/Example/TSplashScreen/pExample.identcache b/Example/TSplashScreen/pExample.identcache index 4458f7a808aff27089131873388ca3c5d80689c0..6d21ad4c1c516f1291a543dc7d23ac95fb26f6c0 100644 GIT binary patch delta 46 wcmcc1xR;5QnSp^Jcw&LQY;b;QQF3ZbsasL5b4gK7v0g!9F;ETyCNkau06I_%r2qf` delta 9 QcmdnXbeEBlX=36X01zz$ZvX%Q diff --git a/Example/TSplashScreen/uMain.dfm b/Example/TSplashScreen/uMain.dfm index 55b506f..4aeb3a7 100644 --- a/Example/TSplashScreen/uMain.dfm +++ b/Example/TSplashScreen/uMain.dfm @@ -14,6 +14,7 @@ object fmMain: TfmMain Font.Style = [] OldCreateOrder = False Position = poScreenCenter + OnCreate = FormCreate OnShow = FormShow PixelsPerInch = 96 TextHeight = 13 @@ -123,13 +124,22 @@ object fmMain: TfmMain Width = 201 Height = 103 Center = True + Stretch = True end object edImage: TEdit Left = 16 Top = 129 Width = 169 Height = 21 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False TabOrder = 0 + OnChange = edImageChange + OnExit = edImageExit end object btImage: TButton Left = 191 @@ -138,6 +148,7 @@ object fmMain: TfmMain Height = 21 Caption = '...' TabOrder = 1 + OnClick = btImageClick end end object pnButtons: TPanel @@ -179,7 +190,20 @@ object fmMain: TfmMain end end object SplashScreen: TSplashScreen + OnTimer = SplashScreenTimer + SplashForm.BorderStyle = bsDialog + SplashForm.BorderIcons = [biSystemMenu] + SplashProgressBar.Position = 60 + SplashTimer.Enabled = True + SplashTimer.Interval = 500 Left = 368 Top = 186 end + object OpenPictureDialog: TOpenPictureDialog + Filter = 'Alle (*.bmp; *.gif; *.jpg; *.jpeg)|*.bmp;*.gif;*.jpg;*.jpeg' + Options = [ofReadOnly, ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofNoTestFileCreate, ofNoNetworkButton, ofNoDereferenceLinks, ofDontAddToRecent] + OptionsEx = [ofExNoPlacesBar] + Left = 336 + Top = 186 + end end diff --git a/Example/TSplashScreen/uMain.pas b/Example/TSplashScreen/uMain.pas index a520de8..b27dfc6 100644 --- a/Example/TSplashScreen/uMain.pas +++ b/Example/TSplashScreen/uMain.pas @@ -1,11 +1,15 @@ unit uMain; +{$IF CompilerVersion <> 26.0} + {$MESSAGE ERROR 'This example was written to compile under Delphi XE5'} +{$ENDIF} + interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, uFrmCtrls, uBase, uSysTools, - Vcl.ExtCtrls; + Vcl.ExtCtrls, Vcl.Imaging.jpeg, Vcl.ExtDlgs; type TfmMain = class(TForm) @@ -29,6 +33,7 @@ type laAnimation: TLabel; coAnimation: TComboBox; SplashScreen: TSplashScreen; + OpenPictureDialog: TOpenPictureDialog; procedure btShowClick(Sender: TObject); procedure SplashScreenTimer(Sender: TObject); procedure FormShow(Sender: TObject); @@ -37,6 +42,10 @@ type procedure edAlphaChange(Sender: TObject); procedure edCaptionChange(Sender: TObject); procedure cbAlphaClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure btImageClick(Sender: TObject); + procedure edImageExit(Sender: TObject); + procedure edImageChange(Sender: TObject); private { Private-Deklarationen } public @@ -50,6 +59,17 @@ implementation {$R *.dfm} +procedure TfmMain.btImageClick(Sender: TObject); +begin + if OpenPictureDialog.Execute = True then + begin + if FileExists(OpenPictureDialog.FileName) = True then + begin + edImage.Text := OpenPictureDialog.FileName; + end; + end; +end; + procedure TfmMain.btShowClick(Sender: TObject); begin SplashScreen.SplashForm.Width := StrToInt(edWidth.Text); @@ -110,6 +130,27 @@ begin end; end; +procedure TfmMain.edImageChange(Sender: TObject); +begin + if edImage.Text = 'Background.jpg' then + begin + edImage.Font.Color := clGray; + end else + begin + edImage.Font.Color := clWindowText; + end; +end; + +procedure TfmMain.edImageExit(Sender: TObject); +begin + try + imImage.Picture.LoadFromFile(edImage.Text); + except + edImage.Text := 'Background.jpg'; + imImage.Picture.LoadFromFile(edImage.Text); + end; +end; + procedure TfmMain.edWidthChange(Sender: TObject); begin if StrIsInt(edWidth.Text) = False then @@ -119,6 +160,12 @@ begin end; end; +procedure TfmMain.FormCreate(Sender: TObject); +begin + SplashScreen.SplashImage.Picture.LoadFromFile('Background.jpg'); + edImage.Text := 'Background.jpg'; +end; + procedure TfmMain.FormShow(Sender: TObject); begin edWidth.Text := IntToStr(SplashScreen.SplashForm.Width); @@ -145,11 +192,10 @@ begin SplashScreen.SplashProgressBar.Position := SplashScreen.SplashProgressBar.Position + 10; end else begin + SplashScreen.SplashProgressBar.Position := 0; SplashScreen.Hide; - SplashScreen.SplashTimer.Enabled := False; - SplashScreen.ApplyChanges; end; - //showmessage(inttostr(splashscreen.SplashProgressBar.Position)); + //SplashScreen.ApplyChanges; end; end. diff --git a/Information/Readme.txt b/Information/Readme.txt index b73c20f..05549b9 100644 --- a/Information/Readme.txt +++ b/Information/Readme.txt @@ -13,4 +13,8 @@ https://bitbucket.org/Dennis07/lina-components/wiki/Home Please note that the code of Lina Components is available under Mozilla Public License (MPL) 2.0, see "Information\License.txt" for -more details. \ No newline at end of file +more details. +The public changes done since version 1.00 are listed in the +"Information\Changelog.txt" file and for a list of all contributors +and supporters please have a look at the "Information\Credits.txt" +file. \ No newline at end of file diff --git a/Information/Statistics.txt b/Information/Statistics.txt index 15338bf..93beeb8 100644 --- a/Information/Statistics.txt +++ b/Information/Statistics.txt @@ -1,4 +1,4 @@ These statistics cover the official repository of Lina Components. -Total lines of code (LoC): 4800+ +Total lines of code (LoC): 5300+ Total visual components (VC): 13 \ No newline at end of file diff --git a/Package/Delphi_XE5/LINA_D_XE5.dproj.local b/Package/Delphi_XE5/LINA_D_XE5.dproj.local index 2339bf1..fbc382b 100644 --- a/Package/Delphi_XE5/LINA_D_XE5.dproj.local +++ b/Package/Delphi_XE5/LINA_D_XE5.dproj.local @@ -1,44 +1,47 @@  - 1899.12.30 00:00:00.000.932,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\uFileCtrls.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas + 1899.12.30 00:00:00.000.204,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\uFileCtrls.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uFileCtrls.pas 1899.12.30 00:00:00.000.325,=dbrtl.dcp 1899.12.30 00:00:00.000.508,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uBase.pas + 1899.12.30 00:00:00.000.650,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uBattery.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uSysCtrls.pas 1899.12.30 00:00:00.000.576,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uSysTools.pas - 1899.12.30 00:00:00.000.592,=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uFileTools.pas - 1899.12.30 00:00:00.000.412,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas + 1899.12.30 00:00:00.000.791,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas 1899.12.30 00:00:00.000.675,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas - 1899.12.30 00:00:00.000.809,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Resource\Lina.rc 1899.12.30 00:00:00.000.681,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Resource\Lina.rc= - 1899.12.30 00:00:00.000.650,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uSysCtrls.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uBattery.pas - 1899.12.30 00:00:00.000.414,C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uLinaTest.pas= + 1899.12.30 00:00:00.000.592,=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uFileTools.pas + 1899.12.30 00:00:00.000.809,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Resource\Lina.rc 1899.12.30 00:00:00.000.621,=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uLinaTest.pas + 1899.12.30 00:00:00.000.318,=vcl.dcp + 1899.12.30 00:00:00.000.414,C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uLinaTest.pas= 1899.12.30 00:00:00.000.577,=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uBattery.pas - 1899.12.30 00:00:00.000.633,C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\LINA_D_XE5.dproj=C:\Users\Dennis\Documents\RAD Studio\Projekte\Package1.dproj - 1899.12.30 00:00:00.000.204,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uFileCtrls.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\uFileCtrls.pas + 1899.12.30 00:00:00.000.556,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uLocalMgr.pas 1899.12.30 00:00:00.000.648,=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uScriptMgr.pas 1899.12.30 00:00:00.000.518,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uBattery.pas - 1899.12.30 00:00:00.000.556,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uLocalMgr.pas - 1899.12.30 00:00:00.000.318,=vcl.dcp - 1899.12.30 00:00:00.000.196,=rtl.dcp - 1899.12.30 00:00:00.000.686,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\uSysTools.pas - 1899.12.30 00:00:00.000.555,=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uBase.pas + 1899.12.30 00:00:00.000.537,C:\Users\Dennis G\Documents\CodeQuality.htm=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Untitled1.htm + 1899.12.30 00:00:00.000.143,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Untitled1.htm + 1899.12.30 00:00:00.000.896,C:\Users\Dennis G\Documents\CodeQuality.htm= + 1899.12.30 00:00:00.000.837,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas 1899.12.30 00:00:00.000.971,=IndySystem.dcp - 1899.12.30 00:00:00.000.672,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\uFrmCtrls.pas + 1899.12.30 00:00:00.000.196,=rtl.dcp + 1899.12.30 00:00:00.000.555,=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uBase.pas + 1899.12.30 00:00:00.000.686,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\uSysTools.pas + 1899.12.30 00:00:00.000.584,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uVirtObj.pas 1899.12.30 00:00:00.000.118,=IndyCore.dcp 1899.12.30 00:00:00.000.535,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uFileTools.pas 1899.12.30 00:00:00.000.633,=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\uLocalMgr.pas - 1899.12.30 00:00:00.000.582,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uWebCtrls.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas 1899.12.30 00:00:00.000.525,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uCrypt.pas - 1899.12.30 00:00:00.000.546,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uFrmCtrls.pas - 1899.12.30 00:00:00.000.411,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uAdvCtrls.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas - 1899.12.30 00:00:00.000.791,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas - 1899.12.30 00:00:00.000.837,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas + 1899.12.30 00:00:00.000.672,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\uFrmCtrls.pas + 1899.12.30 00:00:00.000.932,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\uFileCtrls.pas 1899.12.30 00:00:00.000.566,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uScriptMgr.pas + 1899.12.30 00:00:00.000.412,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas + 1899.12.30 00:00:00.000.411,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uAdvCtrls.pas + 1899.12.30 00:00:00.000.582,C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Package\Delphi_XE5\Unit1.pas=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uWebCtrls.pas 1899.12.30 00:00:00.000.045,=IndyProtocols.dcp - 1899.12.30 00:00:00.000.584,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uVirtObj.pas - 1899.12.30 00:00:00.000.799,=PascalScript_Core_D19.dcp + 1899.12.30 00:00:00.000.633,C:\Users\Dennis\Documents\RAD Studio\Projekte\Package1.dproj=C:\Users\Dennis\Documents\RAD Studio\Projekte\LinaComponents\LINA_D_XE5.dproj 1899.12.30 00:00:00.000.857,=PascalScript_Core_D19.dcp + 1899.12.30 00:00:00.000.546,=C:\Users\Dennis G\Documents\RAD Studio\Projekte\LinaComponents\Source\uFrmCtrls.pas + 1899.12.30 00:00:00.000.799,=PascalScript_Core_D19.dcp @@ -48,9 +51,9 @@ + - diff --git a/Package/Delphi_XE5/LINA_D_XE5.identcache b/Package/Delphi_XE5/LINA_D_XE5.identcache index e050cfeaffb669dfaf01afc7db6c1aae3f6cfd26..7bab036e3f1ed8368ee89efd530160f95efa3474 100644 GIT binary patch delta 18 ZcmaFB`JaQ4XCq@Q^W+8=kIC#THvu|p1?B(% delta 99 zcmey*@qm+&cOzpgb3jP4RZKxqetJ=2u0mR7PHM4&Muml$W=v{sQeshZVoGXJeoRqf zib8QoX-Z~(jG>X9K}>OeX;E@&Oi@WrOnGKrOn7EqVnL=JkV?rfpUlS+Ie8iLO#sz; BBr5;_ diff --git a/Source/Compiled/uAdvCtrls.dcu b/Source/Compiled/uAdvCtrls.dcu index 1d86414720c5d054dc302728644e7f8cedffa001..4c025a3b40988084524aff1206262648c4363cc6 100644 GIT binary patch delta 22 dcmaFR&-kF9k=vV@LF$1!1B2i`i;dh@-2qpc2U-9C delta 22 dcmaFR&-kF9k=vV@LF$1!14HjV(~aC$-2qzf2h#um diff --git a/Source/Compiled/uBase.dcu b/Source/Compiled/uBase.dcu index df96a6712c5f33a1e0f453a5dee964384d6767cd..ae0699ca4fd76a7008f6453fe9a80a54d3982ba4 100644 GIT binary patch delta 27 jcmew)^GSx=o0&nXh>w9mV4uZAZUyFRdo4EVx$pr1ZIlPm delta 27 jcmew)^GSx=o0&nXh>wAxXP@arZUyFZQ?)nhx$pr1a?c12 diff --git a/Source/Compiled/uCrypt.dcu b/Source/Compiled/uCrypt.dcu index 045aef37a8544c638800c5e0aca347fe002f9a19..e13fc50b6ea8ac6404163bdd2e9b7288a39d4d32 100644 GIT binary patch delta 20 bcmeAS=?vlaW@eD$)M8)|*k`ek`=2HNGrk2% delta 20 bcmeAS=?vlaW@eD$)M8-h-DkRy`=2HNHyQ=R diff --git a/Source/Compiled/uFileCtrls.dcu b/Source/Compiled/uFileCtrls.dcu index 87c0fc068737cb46919db579b29d27c2a6987df2..e21feb7f0884ec2c08bec4275387b50b1dbed97b 100644 GIT binary patch delta 20 bcmdmKveSgyo0&n%Qi_2=aG%9SZapagHYNnD delta 20 bcmdmKveSgyo0&n%Qi_40cc1A-ZapagIeP^q diff --git a/Source/Compiled/uFileTools.dcu b/Source/Compiled/uFileTools.dcu index e019cabbd81e029a0de637721877286ccfe2e7c2..acc6b3180fc0a164b987ad9cd656ca69d016c2f4 100644 GIT binary patch delta 22 ecmZ4dk9qMwW^Qk01}WwL3=9JMEH-jW{09JCPzSdF delta 22 ecmZ4dk9qMwW^Qk01}WwL3=BQ{OgC~%{09JFr3f$p diff --git a/Source/Compiled/uFrmCtrls.dcu b/Source/Compiled/uFrmCtrls.dcu index 612475bc9f825e634282fbc64eefdf9aac219407..c1ebc8da56511ae2f88cd0733f2e48445f584645 100644 GIT binary patch literal 55887 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 literal 40330 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 diff --git a/Source/Compiled/uLocalMgr.dcu b/Source/Compiled/uLocalMgr.dcu index 900135a19c7c0a33520c59b8a1e32a3a527585cd..a644164dde62afd7e8a2ed78b3f25e9258b323de 100644 GIT binary patch delta 20 bcmaEC{MeY=o0&oCu_Ob7z&?wO+&3fvM9v0J delta 20 bcmaEC{MeY=o0&oCu_OaS?>^Iw+&3fvNGb-& diff --git a/Source/Compiled/uScriptMgr.dcu b/Source/Compiled/uScriptMgr.dcu index b8620feb984a4c62a6df587e4d733cef1230323f..a20674ce11f5abbf1ac2bff03058cb5b79f63b12 100644 GIT binary patch delta 22 dcmdn{jdAZcMs9Cr1}WQW1_r@>78|*ZssUT22Lu2B delta 22 dcmdn{jdAZcMs9Cr1}WQW28P~!rW?79ssUd52Ymnl diff --git a/Source/Compiled/uSysCtrls.dcu b/Source/Compiled/uSysCtrls.dcu index ef9c1baa9f6ca7778ce2ae789f9edf7b735528db..ac3ec22979202dc17f304317324e5644b75cb7d1 100644 GIT binary patch delta 22 ecmcaSmGSaaMs9Cr2C2(l3=9JMEH-kV@B#o;;0HGV delta 22 ecmcaSmGSaaMs9Cr2C2(l3=BQ{OgD0$@B#o?H3zT& diff --git a/Source/Compiled/uSysTools.dcu b/Source/Compiled/uSysTools.dcu index adda1ec9383ea80bd333c677cc5e67027a331dd1..1c669471ee9f34f40e14fded8d6f907bd5687dde 100644 GIT binary patch literal 208174 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


qM>u#~K@TTY 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 JZz6N(e*hCA@5ulF literal 207038 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 z%0D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%0D%(r9ZS8V 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 diff --git a/Source/Compiled/uVirtObj.dcu b/Source/Compiled/uVirtObj.dcu index 7491828f3e41d2e2486b85cdef6e71f401972345..323d4240a4cdc0ef7b252ef14e61a173d1e55ba4 100644 GIT binary patch delta 20 bcmeyV`cswLo0&oCrw{{!;696u-0y?{M)C%J delta 20 bcmeyV`cswLo0&oCrw{`}?>^Iw-0y?{N=F9w diff --git a/Source/Compiled/uWebCtrls.dcu b/Source/Compiled/uWebCtrls.dcu index 5805dc8c2cae17d3dfdada96e2592e83a2343bd0..2c5eb6f4eafd0bbbc98e344b490c08b2c56f703d 100644 GIT binary patch delta 3283 zcmZuz4Qx}_6+Z9WbDd`=B#yD2#IsX73c)ckjUy6~Y;+_*O4dL_lTbhrbY_AR<-i=+>;Ov`#A$l`_#*>q^&d4H9(cKF2_% zMY`uZ-*?VE_rCM)ea;_RZ$;A|5#YI13Shsm@KAbCG`zm>Y(=p+*CpbX_+VSP-ngT` zd7z`Se+b}P{%dV(D^FvsuDfFZ0G_-rgJ~-Vmvlz^`(ypgc)F#deR)$;1C!U<$}>9J z8yo8%-4g3&VCiC8d3s0tlAf+DJ>9WxRqm~}a=Eo8+8<;8owlrU>sDT>si&t?mHUga z)AoMu3)Gsm6hhXfr9D6C?(B)Sj{y9>bnp3dvGgv~dX4vIozaGk-I=-c?}p>e#)-^% z+Ng0Q(??$^`e~+58#DAQKYgxfNmf9cFji(2S^mWo292maZ2U6IsZAPhX3evFaZmKv zbF?X=%w9}4)x;m$%ZjEk4M4B`Ht4#$m-!FJ1{(T$p6ZMBtA>58QeU?Rq*b^ztMQS& zkp7dBTr9badD%hwuaX|m4#^|>zOx=%ZxG#lv-(3~Ga+ww`xo@WGR&!H*J?qert_-D@vJrZ)v z;pC>(P+z~Un7uWN9|oP*JwK~#4a3H<+4sb??1!d zGpR(XO&&DcZq7L*aN48$%Xct=so776XunNVrk(pdjMU(XJX-5EnIA`{wJs$%+m=L-;SScR5I zXy<3b- z^F=Cs`^DV25Iu;qBths6Y+Fn|PK%?ESb>4(H2Gby2c zVl?Dz#zocV&gX2F8XCpEMVj^8Q@#(a#_G8Nt(psH8O(`q)M9Gwdf=|k_lo9V2>4b}F;=kehA{hK%;llSDZ=Zq z!^3Wl7gPHS>U2`444o1>*>!U06lK>=`_mO&wHt$fZiyj@e;aPNCiR44^e(8`TZ2n!xDa;3f}v|yIV+Y<-1to z7{w58*Gof1jxnAV!2*X>6jHw3bX|grCf$H2qr#*c7QDD}8N7~44k&k9$WbRM*o}K> zPXX`;hW&iA4?~6A?Hb-wJ@08bU0tlEPv8Rb*Kkhe{~1oGMh7h8QO9Eik5xQ6(8l#V z#3)~?fiCVtIZM@;DML2XUB>R_8NcqHyyBj_D(P18y!+glghltNDOXkFV#+m(Wk4^k zkqZ{WFz%&cbjvQ|TF5Oc(Jp(9=}>;0Gi5JU$cL)r;#^r%BA5DQXq;31vNl65_rNH6 z<&R3_%T9iYw);jVy=Rku_S5fd@^AGtiA6NUV;Y@wnUxAz|2&NGW*Q3QO0WEtS3YKk z2@J_5)kd!z##~udC|AcbnJUR6*Espq+vIkeT<0+bwfzB5kI1s^71b)&o1b)y3 z2uCAWfxyjKh`_z6LO5BjI{0FxvM()C_T?_Vi}>r00(%rxbMIX$8G_MghF4>}he;jkm>F@rH$AOk8VaI4`cXGh7naHZV+x z@j`|xV!S8`6-iiV!p9j&$TZ;}RSM!_yws%QWhQ*8n{eJ-)i*%LI! zB*n^}rHDz&mHmVknWS3T+q6u9lq*bam9i1J)+E?=;#0Y zunTwj`BxQt(Vxq}-y}@}@DG4V$Ix$Qb;4w2lMHq{P9r)HupPSt6qrX^LYHkd?X64E-OGuo*$GHqtG({`*KwCBEMjh!ho z_k8F3&Ub&_efPfQe&D0kNzX8FKjR13^MScHsf2yJrR;dcY?k`6Ufte07+xF-zi{;D zi%x!zMG_*zou=NpX`p?uCp0h&@R0txIy=oo(i;1E1_5C8V-BKSR9qYi3=9MZh*9^1 zp00+rw&g^A-DxKGbhWlNEn6S#BOvK)r!X{_W1FRwWZ1`9+^A%L?4pRG-INgQ0G!*5AuZpqCg7^b#@dkhNJZb9nhjYJ&9+ zr`92NIGQqZkOq3y0cDxU9{?}>4sbmI$ENKPum`1b%laqdTmANT2$K> zuO-yitnMFD@7k9~`VM(5BS(zVV~@)F8E&zMwrP*daeANHOWEFdFJ2!zF}7`5bk;tW zt?i3fZ1vCghu77;5<5SYhiJ_Ga)Z+_4#XWPF-Kol+_dN>nGVV0&aA`<)OJO+!}7Az zYoE08BQxFRX38^ZnMt(H+f!CyOnNen$h4IokDC&ghlA?_;UI9h-NCdsquQ@#O7jw8 zhwe0jXAHG;7S&G8l*$s91P2Dg{hO%vU>r5Sh-%~U5tE({4lWP(zZ?z@3;@FI6sAR^ z+L@X1H|C~3R&Ne$RF)jea$bI!`OQe7l~2S+OC)z&aO0q|`K{6?@sh1I@Jg_)zrH6F zRMje`cH&CBnjEXf&XTG(TlLAAx<6rApW1h@K_yS4O&Z?M_A`K4V3DYHRc>+R$_uV6 zdBWv153xg3jMr|)2NAKOU<04c>b66f;;virKQ4FDD4U>D1`wqiXJomO_OX4IDXM)X zYqHj%R(tYT);ghqbbG5b{p1So)mhGaw^f%XPq(jmgRtviS=Xo`=M{fT+az0yiwcHG z{9)ZcEYt6&h`?X(Jb8L$M@QGFea!))d+P4V;o{jctvE}bE&g`?CJvB^z%$X{IcO)0 zwe>nr(7CSjK53L>Mb_$kjm|@rK-Y_WW#rR&cNutzdU2S$b$(H&%){Lte$jwD((`cl zjGp&MFC@JXch2aAk94|=d^Y-kZX%z96_mTcPq`nnsp(bRr1>bJX1ChA@%5GH{B4~l z>-?b3?K*ep+^KVy&d168GoA0$`8)DoB}OEw^D&Zs>f!nM{QWY1u9ROY;Q1vy*T-|q zxM9%hOKHs&w7vz8rioAYzgX%RLmw^4!$*o7d`Ai^;JJ1y&0#cVEG=Z^ynxaO zIsA+!S2BUeQAHJ%ZuB{tS%sBu&jqr5usg~B%L~Cl`m#S6o37pT3TJog+ zpXP)*bU-7uW@;_e+Nt%Tjr;uQ=9Gw|wXlKqVIgUCm@0fWD{cHbZI&&*%%$xyp^9ve zr7bbF=IhQXo$0L7W@Si*AzUHmFMv_p&PUNDHpqiMm#9L!7?P)axe;=TA*>LKDn)g+ zs4W#s4BIS%lV2dE zLNvV%}xLi0@5jMH}LV5=a&IPXClAc6ej6MxTGf_9usN1~P+3ALC_tVCWbEs4;j zL-5gELnx=4g)pD)5kdvs8iYl3XAr9C;2<=ZhzLtfTEE>t`CPL+!9 z)~I-N16@Wu_UFiu!e2fZRd8Y<_9}euPj$-kL8FSNn^ip9qT;!B6)$wCc=1IQKMtsP zDX8M7n^b(T#fsZh)NqFafqN7z#JvhyaG!z>+)ogJ03J{@h=&yP;9&*5ctpVlJgxvv zsd$)Oa^W;P&fZTTIK^(PCKzWox(Lp&8{Guw*|`FO33je11{E<_V8LIKV~}dW?Mej^ zcCO5#=gKYkn{L4wYg#v_cX^ZLiBBwgMa8?U+f9}fe$~>htLWu7V{j`5UsUiM@i;dvvQWh-USp9u6{mTl0wG!~ ztzAXGc+ny^R?%WR#GQJAUJ+2*ka)eR7Y+J{5I5i!gMK)12#st4`bcR4fPMiiI*x{& x)Cr4~PZHSeI2D6wCE78C88iUq#GsH_9sDt@L!2o$Uy)A diff --git a/Source/uBase.pas b/Source/uBase.pas index 4ad182b..504bbf4 100644 --- a/Source/uBase.pas +++ b/Source/uBase.pas @@ -6,7 +6,7 @@ unit uBase; /// (c) 2014 Dennis Göhlert a.o. /// ////////////////////////////////////// - {$IF CompilerVersion < 18.0} + {$IF CompilerVersion < 18.5} { Unter früheren Delphi-Versionen als 2007 gab es (offiziell) noch keine Unterstützung für Windows-Vista-spezifische funktionen wie die TaskDialog- Komponente oder einige Funktionen. diff --git a/Source/uFrmCtrls.pas b/Source/uFrmCtrls.pas index cbd1c09..bb5efff 100644 --- a/Source/uFrmCtrls.pas +++ b/Source/uFrmCtrls.pas @@ -21,7 +21,6 @@ type TSplashScreenAnimation = (ssaNone,ssaShallow); TProgressBarManagerMode = (pmmNone,pmmBattery,pmmDownload); TListBoxManagerMode = (lmmNone,lmmEdit,lmmComboBox); - TParamReferenceType = (prtAutomatic,prtChar,prtString,prtInteger,prtFloat); type { Ereignisse } @@ -37,131 +36,182 @@ type { Hauptklassen } { TSplash... } - TSplashForm = class + TSplashObject = class(TPersistent) private { Private-Deklarationen } - FBorderStyle: TFormBorderStyle; - FBorderIcons: TBorderIcons; - FLeft: Integer; - FTop: Integer; - FWidth: Integer; - FHeight: Integer; - FAlign: TAlign; - FAlphaBlend: Boolean; - FAlphaBlendValue: Byte; - FCaption: TCaption; - FColor: TColor; + SplashScreenVisible: Boolean; + public + { Public-Deklarationen } + constructor Create; + destructor Destroy; override; + end; + + TSplashForm = class(TSplashObject) + private + { Private-Deklarationen } + FormObject: TForm; + { Methoden } + function GetBorderStyle: TFormBorderStyle; + procedure SetBorderStyle(Value: TFormBorderStyle); + function GetBorderIcons: TBorderIcons; + procedure SetBorderIcons(Value: TBorderIcons); + function GetLeft: Integer; + procedure SetLeft(Value: Integer); + function GetTop: Integer; + procedure SetTop(Value: Integer); + function GetWidth: Integer; + procedure SetWidth(Value: Integer); + function GetHeight: Integer; + procedure SetHeight(Value: Integer); + function GetAlign: TAlign; + procedure SetAlign(Value: TAlign); + function GetAlphaBlend: Boolean; + procedure SetAlphaBlend(Value: Boolean); + function GetAlphaBlendValue: Byte; + procedure SetAlphaBlendValue(Value: Byte); + function GetCaption: TCaption; + procedure SetCaption(Value: TCaption); + function GetColor: TColor; + procedure SetColor(Value: TColor); + function GetEnabled: Boolean; + procedure SetEnabled(Value: Boolean); + function GetWindowState: TWindowState; + procedure SetWindowState(Value: TWindowState); + function GetPosition: TPosition; + procedure SetPosition(Value: TPosition); + function GetCursor: TCursor; + procedure SetCursor(Value: TCursor); + public + { Public-Deklarationen } + constructor Create; + destructor Destroy; override; + published + { Published-Deklarationen } + property BorderStyle: TFormBorderStyle read GetBorderStyle write SetBorderStyle default bsNone; + property BorderIcons: TBorderIcons read GetBorderIcons write SetBorderIcons default []; + property Left: Integer read GetLeft write SetLeft default 0; + property Top: Integer read GetTop write SetTop default 0; + property Width: Integer read GetWidth write SetWidth default 600; + property Height: Integer read GetHeight write SetHeight default 400; + property Align: TAlign read GetAlign write SetAlign default alNone; + property AlphaBlend: Boolean read GetAlphaBlend write SetAlphaBlend default False; + property AlphaBlendValue: Byte read GetAlphaBlendValue write SetAlphaBlendValue default 255; + property Caption: TCaption read GetCaption write SetCaption; + property Color: TColor read GetColor write SetColor default clBtnFace; + property Enabled: Boolean read GetEnabled write SetEnabled default True; + property WindowState: TWindowState read GetWindowState write SetWindowState default wsNormal; + property Position: TPosition read GetPosition write SetPosition default poScreenCenter; + property Cursor: TCursor read GetCursor write SetCursor default crHourGlass; + end; + + TSplashProgressBar = class(TSplashObject) + private + { Private-Deklarationen } + ProgressBarObject: TProgressBar; + { Methoden } + function GetLeft: Integer; + procedure SetLeft(Value: Integer); + function GetTop: Integer; + procedure SetTop(Value: Integer); + function GetWidth: Integer; + procedure SetWidth(Value: Integer); + function GetHeight: Integer; + procedure SetHeight(Value: Integer); + function GetVisible: Boolean; + procedure SetVisible(Value: Boolean); + function GetPosition: Integer; + procedure SetPosition(Value: Integer); + function GetMax: Integer; + procedure SetMax(Value: Integer); + function GetMin: Integer; + procedure SetMin(Value: Integer); + function GetAlign: TAlign; + procedure SetAlign(Value: TAlign); + function GetBackgroundColor: TColor; + procedure SetBackgroundColor(Value: TColor); + function GetBarColor: TColor; + procedure SetBarColor(Value: TColor); + function GetState: TProgressBarState; + procedure SetState(Value: TProgressBarState); + function GetStyle: TProgressBarStyle; + procedure SetStyle(Value: TProgressBarStyle); + function GetSmooth: Boolean; + procedure SetSmooth(Value: Boolean); + function GetSmoothReverse: Boolean; + procedure SetSmoothReverse(Value: Boolean); + function GetMarqueeInterval: Integer; + procedure SetMarqueeInterval(Value: Integer); + function GetStep: Integer; + procedure SetStep(Value: Integer); + public + { Public-Deklarationen } + constructor Create; + destructor Destroy; override; + published + { Published-Deklarationen } + property Left: Integer read GetLeft write SetLeft default 250; + property Top: Integer read GetTop write SetTop default 250; + property Width: Integer read GetWidth write SetWidth default 100; + property Height: Integer read GetHeight write SetHeight default 50; + property Visible: Boolean read GetVisible write SetVisible default True; + property Position: Integer read GetPosition write SetPosition default 0; + property Max: Integer read GetMax write SetMax default 100; + property Min: Integer read GetMin write SetMin default 0; + property Align: TAlign read GetAlign write SetAlign default alNone; + property BackgroundColor: TColor read GetBackgroundColor write SetBackgroundColor default clDefault; + property BarColor: TColor read GetBarColor write SetBarColor default clDefault; + property State: TProgressBarState read GetState write SetState default pbsNormal; + property Style: TProgressBarStyle read GetStyle write SetStyle default pbstNormal; + property Smooth: Boolean read GetSmooth write SetSmooth default False; + property SmoothReverse: Boolean read GetSmoothReverse write SetSmoothReverse default False; + property MarqueeInterval: Integer read GetMarqueeInterval write SetMarqueeInterval default 10; + property Step: Integer read GetStep write SetStep default 10; + end; + + TSplashImage = class(TSplashObject) + private + { Private-Deklarationen } + ImageObject: TImage; + { Methoden } + function GetVisible: Boolean; + procedure SetVisible(Value: Boolean); + function GetTransparent: Boolean; + procedure SetTransparent(Value: Boolean); + function GetPicture: TPicture; + procedure SetPicture(Value: TPicture); + public + { Public-Deklarationen } + constructor Create; + destructor Destroy; override; + published + { Published-Deklarationen } + property Visible: Boolean read GetVisible write SetVisible default True; + property Transparent: Boolean read GetTransparent write SetTransparent default False; + property Picture: TPicture read GetPicture write SetPicture; + end; + + TSplashTimer = class(TSplashObject) + private + { Private-Deklarationen } + TimerObject: TTimer; FEnabled: Boolean; - FWindowState: TWindowState; - FPosition: TPosition; - FCursor: TCursor; + { Methoden } + procedure SetEnabled(Value: Boolean); + function GetInterval: Cardinal; + procedure SetInterval(Value: Cardinal); public { Public-Deklarationen } constructor Create; destructor Destroy; override; published { Published-Deklarationen } - property BorderStyle: TFormBorderStyle read FBorderStyle write FBorderStyle default bsNone; - property BorderIcons: TBorderIcons read FBorderIcons write FBorderIcons default []; - property Left: Integer read FLeft write FLeft default 0; - property Top: Integer read FTop write FTop default 0; - property Width: Integer read FWidth write FWidth default 600; - property Height: Integer read FHeight write FHeight default 400; - property Align: TAlign read FAlign write FAlign default alNone; - property AlphaBlend: Boolean read FAlphaBlend write FAlphaBlend default False; - property AlphaBlendValue: Byte read FAlphaBlendValue write FAlphaBlendValue default 255; - property Caption: TCaption read FCaption write FCaption; - property Color: TColor read FColor write FColor default clBtnFace; - property Enabled: Boolean read FEnabled write FEnabled default True; - property WindowState: TWindowState read FWindowState write FWindowState default wsNormal; - property Position: TPosition read FPosition write FPosition default poScreenCenter; - property Cursor: TCursor read FCursor write FCursor default crHourGlass; - end; - - TSplashProgressBar = class - private - { Private-Deklarationen } - FLeft: Integer; - FTop: Integer; - FWidth: Integer; - FHeight: Integer; - FVisible: Boolean; - FPosition: Integer; - FMin: Integer; - FMax: Integer; - FAlign: TAlign; - FBackgroundColor: TColor; - FBarColor: TColor; - FState: TProgressBarState; - FStyle: TProgressBarStyle; - FSmooth: Boolean; - FSmoothReverse: Boolean; - FMarqueeInterval: Integer; - FStep: Integer; - public - { Public-Deklarationen } - constructor Create; - destructor Destroy; override; - published - { Published-Deklarationen } - property Left: Integer read FLeft write FLeft default 250; - property Top: Integer read FTop write FTop default 250; - property Width: Integer read FWidth write FWidth default 100; - property Height: Integer read FHeight write FHeight default 50; - property Visible: Boolean read FVisible write FVisible default True; - property Position: Integer read FPosition write FPosition default 0; - property Max: Integer read FMax write FMax default 100; - property Min: Integer read FMin write FMin default 0; - property Align: TAlign read FAlign write FAlign default alNone; - property BackgroundColor: TColor read FBackgroundColor write FBackgroundColor default clDefault; - property BarColor: TColor read FBarColor write FBarColor default clDefault; - property State: TProgressBarState read FState write FState default pbsNormal; - property Style: TProgressBarStyle read FStyle write FStyle default pbstNormal; - property Smooth: Boolean read FSmooth write FSmooth default False; - property SmoothReverse: Boolean read FSmoothReverse write FSmoothReverse default False; - property MarqueeInterval: Integer read FMarqueeInterval write FMarqueeInterval default 10; - property Step: Integer read FStep write FStep default 10; - end; - - TSplashImage = class - private - { Private-Deklarationen } - FVisible: Boolean; - FTransparent: Boolean; - FPicture: TPicture; - public - { Public-Deklarationen } - constructor Create; - destructor Destroy; override; - published - { Published-Deklarationen } - property Visible: Boolean read FVisible write FVisible default True; - property Transparent: Boolean read FTransparent write FTransparent default False; - property Picture: TPicture read FPicture write FPicture; - end; - - TSplashTimer = class - private - { Private-Deklarationen } - FEnabled: Boolean; - FInterval: Cardinal; - public - { Public-Deklarationen } - constructor Create; - destructor Destroy; - published - { Published-Deklarationen } - property Enabled: Boolean read FEnabled write FEnabled default False; - property Interval: Cardinal read FInterval write FInterval default 1000; + property Enabled: Boolean read FEnabled write SetEnabled default False; + property Interval: Cardinal read GetInterval write SetInterval default 1000; end; TSplashScreen = class(TComponent) private { Private-Deklarationen } - FormObject: TForm; - ProgressBarObject: TProgressBar; - ImageObject: TImage; - TimerObject: TTimer; AnimationTimerShow: TTimer; AnimationTimerHide: TTimer; FAbout: TComponentAbout; @@ -184,11 +234,15 @@ type FTimerEvent: TSplashTimerEvent; { Methoden } procedure SetVisible(Value: Boolean); + procedure SetSplashForm(Value: TSplashForm); + procedure SetSplashProgressBar(Value: TSplashProgressBar); + procedure SetSplashImage(Value: TSplashImage); + procedure SetSplashTimer(Value: TSplashTimer); + procedure AnimationTimerShowTimer(Sender: TObject); + procedure AnimationTimerHideTimer(Sender: TObject); procedure FormObjectShow(Sender: TObject); procedure FormObjectHide(Sender: TObject); procedure TimerObjectTimer(Sender: TObject); - procedure AnimationTimerShowTimer(Sender: TObject); - procedure AnimationTimerHideTimer(Sender: TObject); protected { Protected-Deklarationen } procedure Refresh; //Vorberaitung (benutzerdefinierte Werte) @@ -212,10 +266,10 @@ type property OnTimer: TSplashTimerEvent read FTimerEvent write FTimerEvent; { Eigenschaften } property About: TComponentAbout read FAbout; - property SplashForm: TSplashForm read FSplashForm write FSplashForm; - property SplashProgressBar: TSplashProgressBar read FSplashProgressBar write FSplashProgressBar; - property SplashImage: TSplashImage read FSplashImage write FSplashImage; - property SplashTimer: TSplashTimer read FSplashTimer write FSplashTimer; + property SplashForm: TSplashForm read FSplashForm write SetSplashForm; + property SplashProgressBar: TSplashProgressBar read FSplashProgressBar write SetSplashProgressBar; + property SplashImage: TSplashImage read FSplashImage write SetSplashImage; + property SplashTimer: TSplashTimer read FSplashTimer write SetSplashTimer; property DisplayTime: Cardinal read FDisplayTime write FDisplayTime default 2000; property AutoShow: Boolean read FAutoShow write FAutoShow default False; property Mode: TSplashScreenMode read FMode write FMode default ssmDefault; @@ -235,7 +289,7 @@ type { Public-Deklarationen } constructor Create(AOwner: TComponent); override; destructor Destroy; override; - procedure Update; + procedure Update; virtual; published { Published-Deklarationen } { Ereignisse } @@ -260,7 +314,7 @@ type { Public-Deklarationen } constructor Create(AOwner: TComponent); override; destructor Destroy; override; - procedure Update; + procedure Update; override; published { Published-Deklarationen } property Target: TProgressBar read FTarget write SetTarget; @@ -288,7 +342,7 @@ type { Public-Deklarationen } constructor Create(AOwner: TComponent); override; destructor Destroy; override; - procedure Update; + procedure Update; override; procedure LoadList; published { Published-Deklarationen } @@ -300,7 +354,7 @@ type end; { TParam... } - TParamFormat = class + TParamFormat = class(TPersistent) private { Private-Deklarationen } FPrefix: String; @@ -317,22 +371,22 @@ type property Seperator: String read FSeperator write FSeperator; end; - TParamReference = class + TParamReference = class(TPersistent) private { Private-Deklarationen } - FParamType: TParamReferenceType; - FDefaultValue: Variant; - FConnector: Pointer; + FDefaultValue: String; + FConnector: PString; FFormat: TParamFormat; public { Public-Deklarationen } - constructor Create; + constructor Create(AConnector: PString); destructor Destroy; override; + procedure Update; + { Eigenschaften } + property Connector: PString read FConnector write FConnector; published { Published-Deklarationen } - property ParamType: TParamReferenceType read FParamType write FParamType default prtAutomatic; - property DefaultValue: Variant read FDefaultValue write FDefaultValue; - // property Connector: Pointer read FConnector write FConnector; + property DefaultValue: String read FDefaultValue write FDefaultValue; property Format: TParamFormat read FFormat write FFormat; end; @@ -340,15 +394,14 @@ type private { Private-Deklarationen } FAbout: TComponentAbout; - // FReferences: TObjectList; public { Public-Deklarationen } constructor Create(AOwner: TComponent); override; destructor Destroy; override; - // property References [Index]: TParamReference read FReferences write FReferences; published { Published-Deklarationen } property About: TComponentAbout read FAbout; + end; procedure Register; @@ -382,66 +435,460 @@ begin RegisterComponents(ComponentsPage,[TSplashScreen,TProgressBarManager,TListBoxManager]); end; +{ ---------------------------------------------------------------------------- + TSplashObject + ---------------------------------------------------------------------------- } + +constructor TSplashObject.Create; +begin + inherited; + SplashScreenVisible := False; +end; + +destructor TSplashObject.Destroy; +begin + //... + inherited; +end; + { ---------------------------------------------------------------------------- TSplashForm ---------------------------------------------------------------------------- } constructor TSplashForm.Create; begin - //... + FormObject := TForm.Create(nil); + FormObject.Visible := False; end; destructor TSplashForm.Destroy; begin - //... + FormObject.Close; + FormObject.Free; inherited; end; +function TSplashForm.GetBorderStyle: TFormBorderStyle; +begin + Result := FormObject.BorderStyle; +end; + +procedure TSplashForm.SetBorderStyle(Value: TFormBorderStyle); +begin + FormObject.BorderStyle := Value; +end; + +function TSplashForm.GetBorderIcons: TBorderIcons; +begin + Result := FormObject.BorderIcons; +end; + +procedure TSplashForm.SetBorderIcons(Value: TBorderIcons); +begin + FormObject.BorderIcons := Value; +end; + +function TSplashForm.GetLeft: Integer; +begin + Result := FormObject.Left; +end; + +procedure TSplashForm.SetLeft(Value: Integer); +begin + FormObject.Left := Value; +end; + +function TSplashForm.GetTop: Integer; +begin + Result := FormObject.Top; +end; + +procedure TSplashForm.SetTop(Value: Integer); +begin + FormObject.Top := Value; +end; + +function TSplashForm.GetWidth: Integer; +begin + Result := FormObject.Width; +end; + +procedure TSplashForm.SetWidth(Value: Integer); +begin + FormObject.Width := Value; +end; + +function TSplashForm.GetHeight: Integer; +begin + Result := FormObject.Height; +end; + +procedure TSplashForm.SetHeight(Value: Integer); +begin + FormObject.Height := Value; +end; + +function TSplashForm.GetAlign: TAlign; +begin + Result := FormObject.Align; +end; + +procedure TSplashForm.SetAlign(Value: TAlign); +begin + FormObject.Align := Value; +end; + +function TSplashForm.GetAlphaBlend: Boolean; +begin + Result := FormObject.AlphaBlend; +end; + +procedure TSplashForm.SetAlphaBlend(Value: Boolean); +begin + FormObject.AlphaBlend := Value; +end; + +function TSplashForm.GetAlphaBlendValue: Byte; +begin + Result := FormObject.AlphaBlendValue; +end; + +procedure TSplashForm.SetAlphaBlendValue(Value: Byte); +begin + FormObject.AlphaBlendValue := Value; +end; + +function TSplashForm.GetCaption: TCaption; +begin + Result := FormObject.Caption; +end; + +procedure TSplashForm.SetCaption(Value: TCaption); +begin + FormObject.Caption := Value; +end; + +function TSplashForm.GetColor: TColor; +begin + Result := FormObject.Color; +end; + +procedure TSplashForm.SetColor(Value: TColor); +begin + FormObject.Color := Value; +end; + +function TSplashForm.GetEnabled: Boolean; +begin + Result := FormObject.Enabled; +end; + +procedure TSplashForm.SetEnabled(Value: Boolean); +begin + FormObject.Enabled := Value; +end; + +function TSplashForm.GetWindowState: TWindowState; +begin + Result := FormObject.WindowState; +end; + +procedure TSplashForm.SetWindowState(Value: TWindowState); +begin + FormObject.WindowState := Value; +end; + +function TSplashForm.GetPosition: TPosition; +begin + Result := FormObject.Position; +end; + +procedure TSplashForm.SetPosition(Value: TPosition); +begin + FormObject.Position := Value; +end; + +function TSplashForm.GetCursor: TCursor; +begin + Result := FormObject.Cursor; +end; + +procedure TSplashForm.SetCursor(Value: TCursor); +begin + FormObject.Cursor := Value; +end; + { ---------------------------------------------------------------------------- TSplashProgressBar ---------------------------------------------------------------------------- } constructor TSplashProgressBar.Create; begin - //... + ProgressBarObject := TProgressBar.Create(nil); end; destructor TSplashProgressBar.Destroy; begin - //... + ProgressBarObject.Free; inherited; end; +function TSplashProgressBar.GetLeft: Integer; +begin + Result := ProgressBarObject.Left; +end; + +procedure TSplashProgressBar.SetLeft(Value: Integer); +begin + ProgressBarObject.Left := Value; +end; + +function TSplashProgressBar.GetTop: Integer; +begin + Result := ProgressBarObject.Top; +end; + +procedure TSplashProgressBar.SetTop(Value: Integer); +begin + ProgressBarObject.Top := Value; +end; + +function TSplashProgressBar.GetWidth: Integer; +begin + Result := ProgressBarObject.Width; +end; + +procedure TSplashProgressBar.SetWidth(Value: Integer); +begin + ProgressBarObject.Width := Value; +end; + +function TSplashProgressBar.GetHeight: Integer; +begin + Result := ProgressBarObject.Height; +end; + +procedure TSplashProgressBar.SetHeight(Value: Integer); +begin + ProgressBarObject.Height := Value; +end; + +function TSplashProgressBar.GetVisible: Boolean; +begin + Result := ProgressBarObject.Visible; +end; + +procedure TSplashProgressBar.SetVisible(Value: Boolean); +begin + ProgressBarObject.Visible := Value; +end; + +function TSplashProgressBar.GetPosition: Integer; +begin + Result := ProgressBarObject.Position; +end; + +procedure TSplashProgressBar.SetPosition(Value: Integer); +begin + ProgressBarObject.Position := Value; +end; + +function TSplashProgressBar.GetMax: Integer; +begin + Result := ProgressBarObject.Max; +end; + +procedure TSplashProgressBar.SetMax(Value: Integer); +begin + ProgressBarObject.Max := Value; +end; + +function TSplashProgressBar.GetMin: Integer; +begin + Result := ProgressBarObject.Min; +end; + +procedure TSplashProgressBar.SetMin(Value: Integer); +begin + ProgressBarObject.Min := Value; +end; + +function TSplashProgressBar.GetAlign: TAlign; +begin + Result := ProgressBarObject.Align; +end; + +procedure TSplashProgressBar.SetAlign(Value: TAlign); +begin + ProgressBarObject.Align := Value; +end; + +function TSplashProgressBar.GetBackgroundColor: TColor; +begin + Result := ProgressBarObject.BackgroundColor; +end; + +procedure TSplashProgressBar.SetBackgroundColor(Value: TColor); +begin + ProgressBarObject.BackgroundColor := Value; +end; + +function TSplashProgressBar.GetBarColor: TColor; +begin + Result := ProgressBarObject.BarColor; +end; + +procedure TSplashProgressBar.SetBarColor(Value: TColor); +begin + ProgressBarObject.BarColor := Value; +end; + +function TSplashProgressBar.GetState: TProgressBarState; +begin + Result := ProgressBarObject.State; +end; + +procedure TSplashProgressBar.SetState(Value: TProgressBarState); +begin + ProgressBarObject.State := Value; +end; + +function TSplashProgressBar.GetStyle: TProgressBarStyle; +begin + Result := ProgressBarObject.Style; +end; + +procedure TSplashProgressBar.SetStyle(Value: TProgressBarStyle); +begin + ProgressBarObject.Style := Value; +end; + +function TSplashProgressBar.GetSmooth: Boolean; +begin + Result := ProgressBarObject.Smooth; +end; + +procedure TSplashProgressBar.SetSmooth(Value: Boolean); +begin + ProgressBarObject.Smooth := Value; +end; + +function TSplashProgressBar.GetSmoothReverse: Boolean; +begin + Result := ProgressBarObject.SmoothReverse; +end; + +procedure TSplashProgressBar.SetSmoothReverse(Value: Boolean); +begin + ProgressBarObject.SmoothReverse := Value; +end; + +function TSplashProgressBar.GetMarqueeInterval: Integer; +begin + Result := ProgressBarObject.MarqueeInterval; +end; + +procedure TSplashProgressBar.SetMarqueeInterval(Value: Integer); +begin + ProgressBarObject.MarqueeInterval := Value; +end; + +function TSplashProgressBar.GetStep: Integer; +begin + Result := ProgressBarObject.Step; +end; + +procedure TSplashProgressBar.SetStep(Value: Integer); +begin + ProgressBarObject.Step := Value; +end; + + { ---------------------------------------------------------------------------- TSplashImage ---------------------------------------------------------------------------- } constructor TSplashImage.Create; begin - FPicture := TPicture.Create; + ImageObject := TImage.Create(nil); + Picture := TPicture.Create; + ImageObject.Align := alClient; + ImageObject.Stretch := True; end; destructor TSplashImage.Destroy; begin - FPicture.Free; + //Picture.Free; Keine Ahrnung, wieso das hier automatisch wieder freigegeben wird (??) + ImageObject.Free; inherited; end; +function TSplashImage.GetVisible: Boolean; +begin + Result := ImageObject.Visible; +end; + +procedure TSplashImage.SetVisible(Value: Boolean); +begin + ImageObject.Visible := Value; +end; + +function TSplashImage.GetTransparent: Boolean; +begin + Result := ImageObject.Transparent; +end; + +procedure TSplashImage.SetTransparent(Value: Boolean); +begin + ImageObject.Transparent := Value; +end; + +function TSplashImage.GetPicture: TPicture; +begin + Result := ImageObject.Picture; +end; + +procedure TSplashImage.SetPicture(Value: TPicture); +begin + ImageObject.Picture.Assign(Value); +end; + { ---------------------------------------------------------------------------- TSplashTimer ---------------------------------------------------------------------------- } constructor TSplashTimer.Create; begin - //... + TimerObject := TTimer.Create(nil); + TimerObject.Enabled := False; end; destructor TSplashTimer.Destroy; begin - //... + TimerObject.Enabled := False; + TimerObject.Free; inherited; end; +procedure TSplashTimer.SetEnabled(Value: Boolean); +begin + FEnabled := Value; + if SplashScreenVisible = True then + begin + TimerObject.Enabled := Value; + end; +end; + +function TSplashTimer.GetInterval: Cardinal; +begin + Result := TimerObject.Interval; +end; + +procedure TSplashTimer.SetInterval(Value: Cardinal); +begin + TimerObject.Interval := Value; +end; + { ---------------------------------------------------------------------------- TSplashScreen ---------------------------------------------------------------------------- } @@ -458,22 +905,17 @@ begin FAbout := TComponentAbout.Create(SplashScreenComponent_Name,SplashScreenComponent_Version,SplashScreenComponent_Copyright,SplashScreenComponent_Author); FSplashForm := TSplashForm.Create; + FSplashForm.FormObject.OnShow := FormObjectShow; + FSplashForm.FormObject.OnHide := FormObjectHide; + FSplashTimer := TSplashTimer.Create; + FSplashTimer.TimerObject.OnTimer := TimerObjectTimer; FSplashProgressBar := TSplashProgressBar.Create; FSplashImage := TSplashImage.Create; FSplashTimer := TSplashTimer.Create; - - FormObject := TForm.Create(Self); - FormObject.OnShow := FormObjectShow; - FormObject.OnHide := FormObjectHide; - FormObject.Visible := False; - ProgressBarObject := TProgressBar.Create(Self); - ProgressBarObject.Parent := FormObject; - ImageObject := TImage.Create(Self); - ImageObject.Parent := FormObject; - TimerObject := TTimer.Create(Self); - TimerObject.OnTimer := TimerObjectTimer; - TimerObject.Enabled := False; - + { Parents richtig setzen } + SplashProgressBar.ProgressBarObject.Parent := SplashForm.FormObject; + SplashImage.ImageObject.Parent := SplashForm.FormObject; + { AnimationTimer... } AnimationTimerShow := TTimer.Create(Self); AnimationTimerShow.OnTimer := AnimationTimerShowTimer; AnimationTimerShow.Enabled := False; @@ -501,12 +943,10 @@ begin OnDestroy(Self); end; FAbout.Free; - FSplashForm.Free; FSplashProgressBar.Free; FSplashImage.Free; FSplashTimer.Free; - FormObject.Close; - FormObject.Free; + FSplashForm.Free; //ProgressBarObject.Free; _ //ImageObject.Free; | //TimerObject.Free; |____\ Automatisch @@ -517,23 +957,27 @@ end; procedure TSplashScreen.Show; begin - ApplyChanges; + SplashTimer.TimerObject.Enabled := SplashTimer.FEnabled; if Mode = ssmModal then begin - FormObject.ShowModal; + SplashForm.FormObject.ShowModal; end else begin - FormObject.Show; + SplashForm.FormObject.Show; end; if Animation = ssaShallow then begin - FormObject.AlphaBlend := True; - FormObject.AlphaBlendValue := 0; + SplashForm.FormObject.AlphaBlend := True; + SplashForm.FormObject.AlphaBlendValue := 0; AnimationTimerHide.Enabled := False; AnimationTimerShow.Enabled := True; end; FVisible := True; - FormObject.BringToFront; + SplashForm.FormObject.BringToFront; + SplashForm.SplashScreenVisible := True; + SplashProgressBar.SplashScreenVisible := True; + SplashImage.SplashScreenVisible := True; + SplashTimer.SplashScreenVisible := True; if Assigned(OnShow) then begin OnShow(Self); @@ -542,26 +986,48 @@ end; procedure TSplashScreen.Hide; begin - TimerObject.Enabled := False; + SplashTimer.TimerObject.Enabled := False; if Animation = ssaNone then begin - FormObject.Hide; + SplashForm.FormObject.Hide; end else begin if Animation = ssaShallow then begin - FormObject.AlphaBlend := True; + SplashForm.FormObject.AlphaBlend := True; AnimationTimerShow.Enabled := False; AnimationTimerHide.Enabled := True; end; end; FVisible := False; + SplashForm.SplashScreenVisible := False; + SplashProgressBar.SplashScreenVisible := False; + SplashImage.SplashScreenVisible := False; + SplashTimer.SplashScreenVisible := False; if Assigned(OnHide) then begin OnHide(Self); end; end; +procedure TSplashScreen.FormObjectShow(Sender: TObject); +begin + Visible := True; +end; + +procedure TSplashScreen.FormObjectHide(Sender: TObject); +begin + Visible := False; +end; + +procedure TSplashScreen.TimerObjectTimer(Sender: TObject); +begin + if Assigned(OnTimer) then + begin + OnTimer(Self); + end; +end; + procedure TSplashScreen.ApplyChanges; begin { "Refresh;" ist nicht public, deswegen hier eine Referenz. @@ -573,51 +1039,47 @@ end; procedure TSplashScreen.Refresh; begin { TSplashForm -> TForm } - FormObject.BorderStyle := SplashForm.BorderStyle; - FormObject.BorderIcons := SplashForm.BorderIcons; - FormObject.Left := SplashForm.Left; - FormObject.Top := SplashForm.Top; - FormObject.Width := SplashForm.Width; - FormObject.Height := SplashForm.Height; - FormObject.Align := SplashForm.Align; - FormObject.AlphaBlend := SplashForm.AlphaBlend; - FormObject.AlphaBlendValue := SplashForm.AlphaBlendValue; - FormObject.Caption := SplashForm.Caption; - FormObject.Color := SplashForm.Color; - FormObject.Enabled := SplashForm.Enabled; - FormObject.WindowState := SplashForm.WindowState; - FormObject.Position := SplashForm.Position; - FormObject.Cursor := SplashForm.Cursor; + SplashForm.FormObject.BorderStyle := SplashForm.BorderStyle; + SplashForm.FormObject.BorderIcons := SplashForm.BorderIcons; + SplashForm.FormObject.Left := SplashForm.Left; + SplashForm.FormObject.Top := SplashForm.Top; + SplashForm.FormObject.Width := SplashForm.Width; + SplashForm.FormObject.Height := SplashForm.Height; + SplashForm.FormObject.Align := SplashForm.Align; + SplashForm.FormObject.AlphaBlend := SplashForm.AlphaBlend; + SplashForm.FormObject.AlphaBlendValue := SplashForm.AlphaBlendValue; + SplashForm.FormObject.Caption := SplashForm.Caption; + SplashForm.FormObject.Color := SplashForm.Color; + SplashForm.FormObject.Enabled := SplashForm.Enabled; + SplashForm.FormObject.WindowState := SplashForm.WindowState; + SplashForm.FormObject.Position := SplashForm.Position; + SplashForm.FormObject.Cursor := SplashForm.Cursor; { TSplashProgressBar -> TProgressBar } - ProgressBarObject.Left := SplashProgressBar.Left; - ProgressBarObject.Top := SplashProgressBar.Top; - ProgressBarObject.Width := SplashProgressBar.Width; - ProgressBarObject.Height := SplashProgressBar.Height; - ProgressBarObject.Visible := SplashProgressBar.Visible; - ProgressBarObject.Position := SplashProgressBar.Position; - ProgressBarObject.Max := SplashProgressBar.Max; - ProgressBarObject.Min := SplashProgressBar.Min; - ProgressBarObject.Cursor := FormObject.Cursor; - ProgressBarObject.Align := SplashProgressBar.Align; - ProgressBarObject.BackgroundColor := SplashProgressBar.BackgroundColor; - ProgressBarObject.BarColor := SplashProgressBar.BarColor; - ProgressBarObject.State := SplashProgressBar.State; - ProgressBarObject.Style := SplashProgressBar.Style; - ProgressBarObject.Smooth := SplashProgressBar.Smooth; - ProgressBarObject.SmoothReverse := SplashProgressBar.SmoothReverse; - ProgressBarObject.MarqueeInterval := SplashProgressBar.MarqueeInterval; - ProgressBarObject.Step := SplashProgressBar.Step; + SplashProgressBar.ProgressBarObject.Left := SplashProgressBar.Left; + SplashProgressBar.ProgressBarObject.Top := SplashProgressBar.Top; + SplashProgressBar.ProgressBarObject.Width := SplashProgressBar.Width; + SplashProgressBar.ProgressBarObject.Height := SplashProgressBar.Height; + SplashProgressBar.ProgressBarObject.Visible := SplashProgressBar.Visible; + SplashProgressBar.ProgressBarObject.Position := SplashProgressBar.Position; + SplashProgressBar.ProgressBarObject.Max := SplashProgressBar.Max; + SplashProgressBar.ProgressBarObject.Min := SplashProgressBar.Min; + SplashProgressBar.ProgressBarObject.Cursor := SplashForm.FormObject.Cursor; + SplashProgressBar.ProgressBarObject.Align := SplashProgressBar.Align; + SplashProgressBar.ProgressBarObject.BackgroundColor := SplashProgressBar.BackgroundColor; + SplashProgressBar.ProgressBarObject.BarColor := SplashProgressBar.BarColor; + SplashProgressBar.ProgressBarObject.State := SplashProgressBar.State; + SplashProgressBar.ProgressBarObject.Style := SplashProgressBar.Style; + SplashProgressBar.ProgressBarObject.Smooth := SplashProgressBar.Smooth; + SplashProgressBar.ProgressBarObject.SmoothReverse := SplashProgressBar.SmoothReverse; + SplashProgressBar.ProgressBarObject.MarqueeInterval := SplashProgressBar.MarqueeInterval; + SplashProgressBar.ProgressBarObject.Step := SplashProgressBar.Step; { TSplashImage -> TImage } - ImageObject.Visible := SplashImage.Visible; - ImageObject.Transparent := SplashImage.Transparent; - ImageObject.Picture := SplashImage.Picture; + SplashImage.ImageObject.Visible := SplashImage.Visible; + SplashImage.ImageObject.Transparent := SplashImage.Transparent; + SplashImage.ImageObject.Picture := SplashImage.Picture; { TSplashTimer -> TTimer } - TimerObject.Enabled := SplashTimer.Enabled; - TimerObject.Interval := SplashTimer.Interval; - if Assigned(OnChange) then - begin - OnChange(Self); - end; + SplashTimer.TimerObject.Enabled := SplashTimer.Enabled; + SplashTimer.TimerObject.Interval := SplashTimer.Interval; end; procedure TSplashScreen.Reset; @@ -671,28 +1133,52 @@ procedure TSplashScreen.SetVisible(Value: Boolean); begin if Value = True then begin - Show; + if SplashForm.FormObject.Visible = False then + begin + Show; + end; end else begin - Hide; + if SplashForm.FormObject.Visible = True then + begin + Hide; + end; end; end; -procedure TSplashScreen.FormObjectShow(Sender: TObject); +procedure TSplashScreen.SetSplashForm(Value: TSplashForm); begin - //... -end; - -procedure TSplashScreen.FormObjectHide(Sender: TObject); -begin - //... -end; - -procedure TSplashScreen.TimerObjectTimer(Sender: TObject); -begin - if Assigned(OnTimer) then + FSplashForm.Assign(Value); + if Assigned(OnChange) then begin - OnTimer(Self); + OnChange(Self); + end; +end; + +procedure TSplashScreen.SetSplashProgressBar(Value: TSplashProgressBar); +begin + FSplashProgressBar.Assign(Value); + if Assigned(OnChange) then + begin + OnChange(Self); + end; +end; + +procedure TSplashScreen.SetSplashImage(Value: TSplashImage); +begin + FSplashImage.Assign(Value); + if Assigned(OnChange) then + begin + OnChange(Self); + end; +end; + +procedure TSplashScreen.SetSplashTimer(Value: TSplashTimer); +begin + FSplashTimer.Assign(Value); + if Assigned(OnChange) then + begin + OnChange(Self); end; end; @@ -700,19 +1186,19 @@ procedure TSplashScreen.AnimationTimerShowTimer(Sender: TObject); begin if Animation = ssaShallow then begin - if FormObject.AlphaBlendValue < SplashForm.AlphaBlendValue then + if SplashForm.FormObject.AlphaBlendValue < SplashForm.AlphaBlendValue then begin - if SplashForm.AlphaBlendValue - FormObject.AlphaBlendValue < AnimationSpeed then + if SplashForm.AlphaBlendValue - SplashForm.FormObject.AlphaBlendValue < AnimationSpeed then begin - FormObject.AlphaBlendValue := FormObject.AlphaBlendValue + (SplashForm.AlphaBlendValue - FormObject.AlphaBlendValue); + SplashForm.FormObject.AlphaBlendValue := SplashForm.FormObject.AlphaBlendValue + (SplashForm.AlphaBlendValue - SplashForm.FormObject.AlphaBlendValue); end else begin - FormObject.AlphaBlendValue := FormObject.AlphaBlendValue + AnimationSpeed; + SplashForm.FormObject.AlphaBlendValue := SplashForm.FormObject.AlphaBlendValue + AnimationSpeed; end; end else begin AnimationTimerShow.Enabled := False; - FormObject.AlphaBlend := SplashForm.AlphaBlend; + SplashForm.FormObject.AlphaBlend := SplashForm.AlphaBlend; end; end; end; @@ -721,20 +1207,20 @@ procedure TSplashScreen.AnimationTimerHideTimer(Sender: TObject); begin if Animation = ssaShallow then begin - if FormObject.AlphaBlendValue > 0 then + if SplashForm.FormObject.AlphaBlendValue > 0 then begin - if FormObject.AlphaBlendValue < AnimationSpeed then + if SplashForm.FormObject.AlphaBlendValue < AnimationSpeed then begin - FormObject.AlphaBlendValue := FormObject.AlphaBlendValue - FormObject.AlphaBlendValue; + SplashForm.FormObject.AlphaBlendValue := SplashForm.FormObject.AlphaBlendValue - SplashForm.FormObject.AlphaBlendValue; end else begin - FormObject.AlphaBlendValue := FormObject.AlphaBlendValue - AnimationSpeed; + SplashForm.FormObject.AlphaBlendValue := SplashForm.FormObject.AlphaBlendValue - AnimationSpeed; end; end else begin AnimationTimerHide.Enabled := False; - FormObject.AlphaBlend := SplashForm.AlphaBlend; - FormObject.Hide; + SplashForm.FormObject.AlphaBlend := SplashForm.AlphaBlend; + SplashForm.FormObject.Hide; end; end; end; @@ -757,7 +1243,10 @@ end; procedure TComponentManager.Update; begin - //... + if Assigned(OnUpdate) then + begin + OnUpdate(Self); + end; end; { ---------------------------------------------------------------------------- @@ -781,7 +1270,6 @@ end; procedure TProgressBarManager.Update; begin - inherited; if Assigned(Target) = False then begin Exit; @@ -802,10 +1290,7 @@ begin begin Target.Position := (Target.Max div 100) * SourceDownload.GetProgressPercent; end; - if Assigned(OnUpdate) then - begin - OnUpdate(Self); - end; + inherited; end; procedure TProgressBarManager.SetTarget(Value: TProgressBar); @@ -861,7 +1346,6 @@ end; procedure TListBoxManager.Update; begin - inherited; if Assigned(Target) = False then begin Exit; @@ -883,10 +1367,7 @@ begin FilteredList.Filter := SourceComboBox.Text; end; Target.Items.Assign(FilteredList.FilteredStrings); - if Assigned(OnUpdate) then - begin - OnUpdate(Self); - end; + inherited; end; procedure TListBoxManager.LoadList; @@ -957,14 +1438,21 @@ end; constructor TParamReference.Create; begin FFormat := TParamFormat.Create; + Connector := AConnector; end; destructor TParamReference.Destroy; begin + FConnector := nil; FFormat.Free; inherited; end; +procedure TParamReference.Update; +begin + //... +end; + { ---------------------------------------------------------------------------- TParamDefiner ---------------------------------------------------------------------------- } diff --git a/Source/uSysTools.pas b/Source/uSysTools.pas index 3234f59..3319c39 100644 --- a/Source/uSysTools.pas +++ b/Source/uSysTools.pas @@ -83,6 +83,11 @@ type function ArrayPos(const AValue: String; const AArray: array of String): Integer; overload; function ArrayPos(const AValue: Integer; const AArray: array of Integer): Integer; overload; function ArrayPos(const AValue: Extended; const AArray: array of Extended): Integer; overload; + { TComponent Laden/Speichern } + procedure SaveComponentToFile(const FileName: String; Component: TComponent); + procedure LoadComponentFromFile(const FileName: String; Component: TComponent); + procedure SaveComponentToStream(var Stream: TStream; Component: TComponent); + procedure LoadComponentFromStream(Stream: TStream; Component: TComponent); { Sonstige } function SecToTime(const Sec: Cardinal): TTime; function SystemLanguage: String; @@ -143,6 +148,40 @@ begin Result := (Ceil(Value) = Floor(Value)); end; +procedure SaveComponentToFile(const FileName: String; Component: TComponent); +var + FS: TFileStream; +begin + FS := TFileStream.Create(FileName,fmCreate); + try + FS.WriteComponentRes(Component.Name,Component); + finally + FS.Free; + end; +end; + +procedure LoadComponentFromFile(const FileName: String; Component: TComponent); +var + FS: TFileStream; +begin + FS := TFileStream.Create(FileName,fmOpenRead or fmShareDenyNone); + try + FS.ReadComponentRes(Component); + finally + FS.Free; + end; +end; + +procedure SaveComponentToStream(var Stream: TStream; Component: TComponent); +begin + Stream.WriteComponentRes(Component.Name,Component); +end; + +procedure LoadComponentFromStream(Stream: TStream; Component: TComponent); +begin + Stream.ReadComponentRes(Component); +end; + function SecToTime(const Sec: Cardinal): TTime; var TH, TM, TS: String; @@ -295,7 +334,6 @@ begin end; end; - function FontSizeToHeight(Size: Integer; PpI: Integer): Integer; begin Result := - Size * PpI div 72; diff --git a/Source/uWebCtrls.pas b/Source/uWebCtrls.pas index 1b775d9..3597934 100644 --- a/Source/uWebCtrls.pas +++ b/Source/uWebCtrls.pas @@ -65,8 +65,8 @@ type function GetProgressPercent: Byte; { Herunterladen } function GetText: String; - procedure SaveToFile(FileName: TFileName); - procedure SaveToStream(Stream: TStream); + procedure SaveToFile(const FileName: TFileName); + procedure SaveToStream(var Stream: TStream); published { Published-Deklarationen } { Ereignisse } @@ -316,12 +316,12 @@ begin Result := idHTTPObject.Get(Address); end; -procedure TDownload.SaveToFile(FileName: TFileName); +procedure TDownload.SaveToFile(const FileName: TFileName); var FS: TFileStream; begin Prepare; - FS := TFileStream.Create(FileName, fmCreate or fmShareDenyWrite); + FS := TFileStream.Create(FileName,fmCreate or fmShareDenyWrite); try idHTTPObject.Get(Address,FS); finally @@ -329,7 +329,7 @@ begin end; end; -procedure TDownload.SaveToStream(Stream: TStream); +procedure TDownload.SaveToStream(var Stream: TStream); begin Prepare; idHTTPObject.Get(Address,Stream);