AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Vorstellung: universelle Tlist zur Verwaltung von Records
Thema durchsuchen
Ansicht
Themen-Optionen

Vorstellung: universelle Tlist zur Verwaltung von Records

Ein Thema von ozz · begonnen am 25. Feb 2007 · letzter Beitrag vom 25. Feb 2007
Antwort Antwort
ozz

Registriert seit: 26. Jun 2005
131 Beiträge
 
#1

Vorstellung: universelle Tlist zur Verwaltung von Records

  Alt 25. Feb 2007, 15:10
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.


------

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.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Vorstellung: universelle Tlist zur Verwaltung von Record

  Alt 25. Feb 2007, 15:33
Delphi bietet doch schon unterschiedlichste Listen: TObjectList, TCollection... Warum eine eigene basteln ?
  Mit Zitat antworten Zitat
ozz

Registriert seit: 26. Jun 2005
131 Beiträge
 
#3

Re: Vorstellung: universelle Tlist zur Verwaltung von Record

  Alt 25. Feb 2007, 18:51
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?
  Mit Zitat antworten Zitat
25. Feb 2007, 19:17
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.
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz