![]() |
Function die mit einem Array rechnet in einer porcedure aufrufen
Hallo an alle,
dies ist der Code einer Hausaufgabe die ich in Delphi für die Schule erledigen muss. Meine Aufgabe ist es die Summe eines Arrays ausgeben zu lassen. Meine folgende Frage ist nun warum der code nicht so funktioniert, der Fehler ist bei "L_Summe.Caption:=floattostr(summeArray(zahl): array of integer);" da wird mir der Doppelpunkt makiert. Mit den jeweiligen auskommentierten, funktioniert es so wie es soll aber wieso nicht mit dem nicht auskommentierten? Währe cool wenn mir jemand erklären könnte wo mein Problem dabei liegt oder geht es so gar nicht? Vielen Dank im Vorraus.
Delphi-Quellcode:
type
TForm1 = class(TForm) B_ArraySumClick: TButton; B_Zufallszahlen: TButton; B_Speichern: TButton; SG_Tab1: TStringGrid; L_Summe: TLabel; procedure B_ZufallszahlenClick(Sender: TObject); procedure B_SpeichernClick(Sender: TObject); procedure B_ArraySumClickClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } zahl:array[1..5] of integer; function summeArray (zahl: array of Integer) :integer; //function summeArray :integer; end; type zahl = array of string; var Form1: TForm1; implementation {$R *.dfm} function TForm1.summeArray(zahl:array of Integer): integer; //function TForm1.summeArray :integer; var i,sum:integer; begin sum:=0; for i := 1 to 5 do begin sum:=sum+zahl[i] end; result:=sum; end; procedure TForm1.B_ArraySumClickClick(Sender: TObject); begin L_Summe.Caption:=floattostr(summeArray(zahl): array of integer); //L_Summe.Caption:=floattostr(summeArray); end; procedure TForm1.B_SpeichernClick(Sender: TObject); var i: integer; begin for i := 1 to 5 do begin zahl[i]:=Strtoint(SG_Tab1.Cells[i-1,0]); end; end; procedure TForm1.B_ZufallszahlenClick(Sender: TObject); var i:integer; begin randomize; for i := 1 to 5 do begin SG_Tab1.Cells[i-1,0]:=inttostr(random(50)); end; end; end. |
AW: Function die mit einem Array rechnet in einer porcedure aufrufen
Willkommen im Forum!
Zitat:
Zitat:
Falls nicht, schau nochmal ganz genau auf Deinen Aufruf und wie Du Deine Methode definiert hast. |
AW: Function die mit einem Array rechnet in einer porcedure aufrufen
Wozu nochmal ein gleichnamiger Typ "zahl", der wie die Variable heißt?
Und randomize ruft man eigentlich nicht mehrmals auf. |
AW: Function die mit einem Array rechnet in einer porcedure aufrufen
Hallöle...8-)
Bei der Deklaration der Funktion gibst du den Parameter incl. dem Typ an.
Delphi-Quellcode:
...richtig
function summeArray (zahl: array of Integer): Integer;
Beim Aufruf der Funktion übergibst du nur, in deinem Fall das Array, OHNE den Typ...weil die Funktion weiß das.
Delphi-Quellcode:
...fertsch. :zwinker:
L_Summe.Caption := FloatToStr(summeArray(zahl));
PS: Heute macht man keine Unterstriche mehr...der Lehrer oder? :? StyleGuide zum Nachlesen: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 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