![]() |
array an funktion übergeben
Hallo,
ich habe demnächst vor arrays an eine funktion zu übergeben und würde mich gerne vorab informieren wie das funktioniert. also ob man da irgendetwas besonderes bechten muss. oder klappt auch sowas wie:
Delphi-Quellcode:
vielen dank im voraus.
function suche_den_dicksten(haufen: type of array)
var wert, i: Integer; begin wert:=haufen[1]; for i:=1 to length(haufen) do begin if haufen[i]>wert then wert:=haufen[i]; end; end; suche_den_dicksten(viele_steine); //viele_steine: type of array; //oder sooo... das mit der deklaration habe ich noch nicht //so richtig drin.... welchsele ständig zwischen php und //delphi und finde das bei delphi eigentlich recht nerfig.... //aber naja... es hat auch ab und zu seine vorteile. |
Re: array an funktion übergeben
Delphi-Quellcode:
Hab' das nur mal freihand geschrieben (ungetestet).
function suche_den_dicksten(haufen: ARRAY OF INTEGER)
var wert, i: Integer; begin wert:=0; for i:=low(haufen) to high(haufen) do if haufen[i]> wert then wert:=haufen[i]; result:= wert; // wir wollen den Wert zurück geben. end; Noch Fragen? |
Re: array an funktion übergeben
jau... ein return muss sein. :thuimb:
hmm und wie übergebe ich ein array an die funktion ? mit suche_den_dicksten(name); oder suche_den_dicksten(name[]); ? |
Re: array an funktion übergeben
Hallo,
das Beste ist Du erstellst Dir einen Typen für das Array;
Delphi-Quellcode:
Type
TMyArray = Array[0..9] of Integer; TDynIntArray = Array of Integer; ... function MyFunction(aArray : TMyArray); ... function MyFunction(aArray : TDynIntArray); ... |
Re: array an funktion übergeben
Du brauchst...
Delphi-Quellcode:
type TMeinArray : array[1..10]of integer;
Delphi-Quellcode:
var meinArray:TMeinArray;
und Jetzt kannst Du die Procedure so deklarieren :
Delphi-Quellcode:
procedure Haufensuchen(haufen:TMeinArray);
im Programm also meinArray ausfüllen und dann einfach mit
Delphi-Quellcode:
abschicken;
Haufensuchen(meinArray);
Wenn Du einen Rückgabewert haben willst aus der procedure einfach ne Function machen.... |
Re: array an funktion übergeben
alles klar. besser kanns man wohl nicht erklären.
vielen dank! :spin: |
Re: array an funktion übergeben
Guten Morgen mojo777,
lass mich Dir noch kurz einen kleinen Denkanstoß geben: Wie ich hier sehe, greifst Du "lediglich" lesend auf das Array zu.- Deine Funktion möchte den größten Wert des Arrays zurückgeben. Falls Deine Funktion ausschließlich für dieses einzige (!) Array funktionieren soll und nicht auf mehrere Arrays zugreifen soll, dann brauchst Du das Array gar nicht als Werteparameter an die Funktion zu übergeben. Programmierer machen das unterschiedlich, ist Geschmacksache. Dazu folgende Variante (ungetestet):
Delphi-Quellcode:
//--------- globale Variablen -----------------------
CONST min = 0; // untere Grenze des Arrays CONST max = 5000; // obere Grenze des Arrays VAR haufen : Array[min..max] of integer; //---------------- Funktion -------------------------- function suche_den_dicksten; // hier stehen KEINE PARAMETER drin! var wert, i: Integer; begin wert:=0; for i:=min to max do // verwende globale Konstanten if haufen[i]> wert then // verwende globales Array (lesend) wert:=haufen[i]; result:= wert; // wir wollen den Wert zurück geben. ;-) end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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