AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array an Function / Procedure übergeben

Ein Thema von moggaz · begonnen am 6. Sep 2006 · letzter Beitrag vom 7. Sep 2006
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Array an Function übergeben

  Alt 7. Sep 2006, 00:39
Hi,

das ist wieder ein anderes Problem.

Du spricht die Parameterübergabe per Call-By-Reference und Call-By-Value an.

Hast du etwas deaklariert wie

procedure schreib(s: string; foo: TMyArray); Dann ist foo eine Kopie der übergebenen Variablen. In der Funktion arbeitest du die ganze Zeit mit dieser Kopie und änderst auch nur diese.
Möchtest du allerdings die übergebene Variable ändern, muss du der Prozedur "sagen", dass sie dies tun soll. Mittels var übergibst du die Speicheradresse des Parameters und es wird dann auch in diesem geändert. Du arbeitest also nicht mehr mit einer Kopie:

procedure schreib(s: string; var foo: TMyArray); Du kannst natürlich auch eine Funktion schreiben und das Ganze dann so aufrufen:

Delphi-Quellcode:
function schreib(s: string): TMyArray;
var
  Temp: TMyArray;
  i: Integer;
begin
  // hier das Array füllen ...
  for i := 1 to 5 do
  begin
    Temp[i] := s;
  end;

  // ... und dann als Ergebnis zurückgeben
  Result := Temp;
end;
Die Zuweisung zu deinem Array würde dann so erfolgen:

test1 := schreib('hallo');
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 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