Ignore:
Timestamp:
Sep 8, 2012, 9:28:39 PM (12 years ago)
Author:
chronos
Message:
  • Updated: Component versions.
  • Added: Missing forms.
Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        33backup
        44tunneler.exe
         5heaptrclog.trc
  • trunk/Components/TemplateGenerics

    • Property svn:ignore set to
      lib
  • trunk/Components/TemplateGenerics/Specialized/SpecializedList.pas

    r29 r30  
    8080{$DEFINE TGListIndex := Integer}
    8181{$DEFINE TGListItem := Byte}
    82 {$DEFINE TGList := TListByte}
     82{$DEFINE TGList := TListByteBase}
    8383{$DEFINE TGListSortCompare := TListByteSortCompare}
    8484{$DEFINE TGListToStringConverter := TListByteToStringConverter}
     
    8787{$DEFINE INTERFACE}
    8888{$I 'GenericList.inc'}
     89
     90TListByte = class(TListByteBase)
     91  procedure WriteToStream(Stream: TStream);
     92  procedure WriteToStreamPart(Stream: TStream; ItemIndex, ItemCount: TGListIndex);
     93  procedure ReplaceStream(Stream: TStream);
     94  procedure ReplaceStreamPart(Stream: TStream; ItemIndex, ItemCount: TGListIndex);
     95  procedure AddStream(Stream: TStream);
     96  procedure AddStreamPart(Stream: TStream; ItemCount: TGListIndex);
     97  procedure WriteBuffer(var Buffer; Count: Integer);
     98  procedure ReadBuffer(var Buffer; Count: Integer);
     99end;
    89100
    90101// TListChar<Integer, Char>
     
    137148TListMethod = class(TListMethodBase)
    138149  procedure CallAll;
    139   procedure CallNotifyEvents(Sender: TObject);
    140 end;
     150end;
     151
     152// TListNotifyEventBase<Integer, TNotifyEvent>
     153{$DEFINE TGListIndex := Integer}
     154{$DEFINE TGListItem := TNotifyEvent}
     155{$DEFINE TGList := TListNotifyEventBase}
     156{$DEFINE TGListSortCompare := TListNotifyEventSortCompare}
     157{$DEFINE TGListToStringConverter := TListNotifyEventToStringConverter}
     158{$DEFINE TGListFromStringConverter := TListNotifyEventFromStringConverter}
     159{$DEFINE TGListItemArray := TListNotifyEventItemArray}
     160{$DEFINE INTERFACE}
     161{$I 'GenericList.inc'}
     162
     163// TListNotifyEvent<Integer, TNotifyEvent>
     164TListNotifyEvent = class(TListNotifyEventBase)
     165  procedure CallAll(Sender: TObject);
     166end;
     167
     168
     169TBaseEvent = procedure of object;
     170
     171// TListSimpleEventBase<Integer, TBaseEvent>
     172{$DEFINE TGListIndex := Integer}
     173{$DEFINE TGListItem := TBaseEvent}
     174{$DEFINE TGList := TListSimpleEventBase}
     175{$DEFINE TGListSortCompare := TListSimpleEventSortCompare}
     176{$DEFINE TGListToStringConverter := TListSimpleEventToStringConverter}
     177{$DEFINE TGListFromStringConverter := TListSimpleEventFromStringConverter}
     178{$DEFINE TGListItemArray := TListSimpleEventItemArray}
     179{$DEFINE INTERFACE}
     180{$I 'GenericList.inc'}
     181
     182// TListSimpleEvent<Integer, TSimpleEvent>
     183TListSimpleEvent = class(TListSimpleEventBase)
     184  procedure CallAll;
     185end;
     186
    141187
    142188function StrToStr(Value: string): string;
     
    216262{$DEFINE TGListIndex := Integer}
    217263{$DEFINE TGListItem := Byte}
    218 {$DEFINE TGList := TListByte}
     264{$DEFINE TGList := TListByteBase}
    219265{$DEFINE TGListSortCompare := TListByteSortCompare}
    220266{$DEFINE TGListToStringConverter := TListByteToStringConverter}
     
    258304{$I 'GenericList.inc'}
    259305
     306// TListNotifyEventBase<Integer, TNotifyEvent>
     307{$DEFINE TGListIndex := Integer}
     308{$DEFINE TGListItem := TNotifyEvent}
     309{$DEFINE TGList := TListNotifyEventBase}
     310{$DEFINE TGListSortCompare := TListNotifyEventSortCompare}
     311{$DEFINE TGListToStringConverter := TListNotifyEventToStringConverter}
     312{$DEFINE TGListFromStringConverter := TListNotifyEventFromStringConverter}
     313{$DEFINE TGListItemArray := TListNotifyEventItemArray}
     314{$DEFINE IMPLEMENTATION}
     315{$I 'GenericList.inc'}
     316
     317// TListSimpleEventBase<Integer, TBaseEvent>
     318{$DEFINE TGListIndex := Integer}
     319{$DEFINE TGListItem := TBaseEvent}
     320{$DEFINE TGList := TListSimpleEventBase}
     321{$DEFINE TGListSortCompare := TListSimpleEventSortCompare}
     322{$DEFINE TGListToStringConverter := TListSimpleEventToStringConverter}
     323{$DEFINE TGListFromStringConverter := TListSimpleEventFromStringConverter}
     324{$DEFINE TGListItemArray := TListSimpleEventItemArray}
     325{$DEFINE IMPLEMENTATION}
     326{$I 'GenericList.inc'}
     327
     328
    260329
    261330function StrToStr(Value: string): string;
     
    263332  Result := Value;
    264333end;
     334
     335{ TListSimpleEvent }
     336
     337procedure TListSimpleEvent.CallAll;
     338var
     339  I: TGListIndex;
     340begin
     341  I := 0;
     342  while (I < Count) do begin
     343    TBaseEvent(Items[I])();
     344    I := I + 1;
     345  end;
     346end;
     347
    265348
    266349{ TListChar }
     
    323406end;
    324407
    325 procedure TListMethod.CallNotifyEvents(Sender: TObject);
     408procedure TListNotifyEvent.CallAll(Sender: TObject);
    326409var
    327410  I: TGListIndex;
     
    334417end;
    335418
     419{ TListByte }
     420
     421procedure TListByte.WriteToStream(Stream: TStream);
     422var
     423  I: Integer;
     424begin
     425  Stream.Position := 0;
     426  I := 0;
     427  while I < Count do begin
     428    Stream.WriteByte(Items[I]);
     429    I := I + 1;
     430  end;
     431end;
     432
     433procedure TListByte.WriteToStreamPart(Stream: TStream; ItemIndex, ItemCount: Integer);
     434var
     435  I: Integer;
     436begin
     437  I := ItemIndex;
     438  while I < ItemCount do begin
     439    Stream.WriteByte(Items[I]);
     440    I := I + 1;
     441  end;
     442end;
     443
     444procedure TListByte.ReplaceStream(Stream: TStream);
     445var
     446  I: Integer;
     447begin
     448  Stream.Position := 0;
     449  I := 0;
     450  while I < Count do begin
     451    Items[I] := Stream.ReadByte;
     452    I := I + 1;
     453  end;
     454end;
     455
     456procedure TListByte.ReplaceStreamPart(Stream: TStream; ItemIndex,
     457  ItemCount: Integer);
     458var
     459  I: Integer;
     460begin
     461  I := ItemIndex;
     462  while I < ItemCount do begin
     463    Items[I] := Stream.ReadByte;
     464    I := I + 1;
     465  end;
     466end;
     467
     468procedure TListByte.AddStream(Stream: TStream);
     469var
     470  I: Integer;
     471begin
     472  Stream.Position := 0;
     473  I := Count;
     474  Count := Count + Stream.Size;
     475  while I < Count do begin
     476    Items[I] := Stream.ReadByte;
     477    I := I + 1;
     478  end;
     479end;
     480
     481procedure TListByte.AddStreamPart(Stream: TStream; ItemCount: Integer);
     482var
     483  I: Integer;
     484begin
     485  I := Count;
     486  Count := Count + ItemCount;
     487  while I < Count do begin
     488    Items[I] := Stream.ReadByte;
     489    I := I + 1;
     490  end;
     491end;
     492
     493procedure TListByte.WriteBuffer(var Buffer; Count: Integer);
     494begin
     495
     496end;
     497
     498procedure TListByte.ReadBuffer(var Buffer; Count: Integer);
     499begin
     500
     501end;
     502
    336503end.
Note: See TracChangeset for help on using the changeset viewer.