![]() |
Re: Procedure, Array als Rückgabewert?
Zitat:
|
Re: Procedure, Array als Rückgabewert?
:coder2: Ein kleines Wort, nur eines :tongue: :witch: :cheers:
|
Re: Procedure, Array als Rückgabewert?
Liste der Anhänge anzeigen (Anzahl: 1)
:?: Freu dich bloss nicht zu früh :twisted:
das Programm hängt sich schon auf
Delphi-Quellcode:
Keine Ahnung, aber irgendwie hängt sich das Programm jetzt auf?
procedure TForm1.EinWert(aWert: array of Integer;aStart,aEnd:Integer;Var Wertigkeit:TIntArray);
Var y :Integer ; begin SetLength(Wertigkeit,aEnd); for y := aStart to aEnd do Wertigkeit[y]:=0; end; |
Re: Procedure, Array als Rückgabewert?
Kleines Beispielprogramm ist gut. :roll: Ohne Kommentare oder Hinweise, wo man gucken muss, geschweige denn wie es funktioniert oder was es macht. Zumindest ein klitze kleiner Hinweis wie man es hinbekommt, dass die besagte Prozedur aufgerufen wird, wäre etwas hilfreich. Ich bekomme nämlich schon so eine AccessViolation bei
Delphi-Quellcode:
Gefunden:
procedure TForm1.AllSpeedButtons(Sender: TObject);
var farbe : TColor; itag : Integer; begin farbe := clRed; itag := (Sender as TSpeedButton).Tag; meineListe.Insert(0, (IntToStr(itag))); AddMyItem(IntToStr(itag), farbe); end;
Delphi-Quellcode:
Dynamische Arrays gehen von 0 bis Länge - 1.
procedure TForm1.EinWert(aWert: array of Integer; aStart, aEnd: Integer; var Wertigkeit: TIntArray);
var y : Integer; begin SetLength(Wertigkeit, aEnd); for y := aStart to aEnd - 1 do Wertigkeit[y] := 0; end; |
Re: Procedure, Array als Rückgabewert?
Zitat:
[edit] zu langsam.. Musste aber auch schon um 5 heute raus..[/edit] |
Re: Procedure, Array als Rückgabewert?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Wie änder ich das ab? Bei mir erscheint immer nur Stack-überlauf. |
Re: Procedure, Array als Rückgabewert?
Zitat:
|
Re: Procedure, Array als Rückgabewert?
Liste der Anhänge anzeigen (Anzahl: 1)
???Programm läuft zwar wieder, aber die Wertigkeiten werden in der Hauptprozedur immer noch nicht auf null gesetzt.
Hauptprozedur:
Delphi-Quellcode:
EinWert(Wertigkeit,0,11,result);
begin Eins :=Wertigkeit[1]; Zwei :=Wertigkeit[2]+Wertigkeit[8]+Wertigkeit[10]; Drei :=Wertigkeit[3]+Wertigkeit[9]+Wertigkeit[11]; Vier :=Wertigkeit[4]; Fuenf :=Wertigkeit[5]+Wertigkeit[9]+Wertigkeit[10]; Sechs :=Wertigkeit[6]+Wertigkeit[8]+Wertigkeit[11]; Sieben:=Wertigkeit[7]; Nebenprocedur:
Delphi-Quellcode:
procedure TForm1.EinWert(aWert: array of Integer;aStart,aEnd:Integer;Var Wertigkeit:TIntArray);
Var y :Integer ; begin SetLength(Wertigkeit,aEnd+1); for y := aStart to aEnd do Wertigkeit[y]:=0; end; |
Re: Procedure, Array als Rückgabewert?
Na warum fragst du in deinem Code dann nicht auch dein Ergebnis-Array ab? Du setzt ja danach deine Variablen auf die Werte, die du in die Funktion übergibst (Wertigkeit). Richtig aber wäre es, das Ergebnis zu benutzen (result).
Du müßtest daher nach dem Funktionsaufruf "Wertigkeit" jeweils durch "result" ersetzen. |
Re: Procedure, Array als Rückgabewert?
Mein Ziel ist es bis es erstmal herrauszubekommen wie ich eine Prozedur schreibe, die diese Wertigkeiten zurückgibt, da ich im Orginalprogramm, den Wert Wertigkeit ca.2500 tausend mal abändern dürfte!!! Ich hab über prozeduren eigentlich kaum Erfahrungen, bin aber sicher, dass das gehen müsste was ich vorhab.
Irgendwie muss es doch auch gehen, dass ich diese Wertigkeiten auf null seten kann durch eine Procedure? Dies dient mir erst mal als Probe, später soll nicht nur der Wert Null zurückgegeb werden! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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