Changeset 424 for trunk/Packages
- Timestamp:
- Apr 25, 2022, 6:22:53 PM (3 years ago)
- Location:
- trunk/Packages
- Files:
-
- 1 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Packages/CevoComponents/ScreenTools.pas
r423 r424 8 8 {$ENDIF} 9 9 StringTables, LCLIntf, LCLType, SysUtils, Classes, Graphics, Controls, Math, 10 Forms, Menus, GraphType, fgl,UGraphicSet, LazFileUtils, UTexture;10 Forms, Menus, GraphType, UGraphicSet, LazFileUtils, UTexture; 11 11 12 12 type -
trunk/Packages/CevoComponents/Sound.pas
r423 r424 4 4 5 5 uses 6 SysUtils, Classes, Graphics, Controls, Forms, fgl, FileUtil,6 SysUtils, Classes, Graphics, Controls, Forms, Generics.Collections, FileUtil, 7 7 StringTables, Directories, LCLType 8 8 {$IFDEF WINDOWS}, MMSystem, Windows{$ENDIF} … … 55 55 SoundMode: TSoundMode; 56 56 SoundPlayer: TSoundPlayer; 57 SoundList: T FPGObjectList<TSound>;57 SoundList: TObjectList<TSound>; 58 58 PlayingSound: TSound; 59 59 … … 333 333 procedure UnitInit; 334 334 begin 335 SoundList := T FPGObjectList<TSound>.Create;335 SoundList := TObjectList<TSound>.Create; 336 336 PlayingSound := nil; 337 337 SoundPlayer := nil; -
trunk/Packages/CevoComponents/UGraphicSet.pas
r417 r424 4 4 5 5 uses 6 Classes, SysUtils, Graphics, fgl, LCLType, UPixelPointer, DOM, XMLRead,7 XML Write, UXMLUtils;6 Classes, SysUtils, Graphics, Generics.Collections, LCLType, UPixelPointer, DOM, 7 XMLRead, XMLWrite, UXMLUtils; 8 8 9 9 type … … 31 31 { TGraphicSetItems } 32 32 33 TGraphicSetItems = class(T FPGObjectList<TGraphicSetItem>)33 TGraphicSetItems = class(TObjectList<TGraphicSetItem>) 34 34 GraphicSet: TGraphicSet; 35 35 function SearchByName(Name: string): TGraphicSetItem; … … 59 59 { TGraphicSets } 60 60 61 TGraphicSets = class(T FPGObjectList<TGraphicSet>)61 TGraphicSets = class(TObjectList<TGraphicSet>) 62 62 function SearchByName(Name: string): TGraphicSet; 63 63 function AddNew(Name: string): TGraphicSet; -
trunk/Packages/Common/Common.lpk
r420 r424 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <CONFIG> 3 <Package Version=" 4">3 <Package Version="5"> 4 4 <PathDelim Value="\"/> 5 5 <Name Value="Common"/> … … 33 33 <Other> 34 34 <CompilerMessages> 35 <IgnoredMessages idx 5024="True"/>35 <IgnoredMessages idx6058="True" idx5071="True" idx5024="True" idx3124="True" idx3123="True"/> 36 36 </CompilerMessages> 37 37 </Other> … … 41 41 Source: https://svn.zdechov.net/PascalClassLibrary/Common/"/> 42 42 <License Value="Copy left."/> 43 <Version Minor=" 9"/>43 <Version Minor="10"/> 44 44 <Files Count="29"> 45 45 <Item1> … … 172 172 </Item29> 173 173 </Files> 174 <CompatibilityMode Value="True"/> 174 175 <i18n> 175 176 <EnableI18N Value="True"/> -
trunk/Packages/Common/UAboutDialog.pas
r423 r424 5 5 uses 6 6 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus, 7 StdCtrls,ExtCtrls, UApplicationInfo, UCommon, UTranslator, UTheme, UFormAbout;7 ExtCtrls, UApplicationInfo, UCommon, UTranslator, UTheme, UFormAbout; 8 8 9 9 type -
trunk/Packages/Common/UCommon.pas
r423 r424 6 6 {$IFDEF WINDOWS}Windows,{$ENDIF} 7 7 {$IFDEF UNIX}baseunix,{$ENDIF} 8 Classes, SysUtils, StrUtils, Dialogs, Process, LCLIntf, 8 Classes, SysUtils, StrUtils, Dialogs, Process, LCLIntf, Graphics, 9 9 FileUtil; //, ShFolder, ShellAPI; 10 10 11 11 type 12 12 TArrayOfByte = array of Byte; 13 TArrayOfString = array of string;14 13 TExceptionEvent = procedure(Sender: TObject; E: Exception) of object; 15 14 … … 33 32 DLLHandle1: HModule; 34 33 35 {$IFDEF WINDOWS} 36 GetUserNameEx: procedure (NameFormat: DWORD; 37 lpNameBuffer: LPSTR; nSize: PULONG); stdcall; 38 {$ENDIF} 34 {$IFDEF WINDOWS} 35 GetUserNameEx: procedure (NameFormat: DWORD; 36 lpNameBuffer: LPSTR; nSize: PULONG); stdcall; 37 {$ENDIF} 38 39 const 40 clLightBlue = TColor($FF8080); 41 clLightGreen = TColor($80FF80); 42 clLightRed = TColor($8080FF); 39 43 40 44 function AddLeadingZeroes(const aNumber, Length : integer) : string; … … 49 53 function ComputerName: string; 50 54 procedure DeleteFiles(APath, AFileSpec: string); 55 function Explode(Separator: Char; Data: string): TStringArray; 51 56 procedure ExecuteProgram(Executable: string; Parameters: array of string); 52 57 procedure FileDialogUpdateFilterFileType(FileDialog: TOpenDialog); … … 63 68 function LoadFileToStr(const FileName: TFileName): AnsiString; 64 69 function LoggedOnUserNameEx(Format: TUserNameFormat): string; 65 function MergeArray(A, B: array of string): T ArrayOfString;70 function MergeArray(A, B: array of string): TStringArray; 66 71 function OccurenceOfChar(What: Char; Where: string): Integer; 67 72 procedure OpenWebPage(URL: string); 73 procedure OpenEmail(Email: string); 68 74 procedure OpenFileInShell(FileName: string); 69 75 function PosFromIndex(SubStr: string; Text: string; … … 81 87 function SplitString(var Text: string; Count: Word): string; 82 88 function StripTags(const S: string): string; 83 function TryHexToInt(Data: string; varValue: Integer): Boolean;84 function TryBinToInt(Data: string; varValue: Integer): Boolean;89 function TryHexToInt(Data: string; out Value: Integer): Boolean; 90 function TryBinToInt(Data: string; out Value: Integer): Boolean; 85 91 procedure SortStrings(Strings: TStrings); 86 92 … … 244 250 end; 245 251 246 function TryHexToInt(Data: string; varValue: Integer): Boolean;252 function TryHexToInt(Data: string; out Value: Integer): Boolean; 247 253 var 248 254 I: Integer; … … 260 266 end; 261 267 262 function TryBinToInt(Data: string; varValue: Integer): Boolean;268 function TryBinToInt(Data: string; out Value: Integer): Boolean; 263 269 var 264 270 I: Integer; … … 288 294 end; 289 295 290 function Explode(Separator: char; Data: string): TArrayOfString; 291 begin 292 SetLength(Result, 0); 293 while Pos(Separator, Data) > 0 do begin 296 function Explode(Separator: Char; Data: string): TStringArray; 297 var 298 Index: Integer; 299 begin 300 Result := Default(TStringArray); 301 repeat 302 Index := Pos(Separator, Data); 303 if Index > 0 then begin 304 SetLength(Result, Length(Result) + 1); 305 Result[High(Result)] := Copy(Data, 1, Index - 1); 306 Delete(Data, 1, Index); 307 end else Break; 308 until False; 309 if Data <> '' then begin 294 310 SetLength(Result, Length(Result) + 1); 295 Result[High(Result)] := Copy(Data, 1, Pos(Separator, Data) - 1); 296 Delete(Data, 1, Pos(Separator, Data)); 297 end; 298 SetLength(Result, Length(Result) + 1); 299 Result[High(Result)] := Data; 311 Result[High(Result)] := Data; 312 end; 300 313 end; 301 314 … … 308 321 begin 309 322 L := MAX_USERNAME_LENGTH + 2; 323 Result := Default(string); 310 324 SetLength(Result, L); 311 325 if Windows.GetUserName(PChar(Result), L) and (L > 0) then begin … … 344 358 Name: UtsName; 345 359 begin 360 Name := Default(UtsName); 346 361 fpuname(Name); 347 362 Result := Name.Nodename; … … 471 486 end; 472 487 488 procedure OpenEmail(Email: string); 489 begin 490 OpenURL('mailto:' + Email); 491 end; 492 473 493 procedure OpenFileInShell(FileName: string); 474 494 begin … … 499 519 end; 500 520 501 function MergeArray(A, B: array of string): TArrayOfString; 502 var 503 I: Integer; 504 begin 521 function MergeArray(A, B: array of string): TStringArray; 522 var 523 I: Integer; 524 begin 525 Result := Default(TStringArray); 505 526 SetLength(Result, Length(A) + Length(B)); 506 527 for I := 0 to Length(A) - 1 do -
trunk/Packages/Common/UDebugLog.pas
r423 r424 4 4 5 5 uses 6 Classes, SysUtils, FileUtil, fgl, SyncObjs;6 Classes, SysUtils, FileUtil, Generics.Collections, SyncObjs; 7 7 8 8 type … … 13 13 Group: string; 14 14 Text: string; 15 end; 16 17 TDebugLogItems = class(TObjectList<TDebugLogItem>) 15 18 end; 16 19 … … 27 30 procedure SetMaxCount(const AValue: Integer); 28 31 public 29 Items: T FPGObjectList<TDebugLogItem>;32 Items: TDebugLogItems; 30 33 Lock: TCriticalSection; 31 34 procedure Add(Text: string; Group: string = ''); … … 116 119 begin 117 120 inherited; 118 Items := T FPGObjectList<TDebugLogItem>.Create;121 Items := TDebugLogItems.Create; 119 122 Lock := TCriticalSection.Create; 120 123 MaxCount := 100; … … 125 128 destructor TDebugLog.Destroy; 126 129 begin 127 Items.Free;128 Lock.Free;130 FreeAndNil(Items); 131 FreeAndNil(Lock); 129 132 inherited; 130 133 end; -
trunk/Packages/Common/UFindFile.pas
r423 r424 35 35 private 36 36 s : TStringList; 37 38 37 fSubFolder : boolean; 39 38 fAttr: TFileAttrib; 40 39 fPath : string; 41 40 fFileMask : string; 42 43 41 procedure SetPath(Value: string); 44 42 procedure FileSearch(const inPath : string); … … 46 44 constructor Create(AOwner: TComponent); override; 47 45 destructor Destroy; override; 48 49 46 function SearchForFiles: TStringList; 50 47 published … … 64 61 65 62 procedure Register; 63 66 64 67 65 implementation -
trunk/Packages/Common/UGeometric.pas
r423 r424 95 95 I: Integer; 96 96 begin 97 Result := Default(TPointArray); 97 98 SetLength(Result, Length(P)); 98 99 for I := 0 to High(P) do -
trunk/Packages/Common/UJobProgressView.lfm
r396 r424 1 1 object FormJobProgressView: TFormJobProgressView 2 2 Left = 467 3 Height = 3453 Height = 414 4 4 Top = 252 5 Width = 5395 Width = 647 6 6 BorderIcons = [biSystemMenu] 7 ClientHeight = 3458 ClientWidth = 5399 DesignTimePPI = 1 207 ClientHeight = 414 8 ClientWidth = 647 9 DesignTimePPI = 144 10 10 OnClose = FormClose 11 11 OnCloseQuery = FormCloseQuery 12 12 OnCreate = FormCreate 13 OnDestroy = FormDestroy14 13 OnHide = FormHide 15 14 OnShow = FormShow 16 15 Position = poScreenCenter 17 LCLVersion = '2. 0.2.0'16 LCLVersion = '2.2.0.4' 18 17 object PanelOperationsTitle: TPanel 19 18 Left = 0 20 Height = 3 219 Height = 38 21 20 Top = 0 22 Width = 53921 Width = 647 23 22 Align = alTop 24 23 BevelOuter = bvNone 25 ClientHeight = 3 226 ClientWidth = 53924 ClientHeight = 38 25 ClientWidth = 647 27 26 FullRepaint = False 28 27 TabOrder = 0 29 28 object LabelOperation: TLabel 30 Left = 831 Height = 2 032 Top = 833 Width = 7629 Left = 10 30 Height = 26 31 Top = 10 32 Width = 99 34 33 Caption = 'Operations:' 35 ParentColor = False36 34 ParentFont = False 37 35 end … … 39 37 object PanelLog: TPanel 40 38 Left = 0 41 Height = 1 3342 Top = 2 1243 Width = 53939 Height = 161 40 Top = 253 41 Width = 647 44 42 Align = alClient 45 43 BevelOuter = bvSpace 46 ClientHeight = 1 3347 ClientWidth = 53944 ClientHeight = 161 45 ClientWidth = 647 48 46 TabOrder = 1 49 47 object MemoLog: TMemo 50 Left = 851 Height = 1 1752 Top = 853 Width = 52348 Left = 10 49 Height = 141 50 Top = 10 51 Width = 627 54 52 Anchors = [akTop, akLeft, akRight, akBottom] 55 53 ReadOnly = True … … 60 58 object PanelProgress: TPanel 61 59 Left = 0 62 Height = 5463 Top = 1 0664 Width = 53960 Height = 65 61 Top = 126 62 Width = 647 65 63 Align = alTop 66 64 BevelOuter = bvNone 67 ClientHeight = 5468 ClientWidth = 53965 ClientHeight = 65 66 ClientWidth = 647 69 67 TabOrder = 2 70 68 object ProgressBarPart: TProgressBar 71 Left = 1 072 Height = 2 473 Top = 2 474 Width = 52369 Left = 12 70 Height = 29 71 Top = 29 72 Width = 628 75 73 Anchors = [akTop, akLeft, akRight] 76 74 TabOrder = 0 77 75 end 78 76 object LabelEstimatedTimePart: TLabel 79 Left = 880 Height = 2 077 Left = 10 78 Height = 26 81 79 Top = -2 82 Width = 1 0380 Width = 132 83 81 Caption = 'Estimated time:' 84 ParentColor = False85 82 end 86 83 end 87 84 object PanelOperations: TPanel 88 85 Left = 0 89 Height = 4290 Top = 6491 Width = 53986 Height = 50 87 Top = 76 88 Width = 647 92 89 Align = alTop 93 90 BevelOuter = bvNone 94 ClientHeight = 4295 ClientWidth = 53991 ClientHeight = 50 92 ClientWidth = 647 96 93 FullRepaint = False 97 94 TabOrder = 3 98 95 object ListViewJobs: TListView 99 Left = 8100 Height = 3 2101 Top = 5102 Width = 52396 Left = 10 97 Height = 38 98 Top = 6 99 Width = 627 103 100 Anchors = [akTop, akLeft, akRight, akBottom] 104 101 AutoWidthLastColumn = True … … 107 104 Columns = < 108 105 item 109 Width = 523106 Width = 614 110 107 end> 111 108 OwnerData = True … … 120 117 object PanelProgressTotal: TPanel 121 118 Left = 0 122 Height = 52123 Top = 1 60124 Width = 539119 Height = 62 120 Top = 191 121 Width = 647 125 122 Align = alTop 126 123 BevelOuter = bvNone 127 ClientHeight = 52128 ClientWidth = 539124 ClientHeight = 62 125 ClientWidth = 647 129 126 TabOrder = 4 130 127 object LabelEstimatedTimeTotal: TLabel 131 Left = 8132 Height = 2 0128 Left = 10 129 Height = 26 133 130 Top = 0 134 Width = 1 41131 Width = 178 135 132 Caption = 'Total estimated time:' 136 ParentColor = False137 133 end 138 134 object ProgressBarTotal: TProgressBar 139 Left = 8140 Height = 2 4141 Top = 2 4142 Width = 523135 Left = 10 136 Height = 29 137 Top = 29 138 Width = 627 143 139 Anchors = [akTop, akLeft, akRight] 144 140 TabOrder = 0 … … 147 143 object PanelText: TPanel 148 144 Left = 0 149 Height = 3 2150 Top = 3 2151 Width = 539145 Height = 38 146 Top = 38 147 Width = 647 152 148 Align = alTop 153 149 BevelOuter = bvNone 154 ClientHeight = 3 2155 ClientWidth = 539150 ClientHeight = 38 151 ClientWidth = 647 156 152 TabOrder = 5 157 153 object LabelText: TLabel 158 Left = 8159 Height = 2 4160 Top = 8161 Width = 525154 Left = 10 155 Height = 29 156 Top = 10 157 Width = 630 162 158 Anchors = [akTop, akLeft, akRight] 163 159 AutoSize = False 164 ParentColor = False165 160 end 166 161 end 167 162 object ImageList1: TImageList 168 BkColor = clForeground 169 left = 200 170 top = 8 163 Left = 240 164 Top = 10 171 165 Bitmap = { 172 4C69020000001000000010000000FF00FF00FF00FF00FF00FF00FF00FF00FF00 173 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 174 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 175 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 176 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 177 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 178 FF00000000FF000000FFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 179 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000 180 00FF000000FF000000FFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 181 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF0000 182 00FF000000FF000000FFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 183 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF000000FF0000 184 00FF000000FFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 185 FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF000000FF000000FF0000 186 00FFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FFFF00FF00FF00 187 FF00FF00FF00FF00FF00FF00FF00000000FF000000FF000000FF000000FFFF00 188 FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF000000FF000000FFFF00 189 FF00FF00FF00FF00FF00000000FF000000FF000000FF000000FFFF00FF00FF00 190 FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF000000FF000000FF0000 191 00FFFF00FF00000000FF000000FF000000FF000000FFFF00FF00FF00FF00FF00 192 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF000000FF0000 193 00FF000000FF000000FF000000FF000000FFFF00FF00FF00FF00FF00FF00FF00 194 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF0000 195 00FF000000FF000000FF000000FFFF00FF00FF00FF00FF00FF00FF00FF00FF00 196 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000000 197 00FF000000FF000000FFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 198 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 199 FF00000000FFFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 200 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 201 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 202 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 203 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 204 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 205 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 206 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 207 FF00FF00FF00FF00FF00FF00FF00000000FFFF00FF00FF00FF00FF00FF00FF00 208 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 209 FF00FF00FF00FF00FF00FF00FF00000000FF000000FFFF00FF00FF00FF00FF00 210 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 211 FF00FF00FF00FF00FF00FF00FF00000000FF000084FF000000FFFF00FF00FF00 212 FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF000000FF000000FF0000 213 00FF000000FF000000FF000000FF000000FF0000FFFF000084FF000000FFFF00 214 FF00FF00FF00FF00FF00FF00FF00FF00FF00000000FF0000FFFF0000FFFF0000 215 FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000084FF0000 216 00FFFF00FF00FF00FF00FF00FF00FF00FF00000000FF0000FFFF0000FFFF0000 217 FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000 218 84FF000000FFFF00FF00FF00FF00FF00FF00000000FF0000FFFF0000FFFF0000 219 FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000 220 FFFF000084FF000000FFFF00FF00FF00FF00000000FF0000FFFF0000FFFF0000 221 FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000 222 84FF000000FFFF00FF00FF00FF00FF00FF00000000FF0000FFFF0000FFFF0000 223 FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000084FF0000 224 00FFFF00FF00FF00FF00FF00FF00FF00FF00000000FF000000FF000000FF0000 225 00FF000000FF000000FF000000FF000000FF0000FFFF000084FF000000FFFF00 226 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 227 FF00FF00FF00FF00FF00FF00FF00000000FF000084FF000000FFFF00FF00FF00 228 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 229 FF00FF00FF00FF00FF00FF00FF00000000FF000000FFFF00FF00FF00FF00FF00 230 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 231 FF00FF00FF00FF00FF00FF00FF00000000FFFF00FF00FF00FF00FF00FF00FF00 232 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 233 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 234 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 235 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 236 FF00FF00FF00FF00FF00FF00FF00 166 4C7A0200000010000000100000006A0000000000000078DAE593490E00100C45 167 7B78F72E5684A63A1142C382BE4F0708F89C955117F4B016BE67B5FC6E96DB97 168 B0D4B9F4CD949F36DED1DF922B0F1BD11FAB5AFC68DE5C44D40220A9FA779EC8 169 6A349FD5A435E43CADA1E3678D73F773F1DBF3EFADFFEEFEBBF97F6696BE9D36 237 170 } 238 171 end … … 241 174 Interval = 100 242 175 OnTimer = TimerUpdateTimer 243 left = 320244 top = 8176 Left = 384 177 Top = 10 245 178 end 246 179 end -
trunk/Packages/Common/UJobProgressView.pas
r423 r424 5 5 uses 6 6 SysUtils, Variants, Classes, Graphics, Controls, Forms, Syncobjs, 7 Dialogs, ComCtrls, StdCtrls, ExtCtrls, Contnrs, UThreading, Math,7 Dialogs, ComCtrls, StdCtrls, ExtCtrls, Generics.Collections, UThreading, Math, 8 8 DateUtils; 9 9 … … 69 69 end; 70 70 71 TJobs = class(TObjectList )71 TJobs = class(TObjectList<TJob>) 72 72 end; 73 73 … … 103 103 procedure ReloadJobList; 104 104 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); 105 procedure FormDestroy(Sender: TObject);106 105 procedure ListViewJobsData(Sender: TObject; Item: TListItem); 107 106 procedure TimerUpdateTimer(Sender: TObject); … … 163 162 SExecuted = 'Executed'; 164 163 164 165 165 implementation 166 166 … … 284 284 end; 285 285 286 procedure TFormJobProgressView.FormDestroy(Sender:TObject);287 begin288 end;289 290 286 procedure TFormJobProgressView.ListViewJobsData(Sender: TObject; Item: TListItem); 291 287 begin 292 288 if (Item.Index >= 0) and (Item.Index < JobProgressView.Jobs.Count) then 293 with TJob(JobProgressView.Jobs[Item.Index])do begin289 with JobProgressView.Jobs[Item.Index] do begin 294 290 Item.Caption := Title; 295 291 if Item.Index = JobProgressView.CurrentJobIndex then Item.ImageIndex := 1 … … 403 399 I := 0; 404 400 while I < Jobs.Count do 405 with TJob(Jobs[I])do begin401 with Jobs[I] do begin 406 402 CurrentJobIndex := I; 407 CurrentJob := TJob(Jobs[I]);403 CurrentJob := Jobs[I]; 408 404 JobProgressChange(Self); 409 405 StartTime := Now; … … 418 414 Method(CurrentJob); 419 415 end else begin 416 Thread := TJobThread.Create(True); 420 417 try 421 Thread := TJobThread.Create(True);422 418 with Thread do begin 423 419 FreeOnTerminate := False; … … 492 488 if AValue = FTerminate then Exit; 493 489 for I := 0 to Jobs.Count - 1 do 494 TJob(Jobs[I]).Terminate := AValue;490 Jobs[I].Terminate := AValue; 495 491 FTerminate := AValue; 496 492 end; … … 618 614 procedure TProgress.Increment; 619 615 begin 620 try621 FLock.Acquire;616 FLock.Acquire; 617 try 622 618 Value := Value + 1; 623 619 finally … … 628 624 procedure TProgress.Reset; 629 625 begin 630 try631 FLock.Acquire;626 FLock.Acquire; 627 try 632 628 FValue := 0; 633 629 finally … … 676 672 destructor TJob.Destroy; 677 673 begin 678 Progress.Free;674 FreeAndNil(Progress); 679 675 inherited; 680 676 end; -
trunk/Packages/Common/ULanguages.pas
r423 r424 4 4 5 5 uses 6 Classes, SysUtils, fgl;6 Classes, SysUtils, Generics.Collections; 7 7 8 8 type … … 15 15 { TLanguages } 16 16 17 TLanguages = class(T FPGObjectList<TLanguage>)17 TLanguages = class(TObjectList<TLanguage>) 18 18 function SearchByCode(ACode: string): TLanguage; 19 19 procedure AddNew(Code: string; Name: string); -
trunk/Packages/Common/ULastOpenedList.pas
r423 r424 82 82 destructor TLastOpenedList.Destroy; 83 83 begin 84 Items.Free;84 FreeAndNil(Items); 85 85 inherited; 86 86 end; … … 92 92 begin 93 93 if Assigned(MenuItem) then begin 94 MenuItem.Clear; 94 while MenuItem.Count > Items.Count do 95 MenuItem.Delete(MenuItem.Count - 1); 96 while MenuItem.Count < Items.Count do begin 97 NewMenuItem := TMenuItem.Create(MenuItem); 98 MenuItem.Add(NewMenuItem); 99 end; 95 100 for I := 0 to Items.Count - 1 do begin 96 NewMenuItem := TMenuItem.Create(MenuItem); 97 NewMenuItem.Caption := Items[I]; 98 NewMenuItem.OnClick := ClickAction; 99 MenuItem.Add(NewMenuItem); 101 MenuItem.Items[I].Caption := Items[I]; 102 MenuItem.Items[I].OnClick := ClickAction; 100 103 end; 101 104 end; -
trunk/Packages/Common/UListViewSort.pas
r423 r424 7 7 uses 8 8 {$IFDEF Windows}Windows, CommCtrl, LMessages, {$ENDIF}Classes, Graphics, ComCtrls, SysUtils, 9 Controls, DateUtils, Dialogs, fgl,Forms, Grids, StdCtrls, ExtCtrls,10 LclIntf, LclType, LResources ;9 Controls, DateUtils, Dialogs, Forms, Grids, StdCtrls, ExtCtrls, 10 LclIntf, LclType, LResources, Generics.Collections, Generics.Defaults; 11 11 12 12 type … … 17 17 TCompareEvent = function (Item1, Item2: TObject): Integer of object; 18 18 TListFilterEvent = procedure (ListViewSort: TListViewSort) of object; 19 20 TObjects = TObjectList<TObject>; 19 21 20 22 { TListViewSort } … … 50 52 {$ENDIF} 51 53 public 52 List: TFPGObjectList<TObject>;53 Source: TFPGObjectList<TObject>;54 Source: TObjects; 55 List: TObjects; 54 56 constructor Create(AOwner: TComponent); override; 55 57 destructor Destroy; override; … … 336 338 ListViewSortCompare: TCompareEvent; 337 339 338 function ListViewCompare(const Item1, Item2: TObject): Integer;340 function ListViewCompare(constref Item1, Item2: TObject): Integer; 339 341 begin 340 342 Result := ListViewSortCompare(Item1, Item2); … … 347 349 ListViewSortCompare := Compare; 348 350 if (List.Count > 0) then 349 List.Sort( ListViewCompare);351 List.Sort(TComparer<TObject>.Construct(ListViewCompare)); 350 352 end; 351 353 … … 353 355 begin 354 356 if Assigned(FOnFilter) then FOnFilter(Self) 355 else if Assigned(Source) then 356 List.Assign(Source) else 357 else if Assigned(Source) then begin 357 358 List.Clear; 359 List.AddRange(Source); 360 end else List.Clear; 358 361 if ListView.Items.Count <> List.Count then 359 362 ListView.Items.Count := List.Count; … … 410 413 begin 411 414 inherited; 412 List := T FPGObjectList<TObject>.Create;413 List. FreeObjects := False;415 List := TObjects.Create; 416 List.OwnsObjects := False; 414 417 end; 415 418 416 419 destructor TListViewSort.Destroy; 417 420 begin 418 List.Free;421 FreeAndNil(List); 419 422 inherited; 420 423 end; -
trunk/Packages/Common/UMetaCanvas.pas
r423 r424 4 4 5 5 uses 6 Classes, SysUtils, Graphics, Types, fgl;6 Classes, SysUtils, Graphics, Types, Generics.Collections; 7 7 8 8 type … … 17 17 end; 18 18 19 TCanvasObjects = class(T FPGObjectList<TCanvasObject>)19 TCanvasObjects = class(TObjectList<TCanvasObject>) 20 20 end; 21 21 … … 140 140 procedure RoundRect(const Rect: TRect; RX,RY: Integer); overload; 141 141 procedure TextOut(X,Y: Integer; const Text: String); override; 142 procedure Polygon(Points: PPoint; NumPts: Integer; Winding: boolean = False); override;142 procedure Polygon(Points: PPoint; NumPts: Integer; Winding: Boolean = False); override; 143 143 procedure Ellipse(x1, y1, x2, y2: Integer); override; 144 144 procedure StretchDraw(const DestRect: TRect; SrcGraphic: TGraphic); override; … … 500 500 end; 501 501 502 procedure TMetaCanvas.Polygon(Points: PPoint; NumPts: Integer; Winding: boolean502 procedure TMetaCanvas.Polygon(Points: PPoint; NumPts: Integer; Winding: Boolean 503 503 ); 504 504 var … … 506 506 I: Integer; 507 507 begin 508 APoints := nil; 508 509 SetLength(APoints, NumPts); 509 510 for I := 0 to High(APoints) do -
trunk/Packages/Common/UPixelPointer.pas
r420 r424 59 59 function Color32ToColor(Color: TColor32): TColor; 60 60 function ColorToColor32(Color: TColor): TColor32; 61 61 62 62 63 implementation -
trunk/Packages/Common/UPool.pas
r423 r424 4 4 5 5 uses 6 Classes, SysUtils, syncobjs, fgl, UThreading;6 Classes, SysUtils, syncobjs, Generics.Collections, UThreading; 7 7 8 8 type … … 20 20 function NewItemObject: TObject; virtual; 21 21 public 22 Items: T FPGObjectList<TObject>;23 FreeItems: T FPGObjectList<TObject>;22 Items: TObjectList<TObject>; 23 FreeItems: TObjectList<TObject>; 24 24 function Acquire: TObject; virtual; 25 25 procedure Release(Item: TObject); virtual; … … 183 183 begin 184 184 inherited; 185 Items := T FPGObjectList<TObject>.Create;186 FreeItems := T FPGObjectList<TObject>.Create;187 FreeItems. FreeObjects := False;185 Items := TObjectList<TObject>.Create; 186 FreeItems := TObjectList<TObject>.Create; 187 FreeItems.OwnsObjects := False; 188 188 FReleaseEvent := TEvent.Create(nil, False, False, ''); 189 189 end; -
trunk/Packages/Common/URegistry.pas
r423 r424 46 46 HKEY_CURRENT_CONFIG, HKEY_DYN_DATA); 47 47 48 48 49 implementation 49 50 50 51 51 { TRegistryContext } … … 138 138 function TRegistryEx.GetCurrentContext: TRegistryContext; 139 139 begin 140 Result.Key := CurrentPath;140 Result.Key := String(CurrentPath); 141 141 Result.RootKey := RootKey; 142 142 end; -
trunk/Packages/Common/UScaleDPI.pas
r423 r424 6 6 7 7 uses 8 Classes, Forms, Graphics, Controls, ComCtrls, LCLType, SysUtils, StdCtrls,9 Contnrs;8 Classes, Forms, Graphics, Controls, ComCtrls, LCLType, SysUtils, 9 Generics.Collections; 10 10 11 11 type 12 TControlDimensions = class; 12 13 13 14 { TControlDimension } … … 16 17 BoundsRect: TRect; 17 18 FontHeight: Integer; 18 Controls: T ObjectList; // TList<TControlDimension>19 Controls: TControlDimensions; 19 20 // Class specifics 20 21 ButtonSize: TPoint; // TToolBar … … 24 25 constructor Create; 25 26 destructor Destroy; override; 27 end; 28 29 TControlDimensions = class(TObjectList<TControlDimension>) 26 30 end; 27 31 … … 71 75 constructor TControlDimension.Create; 72 76 begin 73 Controls := T ObjectList.Create;77 Controls := TControlDimensions.Create; 74 78 end; 75 79 … … 77 81 begin 78 82 FreeAndNil(Controls); 79 inherited Destroy;83 inherited; 80 84 end; 81 85 … … 210 214 TempBmp: TBitmap; 211 215 Temp: array of TBitmap; 212 NewWidth, NewHeight: integer; 216 NewWidth: Integer; 217 NewHeight: Integer; 213 218 I: Integer; 214 219 begin 215 220 ImgList.BeginUpdate; 216 NewWidth := ScaleX(ImgList.Width, FromDPI.X); 217 NewHeight := ScaleY(ImgList.Height, FromDPI.Y); 218 219 SetLength(Temp, ImgList.Count); 220 for I := 0 to ImgList.Count - 1 do 221 begin 222 TempBmp := TBitmap.Create; 223 TempBmp.PixelFormat := pf32bit; 224 ImgList.GetBitmap(I, TempBmp); 225 Temp[I] := TBitmap.Create; 226 Temp[I].SetSize(NewWidth, NewHeight); 227 {$IFDEF UNIX} 228 Temp[I].PixelFormat := pf24bit; 229 {$ELSE} 230 Temp[I].PixelFormat := pf32bit; 231 {$ENDIF} 232 Temp[I].TransparentColor := TempBmp.TransparentColor; 233 //Temp[I].TransparentMode := TempBmp.TransparentMode; 234 Temp[I].Transparent := True; 235 Temp[I].Canvas.Brush.Style := bsSolid; 236 Temp[I].Canvas.Brush.Color := Temp[I].TransparentColor; 237 Temp[I].Canvas.FillRect(0, 0, Temp[I].Width, Temp[I].Height); 238 239 if (Temp[I].Width = 0) or (Temp[I].Height = 0) then Continue; 240 Temp[I].Canvas.StretchDraw(Rect(0, 0, Temp[I].Width, Temp[I].Height), TempBmp); 241 TempBmp.Free; 242 end; 243 244 ImgList.Clear; 245 ImgList.Width := NewWidth; 246 ImgList.Height := NewHeight; 247 248 for I := 0 to High(Temp) do 249 begin 250 ImgList.Add(Temp[I], nil); 251 Temp[i].Free; 252 end; 253 ImgList.EndUpdate; 221 try 222 NewWidth := ScaleX(ImgList.Width, FromDPI.X); 223 NewHeight := ScaleY(ImgList.Height, FromDPI.Y); 224 225 Temp := nil; 226 SetLength(Temp, ImgList.Count); 227 for I := 0 to ImgList.Count - 1 do 228 begin 229 TempBmp := TBitmap.Create; 230 try 231 TempBmp.PixelFormat := pf32bit; 232 ImgList.GetBitmap(I, TempBmp); 233 Temp[I] := TBitmap.Create; 234 Temp[I].SetSize(NewWidth, NewHeight); 235 {$IFDEF UNIX} 236 Temp[I].PixelFormat := pf24bit; 237 {$ELSE} 238 Temp[I].PixelFormat := pf32bit; 239 {$ENDIF} 240 Temp[I].TransparentColor := TempBmp.TransparentColor; 241 //Temp[I].TransparentMode := TempBmp.TransparentMode; 242 Temp[I].Transparent := True; 243 Temp[I].Canvas.Brush.Style := bsSolid; 244 Temp[I].Canvas.Brush.Color := Temp[I].TransparentColor; 245 Temp[I].Canvas.FillRect(0, 0, Temp[I].Width, Temp[I].Height); 246 247 if (Temp[I].Width = 0) or (Temp[I].Height = 0) then Continue; 248 Temp[I].Canvas.StretchDraw(Rect(0, 0, Temp[I].Width, Temp[I].Height), TempBmp); 249 finally 250 TempBmp.Free; 251 end; 252 end; 253 254 ImgList.Clear; 255 ImgList.Width := NewWidth; 256 ImgList.Height := NewHeight; 257 258 for I := 0 to High(Temp) do 259 begin 260 ImgList.Add(Temp[I], nil); 261 Temp[i].Free; 262 end; 263 finally 264 ImgList.EndUpdate; 265 end; 254 266 end; 255 267 … … 329 341 with TCoolBar(Control) do begin 330 342 BeginUpdate; 331 for I := 0 to Bands.Count - 1 do 332 with Bands[I] do begin 333 MinWidth := ScaleX(MinWidth, FromDPI.X); 334 MinHeight := ScaleY(MinHeight, FromDPI.Y); 335 // Workaround to bad band width auto sizing 336 //Width := ScaleX(Width, FromDPI.X); 337 Width := ScaleX(Control.Width + 28, FromDPI.X); 338 //Control.Invalidate; 343 try 344 for I := 0 to Bands.Count - 1 do 345 with Bands[I] do begin 346 MinWidth := ScaleX(MinWidth, FromDPI.X); 347 MinHeight := ScaleY(MinHeight, FromDPI.Y); 348 // Workaround to bad band width auto sizing 349 //Width := ScaleX(Width, FromDPI.X); 350 Width := ScaleX(Control.Width + 28, FromDPI.X); 351 //Control.Invalidate; 352 end; 353 // Workaround for bad autosizing of coolbar 354 if AutoSize then begin 355 AutoSize := False; 356 Height := ScaleY(Height, FromDPI.Y); 357 AutoSize := True; 339 358 end; 340 // Workaround for bad autosizing of coolbar 341 if AutoSize then begin 342 AutoSize := False; 343 Height := ScaleY(Height, FromDPI.Y); 344 AutoSize := True; 345 end; 346 EndUpdate; 359 finally 360 EndUpdate; 361 end; 347 362 end; 348 363 -
trunk/Packages/Common/UStringTable.pas
r396 r424 1 1 unit UStringTable; 2 3 {$mode objfpc}{$H+}4 2 5 3 interface -
trunk/Packages/Common/UTheme.pas
r420 r424 5 5 uses 6 6 Classes, SysUtils, Graphics, ComCtrls, Controls, ExtCtrls, Menus, StdCtrls, 7 Spin, Forms, fgl, Grids;7 Spin, Forms, Generics.Collections, Grids; 8 8 9 9 type … … 19 19 { TThemes } 20 20 21 TThemes = class(T FPGObjectList<TTheme>)21 TThemes = class(TObjectList<TTheme>) 22 22 function AddNew(Name: string): TTheme; 23 23 function FindByName(Name: string): TTheme; … … 42 42 end; 43 43 44 const 45 ThemeNameSystem = 'System'; 46 ThemeNameLight = 'Light'; 47 ThemeNameDark = 'Dark'; 48 44 49 procedure Register; 50 45 51 46 52 implementation … … 105 111 inherited; 106 112 Themes := TThemes.Create; 107 with Themes.AddNew( 'System') do begin113 with Themes.AddNew(ThemeNameSystem) do begin 108 114 ColorWindow := clWindow; 109 115 ColorWindowText := clWindowText; … … 113 119 end; 114 120 Theme := TTheme(Themes.First); 115 with Themes.AddNew( 'Dark') do begin121 with Themes.AddNew(ThemeNameDark) do begin 116 122 ColorWindow := RGBToColor($20, $20, $20); 117 123 ColorWindowText := clWhite; … … 120 126 ColorControlSelected := RGBToColor(96, 125, 155); 121 127 end; 122 with Themes.AddNew( 'Light') do begin128 with Themes.AddNew(ThemeNameLight) do begin 123 129 ColorWindow := clWhite; 124 130 ColorWindowText := clBlack; … … 175 181 procedure TThemeManager.UseTheme(Form: TForm); 176 182 begin 177 if not Used and (FTheme.Name = 'System') then Exit;183 if not Used and (FTheme.Name = ThemeNameSystem) then Exit; 178 184 ApplyTheme(Form); 179 185 Used := True; -
trunk/Packages/Common/UThreading.pas
r423 r424 4 4 5 5 uses 6 Classes, SysUtils, Forms, fgl, SyncObjs;6 Classes, SysUtils, Forms, Generics.Collections, SyncObjs; 7 7 8 8 type 9 9 TExceptionEvent = procedure (Sender: TObject; E: Exception) of object; 10 10 TMethodCall = procedure of object; 11 12 11 13 12 { TVirtualThread } … … 100 99 { TThreadList } 101 100 102 TThreadList = class(T FPGObjectList<TVirtualThread>)101 TThreadList = class(TObjectList<TVirtualThread>) 103 102 function FindById(Id: TThreadID): TVirtualThread; 104 103 constructor Create; virtual; … … 359 358 ThreadListLock := TCriticalSection.Create; 360 359 ThreadList := TThreadList.Create; 361 ThreadList. FreeObjects := False;360 ThreadList.OwnsObjects := False; 362 361 363 362 finalization -
trunk/Packages/Common/UTranslator.pas
r423 r424 4 4 5 5 uses 6 Classes, SysUtils, Forms, ExtCtrls, Controls, fgl,LazFileUtils, LazUTF8,6 Classes, SysUtils, Forms, ExtCtrls, Controls, LazFileUtils, LazUTF8, 7 7 Translations, TypInfo, Dialogs, FileUtil, LCLProc, ULanguages, LCLType, 8 LCLVersion ;8 LCLVersion, Generics.Collections; 9 9 10 10 type 11 11 THandleStringEvent = function (AValue: string): string of object; 12 12 13 TPoFiles = class(T FPGObjectList<TPOFile>)13 TPoFiles = class(TObjectList<TPOFile>) 14 14 end; 15 15 … … 25 25 { TComponentExcludesList } 26 26 27 TComponentExcludesList = class(T FPGObjectList<TComponentExcludes>)27 TComponentExcludesList = class(TObjectList<TComponentExcludes>) 28 28 function FindByClassType(AClassType: TClass): TComponentExcludes; 29 29 procedure DumpToStrings(Strings: TStrings); … … 288 288 Item := Component.ClassType; 289 289 while Assigned(Item) do begin 290 //ShowMessage(Component.Name + ', ' + Component.ClassName + ', ' + Item.ClassName + ', ' + PropertyName);291 290 Excludes := ComponentExcludes.FindByClassType(Item.ClassType); 292 291 if Assigned(Excludes) then begin
Note:
See TracChangeset
for help on using the changeset viewer.