Ich habe ein wenig studieren müssen, bis verstande habe, was Ihr mir da anbietet.
Den Testcode habe ich mal reingestellt."Property" habe ich dem Code hinzufügt.
Delphi-Quellcode:
type
TIntegerWrapper = class(TObject)
private
FValue : Integer;
public
property Value : Integer read FValue write FValue;
end;
var Form1: TForm1;
VAR w,a:TStringList;
var i:Integer;
var Anzahl : Integer;
implementation
procedure toList(const s : String; const List : TStringList);
var buffer : TIntegerWrapper;
begin
if assigned(List) then
begin
if List.indexOf(s) > -1 then
begin
buffer := TIntegerWrapper(List.Objects[List.indexOf(s)]);
buffer.Value := buffer.Value + 1;
end
else
begin
buffer := TIntegerWrapper.Create;
buffer.Value := 1;
List.AddObject(s, buffer);
end;
end;
end; // procedure toList(const s : String; const List : TStringList);
{$R *.dfm}
begin
w:=TStringList.Create;
Anzahl:=0;
Tolist('Das',w);
for i:=0 to w.count-1 do begin
ShowMessage(w[i]);
Anzahl:=Integer(w.objects[i]);
ShowMessage(IntToStr(anzahl));
end;
FreeAndNil(w);
end.
Es klappt leider nicht. Ich bekomme hier nur eine große Zahl, aber keine 1.
Ich gehe davon aus, das ich auch ein int64 nehmen kann.