AGB  ·  Datenschutz  ·  Impressum  







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

Rückgabe Array über Funktion

Offene Frage von "punker-lili"
Ein Thema von punker-lili · begonnen am 6. Mär 2009 · letzter Beitrag vom 6. Mär 2009
Antwort Antwort
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#1

Rückgabe Array über Funktion

  Alt 6. Mär 2009, 07:29
Guten Morgen!
Ich möchte eine Funktion haben, die mir ein Array of integer zurückgibt. Wenn ich das normal hinschreibe, fibt Delphi folgende Fehlermeldung zurück: "Bezeichner erwartet, aber ARRAY gefunden."
--> function ableiten_koeff(gesamte:array of string;koff:array of integer;var ableit_fkt:array of string):array of integer; Wenn ich einen neuen Typ deklariere, meckert er auch rum.
Delphi-Quellcode:
function ableiten_koeff(gesamte:array of string;koff:array of integer;var ableit_fkt:array of string):array of integer;
var abl_koeff,i,exp:integer;
begin
for i:=1 to length(koff)-1 do
begin
 exp:=exponent(gesamte[i]);
 abl_koeff:=exp*koff[i];
 if exp > 2 then
  ableit_fkt[i]:=inttostr(abl_koeff)+'x^'+inttostr(exp-1)
 else
  ableit_fkt[i]:=inttostr(abl_koeff);
[u][b] ableiten_koeff[i]:=abl_koeff;[/b][/u]
end;
end;
Er compiliert zwar das Programm, aber er gibt einen Zugriffsfehler aus.

Wie kann ich das Problem beheben?

MfG punkerlili
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

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

Re: Rückgabe Array über Funktion

  Alt 6. Mär 2009, 07:36
Guten Morgen

Zitat von punker-lili:
Wenn ich einen neuen Typ deklariere [...]
Dann mache es doch auch.

Delphi-Quellcode:
type
  TMyArrayI: array of Integer;
  TMyArrayS: array of string;

var
  MyArrayI: TMyArrayI;
  MyArrayS: TMyArrayS;

// ...

function ableiten_koeff(gesamte: TMyArrayS; koff: TMyArrayI; var ableit_fkt: TMyArrayS): TMyArrayI;
Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Rückgabe Array über Funktion

  Alt 6. Mär 2009, 08:13
Hallo,

Und es gibt auch bereits fertige deklarationen für diese dynamischen Arrays in der Unit Types

Delphi-Quellcode:
TIntegerDynArray = array of Integer;
{$EXTERNALSYM TIntegerDynArray}
//...
TStringDynArray = array of string;
{$EXTERNALSYM TStringDynArray}
Dadurch kann man sich die Deklaration sparen und verwendet über versch. Projekte hinweg die selben Typen. Allerdings weiß ich nicht seit welcher Delphiversion es diese Typen gibt.

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Rückgabe Array über Funktion

  Alt 6. Mär 2009, 08:16
Hallo punkerlili,

du kannst die Zugriffsverletzung verhindern, indem du das dynamische Rückgabe-Array geeignet dimensionierst:

Delphi-Quellcode:
begin
  SetLength (Result, Length(koeff));
[...]
end;
Gruß Hawkeye
  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 11:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz