Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#1

Verschiedene Aufzählungstypen in einer Funktion verwenden.

  Alt 26. Mär 2012, 23:49
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
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat