![]() |
AW: Dyn. Array of Double an funktion übergeben
TestArray[1..2]: Array of Byte;
... WriteLn(TestArray[0]); kann das funktionieren? |
AW: Dyn. Array of Double an funktion übergeben
Hallo Stefan,
mit "Gefahr" habe ich folgende Situation gemeint:
Delphi-Quellcode:
Gruß, Andreas
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. |
AW: Dyn. Array of Double an funktion übergeben
Zitat:
Zitat:
Wenn ich also von einer Funktion, die ein open array entgegen nimmt, einen Index für ein übergebenes n-based array geliefert bekomme, oder übergebe, muss ich da zwischen 0 und n umrechnen, da ändert auch nen Low/High innerhalb der Funktion nix. |
AW: Dyn. Array of Double an funktion übergeben
Zitat:
Es würde nicht mal ansatzweise funktionieren da ich die Klammern verkehrt gesetzt hab, hätte als Antwort kommen müssen. Aber ja ich weiß was Du meintest obwohl ich nen dynamisches array abgebildet habe. |
AW: Dyn. Array of Double an funktion übergeben
Zitat:
Offensichtlich funktioniert die auch nicht fehlerfrei. :mrgreen: |
AW: Dyn. Array of Double an funktion übergeben
Hi Stefan,
mit "Gefahr" habe ich ganz konkret gemeint: Finger weg von "Open Array-Parametern", sondern den Array-Type immer explizit deklarieren, damit gar nicht so ein Chaos entstehen kann. Gruß, Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz