![]() |
Procedure Wert zurückliefern
Hallo Leute,
habe wieder mal ein kleines Problem... Ich habe hier 2 Proceduren. Nun möchte ich den Wert a an die Procedure test liefern und möchte dann den Wert b zurückgeliefert bekommen... Das klappt aber irgendwie nicht :( Kann mir jemand helfen?
Delphi-Quellcode:
procedure test (a :integer; var b,c : integer);
begin b := a div 2; c := a mod 3; end; procedure TForm1.Button1Click(Sender: TObject); var a : integer; begin a := 5; edit2.Text:= inttostr (test (a,b)); //daran ist was falsch :) end; |
Re: Procedure Wert zurückliefern
test hat 3 Paramter, du übergibst aber nur 2.
|
Re: Procedure Wert zurückliefern
b & c sollen ja auch ausgerechtnet werden....
|
Re: Procedure Wert zurückliefern
was du willst ist wohl eine function
EDIT:
Delphi-Quellcode:
kann ja net gehen wenn dann so etwa:
edit2.Text:= inttostr (test (a,b)); //daran ist was falsch :)
Delphi-Quellcode:
test (a,b,c)
edit2.Text:= inttostr (a)+' - '+inttostr (b); |
Re: Procedure Wert zurückliefern
nein ich möchte c später zurück geliefert bekommen
z.b. in edit3... |
Re: Procedure Wert zurückliefern
Es gibt einen Unterschied zwischen Funktionen und Prozeduren. Erstere liefern einen Wert zurück, zweitere erhalten nur Werte (können aber über die Parameter auch Variablen verändern - Betonung auf "verändern").
Du mixt jetzt irgendwie (warum auch immer) beides durcheinander: Du deklarierst eine Prozedur mit 2 Var-Parametern, erwartest aber plötzlich einen Rückgabewert. Das kann einfach nicht funktionieren, da du ja schließlich eine Prozedur, und keine Funktion hast. Daher mußt du eben den fehlenden Parameter noch mit übergeben und diesen dann gesondert auswerten. Du mußt ja schließlich deine Parametervorgaben auch einhalten, wo kämen wir denn sonst hin? :lol: |
Re: Procedure Wert zurückliefern
@TeronG
Eine Funktion kann aber nur ein wert zurückgeben. @netscanner Du mußt trotzdem alle def. Paramter angeben. Woher soll er den a sonst wissen? |
Re: Procedure Wert zurückliefern
siehe oben ^^
Zitat:
Zitat:
|
Re: Procedure Wert zurückliefern
//EDIT: roter Kasten, wo bist du???
// Erklärungen: s. Leddl's Post Versuchs mal so (ungetestet):
Delphi-Quellcode:
procedure test (a :integer; var b,c : integer);
begin b := a div 2; c := a mod 3; end; procedure TForm1.Button1Click(Sender: TObject); var a : integer; begin a := 5; test(a,b,c); edit2.Text := inttostr(a); edit3.Text := inttostr(b); edit4.Text := inttostr(c); end; |
Re: Procedure Wert zurückliefern
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 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