Einzelnen Beitrag anzeigen

Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
439 Beiträge
 
Delphi XE5 Professional
 
#22

AW: Dyn. Array of Double an funktion übergeben

  Alt 25. Mär 2021, 00:09
Hallo Stefan,
mit "Gefahr" habe ich folgende Situation gemeint:
Delphi-Quellcode:
program Offene_Array_Parameter_1;
{$APPTYPE CONSOLE}
{$R *.res}
Procedure Print_Vektor(CONST Vektor: Array of Integer; Name: String); overload;
VAR
  Zeile: Integer;

Begin
  WriteLn(Name, ':');
  For Zeile:= Low(Vektor) To High(Vektor) Do
  Begin
    WriteLn('Vektor[', Zeile,'] = ', Vektor[Zeile]);
  End;
  WriteLn;
End;

Procedure Print_Vektor(CONST Vektor: Array of Integer; Zeile: Integer; Name: String); overload;

Begin
  WriteLn(Name, ':');
  WriteLn('Vektor[', Zeile,'] = ', Vektor[Zeile]);
  WriteLn;
End;

CONST
  Len = 8;

VAR
  Statischer_Vektor : Array[1..Len] of Integer;
  Dynamischer_Vektor: Array of Integer;

  i, Pos: Integer;
  
Begin
    SetLength(Dynamischer_Vektor, Len);

    Try
      For i:= Low(Dynamischer_Vektor) To High(Dynamischer_Vektor) Do
      Begin
        Dynamischer_Vektor[i]:= i;
      End;

      For i:= 1 To Len Do
      Begin
        Statischer_Vektor[i]:= i;
      End;
            
      Print_Vektor(Dynamischer_Vektor, 'Dynamischer_Vektor');
      Print_Vektor(Statischer_Vektor, 'Statischer_Vektor');
      WriteLn;
      
      Pos:= 2;
      WriteLn(Pos, '-tes Element durcken:');
      WriteLn;
      
      Print_Vektor(Dynamischer_Vektor, Pos, 'Dynamischer_Vektor');
      Print_Vektor(Statischer_Vektor, Pos, 'Statischer_Vektor --> FALSCH');
      
      ReadLn;
    
    Finally
      Dynamischer_Vektor:= NIL;
    End;
  End.
Gruß, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher.
John C. Cornelius
  Mit Zitat antworten Zitat