Ich habe grade ein Problem einen Lösungsansatz zu finden. Vieleicht könnt Ihr mir weiter helfen.
Ich habe verschiedene Aufzählungstypen. Diese können eine verschiedene Anzahl von Definitionen beinhalten.
Delphi-Quellcode:
type
TAtype1 = (def1_x1, def1_x2, def1_x3, def1_x4, def1_x5, def1_x6);
TAtype2 = (def2_y1, def2_y2, def2_y3);
Zu jedem dieser Elemente wird ein String gespeichert. Dazu wird folgendes definiert.
Delphi-Quellcode:
type
TAtype1Data = array [lo(TAtype1) .. high(TAtype1)] of string;
TAtype2Data = array [lo(TAtype2) .. high(TAtype2)] of string;
im Programm werden damit dann Variablen definiert.
Delphi-Quellcode:
fData1: array of TAtype1Data;
fData2: array of TAtype2Data;
Damit habe ich eine gute Möglichkeit auf die Daten zuzugreifen.
Nun habe ich eine Funktion, die ich auf alle Type anwenden könnte. Zur Zeit so definiert:
Delphi-Quellcode:
procedure EineBerechnungFuerfData1(aType1,aType2:TAtype1);
var
a:integer;
begin
// Jetzt ein einfacher code, der aber viel komplexer ist
for a:=0 to length(fData1) do
begin
fData1[a,aType1]:=fData1[a,aType2];
end;
end;
procedure EineBerechnungFuerfData2(aType1,aType2:TAtype2);
begin
// Im Prinzip der gleiche Programmcode, nur das ganze passiert für fData2
for a:=0 to length(fData2) do
begin
fData2[a,aType1]:=fData1[a,aType2];
end;
end;
Ich hätte gerne eine Funktion die ich so aufrufe:
Delphi-Quellcode:
result:=eineBerechnungFuerData1Und2(def1_x1,def1_x2,fData1);
//oder
result:=eineBerechnungFuerData1Und2(def2_y1,def2_y2,fData2);
Ich weis aber nicht, wie ich die Funktion deklarieren soll.
Hoffentlich hat das jemand verstanden