Hallo,
noch eine andere Idee:
Delphi-Quellcode:
// Du hast eine ID von 7 Zeichen Länge.
// Da sie numerisch ist, kann sie alle ganzzahligen Werte von 0 bis 9999999 enthalten.
// Gehe davon aus, dass grundsätzlich jede der möglichen IDs auch vorkommen kann.
Const
min = 0;
max = 9999999;
// Definiere ein Array entsprechender Größe:
Var
IDArray : Array[min..max] of Cardinal; // Gehe davon aus, dass die Summe aus positiven Integerwerten gebildet wird.
iID : integer; // ID aus der Liste zur weiteren Verarbeitung.
i : Integer; // Schleifenzähler
// Wenn Du nun die ID liest, kannst Du sie direkt als Index
// für das Array benutzen und muss sie nicht extra im Array speichern,
// da Index und ID identisch sind.
begin
for i := min to max do IDArray[i] := 0; // Damit wir einen definierten Inhalt haben.
for i := 0 to sl.count - 1 do begin
iID := ExtractID(sl.Strings[i]);
IDArray[iID] := IDArray[iID] + StrToInt32_JOH_IA32_7_a(ExtractPZN(sl.Strings[i]));
end;
end;
Das sollte es gewesen sein (nicht getestet).
Stephan