Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi procedure, wie kann Ein/Rückgabe der Gleiche sein (https://www.delphipraxis.net/50311-procedure-wie-kann-ein-rueckgabe-der-gleiche-sein.html)

Hallo_Thomas 23. Jul 2005 14:05


procedure, wie kann Ein/Rückgabe der Gleiche sein
 
Im Moment erscheint bei mir die Fehlermeldung bei mir Counter redefiniert!Geht es überhaupt, da Eingabe und Rückgabe ie gleiche Variable haben?


Delphi-Quellcode:
procedure CountX(Counter: array of Integer;aStart,aEnd:Integer;Var Counter:array of Integer);

BlackJack 23. Jul 2005 14:09

Re: procedure, wie kann Ein/Rückgabe der Gleiche sein
 
nimm einfach den ersten paremeter weg und lass nur der var-parameter stehen, dann ist ein- und rückgabe das gleiche.

Luckie 23. Jul 2005 14:10

Re: procedure, wie kann Ein/Rückgabe der Gleiche sein
 
Nein das geht nicht, sagt doch auch schon die Fehlermeldung. Desweiteren wäre es besser, wenn du dir einen eigenen Typen deklarierst:
Delphi-Quellcode:
type
  TIntArray = array of Integer;

MrKnogge 23. Jul 2005 14:12

Re: procedure, wie kann Ein/Rückgabe der Gleiche sein
 
Du darfst nicht zweimal den gleichen Variablen-Namen benutzen, da Delphi ja sonst nicht weist, welche van den beiden variablen du in deiner procedure meinst, wenn du "counter" schreibst.

Delphi-Quellcode:
procedure CountX(aStart, aEnd: Integer; Var Counter: array of Integer);
gruss

[Add]

Wenn du es so machst, wie Luckie dir es vorgeschlagen hat, kannst du es auch als funktion machen:

Delphi-Quellcode:
type
  TIntArray = array of Integer;

function CountX(Counter: TIntArray; aStart, aEnd: Integer): TIntArray

Hallo_Thomas 23. Jul 2005 15:04

Re: procedure, wie kann Ein/Rückgabe der Gleiche sein
 
Zitat:

Zitat von MrKnogge
Du darfst nicht zweimal den gleichen Variablen-Namen benutzen, da Delphi ja sonst nicht weist, welche van den beiden variablen du in deiner procedure meinst, wenn du "counter" schreibst.

Delphi-Quellcode:
procedure CountX(aStart, aEnd: Integer; Var Counter: array of Integer);
gruss

[Add]

Wenn du es so machst, wie Luckie dir es vorgeschlagen hat, kannst du es auch als funktion machen:

Delphi-Quellcode:
type
  TIntArray = array of Integer;

function CountX(Counter: TIntArray; aStart, aEnd: Integer): TIntArray


Kommt da nicht nur ein Wert zurück? Mein Plan war ich zur Eingabe Counter..144] und daraus berechnen sich dann Counter[144..1500].Das geht doch meiner Meinung nach nicht? mit einer funktion.

Dax 23. Jul 2005 15:21

Re: procedure, wie kann Ein/Rückgabe der Gleiche sein
 
:wall: Wenn eine Funktion so definiert ist, das sie ein Array zurückgibt.. :roll:

Hallo_Thomas 23. Jul 2005 16:52

Re: procedure, wie kann Ein/Rückgabe der Gleiche sein
 
Zitat:

Zitat von Dax
:wall: Wenn eine Funktion so definiert ist, das sie ein Array zurückgibt.. :roll:

Ich hats noch nich ausprobiert :shock:
:stupid: Und im Büchlein stand, function gibt nur einen Wert zurück

Dax 23. Jul 2005 17:12

Re: procedure, wie kann Ein/Rückgabe der Gleiche sein
 
Ein Array ist ein Wert. Du was du meinst wäre einen Skalar ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 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