├── .gitattributes ├── .gitignore ├── Demos ├── AppIdleCloseTest.cfg ├── AppIdleCloseTest.dof ├── AppIdleCloseTest.dpr ├── AppIdleCloseTest.dproj ├── IniLayoutSaverDemo.dpr ├── IniLayoutSaverDemo.dproj ├── IniPersistDemo.dpr ├── IniPersistDemo.dproj ├── RegLayoutSaverDemo.dpr ├── RegLayoutSaverDemo.dproj ├── Unit1.dfm ├── Unit1.pas ├── uIniPersistDemoSettings.pas ├── ufrmIniLayoutSaverDemo.dfm ├── ufrmIniLayoutSaverDemo.pas ├── ufrmIniPersistDemo.dfm ├── ufrmIniPersistDemo.pas ├── ufrmRegLayoutSaverDemo.dfm └── ufrmRegLayoutSaverDemo.pas ├── LICENSE ├── Packages ├── Delphi 10.1 │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi 10.2 │ ├── cc_D102Tokyo_D.dpk │ ├── cc_D102Tokyo_D.dproj │ ├── cc_D102Tokyo_R.dpk │ └── cc_D102Tokyo_R.dproj ├── Delphi 10.3 │ ├── cc_D103Rio_D.dpk │ ├── cc_D103Rio_D.dproj │ ├── cc_D103Rio_R.dpk │ └── cc_D103Rio_R.dproj ├── Delphi 10.4 │ ├── cc.res │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi 10 │ ├── cc_D10Seattle_D.dpk │ ├── cc_D10Seattle_D.dproj │ ├── cc_D10Seattle_R.dpk │ └── cc_D10Seattle_R.dproj ├── Delphi 11 │ ├── cc.res │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi 12 │ ├── cc.res │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi 2007 │ ├── cc_D2007_D.dpk │ ├── cc_D2007_D.dproj │ ├── cc_D2007_R.dpk │ └── cc_D2007_R.dproj ├── Delphi 2010 │ ├── cc_D2010_D.dpk │ ├── cc_D2010_D.dproj │ ├── cc_D2010_R.dpk │ └── cc_D2010_R.dproj ├── Delphi 5 │ ├── ccLib_D5_D.cfg │ ├── ccLib_D5_D.dof │ ├── ccLib_D5_D.dpk │ ├── ccLib_D5_R.cfg │ ├── ccLib_D5_R.dof │ └── ccLib_D5_R.dpk ├── Delphi XE │ ├── cc.res │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi XE2 │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi XE3 │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi XE4 │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi XE5 │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi XE6 │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi XE7 │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── Delphi XE8 │ ├── ccLib_D.dpk │ ├── ccLib_D.dproj │ ├── ccLib_R.dpk │ └── ccLib_R.dproj ├── ccLib_Delphi104.groupproj ├── ccLib_Delphi11.groupproj ├── ccLib_Delphi12.groupproj ├── ccLib_Delphi5.bpg ├── ccLib_DelphiXE.groupproj ├── ccLib_DelphiXE2.groupproj ├── ccLib_DelphiXE3.groupproj ├── ccLib_DelphiXE4.groupproj ├── ccLib_DelphiXE5.groupproj ├── ccLib_DelphiXE6.groupproj ├── ccLib_DelphiXE7.groupproj └── ccLib_DelphiXE8.groupproj ├── README.md ├── SmallSquare44x44.png ├── Source ├── cc.inc ├── cc_reg.pas ├── dbisamtablelookup │ ├── DBISAMTableLookupReg.pas │ ├── ufrmDBISAMTableLookup.dfm │ └── ufrmDBISAMTableLookup.pas ├── elapsedtimer │ ├── ElapsedTimer.pas │ └── ElapsedTimerReg.pas ├── idleclose │ ├── AppIdleWarn.dfm │ ├── AppIdleWarn.pas │ ├── CloseApplication.pas │ └── CloseApplicationReg.pas ├── layoutsaver │ ├── LayoutSaver.pas │ └── LayoutSaverReg.pas ├── mergetext │ ├── MergeTxtReg.pas │ └── Mergetxt.pas ├── misc │ ├── uConfigIniPersist.pas │ ├── uSearchRecList.pas │ ├── uTestUtils.pas │ └── uXmlDates.pas ├── textfilelogger │ ├── TextFileLogger.pas │ └── TextFileLoggerReg.pas ├── textfileviewer │ ├── TextViewerReg.pas │ ├── ufrmTextViewer.dfm │ └── ufrmTextViewer.pas └── webgen │ ├── DBISAM_WebGenTables.SQL │ ├── udmCustomWebGenerator.dfm │ ├── udmCustomWebGenerator.pas │ ├── udmDBISAMWebGenerator.dfm │ └── udmDBISAMWebGenerator.pas ├── Squared Menu_48px.png ├── icons8_Squared_Menu.ico ├── idleclose └── CloseApplicationReg.dcr ├── square150x150.jpg └── square150x150.png /.gitattributes: -------------------------------------------------------------------------------- 1 | # 2 | # Project files 3 | # 4 | 5 | # Delphi form module 6 | *.dfm text 7 | 8 | # Delphi project options file 9 | *.dof text 10 | 11 | # Desktop configuration 12 | *.dsk binary 13 | 14 | # 15 | # General 16 | # 17 | 18 | # Text file 19 | *.txt text 20 | 21 | # Gettext Portable Object 22 | *.po binary 23 | 24 | # Backup 25 | *.bak binary 26 | 27 | # Config file 28 | *.cfg text 29 | 30 | # Compiled Help File - contains html. See also package chm 31 | *.chm binary 32 | 33 | # Comma Separated Values text file format 34 | *.csv text 35 | 36 | # Directly executable program 37 | *.exe binary 38 | 39 | # Help file 40 | *.hlp binary 41 | 42 | # Initialization file 43 | *.ini text 44 | 45 | # OpenDocument text document 46 | *.odt text 47 | 48 | # Portable Document Format 49 | *.pdf text 50 | 51 | # PostScript 52 | *.ps text 53 | 54 | # Rich Text Format text file 55 | *.rtf text 56 | 57 | # 58 | # Image 59 | # 60 | 61 | # Portable network graphic 62 | *.png binary 63 | 64 | # Bitmap 65 | *.bmp binary 66 | 67 | # Icon 68 | *.ico binary 69 | 70 | # Pixmap 71 | *.xpm binary 72 | 73 | # Portable pixmap 74 | *.ppm binary 75 | 76 | # Portable graymap 77 | *.pgm binary 78 | 79 | # Portable bitmap 80 | *.pbm binary 81 | 82 | # Lossy graphics file 83 | *.jpg binary 84 | 85 | # 86 | # XML 87 | # 88 | 89 | *.xml text 90 | *.dtd text 91 | *.xsd text 92 | *.xsl text 93 | 94 | # 95 | # Web 96 | # 97 | 98 | # Hypertext Markup Language 99 | *.html text diff=html 100 | 101 | # Cascading style sheet 102 | *.css text diff=css 103 | 104 | # 105 | # Archive 106 | # 107 | 108 | # tape archive 109 | *.tar binary 110 | 111 | # archive file 112 | *.zip binary 113 | 114 | # 115 | # Database 116 | # 117 | 118 | # Database file 119 | *.dbf binary 120 | 121 | # Multiple index file 122 | *.mdx binary 123 | 124 | # 125 | # Spreadsheet 126 | # 127 | 128 | # OpenOffice.org Calc spreadsheet File Format 129 | *.ods binary 130 | 131 | # Microsoft Excel File Format 132 | *.xls binary 133 | 134 | # Microsoft Office Open XML Excel File Format 135 | *.xlsx binary -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.mes 2 | *.dsk 3 | *.tvsconfig 4 | *.stat 5 | *.dcu 6 | *.exe 7 | *.identcache 8 | *.local 9 | *.dcr 10 | *.~dsk 11 | __history/ 12 | LibrarySupport/ 13 | ModelSupport_cc_DXE8_R/ 14 | ModelSupport_cc_D10Seattle_R/ 15 | layoutsaver/demo/Win64/ 16 | layoutsaver/demo/Win32/ 17 | Packages/Delphi XE2/__history/ 18 | Packages/Delphi XE3/__history/ 19 | Packages/Delphi XE4/__history/ 20 | Packages/Delphi XE5/__history/ 21 | Packages/Delphi XE6/__history/ 22 | Packages/Delphi XE7/__history/ 23 | Packages/Delphi XE8/ModelSupport_ccLib_R/ 24 | Demos/Win32/ 25 | *.~* 26 | *.res 27 | *.dsv 28 | -------------------------------------------------------------------------------- /Demos/AppIdleCloseTest.cfg: -------------------------------------------------------------------------------- 1 | -$A+ 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J+ 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -U"C:\css\lib\ccLib" 35 | -O"C:\css\lib\ccLib" 36 | -I"C:\css\lib\ccLib" 37 | -R"C:\css\lib\ccLib" 38 | -------------------------------------------------------------------------------- /Demos/AppIdleCloseTest.dof: -------------------------------------------------------------------------------- 1 | [Compiler] 2 | A=1 3 | B=0 4 | C=1 5 | D=1 6 | E=0 7 | F=0 8 | G=1 9 | H=1 10 | I=1 11 | J=1 12 | K=0 13 | L=1 14 | M=0 15 | N=1 16 | O=1 17 | P=1 18 | Q=0 19 | R=0 20 | S=0 21 | T=0 22 | U=0 23 | V=1 24 | W=0 25 | X=1 26 | Y=1 27 | Z=1 28 | ShowHints=1 29 | ShowWarnings=1 30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 31 | [Linker] 32 | MapFile=0 33 | OutputObjs=0 34 | ConsoleApp=1 35 | DebugInfo=0 36 | RemoteSymbols=0 37 | MinStackSize=16384 38 | MaxStackSize=1048576 39 | ImageBase=4194304 40 | ExeDescription= 41 | [Directories] 42 | OutputDir= 43 | UnitOutputDir= 44 | PackageDLLOutputDir= 45 | PackageDCPOutputDir= 46 | SearchPath=C:\css\lib\ccLib 47 | Packages=Vcl50;Vclx50;VclSmp50;Vcldb50;Vclbde50;vcldbx50;vclie50;Inetdb50;Inet50;dclocx50;dclaxserver50;bde50r01;css50r01;ip50_d5;cam50r01;log50;UTL50;new50;cdm50;cfg50r01;win50;dta45ca;dbl45;ip50word_d5;cmp50;new50sql;cls50r01;S403br50 48 | Conditionals= 49 | DebugSourceDirs= 50 | UsePackages=0 51 | [Parameters] 52 | RunParams= 53 | HostApplication= 54 | [Version Info] 55 | IncludeVerInfo=0 56 | AutoIncBuild=0 57 | MajorVer=1 58 | MinorVer=0 59 | Release=0 60 | Build=0 61 | Debug=0 62 | PreRelease=0 63 | Special=0 64 | Private=0 65 | DLL=0 66 | Locale=1033 67 | CodePage=1252 68 | [Version Info Keys] 69 | CompanyName= 70 | FileDescription= 71 | FileVersion=1.0.0.0 72 | InternalName= 73 | LegalCopyright= 74 | LegalTrademarks= 75 | OriginalFilename= 76 | ProductName= 77 | ProductVersion=1.0.0.0 78 | Comments= 79 | [HistoryLists\hlUnitAliases] 80 | Count=1 81 | Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 82 | [HistoryLists\hlSearchPath] 83 | Count=1 84 | Item0=C:\css\lib\ccLib 85 | -------------------------------------------------------------------------------- /Demos/AppIdleCloseTest.dpr: -------------------------------------------------------------------------------- 1 | program AppIdleCloseTest; 2 | 3 | uses 4 | Forms, 5 | Unit1 in 'Unit1.pas' {frmTestAppIdleWarn}; 6 | 7 | {$R *.res} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.CreateForm(TfrmTestAppIdleWarn, frmTestAppIdleWarn); 12 | Application.Run; 13 | end. 14 | -------------------------------------------------------------------------------- /Demos/IniLayoutSaverDemo.dpr: -------------------------------------------------------------------------------- 1 | program IniLayoutSaverDemo; 2 | 3 | uses 4 | Forms, 5 | ufrmIniLayoutSaverDemo in 'ufrmIniLayoutSaverDemo.pas' {frmIniLayoutSaver}; 6 | 7 | {$R *.res} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.MainFormOnTaskbar := True; 12 | Application.CreateForm(TfrmIniLayoutSaver, frmIniLayoutSaver); 13 | Application.Run; 14 | end. 15 | -------------------------------------------------------------------------------- /Demos/IniPersistDemo.dpr: -------------------------------------------------------------------------------- 1 | program IniPersistDemo; 2 | 3 | uses 4 | Forms, 5 | ufrmIniPersistDemo in 'ufrmIniPersistDemo.pas' {frmIniPersistDemo}, 6 | uConfigIniPersist in '..\Source\misc\uConfigIniPersist.pas', 7 | uIniPersistDemoSettings in 'uIniPersistDemoSettings.pas'; 8 | 9 | {$R *.res} 10 | 11 | begin 12 | Application.Initialize; 13 | Application.MainFormOnTaskbar := True; 14 | Application.CreateForm(TfrmIniPersistDemo, frmIniPersistDemo); 15 | Application.Run; 16 | end. 17 | -------------------------------------------------------------------------------- /Demos/RegLayoutSaverDemo.dpr: -------------------------------------------------------------------------------- 1 | program RegLayoutSaverDemo; 2 | 3 | uses 4 | Forms, 5 | ufrmRegLayoutSaverDemo in 'ufrmRegLayoutSaverDemo.pas' {frmRegLayoutSaver}; 6 | 7 | {$R *.res} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.MainFormOnTaskbar := True; 12 | Application.CreateForm(TfrmRegLayoutSaver, frmRegLayoutSaver); 13 | Application.Run; 14 | end. 15 | -------------------------------------------------------------------------------- /Demos/Unit1.dfm: -------------------------------------------------------------------------------- 1 | object frmTestAppIdleWarn: TfrmTestAppIdleWarn 2 | Left = 451 3 | Top = 420 4 | Width = 364 5 | Height = 282 6 | Caption = 'AppIdleWarn Test App' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -12 11 | Font.Name = 'Segoe UI' 12 | Font.Style = [] 13 | OldCreateOrder = True 14 | Position = poMainFormCenter 15 | OnCreate = FormCreate 16 | PixelsPerInch = 96 17 | TextHeight = 15 18 | object Label1: TLabel 19 | Left = 48 20 | Top = 24 21 | Width = 265 22 | Height = 73 23 | AutoSize = False 24 | Caption = 25 | 'Demo of using the CloseApplication component. Close-down set to ' + 26 | '%d minute with a %d second warning.' 27 | Font.Charset = DEFAULT_CHARSET 28 | Font.Color = clWindowText 29 | Font.Height = -16 30 | Font.Name = 'Segoe UI' 31 | Font.Style = [] 32 | ParentFont = False 33 | WordWrap = True 34 | end 35 | object chkShowAppName: TCheckBox 36 | Left = 48 37 | Top = 121 38 | Width = 265 39 | Height = 17 40 | Caption = 'Show Application Name in Warning Message' 41 | Checked = True 42 | State = cbChecked 43 | TabOrder = 0 44 | OnClick = chkShowAppNameClick 45 | end 46 | object StatusBar1: TStatusBar 47 | Left = 0 48 | Top = 232 49 | Width = 356 50 | Height = 19 51 | Panels = <> 52 | SimplePanel = True 53 | end 54 | object chkUseCustomWarningMessage: TCheckBox 55 | Left = 48 56 | Top = 152 57 | Width = 257 58 | Height = 17 59 | Caption = 'Use Custom Warning Event Handler' 60 | TabOrder = 2 61 | OnClick = chkUseCustomWarningMessageClick 62 | end 63 | object CloseApplication1: TCloseApplication 64 | MinutesAppAllowedToBeIdle = 1 65 | SecondsPromptedOnShutdown = 20 66 | ShowAppName = True 67 | TimerInterval = 0 68 | OnResume = CloseApplication1Resume 69 | Left = 110 70 | Top = 182 71 | end 72 | end 73 | -------------------------------------------------------------------------------- /Demos/Unit1.pas: -------------------------------------------------------------------------------- 1 | unit Unit1; 2 | 3 | interface 4 | 5 | {$I ..\source\cc.inc} 6 | 7 | uses 8 | {$IFDEF XE2orHigher} 9 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 10 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.ComCtrls, 11 | {$ELSE} 12 | Forms, Messages, Dialogs, SysUtils, ExtCtrls, ComCtrls, Controls, StdCtrls, Classes, 13 | {$ENDIF} 14 | CloseApplication; 15 | 16 | type 17 | TfrmTestAppIdleWarn = class(TForm) 18 | CloseApplication1: TCloseApplication; 19 | Label1: TLabel; 20 | chkShowAppName: TCheckBox; 21 | StatusBar1: TStatusBar; 22 | chkUseCustomWarningMessage: TCheckBox; 23 | procedure CloseApplication1Resume(Sender: TObject); 24 | function CloseApplication1Warning(CloseTime: Integer; const ShouldShowAppName: Boolean): Integer; 25 | procedure chkUseCustomWarningMessageClick(Sender: TObject); 26 | procedure chkShowAppNameClick(Sender: TObject); 27 | end; 28 | 29 | var 30 | frmTestAppIdleWarn: TfrmTestAppIdleWarn; 31 | 32 | implementation 33 | 34 | uses 35 | Dialogs; 36 | 37 | {$R *.dfm} 38 | 39 | 40 | function TfrmTestAppIdleWarn.CloseApplication1Warning(CloseTime: Integer; const ShouldShowAppName: Boolean): Integer; 41 | var 42 | AppName: string; 43 | begin 44 | {$IFDEF VER130} 45 | if ShouldShowAppName then 46 | AppName := frmTestAppIdleWarn.Caption 47 | else 48 | AppName := 'This application'; 49 | {$ELSE} 50 | AppName := IfThen(ShouldShowAppName, frmTestAppIdleWarn.Caption, 'This application'); 51 | {$ENDIF} 52 | 53 | {$IFDEF VER130} 54 | if (MessageDlg(AppName + ' will close in ' + IntToStr(CloseTime) + ' seconds. Allow it?', mtConfirmation, 55 | [mbYes, mbNo], 0) = mrYes) then 56 | {$ELSE} 57 | if MessageDlg(AppName + ' will close in ' + IntToStr(CloseTime) + ' seconds. Allow it?', TMsgDlgType.mtConfirmation, 58 | mbYesNo, 0) = mrYes then 59 | {$ENDIF} 60 | Result := 0 61 | else 62 | Result := 1; 63 | end; 64 | 65 | procedure TfrmTestAppIdleWarn.FormCreate(Sender: TObject); 66 | begin 67 | Label1.Caption := Format(Label1.Caption, [CloseApplication1.MinutesAppAllowedToBeIdle, 68 | CloseApplication1.SecondsPromptedOnShutdown]); 69 | end; 70 | 71 | procedure TfrmTestAppIdleWarn.chkShowAppNameClick(Sender: TObject); 72 | begin 73 | CloseApplication1.ShowAppName := chkShowAppName.Checked; 74 | end; 75 | 76 | procedure TfrmTestAppIdleWarn.chkUseCustomWarningMessageClick(Sender: TObject); 77 | begin 78 | if chkUseCustomWarningMessage.Checked then 79 | CloseApplication1.OnWarning := CloseApplication1Warning 80 | else 81 | CloseApplication1.OnWarning := nil; 82 | end; 83 | 84 | procedure TfrmTestAppIdleWarn.CloseApplication1Resume(Sender: TObject); 85 | begin 86 | StatusBar1.SimpleText := 'Application close prevented--resuming.'; 87 | end; 88 | 89 | end. 90 | -------------------------------------------------------------------------------- /Demos/uIniPersistDemoSettings.pas: -------------------------------------------------------------------------------- 1 | unit uIniPersistDemoSettings; 2 | 3 | interface 4 | 5 | uses 6 | uConfigIniPersist; 7 | 8 | type 9 | [IniClass('IniPersisteDemo')] 10 | TIniPersisteDemoSettings = class(TIniPersist) 11 | private 12 | // file export 13 | FDescription: string; 14 | FOption1: Boolean; 15 | FOption2: Boolean; 16 | FFavNum: Integer; 17 | FRandomDateStr: string; 18 | function GetRandomDate: TDateTime; 19 | procedure SetRandomDate(const Value: TDateTime); 20 | public 21 | [IniDefault('Test of the IniPersist library')] 22 | property Description: string read FDescription write FDescription; 23 | [IniDefault('False')] 24 | property Option1: Boolean read FOption1 write FOption1; 25 | [IniDefault('True')] 26 | property Option2: Boolean read FOption2 write FOption2; 27 | [IniDefault('42')] 28 | property FavoriteNumber: Integer read FFavNum write FFavNum; 29 | [IniIgnore] 30 | property RandomDate: TDateTime read GetRandomDate write SetRandomDate; 31 | property RandomDateAsString: string read FRandomDateStr write FRandomDateStr; 32 | end; 33 | 34 | implementation 35 | 36 | uses 37 | SysUtils, DateUtils; 38 | 39 | { TIniPersisteDemoSettings } 40 | 41 | function TIniPersisteDemoSettings.GetRandomDate: TDateTime; 42 | begin 43 | if Length(FRandomDateStr) > 0 then 44 | {$IFDEF CONDITIONALEXPRESSIONS} 45 | {$IF CompilerVersion >= 23.0} 46 | Result := ISO8601ToDate(FRandomDateStr, False) 47 | {$ELSE} 48 | Result := StrToDate(FRandomDateStr) 49 | {$IFEND} 50 | {$ELSE} 51 | Result := StrToDate(FRandomDateStr) 52 | {$ENDIF} 53 | else 54 | Result := Date; 55 | end; 56 | 57 | procedure TIniPersisteDemoSettings.SetRandomDate(const Value: TDateTime); 58 | begin 59 | {$IFDEF CONDITIONALEXPRESSIONS} 60 | {$IF CompilerVersion >= 23.0} 61 | FRandomDateStr := DateToISO8601(Value, False); 62 | {$ELSE} 63 | FRandomDateStr := DateToStr(Value); 64 | {$IFEND} 65 | {$ELSE} 66 | FRandomDateStr := DateToStr(Value); 67 | {$ENDIF} 68 | end; 69 | 70 | end. 71 | -------------------------------------------------------------------------------- /Demos/ufrmIniLayoutSaverDemo.dfm: -------------------------------------------------------------------------------- 1 | object frmIniLayoutSaver: TfrmIniLayoutSaver 2 | Left = 0 3 | Top = 0 4 | BorderIcons = [biSystemMenu] 5 | Caption = 'INI Layout Saver Demo' 6 | ClientHeight = 196 7 | ClientWidth = 259 8 | Color = clBtnFace 9 | Constraints.MinHeight = 235 10 | Constraints.MinWidth = 275 11 | Font.Charset = DEFAULT_CHARSET 12 | Font.Color = clWindowText 13 | Font.Height = -11 14 | Font.Name = 'Tahoma' 15 | Font.Style = [] 16 | OldCreateOrder = False 17 | OnCreate = FormCreate 18 | OnDestroy = FormDestroy 19 | PixelsPerInch = 96 20 | TextHeight = 13 21 | object Label1: TLabel 22 | Left = 40 23 | Top = 120 24 | Width = 47 25 | Height = 13 26 | Caption = 'Int Value:' 27 | end 28 | object edtStrValue: TLabeledEdit 29 | Left = 40 30 | Top = 40 31 | Width = 169 32 | Height = 21 33 | EditLabel.Width = 61 34 | EditLabel.Height = 13 35 | EditLabel.Caption = 'String Value:' 36 | TabOrder = 0 37 | end 38 | object edtBoolValue: TCheckBox 39 | Left = 40 40 | Top = 80 41 | Width = 97 42 | Height = 17 43 | Caption = 'Boolean Value' 44 | TabOrder = 1 45 | end 46 | object edtIntValue: TSpinEdit 47 | Left = 40 48 | Top = 139 49 | Width = 65 50 | Height = 22 51 | MaxValue = 0 52 | MinValue = 0 53 | TabOrder = 2 54 | Value = 0 55 | end 56 | object ccIniLayoutSaver1: TccIniLayoutSaver 57 | Left = 160 58 | Top = 120 59 | end 60 | end 61 | -------------------------------------------------------------------------------- /Demos/ufrmIniLayoutSaverDemo.pas: -------------------------------------------------------------------------------- 1 | unit ufrmIniLayoutSaverDemo; 2 | 3 | interface 4 | 5 | uses 6 | Forms, SysUtils, Variants, Classes, 7 | {$IFDEF XE2orHigher} 8 | Vcl.Graphics, Vcl.Mask, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Samples.Spin, 9 | {$ELSE} 10 | Spin, StdCtrls, Controls, ExtCtrls, 11 | {$ENDIF} 12 | LayoutSaver; 13 | 14 | type 15 | TfrmIniLayoutSaver = class(TForm) 16 | edtStrValue: TLabeledEdit; 17 | edtBoolValue: TCheckBox; 18 | edtIntValue: TSpinEdit; 19 | Label1: TLabel; 20 | ccIniLayoutSaver1: TccIniLayoutSaver; 21 | procedure FormCreate(Sender: TObject); 22 | procedure FormDestroy(Sender: TObject); 23 | end; 24 | 25 | var 26 | frmIniLayoutSaver: TfrmIniLayoutSaver; 27 | 28 | implementation 29 | 30 | {$R *.dfm} 31 | 32 | const 33 | sIntValName = 'an integer value'; 34 | sBoolValName = 'a boolean value'; 35 | sStringValName = 'a string value'; 36 | 37 | procedure TfrmIniLayoutSaver.FormCreate(Sender: TObject); 38 | begin 39 | edtStrValue.Text := ccIniLayoutSaver1.RestoreStrValue(sStringValName); 40 | edtBoolValue.Checked := ccIniLayoutSaver1.RestoreBoolValue(sBoolValName); 41 | edtIntValue.Value := ccIniLayoutSaver1.RestoreIntValue(sIntValName); 42 | end; 43 | 44 | procedure TfrmIniLayoutSaver.FormDestroy(Sender: TObject); 45 | begin 46 | ccIniLayoutSaver1.SaveIntValue(sIntValName, edtIntValue.Value); 47 | ccIniLayoutSaver1.SaveBoolValue(sBoolValName, edtBoolValue.Checked); 48 | ccIniLayoutSaver1.SaveStrValue(sStringValName, edtStrValue.Text); 49 | end; 50 | 51 | end. 52 | -------------------------------------------------------------------------------- /Demos/ufrmIniPersistDemo.dfm: -------------------------------------------------------------------------------- 1 | object frmIniPersistDemo: TfrmIniPersistDemo 2 | Left = 0 3 | Top = 0 4 | Caption = 'IniPersist Demo' 5 | ClientHeight = 379 6 | ClientWidth = 638 7 | Color = clBtnFace 8 | Constraints.MinHeight = 415 9 | Constraints.MinWidth = 650 10 | Font.Charset = DEFAULT_CHARSET 11 | Font.Color = clWindowText 12 | Font.Height = -13 13 | Font.Name = 'Segoe UI' 14 | Font.Style = [] 15 | Position = poMainFormCenter 16 | OnCreate = FormCreate 17 | DesignSize = ( 18 | 638 19 | 379) 20 | TextHeight = 17 21 | object Label1: TLabel 22 | AlignWithMargins = True 23 | Left = 10 24 | Top = 10 25 | Width = 618 26 | Height = 51 27 | Margins.Left = 10 28 | Margins.Top = 10 29 | Margins.Right = 10 30 | Margins.Bottom = 5 31 | Align = alTop 32 | Caption = 33 | 'This program demonstrates the uConfigIniPersist unit in the \Sou' + 34 | 'rce\Misc folder of this library. This unit defines a class that ' + 35 | 'allows very simple loading and storing of configuration data to ' + 36 | 'and from a standard .INI file either as standard IniFile methods' + 37 | ' or as a raw text file with strings.' 38 | WordWrap = True 39 | end 40 | object Label2: TLabel 41 | Left = 384 42 | Top = 232 43 | Width = 101 44 | Height = 17 45 | Caption = 'Favorite Number:' 46 | end 47 | object Label3: TLabel 48 | Left = 493 49 | Top = 152 50 | Width = 80 51 | Height = 17 52 | Caption = 'Random Date' 53 | end 54 | object mmoRawConfig: TMemo 55 | AlignWithMargins = True 56 | Left = 10 57 | Top = 69 58 | Width = 368 59 | Height = 305 60 | Margins.Left = 10 61 | Margins.Bottom = 5 62 | TabStop = False 63 | Align = alLeft 64 | Lines.Strings = ( 65 | '==RAW Config File==') 66 | ReadOnly = True 67 | TabOrder = 0 68 | end 69 | object edtDescription: TLabeledEdit 70 | Left = 384 71 | Top = 89 72 | Width = 232 73 | Height = 25 74 | Anchors = [akLeft, akTop, akRight] 75 | EditLabel.Width = 66 76 | EditLabel.Height = 17 77 | EditLabel.Caption = '&Description' 78 | TabOrder = 1 79 | Text = '' 80 | end 81 | object chkOption1: TCheckBox 82 | Left = 384 83 | Top = 160 84 | Width = 75 85 | Height = 17 86 | Caption = 'Option 1' 87 | TabOrder = 2 88 | end 89 | object chkOption2: TCheckBox 90 | Left = 384 91 | Top = 183 92 | Width = 75 93 | Height = 17 94 | Caption = 'Option 2' 95 | TabOrder = 3 96 | end 97 | object edtFavNum: TSpinEdit 98 | Left = 384 99 | Top = 255 100 | Width = 121 101 | Height = 27 102 | MaxValue = 0 103 | MinValue = 0 104 | TabOrder = 4 105 | Value = 0 106 | end 107 | object btnLoad: TButton 108 | Left = 384 109 | Top = 312 110 | Width = 75 111 | Height = 25 112 | Caption = 'Load' 113 | TabOrder = 5 114 | OnClick = btnLoadClick 115 | end 116 | object btnSave: TButton 117 | Left = 384 118 | Top = 343 119 | Width = 75 120 | Height = 25 121 | Caption = 'Save' 122 | TabOrder = 6 123 | OnClick = btnSaveClick 124 | end 125 | object edtDateTimePicker: TDateTimePicker 126 | Left = 493 127 | Top = 175 128 | Width = 100 129 | Height = 25 130 | Date = 45422.000000000000000000 131 | Time = 0.974756909723510000 132 | TabOrder = 7 133 | end 134 | object grpConfigType: TRadioGroup 135 | Left = 480 136 | Top = 288 137 | Width = 146 138 | Height = 80 139 | Caption = 'Config Type' 140 | ItemIndex = 0 141 | Items.Strings = ( 142 | 'INI File' 143 | 'TXT w/ Semicolons') 144 | TabOrder = 8 145 | end 146 | end 147 | -------------------------------------------------------------------------------- /Demos/ufrmIniPersistDemo.pas: -------------------------------------------------------------------------------- 1 | unit ufrmIniPersistDemo; 2 | 3 | interface 4 | 5 | uses 6 | Controls, Forms, Dialogs, StdCtrls, Spin, Mask, ExtCtrls, ComCtrls, Classes, SysUtils; 7 | 8 | type 9 | TfrmIniPersistDemo = class(TForm) 10 | Label1: TLabel; 11 | mmoRawConfig: TMemo; 12 | edtDescription: TLabeledEdit; 13 | chkOption1: TCheckBox; 14 | chkOption2: TCheckBox; 15 | edtFavNum: TSpinEdit; 16 | Label2: TLabel; 17 | btnLoad: TButton; 18 | btnSave: TButton; 19 | edtDateTimePicker: TDateTimePicker; 20 | Label3: TLabel; 21 | grpConfigType: TRadioGroup; 22 | procedure FormCreate(Sender: TObject); 23 | procedure btnLoadClick(Sender: TObject); 24 | procedure btnSaveClick(Sender: TObject); 25 | private 26 | function GetIniFilename: string; 27 | function GetTxtFilename: string; 28 | procedure ShowRawConfigFile(const CfgFilename: string); 29 | procedure LoadSemicolonTxtFile; 30 | procedure SaveSemicolonTxtFile; 31 | procedure LoadConfigFile; 32 | procedure SaveConfigFile; 33 | procedure LoadSettings; 34 | procedure SaveSettings; 35 | procedure FillGUIFromIniSettings; 36 | procedure FillIniSettingsFromGUI; 37 | end; 38 | 39 | var 40 | frmIniPersistDemo: TfrmIniPersistDemo; 41 | 42 | implementation 43 | 44 | {$R *.dfm} 45 | 46 | uses 47 | uConfigIniPersist, 48 | uIniPersistDemoSettings; 49 | 50 | var 51 | IniPersistSettings: TIniPersisteDemoSettings; 52 | 53 | 54 | procedure TfrmIniPersistDemo.btnLoadClick(Sender: TObject); 55 | begin 56 | LoadSettings; 57 | end; 58 | 59 | procedure TfrmIniPersistDemo.btnSaveClick(Sender: TObject); 60 | begin 61 | SaveSettings; 62 | end; 63 | 64 | procedure TfrmIniPersistDemo.FillGuiFromIniSettings; 65 | begin 66 | edtDescription.Text := IniPersistSettings.Description; 67 | chkOption1.Checked := IniPersistSettings.Option1; 68 | chkOption2.Checked := IniPersistSettings.Option2; 69 | edtFavNum.Value := IniPersistSettings.FavoriteNumber; 70 | edtDateTimePicker.DateTime := IniPersistSettings.RandomDate; 71 | end; 72 | 73 | procedure TfrmIniPersistDemo.FillIniSettingsFromGUI; 74 | begin 75 | IniPersistSettings.Description := edtDescription.Text; 76 | IniPersistSettings.Option1 := chkOption1.Checked; 77 | IniPersistSettings.Option2 := chkOption2.Checked; 78 | IniPersistSettings.FavoriteNumber := edtFavNum.Value; 79 | IniPersistSettings.RandomDate := edtDateTimePicker.DateTime; 80 | end; 81 | 82 | procedure TfrmIniPersistDemo.FormCreate(Sender: TObject); 83 | begin 84 | IniPersistSettings := TIniPersisteDemoSettings.Create; 85 | LoadConfigFile; 86 | end; 87 | 88 | function TfrmIniPersistDemo.GetIniFilename: string; 89 | begin 90 | Result := ChangeFileExt(Application.ExeName, '.ini'); 91 | end; 92 | 93 | function TfrmIniPersistDemo.GetTxtFilename: string; 94 | begin 95 | Result := ChangeFileExt(Application.ExeName, '.txt'); 96 | end; 97 | 98 | procedure TfrmIniPersistDemo.LoadConfigFile; 99 | var 100 | ConfigFile: string; 101 | begin 102 | ConfigFile := GetIniFilename; 103 | IniPersistSettings.LoadFromIni(ConfigFile); 104 | ShowRawConfigFile(ConfigFile); 105 | 106 | FillGuiFromIniSettings; 107 | end; 108 | 109 | procedure TfrmIniPersistDemo.LoadSemicolonTxtFile; 110 | var 111 | ConfigFile: string; 112 | TxtFile: TStreamReader; 113 | s: string; 114 | ConfigStr: string; 115 | begin 116 | ConfigFile := GetTxtFilename; 117 | TxtFile := TStreamReader.Create(ConfigFile); 118 | try 119 | ConfigStr := EmptyStr; 120 | while not TxtFile.EndOfStream do begin 121 | s := TxtFile.ReadLine; 122 | if Length(s) > 0 then begin 123 | if Length(ConfigStr) > 0 then 124 | ConfigStr := ConfigStr + ';'; 125 | ConfigStr := Trim(ConfigStr + s); 126 | end; 127 | end; 128 | IniPersistSettings.LoadFromStr(ConfigStr); 129 | ShowRawConfigFile(ConfigFile); 130 | 131 | FillGUIFromIniSettings; 132 | finally 133 | TxtFile.Free; 134 | end; 135 | end; 136 | 137 | procedure TfrmIniPersistDemo.LoadSettings; 138 | begin 139 | case grpConfigType.ItemIndex of 140 | 0: LoadConfigFile; 141 | 1: LoadSemicolonTxtFile; 142 | end; 143 | end; 144 | 145 | procedure TfrmIniPersistDemo.SaveConfigFile; 146 | var 147 | IniFilename: string; 148 | begin 149 | FillIniSettingsFromGUI; 150 | 151 | IniFilename := GetIniFileName; 152 | IniPersistSettings.SaveToIni(IniFilename); 153 | ShowRawConfigFile(IniFilename); 154 | end; 155 | 156 | procedure TfrmIniPersistDemo.SaveSemicolonTxtFile; 157 | var 158 | ConfigFile: string; 159 | TxtFile: TStreamWriter; 160 | ConfigStr: string; 161 | begin 162 | FillIniSettingsFromGUI; 163 | 164 | ConfigFile := GetTxtFilename; 165 | TxtFile := TStreamWriter.Create(ConfigFile, False); 166 | try 167 | IniPersistSettings.SaveToStr(ConfigStr); 168 | TxtFile.WriteLine(ConfigStr); 169 | finally 170 | TxtFile.Free; 171 | end; 172 | ShowRawConfigFile(ConfigFile); 173 | end; 174 | 175 | procedure TfrmIniPersistDemo.SaveSettings; 176 | begin 177 | case grpConfigType.ItemIndex of 178 | 0: SaveConfigFile; 179 | 1: SaveSemicolonTxtFile; 180 | end; 181 | end; 182 | 183 | procedure TfrmIniPersistDemo.ShowRawConfigFile(const CfgFilename: string); 184 | begin 185 | mmoRawConfig.Lines.Clear; 186 | if FileExists(CfgFilename) then 187 | mmoRawConfig.Lines.LoadFromFile(CfgFilename); 188 | mmoRawConfig.Lines.Insert(0, '== Raw Config File (' + CfgFilename + ') =='); 189 | end; 190 | 191 | end. 192 | -------------------------------------------------------------------------------- /Demos/ufrmRegLayoutSaverDemo.dfm: -------------------------------------------------------------------------------- 1 | object frmRegLayoutSaver: TfrmRegLayoutSaver 2 | Left = 0 3 | Top = 0 4 | BorderIcons = [biSystemMenu] 5 | Caption = 'Registry Layout Saver Demo' 6 | ClientHeight = 196 7 | ClientWidth = 259 8 | Color = clBtnFace 9 | Constraints.MinHeight = 235 10 | Constraints.MinWidth = 275 11 | Font.Charset = DEFAULT_CHARSET 12 | Font.Color = clWindowText 13 | Font.Height = -11 14 | Font.Name = 'Tahoma' 15 | Font.Style = [] 16 | OldCreateOrder = False 17 | OnCreate = FormCreate 18 | OnDestroy = FormDestroy 19 | PixelsPerInch = 96 20 | TextHeight = 13 21 | object Label1: TLabel 22 | Left = 40 23 | Top = 120 24 | Width = 47 25 | Height = 13 26 | Caption = 'Int Value:' 27 | end 28 | object edtStrValue: TLabeledEdit 29 | Left = 40 30 | Top = 40 31 | Width = 169 32 | Height = 21 33 | EditLabel.Width = 61 34 | EditLabel.Height = 13 35 | EditLabel.Caption = 'String Value:' 36 | TabOrder = 0 37 | end 38 | object edtBoolValue: TCheckBox 39 | Left = 40 40 | Top = 80 41 | Width = 97 42 | Height = 17 43 | Caption = 'Boolean Value' 44 | TabOrder = 1 45 | end 46 | object edtIntValue: TSpinEdit 47 | Left = 40 48 | Top = 139 49 | Width = 65 50 | Height = 22 51 | MaxValue = 0 52 | MinValue = 0 53 | TabOrder = 2 54 | Value = 0 55 | end 56 | object ccRegistryLayoutSaver1: TccRegistryLayoutSaver 57 | Location = 'Software\bds' 58 | Section = 'frmRegLayoutSaver' 59 | OnBeforeRestore = ccRegistryLayoutSaver1BeforeRestore 60 | OnBeforeSave = ccRegistryLayoutSaver1BeforeSave 61 | Left = 160 62 | Top = 136 63 | end 64 | end 65 | -------------------------------------------------------------------------------- /Demos/ufrmRegLayoutSaverDemo.pas: -------------------------------------------------------------------------------- 1 | unit ufrmRegLayoutSaverDemo; 2 | 3 | interface 4 | 5 | uses 6 | SysUtils, Variants, Classes, Graphics, Spin, StdCtrls, 7 | Forms, Controls, ExtCtrls, LayoutSaver; 8 | 9 | type 10 | TfrmRegLayoutSaver = class(TForm) 11 | edtStrValue: TLabeledEdit; 12 | edtBoolValue: TCheckBox; 13 | edtIntValue: TSpinEdit; 14 | Label1: TLabel; 15 | ccRegistryLayoutSaver1: TccRegistryLayoutSaver; 16 | procedure FormCreate(Sender: TObject); 17 | procedure FormDestroy(Sender: TObject); 18 | procedure ccRegistryLayoutSaver1BeforeRestore(Sender: TObject); 19 | procedure ccRegistryLayoutSaver1BeforeSave(Sender: TObject); 20 | end; 21 | 22 | var 23 | frmRegLayoutSaver: TfrmRegLayoutSaver; 24 | 25 | implementation 26 | 27 | {$R *.dfm} 28 | 29 | uses 30 | Dialogs; 31 | 32 | const 33 | sIntValName = 'an integer value'; 34 | sBoolValName = 'a boolean value'; 35 | sStringValName = 'a string value'; 36 | 37 | procedure TfrmRegLayoutSaver.ccRegistryLayoutSaver1BeforeRestore(Sender: TObject); 38 | begin 39 | ShowMessage('restoring from ' + ccRegistryLayoutSaver1.Location + ' / ' + ccRegistryLayoutSaver1.Section); 40 | end; 41 | 42 | procedure TfrmRegLayoutSaver.ccRegistryLayoutSaver1BeforeSave(Sender: TObject); 43 | begin 44 | ShowMessage('saving to ' + ccRegistryLayoutSaver1.Location + ' / ' + ccRegistryLayoutSaver1.Section); 45 | end; 46 | 47 | procedure TfrmRegLayoutSaver.FormCreate(Sender: TObject); 48 | begin 49 | edtStrValue.Text := ccRegistryLayoutSaver1.RestoreStrValue(sStringValName); 50 | edtBoolValue.Checked := ccRegistryLayoutSaver1.RestoreBoolValue(sBoolValName); 51 | edtIntValue.Value := ccRegistryLayoutSaver1.RestoreIntValue(sIntValName); 52 | end; 53 | 54 | procedure TfrmRegLayoutSaver.FormDestroy(Sender: TObject); 55 | begin 56 | ccRegistryLayoutSaver1.SaveIntValue(sIntValName, edtIntValue.Value); 57 | ccRegistryLayoutSaver1.SaveBoolValue(sBoolValName, edtBoolValue.Checked); 58 | ccRegistryLayoutSaver1.SaveStrValue(sStringValName, edtStrValue.Text); 59 | end; 60 | 61 | end. 62 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 David Cornelius 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Packages/Delphi 10.1/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$LIBSUFFIX '240'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | designide, 36 | vcldb, 37 | dbrtl, 38 | vcl, 39 | ccLib_R; 40 | 41 | contains 42 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 43 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 44 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 45 | cc_reg in '..\..\source\cc_reg.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi 10.1/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 29 | {$LIBSUFFIX '240'} 30 | {$RUNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | vcl, 36 | dbrtl; 37 | 38 | contains 39 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 40 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 41 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 42 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /Packages/Delphi 10.2/cc_D102Tokyo_D.dpk: -------------------------------------------------------------------------------- 1 | package cc_D102Tokyo_D; 2 | 3 | {$R *.res} 4 | {$R 'elapsedtimer\ElapsedTimerReg.dcr'} 5 | {$R 'idleclose\CloseApplicationReg.dcr'} 6 | {$R 'layoutsaver\LayoutSaverReg.dcr'} 7 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 8 | {$ALIGN 8} 9 | {$ASSERTIONS ON} 10 | {$BOOLEVAL OFF} 11 | {$DEBUGINFO OFF} 12 | {$EXTENDEDSYNTAX ON} 13 | {$IMPORTEDDATA ON} 14 | {$IOCHECKS ON} 15 | {$LOCALSYMBOLS ON} 16 | {$LONGSTRINGS ON} 17 | {$OPENSTRINGS ON} 18 | {$OPTIMIZATION OFF} 19 | {$OVERFLOWCHECKS OFF} 20 | {$RANGECHECKS OFF} 21 | {$REFERENCEINFO ON} 22 | {$SAFEDIVIDE OFF} 23 | {$STACKFRAMES ON} 24 | {$TYPEDADDRESS OFF} 25 | {$VARSTRINGCHECKS ON} 26 | {$WRITEABLECONST OFF} 27 | {$MINENUMSIZE 1} 28 | {$IMAGEBASE $400000} 29 | {$DEFINE DEBUG} 30 | {$ENDIF IMPLICITBUILDING} 31 | {$DESCRIPTION 'Cornelius Concepts Components'} 32 | {$DESIGNONLY} 33 | {$IMPLICITBUILD OFF} 34 | 35 | requires 36 | rtl, 37 | cc_D102Tokyo_R, 38 | designide, 39 | vcldb, 40 | dbrtl, 41 | vcl; 42 | 43 | contains 44 | CloseApplicationReg in 'idleclose\CloseApplicationReg.pas', 45 | ElapsedTimerReg in 'elapsedtimer\ElapsedTimerReg.pas', 46 | LayoutSaverReg in 'layoutsaver\LayoutSaverReg.pas', 47 | cc_reg in 'cc_reg.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /Packages/Delphi 10.2/cc_D102Tokyo_R.dpk: -------------------------------------------------------------------------------- 1 | package cc_D102Tokyo_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vcl, 35 | dbrtl; 36 | 37 | contains 38 | ElapsedTimer in 'elapsedtimer\ElapsedTimer.pas', 39 | AppIdleWarn in 'idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 40 | CloseApplication in 'idleclose\CloseApplication.pas', 41 | LayoutSaver in 'layoutsaver\LayoutSaver.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /Packages/Delphi 10.3/cc_D103Rio_D.dpk: -------------------------------------------------------------------------------- 1 | package cc_D103Rio_D; 2 | 3 | {$R *.res} 4 | {$R 'idleclose\CloseApplicationReg.dcr'} 5 | {$R 'layoutsaver\LayoutSaverReg.dcr'} 6 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 7 | {$ALIGN 8} 8 | {$ASSERTIONS ON} 9 | {$BOOLEVAL OFF} 10 | {$DEBUGINFO OFF} 11 | {$EXTENDEDSYNTAX ON} 12 | {$IMPORTEDDATA ON} 13 | {$IOCHECKS ON} 14 | {$LOCALSYMBOLS ON} 15 | {$LONGSTRINGS ON} 16 | {$OPENSTRINGS ON} 17 | {$OPTIMIZATION OFF} 18 | {$OVERFLOWCHECKS OFF} 19 | {$RANGECHECKS OFF} 20 | {$REFERENCEINFO ON} 21 | {$SAFEDIVIDE OFF} 22 | {$STACKFRAMES ON} 23 | {$TYPEDADDRESS OFF} 24 | {$VARSTRINGCHECKS ON} 25 | {$WRITEABLECONST OFF} 26 | {$MINENUMSIZE 1} 27 | {$IMAGEBASE $400000} 28 | {$DEFINE DEBUG} 29 | {$ENDIF IMPLICITBUILDING} 30 | {$DESCRIPTION 'Cornelius Concepts Components'} 31 | {$DESIGNONLY} 32 | {$IMPLICITBUILD OFF} 33 | 34 | requires 35 | rtl, 36 | cc_D103Rio_R, 37 | designide, 38 | vcldb, 39 | dbrtl, 40 | vcl; 41 | 42 | contains 43 | CloseApplicationReg in 'idleclose\CloseApplicationReg.pas', 44 | LayoutSaverReg in 'layoutsaver\LayoutSaverReg.pas', 45 | cc_reg in 'cc_reg.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi 10.3/cc_D103Rio_R.dpk: -------------------------------------------------------------------------------- 1 | package cc_D103Rio_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vcl, 35 | dbrtl; 36 | 37 | contains 38 | AppIdleWarn in 'idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 39 | CloseApplication in 'idleclose\CloseApplication.pas', 40 | LayoutSaver in 'layoutsaver\LayoutSaver.pas'; 41 | 42 | end. 43 | -------------------------------------------------------------------------------- /Packages/Delphi 10.4/cc.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/Packages/Delphi 10.4/cc.res -------------------------------------------------------------------------------- /Packages/Delphi 10.4/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$LIBSUFFIX AUTO} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | vcl, 36 | DesignIDE, 37 | ccLib_R; 38 | 39 | contains 40 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 41 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 42 | cc_reg in '..\..\source\cc_reg.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /Packages/Delphi 10.4/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 29 | {$LIBSUFFIX AUTO} 30 | {$RUNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | vcl, 36 | dbrtl; 37 | 38 | contains 39 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 40 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 41 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 42 | uXmlDates in '..\..\Source\misc\uXmlDates.pas', 43 | uConfigIniPersist in '..\..\Source\misc\uConfigIniPersist.pas', 44 | uSearchRecList in '..\..\Source\misc\uSearchRecList.pas', 45 | uTestUtils in '..\..\Source\misc\uTestUtils.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi 10/cc_D10Seattle_D.dpk: -------------------------------------------------------------------------------- 1 | package cc_D10Seattle_D; 2 | 3 | {$R *.res} 4 | {$R 'elapsedtimer\ElapsedTimerReg.dcr'} 5 | {$R 'idleclose\CloseApplicationReg.dcr'} 6 | {$R 'layoutsaver\LayoutSaverReg.dcr'} 7 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 8 | {$ALIGN 8} 9 | {$ASSERTIONS ON} 10 | {$BOOLEVAL OFF} 11 | {$DEBUGINFO OFF} 12 | {$EXTENDEDSYNTAX ON} 13 | {$IMPORTEDDATA ON} 14 | {$IOCHECKS ON} 15 | {$LOCALSYMBOLS OFF} 16 | {$LONGSTRINGS ON} 17 | {$OPENSTRINGS ON} 18 | {$OPTIMIZATION ON} 19 | {$OVERFLOWCHECKS OFF} 20 | {$RANGECHECKS OFF} 21 | {$REFERENCEINFO OFF} 22 | {$SAFEDIVIDE OFF} 23 | {$STACKFRAMES OFF} 24 | {$TYPEDADDRESS OFF} 25 | {$VARSTRINGCHECKS ON} 26 | {$WRITEABLECONST OFF} 27 | {$MINENUMSIZE 1} 28 | {$IMAGEBASE $400000} 29 | {$DEFINE RELEASE} 30 | {$ENDIF IMPLICITBUILDING} 31 | {$DESCRIPTION 'Cornelius Concepts Components'} 32 | {$DESIGNONLY} 33 | {$IMPLICITBUILD OFF} 34 | 35 | requires 36 | rtl, 37 | cc_D10Seattle_R, 38 | designide, 39 | vcldb, 40 | dbrtl, 41 | vcl; 42 | 43 | contains 44 | CloseApplicationReg in 'idleclose\CloseApplicationReg.pas', 45 | ElapsedTimerReg in 'elapsedtimer\ElapsedTimerReg.pas', 46 | LayoutSaverReg in 'layoutsaver\LayoutSaverReg.pas', 47 | cc_reg in 'cc_reg.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /Packages/Delphi 10/cc_D10Seattle_R.dpk: -------------------------------------------------------------------------------- 1 | package cc_D10Seattle_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS OFF} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vcl, 35 | dbrtl; 36 | 37 | contains 38 | ElapsedTimer in 'elapsedtimer\ElapsedTimer.pas', 39 | AppIdleWarn in 'idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 40 | CloseApplication in 'idleclose\CloseApplication.pas', 41 | LayoutSaver in 'layoutsaver\LayoutSaver.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /Packages/Delphi 11/cc.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/Packages/Delphi 11/cc.res -------------------------------------------------------------------------------- /Packages/Delphi 11/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$LIBSUFFIX AUTO} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | vcl, 36 | DesignIDE, 37 | ccLib_R; 38 | 39 | contains 40 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 41 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 42 | cc_reg in '..\..\source\cc_reg.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /Packages/Delphi 11/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 29 | {$LIBSUFFIX AUTO} 30 | {$RUNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | vcl, 36 | dbrtl; 37 | 38 | contains 39 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 40 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 41 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 42 | uConfigIniPersist in '..\..\source\misc\uConfigIniPersist.pas', 43 | uSearchRecList in '..\..\source\misc\uSearchRecList.pas', 44 | uTestUtils in '..\..\source\misc\uTestUtils.pas', 45 | uXmlDates in '..\..\source\misc\uXmlDates.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi 12/cc.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/Packages/Delphi 12/cc.res -------------------------------------------------------------------------------- /Packages/Delphi 12/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$LIBSUFFIX AUTO} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | vcl, 36 | DesignIDE, 37 | ccLib_R; 38 | 39 | contains 40 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 41 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 42 | cc_reg in '..\..\source\cc_reg.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /Packages/Delphi 12/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 29 | {$LIBSUFFIX AUTO} 30 | {$RUNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | vcl, 36 | dbrtl; 37 | 38 | contains 39 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 40 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 41 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 42 | uConfigIniPersist in '..\..\source\misc\uConfigIniPersist.pas', 43 | uSearchRecList in '..\..\source\misc\uSearchRecList.pas', 44 | uTestUtils in '..\..\source\misc\uTestUtils.pas', 45 | uXmlDates in '..\..\source\misc\uXmlDates.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi 2007/cc_D2007_D.dpk: -------------------------------------------------------------------------------- 1 | package cc_D2010_D; 2 | 3 | {$R *.res} 4 | {$R 'elapsedtimer\ElapsedTimerReg.dcr'} 5 | {$R 'idleclose\CloseApplicationReg.dcr'} 6 | {$R 'layoutsaver\LayoutSaverReg.dcr'} 7 | {$ALIGN 8} 8 | {$ASSERTIONS OFF} 9 | {$BOOLEVAL OFF} 10 | {$DEBUGINFO OFF} 11 | {$EXTENDEDSYNTAX ON} 12 | {$IMPORTEDDATA ON} 13 | {$IOCHECKS ON} 14 | {$LOCALSYMBOLS OFF} 15 | {$LONGSTRINGS ON} 16 | {$OPENSTRINGS ON} 17 | {$OPTIMIZATION ON} 18 | {$OVERFLOWCHECKS OFF} 19 | {$RANGECHECKS OFF} 20 | {$REFERENCEINFO OFF} 21 | {$SAFEDIVIDE OFF} 22 | {$STACKFRAMES OFF} 23 | {$TYPEDADDRESS OFF} 24 | {$VARSTRINGCHECKS ON} 25 | {$WRITEABLECONST OFF} 26 | {$MINENUMSIZE 1} 27 | {$IMAGEBASE $400000} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$DESIGNONLY} 30 | {$IMPLICITBUILD OFF} 31 | {$DEFINE RELEASE} 32 | 33 | requires 34 | cc_D2007_R, 35 | rtl, 36 | designide, 37 | vcldb, 38 | dbrtl, 39 | vcl, 40 | xmlrtl, 41 | vclactnband, 42 | vclx; 43 | 44 | contains 45 | CloseApplicationReg in 'idleclose\CloseApplicationReg.pas', 46 | ElapsedTimerReg in 'elapsedtimer\ElapsedTimerReg.pas', 47 | LayoutSaverReg in 'layoutsaver\LayoutSaverReg.pas', 48 | cc_reg in 'cc_reg.pas'; 49 | 50 | end. 51 | -------------------------------------------------------------------------------- /Packages/Delphi 2007/cc_D2007_D.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | {6f54d5cb-2446-4c3b-9b7c-7811487e9341} 5 | cc_D2007_D.dpk 6 | Release 7 | AnyCPU 8 | DCC32 9 | C:\Users\Public\Documents\RAD Studio\5.0\Bpl\cc_D2007_D.bpl 10 | 11 | 12 | 7.0 13 | False 14 | False 15 | 0 16 | RELEASE 17 | False 18 | $(BDSCOMMONDIR)\Dcp 19 | $(BDSCOMMONDIR)\Dcp 20 | $(BDSCOMMONDIR)\Dcp 21 | $(BDSCOMMONDIR)\Bpl 22 | $(BDSCOMMONDIR)\Dcp 23 | 24 | 25 | 7.0 26 | 0 27 | RELEASE 28 | $(BDSCOMMONDIR)\Dcp 29 | $(BDSCOMMONDIR)\Dcp 30 | $(BDSCOMMONDIR)\Dcp 31 | $(BDSCOMMONDIR)\Bpl 32 | $(BDSCOMMONDIR)\Dcp 33 | 34 | 35 | Delphi.Personality 36 | Package 37 | 38 | FalseTrueFalseCornelius Concepts ComponentsFalseTrueFalseTrueFalse1000FalseFalseFalseFalseFalse103312521.0.0.01.0.0.0cc_D2007_D.dpk 39 | 40 | 41 | 42 | 43 | Microsoft Office 2000 Sample Automation Server Wrapper Components 44 | Microsoft Office XP Sample Automation Server Wrapper Components 45 | 46 | 47 | 48 | 49 | 50 | MainSource 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /Packages/Delphi 2007/cc_D2007_R.dpk: -------------------------------------------------------------------------------- 1 | package cc_D2007_R; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS OFF} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO OFF} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS OFF} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO OFF} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Cornelius Concepts Components'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | {$DEFINE RELEASE} 29 | 30 | requires 31 | rtl, 32 | vcl, 33 | dbrtl; 34 | 35 | contains 36 | ElapsedTimer in 'elapsedtimer\ElapsedTimer.pas', 37 | AppIdleWarn in 'idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 38 | CloseApplication in 'idleclose\CloseApplication.pas', 39 | LayoutSaver in 'layoutsaver\LayoutSaver.pas'; 40 | 41 | end. 42 | -------------------------------------------------------------------------------- /Packages/Delphi 2007/cc_D2007_R.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | {5f79a8f7-fd8a-45ca-9e49-a284fcbcfef1} 5 | cc_D2007_R.dpk 6 | Release 7 | AnyCPU 8 | DCC32 9 | C:\Users\Public\Documents\RAD Studio\5.0\Bpl\cc_D2007_R.bpl 10 | 11 | 12 | 7.0 13 | False 14 | False 15 | False 16 | 0 17 | RELEASE 18 | $(BDSCOMMONDIR)\Dcp 19 | $(BDSCOMMONDIR)\Dcp 20 | $(BDSCOMMONDIR)\Dcp 21 | $(BDSCOMMONDIR)\Bpl 22 | $(BDSCOMMONDIR)\Dcp 23 | 24 | 25 | 7.0 26 | False 27 | 0 28 | DEBUG 29 | $(BDSCOMMONDIR)\Dcp 30 | $(BDSCOMMONDIR)\Dcp 31 | $(BDSCOMMONDIR)\Dcp 32 | $(BDSCOMMONDIR)\Bpl 33 | $(BDSCOMMONDIR)\Dcp 34 | 35 | 36 | Delphi.Personality 37 | Package 38 | 39 | FalseTrueFalseCornelius Concepts Delphi LibraryFalseFalseTrueTrueFalse1000FalseFalseFalseFalseFalse103312521.0.0.01.0.0.0cc_D2007_R.dpk 40 | 41 | 42 | 43 | 44 | MainSource 45 | 46 | 47 | 48 | 49 | 50 | 51 |
fmAppIdleWarn
52 |
53 | 54 | 55 |
56 |
-------------------------------------------------------------------------------- /Packages/Delphi 2010/cc_D2010_D.dpk: -------------------------------------------------------------------------------- 1 | package cc_D2010_D; 2 | 3 | {$R *.res} 4 | {$R 'elapsedtimer\ElapsedTimerReg.dcr'} 5 | {$R 'idleclose\CloseApplicationReg.dcr'} 6 | {$R 'layoutsaver\LayoutSaverReg.dcr'} 7 | {$ALIGN 8} 8 | {$ASSERTIONS ON} 9 | {$BOOLEVAL OFF} 10 | {$DEBUGINFO ON} 11 | {$EXTENDEDSYNTAX ON} 12 | {$IMPORTEDDATA ON} 13 | {$IOCHECKS ON} 14 | {$LOCALSYMBOLS ON} 15 | {$LONGSTRINGS ON} 16 | {$OPENSTRINGS ON} 17 | {$OPTIMIZATION ON} 18 | {$OVERFLOWCHECKS OFF} 19 | {$RANGECHECKS OFF} 20 | {$REFERENCEINFO OFF} 21 | {$SAFEDIVIDE OFF} 22 | {$STACKFRAMES OFF} 23 | {$TYPEDADDRESS OFF} 24 | {$VARSTRINGCHECKS ON} 25 | {$WRITEABLECONST OFF} 26 | {$MINENUMSIZE 1} 27 | {$IMAGEBASE $400000} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$DESIGNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | cc_D2010_R, 34 | rtl, 35 | designide, 36 | vcldb, 37 | dbrtl, 38 | vcl; 39 | 40 | contains 41 | cc_splash in 'cc_splash.pas', 42 | EDBTableLookupReg in 'edbtablelookup\EDBTableLookupReg.pas', 43 | CloseApplicationReg in 'idleclose\CloseApplicationReg.pas', 44 | ElapsedTimerReg in 'elapsedtimer\ElapsedTimerReg.pas', 45 | LayoutSaverReg in 'layoutsaver\LayoutSaverReg.pas', 46 | MergeTxtReg in 'mergetext\MergeTxtReg.pas', 47 | TextFileLoggerReg in 'textfilelogger\TextFileLoggerReg.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /Packages/Delphi 2010/cc_D2010_R.dpk: -------------------------------------------------------------------------------- 1 | package cc_D2010_R; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS OFF} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO OFF} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | 29 | requires 30 | rtl, 31 | vcl, 32 | dbrtl, 33 | vcldb, 34 | edbrun, 35 | CodeSiteLoggingVcl; 36 | 37 | contains 38 | ufrmEDBTableLookup in 'edbtablelookup\ufrmEDBTableLookup.pas' {frmEDBTableLookup}, 39 | ElapsedTimer in 'elapsedtimer\ElapsedTimer.pas', 40 | AppIdleWarn in 'idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 41 | CloseApplication in 'idleclose\CloseApplication.pas', 42 | LayoutSaver in 'layoutsaver\LayoutSaver.pas', 43 | Mergetxt in 'mergetext\Mergetxt.pas', 44 | TextFileLogger in 'textfilelogger\TextFileLogger.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /Packages/Delphi 5/ccLib_D5_D.cfg: -------------------------------------------------------------------------------- 1 | -$A+ 2 | -$B- 3 | -$C- 4 | -$D- 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L- 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$Y- 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -LE"c:\borland\delphi5\Projects\Bpl" 35 | -LN"c:\borland\delphi5\Projects\Bpl" 36 | -U"..\..\source" 37 | -O"..\..\source" 38 | -I"..\..\source" 39 | -R"..\..\source" 40 | -DRELEASE 41 | -Z 42 | -------------------------------------------------------------------------------- /Packages/Delphi 5/ccLib_D5_D.dof: -------------------------------------------------------------------------------- 1 | [Compiler] 2 | A=1 3 | B=0 4 | C=0 5 | D=0 6 | E=0 7 | F=0 8 | G=1 9 | H=1 10 | I=1 11 | J=0 12 | K=0 13 | L=0 14 | M=0 15 | N=1 16 | O=1 17 | P=1 18 | Q=0 19 | R=0 20 | S=0 21 | T=0 22 | U=0 23 | V=1 24 | W=0 25 | X=1 26 | Y=0 27 | Z=1 28 | ShowHints=1 29 | ShowWarnings=1 30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 31 | [Linker] 32 | MapFile=0 33 | OutputObjs=0 34 | ConsoleApp=1 35 | DebugInfo=0 36 | RemoteSymbols=0 37 | MinStackSize=16384 38 | MaxStackSize=1048576 39 | ImageBase=4194304 40 | ExeDescription=Cornelius Concepts Components 41 | [Directories] 42 | OutputDir= 43 | UnitOutputDir= 44 | PackageDLLOutputDir=$(DELPHI)\Projects\Bpl 45 | PackageDCPOutputDir=$(DELPHI)\Projects\Bpl 46 | SearchPath=..\..\source 47 | Packages=Vcl50;Vclx50;VclSmp50;Vcldb50;Vclbde50;vcldbx50;vclie50;Inetdb50;Inet50;dclocx50;dclaxserver50;bde50r01;css50r01;ip50_d5;cam50r01;log50;UTL50;new50;cdm50;cfg50r01;win50;dta45ca;dbl45;ip50word_d5;cmp50;new50sql;cls50r01;S403br50 48 | Conditionals=RELEASE 49 | DebugSourceDirs= 50 | UsePackages=0 51 | [Parameters] 52 | RunParams= 53 | HostApplication= 54 | [Version Info] 55 | IncludeVerInfo=1 56 | AutoIncBuild=0 57 | MajorVer=1 58 | MinorVer=0 59 | Release=0 60 | Build=0 61 | Debug=0 62 | PreRelease=0 63 | Special=0 64 | Private=0 65 | DLL=0 66 | Locale=1033 67 | CodePage=1252 68 | [Version Info Keys] 69 | CompanyName= 70 | FileDescription= 71 | FileVersion=1.0.0.0 72 | InternalName= 73 | LegalCopyright= 74 | LegalTrademarks= 75 | OriginalFilename= 76 | ProductName= 77 | ProductVersion=1.0.0.0 78 | Comments= 79 | [Excluded Packages] 80 | $(DELPHI)\Projects\Bpl\ccLib_D5_D.bpl=Cornelius Concepts Components 81 | -------------------------------------------------------------------------------- /Packages/Delphi 5/ccLib_D5_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D5_D; 2 | 3 | {$R *.RES} 4 | {$R '..\..\source\idleclose\CloseApplicationReg.dcr'} 5 | {$ALIGN ON} 6 | {$ASSERTIONS OFF} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Cornelius Concepts Components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | {$DEFINE RELEASE} 30 | 31 | requires 32 | ccLib_D5_R; 33 | 34 | contains 35 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas'; 36 | 37 | end. 38 | -------------------------------------------------------------------------------- /Packages/Delphi 5/ccLib_D5_R.cfg: -------------------------------------------------------------------------------- 1 | -$A+ 2 | -$B- 3 | -$C- 4 | -$D- 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L- 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$Y- 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -LE"c:\borland\delphi5\Projects\Bpl" 35 | -LN"c:\borland\delphi5\Projects\Bpl" 36 | -U"..\..\source" 37 | -O"..\..\source" 38 | -I"..\..\source" 39 | -R"..\..\source" 40 | -DRELEASE 41 | -Z 42 | -------------------------------------------------------------------------------- /Packages/Delphi 5/ccLib_D5_R.dof: -------------------------------------------------------------------------------- 1 | [Compiler] 2 | A=1 3 | B=0 4 | C=0 5 | D=0 6 | E=0 7 | F=0 8 | G=1 9 | H=1 10 | I=1 11 | J=0 12 | K=0 13 | L=0 14 | M=0 15 | N=1 16 | O=1 17 | P=1 18 | Q=0 19 | R=0 20 | S=0 21 | T=0 22 | U=0 23 | V=1 24 | W=0 25 | X=1 26 | Y=0 27 | Z=1 28 | ShowHints=1 29 | ShowWarnings=1 30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 31 | [Linker] 32 | MapFile=0 33 | OutputObjs=0 34 | ConsoleApp=1 35 | DebugInfo=0 36 | RemoteSymbols=0 37 | MinStackSize=16384 38 | MaxStackSize=1048576 39 | ImageBase=4194304 40 | ExeDescription=Cornelius Concepts Components 41 | [Directories] 42 | OutputDir= 43 | UnitOutputDir= 44 | PackageDLLOutputDir=$(DELPHI)\Projects\Bpl 45 | PackageDCPOutputDir=$(DELPHI)\Projects\Bpl 46 | SearchPath=..\..\source 47 | Packages=Vcl50;Vclx50;VclSmp50;Vcldb50;Vclbde50;vcldbx50;vclie50;Inetdb50;Inet50;dclocx50;dclaxserver50;bde50r01;css50r01;ip50_d5;cam50r01;log50;UTL50;new50;cdm50;cfg50r01;win50;dta45ca;dbl45;ip50word_d5;cmp50;new50sql;cls50r01;S403br50 48 | Conditionals=RELEASE 49 | DebugSourceDirs= 50 | UsePackages=0 51 | [Parameters] 52 | RunParams= 53 | HostApplication= 54 | [Version Info] 55 | IncludeVerInfo=1 56 | AutoIncBuild=0 57 | MajorVer=1 58 | MinorVer=0 59 | Release=0 60 | Build=0 61 | Debug=0 62 | PreRelease=0 63 | Special=0 64 | Private=0 65 | DLL=0 66 | Locale=1033 67 | CodePage=1252 68 | [Version Info Keys] 69 | CompanyName= 70 | FileDescription= 71 | FileVersion=1.0.0.0 72 | InternalName= 73 | LegalCopyright= 74 | LegalTrademarks= 75 | OriginalFilename= 76 | ProductName= 77 | ProductVersion=1.0.0.0 78 | Comments= 79 | -------------------------------------------------------------------------------- /Packages/Delphi 5/ccLib_D5_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D5_R; 2 | 3 | {$R *.RES} 4 | {$ALIGN ON} 5 | {$ASSERTIONS OFF} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO OFF} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS OFF} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO OFF} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Cornelius Concepts Components'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | {$DEFINE RELEASE} 29 | 30 | requires 31 | Vcl50, 32 | Vcldb50; 33 | 34 | contains 35 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 36 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas'; 37 | 38 | end. 39 | -------------------------------------------------------------------------------- /Packages/Delphi XE/cc.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/Packages/Delphi XE/cc.res -------------------------------------------------------------------------------- /Packages/Delphi XE/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS OFF} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO OFF} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Cornelius Concepts Components'} 26 | {$LIBSUFFIX '150'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | {$DEFINE RELEASE} 30 | 31 | requires 32 | rtl, 33 | designide, 34 | vcldb, 35 | dbrtl, 36 | vcl, 37 | ccLib_R; 38 | 39 | contains 40 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 41 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 42 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 43 | cc_reg in '..\..\source\cc_reg.pas'; 44 | 45 | end. 46 | -------------------------------------------------------------------------------- /Packages/Delphi XE/ccLib_D.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {B9231CE4-668B-40C5-8322-59235F9B931D} 4 | ccLib_D.dpk 5 | Release 6 | DCC32 7 | 12.3 8 | True 9 | Win32 10 | Package 11 | VCL 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | false 28 | RELEASE;$(DCC_Define) 29 | ..\..\source;$(DCC_UnitSearchPath) 30 | 150 31 | $(BDSCOMMONDIR)\Dcp 32 | true 33 | 00400000 34 | true 35 | 0 36 | C:\Users\Public\Documents\RAD Studio\7.0\Bpl\cc_DXE_D.bpl 37 | WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias) 38 | x86 39 | Cornelius Concepts Components 40 | false 41 | false 42 | true 43 | false 44 | true 45 | false 46 | false 47 | 48 | 49 | 3 50 | false 51 | 52 | 53 | DEBUG;UseCodeSite;$(DCC_Define) 54 | 55 | 56 | 57 | MainSource 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | Cfg_2 71 | Base 72 | 73 | 74 | Base 75 | 76 | 77 | Cfg_1 78 | Base 79 | 80 | 81 | 82 | 83 | 84 | Delphi.Personality.12 85 | Package 86 | 87 | 88 | 89 | ccLib_D.dpk 90 | 91 | 92 | 93 | True 94 | False 95 | 1 96 | 0 97 | 0 98 | 0 99 | False 100 | False 101 | False 102 | False 103 | False 104 | 1033 105 | 1252 106 | 107 | 108 | Cornelius Concepts, LLC 109 | 110 | 1.0.0.0 111 | 112 | 113 | 114 | 115 | 116 | 1.0.0.0 117 | 118 | 2024-05-13 20:52 119 | 120 | 121 | Microsoft Office 2000 Sample Automation Server Wrapper Components 122 | Microsoft Office XP Sample Automation Server Wrapper Components 123 | RemObjects SDK - IDE Integration for Win32 124 | RemObjects SDK - Indy Library 125 | RemObjects SDK - Server IDE Integration for Win32 126 | RemObjects SDK - Server Indy Library 127 | RemObjects SDK - WebBroker Library 128 | 129 | 130 | 131 | True 132 | 133 | 134 | 12 135 | 136 | 137 | -------------------------------------------------------------------------------- /Packages/Delphi XE/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS OFF} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO OFF} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 26 | {$LIBSUFFIX '150'} 27 | {$RUNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | vcl, 33 | dbrtl; 34 | 35 | contains 36 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 37 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 38 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 39 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 40 | uConfigIniPersist in '..\..\Source\misc\uConfigIniPersist.pas', 41 | uTestUtils in '..\..\Source\misc\uTestUtils.pas', 42 | uXmlDates in '..\..\Source\misc\uXmlDates.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /Packages/Delphi XE/ccLib_R.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {8178B323-479A-4104-949D-2359FC3FBE8E} 4 | ccLib_R.dpk 5 | Release 6 | DCC32 7 | 12.3 8 | True 9 | Win32 10 | Package 11 | VCL 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | ..\..\source;$(DCC_UnitSearchPath) 28 | 150 29 | $(BDSCOMMONDIR)\Dcp 30 | false 31 | false 32 | true 33 | C:\Users\Public\Documents\RAD Studio\7.0\Bpl\cc_DXE_R.bpl 34 | 00400000 35 | 0 36 | true 37 | WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias) 38 | x86 39 | Cornelius Concepts Delphi Library 40 | false 41 | false 42 | true 43 | false 44 | true 45 | false 46 | false 47 | 48 | 49 | false 50 | false 51 | RELEASE;$(DCC_Define) 52 | 0 53 | false 54 | 55 | 56 | DEBUG;UseCodeSite;$(DCC_Define) 57 | 58 | 59 | 60 | MainSource 61 | 62 | 63 | 64 | 65 | 66 | 67 |
fmAppIdleWarn
68 |
69 | 70 | 71 | 72 | 73 | 74 | 75 | Cfg_2 76 | Base 77 | 78 | 79 | Base 80 | 81 | 82 | Cfg_1 83 | Base 84 | 85 |
86 | 87 | 88 | 89 | 90 | 91 | 92 | Delphi.Personality.12 93 | Package 94 | 95 | 96 | 97 | ccLib_R.dpk 98 | 99 | 100 | 101 | True 102 | False 103 | 1 104 | 0 105 | 0 106 | 0 107 | False 108 | False 109 | False 110 | False 111 | False 112 | 1033 113 | 1252 114 | 115 | 116 | Cornelius Concepts, LLC 117 | 118 | 1.0.0.0 119 | 120 | 121 | 122 | 123 | 124 | 1.0.0.0 125 | 126 | 2024-05-13 20:52 127 | 128 | 129 | File c:\program files (x86)\embarcadero\rad studio\8.0\bin\dacvcl150.bpl not found 130 | File c:\program files (x86)\embarcadero\rad studio\8.0\bin\dcldac150.bpl not found 131 | Embarcadero Internet Components 132 | Embarcadero WebSnap Components 133 | Embarcadero SOAP Components 134 | Embarcadero Enterprise Driver Components 135 | 136 | 137 | 138 | True 139 | 140 | 141 | 12 142 | 143 |
144 | -------------------------------------------------------------------------------- /Packages/Delphi XE2/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$LIBSUFFIX '16'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | designide, 36 | vcldb, 37 | dbrtl, 38 | vcl, 39 | ccLib_R; 40 | 41 | contains 42 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 43 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 44 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 45 | cc_reg in '..\..\source\cc_reg.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi XE2/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '16'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vcl, 35 | dbrtl; 36 | 37 | contains 38 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 39 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 40 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 41 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /Packages/Delphi XE3/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$LIBSUFFIX '17'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | designide, 36 | vcldb, 37 | dbrtl, 38 | vcl, 39 | ccLib_R; 40 | 41 | contains 42 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 43 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 44 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 45 | cc_reg in '..\..\source\cc_reg.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi XE3/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '17'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vclimg, 35 | vcl, 36 | dbrtl; 37 | 38 | contains 39 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 40 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 41 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 42 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 43 | uConfigIniPersist in '..\..\Source\misc\uConfigIniPersist.pas', 44 | uSearchRecList in '..\..\Source\misc\uSearchRecList.pas', 45 | uTestUtils in '..\..\Source\misc\uTestUtils.pas', 46 | uXmlDates in '..\..\Source\misc\uXmlDates.pas'; 47 | 48 | end. 49 | -------------------------------------------------------------------------------- /Packages/Delphi XE4/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$LIBSUFFIX '17'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | designide, 36 | vcldb, 37 | dbrtl, 38 | vcl, 39 | ccLib_R; 40 | 41 | contains 42 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 43 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 44 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 45 | cc_reg in '..\..\source\cc_reg.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi XE4/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '18'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vclimg, 35 | vcl, 36 | dbrtl; 37 | 38 | contains 39 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 40 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 41 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 42 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 43 | uConfigIniPersist in '..\..\Source\misc\uConfigIniPersist.pas', 44 | uSearchRecList in '..\..\Source\misc\uSearchRecList.pas', 45 | uTestUtils in '..\..\Source\misc\uTestUtils.pas', 46 | uXmlDates in '..\..\Source\misc\uXmlDates.pas'; 47 | 48 | end. 49 | -------------------------------------------------------------------------------- /Packages/Delphi XE5/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '19'} 29 | {$DESIGNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | DesignIDE, 34 | rtl, 35 | ccLib_R; 36 | 37 | contains 38 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 39 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 40 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 41 | cc_reg in '..\..\source\cc_reg.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /Packages/Delphi XE5/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '19'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vcl, 35 | dbrtl; 36 | 37 | contains 38 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 39 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 40 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 41 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 42 | uConfigIniPersist in '..\..\Source\misc\uConfigIniPersist.pas', 43 | uSearchRecList in '..\..\Source\misc\uSearchRecList.pas', 44 | uTestUtils in '..\..\Source\misc\uTestUtils.pas', 45 | uXmlDates in '..\..\Source\misc\uXmlDates.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi XE6/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '20'} 29 | {$DESIGNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | DesignIDE, 34 | rtl, 35 | ccLib_R; 36 | 37 | contains 38 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 39 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 40 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 41 | cc_reg in '..\..\source\cc_reg.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /Packages/Delphi XE6/ccLib_D.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {AC4CF8E3-EE6E-41D5-9F23-B921C13D050E} 4 | ccLib_D.dpk 5 | 15.4 6 | VCL 7 | True 8 | Release 9 | Win32 10 | 1 11 | Package 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Cfg_1 34 | true 35 | true 36 | 37 | 38 | true 39 | Base 40 | true 41 | 42 | 43 | true 44 | Cfg_2 45 | true 46 | true 47 | 48 | 49 | ..\..\source;$(DCC_UnitSearchPath) 50 | 20 51 | true 52 | CompanyName=Cornelius Concepts, LLC;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 53 | 1033 54 | ccLib_D 55 | All 56 | true 57 | true 58 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) 59 | true 60 | true 61 | .\$(Platform)\$(Config) 62 | .\$(Platform)\$(Config) 63 | false 64 | false 65 | false 66 | false 67 | false 68 | 69 | 70 | rtl;cc_DXE6_R;ccLib_R;$(DCC_UsePackage) 71 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 72 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 73 | $(BDSCOMMONDIR)\Dcp 74 | 75 | 76 | rtl;ccLib_R;$(DCC_UsePackage) 77 | 78 | 79 | DEBUG;$(DCC_Define) 80 | true 81 | false 82 | true 83 | true 84 | true 85 | 86 | 87 | UseCodeSite;$(DCC_Define) 88 | 1033 89 | false 90 | 91 | 92 | false 93 | RELEASE;$(DCC_Define) 94 | 0 95 | 0 96 | 97 | 98 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 99 | 100 | 101 | 102 | MainSource 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | Cfg_2 113 | Base 114 | 115 | 116 | Base 117 | 118 | 119 | Cfg_1 120 | Base 121 | 122 | 123 | 124 | Delphi.Personality.12 125 | Package 126 | 127 | 128 | 129 | ccLib_D.dpk 130 | 131 | 132 | Embarcadero Metropolis UI Live Tile Standard Components 133 | Microsoft Office 2000 Sample Automation Server Wrapper Components 134 | Microsoft Office XP Sample Automation Server Wrapper Components 135 | IP Abstraction Indy Implementation Design Time 136 | 137 | 138 | 139 | 140 | True 141 | False 142 | 143 | 144 | 12 145 | 146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /Packages/Delphi XE6/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '20'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vcl, 35 | dbrtl; 36 | 37 | contains 38 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 39 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 40 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 41 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 42 | uConfigIniPersist in '..\..\Source\misc\uConfigIniPersist.pas', 43 | uSearchRecList in '..\..\Source\misc\uSearchRecList.pas', 44 | uTestUtils in '..\..\Source\misc\uTestUtils.pas', 45 | uXmlDates in '..\..\Source\misc\uXmlDates.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi XE7/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '21'} 29 | {$DESIGNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | DesignIDE, 34 | rtl, 35 | ccLib_R; 36 | 37 | contains 38 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 39 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 40 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 41 | cc_reg in '..\..\source\cc_reg.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /Packages/Delphi XE7/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$LIBSUFFIX '21'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | vcl, 35 | dbrtl; 36 | 37 | contains 38 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 39 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 40 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 41 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 42 | uConfigIniPersist in '..\..\Source\misc\uConfigIniPersist.pas', 43 | uSearchRecList in '..\..\Source\misc\uSearchRecList.pas', 44 | uTestUtils in '..\..\Source\misc\uTestUtils.pas', 45 | uXmlDates in '..\..\Source\misc\uXmlDates.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi XE8/ccLib_D.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_D; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Components'} 29 | {$LIBSUFFIX '22'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | designide, 36 | vcldb, 37 | dbrtl, 38 | vcl, 39 | ccLib_R; 40 | 41 | contains 42 | CloseApplicationReg in '..\..\source\idleclose\CloseApplicationReg.pas', 43 | ElapsedTimerReg in '..\..\source\elapsedtimer\ElapsedTimerReg.pas', 44 | LayoutSaverReg in '..\..\source\layoutsaver\LayoutSaverReg.pas', 45 | cc_reg in '..\..\source\cc_reg.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /Packages/Delphi XE8/ccLib_R.dpk: -------------------------------------------------------------------------------- 1 | package ccLib_R; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS OFF} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS OFF} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO OFF} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE RELEASE} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Cornelius Concepts Delphi Library'} 29 | {$LIBSUFFIX '22'} 30 | {$RUNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | vcl, 36 | dbrtl, 37 | vcldb; 38 | 39 | contains 40 | ElapsedTimer in '..\..\source\elapsedtimer\ElapsedTimer.pas', 41 | AppIdleWarn in '..\..\source\idleclose\AppIdleWarn.pas' {fmAppIdleWarn}, 42 | CloseApplication in '..\..\source\idleclose\CloseApplication.pas', 43 | LayoutSaver in '..\..\source\layoutsaver\LayoutSaver.pas', 44 | uConfigIniPersist in '..\..\Source\misc\uConfigIniPersist.pas', 45 | uSearchRecList in '..\..\Source\misc\uSearchRecList.pas', 46 | uTestUtils in '..\..\Source\misc\uTestUtils.pas', 47 | uXmlDates in '..\..\Source\misc\uXmlDates.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /Packages/ccLib_Delphi104.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {030D4D39-6455-49B2-A701-4C7007E71700} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Packages/ccLib_Delphi11.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {C0AC716A-95AC-4AE4-8052-2FCC2E5CBCAD} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Default.Personality.12 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Packages/ccLib_Delphi12.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {F2FE9219-7D2A-49ED-8C81-ECD35BB8D337} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Default.Personality.12 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Packages/ccLib_Delphi5.bpg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | VERSION = BWS.01 3 | #------------------------------------------------------------------------------ 4 | !ifndef ROOT 5 | ROOT = $(MAKEDIR)\.. 6 | !endif 7 | #------------------------------------------------------------------------------ 8 | MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$** 9 | DCC = $(ROOT)\bin\dcc32.exe $** 10 | BRCC = $(ROOT)\bin\brcc32.exe $** 11 | #------------------------------------------------------------------------------ 12 | PROJECTS = ccLib_D5_R.bpl ccLib_D5_D.bpl 13 | #------------------------------------------------------------------------------ 14 | default: $(PROJECTS) 15 | #------------------------------------------------------------------------------ 16 | 17 | 18 | 19 | 20 | ccLib_D5_R.bpl: Delphi 5\ccLib_D5_R.dpk 21 | $(DCC) 22 | 23 | ccLib_D5_D.bpl: Delphi 5\ccLib_D5_D.dpk 24 | $(DCC) 25 | 26 | 27 | -------------------------------------------------------------------------------- /Packages/ccLib_DelphiXE.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {78D9CFF6-BB6E-4191-B645-3ED8BFF3DF71} 4 | 5 | 6 | 7 | 8 | 9 | 10 | Delphi XE\ccLib_R.dproj 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Packages/ccLib_DelphiXE2.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {846535DC-3A4A-4DF5-94EF-E20B5069FB7C} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Packages/ccLib_DelphiXE3.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {E8E7312A-ED39-45E5-B4EF-50B179EBAFD9} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Packages/ccLib_DelphiXE4.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {20297E91-5E0D-4399-B4C0-02746C0F058E} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Packages/ccLib_DelphiXE5.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {57369B9E-A20D-43AC-95E1-F3A412FFA97A} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Packages/ccLib_DelphiXE6.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {FB47D2AE-EA3E-4DBD-B2A7-62F53BF4D9D3} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Packages/ccLib_DelphiXE7.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {9A9E3631-BE3D-42AC-96D1-4F5EDFC244C0} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Packages/ccLib_DelphiXE8.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {1F5CCC7D-98BF-4E1A-ABF2-7C49DAB9A846} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ccLib 2 | 3 | 4 | Some useful Delphi units and components offered by Cornelius Concepts, LLC. 5 | 6 | ---------- 7 | 8 | This library contains units and components I've developed that come in handy in many situations. But they go beyond just being useful--they also teach. There are comments and samples, and the components show several aspects of how to write Delphi components, such the separation of packages between run-time and design-time, how to integrate component help activated by right-clicking on the component, and even integration into Delphi's splash screen and About box. 9 | 10 | 11 | ## Component: LayoutSaver 12 | 13 | Simply drop this component on a form and it's size and position are automatically saved when closed and restored when opened. Additionally save other values with convenient methods. There are two variations: 14 | 15 | * **ccRegistryLayoutSaver** - saves settings to the windows registry, under the CURRENT_USER/SOFTWARE key. 16 | * **ccIniLayoutSaver** - saves settings to an INI file (text file with NAME=Value pairs). You can control where the file lives or set it to the default of the application data path. 17 | 18 | Both of these components have defaults to save files or registry settings in appropriate places with minimal settings and create keys or sections based on the name of the form. So you can quickly and easily drop one of these components on each form. 19 | 20 | With the additional methods for saving/restoring integer, string, and Boolean values, it makes remembering simple user data very easy: 21 | 22 | - procedure SaveStrValue(const Name:string;const Value:string); 23 | - procedure SaveIntValue(const Name:string;const Value: Integer); 24 | - procedure SaveBoolValue(const Name:string;const Value: Boolean); 25 | - function RestoreStrValue(const Name:string; const Default: string = ''):string; 26 | - function RestoreIntValue(const Name:string; const Default: Integer = 0): Integer; 27 | - function RestoreBoolValue(const Name:string; const Default: Boolean = False): Boolean; 28 | 29 | ## Component: CloseApplication 30 | 31 | This component includes routines written by someone named Neil on the DBISAM newsgroups several years ago. Turned into a component, this attaches to some keyboard and mouse Windows hooks to watch for inactivity on the computer and pops up a message with a count-down timer to close the application. One use case is a 2-tier database applications that leave files and records open. 32 | 33 | ## Component: ElapsedTimer (DEPRECATED) 34 | 35 | *This component was removed from the Delphi 10.3 Rio version in favor of using Delphi's TStopWatch class.* 36 | 37 | This is a very simple component that hides the details of timing an operation. Simply call Start, do your stuff, then call Stop and you have the following properties available: 38 | 39 | * ElapsedTime: TDateTime 40 | * ElapsedSeconds: Double 41 | * ElapsedMinutes: Double 42 | * ElapsedHours: Double 43 | * ElapsedDays: Double 44 | * ElapsedMonths: Double 45 | * ElapsedYears: Double 46 | 47 | This component does NOT check for change in time zones (if used on a mobile device) or account for Daylight Savings Time. It was designed for fairly short operations (less than an hour). 48 | 49 | ## Other Components 50 | 51 | The following components were only supported up through Delphi XE and removed from newer packages. 52 | 53 | ### Component: ccDBISAMTableLookup (DEPRECATED) 54 | 55 | A long time ago, I used the InfoPower suite of components which had a really nice incremental search component that would list matching records as you type. I patterned this component off that idea but also added user-defined buttons and many other features. I also used Raize Controls for some extra nice display features--and tied it all very closely to the DBISAM database components. It was for a specific project at the time, but I used it and variations of it (like switching out DBISAM for ElevateDB components) in other projects since then. 56 | 57 | This might be an interesting component to look at because it's a good example of how to build a compound component. 58 | 59 | ### Component: ccTextMerge (DEPRECATED) 60 | 61 | Written to support an old project many years ago, this allows simple merging of NAME=VALUE pairs with delimiters. Deprecated in favor of using TStringList. 62 | 63 | ### Component: ccTextFileLogger (DEPRECATED) 64 | 65 | Provides quick and easy logging to a text file. Deprecated because newer libraries and methods of logging are preferred. 66 | 67 | ### Component: ccTextViewer (DEPRECATED) 68 | 69 | A simple text file viewer in a pop-up modal window. 70 | 71 | ---------- 72 | 73 | Finally, a word about the stand-alone units. 74 | 75 | ## WebGen 76 | 77 | This folder contains two units, udmCustomWebGenerator and udmDBISAMWebGenerator. They are Data Modules and the first is a base class with a couple of WebBroker components, a TPageProducer and TDataSetTableProducer. These were written many years ago before Content Management Systems (CMSs) were popular and I was trying to use Delphi for all my web development. It turned out to be more work than it's worth for large projects and there are vast number of great web tools out there now, so it's not used much anymore. However, there are still occasional tasks that find these routines useful, so I keep them around. 78 | 79 | These classes expand the WebBroker usefulness by building in a link between HTML tags and databases. The only database I ever used in this fashion was DBISAM. I haven't used DBISAM for several years, so I don't know if it still compiles, but it does show how the base class can be descended for your particular needs. 80 | 81 | Please read the comments in the code for further information. 82 | 83 | ## Miscellaneous 84 | 85 | The "misc" folder contains three units (more may be added later): **uSearchRecList**, **uXmlDates**, and **uTestUtils**. 86 | 87 | The first one, **uSearchRecList**, contains a couple of procedure type declarations and one procedure: GetSearchRecs. 88 | 89 | TPathStatusProc = reference to procedure (const Path: string; var Stop: Boolean); 90 | TFileFoundProc = reference to procedure (FileInfo: TSearchRec); 91 | procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc); 92 | 93 | GetSearchRecs traverses a directory tree looking for files matching a pattern and calls PathStatusProc for every path found and FileFoundProc for every file found that matches the pattern. 94 | 95 | Here's an example call that would delete old log files: 96 | 97 | GetSearchRecs(LogFolder, '*.log', False, nil, 98 | procedure (FileInfo: TSearchRec) 99 | begin 100 | if FileInfo.TimeStamp < Now - 90 then 101 | FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True); 102 | end); 103 | 104 | The second unit, **uXmlDates**, makes it easy to work with dates found in XML files. The common format is: yyyy-mm-dd"T"hh:mm:ss, but the method, ConvertToDelphiDateFromXml, can take a string without the time part. 105 | 106 | The third unit, **uTestUtils**, provides some functions used in a few projects where I need to generate test data such as dates, times, numbers, payment types, etc. They're just handy to have around. 107 | 108 | -------------------------------------------------------------------------------- /SmallSquare44x44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/SmallSquare44x44.png -------------------------------------------------------------------------------- /Source/cc.inc: -------------------------------------------------------------------------------- 1 | (* 2 | * as: cc.inc 3 | * by: Cornelius Concepts, LLC 4 | * on: long time ago 5 | * in: many versions of Delphi 6 | * to: provide compiler definitions that can be used in libraries and units to allow flexible coding 7 | *) 8 | 9 | 10 | { Delphi 5 } 11 | {$IFDEF VER130} 12 | {$DEFINE DELPHI5} 13 | {$DEFINE SupportedCompiler} 14 | {$ENDIF} 15 | 16 | { Delphi 6 } 17 | {$IFDEF VER140} 18 | {$DEFINE DELPHI6ANDUP} 19 | {$DEFINE SupportedCompiler} 20 | {$ENDIF} 21 | 22 | { Delphi 7 } 23 | {$IFDEF VER150} 24 | {$DEFINE DELPHI6ANDUP} 25 | {$DEFINE SupportedCompiler} 26 | {$ENDIF} 27 | 28 | { Delphi 2005 } 29 | {$IFDEF VER170} 30 | {$DEFINE DELPHI6ANDUP} 31 | {$DEFINE VERSION2005orHigher} 32 | {$DEFINE SupportedCompiler} 33 | {$ENDIF} 34 | 35 | { Delphi 2006 & 2007} 36 | {$IFDEF VER180} 37 | {$DEFINE DELPHI6ANDUP} 38 | {$DEFINE VERSION2005orHigher} 39 | {$DEFINE SupportedCompiler} 40 | {$ENDIF} 41 | 42 | { Delphi 2009 } 43 | {$IFDEF VER200} 44 | {$DEFINE DELPHI6ANDUP} 45 | {$DEFINE VERSION2005orHigher} 46 | {$DEFINE SupportedCompiler} 47 | {$ENDIF} 48 | 49 | { Delphi 2010 } 50 | {$IFDEF VER210} 51 | {$DEFINE DELPHI6ANDUP} 52 | {$DEFINE VERSION2005orHigher} 53 | {$DEFINE SupportedCompiler} 54 | {$ENDIF} 55 | 56 | { Delphi XE } 57 | {$IFDEF VER220} 58 | {$DEFINE DELPHI6ANDUP} 59 | {$DEFINE VERSION2005orHigher} 60 | {$DEFINE SupportedCompiler} 61 | {$ENDIF} 62 | 63 | { Delphi XE2 } 64 | {$IFDEF VER230} 65 | {$DEFINE DELPHI6ANDUP} 66 | {$DEFINE VERSION2005orHigher} 67 | {$DEFINE XE2orHigher} 68 | {$DEFINE SupportedCompiler} 69 | {$ENDIF} 70 | 71 | { Delphi XE3 } 72 | {$IFDEF VER240} 73 | {$DEFINE DELPHI6ANDUP} 74 | {$DEFINE VERSION2005orHigher} 75 | {$DEFINE XE2orHigher} 76 | {$DEFINE SupportedCompiler} 77 | {$ENDIF} 78 | 79 | { Delphi XE4 } 80 | {$IFDEF VER250} 81 | {$DEFINE DELPHI6ANDUP} 82 | {$DEFINE VERSION2005orHigher} 83 | {$DEFINE XE2orHigher} 84 | {$DEFINE SupportedCompiler} 85 | {$ENDIF} 86 | 87 | { Delphi XE5 } 88 | {$IFDEF VER260} 89 | {$DEFINE DELPHI6ANDUP} 90 | {$DEFINE VERSION2005orHigher} 91 | {$DEFINE XE2orHigher} 92 | {$DEFINE SupportedCompiler} 93 | {$ENDIF} 94 | 95 | { Delphi XE6 } 96 | {$IFDEF VER270} 97 | {$DEFINE DELPHI6ANDUP} 98 | {$DEFINE VERSION2005orHigher} 99 | {$DEFINE XE2orHigher} 100 | {$DEFINE SupportedCompiler} 101 | {$ENDIF} 102 | 103 | { Delphi XE7 } 104 | {$IFDEF VER280} 105 | {$DEFINE DELPHI6ANDUP} 106 | {$DEFINE VERSION2005orHigher} 107 | {$DEFINE XE2orHigher} 108 | {$DEFINE SupportedCompiler} 109 | {$ENDIF} 110 | 111 | { Delphi XE8 } 112 | {$IFDEF VER290} 113 | {$DEFINE DELPHI6ANDUP} 114 | {$DEFINE VERSION2005orHigher} 115 | {$DEFINE XE2orHigher} 116 | {$DEFINE SupportedCompiler} 117 | {$ENDIF} 118 | 119 | { Delphi 10 Seattle } 120 | {$IFDEF VER300} 121 | {$DEFINE DELPHI6ANDUP} 122 | {$DEFINE VERSION2005orHigher} 123 | {$DEFINE XE2orHigher} 124 | {$DEFINE SupportedCompiler} 125 | {$ENDIF} 126 | 127 | { Delphi 10.1 Berlin } 128 | {$IFDEF VER310} 129 | {$DEFINE DELPHI6ANDUP} 130 | {$DEFINE VERSION2005orHigher} 131 | {$DEFINE XE2orHigher} 132 | {$DEFINE SupportedCompiler} 133 | {$ENDIF} 134 | 135 | { Delphi 10.2 Tokyo } 136 | {$IFDEF VER320} 137 | {$DEFINE DELPHI6ANDUP} 138 | {$DEFINE VERSION2005orHigher} 139 | {$DEFINE XE2orHigher} 140 | {$DEFINE SupportedCompiler} 141 | {$ENDIF} 142 | 143 | { Delphi 10.3 Rio } 144 | {$IFDEF VER330} 145 | {$DEFINE DELPHI6ANDUP} 146 | {$DEFINE VERSION2005orHigher} 147 | {$DEFINE XE2orHigher} 148 | {$DEFINE 103RioOrHigher} 149 | {$DEFINE SupportedCompiler} 150 | {$ENDIF} 151 | 152 | { Delphi 10.4 Sydney } 153 | {$IFDEF VER340} 154 | {$DEFINE DELPHI6ANDUP} 155 | {$DEFINE VERSION2005orHigher} 156 | {$DEFINE XE2orHigher} 157 | {$DEFINE 103RioOrHigher} 158 | {$DEFINE SupportedCompiler} 159 | {$ENDIF} 160 | 161 | { Delphi 11 Alexandria } 162 | {$IFDEF VER350} 163 | {$DEFINE DELPHI6ANDUP} 164 | {$DEFINE VERSION2005orHigher} 165 | {$DEFINE XE2orHigher} 166 | {$DEFINE 103RioOrHigher} 167 | {$DEFINE SupportedCompiler} 168 | {$ENDIF} 169 | 170 | { Delphi 12 Athens } 171 | {$IFDEF VER360} 172 | {$DEFINE DELPHI6ANDUP} 173 | {$DEFINE VERSION2005orHigher} 174 | {$DEFINE XE2orHigher} 175 | {$DEFINE 103RioOrHigher} 176 | {$DEFINE SupportedCompiler} 177 | {$ENDIF} 178 | 179 | 180 | {$IFNDEF SupportedCompiler} 181 | {$MESSAGE FATAL 'Non-supported compiler.'} 182 | {$ENDIF} 183 | 184 | -------------------------------------------------------------------------------- /Source/cc_reg.pas: -------------------------------------------------------------------------------- 1 | unit cc_reg; 2 | 3 | interface 4 | 5 | procedure Register; 6 | 7 | implementation 8 | 9 | {$I cc.inc} 10 | 11 | uses 12 | SysUtils, Windows, Graphics, ToolsAPI, 13 | {$IFDEF Delphi5} 14 | Dsgnintf, 15 | {$ELSE} 16 | {$IFDEF Delphi6AndUp} 17 | DesignEditors, DesignIntf, 18 | {$ENDIF} 19 | {$ENDIF} 20 | CloseApplicationReg, {$IFNDEF 103RioOrHigher} ElapsedTimerReg, {$ENDIF} LayoutSaverReg; 21 | 22 | {$R cc.res} 23 | 24 | resourcestring 25 | ComponentPkgName = 'Cornelius Concepts Components'; 26 | ComponentPkgLic = 'OpenSource by Cornelius Concepts'; 27 | ComponentPkgDesc = {$IFNDEF 103RioOrHigher} 28 | 'TccElapsedTimer - simple stopwatch;' + #13#10 + 29 | {$ENDIF} 30 | 'TCloseApplication - auto close an application with no activity;' + #13#10 + 31 | 'TccIniLayoutSaver/TccRegistryLayoutSaver - save/restore form size/position.'; 32 | 33 | var 34 | AboutBoxServices : IOTAAboutBoxServices = nil; 35 | AboutBoxIndex : Integer = 0; 36 | 37 | procedure RegisterSplashScreen; 38 | var 39 | Bmp: TBitmap; 40 | begin 41 | Bmp := TBitmap.Create; 42 | try 43 | Bmp.LoadFromResourceName( HInstance, 'CCLIB'); 44 | {$IFDEF VERSION2005orHigher} 45 | SplashScreenServices.AddPluginBitmap(ComponentPkgName, Bmp.Handle, False, 46 | ComponentPkgLic); 47 | SplashScreenServices.StatusMessage('Loaded ' + ComponentPkgName); 48 | {$ENDIF} 49 | finally 50 | Bmp.Free; 51 | end; 52 | end; 53 | 54 | procedure RegisterAboutBox; 55 | begin 56 | {$IFDEF VERSION2005orHigher} 57 | if Supports(BorlandIDEServices,IOTAAboutBoxServices, AboutBoxServices) then 58 | AboutBoxIndex := AboutBoxServices.AddPluginInfo(ComponentPkgName, 59 | ComponentPkgDesc, 60 | LoadBitmap(HInstance, 'CCLIB'), 61 | False, 62 | ComponentPkgLic); 63 | {$ENDIF} 64 | end; 65 | 66 | procedure UnregisterAboutBox; 67 | begin 68 | {$IFDEF VERSION2005orHigher} 69 | if (AboutBoxIndex <> 0) and Assigned(AboutBoxServices) then begin 70 | AboutBoxServices.RemovePluginInfo(AboutBoxIndex); 71 | AboutBoxIndex := 0; 72 | AboutBoxServices := nil; 73 | end; 74 | {$ENDIF} 75 | end; 76 | 77 | procedure Register; 78 | begin 79 | RegisterSplashScreen; 80 | RegisterAboutBox; 81 | 82 | RegisterCloseApp; 83 | {$IFNDEF 103RioOrHigher} 84 | RegisterElapsedTimer; 85 | {$ENDIF} 86 | RegisterLayoutSaver; 87 | 88 | ForceDemandLoadState(dlDisable); 89 | end; 90 | 91 | initialization 92 | finalization 93 | UnregisterAboutBox; 94 | end. 95 | 96 | -------------------------------------------------------------------------------- /Source/dbisamtablelookup/DBISAMTableLookupReg.pas: -------------------------------------------------------------------------------- 1 | unit DBISAMTableLookupReg; 2 | 3 | interface 4 | 5 | {$I cc.inc} 6 | 7 | uses 8 | {$IFDEF Delphi5} 9 | Dsgnintf; 10 | {$ELSE} 11 | {$IFDEF Delphi6AndUp} 12 | DesignEditors, DesignIntf; 13 | {$ENDIF} 14 | {$ENDIF} 15 | 16 | 17 | type 18 | TDBISAMTableLookupEditor = class(TComponentEditor) 19 | function GetVerbCount: Integer; override; 20 | function GetVerb(Index: Integer): string; override; 21 | procedure ExecuteVerb(Index: Integer); override; 22 | end; 23 | 24 | procedure Register; 25 | 26 | 27 | implementation 28 | 29 | uses 30 | Classes, Windows, 31 | ufrmDBISAMTableLookup; 32 | 33 | procedure Register; 34 | begin 35 | RegisterComponentEditor(TccDBISAMLookup, TDBISAMTableLookupEditor); 36 | RegisterComponents('cc', [TccDBISAMLookup]); 37 | end; 38 | 39 | { TTextViewerEditor } 40 | 41 | procedure TDBISAMTableLookupEditor.ExecuteVerb(Index: Integer); 42 | begin 43 | case Index of 44 | 0: MessageBox(0, 'TccDBISAMLookup vr. 1.1'#13#10 + 45 | 'Copyright 2007 by Cornelius Concepts, Inc.', 46 | PChar('About this component ...'), 47 | MB_OK + MB_ICONINFORMATION); 48 | 1: MessageBox(0, 'TDBISAMTableLookup is a component that provides a form filled with records from the'#13#10 + 49 | 'supplied LookupTable property and waits for the user to select one. When the user'#13#10 + 50 | 'presses OK, the result of the Execut function is True, otherwise it is False. There'#13#10 + 51 | 'are four optional "user" buttons, Button 1, 2, 3, and 4 each of which can be made'#13#10 + 52 | 'visible or invisible, have a custom caption, and be assigned an OnClick event.'#13#10 + 53 | 'The end result is a lookup dialog box similar to the one from Woll2Woll''s InfoPower,'#13#10 + 54 | 'but uses Raize Components, looks classier, has more buttons, and uses DBISAM.', 55 | PChar('Component Help...'), 56 | MB_OK + MB_ICONINFORMATION); 57 | end; 58 | end; 59 | 60 | function TDBISAMTableLookupEditor.GetVerb(Index: Integer): string; 61 | begin 62 | case Index of 63 | 0: Result := '&Version and Copyright info...'; 64 | 1: Result := 'Component Help...'; 65 | end; 66 | end; 67 | 68 | function TDBISAMTableLookupEditor.GetVerbCount: Integer; 69 | begin 70 | Result := 2; 71 | end; 72 | 73 | end. 74 | -------------------------------------------------------------------------------- /Source/dbisamtablelookup/ufrmDBISAMTableLookup.dfm: -------------------------------------------------------------------------------- 1 | object frmTableLookup: TfrmTableLookup 2 | Left = 0 3 | Top = 0 4 | BorderIcons = [] 5 | Caption = 'Lookup' 6 | ClientHeight = 306 7 | ClientWidth = 501 8 | Color = clBtnFace 9 | Constraints.MinHeight = 300 10 | Constraints.MinWidth = 432 11 | Font.Charset = DEFAULT_CHARSET 12 | Font.Color = clWindowText 13 | Font.Height = -13 14 | Font.Name = 'Verdana' 15 | Font.Style = [] 16 | OldCreateOrder = False 17 | Position = poScreenCenter 18 | OnActivate = FormActivate 19 | OnCreate = FormCreate 20 | DesignSize = ( 21 | 501 22 | 306) 23 | PixelsPerInch = 96 24 | TextHeight = 16 25 | object SearchCharacterLabel: TLabel 26 | Left = 8 27 | Top = 12 28 | Width = 129 29 | Height = 16 30 | Caption = '&Search Characters:' 31 | FocusControl = edtSearchChars 32 | end 33 | object lblSearchBy: TLabel 34 | Left = 8 35 | Top = 247 36 | Width = 93 37 | Height = 16 38 | Anchors = [akLeft, akBottom] 39 | Caption = 'Search &Index:' 40 | FocusControl = cmbSearchBy 41 | ExplicitTop = 280 42 | end 43 | object RzDialogBtns: TRzDialogButtons 44 | Left = 0 45 | Top = 270 46 | Width = 501 47 | CaptionOk = 'OK' 48 | CaptionCancel = 'Cancel' 49 | CaptionHelp = '&Help' 50 | HotTrack = True 51 | ModalResultOk = 1 52 | ModalResultCancel = 2 53 | ModalResultHelp = 0 54 | ShowGlyphs = True 55 | OnClickOk = RzDialogBtnsClickOk 56 | TabOrder = 6 57 | end 58 | object dbCtrlGrid: TDBCtrlGrid 59 | Left = 8 60 | Top = 35 61 | Width = 485 62 | Height = 201 63 | AllowDelete = False 64 | AllowInsert = False 65 | Anchors = [akLeft, akTop, akRight, akBottom] 66 | DataSource = srcLookup 67 | PanelHeight = 67 68 | PanelWidth = 468 69 | TabOrder = 5 70 | SelectedColor = clGradientActiveCaption 71 | OnDblClick = dbCtrlGridDblClick 72 | object Label1: TLabel 73 | Left = 0 74 | Top = 0 75 | Width = 17 76 | Height = 67 77 | Align = alLeft 78 | AutoSize = False 79 | Transparent = True 80 | ExplicitHeight = 86 81 | end 82 | object edtMemo: TDBMemo 83 | Left = 17 84 | Top = 0 85 | Width = 451 86 | Height = 67 87 | Align = alClient 88 | Ctl3D = False 89 | DataSource = srcLookup 90 | ParentCtl3D = False 91 | ReadOnly = True 92 | TabOrder = 0 93 | OnDblClick = edtMemoDblClick 94 | end 95 | end 96 | object btn1: TRzBitBtn 97 | Left = 8 98 | Top = 275 99 | Width = 80 100 | Height = 26 101 | Anchors = [akLeft, akBottom] 102 | Caption = 'btn1' 103 | HotTrack = True 104 | TabOrder = 2 105 | Margin = -1 106 | end 107 | object btn2: TRzBitBtn 108 | Left = 89 109 | Top = 275 110 | Width = 80 111 | Height = 26 112 | Anchors = [akLeft, akBottom] 113 | Caption = 'btn2' 114 | HotTrack = True 115 | TabOrder = 3 116 | Margin = -1 117 | end 118 | object btn3: TRzBitBtn 119 | Left = 170 120 | Top = 275 121 | Width = 80 122 | Height = 26 123 | Anchors = [akLeft, akBottom] 124 | Caption = 'btn3' 125 | HotTrack = True 126 | TabOrder = 4 127 | Margin = -1 128 | end 129 | object cmbSearchBy: TRzComboBox 130 | Left = 152 131 | Top = 243 132 | Width = 341 133 | Height = 24 134 | Anchors = [akLeft, akRight, akBottom] 135 | AutoDropDown = True 136 | Style = csDropDownList 137 | Ctl3D = False 138 | ItemHeight = 16 139 | ParentCtl3D = False 140 | TabOrder = 1 141 | OnChange = cmbSearchByChange 142 | end 143 | object edtSearchChars: TRzEdit 144 | Left = 153 145 | Top = 8 146 | Width = 340 147 | Height = 24 148 | Anchors = [akLeft, akTop, akRight] 149 | CharCase = ecUpperCase 150 | TabOrder = 0 151 | OnChange = edtSearchCharsChange 152 | OnKeyDown = edtSearchCharsKeyDown 153 | end 154 | object dbgLookup: TRzDBGrid 155 | Left = 8 156 | Top = 35 157 | Width = 485 158 | Height = 202 159 | Anchors = [akLeft, akTop, akRight, akBottom] 160 | DataSource = srcLookup 161 | Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] 162 | TabOrder = 7 163 | TitleFont.Charset = DEFAULT_CHARSET 164 | TitleFont.Color = clWindowText 165 | TitleFont.Height = -13 166 | TitleFont.Name = 'Verdana' 167 | TitleFont.Style = [] 168 | OnDblClick = dbgLookupDblClick 169 | end 170 | object btn4: TRzBitBtn 171 | Left = 251 172 | Top = 275 173 | Width = 80 174 | Height = 26 175 | Anchors = [akLeft, akBottom] 176 | Caption = 'btn4' 177 | HotTrack = True 178 | TabOrder = 8 179 | Margin = -1 180 | end 181 | object srcLookup: TDataSource 182 | Left = 80 183 | Top = 128 184 | end 185 | end 186 | -------------------------------------------------------------------------------- /Source/elapsedtimer/ElapsedTimer.pas: -------------------------------------------------------------------------------- 1 | unit ElapsedTimer; 2 | (* 3 | * as: ElapsedTimer 4 | * by: David Cornelius 5 | * to: provide a convenient way of timing things 6 | *) 7 | 8 | interface 9 | 10 | {$I ..\..\source\cc.inc} 11 | 12 | uses 13 | {$IFDEF XE2orHIGHER} 14 | System.SysUtils, System.Classes; 15 | {$ELSE} 16 | SysUtils, Classes; 17 | {$ENDIF} 18 | 19 | type 20 | TccElapsedTimer = class(TComponent) 21 | private 22 | FStartTime, 23 | FStopTime: TDateTime; 24 | FDiffTime: TDateTime; 25 | FElapsedSeconds: Double; 26 | FElapsedMinutes: Double; 27 | FElapsedHours: Double; 28 | FElapsedMonths: Double; 29 | FElapsedDays: Double; 30 | FElapsedYears: Double; 31 | procedure CalcTime; 32 | public 33 | procedure Start; 34 | procedure Stop; 35 | property StartTime: TDateTime read FStartTime; 36 | property StopTime: TDateTime read FStopTime; 37 | property ElapsedTime: TDateTime read FDiffTime; 38 | property ElapsedSeconds: Double read FElapsedSeconds; 39 | property ElapsedMinutes: Double read FElapsedMinutes; 40 | property ElapsedHours: Double read FElapsedHours; 41 | property ElapsedDays: Double read FElapsedDays; 42 | property ElapsedMonths: Double read FElapsedMonths; 43 | property ElapsedYears: Double read FElapsedYears; 44 | end; 45 | 46 | 47 | implementation 48 | 49 | procedure TccElapsedTimer.CalcTime; 50 | begin 51 | FDiffTime := FStopTime - FStartTime; 52 | FElapsedDays := FDiffTime; 53 | FElapsedMonths := FElapsedDays / 30.4; // average 54 | FElapsedYears := FElapsedDays / 365.25; 55 | FElapsedHours := FElapsedDays * 24.0; 56 | FElapsedMinutes := FElapsedHours * 60.0; 57 | FElapsedSeconds := FElapsedMinutes * 60.0; 58 | end; 59 | 60 | procedure TccElapsedTimer.Start; 61 | begin 62 | FStartTime := Now; 63 | end; 64 | 65 | procedure TccElapsedTimer.Stop; 66 | begin 67 | FStopTime := Now; 68 | CalcTime; 69 | end; 70 | 71 | end. 72 | -------------------------------------------------------------------------------- /Source/elapsedtimer/ElapsedTimerReg.pas: -------------------------------------------------------------------------------- 1 | unit ElapsedTimerReg; 2 | (* 3 | * as: ElapsedTimerReg 4 | * by: David Cornelius 5 | * to: register the ElapsedTimer component 6 | *) 7 | 8 | interface 9 | 10 | {$I ..\..\source\cc.inc} 11 | 12 | uses 13 | {$IFDEF Delphi5} 14 | Dsgnintf; 15 | {$ELSE} 16 | {$IFDEF Delphi6AndUp} 17 | DesignEditors, DesignIntf; 18 | {$ENDIF} 19 | {$ENDIF} 20 | 21 | type 22 | TElapsedTimerEditor = class(TComponentEditor) 23 | function GetVerbCount: Integer; override; 24 | function GetVerb(Index: Integer): string; override; 25 | procedure ExecuteVerb(Index: Integer); override; 26 | end; 27 | 28 | procedure RegisterElapsedTimer; 29 | 30 | 31 | implementation 32 | 33 | uses 34 | SysUtils, Classes, Windows, Graphics, ToolsAPI, 35 | {$IFDEF UseCodeSite} CodeSiteLogging, {$ENDIF} 36 | ElapsedTimer; 37 | 38 | procedure RegisterElapsedTimer; 39 | begin 40 | RegisterComponentEditor(TccElapsedTimer, TElapsedTimerEditor); 41 | RegisterComponents('Cornelius Concepts', [TccElapsedTimer]); 42 | end; 43 | 44 | { TElapsedTimerEditor } 45 | 46 | procedure TElapsedTimerEditor.ExecuteVerb(Index: Integer); 47 | const 48 | TAB = #9; 49 | CR = #13; 50 | LF = #10; 51 | begin 52 | case Index of 53 | 0: MessageBox(0, 'TElapsedTimer vr. 1.0' + CR + LF + 54 | 'Freeware by Cornelius Concepts.', 55 | PChar('About this component ...'), 56 | MB_OK + MB_ICONINFORMATION); 57 | 1: MessageBox(0, 'TElapsedTimer makes it easy to time things and get the elapsed time in whatever precision you want. ' + 58 | 'Simply call the Start method, do your timed process, then call Stop and get the elapsed time ' + CR + LF + 59 | TAB + 'in DateTime format with ElapsedTime,' + CR + LF + 60 | TAB + 'in seconds with ElapsedSeconds,' + CR + LF + 61 | TAB + 'in minutes with ElapsedMinutes,' + CR + LF + 62 | TAB + 'in hours with ElapsedHours,' + CR + LF + 63 | TAB + 'in days with ElapsedDays,' + CR + LF + 64 | TAB + 'in months with ElapsedMonths, or ' + CR + LF + 65 | TAB + 'in years with ElapsedYears.' + CR + LF + 66 | 'These seconds through years results are floating point values (Double).', 67 | PChar('Component Help ...'), 68 | MB_OK + MB_ICONINFORMATION); 69 | end; 70 | end; 71 | 72 | function TElapsedTimerEditor.GetVerb(Index: Integer): string; 73 | begin 74 | case Index of 75 | 0: Result := '&Version Info...'; 76 | 1: Result := 'Component Help...'; 77 | end; 78 | end; 79 | 80 | function TElapsedTimerEditor.GetVerbCount: Integer; 81 | begin 82 | Result := 2; 83 | end; 84 | 85 | end. 86 | -------------------------------------------------------------------------------- /Source/idleclose/AppIdleWarn.pas: -------------------------------------------------------------------------------- 1 | unit AppIdleWarn; 2 | 3 | interface 4 | 5 | {$I cc.inc} 6 | 7 | uses 8 | {$IFDEF XE2orHIGHER} 9 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, System.IOUtils, 10 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons, Vcl.StdCtrls, VCL.ExtCtrls; 11 | {$ELSE} 12 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, {$IFNDEF VER130} IOUtils, {$ENDIF} 13 | StdCtrls, Buttons, ExtCtrls; 14 | {$ENDIF} 15 | 16 | type 17 | TfmAppIdleWarn = class(TForm) 18 | BBCancel: TBitBtn; 19 | TimerClose: TTimer; 20 | LabSeconds: TLabel; 21 | procedure BBCancelClick(Sender: TObject); 22 | procedure TimerCloseTimer(Sender: TObject); 23 | procedure FormShow(Sender: TObject); 24 | private 25 | {$IFNDEF VER130} 26 | MyFormatSettings: TFormatSettings; 27 | {$ENDIF} 28 | SecondsTillClose: Integer; 29 | AppName: string; 30 | procedure UpdateCaption; 31 | public 32 | CloseCode: Integer; 33 | SecondsWarning: Integer; 34 | ShowAppName: Boolean; 35 | class function OpenfmAppIdleWarn(CloseTime: Integer; const ShouldShowAppName: Boolean = False): Integer; 36 | end; 37 | 38 | implementation 39 | 40 | {$R *.DFM} 41 | 42 | class function TfmAppIdleWarn.OpenfmAppIdleWarn(CloseTime: Integer; const ShouldShowAppName: Boolean = False): Integer; 43 | var 44 | instance: TfmAppIdleWarn; 45 | begin 46 | instance := TfmAppIdleWarn.Create(nil); 47 | try 48 | Instance.SecondsWarning := CloseTime; 49 | Instance.ShowAppName := ShouldShowAppName; 50 | instance.Showmodal; 51 | Result := instance.CloseCode; 52 | finally 53 | instance.Free; 54 | end; 55 | end; 56 | 57 | 58 | procedure TfmAppIdleWarn.FormShow(Sender: TObject); 59 | begin 60 | {$IFNDEF VER130} 61 | MyFormatSettings := TFormatSettings.Create; 62 | {$ENDIF} 63 | 64 | if ShowAppName then 65 | AppName := Application.MainForm.Caption 66 | else 67 | AppName := 'This Application'; 68 | 69 | CloseCode := 0; 70 | SecondsTillClose := SecondsWarning; 71 | UpdateCaption; 72 | TimerClose.Enabled := True; 73 | end; 74 | 75 | procedure TfmAppIdleWarn.BBCancelClick(Sender: TObject); 76 | begin 77 | CloseCode := 1; 78 | Close; 79 | end; 80 | 81 | procedure TfmAppIdleWarn.TimerCloseTimer(Sender: TObject); 82 | begin 83 | SecondsTillClose := SecondsTillClose - 1; 84 | UpdateCaption; 85 | Application.ProcessMessages; 86 | if SecondsTillClose < 1 then 87 | Close; 88 | end; 89 | 90 | procedure TfmAppIdleWarn.UpdateCaption; 91 | begin 92 | LabSeconds.Caption := Format('%s will close in %d seconds.', [AppName, SecondsTillClose] 93 | {$IFNDEF VER130}, MyFormatSettings{$ENDIF}); 94 | end; 95 | 96 | end. 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /Source/idleclose/CloseApplicationReg.pas: -------------------------------------------------------------------------------- 1 | unit CloseApplicationReg; 2 | (* 3 | * as: ElapsedTimerReg 4 | * by: Neil 5 | * to: register as a component, a class that Neil wrote 6 | *) 7 | 8 | interface 9 | 10 | {$I cc.inc} 11 | 12 | uses 13 | {$IFDEF Delphi5} 14 | Dsgnintf; 15 | {$ELSE} 16 | {$IFDEF Delphi6AndUp} 17 | DesignEditors, DesignIntf; 18 | {$ENDIF} 19 | {$ENDIF} 20 | 21 | type 22 | TCloseAppComponent = class(TComponentEditor) 23 | function GetVerbCount: Integer; override; 24 | function GetVerb(Index: Integer): string; override; 25 | procedure ExecuteVerb(Index: Integer); override; 26 | end; 27 | 28 | procedure RegisterCloseApp; 29 | 30 | 31 | implementation 32 | 33 | uses 34 | SysUtils, Classes, Windows, Graphics, ToolsAPI, 35 | CloseApplication; 36 | 37 | procedure RegisterCloseApp; 38 | begin 39 | RegisterComponentEditor(TCloseApplication, TCloseAppComponent); 40 | RegisterComponents('Cornelius Concepts', [TCloseApplication]); 41 | end; 42 | 43 | { TCloseAppComponent } 44 | 45 | procedure TCloseAppComponent.ExecuteVerb(Index: Integer); 46 | {$IFDEF VER130} 47 | const 48 | sLineBreak = #13#10; 49 | {$ENDIF} 50 | begin 51 | case Index of 52 | 0: MessageBox(0, 'This nifty component automatically closes an application after a specified amount of time without ' + 53 | 'any keyboard or mouse activitiy. The original library code was written by someone named Neil on the ' + 54 | 'DBISAM newsgroups several years ago. The library was turned into a component by Cornelius Concepts. ', 55 | PChar('About TCloseApplication'), 56 | MB_OK + MB_ICONINFORMATION); 57 | 1: MessageBox(0, 'MinutesAppAllowedToBeIdle: This Integer number is how many minutes without any keyboard or mouse ' + 58 | 'activity before the shut-down warning appears.' + 59 | sLineBreak + sLineBreak + 60 | 'PreventCancelEditInserts: This Boolean value, if True, prevents the component from shutting ' + 61 | 'the program down if there are pending edits or inserts of TDataSet components (TTable or TQuery or ' + 62 | 'any TDataSet descendants) found on any of the application''s Forms or DataModules.' + 63 | sLineBreak + sLineBreak + 64 | 'SecondsPromptedOnShutdown: This Integer number is how many seconds to show a prompt to the user ' + 65 | 'that the application will close down before it actually closes. This gives the user a chance to ' + 66 | 'stop the shut-down and continue using the program.' + 67 | sLineBreak + sLineBreak + 68 | 'ShowAppName: This Boolean value determines how the message shown in the standard shut-down warning ' + 69 | 'message refers to the program being shut-down; if False, it says, "This application..."; if True, ' + 70 | 'it uses the main form''s Caption as the application name.' + 71 | sLineBreak + sLineBreak + 72 | 'TimerInterval: This Integer value allows you to change the number of milliseconds elapsed between ' + 73 | '"minute" intervals in the component. If this value is left at 0 (the default), then 60,000 is used ' + 74 | 'internally by this component (1,000 milliseconds * 60 seconds). The TimerInterval is multiplied by ' + 75 | 'the MinutesAllowedToBeIdle property to determine the actual idle time. In other words, changing ' + 76 | 'this property allows you to have shorter or longer "minute" intervals. It is recommended to leave ' + 77 | 'this at zero unless you are testing.', 78 | PChar('TCloseApplication Properties'), 79 | MB_OK + MB_ICONINFORMATION); 80 | 2: MessageBox(0, 'OnAppTermination: This event handler allows you to add custom code that is executed when this ' + 81 | 'component is ready to shut down the application. This could be code that you would not normally ' + 82 | 'need to call if the application was shutting down normally. Note: there is no way to prevent ' + 83 | 'the component from trying to halt the program; to do that, use the OnWarning event.' + 84 | sLineBreak + sLineBreak + 85 | 'OnResume: This event can be used to write to a log or set a status that the timed shut-down was canceled.' + 86 | sLineBreak + sLineBreak + 87 | 'OnWarning: If this event handler is not used, a form is shown to the user that the application will ' + 88 | 'be shut down if the user does not stop it. The form shows the number of seconds remaining and has a ' + 89 | 'button to cancel the shut-down. To override this functionality with your own warning window or ' + 90 | 'status message, use this event handler. Two parameters are passed: 1) CloseTime, an Integer for ' + 91 | 'the number of seconds remaining until shut-down; and 2) ShouldShowAppName, a Boolean indicating ' + 92 | 'whether to use the main form''s caption (True) or not.', 93 | PChar('TCloseApplication Events'), 94 | MB_OK + MB_ICONINFORMATION); 95 | end; 96 | end; 97 | 98 | function TCloseAppComponent.GetVerb(Index: Integer): string; 99 | begin 100 | case Index of 101 | 0: Result := 'About this Component...'; 102 | 1: Result := 'Properties Help...'; 103 | 2: Result := 'Events Help...'; 104 | end; 105 | end; 106 | 107 | function TCloseAppComponent.GetVerbCount: Integer; 108 | begin 109 | Result := 1; 110 | end; 111 | 112 | {$IFDEF VER130} 113 | // for Delphi 5, register ONLY the TCloseApplication component 114 | initialization 115 | RegisterCloseApp; 116 | {$ENDIF} 117 | end. 118 | -------------------------------------------------------------------------------- /Source/layoutsaver/LayoutSaverReg.pas: -------------------------------------------------------------------------------- 1 | unit LayoutSaverReg; 2 | (* 3 | * as: LayoutSaverReg 4 | * by: David Cornelius 5 | * to: register the LayoutSaver component 6 | *) 7 | 8 | interface 9 | 10 | {$I ..\..\source\cc.inc} 11 | 12 | uses 13 | Classes, 14 | {$IFDEF Delphi5} 15 | Dsgnintf; 16 | {$ELSE} 17 | {$IFDEF Delphi6AndUp} 18 | DesignEditors, DesignIntf; 19 | {$ENDIF} 20 | {$ENDIF} 21 | 22 | type 23 | {$IFDEF 103RioOrHigher} 24 | [ComponentPlatformsAttribute(pidWin32 or pidWin64)] 25 | {$ENDIF} 26 | TccIniLayoutSaverEditor = class(TComponentEditor) 27 | function GetVerbCount: Integer; override; 28 | function GetVerb(Index: Integer): string; override; 29 | procedure ExecuteVerb(Index: Integer); override; 30 | end; 31 | 32 | {$IFDEF 103RioOrHigher} 33 | [ComponentPlatformsAttribute(pidWin32 or pidWin64)] 34 | {$ENDIF} 35 | TccRegistryLayoutSaverEditor = class(TComponentEditor) 36 | function GetVerbCount: Integer; override; 37 | function GetVerb(Index: Integer): string; override; 38 | procedure ExecuteVerb(Index: Integer); override; 39 | end; 40 | 41 | procedure RegisterLayoutSaver; 42 | 43 | 44 | implementation 45 | 46 | uses 47 | SysUtils, Windows, Graphics, ToolsAPI, 48 | LayoutSaver; 49 | 50 | procedure RegisterLayoutSaver; 51 | begin 52 | RegisterComponentEditor(TccIniLayoutSaver, TccIniLayoutSaverEditor); 53 | RegisterComponentEditor(TccRegistryLayoutSaver, TccRegistryLayoutSaverEditor); 54 | RegisterComponents('Cornelius Concepts', [TccIniLayoutSaver, TccRegistryLayoutSaver]); 55 | end; 56 | 57 | { TccIniLayoutSaverEditor } 58 | 59 | procedure TccIniLayoutSaverEditor.ExecuteVerb(Index: Integer); 60 | const 61 | CR = #13; 62 | LF = #10; 63 | begin 64 | case Index of 65 | 0: MessageBox(0, 'TccIniLayoutSaver vr. 2.0' + CR + LF + 66 | 'Freeware by Cornelius Concepts', 67 | PChar('About this component ...'), 68 | MB_OK + MB_ICONINFORMATION); 69 | 1: MessageBox(0, 'TccIniLayoutSaver saves the form''s Top, Left, Width, and Height settings in an ' + 70 | '.INI file specified by the Location property and in the section specified by ' + 71 | 'the Section property. By setting UseDefaultNames to True, the Location is ' + 72 | 'automatically assigned the Application.ExeName value in the Local Application Path ' + 73 | '(if UseAppPath is True or the application''s directory otherwise) ' + 74 | 'and the Section is set to the form''s name upon which the component resides.' + CR + LF + 75 | LF + 76 | 'The AutoSave and AutoRestore properties allow a form to be ' + 77 | 'automatically saved and restored upon creation and destruction of the form. ' + 78 | 'Therefore, by simply dropping this component on a form, its size and position will ' + 79 | 'automatically be saved and restored in an .INI file--with no code!' + CR + LF + 80 | 'You can use the OnBeforeRestore and OnBeforeSave events to modify behavior just before ' + 81 | 'those actions take place.' + sLineBreak + 82 | sLineBreak + 83 | LF + 84 | 'Note: If the Position property of the form is set to poScreenCenter, the form will still ' + 85 | 'retain its size (width and height), but always start centered.' + CR + LF + 86 | LF + 87 | 'Also provided are three sets of public methods, SaveIntValue/RestoreIntValue, ' + 88 | 'SaveStrValue/RestoreStrValue and SaveBoolValue/RestoreBoolValue that ' + 89 | 'will save/resotre any integer, string, or boolean values (respectively) in the same ' + 90 | 'section of the .INI file as the rest of the "layout" settings for your convenience.', 91 | PChar('Component Help ...'), 92 | MB_OK + MB_ICONINFORMATION); 93 | end; 94 | end; 95 | 96 | function TccIniLayoutSaverEditor.GetVerb(Index: Integer): string; 97 | begin 98 | case Index of 99 | 0: Result := '&Version Info...'; 100 | 1: Result := 'Component Help...'; 101 | end; 102 | end; 103 | 104 | function TccIniLayoutSaverEditor.GetVerbCount: Integer; 105 | begin 106 | Result := 2; 107 | end; 108 | 109 | { TccRegistryLayoutSaverEditor } 110 | 111 | procedure TccRegistryLayoutSaverEditor.ExecuteVerb(Index: Integer); 112 | const 113 | CR = #13; 114 | LF = #10; 115 | begin 116 | case Index of 117 | 0: MessageBox(0, 'TccRegistryLayoutSaver vr. 1.0' + sLineBreak + 118 | 'Freeware by Cornelius Concepts', 119 | PChar('About this component ...'), 120 | MB_OK + MB_ICONINFORMATION); 121 | 1: MessageBox(0, 'TccRegistryLayoutSaver saves the form''s Top, Left, Width, and Height settings in the ' + 122 | 'CURRENT_USER root key. By setting UseDefaultNames to True, the Location property is ' + 123 | 'automatically assigned the Application.ExeName and and the Section property is ' + 124 | 'set to the form''s name upon which the component resides.' + sLineBreak + 125 | sLineBreak + 126 | 'The AutoSave and AutoRestore properties allow a form to be ' + 127 | 'automatically saved and restored upon creation and destruction of the form. ' + 128 | 'Therefore, by simply dropping this component on a form, its size and position will ' + 129 | 'automatically be saved and restored in the registry--with no code!' + sLineBreak + 130 | sLineBreak + 131 | 'You can use the OnBeforeRestore and OnBeforeSave events to modify behavior just before ' + 132 | 'those actions take place.' + sLineBreak + 133 | sLineBreak + 134 | 'Note: If the Position property of the form is set to poScreenCenter, the form will still ' + 135 | 'retain its size (width and height), but always start centered.' + sLineBreak + 136 | sLineBreak + 137 | 'Also provided are three sets of public methods, SaveIntValue/RestoreIntValue, ' + 138 | 'SaveStrValue/RestoreStrValue and SaveBoolValue/RestoreBoolValue that ' + 139 | 'will save/resotre any integer, string, or boolean values (respectively) in the same ' + 140 | 'section of the registry as the rest of the "layout" settings for your convenience.', 141 | PChar('Component Help ...'), 142 | MB_OK + MB_ICONINFORMATION); 143 | end; 144 | end; 145 | 146 | function TccRegistryLayoutSaverEditor.GetVerb(Index: Integer): string; 147 | begin 148 | case Index of 149 | 0: Result := '&Version Info...'; 150 | 1: Result := 'Component Help...'; 151 | end; 152 | end; 153 | 154 | function TccRegistryLayoutSaverEditor.GetVerbCount: Integer; 155 | begin 156 | Result := 2; 157 | end; 158 | 159 | end. 160 | -------------------------------------------------------------------------------- /Source/mergetext/MergeTxtReg.pas: -------------------------------------------------------------------------------- 1 | unit MergeTxtReg; 2 | (* 3 | * as: MergeTxtReg 4 | * by: David Cornelius 5 | * to: register the MergeTxt component 6 | *) 7 | 8 | interface 9 | 10 | {$I cc.inc} 11 | 12 | uses 13 | {$IFDEF Delphi5} 14 | Dsgnintf; 15 | {$ELSE} 16 | {$IFDEF Delphi6AndUp} 17 | DesignEditors, DesignIntf; 18 | {$ENDIF} 19 | {$ENDIF} 20 | 21 | type 22 | TTextMergeEditor = class(TComponentEditor) 23 | function GetVerbCount: Integer; override; 24 | function GetVerb(Index: Integer): string; override; 25 | procedure ExecuteVerb(Index: Integer); override; 26 | end; 27 | 28 | procedure RegisterMergeText; 29 | 30 | 31 | implementation 32 | 33 | uses 34 | Classes, Windows, MergeTxt; 35 | 36 | procedure RegisterMergeText; 37 | begin 38 | RegisterComponentEditor(TccTextMerge, TTextMergeEditor); 39 | RegisterComponents('cc', [TccTextMerge]); 40 | end; 41 | 42 | { TTextMergeEditor } 43 | 44 | procedure TTextMergeEditor.ExecuteVerb(Index: Integer); 45 | const 46 | CR = #13; 47 | LF = #10; 48 | begin 49 | case Index of 50 | 0: MessageBox(0, 'TccTextMerge vr. 1.0' + CR + LF + 51 | 'Copyright (c) 2001-2015 by Cornelius Concepts.', 52 | PChar('About this component ...'), 53 | MB_OK + MB_ICONINFORMATION); 54 | 1: MessageBox(0, 'TccTextMerge allows you to merge a set of Name=Value pairs into a string containg "Names" ' + 55 | 'delimited by StartDelim and EndDelim, replacing each occurance with the matching "Value". ' + 56 | 'If ReplaceBlanks is True, any tokens that are not found in the Name=Value list, are replaced ' + 57 | 'with blanks--in other words, they are simply removed.' + CR + LF + LF + 58 | 'Once MergeText (the list of Name=Value pairs) and MergeStrings (the text to merge with) ' + 59 | 'are set, simply call the Execute method, which returns the number of tokens found ' + 60 | 'and replaced, or -1 (tmNoMergeStrings), or -2 (tmNoMergeText).', 61 | PChar('Component Help...'), 62 | MB_OK + MB_ICONINFORMATION); 63 | end; 64 | end; 65 | 66 | function TTextMergeEditor.GetVerb(Index: Integer): string; 67 | begin 68 | case Index of 69 | 0: Result := '&Version and Copyright info...'; 70 | 1: Result := 'Component Help...'; 71 | end; 72 | end; 73 | 74 | function TTextMergeEditor.GetVerbCount: Integer; 75 | begin 76 | Result := 2; 77 | end; 78 | 79 | end. 80 | -------------------------------------------------------------------------------- /Source/mergetext/Mergetxt.pas: -------------------------------------------------------------------------------- 1 | unit MergeTxt; 2 | (* 3 | * as: MergeTxt 4 | * by: David Cornelius 5 | * to: merge a bunch of Name=Value strings with a file replacing "Names" with "Values" 6 | *) 7 | 8 | interface 9 | 10 | uses 11 | Classes; 12 | 13 | const 14 | tmNoMergeStrings = -1; 15 | tmNoMergeText = -2; 16 | type 17 | TccTextMerge = class(TComponent) 18 | private 19 | FMergeStrings: TStrings; 20 | FMergeText: TStrings; 21 | FStartDelim: string; 22 | FEndDelim: string; 23 | fReplaceBlanks: Boolean; 24 | public 25 | constructor Create(AOwner: TComponent); override; 26 | function MergeAString(var s: string): Byte; 27 | function Execute: Integer; 28 | published 29 | property MergeStrings: TStrings read FMergeStrings write FMergeStrings; 30 | property MergeText: TStrings read FMergeText write FMergeText; 31 | property StartDelim: string read FStartDelim write FStartDelim; 32 | property EndDelim: string read FEndDelim write FEndDelim; 33 | property ReplaceBlanks: Boolean read fReplaceBlanks write fReplaceBlanks default True; 34 | end; 35 | 36 | 37 | implementation 38 | 39 | constructor TccTextMerge.Create(AOwner: TComponent); 40 | begin 41 | inherited Create(AOwner); 42 | 43 | FStartDelim := '<<'; 44 | FEndDelim := '>>'; 45 | FReplaceBlanks := True; 46 | end; 47 | 48 | function TccTextMerge.MergeAString(var s: string): Byte; 49 | var 50 | sub: string; 51 | sstart: Byte; 52 | p1, p2: Byte; 53 | token, replstr: string; 54 | begin 55 | Result := 0; 56 | 57 | { if there is no string to merge, don't waste the time trying } 58 | if Length(s) = 0 then 59 | Exit; 60 | 61 | sstart := 1; 62 | repeat 63 | sub := Copy(s, sstart, 255); 64 | p1 := Pos(FStartDelim, sub); 65 | if p1 > 0 then begin 66 | p2 := Pos(FEndDelim, sub); 67 | if p2 > 0 then begin 68 | token := Copy(sub, p1+Length(FStartDelim), p2-p1-Length(FStartDelim)-Length(FEndDelim)+2); 69 | replstr := FMergeStrings.Values[token]; 70 | if (replstr <> '') or fReplaceBlanks then begin 71 | { here's the meat! } 72 | Delete(s, sstart+p1-1, p2-p1+Length(EndDelim)); 73 | Insert(replstr, s, sstart+p1-1); 74 | Inc(Result); 75 | p1 := sstart + Length(replstr); 76 | end else 77 | p1 := sstart + Length(FStartDelim)+Length(token)+Length(FEndDelim); 78 | end else 79 | Inc(p1, sstart + Length(FStartDelim) - 1); 80 | sstart := p1; 81 | end; 82 | until p1 = 0; 83 | end; 84 | 85 | function TccTextMerge.Execute: Integer; 86 | var 87 | i: Integer; 88 | Count: Byte; 89 | temp: string; 90 | begin 91 | { make sure there is a set of strings to merge with } 92 | if not Assigned(FMergeStrings) then begin 93 | Result := tmNoMergeStrings; 94 | Exit; 95 | end; 96 | 97 | { make sure there is a set of strings to merge into } 98 | if not Assigned(FMergeText) then begin 99 | Result := tmNoMergeText; 100 | Exit; 101 | end; 102 | 103 | { initialize the counter, then do the merge on each string in the text } 104 | Count := 0; 105 | for i := 0 to FMergeText.Count - 1 do begin 106 | temp := FMergeText.Strings[i]; 107 | Inc(Count, MergeAString(temp)); 108 | FMergeText.Strings[i] := temp; 109 | end; 110 | 111 | { return the number of fields merged ( < 0 means error) } 112 | Result := Count; 113 | end; 114 | 115 | end. 116 | -------------------------------------------------------------------------------- /Source/misc/uSearchRecList.pas: -------------------------------------------------------------------------------- 1 | unit uSearchRecList; 2 | 3 | interface 4 | 5 | uses 6 | System.SysUtils, System.IOUtils; 7 | 8 | type 9 | /// 10 | /// a call procedure type used in GetSearchRecs for when a path is 11 | /// traversed 12 | /// 13 | /// 14 | /// passes the current Path to the calling method which can change the 15 | /// value of the Stop parameter to halt the search process 16 | /// 17 | /// 18 | /// 19 | /// an example anonymous method of this type could be used to update a 20 | /// status bar: 21 | /// 22 | /// 23 | /// procedure (const Path: string; var Stop: Boolean)
begin
24 | /// StatusBar1.Panels[0].Text := Path;
StatusBar1.Update;
25 | /// Application.ProcessMessages;
Stop := DoStop; // could a 26 | /// private var set by a button
end 27 | ///
28 | ///
29 | TPathStatusProc = reference to procedure (const Path: string; var Stop: Boolean); 30 | /// 31 | /// when a match file is found, the TSearchRec is passed to this procedure 32 | /// 33 | /// 34 | /// the only way to get the SearchRec found is to define a procedure that 35 | /// handles the FileInfo parameter given to it 36 | /// 37 | /// 38 | /// 39 | /// define an anonymous procedure such as this: 40 | /// 41 | /// 42 | /// procedure (FileInfo: TSearchRec)
begin
43 | /// MySearchList.Add(FileInfo);
end 44 | ///
45 | ///
46 | TFileFoundProc = reference to procedure (FileInfo: TSearchRec); 47 | 48 | /// 49 | /// Walk through a directory tree looking for specific files and return them 50 | /// in a callback procedure 51 | /// 52 | /// 53 | /// The path to search for files 54 | /// 55 | /// 56 | /// A file pattern to look for; note that this is not used if all you're looking 57 | /// for is folders. 58 | /// 59 | /// 60 | /// True or False - whether to traverse subfolders or not 61 | /// 62 | /// 63 | /// A procedure of type TPathStatusProc for the calling method to define to 64 | /// get notified every time a sub-folder is recursed into 65 | /// 66 | /// 67 | /// A procedure of type TFileFoundProc called for each found file, giving the 68 | /// TSearchRec to the calling method. 69 | /// 70 | /// 71 | /// GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: 72 | /// TSearchRec)
begin
// log files older than 90 days to the 73 | /// recycle bin
if FileInfo.TimeStamp < Now - 90 then
74 | /// FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
75 | ///
76 | procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc); 77 | 78 | 79 | implementation 80 | 81 | procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc); 82 | { adapted from TDirectory.WalkThroughDirectory in System.IOUtils } 83 | const 84 | FCCurrentDir: string = '.'; 85 | FCParentDir: string = '..'; 86 | var 87 | SearchRec: TSearchRec; 88 | Stop: Boolean; 89 | begin 90 | if FindFirst(TPath.Combine(Path, '*'), faAnyFile, SearchRec) = 0 then 91 | try 92 | repeat 93 | if SearchRec.Attr and System.SysUtils.faDirectory <> 0 then begin 94 | // if a directory, optionally recurse into it 95 | if Recursive and (SearchRec.Name <> FCCurrentDir) and (SearchRec.Name <> FCParentDir) then begin 96 | GetSearchRecs(TPath.Combine(Path, SearchRec.Name), Pattern, Recursive, PathStatusProc, FileFoundProc); 97 | // notify the calling method about the change in path 98 | if Assigned(PathStatusProc) then 99 | PathStatusProc(Path, Stop); 100 | // optionally halt the searching 101 | if Stop then 102 | Break; 103 | end; 104 | end else if TPath.MatchesPattern(SearchRec.Name, Pattern, False) then 105 | // found a file matching our pattern, let the calling method have it 106 | if Assigned(FileFoundProc) then 107 | FileFoundProc(SearchRec); 108 | until FindNext(SearchRec) <> 0; 109 | finally 110 | FindClose(SearchRec); 111 | end; 112 | end; 113 | 114 | end. 115 | -------------------------------------------------------------------------------- /Source/misc/uTestUtils.pas: -------------------------------------------------------------------------------- 1 | unit uTestUtils; 2 | 3 | interface 4 | 5 | type 6 | TTestUtils = class 7 | public 8 | class function RandYear: Word; 9 | class function RandMonth: Word; 10 | class function RandDay: Word; 11 | class function RandHour: Word; 12 | class function RandMinute: Word; 13 | class function RandSecond: Word; 14 | class function RandMillisecond: Word; 15 | class function RandDate: TDateTime; 16 | class function RandDateStr: string; 17 | class function RandTime: TDateTime; 18 | class function RandTimeStr: string; 19 | 20 | class function RandString(const Len: integer = 100): string; 21 | class function RandInt(const MaxLen: Integer): Integer; 22 | class function RandIntStr(const MaxLen: Integer): string; 23 | class function RandDouble: Double; 24 | class function RandDoubleStr: string; 25 | class function RandBool: Boolean; 26 | class function RandBoolStr: string; 27 | class function RandCardType: string; 28 | class function RandPayType: string; 29 | end; 30 | 31 | 32 | implementation 33 | 34 | uses 35 | SysUtils, Math; 36 | 37 | class function TTestUtils.RandString(const Len: integer = 100): string; 38 | { only returns upper-case letters } 39 | var 40 | i: Integer; 41 | begin 42 | Result := EmptyStr; 43 | for i := 1 to Len do 44 | Result := Result + Char(Random(26) + Ord('A')) 45 | end; 46 | 47 | class function TTestUtils.RandBool: Boolean; 48 | const 49 | FalseTrueArray: array[0..1] of Boolean = (False, True); 50 | begin 51 | Result := FalseTrueArray[Random(2)]; 52 | end; 53 | 54 | class function TTestUtils.RandBoolStr: string; 55 | const 56 | FalseTrue: array[Boolean] of string = ('False', 'True'); 57 | begin 58 | Result := FalseTrue[RandBool]; 59 | end; 60 | 61 | class function TTestUtils.RandMillisecond: Word; 62 | begin 63 | Result := Random(999) + 1; 64 | end; 65 | 66 | class function TTestUtils.RandMinute: Word; 67 | begin 68 | Result := Random(59) + 1; 69 | end; 70 | 71 | class function TTestUtils.RandMonth: Word; 72 | begin 73 | Result := Random(12) + 1; 74 | end; 75 | 76 | class function TTestUtils.RandYear: Word; 77 | const 78 | YearsBack = 10; 79 | begin 80 | Result := Random(YearsBack) + CurrentYear - YearsBack; 81 | end; 82 | 83 | class function TTestUtils.RandDate: TDateTime; 84 | var 85 | year, month, day: Word; 86 | begin 87 | year := RandYear; 88 | month := RandMonth; 89 | day := RandDay; 90 | Result := EncodeDate(year, month, day); 91 | end; 92 | 93 | class function TTestUtils.RandDateStr: string; 94 | begin 95 | Result := FormatDateTime('yyyy-mm-dd', RandDate); 96 | end; 97 | 98 | class function TTestUtils.RandDay: Word; 99 | begin 100 | Result := Random(28) + 1; 101 | end; 102 | 103 | class function TTestUtils.RandHour: Word; 104 | begin 105 | Result := Random(24) + 1; 106 | end; 107 | 108 | class function TTestUtils.RandSecond: Word; 109 | begin 110 | Result := Random(59) + 1; 111 | end; 112 | 113 | class function TTestUtils.RandTime: TDateTime; 114 | var 115 | hour, min, sec, msec: Word; 116 | begin 117 | hour := RandHour; 118 | min := RandMinute; 119 | sec := RandSecond; 120 | msec := RandMillisecond; 121 | Result := EncodeTime(hour, min, sec, msec); 122 | end; 123 | 124 | class function TTestUtils.RandTimeStr: string; 125 | begin 126 | Result := FormatDateTime('yyyy-mm-dd', RandTime); 127 | end; 128 | 129 | class function TTestUtils.RandPayType: string; 130 | const 131 | PaymentTypes: array[0..3] of string = ('Cash', 'CreditCard', 'COD', 'Gift'); 132 | begin 133 | Result := PaymentTypes[Random(4)]; 134 | end; 135 | 136 | class function TTestUtils.RandCardType: string; 137 | const 138 | CardTypes: array[0..2] of string = ('VISA', 'MC', 'DISC'); 139 | begin 140 | Result := CardTypes[Random(3)]; 141 | end; 142 | 143 | class function TTestUtils.RandDouble: Double; 144 | begin 145 | Result := Round(Random * 10000.0) / 100.0; 146 | end; 147 | 148 | class function TTestUtils.RandDoubleStr: string; 149 | begin 150 | Result := FloatToStr(RandDouble); 151 | end; 152 | 153 | class function TTestUtils.RandInt(const MaxLen: Integer): Integer; 154 | begin 155 | Result := Random(Round(Power(10, MaxLen))); 156 | end; 157 | 158 | class function TTestUtils.RandIntStr(const MaxLen: Integer): string; 159 | begin 160 | Result := IntToStr(RandInt(MaxLen)); 161 | end; 162 | 163 | end. 164 | -------------------------------------------------------------------------------- /Source/misc/uXmlDates.pas: -------------------------------------------------------------------------------- 1 | unit uXmlDates; 2 | 3 | interface 4 | 5 | type 6 | TXMLDateZeroOptions = (dzoBlank, dzoZero, dzoNow); 7 | 8 | function GetTimeZoneOffset: string; 9 | function GetTimestampWithTimeZone(const ADateTime: TDateTime): string; 10 | function GetXmlDate(const ADateTime: TDateTime; const DateZeroOption: TXMLDateZeroOptions = dzoBlank): string; 11 | function ConvertToDelphiDateFromXml(const ADateTime: string): TDateTime; 12 | 13 | implementation 14 | 15 | uses 16 | {$IFDEF UseCodeSite} CodeSiteLogging, {$ENDIF} 17 | {$IF CompilerVersion >= 23.0} // Delphi XE2 18 | WinAPI.Windows, System.SysUtils, System.StrUtils, System.DateUtils; 19 | {$ELSE} 20 | Windows, SysUtils, StrUtils, DateUtils; 21 | {$IFEND} 22 | 23 | function GetTimeZoneOffset: string; 24 | var 25 | LZoneInfo: TTimeZoneInformation; 26 | begin 27 | GetTimeZoneInformation(LZoneInfo); 28 | 29 | Result := FormatFloat('00', LZoneInfo.Bias div -60) + ':00'; 30 | if LeftStr(Result, 1) <> '-' then 31 | Result := '+' + Result; 32 | end; 33 | 34 | function GetTimestampWithTimeZone(const ADateTime: TDateTime): string; 35 | var 36 | LFormatSettings: TFormatSettings; 37 | begin 38 | LFormatSettings := TFormatSettings.Create; 39 | 40 | if ADateTime <> 0 then 41 | Result := FormatDateTime('yyyy-mm-dd"T"hh:mm:ss', ADateTime, LFormatSettings) 42 | else 43 | Result := FormatDateTime('yyyy-mm-dd"T"hh:mm:ss', Now, LFormatSettings); 44 | 45 | Result := Result + GetTimeZoneOffset; 46 | 47 | {$IFDEF UseCodeSite} CodeSite.Send('Result', Result); {$ENDIF} 48 | end; 49 | 50 | function GetXmlDate(const ADateTime: TDateTime; const DateZeroOption: TXMLDateZeroOptions = dzoBlank): string; 51 | var 52 | LFormatSettings: TFormatSettings; 53 | begin 54 | LFormatSettings := TFormatSettings.Create; 55 | 56 | if (ADateTime <> 0) or (DateZeroOption = dzoZero) then 57 | Result := FormatDateTime('yyyy-mm-dd"T"hh:mm:ss', ADateTime, LFormatSettings) 58 | else 59 | case DateZeroOption of 60 | dzoBlank: 61 | Result := EmptyStr; 62 | dzoNow: 63 | Result := FormatDateTime('yyyy-mm-dd"T"hh:mm:ss', Now, LFormatSettings); 64 | else 65 | raise Exception.Create('Invalid "DateZero" option when converting XML Dates (GetXmlDate)'); 66 | end; 67 | end; 68 | 69 | function ConvertToDelphiDateFromXml(const ADateTime: string): TDateTime; 70 | var 71 | LXmlDateTime: string; 72 | LYear, LMonth, LDay: Word; 73 | LHour, LMinute, LSecond: Word; 74 | begin 75 | LXmlDateTime := Trim(ADateTime); 76 | 77 | if LXmlDateTime = EmptyStr then 78 | raise Exception.Create('ADateTime Parameter Can Not Be An Empty String'); 79 | 80 | if Length(LXmlDateTime) = 10 then 81 | // just date, no time; add default time values 82 | LXmlDateTime := LXmlDateTime + ' 00:00:00'; 83 | 84 | {$IFDEF UseCodeSite} 85 | CodeSite.Send(Format('Year: %s, Month: %s, Day: %s, Hour: %s, Minute: %s, Second: %s', [ 86 | LeftStr(LXmlDateTime, 4), 87 | MidStr(LXmlDateTime, 6, 2), 88 | MidStr(LXmlDateTime, 9, 2), 89 | MidStr(LXmlDateTime, 12, 2), 90 | MidStr(LXmlDateTime, 15, 2), 91 | RightStr(LXmlDateTime, 2) 92 | ])); 93 | {$ENDIF} 94 | 95 | LYear := StrToInt(LeftStr(LXmlDateTime, 4)); 96 | LMonth := StrToInt(MidStr(LXmlDateTime, 6, 2)); 97 | LDay := StrToInt(MidStr(LXmlDateTime, 9, 2)); 98 | 99 | LHour := StrToInt(MidStr(LXmlDateTime, 12, 2)); 100 | LMinute := StrToInt(MidStr(LXmlDateTime, 15, 2)); 101 | LSecond := StrToInt(RightStr(LXmlDateTime, 2)); 102 | 103 | Result := EncodeDateTime(LYear, LMonth, LDay, LHour, LMinute, LSecond, 0); 104 | 105 | end; 106 | 107 | 108 | end. 109 | -------------------------------------------------------------------------------- /Source/textfilelogger/TextFileLogger.pas: -------------------------------------------------------------------------------- 1 | unit TextFileLogger; 2 | (* 3 | * as: TextFileLogger 4 | * by: David Cornelius 5 | * to: provide easy logging to a text file 6 | *) 7 | 8 | interface 9 | 10 | uses 11 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; 12 | 13 | type 14 | ETextFileLogger = Exception; 15 | 16 | TccTextFileLogger = class(TComponent) 17 | private 18 | FWriteHeader: Boolean; 19 | FLogFile: TextFile; 20 | FLogFileCreated: Boolean; 21 | FLogFileName: string; 22 | FOverwrite: Boolean; 23 | FKeepOpen: Boolean; 24 | FUseDefaultFilename: Boolean; 25 | procedure SetFilename(const NewFilename: string); 26 | public 27 | constructor Create(AOwner: TComponent); override; 28 | destructor Destroy; override; 29 | procedure Log(const Msg: string); 30 | published 31 | property FileName: string read FLogFilename write SetFilename; 32 | property KeepOpen: Boolean read FKeepOpen write FKeepOpen default True; 33 | property Overwrite: Boolean read FOverwrite write FOverwrite default False; 34 | property UseDefaultFileName: Boolean read FUseDefaultFilename write FUseDefaultFilename default True; 35 | property WriteHeader: Boolean read FWriteHeader write FWriteHeader default True; 36 | end; 37 | 38 | 39 | 40 | implementation 41 | 42 | 43 | constructor TccTextFileLogger.Create(AOwner: TComponent); 44 | begin 45 | inherited; 46 | 47 | FOverwrite := False; 48 | FLogFileName := ''; 49 | FLogFileCreated := False; 50 | FWriteHeader := True; 51 | FUseDefaultFileName := True; 52 | end; 53 | 54 | destructor TccTextFileLogger.Destroy; 55 | begin 56 | if (not (csDesigning in ComponentState)) and FLogFileCreated and FKeepOpen then 57 | CloseFile(FLogFile); 58 | 59 | inherited; 60 | end; 61 | 62 | procedure TccTextFileLogger.Log(const Msg: string); 63 | begin 64 | // have we written to the log file yet? 65 | if not FLogFileCreated then begin 66 | if Length(FLogFileName) = 0 then 67 | if FUseDefaultFilename then 68 | FLogFileName := ChangeFileExt(Application.Exename, '.LOG') 69 | else begin 70 | FLogFileCreated := False; 71 | raise ETextFileLogger.Create('No filename for the log file.'); 72 | end; 73 | 74 | AssignFile(FLogFile, FLogFileName); 75 | if FileExists(FLogFileName) and (not FOverwrite) then 76 | Append(FLogFile) 77 | else 78 | Rewrite(FLogFile); 79 | 80 | FLogFileCreated := True; 81 | 82 | if FWriteHeader then 83 | Writeln(FLogFile, '-----[ ', FormatDateTime('mm-dd-yyyy hh:nn:ss', Now), ' ]-----'); 84 | end; 85 | 86 | // only write out stuff if we know the file was created 87 | if FLogFileCreated then begin 88 | if not FKeepOpen then 89 | Append(FLogFile); 90 | 91 | Writeln(FLogFile, Msg); 92 | 93 | if not FKeepOpen then 94 | CloseFile(FLogFile); 95 | end; 96 | end; 97 | 98 | procedure TccTextFileLogger.SetFilename(const NewFilename: string); 99 | begin 100 | if FLogFileName <> NewFilename then begin 101 | FLogFilename := NewFilename; 102 | if FLogFileCreated and FKeepOpen then 103 | CloseFile(FLogFile); 104 | FLogFileCreated := False; 105 | end; 106 | end; 107 | 108 | end. 109 | -------------------------------------------------------------------------------- /Source/textfilelogger/TextFileLoggerReg.pas: -------------------------------------------------------------------------------- 1 | unit TextFileLoggerReg; 2 | (* 3 | * as: TextFileLoggerReg 4 | * by: David Cornelius 5 | * to: register the TextFileLogger component 6 | *) 7 | 8 | interface 9 | 10 | {$I cc.inc} 11 | 12 | uses 13 | {$IFDEF Delphi5} 14 | Dsgnintf; 15 | {$ELSE} 16 | {$IFDEF Delphi6AndUp} 17 | DesignEditors, DesignIntf; 18 | {$ENDIF} 19 | {$ENDIF} 20 | 21 | type 22 | TTextFileLoggerEditor = class(TComponentEditor) 23 | function GetVerbCount: Integer; override; 24 | function GetVerb(Index: Integer): string; override; 25 | procedure ExecuteVerb(Index: Integer); override; 26 | end; 27 | 28 | procedure RegisterTextFileLogger; 29 | 30 | 31 | implementation 32 | 33 | uses 34 | Classes, Windows, TextFileLogger; 35 | 36 | procedure RegisterTextFileLogger; 37 | begin 38 | RegisterComponentEditor(TccTextFileLogger, TTextFileLoggerEditor); 39 | RegisterComponents('cc', [TccTextFileLogger]); 40 | end; 41 | 42 | { TTextFileLoggerEditor } 43 | 44 | procedure TTextFileLoggerEditor.ExecuteVerb(Index: Integer); 45 | const 46 | CR = #13; 47 | LF = #10; 48 | begin 49 | case Index of 50 | 0: MessageBox(0, 'TccTextFileLogger vr. 1.1' + CR + LF + 51 | 'Copyright (c) 2001-2015 by Cornelius Concepts.', 52 | PChar('About this component ...'), 53 | MB_OK + MB_ICONINFORMATION); 54 | 1: MessageBox(0, 'TccTextfileLogger provides quick and easy logging to a text file. ' + 55 | 'In fact, all you have to do is drop the component on a form and call ' + 56 | 'its LOG method passing in a string message. By default, a file in the ' + 57 | 'same directory as the running application and with the same name but ' + 58 | 'with a .LOG extension is used for logging the messages. The following ' + 59 | 'is a list of the properties and their purpose:' + CR + LF + 60 | LF + 61 | 'FileName: The name of the file where the log messages are stored; if ' + 62 | 'left blank and UseDefaultFilename is True, it will be set to the same ' + 63 | 'name as the application and in the same directory, but with a .LOG extension.' + CR + LF + 64 | LF + 65 | 'KeepOpen: If True, the log file is kept open between log writes. You might ' + 66 | 'want to set this False if the file system is unreliable or there are few log ' + 67 | 'messages with long delays between writes.' + CR + LF + 68 | LF + 69 | 'Overwrite: If True, the log file will be erased and recreated the first time ' + 70 | 'it is written to.' + CR + LF + 71 | LF + 72 | 'UseDefaultFileName: If True and the FileName property is blank, the FileName ' + 73 | 'will be set to the same name as the application and in the same directory, but ' + 74 | 'with a .LOG extension.' + CR + LF + 75 | LF + 76 | 'WriteHeader: If True, the current date and time will be written out between ' + 77 | 'a set of dashes the first time the log file is written to.', 78 | PChar('Component Help...'), 79 | MB_OK + MB_ICONINFORMATION); 80 | end; 81 | end; 82 | 83 | function TTextFileLoggerEditor.GetVerb(Index: Integer): string; 84 | begin 85 | case Index of 86 | 0: Result := '&Version and Copyright info...'; 87 | 1: Result := 'Component Help...'; 88 | end; 89 | end; 90 | 91 | function TTextFileLoggerEditor.GetVerbCount: Integer; 92 | begin 93 | Result := 2; 94 | end; 95 | 96 | end. 97 | -------------------------------------------------------------------------------- /Source/textfileviewer/TextViewerReg.pas: -------------------------------------------------------------------------------- 1 | unit TextViewerReg; 2 | 3 | interface 4 | 5 | {$I cc.inc} 6 | 7 | uses 8 | {$IFDEF Delphi5} 9 | Dsgnintf; 10 | {$ELSE} 11 | {$IFDEF Delphi6AndUp} 12 | DesignEditors, DesignIntf; 13 | {$ENDIF} 14 | {$ENDIF} 15 | 16 | 17 | type 18 | TTextViewerEditor = class(TComponentEditor) 19 | function GetVerbCount: Integer; override; 20 | function GetVerb(Index: Integer): string; override; 21 | procedure ExecuteVerb(Index: Integer); override; 22 | end; 23 | 24 | procedure Register; 25 | 26 | 27 | implementation 28 | 29 | uses 30 | Classes, Windows, 31 | ufrmTextViewer; 32 | 33 | procedure Register; 34 | begin 35 | RegisterComponentEditor(TccTextViewer, TTextViewerEditor); 36 | RegisterComponents('cc', [TccTextViewer]); 37 | end; 38 | 39 | { TTextViewerEditor } 40 | 41 | procedure TTextViewerEditor.ExecuteVerb(Index: Integer); 42 | begin 43 | case Index of 44 | 0: MessageBox(0, 'TccTextViewer vr. 1.2'#13#10 + 45 | 'Copyright (c) 2015 by Cornelius concepts.', 46 | PChar('About this component ...'), 47 | MB_OK + MB_ICONINFORMATION); 48 | 1: MessageBox(0, 'TccTextViewer is, as the name implies, a simple text file viewer. With ' + 49 | 'it, you can simply set the FileName property and call Execute, or ' + 50 | 'do it all in one step by calling Execute(Filename) to pop up a simple ' + 51 | 'viewer for text files. It is called in a modal fashion and it must be ' + 52 | 'closed before the application can continue. The text in the scrollable ' + 53 | 'viewed region can be selected and copied to the clipboard. The font size ' + 54 | 'can be increased or decreased by pressing Ctrl+L (larger) or Ctrl+S (smaller), ' + 55 | 'respectively. A pop-up menu is also available for these commands by ' + 56 | 'right-clicking with the mouse anywhere in the text viewer part of the window.', 57 | PChar('Component Help...'), 58 | MB_OK + MB_ICONINFORMATION); 59 | end; 60 | end; 61 | 62 | function TTextViewerEditor.GetVerb(Index: Integer): string; 63 | begin 64 | case Index of 65 | 0: Result := '&Version and Copyright info...'; 66 | 1: Result := 'Component Help...'; 67 | end; 68 | end; 69 | 70 | function TTextViewerEditor.GetVerbCount: Integer; 71 | begin 72 | Result := 2; 73 | end; 74 | 75 | end. 76 | -------------------------------------------------------------------------------- /Source/textfileviewer/ufrmTextViewer.dfm: -------------------------------------------------------------------------------- 1 | object frmTextViewer: TfrmTextViewer 2 | Left = 258 3 | Top = 281 4 | Caption = 'Text Viewer' 5 | ClientHeight = 391 6 | ClientWidth = 422 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDefault 15 | PixelsPerInch = 96 16 | TextHeight = 13 17 | object mmoText: TRzMemo 18 | Left = 0 19 | Top = 0 20 | Width = 422 21 | Height = 355 22 | Align = alClient 23 | Color = clInfoBk 24 | Font.Charset = ANSI_CHARSET 25 | Font.Color = clWindowText 26 | Font.Height = -16 27 | Font.Name = 'Arial' 28 | Font.Style = [] 29 | ParentFont = False 30 | PopupMenu = mnuTextViewer 31 | ReadOnly = True 32 | ScrollBars = ssBoth 33 | TabOrder = 0 34 | FrameStyle = fsStatus 35 | end 36 | object RzDialogButtons: TRzDialogButtons 37 | Left = 0 38 | Top = 355 39 | Width = 422 40 | ActionOk = actDone 41 | CaptionOk = '&Done' 42 | ShowCancelButton = False 43 | TabOrder = 1 44 | end 45 | object mnuTextViewer: TPopupMenu 46 | Left = 80 47 | Top = 96 48 | object itmTextEditCopy: TMenuItem 49 | Action = actEditCopy 50 | end 51 | object itmTextEditSelectAll: TMenuItem 52 | Action = actEditSelectAll 53 | end 54 | object N1: TMenuItem 55 | Caption = '-' 56 | end 57 | object itmTextSizeLarger: TMenuItem 58 | Action = actTextSizeLarger 59 | end 60 | object itmTextSizeSmaller: TMenuItem 61 | Action = actTextSizeSmaller 62 | end 63 | object N2: TMenuItem 64 | Caption = '-' 65 | end 66 | object itmTextViewerDone: TMenuItem 67 | Action = actDone 68 | end 69 | end 70 | object lstTextViewerActions: TActionList 71 | Left = 72 72 | Top = 184 73 | object actTextSizeLarger: TAction 74 | Category = 'TextSize' 75 | Caption = 'Text Size &Larger' 76 | ShortCut = 16460 77 | OnExecute = actTextSizeLargerExecute 78 | end 79 | object actTextSizeSmaller: TAction 80 | Category = 'TextSize' 81 | Caption = 'Text Size &Smaller' 82 | ShortCut = 16467 83 | OnExecute = actTextSizeSmallerExecute 84 | end 85 | object actEditCopy: TEditCopy 86 | Category = 'Edit' 87 | Caption = '&Copy' 88 | Hint = 'Copy' 89 | ImageIndex = 1 90 | ShortCut = 16451 91 | end 92 | object actEditSelectAll: TEditSelectAll 93 | Category = 'Edit' 94 | Caption = 'Select &All' 95 | ShortCut = 16449 96 | end 97 | object actDone: TAction 98 | Caption = '&Done' 99 | ShortCut = 27 100 | OnExecute = actDoneExecute 101 | end 102 | end 103 | end 104 | -------------------------------------------------------------------------------- /Source/textfileviewer/ufrmTextViewer.pas: -------------------------------------------------------------------------------- 1 | unit ufrmTextViewer; 2 | 3 | interface 4 | 5 | uses 6 | SysUtils, Windows, StdCtrls, Classes, Controls, ExtCtrls, Forms, 7 | RzDlgBtn, RzEdit, ActnList, Menus, StdActns, Buttons, LayoutSaver, RzPanel; 8 | 9 | type 10 | TfrmTextViewer = class(TForm) 11 | mmoText: TRzMemo; 12 | mnuTextViewer: TPopupMenu; 13 | lsTTextViewerActions: TActionList; 14 | actTextSizeLarger: TAction; 15 | actTextSizeSmaller: TAction; 16 | itmTextSizeLarger: TMenuItem; 17 | itmTextSizeSmaller: TMenuItem; 18 | actEditCopy: TEditCopy; 19 | actEditSelectAll: TEditSelectAll; 20 | N1: TMenuItem; 21 | itmTextEditCopy: TMenuItem; 22 | itmTextEditSelectAll: TMenuItem; 23 | N2: TMenuItem; 24 | itmTextViewerDone: TMenuItem; 25 | actDone: TAction; 26 | RzDialogButtons: TRzDialogButtons; 27 | procedure actTextSizeLargerExecute(Sender: TObject); 28 | procedure actTextSizeSmallerExecute(Sender: TObject); 29 | procedure actDoneExecute(Sender: TObject); 30 | private 31 | FTextSizeIndex: Integer; 32 | protected 33 | property TextSizeIndex: Integer read FTextSizeIndex write FTextSizeIndex; 34 | end; 35 | 36 | TccTextViewer = class(TComponent) 37 | private 38 | FFileName: string; 39 | FTextSizeIndex: Integer; 40 | procedure ShowTextViewer; 41 | public 42 | constructor Create(AOwner: TComponent); override; 43 | procedure Execute; overload; 44 | procedure Execute(const fn: string); overload; 45 | published 46 | property TextSizeIndex: Integer read FTextSizeIndex write FTextSizeIndex default 3; 47 | property FileName: string read FFileName write FFileName; 48 | end; 49 | 50 | 51 | var 52 | frmTextViewer: TfrmTextViewer; // default variable for global use 53 | 54 | 55 | implementation 56 | 57 | {$R *.DFM} 58 | 59 | { TfrmTextViewer } 60 | 61 | const 62 | MaxTextSizes = 14; 63 | TextSizes: array[1..MaxTextSizes] of Integer = (8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72); 64 | 65 | 66 | procedure TfrmTextViewer.actTextSizeLargerExecute(Sender: TObject); 67 | begin 68 | if FTextSizeIndex < MaxTextSizes then 69 | begin 70 | Inc(FTextSizeIndex); 71 | mmoText.Font.Size := TextSizes[FTextSizeIndex]; 72 | if FTextSizeIndex = MaxTextSizes then 73 | actTextSizeLarger.Enabled := False; 74 | actTextSizeSmaller.Enabled := True; 75 | end; 76 | end; 77 | 78 | procedure TfrmTextViewer.actTextSizeSmallerExecute(Sender: TObject); 79 | begin 80 | if FTextSizeIndex > 1 then 81 | begin 82 | Dec(FTextSizeIndex); 83 | mmoText.Font.Size := TextSizes[FTextSizeIndex]; 84 | if FTextSizeIndex = 1 then 85 | actTextSizeSmaller.Enabled := False; 86 | actTextSizeLarger.Enabled := True; 87 | end; 88 | end; 89 | 90 | 91 | procedure TfrmTextViewer.actDoneExecute(Sender: TObject); 92 | begin 93 | Close; 94 | end; 95 | 96 | { TccTextViewer } 97 | 98 | procedure TccTextViewer.ShowTextViewer; 99 | var 100 | LocalTextViewer: TfrmTextViewer; 101 | begin 102 | LocalTextViewer := TfrmTextViewer.Create(nil); 103 | try 104 | LocalTextViewer.TextSizeIndex := FTextSizeIndex; 105 | LocalTextviewer.mmoText.Font.Size := TextSizes[FTextSizeIndex]; 106 | LocalTextViewer.mmoText.Lines.LoadFromFile(FFileName); 107 | LocalTextviewer.Caption := FFileName; 108 | LocalTextViewer.ShowModal; 109 | finally 110 | FreeAndNil(LocalTextViewer); 111 | end; 112 | end; 113 | 114 | procedure TccTextViewer.Execute; 115 | var 116 | s: string; 117 | const 118 | sTextFileViewer = 'Text file Viewer'; 119 | begin 120 | if Length(FFileName) = 0 then begin 121 | s := 'Error - no file name given.'; 122 | Application.MessageBox(PChar(s), PChar(sTextFileViewer), MB_OK + MB_DEFBUTTON1 + MB_ICONERROR); 123 | end else if not FileExists(FFileName) then begin 124 | s := 'Error - could not find the file, "' + FFileName + '"'; 125 | Application.MessageBox(PChar(s), PChar(sTextFileViewer), MB_OK + MB_DEFBUTTON1 + MB_ICONERROR); 126 | end else 127 | ShowTextViewer; 128 | end; 129 | 130 | constructor TccTextViewer.Create(AOwner: TComponent); 131 | begin 132 | inherited Create(AOwner); 133 | 134 | // establish default 135 | FTextSizeIndex := 3; 136 | end; 137 | 138 | procedure TccTextViewer.Execute(const fn: string); 139 | begin 140 | FFileName := fn; 141 | Execute; 142 | end; 143 | 144 | end. 145 | -------------------------------------------------------------------------------- /Source/webgen/DBISAM_WebGenTables.SQL: -------------------------------------------------------------------------------- 1 | /* SQL-92 Table Creation Script with DBISAM Extensions */ 2 | 3 | CREATE TABLE IF NOT EXISTS "General" 4 | ( 5 | "Name" VARCHAR(30) NOT NULL, 6 | "IntVal" INTEGER, 7 | "FloatVal" FLOAT, 8 | "DateVal" DATE, 9 | "TimeVal" TIME, 10 | "StrVal" VARCHAR(200), 11 | "MemoVal" MEMO, 12 | PRIMARY KEY ("RecordID") COMPRESS NONE 13 | LOCALE CODE 0 14 | USER MAJOR VERSION 1 15 | ); 16 | 17 | CREATE UNIQUE NOCASE INDEX IF NOT EXISTS "Name" ON "General" ("Name") COMPRESS FULL; 18 | 19 | CREATE TABLE IF NOT EXISTS "StoredSQL" 20 | ( 21 | "Name" VARCHAR(30) NOT NULL, 22 | "SQL" MEMO, 23 | PRIMARY KEY ("RecordID") COMPRESS NONE 24 | LOCALE CODE 0 25 | USER MAJOR VERSION 1 26 | ); 27 | 28 | CREATE UNIQUE NOCASE INDEX IF NOT EXISTS "Name" ON "StoredSQL" ("Name") COMPRESS FULL; 29 | 30 | CREATE TABLE IF NOT EXISTS "WebPics" 31 | ( 32 | "Name" VARCHAR(20) NOT NULL, 33 | "PicFile" VARCHAR(200), 34 | "Desc" VARCHAR(400), 35 | PRIMARY KEY ("RecordID") COMPRESS NONE 36 | LOCALE CODE 0 37 | USER MAJOR VERSION 1 38 | ); 39 | 40 | CREATE UNIQUE NOCASE INDEX IF NOT EXISTS "Name" ON "WebPics" ("Name") COMPRESS FULL; 41 | -------------------------------------------------------------------------------- /Source/webgen/udmCustomWebGenerator.dfm: -------------------------------------------------------------------------------- 1 | object dmCustomWebGenerator: TdmCustomWebGenerator 2 | OldCreateOrder = False 3 | OnCreate = DataModuleCreate 4 | Height = 222 5 | Width = 247 6 | object PageProducer: TPageProducer 7 | OnHTMLTag = PageProducerHTMLTag 8 | Left = 56 9 | Top = 24 10 | end 11 | object DataSetTableProducer: TDataSetTableProducer 12 | MaxRows = 999 13 | TableAttributes.Border = 3 14 | TableAttributes.CellSpacing = 1 15 | TableAttributes.CellPadding = 8 16 | TableAttributes.Width = 0 17 | OnFormatCell = DataSetTableProducerFormatCell 18 | Left = 56 19 | Top = 72 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /Source/webgen/udmDBISAMWebGenerator.dfm: -------------------------------------------------------------------------------- 1 | inherited dmDBISAMWebGenerator: TdmDBISAMWebGenerator 2 | OldCreateOrder = True 3 | Height = 284 4 | Width = 304 5 | object qryWebPics: TDBISAMQuery 6 | AutoDisplayLabels = False 7 | CopyOnAppend = False 8 | EngineVersion = '4.21 Build 11' 9 | MaxRowCount = -1 10 | SQL.Strings = ( 11 | 'select PicFile, Desc ' 12 | 'from webpics' 13 | 'where Name = :Name') 14 | Params = < 15 | item 16 | DataType = ftString 17 | Name = 'Name' 18 | end> 19 | Left = 176 20 | Top = 144 21 | ParamData = < 22 | item 23 | DataType = ftString 24 | Name = 'Name' 25 | end> 26 | object qryWebPicsPicFile: TStringField 27 | FieldName = 'PicFile' 28 | Origin = 'webpics.PicFile' 29 | Size = 200 30 | end 31 | object qryWebPicsDesc: TStringField 32 | FieldName = 'Desc' 33 | Origin = 'webpics.Desc' 34 | Size = 400 35 | end 36 | end 37 | object qryGeneral: TDBISAMQuery 38 | AutoDisplayLabels = False 39 | CopyOnAppend = False 40 | EngineVersion = '4.21 Build 11' 41 | MaxRowCount = -1 42 | SQL.Strings = ( 43 | 'select IntVal, FloatVal, DateVal, TimeVal, StrVal, MemoVal' 44 | 'from General' 45 | 'where Name = :Name') 46 | Params = < 47 | item 48 | DataType = ftString 49 | Name = 'Name' 50 | end> 51 | Left = 176 52 | Top = 32 53 | ParamData = < 54 | item 55 | DataType = ftString 56 | Name = 'Name' 57 | end> 58 | object qryGeneralIntVal: TIntegerField 59 | FieldName = 'IntVal' 60 | Origin = 'General.IntVal' 61 | end 62 | object qryGeneralFloatVal: TFloatField 63 | FieldName = 'FloatVal' 64 | Origin = 'General.FloatVal' 65 | end 66 | object qryGeneralDateVal: TDateField 67 | FieldName = 'DateVal' 68 | Origin = 'General.DateVal' 69 | end 70 | object qryGeneralTimeVal: TTimeField 71 | FieldName = 'TimeVal' 72 | Origin = 'General.TimeVal' 73 | end 74 | object qryGeneralStrVal: TStringField 75 | FieldName = 'StrVal' 76 | Origin = 'General.StrVal' 77 | Size = 200 78 | end 79 | object qryGeneralMemoVal: TBlobField 80 | FieldName = 'MemoVal' 81 | Origin = 'General.MemoVal' 82 | end 83 | end 84 | object qryStoredProcs: TDBISAMQuery 85 | AutoDisplayLabels = False 86 | CopyOnAppend = False 87 | AfterOpen = qryAfterOpen 88 | EngineVersion = '4.21 Build 11' 89 | MaxRowCount = -1 90 | SQL.Strings = ( 91 | 'select name, sql from StoredSQL where name = :name') 92 | Params = < 93 | item 94 | DataType = ftString 95 | Name = 'name' 96 | end> 97 | Left = 176 98 | Top = 88 99 | ParamData = < 100 | item 101 | DataType = ftString 102 | Name = 'name' 103 | end> 104 | object qryStoredProcsname: TStringField 105 | FieldName = 'name' 106 | Origin = 'StoredSQL.name' 107 | Size = 30 108 | end 109 | object qryStoredProcssql: TMemoField 110 | FieldName = 'sql' 111 | Origin = 'StoredSQL.sql' 112 | BlobType = ftMemo 113 | end 114 | end 115 | object qryDynamic: TDBISAMQuery 116 | AutoDisplayLabels = False 117 | CopyOnAppend = False 118 | AfterOpen = qryAfterOpen 119 | EngineVersion = '4.21 Build 11' 120 | MaxRowCount = -1 121 | Params = <> 122 | Left = 176 123 | Top = 200 124 | end 125 | end 126 | -------------------------------------------------------------------------------- /Squared Menu_48px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/Squared Menu_48px.png -------------------------------------------------------------------------------- /icons8_Squared_Menu.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/icons8_Squared_Menu.ico -------------------------------------------------------------------------------- /idleclose/CloseApplicationReg.dcr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/idleclose/CloseApplicationReg.dcr -------------------------------------------------------------------------------- /square150x150.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/square150x150.jpg -------------------------------------------------------------------------------- /square150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/corneliusdavid/ccLib/5e49b864d21c693f55b2b4875dc8eb7e436e62c6/square150x150.png --------------------------------------------------------------------------------