Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Procedure oder Funktionsaufruf mit Wertveränderung (https://www.delphipraxis.net/29073-procedure-oder-funktionsaufruf-mit-wertveraenderung.html)

Piro 3. Sep 2004 15:28


Procedure oder Funktionsaufruf mit Wertveränderung
 
Moin,

ich möchte gerne einer Procedure einen Wert geben, welcher dann verarbeitet wird und danach wieder von der Procedure einer Varaiblen zugewiesen wird;

- die ganze Deklaration ist ok, benötige nur Hilfe bei der Werteübergabe

Delphi-Quellcode:
Procedure wortaendern (name: string);
begin
 name := name + '1234';
end;

Procedure Tform1.button1click(Sender: Objekt);
var
 neuer_name: string;
begin
 neuer_name := woraendern ('Sven');
end;
Irgendwie will das nicht. Was kann ich anders machen, damit es funktioniert.

Danke.

Dax 3. Sep 2004 15:28

Re: Procedure oder Funktionsaufruf mit Wertveränderung
 
Du must den Parameter als var Name deklarieren, dann gehts.

Motzi 3. Sep 2004 15:29

Re: Procedure oder Funktionsaufruf mit Wertveränderung
 
Delphi-Quellcode:
Procedure wortaendern ( {-->} var {<--} name: string);
begin
 name := name + '1234';
end;

Procedure Tform1.button1click(Sender: Objekt);
var
 neuer_name: string;
begin
 neuer_name := woraendern ('Sven');
end;

mytar 3. Sep 2004 15:31

Re: Procedure oder Funktionsaufruf mit Wertveränderung
 
Du kannst mit Hilfe einer Funktion machen;

Delphi-Quellcode:
function wortaendern (name: string): string;
begin
Result := name + '1234';
end;
oder mit einer Prozedur mit Var-Parameter:

Delphi-Quellcode:
procedure wortaendern (var name: string);
begin
name := name + '1234';
end;
!!Achtung: Nur bei einer Funktion bekommst du einen Rückgabewert!!

Dax 3. Sep 2004 15:34

Re: Procedure oder Funktionsaufruf mit Wertveränderung
 
Sagt mal, wie oft wird denn hier NOCH die selbe Antwort hingeschrieben?

mytar 3. Sep 2004 15:34

Re: Procedure oder Funktionsaufruf mit Wertveränderung
 
Aufruf für Funktion:

Delphi-Quellcode:
Procedure Tform1.button1click(Sender: Objekt);
var
neuer_name: string;
begin
neuer_name := woraendern ('Sven');
end;
Aufruf für Prozedur:

Delphi-Quellcode:
Procedure Tform1.button1click(Sender: Objekt);
var
neuer_name: string;
begin
neuer_name := 'Sven';
woraendern (neuer_name);
end;
Beiden hat des selben Effekt! :stupid:

Piro 3. Sep 2004 15:56

Re: Procedure oder Funktionsaufruf mit Wertveränderung
 
Danke für die zahlreiche Hilfe.

Schönes Wochenende.

mytar 3. Sep 2004 15:58

Re: Procedure oder Funktionsaufruf mit Wertveränderung
 
@daywalker299: Danke dir auch! 8)

Thebe 3. Sep 2004 16:48

Re: Procedure oder Funktionsaufruf mit Wertveränderung
 
Delphi-Quellcode:
function wortaendern (name: string);
begin
Result := name + '1234';
end;
wird garantiert nicht funktionieren, weil nicht deklariert wurde welchen Rückgabewert die Funktion liefern soll...

Delphi-Quellcode:
function wortaendern (name: string){-->}: string{<--};
begin
Result := name + '1234';
end;


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