Changeset 91 for Generics/TemplateGenerics/Generic/GenericList.inc
- Timestamp:
- Nov 17, 2010, 7:34:05 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Generics/TemplateGenerics/Generic/GenericList.inc
r90 r91 4 4 5 5 TGListSortCompare = function(const Item1, Item2: TGListItem): Integer of object; 6 TGList StringConverter = function(Item: TGListItem): string;7 //TGListNotification = (lnAdded, lnExtracted, lnDeleted);6 TGListToStringConverter = function(Item: TGListItem): string; 7 TGListFromStringConverter = function(Text: string): TGListItem; 8 8 9 9 // TGList<TGListIndex, TGListItem> = class … … 31 31 procedure Delete(Index: TGListIndex); virtual; 32 32 procedure DeleteItems(Index, Count: TGListIndex); 33 function Equal s(List: TGList): Boolean;33 function EqualTo(List: TGList): Boolean; 34 34 procedure Expand; 35 35 function Extract(Item: TGListItem): TGListItem; … … 37 37 property First: TGListItem read GetFirst write SetFirst; 38 38 procedure Fill(Start, Count: TGListIndex; Value: TGListItem); 39 function Implode(Separator: string; Converter: TGListStringConverter): string; 39 function Implode(Separator: string; Converter: TGListToStringConverter): string; 40 procedure Explode(Text, Separator: string; Converter: TGListFromStringConverter; SlicesCount: Integer = -1); 40 41 function IndexOf(Item: TGListItem; Start: TGListIndex = 0): TGListIndex; 41 42 function IndexOfList(List: TGList; Start: TGListIndex = 0): TGListIndex; … … 304 305 end; 305 306 306 function TGList.Equal s(List: TGList): Boolean;307 function TGList.EqualTo(List: TGList): Boolean; 307 308 var 308 309 I: TGListIndex; … … 372 373 end; 373 374 374 function TGList.Implode(Separator: string; Converter: TGList StringConverter): string;375 function TGList.Implode(Separator: string; Converter: TGListToStringConverter): string; 375 376 var 376 377 I: TGListIndex; … … 384 385 I := I + 1; 385 386 end; 387 end; 388 389 procedure TGList.Explode(Text, Separator: string; Converter: TGListFromStringConverter; SlicesCount: Integer = -1); 390 begin 391 Clear; 392 while (Pos(Separator, Text) > 0) and 393 ((Count < (SlicesCount - 1)) or (SlicesCount = -1)) do begin 394 Add(Converter(Copy(Text, 1, Pos(Separator, Text) - 1))); 395 System.Delete(Text, 1, Pos(Separator, Text) + Length(Separator) - 1); 396 end; 397 Add(Converter(Text)); 386 398 end; 387 399
Note:
See TracChangeset
for help on using the changeset viewer.