Zitat:
Ja, wenn man denn einen der vielen richtigen Wege geht.
Seltsam nur das bei mir die richtigen Ergebnisse ausgegeben werden.
Siehe shot
oben A ,B genau das was erwartet wird.
Delphi-Quellcode:
for k = 0 to xx do
begin
end
Result := bla; // und hier das result. dort wird ausgewertet wenn die schleife beendet wird auf welchen weg auch immer.
Keine Ahnung was du willst?
Zitat:
Die Zeile Result := sResult wird nicht ausgeführt.
Wird immer ausgeführt.
Zitat:
Eine Zeile tiefer steht ein "end;", und unter die Zeile mit dem "end;" soll es gebracht werden, also 1 + 1 = 2 Zeilen tiefer.
Keine Ahnung was du da rechnest oder meinst zu sehen.
Wie ich schon sagte 1 zeile tiefer.
Delphi-Quellcode:
function TransposeChord(sChord: string; Pitch: Integer): string;
var
sResult: string;
K, MaxK, Found: Integer;
begin
sResult := sChord;
MaxK := 12;
for K := 0 to (MaxK - 1) do
begin
if cTranspose[TTranspose(K)] = sChord then
begin
Found := (K + Pitch) mod MaxK;
if Found < 0 then
inc(Found, MaxK);
sResult := cTranspose[TTranspose(Found)];
break;
end;
end;
Result := sResult;
end;
EIne Zeile tiefer vergleiche es!
Vorher stand es über den End nun drunter.
gruss
Ich hatte mich auf die Funktion in deinem Beitrag #10 bezogen.
In der stand das
Result:=sResult;
innerhalb der For-Schleife, wurde also nicht ausgeführt, wenn die For-Schleife mit Break verlassen wird.
Ich hatte dann u.A. vorgeschlagen das
Result:=sResult;
2 Zeilen nach unten, also hinter die For-Schleife zu verschieben.
Zu diesem Vorschlag hattest du in #19 gesagt
Zitat:
Na ja eine Zeile tiefer.
Wird aber in jedem fall aufgerufen auch wenn ich es so belassen würde.
er Wert wird also in jedem fall richtig übergeben.
Und hierzu hatte ich angemerkt, dass das nicht richtig ist.
Hierzu sagst du
Zitat:
Seltsam nur das bei mir die richtigen Ergebnisse ausgegeben werden.
Siehe shot
oben A ,B genau das was erwartet wird.
Welcher "Shot" ?
Und ja klar bringt die von dir jetzt gezeigte Funktion richtige Ergebnisse, denn sie enthält ja auch die von mir vorgeschlagenen Korrekturen, insbesondere die, das
Result:=sResult;
hinter die For-Schleife zu verschieben.
Mein Einwand bezog sich aber auf deinen Kommentar, dass auch dann wenn man das
Result:=sResult;
so belässt (also innerhalb der For-Schleife), die richtigen Werte übergeben werden.