Hi @ all,
ich habe mal ein kleine frage zu stacks... bzw. zu so watt in der art:
Habe das hier mal gebastelt.. funzt auch ast rein
Code:
unit untClientStack;
interface
Type TICQClientData = record
UIN : Integer;
Name: String;
end;
type TICQContactList = class
published
constructor create();
private
myData : array of TICQClientData;
myCount : integer;
public
procedure push(item : TICQClientData);
procedure pop(indx : integer);
property count : integer read myCount;
property data[indx : integer] : TICQClientData read myData;
end;
implementation
constructor TICQContactList.create();
begin
inherited create();
myCount := 0;
setlength(myData, 0);
end;
procedure TICQContactList.push(item : TICQClientData);
begin
setlength(data, myCount + 1);
data[myCount] := item;
inc(myCount);
end;
procedure TICQContactList.pop(indx : integer);
var
i : integer;
begin
for i := myCount - 1 downto indx + 1 do
myData[i - 1] := data[i];
setlength(data, myCount);
dec(myCount);
end;
end.
So das teil verwaltet ja datensätze vom typ TICQClientData...
Ich brauche aber genau das gleiche teil nochmal für ne anderen datentyp...
Also wie muss ne vernünftige grundklasse aussehen, damit ich das anständlich vererben kann.. und ich möglichst nur den typ ändere...
Hatte schon überleget ob mal da so was wie nen varaint typen einpuzzel könnte....
Aber was ist hier am geschicktesten, schönsten und ordentlichsten??
ps.: das mit dem pop muss so noch nicht funzten... da habe ich aber auch nicht groß drüber nachgedacht ^^
cya & thx
Corelgott