Moin,
ich möchte gerne verschiedene Ladefunktionen als eine Ladeprocedure zusammenfassen. Es liegen diverse Dateien vor, die eine Sammlung von Records enthalten. Die Funktion ließt bestimmte records aus und speichert diese in einem Array. Da nicht alle Datensätze aus dem Record verwendet werden, bzw auch die Reihenfolge im gespeicherten Array sich ändern kann, ließt die Funktion immer nur einen Satz aus und gibt den Record zurück.
Bisher sehen die Funktionen wie folgt aus:
Code:
function ladeStatus(fileName: String; Position: Integer): TStatusPosi;
var returnVar: TStatusPosi;
recordFile: File of TStatusPosi;
begin
AssignFile(recordFile, FileName);
Reset(recordFile);
Seek(recordFile, Position);
Read(recordFile, returnVar);
CloseFile(recordFile);
result := returnVar;
end;
Die verschiedenen Funktionen unterscheiden sich nur im ReturnTyp und der lokalen Variablen. Die Zielprocedure soll ungefähr wie folgt werden.
Code:
procedure ladeStatus(fileName: String; Position: Integer; var returnVar: TStatusPosi);
var recordFile: File of TStatusPosi;
begin
AssignFile(recordFile, fileName);
Reset(recordFile);
Seek(recordFile, Position);
Read(recordFile, returnVar);
CloseFile(recordFile);
end;
Ich möchte das Ergebnis in der returnVar speichern, dabei soll immer der recordTyp verwendet werden, von dem die Variable ist, die übergeben wird.
Der alte Aufruf:
Code:
places[i] := ladeStatus('BlackTheme.dat', i);
Der "Wunsch" neue Aufruf:
Code:
ladeStatus('BlackTheme.dat', i, places[i]);
Ich hoffe die Fragestellung ist richtig rübergekommen
Thx für alle Antworten
Crosslink:
http://forums.about.com/n/pfx/forum....lphi&tid=19171