Einzelnen Beitrag anzeigen

Benutzerbild von overmoon
overmoon

Registriert seit: 8. Aug 2003
Ort: Passau
51 Beiträge
 
Delphi 6 Personal
 
#1

Bei einer Funktion <string or dynamic array> übergeben

  Alt 25. Sep 2003, 22:33
Ich schreibe an einer Funktion, die an einem Array unabhängig vom Inhalt arbeiten soll. Nach einem gewissen Muster sollen die Elemente innerhalb des Arrays vertauscht werden.

Nur die ersten Probleme treten schon beim Header der Funktion auf. Prinzipiell bräuchte ich den Typ <string or dynamic array>. Und ich weiß auch, dass es die Möglichkeit geben muss; ich weiß nur leider nicht wie.

In Delphi selber sind solche Funktionen vorhanden. Nur um zwei Beispiele zu nennen:

1. SetLength
2. Length

Beiden kann man ein beliebiges Array oder einen String übergeben.

Um mich an ihnen zu orientieren, habe ich in die Hilfe geschaut.
Dort sehen die Header folgendermaßen aus:
Delphi-Quellcode:
procedure SetLength(var S; NewLength: Integer);
function Length(S): Integer;
Das diese Art der Deklaration nicht funktioniert, musste ich dann leider feststellen. Nur um zu gucken, ob dies gültiger Syntax ist, habe ich mal folgendes gemacht:
Delphi-Quellcode:
function MyLength(S): Integer;
begin
     result := Length(S);
end;
Dies führt aber gleich zu zwei Fehlern: 1.) „Missing Paramter Type“ und 2.) „Incombatible Types“. So geht es also nicht.
Auch wenn ich S durch var S ersetze (von wegen beliebiger Typ und so) bleibt die zweite Fehlermeldung. So geht’s also nicht.

Wie übergebe ich nun also <string or dynamic array> wie es z.B. bei Length() der Fall ist ???

overmoon

ps:
Ich habe schon mit dem Gedanken des Überladens gespielt; es aber dann verworfen: Das wird ja super heftig: array of real, array of char, array of int, array of... Mal abgesehen davon, dass man dann neue Arrays einen selbstdefinierten Typs nicht so ohne weiteres übergeben kann.
"Habe Mut, dich deines eigenen Verstandes zu bedienen." (Immanuel Kant)
  Mit Zitat antworten Zitat