![]() |
Vorstellung: universelle Tlist zur Verwaltung von Records
Hallo Leute,
ich habe das erste Mal ein wenig mit Pointern gespielt. Dabei ist diese Unit herausgekommen.Sie ermöglich es, Liste von Records wie eine normale Liste zu verwenden. Da es, wie bereits gesagt, die erste Unit ist, bin ich für Tipps und Verbesserungsvorschläge dankbar. :dp: ------
Delphi-Quellcode:
unit UniRecordList;
interface uses Classes; type TType = record element1 : String; element2: Shortint; end;//Type type PType = ^TType; type TTypelist= class private FTypelist:TList; function Get(Index: Integer): TType; procedure Put(Index: Integer; const Value: TType); public constructor Create; destructor Destroy;override; function Add(Item:TType):integer; procedure Delete(Index:integer); function Count :integer; procedure Clear; property item[Index: Integer]: TType read Get write Put; end; implementation constructor TTypelist.create; begin; while FTypelist.Count > 0 do begin Dispose (FTypelist.Items[0]); end; FTypelist:=TList.Create; inherited; end; destructor TTypelist.destroy; begin; FTypelist.Clear; FTypelist.Free; inherited destroy; end; function TTypelist.Add(Item: TType): Integer; var p: PType; begin New(p); p^:=Item; Result:=FTypelist.add(p); end; procedure TTypelist.Clear; begin FTypelist.clear; end; function TTypelist.count: Integer; begin Result:=FTypelist.count; end; function TTypelist.Get(Index: Integer):TType; begin result:= PType(FTypelist.Items[Index])^; end; procedure TTypelist.Put(Index: Integer; const Value: TType); var p: PType; begin New(p); p^:=value; FTypelist[Index]:=p; end; procedure TTypelist.Delete; begin Dispose(FTypelist.Items[Index]); FTypelist.Delete(Index); end; end. |
Re: Vorstellung: universelle Tlist zur Verwaltung von Record
Delphi bietet doch schon unterschiedlichste Listen: TObjectList, TCollection... Warum eine eigene basteln ?
|
Re: Vorstellung: universelle Tlist zur Verwaltung von Record
Hallo Jelly,
im Wesentlichen sind es zwei Gründe. 1. Ich wollte einiges lernen und mit Pointern arbeiten 2. bisher habe ich TCollection nicht verwendet(TList etc kenne ich schon) Hast du sonst noch Anmerkungen? |
DP-Maintenance
Dieses Thema wurde von "alcaeus" von "VCL / WinForms / Controls" nach "Object-Pascal / Delphi-Language" verschoben.
Passt auch besser hierher, es geht nicht wirklich um die VCL. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz