Hallo,
hat denn wirklich keiner eine Idee?
Mittlerweile denke ich, dass folgende Methode die richtige wäre:
Alle Daten in ein Array schreiben und dieses dann nach und nach (je nach gesetztem Filter) ausdünnen.
Das würde bedeuten, das Array immer wieder durchzugehen, und die 'Nicht-Treffer' zu löschen. Nach dem letzten Durchlauf müsste dann das Array aus den Werten bestehen, die den Filtern entsprechen.
Leider habe ich nichts brauchbares im web gefunden, um ein Array auf diese Weise auszudünnen.
Der Tipp von
www.delphi-source.de:
Delphi-Quellcode:
type TIntArray: array of integer;
function DeleteArrayElement(var arr: TIntArray; const index: integer);
var i: integer;
begin
if index<high(arr) then begin
for i:=index to high(arr)-1 do
// eins nach vorne kopieren
arr[i]:=arr[i+1];
end;
// Länge kürzen (bei dyn. Arrays)
SetLength(arr, length(arr)-1);
end;
funzt nicht - die Funktion hat auch gar keinen Rückgabewert.
Mein Array ist ein dynamisches Array of Record - kann mir jemand helfen, die Funktion umzubauen?
Danke und Grüße,
Christoph