Forum: Multimedia
Delphi
by Amateurprofi,
17. Apr 2018
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
Und hierzu hatte ich...
Forum: Multimedia
Delphi
by Amateurprofi,
17. Apr 2018
Nein, das ist nicht so.
Es wird fast immer der falsche Wert übergeben und nur in Ausnahmefällen der richtige.
Wenn sChord = "C" ist, wird überhaupt nichts in Result gestellt.
Wenn sChord <> "C" ist, wird nur dann der korrekte Wert in Result gestellt, wenn Pitch = 0 oder 12 oder ein Vielfaches von 12 ist.
Damit man das innerhalb dieses Beitrags nachvollziehen kann, habe ich die fragliche...
Forum: Multimedia
Delphi
by Amateurprofi,
16. Apr 2018
Mir scheint deine Funktion enthält Fehler.
1)
if Found < 1 then sollte wohl besser if Found < 0 then heißen.
Andernfalls würde z.B. TransposeChord('C',0') in einem Fehler resultieren.
Warum?!
K wäre = 0, Found wäre zunächst = 0 und würde um 12 auf 12 erhöht und wäre dann außerhalb des gültigen Bereiches von TTranspose.
2)
Das Result := sResult; gehört 2 Zeilen tiefer (hinter die...