Thema: Delphi Noten als enum auslegen

Einzelnen Beitrag anzeigen

Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
6.377 Beiträge
 
Delphi 2010 Architect
 
#8

AW: Noten als enum auslegen

  Alt 16. Apr 2018, 17:11
Sorry bin wieder blöd heute.

Delphi-Quellcode:
type
  TTranspose = (C, C_, D, D_, E, F, F_, G, G_, A, A_, B);

const
  cTranspose : Array[TTranspose] of String = ('C', 'C#', 'D', 'D#', 'E', 'F', 'F#',
    'G', 'G#', 'A', 'A#', 'B');
Delphi-Quellcode:
function TransposeChord(sChord: string; Pitch: Integer): string;
var
  sResult: string;
  sTranspose: Array[0..11] of TTranspose; // scheint ein Problem mit dieser Definition zu sein. aber brauche ein Array wenn auch vielleicht nicht dieses
  K, MaxK, Found: Integer;
begin

  sResult := sChord;
  MaxK := High(sTranspose);

  for K := 0 to MaxK do
  begin
    if cTranspose[sTranspose[K]] = sChord then
    begin
      Found := (K + Pitch) mod MaxK;
      if Found < 1 then
        inc(Found, MaxK);

      sResult := cTranspose[sTranspose[Found]];
      break;
    end;
    Result := sResult;
  end;
end;
kann mir bitte jemand auf die Sprünge helfen ?

gruss
  Mit Zitat antworten Zitat