Einzelnen Beitrag anzeigen

Zibelas

Registriert seit: 23. Apr 2011
5 Beiträge
 
#1

Ladeprodedure für verschiedene Records

  Alt 23. Apr 2011, 17:45
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

Geändert von Zibelas (24. Apr 2011 um 01:40 Uhr) Grund: Incl Crosslink
  Mit Zitat antworten Zitat