Jo, jetzt kannst du auch mal eine Kleinigkeit programmieren.toto schrieb:
in der Liste sind alle Tonarten vorhanden, aber der Parser geht nicht über die 12 hinweg (0-11) also wird dann der Parser, wenn ich eine Tonart zB.: Db wähle, mir immer die Akkorden in #-Notation zeigen.
In post#93 zeigst du ja, dass du bereits herausgefunden hast, wie man aus
_Notes
auch eine b-Note herausholt Return _Notes(iNote + 12)
. In post#94 sage ich dir wie man herausfindet, ob die ausgewählte Tonart eine b-Tonart ist. (bzw. RFG zeigt in post#100, wie man dasselbe für eine #-Tonart feststellt).
Es ist nur das berühmte 1+1 zusammenzählen - das solltest du schaffen.
Überschneidung
Ups - dein Code ist teils fehlerhaft, teils sehr ungünstig benamt (Benamung ist entscheidender als meist angenommen wird).
Immerhin konntest du eine Auswahl-Liste syntaktisch richtig bilden (aber leider inhaltlich nicht richtig).
Fehlerle:
1) Da wo du deinen Kommentar reingeschrieben hast - das ist doch der If-Zweig für die Fehlermeldung! (wenn du mal hinschaust, was die Messagebox ausgibt).
Hingegen ist es doch kein Fehler, wenn eine b-Tonart als
destTonart
eingegeben wird.2) Dann enthält _Notes_1 falsche Elemente - vermutlich soll sie die b-Tonarten enthalten - C, D, E, G, A gehören meiner Ansicht nach aber nicht dazu - irre ich mich?
3) Und der Name
_Notes_1
schlecht - so schlecht, dass schon der Name zu Abwegen führen muss.(Mein)
_Notes
heisst _Notes
, weil es die Noten sind, die vorkommen können (du nennst es immer "Tonart", aber es sind Noten. Mit diesen Noten kann man sowohl den Grundton einer Tonart angeben als auch den Grundton eines Akkordes. Also sind es Noten - keine Tonarten)Wie gesagt
_Notes_1
ist der (man kann sagen:) falsche Name.Wenn es stimmt, dass die Liste alle b-Tonarten enthalten soll, dann solltest du sie unbedingt auch so benennen - dass man das erkennen kann.
Sonst weisst du zwei Zeilen weiter nicht mehr, was du damit anfangen wolltest.
Bzw - und das ist offensichtlich ja schon passiert - dir fällt nicht auf, dass da Tonarten drin vorkommen, die keine b-Tonarten sind.
Wenn das in Ordnung gebracht ist kannst du sie benutzen wie von RFG gezeigt - aber natürlich nicht im Codezweig für die Fehlermeldung.
(sorry - ich hab ja gesagt, es wird anstrengend - unter anderem bin ich es wohl der anstrengend ist. Aber was gesagt werden muss muss halt gesagt werden, ob erfreulich oder nicht)
Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von „ErfinderDesRades“ ()