Changeset 204 for trunk/Packages
- Timestamp:
- May 6, 2019, 2:49:33 PM (6 years ago)
- Location:
- trunk/Packages
- Files:
-
- 3 added
- 1 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Packages/Common/Common.lpk
r181 r204 60 60 <Item5> 61 61 <Filename Value="UPrefixMultiplier.pas"/> 62 <HasRegisterProc Value="True"/> 62 63 <UnitName Value="UPrefixMultiplier"/> 63 64 </Item5> … … 144 145 <EnableI18NForLFM Value="True"/> 145 146 </i18n> 146 <RequiredPkgs Count=" 3">147 <RequiredPkgs Count="2"> 147 148 <Item1> 148 149 <PackageName Value="LCL"/> 149 150 </Item1> 150 151 <Item2> 151 <PackageName Value="TemplateGenerics"/>152 </Item2>153 <Item3>154 152 <PackageName Value="FCL"/> 155 153 <MinVersion Major="1" Valid="True"/> 156 </Item 3>154 </Item2> 157 155 </RequiredPkgs> 158 156 <UsageOptions> -
trunk/Packages/Common/Common.pas
r181 r204 20 20 begin 21 21 RegisterUnit('UDebugLog', @UDebugLog.Register); 22 RegisterUnit('UPrefixMultiplier', @UPrefixMultiplier.Register); 22 23 RegisterUnit('ULastOpenedList', @ULastOpenedList.Register); 23 24 RegisterUnit('UJobProgressView', @UJobProgressView.Register); -
trunk/Packages/Common/Languages/UJobProgressView.cs.po
r200 r204 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "X-Generator: Poedit 1.8.8\n"12 "X-Generator: Poedit 2.2\n" 13 13 14 14 #: ujobprogressview.sestimatedtime … … 24 24 msgstr "Dokončené" 25 25 26 #: ujobprogressview.soperations27 msgid "Operations:"28 msgstr ""29 30 26 #: ujobprogressview.spleasewait 31 27 msgid "Please wait..." -
trunk/Packages/Common/Languages/UJobProgressView.po
r200 r204 14 14 msgstr "" 15 15 16 #: ujobprogressview.soperations17 msgid "Operations:"18 msgstr ""19 20 16 #: ujobprogressview.spleasewait 21 17 msgid "Please wait..." -
trunk/Packages/Common/UCommon.pas
r200 r204 28 28 unfDNSDomainName = 11); 29 29 30 TFilterMethodMethod = function (FileName: string): Boolean of object; 30 TFilterMethod = function (FileName: string): Boolean of object; 31 TFileNameMethod = procedure (FileName: string) of object; 32 31 33 var 32 34 ExceptionHandler: TExceptionEvent; … … 74 76 procedure SaveStringToFile(S, FileName: string); 75 77 procedure SearchFiles(AList: TStrings; Dir: string; 76 FilterMethod: TFilterMethod Method = nil);78 FilterMethod: TFilterMethod = nil; FileNameMethod: TFileNameMethod = nil); 77 79 function GetStringPart(var Text: string; Separator: string): string; 78 80 function StripTags(const S: string): string; … … 81 83 function PosFromIndexReverse(SubStr: string; Text: string; 82 84 StartIndex: Integer): Integer; 85 procedure CopyStringArray(Dest: TStringArray; Source: array of string); 83 86 84 87 … … 108 111 I: Integer; 109 112 begin 113 Result := ''; 110 114 for I := 1 to Length(Source) do begin 111 115 Result := Result + LowerCase(IntToHex(Ord(Source[I]), 2)); … … 543 547 544 548 procedure SearchFiles(AList: TStrings; Dir: string; 545 FilterMethod: TFilterMethod Method = nil);549 FilterMethod: TFilterMethod = nil; FileNameMethod: TFileNameMethod = nil); 546 550 var 547 551 SR: TSearchRec; … … 553 557 if (SR.Name = '.') or (SR.Name = '..') or (Assigned(FilterMethod) and (not FilterMethod(SR.Name) or 554 558 not FilterMethod(Copy(Dir, 3, Length(Dir)) + SR.Name))) then Continue; 559 if Assigned(FileNameMethod) then 560 FileNameMethod(Dir + SR.Name); 555 561 AList.Add(Dir + SR.Name); 556 562 if (SR.Attr and faDirectory) <> 0 then … … 654 660 end; 655 661 662 procedure CopyStringArray(Dest: TStringArray; Source: array of string); 663 var 664 I: Integer; 665 begin 666 SetLength(Dest, Length(Source)); 667 for I := 0 to Length(Dest) - 1 do 668 Dest[I] := Source[I]; 669 end; 670 656 671 657 672 initialization -
trunk/Packages/Common/UDebugLog.pas
r181 r204 6 6 7 7 uses 8 Classes, SysUtils, FileUtil, SpecializedList, SyncObjs;8 Classes, SysUtils, FileUtil, fgl, SyncObjs; 9 9 10 10 type … … 29 29 procedure SetMaxCount(const AValue: Integer); 30 30 public 31 Items: T ListObject;31 Items: TFPGObjectList<TDebugLogItem>; 32 32 Lock: TCriticalSection; 33 33 procedure Add(Text: string; Group: string = ''); … … 117 117 begin 118 118 inherited; 119 Items := T ListObject.Create;119 Items := TFPGObjectList<TDebugLogItem>.Create; 120 120 Lock := TCriticalSection.Create; 121 121 MaxCount := 100; -
trunk/Packages/Common/UJobProgressView.lfm
r200 r204 15 15 OnShow = FormShow 16 16 Position = poScreenCenter 17 LCLVersion = ' 1.8.2.0'17 LCLVersion = '2.0.2.0' 18 18 object PanelOperationsTitle: TPanel 19 19 Left = 0 … … 241 241 Interval = 100 242 242 OnTimer = TimerUpdateTimer 243 left = 264243 left = 320 244 244 top = 8 245 245 end -
trunk/Packages/Common/UJobProgressView.pas
r200 r204 175 175 STotalEstimatedTime = 'Total estimated time: %s'; 176 176 SFinished = 'Finished'; 177 SOperations = 'Operations:';178 177 179 178 procedure Register; -
trunk/Packages/Common/UListViewSort.pas
r181 r204 9 9 uses 10 10 {$IFDEF Windows}Windows, CommCtrl, {$ENDIF}Classes, Graphics, ComCtrls, SysUtils, 11 Controls, DateUtils, Dialogs, SpecializedList, Forms, Grids, StdCtrls, ExtCtrls,11 Controls, DateUtils, Dialogs, fgl, Forms, Grids, StdCtrls, ExtCtrls, 12 12 LclIntf, LMessages, LclType, LResources; 13 13 … … 52 52 {$ENDIF} 53 53 public 54 List: T ListObject;55 Source: T ListObject;54 List: TFPGObjectList<TObject>; 55 Source: TFPGObjectList<TObject>; 56 56 constructor Create(AOwner: TComponent); override; 57 57 destructor Destroy; override; … … 98 98 end; 99 99 100 { TListViewEx } 101 102 TListViewEx = class(TWinControl) 103 private 104 FFilter: TListViewFilter; 105 FListView: TListView; 106 FListViewSort: TListViewSort; 107 procedure ResizeHanlder; 108 public 109 constructor Create(TheOwner: TComponent); override; 110 destructor Destroy; override; 111 published 112 property ListView: TListView read FListView write FListView; 113 property ListViewSort: TListViewSort read FListViewSort write FListViewSort; 114 property Filter: TListViewFilter read FFilter write FFilter; 115 property Visible; 116 end; 117 100 118 procedure Register; 101 119 … … 105 123 procedure Register; 106 124 begin 107 RegisterComponents('Common', [TListViewSort, TListViewFilter]); 125 RegisterComponents('Common', [TListViewSort, TListViewFilter, TListViewEx]); 126 end; 127 128 { TListViewEx } 129 130 procedure TListViewEx.ResizeHanlder; 131 begin 132 end; 133 134 constructor TListViewEx.Create(TheOwner: TComponent); 135 begin 136 inherited Create(TheOwner); 137 Filter := TListViewFilter.Create(Self); 138 Filter.Parent := Self; 139 Filter.Align := alBottom; 140 ListView := TListView.Create(Self); 141 ListView.Parent := Self; 142 ListView.Align := alClient; 143 ListViewSort := TListViewSort.Create(Self); 144 ListViewSort.ListView := ListView; 145 end; 146 147 destructor TListViewEx.Destroy; 148 begin 149 inherited Destroy; 108 150 end; 109 151 … … 277 319 end; 278 320 321 var 322 ListViewSortCompare: TCompareEvent; 323 324 function ListViewCompare(const Item1, Item2: TObject): Integer; 325 begin 326 Result := ListViewSortCompare(Item1, Item2); 327 end; 328 279 329 procedure TListViewSort.Sort(Compare: TCompareEvent); 280 330 begin 331 // TODO: Because TFLGObjectList compare handler is not class method, 332 // it is necessary to use simple function compare handler with local variable 333 ListViewSortCompare := Compare; 281 334 if (List.Count > 0) then 282 List.Sort( Compare);335 List.Sort(ListViewCompare); 283 336 end; 284 337 … … 343 396 begin 344 397 inherited; 345 List := T ListObject.Create;346 List. OwnsObjects := False;398 List := TFPGObjectList<TObject>.Create; 399 List.FreeObjects := False; 347 400 end; 348 401 -
trunk/Packages/Common/UMemory.pas
r200 r204 112 112 procedure TMemory.WriteMemory(Position: Integer; Memory: TMemory); 113 113 begin 114 Move(Memory.FData, PByte( @FData+ Position)^, Memory.Size);114 Move(Memory.FData, PByte(PByte(@FData) + Position)^, Memory.Size); 115 115 end; 116 116 117 117 procedure TMemory.ReadMemory(Position: Integer; Memory: TMemory); 118 118 begin 119 Move(PByte( @FData+ Position)^, Memory.FData, Memory.Size);119 Move(PByte(PByte(@FData) + Position)^, Memory.FData, Memory.Size); 120 120 end; 121 121 -
trunk/Packages/Common/UPool.pas
r3 r204 6 6 7 7 uses 8 Classes, SysUtils, syncobjs, SpecializedList, UThreading;8 Classes, SysUtils, syncobjs, fgl, UThreading; 9 9 10 10 type … … 22 22 function NewItemObject: TObject; virtual; 23 23 public 24 Items: T ListObject;25 FreeItems: T ListObject;24 Items: TFPGObjectList<TObject>; 25 FreeItems: TFPGObjectList<TObject>; 26 26 function Acquire: TObject; virtual; 27 27 procedure Release(Item: TObject); virtual; … … 185 185 begin 186 186 inherited; 187 Items := T ListObject.Create;188 FreeItems := T ListObject.Create;189 FreeItems. OwnsObjects := False;187 Items := TFPGObjectList<TObject>.Create; 188 FreeItems := TFPGObjectList<TObject>.Create; 189 FreeItems.FreeObjects := False; 190 190 FReleaseEvent := TEvent.Create(nil, False, False, ''); 191 191 end; -
trunk/Packages/Common/UPrefixMultiplier.pas
r3 r204 21 21 { TPrefixMultiplier } 22 22 23 TPrefixMultiplier = class 23 TPrefixMultiplier = class(TComponent) 24 24 private 25 function TruncateDigits(Value: Double;Digits:Integer=3):Double;25 function TruncateDigits(Value: Double; Digits: Integer = 3): Double; 26 26 public 27 27 function Add(Value: Double; PrefixMultipliers: TPrefixMultiplierDef; … … 72 72 ); 73 73 74 procedure Register; 75 76 74 77 implementation 78 79 procedure Register; 80 begin 81 RegisterComponents('Common', [TPrefixMultiplier]); 82 end; 75 83 76 84 { TPrefixMultiplier } … … 92 100 end; 93 101 94 function TPrefixMultiplier.Add(Value: Double;PrefixMultipliers:TPrefixMultiplierDef95 ; UnitText:string;Digits:Integer):string;102 function TPrefixMultiplier.Add(Value: Double; PrefixMultipliers: TPrefixMultiplierDef 103 ; UnitText:string; Digits: Integer): string; 96 104 var 97 105 I: Integer; -
trunk/Packages/Common/URegistry.pas
r169 r204 29 29 procedure SetCurrentContext(AValue: TRegistryContext); 30 30 public 31 function ReadChar(const Name: string): Char; 32 procedure WriteChar(const Name: string; Value: Char); 31 33 function ReadBoolWithDefault(const Name: string; 32 34 DefaultValue: Boolean): Boolean; 33 35 function ReadIntegerWithDefault(const Name: string; DefaultValue: Integer): Integer; 34 36 function ReadStringWithDefault(const Name: string; DefaultValue: string): string; 37 function ReadCharWithDefault(const Name: string; DefaultValue: Char): Char; 35 38 function ReadFloatWithDefault(const Name: string; 36 39 DefaultValue: Double): Double; … … 89 92 end; 90 93 94 function TRegistryEx.ReadCharWithDefault(const Name: string; DefaultValue: Char 95 ): Char; 96 begin 97 if ValueExists(Name) then Result := ReadChar(Name) 98 else begin 99 WriteChar(Name, DefaultValue); 100 Result := DefaultValue; 101 end; 102 end; 103 91 104 function TRegistryEx.ReadFloatWithDefault(const Name: string; 92 105 DefaultValue: Double): Double; … … 137 150 end; 138 151 152 function TRegistryEx.ReadChar(const Name: string): Char; 153 var 154 S: string; 155 begin 156 S := ReadString(Name); 157 if Length(S) > 0 then Result := S[1] 158 else Result := #0; 159 end; 160 161 procedure TRegistryEx.WriteChar(const Name: string; Value: Char); 162 begin 163 WriteString(Name, Value); 164 end; 165 139 166 function TRegistryEx.ReadBoolWithDefault(const Name: string; 140 167 DefaultValue: Boolean): Boolean; -
trunk/Packages/CoolTranslator/UCoolTranslator.pas
r203 r204 200 200 PropInfo: PPropInfo; 201 201 PropList: PPropList; 202 Excludes: TComponentExcludes;203 202 begin 204 203 Count := GetTypeData(Component.ClassInfo)^.PropCount; … … 253 252 if (UpperCase(PropType.Name) = 'TTRANSLATESTRING') then 254 253 //if not IsExcluded(Component, PropInfo^.Name) then 255 SetStrProp(Component, PropInfo, TranslateText(PropInfo^.Name, GetWideStrProp(Component, PropInfo)));254 SetStrProp(Component, PropInfo, TranslateText(PropInfo^.Name, string(GetWideStrProp(Component, PropInfo)))); 256 255 end; 257 256 tkClass: begin … … 415 414 Lang := ParamStr(i + 1); 416 415 end; 417 if Lang = '' then 416 if Lang = '' then begin 417 T := ''; 418 418 LazGetLanguageIDs(Lang, T); 419 end; 419 420 420 421 if Assigned(Language) and (Language.Code = '') and Assigned(FOnAutomaticLanguage) then begin … … 432 433 function TCoolTranslator.FindLocaleFileName(LCExt: string): string; 433 434 var 434 T: string;435 435 Lang: string; 436 436 begin -
trunk/Packages/TemplateGenerics/Generic/GenericMatrix.inc
r3 r204 23 23 function GetItem(Index: TIndex): TGMatrixItem; 24 24 function GetCapacity: TIndex; 25 function GetLast: TGMatrixItem;26 function GetFirst: TGMatrixItem;27 25 procedure SetCapacity(const AValue: TIndex); 28 procedure SetLast(AValue: TGMatrixItem);29 procedure SetFirst(AValue: TGMatrixItem);30 26 procedure PutItemXY(X: TGMatrixIndexX; Y: TGMatrixIndexY; const AValue: TGMatrixItem); virtual; 31 27 procedure PutItem(Index: TIndex; const AValue: TGMatrixItem); virtual; 32 28 procedure SetCount(const AValue: TIndex); 33 29 public 34 function Add(Item: TGMatrixItem): TIndex;35 procedure AddMatrix(Values: array of TRow);36 procedure AddList(List: TGMatrix);37 30 procedure Assign(Source: TGMatrix); 38 31 procedure Clear; virtual; 39 32 procedure Contract; 40 33 function CreateIndex(X: TGMatrixIndexY; Y: TGMatrixIndexX): TIndex; 41 procedure Delete(Index: TIndex); virtual;42 procedure DeleteItems(Index, Count: TIndex);43 function EqualTo(List: TGMatrix): Boolean;44 34 procedure Expand; 45 function Extract(Item: TGMatrixItem): TGMatrixItem;46 35 procedure Exchange(Index1, Index2: TIndex); 47 property First: TGMatrixItem read GetFirst write SetFirst;48 36 procedure FillAll(Value: TGMatrixItem); 49 37 procedure Fill(Start, Count: TIndex; Value: TGMatrixItem); 50 38 function Implode(RowSeparator, ColSeparator: string; Converter: TToStringConverter): string; 51 procedure Explode(Text, Separator: string; Converter: TFromStringConverter; SlicesCount: Integer = -1);52 function IndexOf(Item: TGMatrixItem; Start: TIndex): TIndex;53 function IndexOfList(List: TGMatrix; Start: TIndex): TIndex;54 procedure Insert(Index: TIndex; Item: TGMatrixItem);55 procedure InsertList(Index: TIndex; List: TGMatrix);56 procedure InsertArray(Index: TIndex; Values: array of TGMatrixItem);57 procedure Move(CurIndex, NewIndex: TIndex);58 procedure MoveItems(CurIndex, NewIndex, Count: TIndex);59 39 procedure Merge(Index: TIndex; Source: TGMatrix; Proc: TMerge); 60 40 procedure Replace(Index: TIndex; Source: TGMatrix); 61 function Remove(Item: TGMatrixItem): TIndex;62 41 procedure Reverse; 63 42 procedure ReverseHorizontal; 64 43 procedure ReverseVertical; 65 procedure Sort(Compare: TSortCompare);66 procedure SetArray(Values: array of TGMatrixItem);67 44 property Count: TIndex read FCount write SetCount; 68 45 property Capacity: TIndex read GetCapacity write SetCapacity; … … 71 48 property Items[Index: TIndex]: TGMatrixItem 72 49 read GetItem write PutItem; 73 property Last: TGMatrixItem read GetLast write SetLast;74 50 end; 75 51 … … 78 54 79 55 {$IFDEF IMPLEMENTATION_USES} 80 81 uses82 RtlConsts;83 56 84 57 resourcestring … … 137 110 138 111 procedure TGMatrix.SetCapacity(const AValue: TIndex); 139 var140 Y: TGMatrixIndexY;141 112 begin 142 113 if (Capacity.X <> AValue.X) and (Capacity.Y <> AValue.Y) then begin 143 (* SetLength(FItems, AValue.Y);144 Y := 0;145 while Y < Length(FItems) do begin146 SetLength(FItems[Y], AValue.X);147 Y := Y + 1;148 end;149 end;150 *)151 114 SetLength(FItems, AValue.Y, AValue.X); 152 115 end; … … 244 207 end; 245 208 246 function TGMatrix.Extract(Item: TGMatrixItem): TGMatrixItem;247 var248 I: TIndex;249 begin250 (* I := IndexOf(Item);251 if I >= 0 then begin252 Result := Item;253 Delete(I);254 end else255 raise EListError.CreateFmt(SListIndexError, [0]);256 *)257 end;258 259 function TGMatrix.IndexOf(Item: TGMatrixItem; Start: TIndex): TIndex;260 begin261 (* Result := Start;262 while (Result < FCount) and263 not CompareMem(Addr(FItems[Result]), Addr(Item), SizeOf(TGMatrixItem)) do264 Result := Result + 1;265 if Result = FCount then Result := -1;266 *)267 end;268 269 procedure TGMatrix.Insert(Index: TIndex; Item: TGMatrixItem);270 begin271 (* if (Index < 0) or (Index > FCount ) then272 raise EListError.CreateFmt(SListIndexError, [Index]);273 if FCount = Capacity then Expand;274 if Index < FCount then275 System.Move(FItems[Index], FItems[Index + 1], (FCount - Index) * SizeOf(TGMatrixItem));276 FItems[Index] := Item;277 FCount := FCount + 1;278 *)279 end;280 281 procedure TGMatrix.InsertList(Index: TIndex; List: TGMatrix);282 var283 I: TIndex;284 begin285 (* I := 0;286 while (I < List.Count) do begin287 Insert(Index + I, List[I]);288 I := I + 1;289 end;290 *)291 end;292 293 function TGMatrix.IndexOfList(List: TGMatrix; Start: TIndex): TIndex;294 var295 I: TIndex;296 begin297 (* if List.Count > 0 then begin298 Result := IndexOf(List[0], Start);299 if Result <> -1 then begin300 I := 1;301 while I < List.Count do begin302 if not CompareMem(Addr(FItems[Result + I]), Addr(List.FItems[I]), SizeOf(TGMatrixItem)) then begin303 Result := -1;304 Break;305 end;306 I := I + 1;307 end;308 end;309 end else Result := -1;310 *)311 end;312 313 function TGMatrix.GetLast: TGMatrixItem;314 begin315 (* if FCount = 0 then316 raise EListError.CreateFmt(SListIndexError, [0])317 else318 Result := Items[FCount - 1];319 *)320 end;321 322 procedure TGMatrix.SetLast(AValue: TGMatrixItem);323 begin324 (* if FCount = 0 then325 raise EListError.CreateFmt(SListIndexError, [0])326 else327 Items[FCount - 1] := AValue;328 *)329 end;330 331 function TGMatrix.GetFirst: TGMatrixItem;332 begin333 (* if FCount = 0 then334 raise EListError.CreateFmt(SListIndexError, [0])335 else336 Result := Items[0];337 *)338 end;339 340 procedure TGMatrix.SetFirst(AValue: TGMatrixItem);341 begin342 (* if FCount = 0 then343 raise EListError.CreateFmt(SListIndexError, [0])344 else345 Items[0] := AValue;346 *)347 end;348 349 procedure TGMatrix.Move(CurIndex, NewIndex: TIndex);350 var351 Temp: TGMatrixItem;352 begin353 (* if ((CurIndex < 0) or (CurIndex > Count - 1)) then354 raise EListError.CreateFmt(SListIndexError, [CurIndex]);355 if ((NewIndex < 0) or (NewIndex > Count -1)) then356 raise EListError.CreateFmt(SlistIndexError, [NewIndex]);357 Temp := FItems[CurIndex];358 if NewIndex > CurIndex then begin359 System.Move(FItems[CurIndex + 1], FItems[CurIndex], (NewIndex - CurIndex) * SizeOf(TGMatrixItem));360 end else361 if NewIndex < CurIndex then begin362 System.Move(FItems[NewIndex], FItems[NewIndex + 1], (CurIndex - NewIndex) * SizeOf(TGMatrixItem));363 end;364 FItems[NewIndex] := Temp;365 //Delete(CurIndex);366 //Insert(NewIndex, Temp);*)367 end;368 369 procedure TGMatrix.MoveItems(CurIndex, NewIndex, Count: TIndex);370 var371 S: Integer;372 D: Integer;373 begin374 (* if CurIndex < NewIndex then begin375 S := CurIndex + Count - 1;376 D := NewIndex + Count - 1;377 while S >= CurIndex do begin378 Move(S, D);379 S := S - 1;380 D := D - 1;381 end;382 end else383 if CurIndex > NewIndex then begin384 S := CurIndex;385 D := NewIndex;386 while S < (CurIndex + Count) do begin387 Move(S, D);388 S := S + 1;389 D := D + 1;390 end;391 end;*)392 end;393 394 function TGMatrix.Remove(Item: TGMatrixItem): TIndex;395 begin396 (* Result := IndexOf(Item);397 if Result <> -1 then398 Delete(Result); *)399 end;400 401 function TGMatrix.EqualTo(List: TGMatrix): Boolean;402 var403 I: TIndex;404 begin405 (* Result := Count = List.Count;406 if Result then begin407 I := 0;408 while I < Count do begin409 if not CompareMem(Addr(FItems[I]), Addr(List.FItems[I]), SizeOf(TGMatrixItem)) then begin410 Result := False;411 Break;412 end;413 I := I + 1;414 end;415 end; *)416 end;417 418 209 procedure TGMatrix.Reverse; 419 210 var … … 464 255 end; 465 256 466 procedure TGMatrix.Sort(Compare: TSortCompare);467 begin468 (* if FCount > 1 then469 QuickSort(0, FCount - 1, Compare); *)470 end;471 472 procedure TGMatrix.AddMatrix(Values: array of TRow);473 var474 I: TIndex;475 begin476 (* I := 0;477 while I <= High(Values) do begin478 Add(Values[I]);479 I := I + 1;480 end; *)481 end;482 483 procedure TGMatrix.SetArray(Values: array of TGMatrixItem);484 var485 I: TIndex;486 begin487 (* Clear;488 I := 0;489 while I <= High(Values) do begin490 Add(Values[I]);491 I := I + 1;492 end; *)493 end;494 495 procedure TGMatrix.InsertArray(Index: TIndex; Values: array of TGMatrixItem);496 var497 I: TIndex;498 begin499 (* I := 0;500 while I <= High(Values) do begin501 Insert(Index + I, Values[I]);502 I := I + 1;503 end; *)504 end;505 506 257 function TGMatrix.Implode(RowSeparator, ColSeparator: string; Converter: TToStringConverter): string; 507 258 var … … 525 276 end; 526 277 527 procedure TGMatrix.Explode(Text, Separator: string; Converter: TFromStringConverter; SlicesCount: Integer = -1);528 begin529 (* Clear;530 while (Pos(Separator, Text) > 0) and531 ((Count < (SlicesCount - 1)) or (SlicesCount = -1)) do begin532 Add(Converter(Copy(Text, 1, Pos(Separator, Text) - 1)));533 System.Delete(Text, 1, Pos(Separator, Text) + Length(Separator) - 1);534 end;535 Add(Converter(Text)); *)536 end;537 538 function TGMatrix.Add(Item: TGMatrixItem): TIndex;539 begin540 (* if FCount = Capacity then541 Self.Expand;542 FItems[FCount] := Item;543 Result := FCount;544 FCount := FCount + 1; *)545 end;546 547 procedure TGMatrix.AddList(List: TGMatrix);548 var549 I: TIndex;550 begin551 (* I := 0;552 while I < List.Count do begin553 Add(List[I]);554 I := I + 1;555 end; *)556 end;557 558 278 procedure TGMatrix.Clear; 559 279 begin 560 280 Count := CreateIndex(0, 0); 561 281 Capacity := CreateIndex(0, 0); 562 end;563 564 procedure TGMatrix.Delete(Index: TIndex);565 begin566 (* if (Index < 0) or (Index >= FCount) then567 raise EListError.CreateFmt(SListIndexError, [Index]);568 FCount := FCount - 1;569 System.Move(FItems[Index + 1], FItems[Index], (FCount - Index) * SizeOf(TGMatrixItem));570 Contract;571 *)572 end;573 574 procedure TGMatrix.DeleteItems(Index, Count: TIndex);575 var576 I: TIndex;577 begin578 (* I := Index;579 while I < (Index + Count) do begin580 Delete(Index);581 I := I + 1;582 end;583 *)584 282 end; 585 283 -
trunk/Packages/TemplateGenerics/Specialized/SpecializedStream.pas
r3 r204 113 113 function TMemoryStreamByte.WriteBuffer(var Buffer; Count: Integer): Integer; 114 114 begin 115 115 Result := 0; 116 116 end; 117 117 … … 137 137 function TMemoryStreamByte.ReadBuffer(var Buffer; Count: Integer): Integer; 138 138 begin 139 139 Result := 0; 140 140 end; 141 141 … … 143 143 ): Integer; 144 144 begin 145 145 Result := 0; 146 146 end; 147 147
Note:
See TracChangeset
for help on using the changeset viewer.