Beep Komponist

  • @th.meger ich möchte mich ganz arg bedanken, dass hat mir ziemlich Arbeit gespart(ich hätte nämlich so wie ich es mit c' verfahren habe es mit jedem Ton gemacht) hier glaub ich sind Funktionen sehr nützlich, dass wird mir in Zukunft bei solchen sachen helfen.
    :kiss:th.meger
    Warum braucht man für den Funktionsaufruf kein Call? Geht dass einfach so?

    Spoiler anzeigen
    [autoit]

    ;~ Zweck: Einfacheres erstellen von Beeptönchenreihen.
    ;~ Autor: Vinschni

    [/autoit] [autoit][/autoit] [autoit]

    #include <GuiConstants.au3>
    #include <File.au3>

    $Datei = @ScriptDir & "\beep.ini"
    ;~ Hauptfenstergui
    $hauptfenster = GUICreate("Beep Komponist 0.1", 335, 245, -1, -1)
    $hauptfensterpos = WinGetPos($hauptfenster, "")
    GUISetState(@SW_SHOW)

    GUISetBkColor(0xFFFFFF)
    $Pausen = GUICtrlCreateGroup("Pausen", 10, 10, 120, 140)
    $Tone = GUICtrlCreateGroup("Töne", 140, 10, 190, 230)
    $c1 = GUICtrlCreateButton("c'", 150, 30, 80, 20)
    $cis1 = GUICtrlCreateButton("cis'", 150, 60, 80, 20)
    $d1 = GUICtrlCreateButton("d'", 150, 90, 80, 20)
    $dis1 = GUICtrlCreateButton("dis'", 150, 120, 80, 20)
    $e1 = GUICtrlCreateButton("e'", 150, 150, 80, 20)
    $f1 = GUICtrlCreateButton("f'", 150, 180, 80, 20)
    $fis1 = GUICtrlCreateButton("fis'", 150, 210, 80, 20)
    $c2 = GUICtrlCreateButton("c''", 240, 180, 80, 20)
    $h1 = GUICtrlCreateButton("h'", 240, 150, 80, 20)
    $g1 = GUICtrlCreateButton("g'", 240, 30, 80, 20)
    $gis1 = GUICtrlCreateButton("gis'", 240, 60, 80, 20)
    $a1 = GUICtrlCreateButton("a'", 240, 90, 80, 20)
    $ais1 = GUICtrlCreateButton("ais'", 240, 120, 80, 20)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 20, 30, 90, 20)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 20, 60, 90, 20)
    $virtelpause = GUICtrlCreateButton("Viertel Pause", 20, 90, 90, 20)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 20, 120, 90, 20)
    $quit = GUICtrlCreateButton("Schließen", 10, 220, 120, 20)
    $incode = GUICtrlCreateButton("In Code umwandeln", 10, 180, 120, 20)
    $iniloeschen = GUICtrlCreateButton(".ini löschen", 10, 200, 120, 20)
    $abspielen = GUICtrlCreateButton("Abspielen", 10, 160, 120, 20)

    ;~ Notenlängengui
    $toolfenster = GUICreate("Notenlängen", 130, 100, $hauptfensterpos[0] + 342, $hauptfensterpos[1] + 0, -1, -1, $hauptfenster)
    GUISetState(@SW_SHOW, $toolfenster)
    $GanzeNote = GUICtrlCreateRadio("Ganze Note", 18, 0, 100, 20)
    GUICtrlSetState($GanzeNote, $GUI_CHECKED)
    $HalbeNote = GUICtrlCreateRadio("Halbe Note", 18, 20, 100, 20)
    $ViertelNote = GUICtrlCreateRadio("Viertel Note", 18, 40, 100, 20)
    $AchtelNote = GUICtrlCreateRadio("Achtel Note", 18, 60, 100, 20)

    GUISwitch($hauptfenster)
    GUISetState(@SW_SHOW)

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select

    Case $msg = $c1
    _write(264)
    Case $msg = $cis1
    _write(278)

    Case $msg = $d1
    _write(297)

    Case $msg = $dis1
    _write(313)

    Case $msg = $e1
    _write(330)

    Case $msg = $f1
    _write(352)

    Case $msg = $fis1
    _write(374)

    Case $msg = $c2
    _write(528)

    Case $msg = $h1
    _write(495)

    Case $msg = $g1
    _write(396)

    Case $msg = $gis1
    _write(418)

    Case $msg = $a1
    _write(440)

    Case $msg = $ais1
    _write(467)

    Case $msg = $ganzepause
    FileWrite($Datei, "Sleep(1000)" & @CRLF)

    Case $msg = $halbepause
    FileWrite($Datei, "Sleep(500)" & @CRLF)

    Case $msg = $virtelpause
    FileWrite($Datei, "Sleep(250)" & @CRLF)

    Case $msg = $achtelpause
    FileWrite($Datei, "Sleep(125)" & @CRLF)

    Case $msg = $quit
    Exit

    Case $msg = $incode
    Global $Codedat = @DesktopDir & "\Beep Komposition " & @MIN & @SEC & ".au3"
    FileCopy($Datei, @DesktopDir & "\Beep Komposition " & @MIN & @SEC & ".au3")
    _FileWriteToLine($Codedat, 0, "Code erstellt durch Beep Komponist 0.1")
    IniWrite(@ScriptDir & "\beep1.ini", "File", "Path", '"' & $Codedat & '"')
    Case $msg = $iniloeschen
    FileDelete($Datei)
    Case $msg = $abspielen
    $path = IniRead(@ScriptDir & "\beep1.ini", "File", "Path", "Not Found!")
    If FileExists($path) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $path & '"', '', @SW_HIDE)
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    If $msg[1] = $toolfenster Then
    Exit

    GUISwitch($toolfenster)
    GUIDelete()

    ElseIf $msg[1] = $hauptfenster Then
    Exit
    GUISwitch($hauptfenster)
    GUIDelete()
    Exit
    EndIf
    Case Else
    ;;;
    EndSelect
    WEnd

    Func _write($note)
    Select
    Case GUICtrlRead($GanzeNote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",1000)" & @CRLF)
    Beep($note, 1000)

    Case GUICtrlRead($HalbeNote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",500)" & @CRLF)
    Beep($note, 500)

    Case GUICtrlRead($ViertelNote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",250)" & @CRLF)
    Beep($note, 250)

    Case GUICtrlRead($AchtelNote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",125)" & @CRLF)
    Beep($note, 125)
    EndSelect
    EndFunc ;==>_write

    [/autoit]


    Ich hab die Func nun auch in die anderen Töne reingebracht, und auch die gewählte Tonlänge wird nun gleich beim eingeben mitabgespielt.


    PS: Vielleicht hat ja jemand Lust ein paar Liedchen nachzumachen und hier zu posten, gtaspider hat auch mal Klingeltöne gemacht, dass wäre nun einfacher möglich.

  • Hallo zusammen,
    ich hab den Beep Komponist nun erfolgreich erweitert, und etwas komfortabler gemacht:

    Spoiler anzeigen
    [autoit]

    ;Autor: Vinschni
    #include <GuiConstants.au3>
    #include <File.au3>
    #include <GuiListView.au3>
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    DirCreate(@ScriptDir & "\B.KO.-DATA")
    $Datei = @ScriptDir & "\B.KO.-DATA\BeepCode.ini"

    [/autoit] [autoit][/autoit] [autoit]

    ;GUI
    $hauptfenster = GUICreate("Beep Komponist 1.7", 536, 372, -1, -1)
    GUISetBkColor(0xFFFFFF)
    $quit = GUICtrlCreateButton("Schließen", 354, 340, 118, 28, 0)
    $GroupAbspielen = GUICtrlCreateGroup("Abspielen", 144, 256, 193, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $abspielen = GUICtrlCreateButton("Aktuelles Abspielen", 151, 277, 176, 28, 0)
    $incode = GUICtrlCreateButton("In Code umwandeln", 152, 334, 176, 20, 0)
    $dateiabspielen = GUICtrlCreateButton("Andere .bk Datei abspielen", 152, 312, 177, 17, 0)
    $GroupIni = GUICtrlCreateGroup("Ini Management", 352, 240, 169, 97)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $iniloeschen = GUICtrlCreateButton("Letzte .ini löschen", 363, 307, 152, 20, 0)
    $neueini = GUICtrlCreateButton("Neue .ini erstellen", 360, 280, 153, 17, 0)
    $inibearbeiten = GUICtrlCreateButton("Aktuelle .ini bearbeiten", 360, 256, 153, 17, 0)
    $GroupPausen = GUICtrlCreateGroup("Pausen", 8, 232, 129, 137)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 16, 248, 113, 17, 0)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 16, 272, 113, 17, 0)
    $viertelpause = GUICtrlCreateButton("Viertel Pause", 16, 296, 113, 17, 0)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 16, 320, 113, 17, 0)
    $sechzentelpause = GUICtrlCreateButton("Sechzentel Pause", 16, 344, 113, 17, 0)
    $Groupnotenlangen = GUICtrlCreateGroup("Notenlängen", 8, 8, 129, 217)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzenote = GUICtrlCreateRadio("Ganze Note", 16, 32, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $halbenote = GUICtrlCreateRadio("Halbe Note", 16, 80, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $viertelnote = GUICtrlCreateRadio("Viertel Note", 16, 128, 73, 17)
    GUICtrlSetState($viertelnote, $GUI_CHECKED)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $achtelnote = GUICtrlCreateRadio("Achtel Note", 16, 176, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $sechzentelnote = GUICtrlCreateRadio("Sechzentel Note", 16, 200, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteviertel = GUICtrlCreateRadio("Punktierte Viertel", 16, 104, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktiertehalbe = GUICtrlCreateRadio("Punktierte Halbe", 16, 56, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteachtelnote = GUICtrlCreateRadio("Punkierte Achtel", 16, 152, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $List = GUICtrlCreateListView("Noten ", 352, 16, 169, 185)
    $notenlistloeschen = GUICtrlCreateButton("x", 505, 203, 19, 19, 0)
    $korrigieren = GUICtrlCreateCheckbox("Eingegebenes korrigieren", 360, 208, 145, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ueber = GUICtrlCreateButton("Über...", 478, 340, 44, 28, 0)
    $ToeneTab = GUICtrlCreateTab(144, 14, 193, 233)
    $ToeneTabSheet1 = GUICtrlCreateTabItem("Töne von c' - h'")
    $c1 = GUICtrlCreateButton("c'", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis1 = GUICtrlCreateButton("cis'/des'", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis1 = GUICtrlCreateButton("dis'/es'", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e1 = GUICtrlCreateButton("e'", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f1 = GUICtrlCreateButton("f'", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g1 = GUICtrlCreateButton("g'", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis1 = GUICtrlCreateButton("gis'/as'", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a1 = GUICtrlCreateButton("a'", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais1 = GUICtrlCreateButton("ais'/b'", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $h1 = GUICtrlCreateButton("h'", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d1 = GUICtrlCreateButton("d'", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis1 = GUICtrlCreateButton("fis'/ges'", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ToeneTabSheet2 = GUICtrlCreateTabItem("Töne von c'' - h''")
    $h2 = GUICtrlCreateButton("h''", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais2 = GUICtrlCreateButton("ais''/b''", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a2 = GUICtrlCreateButton("a''", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis2 = GUICtrlCreateButton("gis''/as''", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g2 = GUICtrlCreateButton("g''", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $c2 = GUICtrlCreateButton("c''", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis2 = GUICtrlCreateButton("cis''/des''", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d2 = GUICtrlCreateButton("d''", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis2 = GUICtrlCreateButton("dis''/es''", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e2 = GUICtrlCreateButton("e''", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f2 = GUICtrlCreateButton("f''", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis2 = GUICtrlCreateButton("fis''/ges''", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select

    Case $msg = $c1
    _write(262)
    _Listwrite("c'")

    Case $msg = $cis1
    _write(277)
    _Listwrite("cis'/des'")

    Case $msg = $d1
    _write(293)
    _Listwrite("d'")

    Case $msg = $dis1
    _write(311)
    _Listwrite("dis'/es'")

    Case $msg = $e1
    _write(330)
    _Listwrite("e'")

    Case $msg = $f1
    _write(349)
    _Listwrite("f'")

    Case $msg = $fis1
    _write(370)
    _Listwrite("fis'/ges'")

    Case $msg = $g1
    _write(392)
    _Listwrite("g'")

    Case $msg = $gis1
    _write(415)
    _Listwrite("gis'/as'")

    Case $msg = $a1
    _write(440)
    _Listwrite("a'")

    Case $msg = $ais1
    _write(466)
    _Listwrite("ais'/b'")

    Case $msg = $h1
    _write(493)
    _Listwrite("h'")

    Case $msg = $c2
    _write(523)
    _Listwrite("c''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $cis2
    _write(554)
    _Listwrite("cis''/des''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $d2
    _write(587)
    _Listwrite("d''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $dis2
    _write(622)
    _Listwrite("dis''/es''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $e2
    _write(659)
    _Listwrite("e''")

    Case $msg = $f2
    _write(698)
    _Listwrite("f''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $fis2
    _write(740)
    _Listwrite("fis''/ges''")

    Case $msg = $g2
    _write(784)
    _Listwrite("g''")

    Case $msg = $gis2
    _write(831)
    _Listwrite("gis''/as''")

    Case $msg = $a2
    _write(880)
    _Listwrite("a''")

    Case $msg = $ais2
    _write(932)
    _Listwrite("ais''/b''")

    Case $msg = $h2
    _write(988)
    _Listwrite("h''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $ganzepause
    FileWrite($Datei, "Sleep(1000)" & @CRLF)
    GUICtrlCreateListViewItem("Ganze Pause",$List)

    Case $msg = $halbepause
    FileWrite($Datei, "Sleep(500)" & @CRLF)
    GUICtrlCreateListViewItem("Halbe Pause",$List)

    Case $msg = $viertelpause
    FileWrite($Datei, "Sleep(250)" & @CRLF)
    GUICtrlCreateListViewItem("Viertel Pause",$List)

    Case $msg = $achtelpause
    FileWrite($Datei, "Sleep(125)" & @CRLF)
    GUICtrlCreateListViewItem("Achtel Pause",$List)

    Case $msg = $sechzentelpause
    FileWrite($Datei, "Sleep(62)" & @CRLF)
    GUICtrlCreateListViewItem("Sechzentel Pause",$List)

    Case $msg = $quit
    Exit

    Case $msg = $notenlistloeschen
    GUICtrlDelete($List)
    $List = GUICtrlCreateListView("Noten ", 352, 16, 169, 185)

    Case $msg = $incode
    _initocode()

    Case $msg = $iniloeschen
    FileDelete($Datei)

    Case $msg = $abspielen
    _abspielen()

    Case $msg = $dateiabspielen
    $abspieldatei = FileOpenDialog("Eine Beep komposition zum abspielen wählen:", @ScriptDir, "Beep Kompositionen (*.bk)")
    If FileExists($abspieldatei) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $abspieldatei & '"', '', @SW_HIDE)

    Case $msg = $neueini
    FileDelete($datei)
    FileOpen(@ScriptDir & "\B.KO.-DATA\LetzterBeepPath.ini",0)
    $Datei = @ScriptDir & "\B.KO.-DATA\LetzterBeepPath.ini"

    Case $msg = $inibearbeiten
    _inibearbeiten()

    Case $msg = $ueber
    MsgBox(64, "Über...", "Programm Name: Beep Komponist" & @CRLF & "Programm Version : 1.7" & @CRLF & @CRLF & "Autor: Vnschni")

    Case $msg = $GUI_EVENT_SECONDARYDOWN

    If GUICtrlRead($korrigieren) = $GUI_CHECKED Then _bearbeiten()


    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    Case Else
    ;;;
    EndSelect
    WEnd

    Func _write($note)
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",1000)" & @CRLF)
    Beep($note, 1000)

    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",750)" & @CRLF)
    Beep($note, 750)

    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",500)" & @CRLF)
    Beep($note, 500)

    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",375)" & @CRLF)
    Beep($note, 375)

    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",250)" & @CRLF)
    Beep($note, 250)

    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",188)" & @CRLF)
    Beep($note, 188)

    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",125)" & @CRLF)
    Beep($note, 125)

    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",63)" & @CRLF)
    Beep($note, 63)

    EndSelect
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _abspielen()
    IniWrite(@ScriptDir & "\B.KO.-DATA\BeepPath.ini", "File", "Path", $Datei)
    $path = IniRead(@ScriptDir & "\B.KO.-DATA\BeepPath.ini", "File", "Path", "Konnte nicht gefunden werden!")
    If FileExists($path) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $path & '"', '', @SW_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    Func _initocode()
    $nam = InputBox("Meldung", "Geben sie hier ihrer Komposition einen Namen:")
    Global $Codedat = @ScriptDir & "\Beep Komposition-" & $nam & ".bk"
    FileCopy($Datei, @ScriptDir & "\Beep Komposition-" & $nam & ".bk")
    IniWrite(@ScriptDir & "\B.KO.-DATA\BeepPath.ini", "File", "Path", '"' & $Codedat & '"')
    _FileWriteToLine($Codedat, 0, ";Code erstellt durch Beep Komponist 1.6")

    EndFunc


    Func _Listwrite($Note)
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Ganze Note",$List)

    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Halbe Note",$List)

    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Halbe Note",$List)

    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Viertel Note",$List)

    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Viertel Note",$List)

    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Achtel Note",$List)

    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Achtel Note",$List)

    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Sechzentel Note",$List)

    EndSelect
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _inibearbeiten()
    $path = InputBox("Ini bearbeiten", "Hier können sie den aktuellen Pfad bearbeiten:", $Datei)
    If FileExists($path) Then
    IniWrite(@ScriptDir & "\B.KO.-DATA\BeepPath.ini", "File", "Path", $Datei)
    Else
    MsgBox(16, "Error", "Die von ihnen angegebene Datei existiert nicht!",4)
    EndIf

    EndFunc


    Func _bearbeiten()
    $item = _GUICtrlListViewGetItemText($List, _GUICtrlListViewGetSelectedIndices($List))
    $eintrag = StringSplit($item, ",")
    $aenderungswunschnote = InputBox("Eintrag ändern", "Hier die gewünschte Noten" & @CRLF & "in der vorgegebenen Formatierung eingeben:", $eintrag[1])
    $aenderungswunschnotenwert = InputBox("Eintrag ändern", "Hier den gewünschte Notenwert" & @CRLF & "in der vorgegebenen Formatierung eingeben:", $eintrag[2])

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    bin dann aber bei dem Versuch Einträge in ListView und ini-Datei zu ändern kläglich gescheitert. :weinen:

    Spoiler anzeigen
    [autoit]


    ;Autor: Vinschni
    #include <GuiConstants.au3>
    #include <File.au3>
    #include <GuiListView.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    ;Variabelvereinbarung
    Global $aenderungswunschnotenwert
    Global $Note
    DirCreate(@ScriptDir & "\B.KO.-DATA")
    $Datei = @ScriptDir & "\B.KO.-DATA\BeepCode.ini"

    [/autoit] [autoit][/autoit] [autoit]

    ;GUI
    $hauptfenster = GUICreate("Beep Komponist 1.7", 536, 372, -1, -1)
    GUISetBkColor(0xFFFFFF)
    $quit = GUICtrlCreateButton("Schließen", 354, 340, 118, 28, 0)
    $GroupAbspielen = GUICtrlCreateGroup("Abspielen", 144, 256, 193, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $abspielen = GUICtrlCreateButton("Aktuelles Abspielen", 151, 277, 176, 28, 0)
    $incode = GUICtrlCreateButton("In Code umwandeln", 152, 334, 176, 20, 0)
    $dateiabspielen = GUICtrlCreateButton("Andere .bk Datei abspielen", 152, 312, 177, 17, 0)
    $GroupIni = GUICtrlCreateGroup("Ini Management", 352, 240, 169, 97)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $iniloeschen = GUICtrlCreateButton("Letzte .ini löschen", 363, 307, 152, 20, 0)
    $neueini = GUICtrlCreateButton("Neue .ini erstellen", 360, 280, 153, 17, 0)
    $inibearbeiten = GUICtrlCreateButton("Aktuelle .ini bearbeiten", 360, 256, 153, 17, 0)
    $GroupPausen = GUICtrlCreateGroup("Pausen", 8, 232, 129, 137)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 16, 248, 113, 17, 0)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 16, 272, 113, 17, 0)
    $viertelpause = GUICtrlCreateButton("Viertel Pause", 16, 296, 113, 17, 0)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 16, 320, 113, 17, 0)
    $sechzentelpause = GUICtrlCreateButton("Sechzentel Pause", 16, 344, 113, 17, 0)
    $Groupnotenlangen = GUICtrlCreateGroup("Notenlängen", 8, 8, 129, 217)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzenote = GUICtrlCreateRadio("Ganze Note", 16, 32, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $halbenote = GUICtrlCreateRadio("Halbe Note", 16, 80, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $viertelnote = GUICtrlCreateRadio("Viertel Note", 16, 128, 73, 17)
    GUICtrlSetState($viertelnote, $GUI_CHECKED)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $achtelnote = GUICtrlCreateRadio("Achtel Note", 16, 176, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $sechzentelnote = GUICtrlCreateRadio("Sechzentel Note", 16, 200, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteviertel = GUICtrlCreateRadio("Punktierte Viertel", 16, 104, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktiertehalbe = GUICtrlCreateRadio("Punktierte Halbe", 16, 56, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteachtelnote = GUICtrlCreateRadio("Punkierte Achtel", 16, 152, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $List = GUICtrlCreateListView("Noten ", 352, 16, 169, 185)
    $notenlistloeschen = GUICtrlCreateButton("x", 505, 203, 19, 19, 0)
    $korrigieren = GUICtrlCreateCheckbox("Eingegebenes korrigieren", 360, 208, 145, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ueber = GUICtrlCreateButton("Über...", 478, 340, 44, 28, 0)
    $ToeneTab = GUICtrlCreateTab(144, 14, 193, 233)
    $ToeneTabSheet1 = GUICtrlCreateTabItem("Töne von c' - h'")
    $c1 = GUICtrlCreateButton("c'", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis1 = GUICtrlCreateButton("cis'/des'", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis1 = GUICtrlCreateButton("dis'/es'", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e1 = GUICtrlCreateButton("e'", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f1 = GUICtrlCreateButton("f'", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g1 = GUICtrlCreateButton("g'", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis1 = GUICtrlCreateButton("gis'/as'", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a1 = GUICtrlCreateButton("a'", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais1 = GUICtrlCreateButton("ais'/b'", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $h1 = GUICtrlCreateButton("h'", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d1 = GUICtrlCreateButton("d'", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis1 = GUICtrlCreateButton("fis'/ges'", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ToeneTabSheet2 = GUICtrlCreateTabItem("Töne von c'' - h''")
    $h2 = GUICtrlCreateButton("h''", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais2 = GUICtrlCreateButton("ais''/b''", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a2 = GUICtrlCreateButton("a''", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis2 = GUICtrlCreateButton("gis''/as''", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g2 = GUICtrlCreateButton("g''", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $c2 = GUICtrlCreateButton("c''", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis2 = GUICtrlCreateButton("cis''/des''", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d2 = GUICtrlCreateButton("d''", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis2 = GUICtrlCreateButton("dis''/es''", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e2 = GUICtrlCreateButton("e''", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f2 = GUICtrlCreateButton("f''", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis2 = GUICtrlCreateButton("fis''/ges''", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select

    Case $msg = $c1
    _write(262)
    _Listwrite("c'")

    Case $msg = $cis1
    _write(277)
    _Listwrite("cis'/des'")

    Case $msg = $d1
    _write(293)
    _Listwrite("d'")

    Case $msg = $dis1
    _write(311)
    _Listwrite("dis'/es'")

    Case $msg = $e1
    _write(330)
    _Listwrite("e'")

    Case $msg = $f1
    _write(349)
    _Listwrite("f'")

    Case $msg = $fis1
    _write(370)
    _Listwrite("fis'/ges'")

    Case $msg = $g1
    _write(392)
    _Listwrite("g'")

    Case $msg = $gis1
    _write(415)
    _Listwrite("gis'/as'")

    Case $msg = $a1
    _write(440)
    _Listwrite("a'")

    Case $msg = $ais1
    _write(466)
    _Listwrite("ais'/b'")

    Case $msg = $h1
    _write(493)
    _Listwrite("h'")

    Case $msg = $c2
    _write(523)
    _Listwrite("c''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $cis2
    _write(554)
    _Listwrite("cis''/des''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $d2
    _write(587)
    _Listwrite("d''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $dis2
    _write(622)
    _Listwrite("dis''/es''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $e2
    _write(659)
    _Listwrite("e''")

    Case $msg = $f2
    _write(698)
    _Listwrite("f''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $fis2
    _write(740)
    _Listwrite("fis''/ges''")

    Case $msg = $g2
    _write(784)
    _Listwrite("g''")

    Case $msg = $gis2
    _write(831)
    _Listwrite("gis''/as''")

    Case $msg = $a2
    _write(880)
    _Listwrite("a''")

    Case $msg = $ais2
    _write(932)
    _Listwrite("ais''/b''")

    Case $msg = $h2
    _write(988)
    _Listwrite("h''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $ganzepause
    FileWrite($Datei, "Sleep(1000)" & @CRLF)
    GUICtrlCreateListViewItem("Ganze Pause",$List)

    Case $msg = $halbepause
    FileWrite($Datei, "Sleep(500)" & @CRLF)
    GUICtrlCreateListViewItem("Halbe Pause",$List)

    Case $msg = $viertelpause
    FileWrite($Datei, "Sleep(250)" & @CRLF)
    GUICtrlCreateListViewItem("Viertel Pause",$List)

    Case $msg = $achtelpause
    FileWrite($Datei, "Sleep(125)" & @CRLF)
    GUICtrlCreateListViewItem("Achtel Pause",$List)

    Case $msg = $sechzentelpause
    FileWrite($Datei, "Sleep(62)" & @CRLF)
    GUICtrlCreateListViewItem("Sechzentel Pause",$List)

    Case $msg = $quit
    Exit

    Case $msg = $notenlistloeschen
    GUICtrlDelete($List)
    $List = GUICtrlCreateListView("Noten ", 352, 16, 169, 185)

    Case $msg = $incode
    _initocode()

    Case $msg = $iniloeschen
    FileDelete($Datei)

    Case $msg = $abspielen
    _abspielen()

    Case $msg = $dateiabspielen
    $abspieldatei = FileOpenDialog("Eine Beep komposition zum abspielen wählen:", @ScriptDir, "Beep Kompositionen (*.bk)")
    If FileExists($abspieldatei) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $abspieldatei & '"', '', @SW_HIDE)

    Case $msg = $neueini
    FileDelete($datei)
    FileOpen(@ScriptDir & "\B.KO.-DATA\LetzterBeepPath.ini",0)
    $Datei = @ScriptDir & "\B.KO.-DATA\LetzterBeepPath.ini"

    Case $msg = $inibearbeiten
    _inibearbeiten()

    Case $msg = $ueber
    MsgBox(64, "Über...", "Programm Name: Beep Komponist" & @CRLF & "Programm Version : 1.7" & @CRLF & @CRLF & "Autor: Vnschni")

    Case $msg = $GUI_EVENT_SECONDARYDOWN

    If GUICtrlRead($korrigieren) = $GUI_CHECKED Then _bearbeiten()


    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    Case Else
    ;;;
    EndSelect
    WEnd
    ; Eingegebene Noten+Werte in ini schreiben
    Func _write($note)
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",1000)" & @CRLF)
    Beep($note, 1000)

    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",750)" & @CRLF)
    Beep($note, 750)

    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",500)" & @CRLF)
    Beep($note, 500)

    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",375)" & @CRLF)
    Beep($note, 375)

    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",250)" & @CRLF)
    Beep($note, 250)

    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",188)" & @CRLF)
    Beep($note, 188)

    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",125)" & @CRLF)
    Beep($note, 125)

    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",63)" & @CRLF)
    Beep($note, 63)

    EndSelect
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _abspielen()
    IniWrite(@ScriptDir & "\B.KO.-DATA\BeepPath.ini", "File", "Path", $Datei)
    $path = IniRead(@ScriptDir & "\B.KO.-DATA\BeepPath.ini", "File", "Path", "Konnte nicht gefunden werden!")
    If FileExists($path) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $path & '"', '', @SW_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc
    ;ini in Code umwandeln und speichern
    Func _initocode()
    $nam = InputBox("Meldung", "Geben sie hier ihrer Komposition einen Namen:")
    Global $Codedat = @ScriptDir & "\Beep Komposition-" & $nam & ".bk"
    FileCopy($Datei, @ScriptDir & "\Beep Komposition-" & $nam & ".bk")
    IniWrite(@ScriptDir & "\B.KO.-DATA\BeepPath.ini", "File", "Path", '"' & $Codedat & '"')
    _FileWriteToLine($Codedat, 0, ";Code erstellt durch Beep Komponist 1.6")

    EndFunc

    ; Eingegebenes in ListView eintragen
    Func _Listwrite($Note)
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Ganze Note",$List)

    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Halbe Note",$List)

    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Halbe Note",$List)

    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Viertel Note",$List)

    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Viertel Note",$List)

    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Achtel Note",$List)

    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Achtel Note",$List)

    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Sechzentel Note",$List)

    EndSelect
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;Den ini-Pfad bearbeiten
    Func _inibearbeiten()
    $path = InputBox("Ini bearbeiten", "Hier können sie den aktuellen Pfad bearbeiten:", $Datei)
    If FileExists($path) Then
    IniWrite(@ScriptDir & "\B.KO.-DATA\BeepPath.ini", "File", "Path", $Datei)
    Else
    MsgBox(16, "Error", "Die von ihnen angegebene Datei existiert nicht!",4)
    EndIf

    EndFunc

    ; Prüfen ob Eingegebens verarbeitet werden kann
    Func _bearbeiten()
    $item = _GUICtrlListViewGetItemText($List, _GUICtrlListViewGetSelectedIndices($List))
    $eintrag = StringSplit($item, ",")
    $aenderungswunschnote = InputBox("Eintrag ändern", "Hier die gewünschte Noten" & @CRLF & "in der vorgegebenen Formatierung eingeben:", $eintrag[1])
    $aenderungswunschnotenwert = InputBox("Eintrag ändern", "Hier den gewünschte Notenwert" & @CRLF & "in der vorgegebenen Formatierung eingeben:", $eintrag[2])
    Select
    Case $aenderungswunschnote = "c'"
    _aenderungimListView("c'")

    Case $aenderungswunschnote = "cis'/des'"
    _aenderungimListView("cis'/des'")

    Case $aenderungswunschnote = "d'"
    _aenderungimListView("d'")

    Case $aenderungswunschnote = "dis'/es'"
    _aenderungimListView("dis'/es'")

    Case $aenderungswunschnote = "e'"
    _aenderungimListView("e'")

    Case $aenderungswunschnote = "f'"
    _aenderungimListView("f'")

    Case $aenderungswunschnote = "fis'/ges'"
    _aenderungimListView("fis'/ges'")

    Case $aenderungswunschnote = "g'"
    _aenderungimListView("g'")

    Case $aenderungswunschnote = "gis'/as'"
    _aenderungimListView("gis'/as'")

    Case $aenderungswunschnote = "a'"
    _aenderungimListView("a'")

    Case $aenderungswunschnote = "ais'/b'"
    _aenderungimListView("ais'/b'")

    Case $aenderungswunschnote = "h'"
    _aenderungimListView("h'")

    Case $aenderungswunschnote = "c''"
    _aenderungimListView("c''")

    Case $aenderungswunschnote = "cis''/des''"
    _aenderungimListView("cis''/des''")

    Case $aenderungswunschnote = "d''"
    _aenderungimListView("d''")

    Case $aenderungswunschnote = "dis''/es''"
    _aenderungimListView("dis''/es''")

    Case $aenderungswunschnote = "e''"
    _aenderungimListView("e''")

    Case $aenderungswunschnote = "f''"
    _aenderungimListView("f''")

    Case $aenderungswunschnote = "fis''/ges''"
    _aenderungimListView("fis''/ges''")

    Case $aenderungswunschnote = "g''"
    _aenderungimListView("g''")

    Case $aenderungswunschnote = "gis''/as''"
    _aenderungimListView("gis''/as''")

    Case $aenderungswunschnote = "a''"
    _aenderungimListView("a''")

    Case $aenderungswunschnote = "ais''/b''"
    _aenderungimListView("ais''/b''")

    Case $aenderungswunschnote = "h''"
    _aenderungimListView("h''")

    Case Else
    MsgBox(16, "Error", "Das von ihnen eingegebene ist falsch!",4)

    EndSelect
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; Einträge in ini bearbeiten
    Func _aenderungimListView($gewuenschtenote)
    Select
    Case $aenderungswunschnotenwert = "Ganze Note"
    _GUICtrlListViewSetItemText ($list, _GUICtrlListViewGetSelectedIndices($list), 0, $gewuenschtenote & " , Ganze Note")

    Case $aenderungswunschnotenwert = "Punktierte Halbe Note"
    _GUICtrlListViewSetItemText ($list, _GUICtrlListViewGetSelectedIndices($list), 0, $gewuenschtenote & " , Punktierte Halbe Note")

    Case $aenderungswunschnotenwert = "Halbe Note"
    _GUICtrlListViewSetItemText ($list, _GUICtrlListViewGetSelectedIndices($list), 0, $gewuenschtenote & " , Halbe Note")

    Case $aenderungswunschnotenwert = "Punktierte Viertel Note"
    _GUICtrlListViewSetItemText ($list, _GUICtrlListViewGetSelectedIndices($list), 0, $gewuenschtenote & " , Punktierte Viertel Note")

    Case $aenderungswunschnotenwert = "Viertel Note"
    _GUICtrlListViewSetItemText ($list, _GUICtrlListViewGetSelectedIndices($list), 0, $gewuenschtenote & " , Viertel Note")

    Case $aenderungswunschnotenwert = "Punktierte Achtel Note"
    _GUICtrlListViewSetItemText ($list, _GUICtrlListViewGetSelectedIndices($list), 0, $gewuenschtenote & " , Punktierte Achtel Note")

    Case $aenderungswunschnotenwert = "Achtel Note"
    _GUICtrlListViewSetItemText ($list, _GUICtrlListViewGetSelectedIndices($list), 0, $gewuenschtenote & " , Achtel Note")

    Case $aenderungswunschnotenwert = "Sechzentel Note"
    _GUICtrlListViewSetItemText ($list, _GUICtrlListViewGetSelectedIndices($list), 0, $gewuenschtenote & " , Sechzentel Note")

    EndSelect

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;Einträge in Datei ändern

    [/autoit]

    Kann mir vielleicht jemand helfen? Würde mich freuen.

    Grüße Vinschni

    Einmal editiert, zuletzt von Vinschni (11. Februar 2007 um 22:35)

    • Offizieller Beitrag

    Hi Vinschni,

    also grundlegender Fehler:

    Du willst in eine INI-Datei schreiben verwendest aber FileOpen, Filewrite.

    Du brauchst also Klarheit,wie die INI aussehen soll.
    Grundstruktur:

    [section]
    key1=value
    key2=value

    Schau mal in der Hilfe unter IniWrite, IniRead etc. . Dann wird dir sicher alles klarer. Falls nicht frag nochmal nach.

  • @th.mger Danke schon mal im vorraus :kiss:

    BugFix Das mit der ini war von mir so gewollt. Ich hätte diese Datei genauso *.hallo nennen können, sie heißt nur *.ini um sie von den Beep Kompositions-Dateien mit der Endung *.bk zu unterscheiden. Der Code in der ini soll ja auch mit AutoIt ausgefüht werden, und mit einer Ini-Formatierung geht das ja nicht. ;)

    Grüße Vinschni

    Einmal editiert, zuletzt von Vinschni (11. Februar 2007 um 18:46)

    • Offizieller Beitrag

    Hab noch mal kurz drüber geschaut.
    Eines ist mir aufgefallen:

    [autoit]

    FileOpen(@ScriptDir & "\B.KO.-DATA\LetzterBeepPath.ini",0)

    [/autoit]


    Das ist nicht vollständig. Du mußt ein Filehandle zuweisen um damit arbeiten zu können:

    [autoit]

    $fh = FileOpen($datei, modus)

    [/autoit]


    Alle folgenden Befehle beziehen sich jetzt auf das Filehandle, z.B.:

    [autoit]

    MsgBox(0, "Das steht in Zeile 1", FileReadLine($fh, 1)

    [/autoit]


    Zum Schluß, wichtig besonders wenn man mit mehreren Dateien arbeitet:

    [autoit]

    FileClose($fh)

    [/autoit]


    EDIT

    So, hab erst mal hundert Leerzeilen aus deinem Proggi entfernt, damit man es auch lesen kann ;) .
    Außer in der oben angeführten Zeile, wo du kein Filehandle zuweist, hast du niemals eine Datei zum Schreiben geöffnet. Du verwendest immer den Befehl: FileWrite($Datei, "Beep.... ). Da $Datei aber nicht zum Schreiben geöffnet ist, geht der Befehl ins Leere.


    EDIT2

    Hab schon mal ein paar kleine Änderungen durchgeführt:

    [autoit]

    If Not FileExists(@ScriptDir & "\B.KO.-DATA") Then DirCreate(@ScriptDir & "\B.KO.-DATA")

    [/autoit][autoit]


    $List = GUICtrlCreateListView("Noten", 352, 16, 169, 185)
    _GUICtrlListViewSetColumnWidth(-1, 0,$LVSCW_AUTOSIZE_USEHEADER)

    [/autoit][autoit]

    Case $msg = $notenlistloeschen
    _GUICtrlListViewDeleteAllItems($List)

    [/autoit]

    Die einzigen Dateien die erstellt werden, sind die mit INIWrite() erzeugten (Gründe siehe oben).
    Da mir nicht ganz klar ist, was wann wohin geschrieben werden soll, (du verwendest z.B. für $Datei unterschiedliche Werte) überlasse ich diese Korrekturen dir.

  • BugFix Danke, das du es dir noch einmal angeschaut hast. Ich hab das eingebaut und die doppelbelegung der $Datei Variable aufgehoben(Du hattest recht, ich hab blödsinn gemacht) und mir Kommentaren erklärt was wo rein geschrieben wird. Außerdem abe ich die Datei in welche der Code geschrieben wird mit einer anderen Endung versehen das man nicht mehr mit der Pfad.ini-Datei durcheinander kommt.

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <File.au3>
    #Include <GuiStatusBar.au3>
    #include <GuiListView.au3>
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If Not FileExists(@ScriptDir & "\B.KO.-DATA") Then DirCreate(@ScriptDir & "\B.KO.-DATA") ;Prüft ob der Ordner in welchem der Pfad der aktuell editierten Code Datei und dieselbe existiert und erstellt ihn bei Bedarf.
    $Datei = @ScriptDir & "\B.KO.-DATA\BeepCode.bc" ;Öffnet und oder erstellt die Datei in welche später alle <Beep(...)> , <Sleep(...)> Befehle geschrieben werden.
    $Codedateipfad = @ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini" ;Öffnet und oder erstellt die Datei in welcher der Pfad zur <BeepCode.bc> verzeichnet ist, um später in verschiedene Dateien zu schreiben.
    IniWrite($Codedateipfad, "File", "Path", @ScriptDir & "\B.KO.-DATA\BeepCode.bc");Schreibt den aktuellen Pfad der <BeepCode.bc> in <BeepCodePfad.ini>.

    [/autoit] [autoit][/autoit] [autoit]

    Local $hauptfenster, $StatusBar1, $msg
    Local $Lange[1] = [536]
    Local $Statusbartextvor[1] = ["GD: " & $Datei]

    [/autoit] [autoit][/autoit] [autoit]

    ;GUI
    $hauptfenster = GUICreate("Beep Komponist 1.7", 536, 398, -1, -1)
    GUISetBkColor(0xFFFFFF)
    $quit = GUICtrlCreateButton("Schließen", 354, 340, 118, 28)
    $GroupAbspielen = GUICtrlCreateGroup("Abspielen", 144, 256, 193, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $abspielen = GUICtrlCreateButton("Aktuelles Abspielen", 151, 277, 176, 28)
    $incode = GUICtrlCreateButton("In Code umwandeln", 152, 334, 176, 20)
    $dateiabspielen = GUICtrlCreateButton("Andere .bk Datei abspielen", 152, 312, 177, 17)
    $GroupIni = GUICtrlCreateGroup("B.KO.-DATA Management", 352, 216, 169, 121)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BKOloeschen = GUICtrlCreateButton("Diverse B.KO.-Datei löschen", 360, 240, 153, 17, 0)
    $neueBeepcodedatei = GUICtrlCreateButton("Neue <BeepCode.bc>", 360, 264, 153, 17, 0)
    $neueBeepCodePfadDatei = GUICtrlCreateButton("Neue <BeepCodePfad.ini>", 360, 288, 153, 17, 0)
    $anderecodedateiwahlen = GUICtrlCreateButton("Andere Code-Datei wählen", 360, 312, 153, 17, 0)
    $GroupPausen = GUICtrlCreateGroup("Pausen", 8, 232, 129, 137)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 16, 248, 113, 17, 0)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 16, 272, 113, 17, 0)
    $viertelpause = GUICtrlCreateButton("Viertel Pause", 16, 296, 113, 17, 0)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 16, 320, 113, 17, 0)
    $sechzentelpause = GUICtrlCreateButton("Sechzentel Pause", 16, 344, 113, 17, 0)
    $Groupnotenlangen = GUICtrlCreateGroup("Notenlängen", 8, 8, 129, 217)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzenote = GUICtrlCreateRadio("Ganze Note", 16, 32, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $halbenote = GUICtrlCreateRadio("Halbe Note", 16, 80, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $viertelnote = GUICtrlCreateRadio("Viertel Note", 16, 128, 73, 17)
    GUICtrlSetState($viertelnote, $GUI_CHECKED)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $achtelnote = GUICtrlCreateRadio("Achtel Note", 16, 176, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $sechzentelnote = GUICtrlCreateRadio("Sechzentel Note", 16, 200, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteviertel = GUICtrlCreateRadio("Punktierte Viertel", 16, 104, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktiertehalbe = GUICtrlCreateRadio("Punktierte Halbe", 16, 56, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteachtelnote = GUICtrlCreateRadio("Punkierte Achtel", 16, 152, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $List = GUICtrlCreateListView("Noten", 352, 16, 169, 171)
    _GUICtrlListViewSetColumnWidth(-1, 0,$LVSCW_AUTOSIZE_USEHEADER)
    $notenlistloeschen = GUICtrlCreateButton("x", 503, 193, 19, 19)
    $korrigieren = GUICtrlCreateCheckbox("Eingegebenes korrigieren", 357, 193, 145, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ueber = GUICtrlCreateButton("Über...", 478, 340, 44, 28, 0)
    $ToeneTab = GUICtrlCreateTab(144, 14, 193, 233)
    $ToeneTabSheet1 = GUICtrlCreateTabItem("Töne von c' - h'")
    $Statusbar = _GUICtrlStatusBarCreate($hauptfenster,$Lange,$Statusbartextvor)
    _GUICtrlStatusBarSetIcon($Statusbar, 0, "shell32.dll", 70)
    $c1 = GUICtrlCreateButton("c'", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis1 = GUICtrlCreateButton("cis'/des'", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis1 = GUICtrlCreateButton("dis'/es'", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e1 = GUICtrlCreateButton("e'", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f1 = GUICtrlCreateButton("f'", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g1 = GUICtrlCreateButton("g'", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis1 = GUICtrlCreateButton("gis'/as'", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a1 = GUICtrlCreateButton("a'", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais1 = GUICtrlCreateButton("ais'/b'", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $h1 = GUICtrlCreateButton("h'", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d1 = GUICtrlCreateButton("d'", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis1 = GUICtrlCreateButton("fis'/ges'", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ToeneTabSheet2 = GUICtrlCreateTabItem("Töne von c'' - h''")
    $h2 = GUICtrlCreateButton("h''", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais2 = GUICtrlCreateButton("ais''/b''", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a2 = GUICtrlCreateButton("a''", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis2 = GUICtrlCreateButton("gis''/as''", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g2 = GUICtrlCreateButton("g''", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $c2 = GUICtrlCreateButton("c''", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis2 = GUICtrlCreateButton("cis''/des''", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d2 = GUICtrlCreateButton("d''", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis2 = GUICtrlCreateButton("dis''/es''", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e2 = GUICtrlCreateButton("e''", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f2 = GUICtrlCreateButton("f''", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis2 = GUICtrlCreateButton("fis''/ges''", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $c1
    _write(262) ;Jeweilige Frequenz wird an die _write Funktion übergeben.
    _Listwrite("c'") ;Ton wird an _Listwrite übergeben, das angezeigt werden kann auf was geklickt wurde.

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $cis1
    _write(277)
    _Listwrite("cis'/des'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $d1
    _write(293)
    _Listwrite("d'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $dis1
    _write(311)
    _Listwrite("dis'/es'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $e1
    _write(330)
    _Listwrite("e'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $f1
    _write(349)
    _Listwrite("f'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $fis1
    _write(370)
    _Listwrite("fis'/ges'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $g1
    _write(392)
    _Listwrite("g'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $gis1
    _write(415)
    _Listwrite("gis'/as'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $a1
    _write(440)
    _Listwrite("a'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $ais1
    _write(466)
    _Listwrite("ais'/b'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $h1
    _write(493)
    _Listwrite("h'")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $c2
    _write(523)
    _Listwrite("c''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $cis2
    _write(554)
    _Listwrite("cis''/des''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $d2
    _write(587)
    _Listwrite("d''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $dis2
    _write(622)
    _Listwrite("dis''/es''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $e2
    _write(659)
    _Listwrite("e''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $f2
    _write(698)
    _Listwrite("f''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $fis2
    _write(740)
    _Listwrite("fis''/ges''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $g2
    _write(784)
    _Listwrite("g''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $gis2
    _write(831)
    _Listwrite("gis''/as''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $a2
    _write(880)
    _Listwrite("a''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $ais2
    _write(932)
    _Listwrite("ais''/b''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $h2
    _write(988)
    _Listwrite("h''")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $ganzepause
    FileWrite($Datei, "Sleep(1000)" & @CRLF) ;Bei Klick auf gewünschte Pausenlänge wird der dazugehörige <Sleep(...)> Befehl in die <BeepCode.bc> geschrieben.
    GUICtrlCreateListViewItem("Ganze Pause",$List) ;Um zu sehen was man für eine Pausenlänge gedrückt hat wird hier der jeweilige Eintrag in ein Listview gepackt.

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $halbepause
    FileWrite($Datei, "Sleep(500)" & @CRLF)
    GUICtrlCreateListViewItem("Halbe Pause",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $viertelpause
    FileWrite($Datei, "Sleep(250)" & @CRLF)
    GUICtrlCreateListViewItem("Viertel Pause",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $achtelpause
    FileWrite($Datei, "Sleep(125)" & @CRLF)
    GUICtrlCreateListViewItem("Achtel Pause",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $sechzentelpause
    FileWrite($Datei, "Sleep(62)" & @CRLF)
    GUICtrlCreateListViewItem("Sechzentel Pause",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $quit
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $notenlistloeschen;Löscht nur die Liste mit den angeklickten Tonhöhen und den Notenlängen.
    _GUICtrlListViewDeleteAllItems($List)

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $incode ;Hier lässt sich eine <BeepCode.bc> in eine Beep Komposition umwandeln (eigentlich werden nur Namen und Dateiendung geändert, *.bk soll aber das Beep Komponist Dateiformat sein.)
    $NamederBeepKomposition = InputBox("Meldung", "Geben sie hier ihrer Komposition einen Namen:")
    Global $Codedat = @ScriptDir & "\Beep Komposition-" & $NamederBeepKomposition & ".bk"
    FileCopy($Datei, @ScriptDir & "\Beep Komposition-" & $NamederBeepKomposition & ".bk")
    _FileWriteToLine($Codedat, 0, ";Code erstellt durch Beep Komponist 1.6")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Case $msg = $BKOloeschen ;Hier lässt sich eine Beep komponist Datei aus dessen Ordner löschen.
    $loeschDatei = FileOpenDialog("Eine Beep-Datei zum Löschen wählen:", @ScriptDir & "\B.KO.-DATA", "Beep Kompositionen (*.bk;*.bc)")
    If FileExists($loeschDatei) Then FileDelete($loeschDatei)

    Case $msg = $abspielen ;Hier wird die aktuell geöffnete <BeepCode.bc> abgespielt.
    $Abspielpfad = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    If FileExists($Abspielpfad) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $Abspielpfad & '"', '', @SW_HIDE);Wenn diese Datei existiert wird sie dann abgespielt.

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Case $msg = $dateiabspielen ;Hier lässt sich eine beliebige *.bc oder *.bk Datei abspielen.
    $abspieldatei = FileOpenDialog("Eine Beep komposition zum abspielen wählen:", @ScriptDir, "Beep Kompositionen (*.bk;*.bc)");Hier lassen sich beliebige *.bc (bearbeitete Codedateien) oder *.bk (fertige, schon umgewandelte Beep Kompositionen) abspielen.
    If FileExists($abspieldatei) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $abspieldatei & '"', '', @SW_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $neueBeepcodedatei;Hier kann man eine neue BeepCodeDatei erstellen + die alte löschen.
    $AlteCodeDatei = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    If FileExists($AlteCodeDatei) Then FileDelete($AlteCodeDatei)
    $Datei = @ScriptDir & "\B.KO.-DATA\BeepCode.bc"

    Case $msg = $anderecodedateiwahlen ;Hier kann man den Pfad zur aktuellen Code Datei ändern.
    $PfadzurCodeDatei = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    $Pfad = InputBox("Ini bearbeiten", "Hier können sie den aktuellen Pfad bearbeiten:", $PfadzurCodeDatei)
    If FileExists($Pfad) Then
    $Datei = IniWrite($Codedateipfad, "File", "Path", $Pfad)
    Else
    MsgBox(16, "Error", "Die von ihnen angegebene Datei existiert nicht, und lässt sich so nicht bearbeiten!",4)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $ueber
    MsgBox(64, "Über...", "Programm Name: Beep Komponist" & @CRLF & "Programm Version : 1.7" & @CRLF & @CRLF & "Autor: Vinschni")

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    Case Else
    ;;;
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _write($note) ;Funktion die beim Klicken auf eine Note gestartet wird. Sie legt zusätzlich zur gewählten Tonhöhe die mit den Radiobuttons festgelegte Tonlänge fest und schreibt beides in <Beep(...)> Befehl, und dann in die aktuell bearbeitete <BeepCode.bc> welchen Pfad in der <BeepCodePfad.ini> steht.
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",1000)" & @CRLF)
    Beep($note, 1000)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",750)" & @CRLF)
    Beep($note, 750)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",500)" & @CRLF)
    Beep($note, 500)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",375)" & @CRLF)
    Beep($note, 375)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",250)" & @CRLF)
    Beep($note, 250)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",188)" & @CRLF)
    Beep($note, 188)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",125)" & @CRLF)
    Beep($note, 125)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($Datei, "Beep(" & $note & ",63)" & @CRLF)
    Beep($note, 63)

    [/autoit] [autoit][/autoit] [autoit]

    EndSelect
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Listwrite($Note) ; Zweite Funktion die beim Klicken auf eine Note gestartet wird. Sie sorgt dafür das die angeklickte Note mit ihrem richtigem Namen und der Notenlänge (nicht den Zahlen für den Beep() Befehl) in das Listview geschrieben wird.
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Ganze Note",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Halbe Note",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Halbe Note",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Viertel Note",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Viertel Note",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Achtel Note",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Achtel Note",$List)

    [/autoit] [autoit][/autoit] [autoit]

    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Sechzentel Note",$List)

    [/autoit] [autoit][/autoit] [autoit]

    EndSelect
    EndFunc

    [/autoit]


    Nun hier ist das was ich eigentlich meinte was ich nicht weiß: Ich möchte, das man die Liste, in welche die angeklickten Tonhöhen mit ihren Notenlängen geschrieben werden mit der rechten Maustaste bei Klick auf ein Listviewitem editieren kann. Die änderungen sollen dann in die Code-Datei und ins List view geschrieben werden. Ich habs schon versucht, es wurde dann aber so lang und unübersichtlich, das ich aufgeben musste(funktioniert hat es auch nicht. :( ). Ich hoffe es weiß jemand was ich mein und kann mir helfen.

    Viele Grüße Vinschni

    • Offizieller Beitrag

    Hi Vinschni,

    also ich habe jetzt erstmal dein Script so angepaßt, dass auch in die Datei geschrieben werden kann. Einiges ist mir aber noch unklar. Lies mal meine Kommentare.
    Wo ich Änderungen gemacht habe, habe ich es markiert mit ";########".

    Wenn das erstmal funktioniert, können wir uns um das Editieren der Einträge kümmern.

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <File.au3>
    #Include <GuiStatusBar.au3>
    #include <GuiListView.au3>
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    If Not FileExists(@ScriptDir & "\B.KO.-DATA") Then DirCreate(@ScriptDir & "\B.KO.-DATA") ;Prüft ob der Ordner in welchem der Pfad der aktuell editierten Code Datei und dieselbe existiert und erstellt ihn bei Bedarf.
    $Datei = @ScriptDir & "\B.KO.-DATA\BeepCode.bc" ;Öffnet und oder erstellt die Datei in welche später alle <Beep(...)> , <Sleep(...)> Befehle geschrieben werden.
    $Codedateipfad = @ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini" ;Öffnet und oder erstellt die Datei in welcher der Pfad zur <BeepCode.bc> verzeichnet ist, um später in verschiedene Dateien zu schreiben.
    IniWrite($Codedateipfad, "File", "Path", @ScriptDir & "\B.KO.-DATA\BeepCode.bc");Schreibt den aktuellen Pfad der <BeepCode.bc> in <BeepCodePfad.ini>.
    ;############# $Datei gleich im Schreibmodus öffnen (anhängen) ################################################
    Dim $fh = FileOpen($Datei, 1)
    ;~ ########### Sollte $Datei im Programm irgendwann einen anderen Wert bekommen mußt du UNBEDINGT so vorgehen:
    ; als erstes $Datei schließen mit: FileClose($fh)
    ; dann neuen Wert zuweisen: $Datei = "neuer Wert"
    ; jetzt $Datei mit neuem Wert zum Schreiben öffnen: $fh = FileOpen($Datei, 1)
    ;##############################################################################################################
    Local $hauptfenster, $StatusBar1, $msg
    Local $Lange[1] = [536]
    Local $Statusbartextvor[1] = ["GD: " & $Datei]

    ;GUI
    $hauptfenster = GUICreate("Beep Komponist 1.7", 536, 398, -1, -1)
    GUISetBkColor(0xFFFFFF)
    $quit = GUICtrlCreateButton("Schließen", 354, 340, 118, 28)
    $GroupAbspielen = GUICtrlCreateGroup("Abspielen", 144, 256, 193, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $abspielen = GUICtrlCreateButton("Aktuelles Abspielen", 151, 277, 176, 28)
    $incode = GUICtrlCreateButton("In Code umwandeln", 152, 334, 176, 20)
    $dateiabspielen = GUICtrlCreateButton("Andere .bk Datei abspielen", 152, 312, 177, 17)
    $GroupIni = GUICtrlCreateGroup("B.KO.-DATA Management", 352, 216, 169, 121)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BKOloeschen = GUICtrlCreateButton("Diverse B.KO.-Datei löschen", 360, 240, 153, 17, 0)
    $neueBeepcodedatei = GUICtrlCreateButton("Neue <BeepCode.bc>", 360, 264, 153, 17, 0)
    $neueBeepCodePfadDatei = GUICtrlCreateButton("Neue <BeepCodePfad.ini>", 360, 288, 153, 17, 0)
    $anderecodedateiwahlen = GUICtrlCreateButton("Andere Code-Datei wählen", 360, 312, 153, 17, 0)
    $GroupPausen = GUICtrlCreateGroup("Pausen", 8, 232, 129, 137)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 16, 248, 113, 17, 0)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 16, 272, 113, 17, 0)
    $viertelpause = GUICtrlCreateButton("Viertel Pause", 16, 296, 113, 17, 0)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 16, 320, 113, 17, 0)
    $sechzentelpause = GUICtrlCreateButton("Sechzentel Pause", 16, 344, 113, 17, 0)
    $Groupnotenlangen = GUICtrlCreateGroup("Notenlängen", 8, 8, 129, 217)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzenote = GUICtrlCreateRadio("Ganze Note", 16, 32, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $halbenote = GUICtrlCreateRadio("Halbe Note", 16, 80, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $viertelnote = GUICtrlCreateRadio("Viertel Note", 16, 128, 73, 17)
    GUICtrlSetState($viertelnote, $GUI_CHECKED)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $achtelnote = GUICtrlCreateRadio("Achtel Note", 16, 176, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $sechzentelnote = GUICtrlCreateRadio("Sechzentel Note", 16, 200, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteviertel = GUICtrlCreateRadio("Punktierte Viertel", 16, 104, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktiertehalbe = GUICtrlCreateRadio("Punktierte Halbe", 16, 56, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteachtelnote = GUICtrlCreateRadio("Punkierte Achtel", 16, 152, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $List = GUICtrlCreateListView("Noten", 352, 16, 169, 171)
    _GUICtrlListViewSetColumnWidth(-1, 0,$LVSCW_AUTOSIZE_USEHEADER)
    $notenlistloeschen = GUICtrlCreateButton("x", 503, 193, 19, 19)
    $korrigieren = GUICtrlCreateCheckbox("Eingegebenes korrigieren", 357, 193, 145, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ueber = GUICtrlCreateButton("Über...", 478, 340, 44, 28, 0)
    $ToeneTab = GUICtrlCreateTab(144, 14, 193, 233)
    $ToeneTabSheet1 = GUICtrlCreateTabItem("Töne von c' - h'")
    $Statusbar = _GUICtrlStatusBarCreate($hauptfenster,$Lange,$Statusbartextvor)
    _GUICtrlStatusBarSetIcon($Statusbar, 0, "shell32.dll", 70)
    $c1 = GUICtrlCreateButton("c'", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis1 = GUICtrlCreateButton("cis'/des'", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis1 = GUICtrlCreateButton("dis'/es'", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e1 = GUICtrlCreateButton("e'", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f1 = GUICtrlCreateButton("f'", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g1 = GUICtrlCreateButton("g'", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis1 = GUICtrlCreateButton("gis'/as'", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a1 = GUICtrlCreateButton("a'", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais1 = GUICtrlCreateButton("ais'/b'", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $h1 = GUICtrlCreateButton("h'", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d1 = GUICtrlCreateButton("d'", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis1 = GUICtrlCreateButton("fis'/ges'", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ToeneTabSheet2 = GUICtrlCreateTabItem("Töne von c'' - h''")
    $h2 = GUICtrlCreateButton("h''", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais2 = GUICtrlCreateButton("ais''/b''", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a2 = GUICtrlCreateButton("a''", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis2 = GUICtrlCreateButton("gis''/as''", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g2 = GUICtrlCreateButton("g''", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $c2 = GUICtrlCreateButton("c''", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis2 = GUICtrlCreateButton("cis''/des''", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d2 = GUICtrlCreateButton("d''", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis2 = GUICtrlCreateButton("dis''/es''", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e2 = GUICtrlCreateButton("e''", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f2 = GUICtrlCreateButton("f''", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis2 = GUICtrlCreateButton("fis''/ges''", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $c1
    _write(262) ;Jeweilige Frequenz wird an die _write Funktion übergeben.
    _Listwrite("c'") ;Ton wird an _Listwrite übergeben, das angezeigt werden kann auf was geklickt wurde.
    Case $msg = $cis1
    _write(277)
    _Listwrite("cis'/des'")
    Case $msg = $d1
    _write(293)
    _Listwrite("d'")
    Case $msg = $dis1
    _write(311)
    _Listwrite("dis'/es'")
    Case $msg = $e1
    _write(330)
    _Listwrite("e'")
    Case $msg = $f1
    _write(349)
    _Listwrite("f'")
    Case $msg = $fis1
    _write(370)
    _Listwrite("fis'/ges'")
    Case $msg = $g1
    _write(392)
    _Listwrite("g'")
    Case $msg = $gis1
    _write(415)
    _Listwrite("gis'/as'")
    Case $msg = $a1
    _write(440)
    _Listwrite("a'")
    Case $msg = $ais1
    _write(466)
    _Listwrite("ais'/b'")
    Case $msg = $h1
    _write(493)
    _Listwrite("h'")
    Case $msg = $c2
    _write(523)
    _Listwrite("c''")
    Case $msg = $cis2
    _write(554)
    _Listwrite("cis''/des''")
    Case $msg = $d2
    _write(587)
    _Listwrite("d''")
    Case $msg = $dis2
    _write(622)
    _Listwrite("dis''/es''")
    Case $msg = $e2
    _write(659)
    _Listwrite("e''")
    Case $msg = $f2
    _write(698)
    _Listwrite("f''")
    Case $msg = $fis2
    _write(740)
    _Listwrite("fis''/ges''")
    Case $msg = $g2
    _write(784)
    _Listwrite("g''")
    Case $msg = $gis2
    _write(831)
    _Listwrite("gis''/as''")
    Case $msg = $a2
    _write(880)
    _Listwrite("a''")
    Case $msg = $ais2
    _write(932)
    _Listwrite("ais''/b''")
    Case $msg = $h2
    _write(988)
    _Listwrite("h''")
    Case $msg = $ganzepause
    FileWrite($fh, "Sleep(1000)" & @CRLF) ;############ Bei Klick auf gewünschte Pausenlänge wird der dazugehörige <Sleep(...)> Befehl in die <BeepCode.bc> geschrieben.
    GUICtrlCreateListViewItem("Ganze Pause",$List) ;Um zu sehen was man für eine Pausenlänge gedrückt hat wird hier der jeweilige Eintrag in ein Listview gepackt.
    Case $msg = $halbepause
    FileWrite($fh, "Sleep(500)" & @CRLF) ;############
    GUICtrlCreateListViewItem("Halbe Pause",$List)
    Case $msg = $viertelpause
    FileWrite($fh, "Sleep(250)" & @CRLF) ;############
    GUICtrlCreateListViewItem("Viertel Pause",$List)
    Case $msg = $achtelpause
    FileWrite($fh, "Sleep(125)" & @CRLF) ;############
    GUICtrlCreateListViewItem("Achtel Pause",$List)
    Case $msg = $sechzentelpause
    FileWrite($fh, "Sleep(62)" & @CRLF) ;############
    GUICtrlCreateListViewItem("Sechzentel Pause",$List)
    Case $msg = $quit
    Exit
    Case $msg = $notenlistloeschen;Löscht nur die Liste mit den angeklickten Tonhöhen und den Notenlängen.
    _GUICtrlListViewDeleteAllItems($List)
    Case $msg = $incode ;Hier lässt sich eine <BeepCode.bc> in eine Beep Komposition umwandeln (eigentlich werden nur Namen und Dateiendung geändert, *.bk soll aber das Beep Komponist Dateiformat sein.)
    $NamederBeepKomposition = InputBox("Meldung", "Geben sie hier ihrer Komposition einen Namen:")
    Global $Codedat = @ScriptDir & "\Beep Komposition-" & $NamederBeepKomposition & ".bk"
    FileCopy($Datei, @ScriptDir & "\Beep Komposition-" & $NamederBeepKomposition & ".bk")
    _FileWriteToLine($Codedat, 0, ";Code erstellt durch Beep Komponist 1.6")
    Case $msg = $BKOloeschen ;Hier lässt sich eine Beep komponist Datei aus dessen Ordner löschen.
    $loeschDatei = FileOpenDialog("Eine Beep-Datei zum Löschen wählen:", @ScriptDir & "\B.KO.-DATA", "Beep Kompositionen (*.bk;*.bc)")
    If FileExists($loeschDatei) Then FileDelete($loeschDatei)
    Case $msg = $abspielen ;Hier wird die aktuell geöffnete <BeepCode.bc> abgespielt.
    $Abspielpfad = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    If FileExists($Abspielpfad) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $Abspielpfad & '"', '', @SW_HIDE);Wenn diese Datei existiert wird sie dann abgespielt.
    Case $msg = $dateiabspielen ;Hier lässt sich eine beliebige *.bc oder *.bk Datei abspielen.
    $abspieldatei = FileOpenDialog("Eine Beep komposition zum abspielen wählen:", @ScriptDir, "Beep Kompositionen (*.bk;*.bc)");Hier lassen sich beliebige *.bc (bearbeitete Codedateien) oder *.bk (fertige, schon umgewandelte Beep Kompositionen) abspielen.
    If FileExists($abspieldatei) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $abspieldatei & '"', '', @SW_HIDE)
    Case $msg = $neueBeepcodedatei;Hier kann man eine neue BeepCodeDatei erstellen + die alte löschen.
    $AlteCodeDatei = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    If FileExists($AlteCodeDatei) Then FileDelete($AlteCodeDatei)
    $Datei = @ScriptDir & "\B.KO.-DATA\BeepCode.bc"
    Case $msg = $anderecodedateiwahlen ;Hier kann man den Pfad zur aktuellen Code Datei ändern.
    $PfadzurCodeDatei = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    $Pfad = InputBox("Ini bearbeiten", "Hier können sie den aktuellen Pfad bearbeiten:", $PfadzurCodeDatei)
    If FileExists($Pfad) Then
    ; ########### Wenn du $Datei hier einen anderen Wert zuweist, gilt das für deine _write() Funktion - ist das gewollt ?
    ;~ ########### $Datei = IniWrite($Codedateipfad, "File", "Path", $Pfad) ; geht so nicht, IniWrite gibt 0 oder 1 zurück, das wär dann in $Datei
    ;~ ########### Was soll hier passieren ? IniWrite - OK, aber welchen Wert soll $Datei bekommen ?
    Else
    MsgBox(16, "Error", "Die von ihnen angegebene Datei existiert nicht, und lässt sich so nicht bearbeiten!",4)
    EndIf
    Case $msg = $ueber
    MsgBox(64, "Über...", "Programm Name: Beep Komponist" & @CRLF & "Programm Version : 1.7" & @CRLF & @CRLF & "Autor: Vinschni")
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd
    FileClose($fh) ; Datei schließen bei Programmende ############
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func _write($note) ;Funktion die beim Klicken auf eine Note gestartet wird. Sie legt zusätzlich zur gewählten Tonhöhe die mit den Radiobuttons festgelegte Tonlänge fest und schreibt beides in <Beep(...)> Befehl, und dann in die aktuell bearbeitete <BeepCode.bc> welchen Pfad in der <BeepCodePfad.ini> steht.
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",1000)" & @CRLF) ;############
    Beep($note, 1000)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",750)" & @CRLF) ;############
    Beep($note, 750)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",500)" & @CRLF) ;############
    Beep($note, 500)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",375)" & @CRLF) ;############
    Beep($note, 375)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",250)" & @CRLF) ;############
    Beep($note, 250)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",188)" & @CRLF) ;############
    Beep($note, 188)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",125)" & @CRLF) ;############
    Beep($note, 125)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",63)" & @CRLF) ;############
    Beep($note, 63)
    EndSelect
    EndFunc

    Func _Listwrite($Note) ; Zweite Funktion die beim Klicken auf eine Note gestartet wird. Sie sorgt dafür das die angeklickte Note mit ihrem richtigem Namen und der Notenlänge (nicht den Zahlen für den Beep() Befehl) in das Listview geschrieben wird.
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Ganze Note",$List)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Halbe Note",$List)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Halbe Note",$List)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Viertel Note",$List)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Viertel Note",$List)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Achtel Note",$List)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Achtel Note",$List)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Sechzentel Note",$List)
    EndSelect
    EndFunc

    [/autoit]
  • Danke bugfix,
    hab mir dein Änderungen angeschaut und im Script kommentiert.

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <File.au3>
    #Include <GuiStatusBar.au3>
    #include <GuiListView.au3>
    #NoTrayIcon

    If Not FileExists(@ScriptDir & "\B.KO.-DATA") Then DirCreate(@ScriptDir & "\B.KO.-DATA") ;Prüft ob der Ordner in welchem der Pfad der aktuell editierten Code Datei und dieselbe existiert und erstellt ihn bei Bedarf.
    $Datei = @ScriptDir & "\B.KO.-DATA\BeepCode.bc" ;Öffnet und oder erstellt die Datei in welche später alle <Beep(...)> , <Sleep(...)> Befehle geschrieben werden.
    $Codedateipfad = @ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini" ;Öffnet und oder erstellt die Datei in welcher der Pfad zur <BeepCode.bc> verzeichnet ist, um später in verschiedene Dateien zu schreiben.
    IniWrite($Codedateipfad, "File", "Path", @ScriptDir & "\B.KO.-DATA\BeepCode.bc");Schreibt den aktuellen Pfad der <BeepCode.bc> in <BeepCodePfad.ini>.
    ;############# $Datei gleich im Schreibmodus öffnen (anhängen) ################################################
    Dim $fh = FileOpen($Datei, 1)
    ;~ ########### Sollte $Datei im Programm irgendwann einen anderen Wert bekommen mußt du UNBEDINGT so vorgehen:
    ; als erstes $Datei schließen mit: FileClose($fh)
    ; dann neuen Wert zuweisen: $Datei = "neuer Wert"
    ; jetzt $Datei mit neuem Wert zum Schreiben öffnen: $fh = FileOpen($Datei, 1)
    ;##############################################################################################################
    Local $hauptfenster, $StatusBar1, $msg
    Local $Lange[1] = [536]
    Local $Statusbartextvor[1] = ["GD: " & $Datei]

    ;GUI
    $hauptfenster = GUICreate("Beep Komponist 1.7", 536, 398, -1, -1)
    GUISetBkColor(0xFFFFFF)
    $quit = GUICtrlCreateButton("Schließen", 354, 340, 118, 28)
    $GroupAbspielen = GUICtrlCreateGroup("Abspielen", 144, 256, 193, 113)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $abspielen = GUICtrlCreateButton("Aktuelles Abspielen", 151, 277, 176, 28)
    $incode = GUICtrlCreateButton("In Code umwandeln", 152, 334, 176, 20)
    $dateiabspielen = GUICtrlCreateButton("Andere .bk Datei abspielen", 152, 312, 177, 17)
    $GroupIni = GUICtrlCreateGroup("B.KO.-DATA Management", 352, 216, 169, 121)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $BKOloeschen = GUICtrlCreateButton("Diverse B.KO.-Datei löschen", 360, 240, 153, 17, 0)
    $neueBeepcodedatei = GUICtrlCreateButton("Neue <BeepCode.bc>", 360, 264, 153, 17, 0)
    $neueBeepCodePfadDatei = GUICtrlCreateButton("Neue <BeepCodePfad.ini>", 360, 288, 153, 17, 0)
    $anderecodedateiwahlen = GUICtrlCreateButton("Andere Code-Datei wählen", 360, 312, 153, 17, 0)
    $GroupPausen = GUICtrlCreateGroup("Pausen", 8, 232, 129, 137)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 16, 248, 113, 17, 0)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 16, 272, 113, 17, 0)
    $viertelpause = GUICtrlCreateButton("Viertel Pause", 16, 296, 113, 17, 0)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 16, 320, 113, 17, 0)
    $sechzentelpause = GUICtrlCreateButton("Sechzentel Pause", 16, 344, 113, 17, 0)
    $Groupnotenlangen = GUICtrlCreateGroup("Notenlängen", 8, 8, 129, 217)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzenote = GUICtrlCreateRadio("Ganze Note", 16, 32, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $halbenote = GUICtrlCreateRadio("Halbe Note", 16, 80, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $viertelnote = GUICtrlCreateRadio("Viertel Note", 16, 128, 73, 17)
    GUICtrlSetState($viertelnote, $GUI_CHECKED)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $achtelnote = GUICtrlCreateRadio("Achtel Note", 16, 176, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $sechzentelnote = GUICtrlCreateRadio("Sechzentel Note", 16, 200, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteviertel = GUICtrlCreateRadio("Punktierte Viertel", 16, 104, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktiertehalbe = GUICtrlCreateRadio("Punktierte Halbe", 16, 56, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteachtelnote = GUICtrlCreateRadio("Punkierte Achtel", 16, 152, 113, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $List = GUICtrlCreateListView("Noten", 352, 16, 169, 171)
    _GUICtrlListViewSetColumnWidth(-1, 0,$LVSCW_AUTOSIZE_USEHEADER)
    $notenlistloeschen = GUICtrlCreateButton("x", 503, 193, 19, 19)
    $korrigieren = GUICtrlCreateCheckbox("Eingegebenes korrigieren", 357, 193, 145, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ueber = GUICtrlCreateButton("Über...", 478, 340, 44, 28, 0)
    $ToeneTab = GUICtrlCreateTab(144, 14, 193, 233)
    $ToeneTabSheet1 = GUICtrlCreateTabItem("Töne von c' - h'")
    $Statusbar = _GUICtrlStatusBarCreate($hauptfenster,$Lange,$Statusbartextvor)
    _GUICtrlStatusBarSetIcon($Statusbar, 0, "shell32.dll", 70)
    $c1 = GUICtrlCreateButton("c'", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis1 = GUICtrlCreateButton("cis'/des'", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis1 = GUICtrlCreateButton("dis'/es'", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e1 = GUICtrlCreateButton("e'", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f1 = GUICtrlCreateButton("f'", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g1 = GUICtrlCreateButton("g'", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis1 = GUICtrlCreateButton("gis'/as'", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a1 = GUICtrlCreateButton("a'", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais1 = GUICtrlCreateButton("ais'/b'", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $h1 = GUICtrlCreateButton("h'", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d1 = GUICtrlCreateButton("d'", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis1 = GUICtrlCreateButton("fis'/ges'", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ToeneTabSheet2 = GUICtrlCreateTabItem("Töne von c'' - h''")
    $h2 = GUICtrlCreateButton("h''", 244, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais2 = GUICtrlCreateButton("ais''/b''", 244, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a2 = GUICtrlCreateButton("a''", 244, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis2 = GUICtrlCreateButton("gis''/as''", 244, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g2 = GUICtrlCreateButton("g''", 244, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $c2 = GUICtrlCreateButton("c''", 148, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis2 = GUICtrlCreateButton("cis''/des''", 148, 78, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d2 = GUICtrlCreateButton("d''", 148, 110, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis2 = GUICtrlCreateButton("dis''/es''", 148, 142, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e2 = GUICtrlCreateButton("e''", 148, 174, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f2 = GUICtrlCreateButton("f''", 148, 206, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis2 = GUICtrlCreateButton("fis''/ges''", 244, 46, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $c1
    _write(262) ;Jeweilige Frequenz wird an die _write Funktion übergeben.
    _Listwrite("c'") ;Ton wird an _Listwrite übergeben, das angezeigt werden kann auf was geklickt wurde.
    Case $msg = $cis1
    _write(277)
    _Listwrite("cis'/des'")
    Case $msg = $d1
    _write(293)
    _Listwrite("d'")
    Case $msg = $dis1
    _write(311)
    _Listwrite("dis'/es'")
    Case $msg = $e1
    _write(330)
    _Listwrite("e'")
    Case $msg = $f1
    _write(349)
    _Listwrite("f'")
    Case $msg = $fis1
    _write(370)
    _Listwrite("fis'/ges'")
    Case $msg = $g1
    _write(392)
    _Listwrite("g'")
    Case $msg = $gis1
    _write(415)
    _Listwrite("gis'/as'")
    Case $msg = $a1
    _write(440)
    _Listwrite("a'")
    Case $msg = $ais1
    _write(466)
    _Listwrite("ais'/b'")
    Case $msg = $h1
    _write(493)
    _Listwrite("h'")
    Case $msg = $c2
    _write(523)
    _Listwrite("c''")
    Case $msg = $cis2
    _write(554)
    _Listwrite("cis''/des''")
    Case $msg = $d2
    _write(587)
    _Listwrite("d''")
    Case $msg = $dis2
    _write(622)
    _Listwrite("dis''/es''")
    Case $msg = $e2
    _write(659)
    _Listwrite("e''")
    Case $msg = $f2
    _write(698)
    _Listwrite("f''")
    Case $msg = $fis2
    _write(740)
    _Listwrite("fis''/ges''")
    Case $msg = $g2
    _write(784)
    _Listwrite("g''")
    Case $msg = $gis2
    _write(831)
    _Listwrite("gis''/as''")
    Case $msg = $a2
    _write(880)
    _Listwrite("a''")
    Case $msg = $ais2
    _write(932)
    _Listwrite("ais''/b''")
    Case $msg = $h2
    _write(988)
    _Listwrite("h''")
    Case $msg = $ganzepause
    FileWrite($fh, "Sleep(1000)" & @CRLF) ;############ Bei Klick auf gewünschte Pausenlänge wird der dazugehörige <Sleep(...)> Befehl in die <BeepCode.bc> geschrieben.
    GUICtrlCreateListViewItem("Ganze Pause",$List) ;Um zu sehen was man für eine Pausenlänge gedrückt hat wird hier der jeweilige Eintrag in ein Listview gepackt.
    Case $msg = $halbepause
    FileWrite($fh, "Sleep(500)" & @CRLF) ;############
    GUICtrlCreateListViewItem("Halbe Pause",$List)
    Case $msg = $viertelpause
    FileWrite($fh, "Sleep(250)" & @CRLF) ;############
    GUICtrlCreateListViewItem("Viertel Pause",$List)
    Case $msg = $achtelpause
    FileWrite($fh, "Sleep(125)" & @CRLF) ;############
    GUICtrlCreateListViewItem("Achtel Pause",$List)
    Case $msg = $sechzentelpause
    FileWrite($fh, "Sleep(62)" & @CRLF) ;############
    GUICtrlCreateListViewItem("Sechzentel Pause",$List)
    Case $msg = $quit
    Exit
    Case $msg = $notenlistloeschen;Löscht nur die Liste mit den angeklickten Tonhöhen und den Notenlängen.
    _GUICtrlListViewDeleteAllItems($List)
    Case $msg = $incode ;Hier lässt sich eine <BeepCode.bc> in eine Beep Komposition umwandeln (eigentlich werden nur Namen und Dateiendung geändert, *.bk soll aber das Beep Komponist Dateiformat sein.)
    $NamederBeepKomposition = InputBox("Meldung", "Geben sie hier ihrer Komposition einen Namen:")
    Global $Codedat = @ScriptDir & "\Beep Komposition-" & $NamederBeepKomposition & ".bk"
    FileCopy($Datei, @ScriptDir & "\Beep Komposition-" & $NamederBeepKomposition & ".bk")
    _FileWriteToLine($Codedat, 0, ";Code erstellt durch Beep Komponist 1.6")
    Case $msg = $BKOloeschen ;Hier lässt sich eine Beep komponist Datei aus dessen Ordner löschen.
    $loeschDatei = FileOpenDialog("Eine Beep-Datei zum Löschen wählen:", @ScriptDir & "\B.KO.-DATA", "Beep Kompositionen (*.bk;*.bc)")
    If FileExists($loeschDatei) Then FileDelete($loeschDatei)
    Case $msg = $abspielen ;Hier wird die aktuell geöffnete <BeepCode.bc> abgespielt.
    $Abspielpfad = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    If FileExists($Abspielpfad) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $Abspielpfad & '"', '', @SW_HIDE);Wenn diese Datei existiert wird sie dann abgespielt.
    Case $msg = $dateiabspielen ;Hier lässt sich eine beliebige *.bc oder *.bk Datei abspielen.
    $abspieldatei = FileOpenDialog("Eine Beep komposition zum abspielen wählen:", @ScriptDir, "Beep Kompositionen (*.bk;*.bc)");Hier lassen sich beliebige *.bc (bearbeitete Codedateien) oder *.bk (fertige, schon umgewandelte Beep Kompositionen) abspielen.
    If FileExists($abspieldatei) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $abspieldatei & '"', '', @SW_HIDE)
    Case $msg = $neueBeepcodedatei;Hier kann man eine neue BeepCodeDatei erstellen + die alte löschen.
    $AlteCodeDatei = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    If FileExists($AlteCodeDatei) Then FileDelete($AlteCodeDatei)
    $Datei = @ScriptDir & "\B.KO.-DATA\BeepCode.bc"
    Case $msg = $anderecodedateiwahlen ;Hier kann man den Pfad zur aktuellen Code Datei ändern.
    ; ########### Wenn du $Datei hier einen anderen Wert zuweist, gilt das für deine _write() Funktion - ist das gewollt ?
    ;~ ########### $Datei = IniWrite($Codedateipfad, "File", "Path", $Pfad) ; geht so nicht, IniWrite gibt 0 oder 1 zurück, das wär dann in $Datei
    ;~ ########### Was soll hier passieren ? IniWrite - OK, aber welchen Wert soll $Datei bekommen ?
    ; $Datei soll hier einen neuen Pfad übergeben bekommen, sodass wenn man eine Note anklickt(z.B.) nun in die die neue Datei geschrieben wird, zu welcher der Pfad führt.
    $PfadzurCodeDatei = IniRead(@ScriptDir & "\B.KO.-DATA\BeepCodePfad.ini", "File", "Path", "Konnte nicht gefunden werden!")
    $Pfad = InputBox("Ini bearbeiten", "Hier können sie den aktuellen Pfad bearbeiten:", $PfadzurCodeDatei)
    $NeueCodeDatei = ""
    _FileReadToArray($Pfad, $NeueCodeDatei)
    If FileExists($Pfad) and $NeueCodeDatei = "" Then
    IniWrite($Codedateipfad, "File", "Path", $Pfad)
    FileClose($Datei)
    $Datei = $Pfad
    Fileopen($Datei, 1)
    Else
    MsgBox(16, "Error", "Die von ihnen angegebene Datei existiert nicht, und lässt sich so nicht bearbeiten!",4)
    EndIf
    ; Ich habe versucht es so zu lösen, nun habe ich aber das Problem das, selbst wenn es offensichtlich ist das If FileExists($Pfad) and $NeueCodeDatei = "" TURE sind immer in die Else Schleife gegangen wird!?
    Case $msg = $ueber
    MsgBox(64, "Über...", "Programm Name: Beep Komponist" & @CRLF & "Programm Version : 1.7" & @CRLF & @CRLF & "Autor: Vinschni")
    Case $msg = $GUI_EVENT_SECONDARYDOWN
    If GUICtrlRead($korrigieren) = $GUI_CHECKED Then _bearbeiten()
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd
    FileClose($fh) ; Datei schließen bei Programmende ############
    Exit

    Func _write($note) ;Funktion die beim Klicken auf eine Note gestartet wird. Sie legt zusätzlich zur gewählten Tonhöhe die mit den Radiobuttons festgelegte Tonlänge fest und schreibt beides in <Beep(...)> Befehl, und dann in die aktuell bearbeitete <BeepCode.bc> welchen Pfad in der <BeepCodePfad.ini> steht.
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",1000)" & @CRLF) ;############
    Beep($note, 1000)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",750)" & @CRLF) ;############
    Beep($note, 750)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",500)" & @CRLF) ;############
    Beep($note, 500)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",375)" & @CRLF) ;############
    Beep($note, 375)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",250)" & @CRLF) ;############
    Beep($note, 250)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",188)" & @CRLF) ;############
    Beep($note, 188)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",125)" & @CRLF) ;############
    Beep($note, 125)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",63)" & @CRLF) ;############
    Beep($note, 63)
    EndSelect
    EndFunc
    ; Was du mit $fh gemacht hast erscheint mir völlig logisch und ist auch richtig, ich verstehen jedoch nicht warum es vorher auch funktionier hat(Ich habe die alte Version ausprobiert und es wird auch in die Code-Datei geschrieben!?)(Gleicher Fall liegt oben bei den Pausen vor)

    Func _Listwrite($Note) ; Zweite Funktion die beim Klicken auf eine Note gestartet wird. Sie sorgt dafür das die angeklickte Note mit ihrem richtigem Namen und der Notenlänge (nicht den Zahlen für den Beep() Befehl) in das Listview geschrieben wird.
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Ganze Note",$List)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Halbe Note",$List)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Halbe Note",$List)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Viertel Note",$List)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Viertel Note",$List)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Punktierte Achtel Note",$List)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Achtel Note",$List)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    GUICtrlCreateListViewItem($Note & " , Sechzentel Note",$List)
    EndSelect
    EndFunc

    [/autoit]


    @th.meger

    Zitat

    Anstatt jeden Ctrl einzeln die Font zu setzen, kannst du auch den Standard setzen mit GUISetFont

    ??
    Wenn ich das mach wird doch alles dick formatiert, oder lieg ich da falsch?

    Vinschni

    PS: War ne Woche nicht da , so hats etwas länger gedauert.

    3 Mal editiert, zuletzt von Vinschni (25. Februar 2007 um 17:38)

    • Offizieller Beitrag

    Hi,

    probier es aus. Ich dachte du wolltest es ungefähr so:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;GUI
    $hauptfenster = GUICreate("Beep Komponist 1.7", 536, 398, 7, 8)
    GUISetBkColor(0xFFFFFF)
    $quit = GUICtrlCreateButton("Schließen", 354, 340, 118, 28)
    $GroupAbspielen = GUICtrlCreateGroup("Abspielen", 144, 256, 193, 113)
    $c1 = GUICtrlCreateButton("c'", 148, 46, 80, 20, 0)
    GUISetFont(8, 800, 0, "MS Sans Serif")
    $cis1 = GUICtrlCreateButton("cis'/des'", 148, 78, 80, 20, 0)
    ;GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis1 = GUICtrlCreateButton("dis'/es'", 148, 142, 80, 20, 0)
    ;GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e1 = GUICtrlCreateButton("e'", 148, 174, 80, 20, 0)
    ;GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f1 = GUICtrlCreateButton("f'", 148, 206, 80, 20, 0)
    ;GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g1 = GUICtrlCreateButton("g'", 244, 78, 80, 20, 0)
    ;GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis1 = GUICtrlCreateButton("gis'/as'", 244, 110, 80, 20, 0)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit]

    So long,

    Mega

  • @th.meger, ja aber da alles, was nicht fett "eingefärbt" werden soll nicht darunter stehen darf lass ich es lieber so, aber trotzdem danke.

    Ich hab den Beep Komponist noch einmal umgebaut (kann's einfach nicht lassen) , jetzt ist aus der GUI alles was mit Edit zutun hat raus, das muss ich leider vorrübergehend vergessen(solang der Rest nicht geht, vielleicht währe es auch besser das ganze in zwei scripts zu splitten, einmal zum komponieren und und den anderen zum editieren). Ich hab jetzt zur Vereinfachung ein Menü eingebaut und eine Möglichkeit das man "beepen" kann ohne das in die Beep-Code Datei geschrieben wird. Leider schriebt es garnichts in die Beep-Code Datei obwohl ich den Tip den mir Bugfix gegeben hat mit eingebaut hat. Kann sich das mal jemand anschauen? Währe euch sehr dankbar.

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <File.au3>
    #Include <GuiStatusBar.au3>
    #include <GuiListView.au3>
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    If Not FileExists(@MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & @MDAY & "." & @MON & "." & @YEAR) Then DirCreate(@MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & @MDAY & "." & @MON & "." & @YEAR)
    $dateiordnerdatum = @MDAY & "." & @MON & "." & @YEAR
    $Dateidateidatum = @HOUR & "." & @MIN
    $Datei = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Beep Code " & $Dateidateidatum & ".bc"

    [/autoit] [autoit][/autoit] [autoit]

    Dim $fh = FileOpen($Datei, 1)
    Local $hauptfenster, $StatusBar1, $msg
    Local $Lange[1] = [281]
    Local $Statusbartext[1] = ["GD: " & $Datei]

    [/autoit] [autoit][/autoit] [autoit]

    #Region Hauptfenster-Gui
    $hauptfenster = GUICreate("Beep Komponist 2.0", 467, 281, -1, -1)
    $Groupnotenlangen = GUICtrlCreateGroup("Notenlängen", 8, 8, 121, 233)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzenote = GUICtrlCreateRadio("Ganze Note", 16, 24, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $halbenote = GUICtrlCreateRadio("Halbe Note", 16, 72, 89, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $viertelnote = GUICtrlCreateRadio("Viertel Note", 16, 120, 89, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $achtelnote = GUICtrlCreateRadio("Achtel Note", 16, 168, 97, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $sechzentelnote = GUICtrlCreateRadio("Sechzentel Note", 16, 192, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteviertel = GUICtrlCreateRadio("Punktierte Viertel", 16, 96, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktiertehalbe = GUICtrlCreateRadio("Punktierte Halbe", 16, 48, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $punktierteachtelnote = GUICtrlCreateRadio("Punkierte Achtel", 16, 144, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $zweiundreisigstelnote = GUICtrlCreateRadio("32stel Note", 16, 216, 105, 17)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Statusbar1 = _GUICtrlStatusBarCreate($hauptfenster,$Lange,$Statusbartext)
    _GUICtrlStatusBarSetIcon($Statusbar1, 0, "shell32.dll", 70)
    $ToeneTab = GUICtrlCreateTab(136, 6, 193, 233)
    $ToeneTabSheet1 = GUICtrlCreateTabItem("Töne von c' - h'")
    $c1 = GUICtrlCreateButton("c'", 140, 38, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis1 = GUICtrlCreateButton("cis'/des'", 140, 70, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis1 = GUICtrlCreateButton("dis'/es'", 140, 134, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e1 = GUICtrlCreateButton("e'", 140, 166, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f1 = GUICtrlCreateButton("f'", 140, 198, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g1 = GUICtrlCreateButton("g'", 236, 70, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis1 = GUICtrlCreateButton("gis'/as'", 236, 102, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a1 = GUICtrlCreateButton("a'", 236, 134, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais1 = GUICtrlCreateButton("ais'/b'", 236, 166, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $h1 = GUICtrlCreateButton("h'", 236, 198, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d1 = GUICtrlCreateButton("d'", 140, 102, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis1 = GUICtrlCreateButton("fis'/ges'", 236, 38, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ToeneTabSheet2 = GUICtrlCreateTabItem("Töne von c'' - h''")
    $h2 = GUICtrlCreateButton("h''", 236, 198, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $ais2 = GUICtrlCreateButton("ais''/b''", 236, 166, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $a2 = GUICtrlCreateButton("a''", 236, 134, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $gis2 = GUICtrlCreateButton("gis''/as''", 236, 102, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $g2 = GUICtrlCreateButton("g''", 236, 70, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $c2 = GUICtrlCreateButton("c''", 140, 38, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $cis2 = GUICtrlCreateButton("cis''/des''", 140, 70, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $d2 = GUICtrlCreateButton("d''", 140, 102, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $dis2 = GUICtrlCreateButton("dis''/es''", 140, 134, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $e2 = GUICtrlCreateButton("e''", 140, 166, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $f2 = GUICtrlCreateButton("f''", 140, 198, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fis2 = GUICtrlCreateButton("fis''/ges''", 236, 38, 80, 20, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateTabItem("")
    $Group1 = GUICtrlCreateGroup("Modus", 336, 0, 121, 57)
    $testmodus = GUICtrlCreateCheckbox("Testmodus", 344, 16, 105, 17)
    $GroupPausen = GUICtrlCreateGroup("Pausen", 338, 61, 121, 177)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 346, 77, 105, 25, 0)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 346, 109, 105, 25, 0)
    $viertelpause = GUICtrlCreateButton("Viertel Pause", 346, 141, 105, 25, 0)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 346, 173, 105, 25, 0)
    $sechzentelpause = GUICtrlCreateButton("Sechzentel Pause", 346, 205, 105, 25, 0)
    $MenuDatei = GUICtrlCreateMenu("&Datei")
    $MenuItemNeu = GUICtrlCreateMenuItem("Neu", $MenuDatei)
    $MenuItemOffnen = GUICtrlCreateMenuItem("Öffnen", $MenuDatei)
    $MenuItemSpeichernunter = GUICtrlCreateMenuItem("Speichern unter...", $MenuDatei)
    $MenuItemExportalsBk = GUICtrlCreateMenuItem("Exportieren als *.bk", $MenuDatei)
    $MenuItemquit = GUICtrlCreateMenuItem("Beenden", $MenuDatei)
    $MenuAbspielen = GUICtrlCreateMenu("&Abspielen")
    $MenuItemaktuellesabspielen = GUICtrlCreateMenuItem("Aktuelles abspielen", $MenuAbspielen)
    $MenuItemsonstigesabspielen = GUICtrlCreateMenuItem("Andere *.bc oder *.bk abspielen", $MenuAbspielen)
    $MenuInfo = GUICtrlCreateMenu("&Info")
    $MenuItemUber = GUICtrlCreateMenuItem("Über...", $MenuInfo)
    GUISetState(@SW_SHOW)
    #EndRegion Hauptfenster-Gui

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $c1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(262)
    Else
    _write(262)
    _Listwrite("c'")
    EndIf
    Case $msg = $cis1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(277)
    Else
    _write(277)
    _Listwrite("cis'/des'")
    EndIf

    Case $msg = $d1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(293)
    Else
    _write(293)
    _Listwrite("d'")
    EndIf
    Case $msg = $dis1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(311)
    Else
    _write(311)
    _Listwrite("dis'/es'")
    EndIf
    Case $msg = $e1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(330)
    Else
    _write(330)
    _Listwrite("e'")
    EndIf
    Case $msg = $f1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(349)
    Else
    _write(349)
    _Listwrite("f'")
    EndIf
    Case $msg = $fis1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(370)
    Else
    _write(370)
    _Listwrite("fis'/ges'")
    EndIf
    Case $msg = $g1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(392)
    Else
    _write(392)
    _Listwrite("g'")
    EndIf

    Case $msg = $gis1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(415)
    Else
    _write(415)
    _Listwrite("gis'/as'")
    EndIf

    Case $msg = $a1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(440)
    Else
    _write(440)
    _Listwrite("a'")
    EndIf
    Case $msg = $ais1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(466)
    Else
    _write(466)
    _Listwrite("ais'/b'")
    EndIf
    Case $msg = $h1
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(493)
    Else
    _write(493)
    _Listwrite("h'")
    EndIf
    Case $msg = $c2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(523)
    Else
    _write(523)
    _Listwrite("c''")
    EndIf
    Case $msg = $cis2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(554)
    Else
    _write(554)
    _Listwrite("cis''/des''")
    EndIf
    Case $msg = $d2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(587)
    Else
    _write(587)
    _Listwrite("d''")
    EndIf
    Case $msg = $dis2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(622)
    Else
    _write(622)
    _Listwrite("dis''/es''")
    EndIf
    Case $msg = $e2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(659)
    Else
    _write(659)
    _Listwrite("e''")
    EndIf
    Case $msg = $f2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(698)
    Else
    _write(698)
    _Listwrite("f''")
    EndIf
    Case $msg = $fis2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(740)
    Else
    _write(740)
    _Listwrite("fis''/ges''")
    EndIf
    Case $msg = $g2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(784)
    Else
    _write(784)
    _Listwrite("g''")
    EndIf
    Case $msg = $gis2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(831)
    Else
    _write(831)
    _Listwrite("gis''/as''")
    EndIf
    Case $msg = $a2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(880)
    Else
    _write(880)
    _Listwrite("a''")
    EndIf
    Case $msg = $ais2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(932)
    Else
    _write(932)
    _Listwrite("ais''/b''")
    EndIf
    Case $msg = $h2
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    _writetest(988)
    Else
    _write(988)
    _Listwrite("h''")
    EndIf
    Case $msg = $ganzepause
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Else
    FileWrite($fh, "Sleep(1000)" & @CRLF)
    EndIf
    Case $msg = $halbepause
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Else
    FileWrite($fh, "Sleep(500)" & @CRLF)
    EndIf
    Case $msg = $viertelpause
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Else
    FileWrite($fh, "Sleep(250)" & @CRLF)
    EndIf
    Case $msg = $achtelpause
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Else
    FileWrite($fh, "Sleep(125)" & @CRLF)
    EndIf
    Case $msg = $sechzentelpause
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Else
    FileWrite($fh, "Sleep(62)" & @CRLF)
    EndIf
    Case $msg = $MenuItemNeu
    FileClose($fh)
    $dateiordnerdatum = @MDAY & "." & @MON & "." & @YEAR
    $Dateidateidatum = @HOUR & "." & @MIN
    $Datei = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Beep Code " & $Dateidateidatum & ".bc"
    Dim $fh = FileOpen($Datei, 1)

    Case $msg = $MenuItemOffnen
    FileClose($fh)
    $Datei = FileOpenDialog("Eine *.bc Datei öffnen:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bc)", 1+8)
    Dim $fh = FileOpen($Datei, 1)

    Case $msg = $MenuItemSpeichernunter
    $speicherort = FileSaveDialog("*.bc Datei speichern unter:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bc)", "Beep Code " & @HOUR & ":" & @MIN & ".bc")
    Dim $Dateiinhalt
    If Not _FileReadToArray($Datei,$Dateiinhalt) And _FileWriteFromArray($speicherort,$Dateiinhalt) Then
    MsgBox(4096,"Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndIf

    Case $msg = $MenuItemExportalsBk
    $speicherort = FileSaveDialog("Beep Komposition exportieren nach:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bk)",2, "Beep Komposition von " & @UserName & " am" & @MDAY & "." & @MON & "." & @YEAR& ".bk")
    Dim $Dateiinhalt
    If Not _FileReadToArray($Datei,$Dateiinhalt) And _FileWriteFromArray($speicherort,$Dateiinhalt) Then
    MsgBox(4096,"Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndIf

    Case $msg = $MenuItemquit
    Exit

    Case $msg = $MenuItemaktuellesabspielen
    If Not Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $Datei & '"', '', @SW_HIDE) Then
    MsgBox(4096,"Error", " ERROR: Fehler beim lesen der Beep Code-Datei!: " & @error)
    EndIf
    Case $msg = $MenuItemsonstigesabspielen
    $abspielDatei = FileOpenDialog("Bitte wählen sie hier die gewünschte Beep-Datei:", @DesktopCommonDir, "Beep Kompositionen (*.bk;*.bc)")
    If FileExists($abspielDatei) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $abspielDatei & '"', '', @SW_HIDE)

    Case $msg = $MenuItemUber
    MsgBox(64, "Über...", "Programm Name: Beep Komponist" & @CRLF & "Programm Version : 2.0" & @CRLF & @CRLF & "Autor: Vinschni")

    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _write($note)
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",2000)" & @CRLF)
    Beep($note, 2000)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",1500)" & @CRLF)
    Beep($note, 1500)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",1000)" & @CRLF)
    Beep($note, 1000)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",750)" & @CRLF)
    Beep($note, 750)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",500)" & @CRLF)
    Beep($note, 500)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",376)" & @CRLF)
    Beep($note, 376)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",250)" & @CRLF)
    Beep($note, 250)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",126)" & @CRLF)
    Beep($note, 126)
    Case GUICtrlRead($zweiundreisigstelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",63)" & @CRLF)
    Beep($note, 63)

    [/autoit] [autoit][/autoit] [autoit]

    EndSelect
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Listwrite($Note)
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    ;GUICtrlCreateListViewItem($Note & " , Ganze Note",$List)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    ;GUICtrlCreateListViewItem($Note & " , Punktierte Halbe Note",$List)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    ;GUICtrlCreateListViewItem($Note & " , Halbe Note",$List)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    ;GUICtrlCreateListViewItem($Note & " , Punktierte Viertel Note",$List)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    ;GUICtrlCreateListViewItem($Note & " , Viertel Note",$List)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    ;GUICtrlCreateListViewItem($Note & " , Punktierte Achtel Note",$List)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    ;GUICtrlCreateListViewItem($Note & " , Achtel Note",$List)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    ;GUICtrlCreateListViewItem($Note & " , Sechzentel Note",$List)
    EndSelect
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _writetest($note)
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    Beep($note, 1000)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    Beep($note, 750)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    Beep($note, 500)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    Beep($note, 375)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    Beep($note, 250)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    Beep($note, 188)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    Beep($note, 125)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    Beep($note, 63)
    EndSelect
    EndFunc

    [/autoit]


    Vinschni

  • :hammer:Du hast recht th.meger, ich hab den Code um 32% kürzen können, leider schreibt er immer noch nicht in die Dateien :weinen:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <File.au3>
    #Include <GuiStatusBar.au3>
    #include <GuiListView.au3>
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    If Not FileExists(@MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & @MDAY & "." & @MON & "." & @YEAR) Then DirCreate(@MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & @MDAY & "." & @MON & "." & @YEAR)
    $dateiordnerdatum = @MDAY & "." & @MON & "." & @YEAR
    $Dateidateidatum = @HOUR & "." & @MIN
    $Datei = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Beep Code " & $Dateidateidatum & ".bc"
    $Notentextdatei = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Notentext " & $Dateidateidatum & ".txt"
    Dim $fh = FileOpen($Datei, 1)
    Dim $fht = FileOpen($Notentextdatei, 1)
    Local $hauptfenster, $StatusBar1, $msg
    Local $Lange[1] = [281]
    Local $Statusbartext[1] = ["GD: " & $Datei]

    [/autoit] [autoit][/autoit] [autoit]

    #Region Hauptfenster-Gui
    GUISetBkColor(0xFFFFFF)
    $hauptfenster = GUICreate("Beep Komponist 2.0", 467, 281, -1, -1)
    $Groupnotenlangen = GUICtrlCreateGroup("Notenlängen", 8, 8, 121, 233)
    $ganzenote = GUICtrlCreateRadio("Ganze Note", 16, 24, 89, 17)
    $halbenote = GUICtrlCreateRadio("Halbe Note", 16, 72, 89, 17)
    $viertelnote = GUICtrlCreateRadio("Viertel Note", 16, 120, 89, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $achtelnote = GUICtrlCreateRadio("Achtel Note", 16, 168, 97, 17)
    $sechzentelnote = GUICtrlCreateRadio("Sechzentel Note", 16, 192, 105, 17)
    $punktierteviertel = GUICtrlCreateRadio("Punktierte Viertel", 16, 96, 105, 17)
    $punktiertehalbe = GUICtrlCreateRadio("Punktierte Halbe", 16, 48, 105, 17)
    $punktierteachtelnote = GUICtrlCreateRadio("Punkierte Achtel", 16, 144, 105, 17)
    $zweiundreisigstelnote = GUICtrlCreateRadio("32stel Note", 16, 216, 105, 17)
    $Statusbar1 = _GUICtrlStatusBarCreate($hauptfenster,$Lange,$Statusbartext)
    _GUICtrlStatusBarSetIcon($Statusbar1, 0, "shell32.dll", 70)
    $Group1 = GUICtrlCreateGroup("Modus", 336, 0, 121, 57)
    $testmodus = GUICtrlCreateCheckbox("Testmodus", 344, 16, 105, 17)
    $GroupPausen = GUICtrlCreateGroup("Pausen", 338, 61, 121, 177)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 346, 77, 105, 25, 0)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 346, 109, 105, 25, 0)
    $viertelpause = GUICtrlCreateButton("Viertel Pause", 346, 141, 105, 25, 0)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 346, 173, 105, 25, 0)
    $sechzentelpause = GUICtrlCreateButton("Sechzentel Pause", 346, 205, 105, 25, 0)
    $MenuDatei = GUICtrlCreateMenu("&Datei")
    $MenuItemNeu = GUICtrlCreateMenuItem("Neu", $MenuDatei)
    $MenuItemOffnen = GUICtrlCreateMenuItem("Öffnen", $MenuDatei)
    $MenuItemSpeichernunter = GUICtrlCreateMenuItem("Speichern unter...", $MenuDatei)
    $MenuItemExportalsBk = GUICtrlCreateMenuItem("Exportieren als *.bk", $MenuDatei)
    $MenuItemquit = GUICtrlCreateMenuItem("Beenden", $MenuDatei)
    $MenuAbspielen = GUICtrlCreateMenu("&Abspielen")
    $MenuItemaktuellesabspielen = GUICtrlCreateMenuItem("Aktuelles abspielen", $MenuAbspielen)
    $MenuItemsonstigesabspielen = GUICtrlCreateMenuItem("Andere *.bc oder *.bk abspielen", $MenuAbspielen)
    $MenuInfo = GUICtrlCreateMenu("&Info")
    $MenuItemUber = GUICtrlCreateMenuItem("Über...", $MenuInfo)
    $ToeneTab = GUICtrlCreateTab(136, 6, 193, 233)
    $ToeneTabSheet1 = GUICtrlCreateTabItem("Töne von c' - h'")
    GUISetFont(-1,800,0, "MS Sans Serif")
    $c1 = GUICtrlCreateButton("c'", 140, 38, 80, 20, 0)
    $cis1 = GUICtrlCreateButton("cis'/des'", 140, 70, 80, 20, 0)
    $dis1 = GUICtrlCreateButton("dis'/es'", 140, 134, 80, 20, 0)
    $e1 = GUICtrlCreateButton("e'", 140, 166, 80, 20, 0)
    $f1 = GUICtrlCreateButton("f'", 140, 198, 80, 20, 0)
    $g1 = GUICtrlCreateButton("g'", 236, 70, 80, 20, 0)
    $gis1 = GUICtrlCreateButton("gis'/as'", 236, 102, 80, 20, 0)
    $a1 = GUICtrlCreateButton("a'", 236, 134, 80, 20, 0)
    $ais1 = GUICtrlCreateButton("ais'/b'", 236, 166, 80, 20, 0)
    $h1 = GUICtrlCreateButton("h'", 236, 198, 80, 20, 0)
    $d1 = GUICtrlCreateButton("d'", 140, 102, 80, 20, 0)
    $fis1 = GUICtrlCreateButton("fis'/ges'", 236, 38, 80, 20, 0)
    $ToeneTabSheet2 = GUICtrlCreateTabItem("Töne von c'' - h''")
    $h2 = GUICtrlCreateButton("h''", 236, 198, 80, 20, 0)
    $ais2 = GUICtrlCreateButton("ais''/b''", 236, 166, 80, 20, 0)
    $a2 = GUICtrlCreateButton("a''", 236, 134, 80, 20, 0)
    $gis2 = GUICtrlCreateButton("gis''/as''", 236, 102, 80, 20, 0)
    $g2 = GUICtrlCreateButton("g''", 236, 70, 80, 20, 0)
    $c2 = GUICtrlCreateButton("c''", 140, 38, 80, 20, 0)
    $cis2 = GUICtrlCreateButton("cis''/des''", 140, 70, 80, 20, 0)
    $d2 = GUICtrlCreateButton("d''", 140, 102, 80, 20, 0)
    $dis2 = GUICtrlCreateButton("dis''/es''", 140, 134, 80, 20, 0)
    $e2 = GUICtrlCreateButton("e''", 140, 166, 80, 20, 0)
    $f2 = GUICtrlCreateButton("f''", 140, 198, 80, 20, 0)
    $fis2 = GUICtrlCreateButton("fis''/ges''", 236, 38, 80, 20, 0)
    GUISetState(@SW_SHOW)
    #EndRegion Hauptfenster-Gui

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $c1
    _write(262,"c'")
    Case $msg = $cis1
    _write(277,"cis'/des'")
    Case $msg = $d1
    _write(293,"d'")
    Case $msg = $dis1
    _write(311,"dis'/es'")
    Case $msg = $e1
    _write(330,"e'")
    Case $msg = $f1
    _write(349,"f'")
    Case $msg = $fis1
    _write(370,"fis'/ges'")
    Case $msg = $g1
    _write(392,"g'")
    Case $msg = $gis1
    _write(415,"gis'/as'")
    Case $msg = $a1
    _write(440,"a'")
    Case $msg = $ais1
    _write(466,"ais'/b'")
    Case $msg = $h1
    _write(493,"h'")
    Case $msg = $c2
    _write(523,"c''")
    Case $msg = $cis2
    _write(554,"cis''/des''")
    Case $msg = $d2
    _write(587,"d''")
    Case $msg = $dis2
    _write(622,"dis''/es''")
    Case $msg = $e2
    _write(659,"e''")
    Case $msg = $f2
    _write(698,"f''")
    Case $msg = $fis2
    _write(740,"fis''/ges''")
    Case $msg = $g2
    _write(784,"g''")
    Case $msg = $gis2
    _write(831,"gis''/as''")
    Case $msg = $a2
    _write(880,"a''")
    Case $msg = $ais2
    _write(932,"ais''/b''")
    Case $msg = $h2
    _write(988,"h''")
    Case $msg = $ganzepause
    FileWrite($fh, "Sleep(1000)" & @CRLF)
    Case $msg = $halbepause
    FileWrite($fh, "Sleep(500)" & @CRLF)
    Case $msg = $viertelpause
    FileWrite($fh, "Sleep(250)" & @CRLF)
    Case $msg = $achtelpause
    FileWrite($fh, "Sleep(125)" & @CRLF)
    Case $msg = $sechzentelpause
    FileWrite($fh, "Sleep(62)" & @CRLF)
    Case $msg = $MenuItemNeu
    FileClose($fh)
    $dateiordnerdatum = @MDAY & "." & @MON & "." & @YEAR
    $Dateidateidatum = @HOUR & "." & @MIN
    $Datei = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Beep Code " & $Dateidateidatum & ".bc"
    Dim $fh = FileOpen($Datei, 1)
    Case $msg = $MenuItemOffnen
    FileClose($fh)
    $Datei = FileOpenDialog("Eine *.bc Datei öffnen:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bc)", 1+8)
    Dim $fh = FileOpen($Datei, 1)
    Case $msg = $MenuItemSpeichernunter
    $speicherort = FileSaveDialog("*.bc Datei speichern unter:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bc)", "Beep Code " & @HOUR & ":" & @MIN & ".bc")
    Dim $Dateiinhalt
    If Not _FileReadToArray($Datei,$Dateiinhalt) And _FileWriteFromArray($speicherort,$Dateiinhalt) Then
    MsgBox(4096,"Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndIf
    Case $msg = $MenuItemExportalsBk
    $speicherort = FileSaveDialog("Beep Komposition exportieren nach:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bk)",2, "Beep Komposition von " & @UserName & " am" & @MDAY & "." & @MON & "." & @YEAR& ".bk")
    Dim $Dateiinhalt
    If Not _FileReadToArray($Datei,$Dateiinhalt) And _FileWriteFromArray($speicherort,$Dateiinhalt) Then
    MsgBox(4096,"Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndIf
    Case $msg = $MenuItemquit
    Exit
    Case $msg = $MenuItemaktuellesabspielen
    If Not Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $Datei & '"', '', @SW_HIDE) Then
    MsgBox(4096,"Error", " ERROR: Fehler beim lesen der Beep Code-Datei!: " & @error)
    EndIf
    Case $msg = $MenuItemsonstigesabspielen
    $abspielDatei = FileOpenDialog("Bitte wählen sie hier die gewünschte Beep-Datei:", @DesktopCommonDir, "Beep Kompositionen (*.bk;*.bc)")
    If FileExists($abspielDatei) Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $abspielDatei & '"', '', @SW_HIDE)
    Case $msg = $MenuItemUber
    MsgBox(64, "Über...", "Programm Name: Beep Komponist" & @CRLF & "Programm Version : 2.0" & @CRLF & @CRLF & "Autor: Vinschni")
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _write($note,$NotealsText)
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    Beep($note, 1000)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    Beep($note, 750)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    Beep($note, 500)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    Beep($note, 375)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    Beep($note, 250)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    Beep($note, 188)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    Beep($note, 125)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    Beep($note, 63)
    EndSelect
    Else
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",2000)" & @CRLF)
    Beep($note, 2000)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",1500)" & @CRLF)
    Beep($note, 1500)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",1000)" & @CRLF)
    Beep($note, 1000)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",750)" & @CRLF)
    Beep($note, 750)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",500)" & @CRLF)
    Beep($note, 500)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",376)" & @CRLF)
    Beep($note, 376)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",250)" & @CRLF)
    Beep($note, 250)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",126)" & @CRLF)
    Beep($note, 126)
    Case GUICtrlRead($zweiundreisigstelnote) = $GUI_CHECKED
    FileWrite($fh, "Beep(" & $note & ",63)" & @CRLF)
    Beep($note, 63)
    EndSelect
    EndIf
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Else
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($fht,$NotealsText & ", Ganze Note" & @CRLF)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($fht,$NotealsText & ", Punktierte Halbe Note" & @CRLF)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($fht,$NotealsText & ", Halbe Note" & @CRLF)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($fht,$NotealsText & ", Punktierte Viertel Note" & @CRLF)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($fht,$NotealsText & ", Viertel Note" & @CRLF)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($fht,$NotealsText & ", Punktierte Achtel Note" & @CRLF)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($fht,$NotealsText & ", Achtel Note" & @CRLF)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($fht,$NotealsText & ", Sechzentel Note" & @CRLF)
    EndSelect
    EndIf
    EndFunc

    [/autoit]

    EDIT: Seitdem ich den Code gekürzt habe schreibt der Script in die Dateien, aber erst nachdem er beendet wird sind die Änderungen in den Dateien sichtbar. Weiß jemand woran das liegen könnte?
    Vinschni

    Einmal editiert, zuletzt von Vinschni (18. März 2007 um 10:28)

  • Hab das Problem gelöst, Fileopen hat alles gesammelt was während des öffnens der Datei geschrieben wurde und erst hineingeschrieben wenn die Datei geschlossen wurde.

    Ich möchte das Abspielen der Datei nun unabhänig von der im Script eingebundenen AutoIt.exe machen. Darum hab ich die Schreibweise geändert.

    Code
    |262,500 |293,500 |330,500 |392,500 |440,500 |392,500 |440,500 |440,1000 |466,1000 |330,1000 |293,1000 |262,2000 |262,500 |293,500 |330,500 |392,500 |440,500 |392,500 |440,500 |440,1000 |466,1000 |


    Wie kann ich Dateien, die immer so aufgebaut sind mit einer Schleife so durchlaufen, das immer das was zwischen "|" und "|" steht aufgetrennt und in den Beep(...,...) Befehl eingesetzt wird? Ich krieg das mit den Arrays einfach nicht hin.

    EDIT
    Jupee, habs doch noch geschaft(nach einer mittleren Arrayschlacht)

    Spoiler anzeigen
    [autoit]

    Func Abspielen($anderesabspielen)
    Dim $fhinarray
    If $anderesabspielen = 1 Then
    $abspielDatei = FileOpenDialog("Bitte wählen sie hier die gewünschte Beep-Datei:", @DesktopCommonDir, "Beep Kompositionen (*.bk;*.bc)")
    If Not _FileReadToArray($abspielDatei,$fhinarray) Then
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndIf
    Else
    If Not _FileReadToArray($fh,$fhinarray) Then
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndIf
    EndIf
    For $x = 1 to $fhinarray[0]
    $a = StringSplit($fhinarray[1],"|")
    Next
    $b = 2
    While $b <= $a[0]
    If StringIsAlpha($a[$b]) = 1 Then
    Select
    Case $a[$b] = "G"
    Sleep(1000)
    Case $a[$b] = "H"
    Sleep(500)
    Case $a[$b] = "V"
    Sleep(250)
    Case $a[$b] = "A"
    Sleep(125)
    Case $a[$b] = "S"
    Sleep(63)
    EndSelect
    $b = $b + 1
    EndIf
    $c = StringSplit($a[$b], ",")
    Beep($c[1], $c[2])

    $b = $b + 1
    WEnd
    $anderesabspielen = 0
    EndFunc

    [/autoit]


    Grüße Vinschni

    Einmal editiert, zuletzt von Vinschni (1. April 2007 um 15:37)

  • Hi zusammen, ich hab den Beep Komponist generalüberholt, er hat jetzt ein eigenes Dateischreibsystem, eine Statusleiste und ein Menü mit mehr Sachen drin. Mich würd interessieren was für Funktionen eurer Meinung noch fehlen. Vielleicht kann auch jemand mal ein paar Liedchen machen und sie hier posten. :)

    Script:

    Spoiler anzeigen
    [autoit]

    #cs
    AutoIt Version: 3.2.3.0 (beta)
    Autor: Vinschni
    Script Funktion:
    Zum Erstellen und Bearbeiten von Beep-Tönchen Reihen.
    #ce
    #include <GuiConstants.au3>
    #include <File.au3>
    #include <GuiListView.au3>
    #Include <GuiStatusBar.au3>
    #Include <GuiStatusBar.au3>
    #Include <Array.au3>
    #Include <GuiTab.au3>
    #Include <Misc.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("^z", "Rueckgaengig")
    If Not FileExists(@MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & @MDAY & "." & @MON & "." & @YEAR) Then DirCreate(@MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & @MDAY & "." & @MON & "." & @YEAR)
    $dateiordnerdatum = @MDAY & "." & @MON & "." & @YEAR
    $Dateidateidatum = @HOUR & "." & @MIN & "." & @SEC
    Global $fh = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Beep Code " & $Dateidateidatum & ".bc"
    Global $fht = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Notentext " & $Dateidateidatum & ".txt"
    Global $fhl = @TempDir & "\Länge " & $Dateidateidatum & ".tmp"
    $zeilenanzahl = 0

    [/autoit] [autoit][/autoit] [autoit]

    Global $hauptfenster, $StatusBar1, $msg
    Local $a_PartsRightEdge[3] = [90, 330, -1]
    Local $a_PartsText[3] = [$Dateidateidatum & ".bc ", "LeN: ", ""]

    [/autoit] [autoit][/autoit] [autoit]

    #Region Hauptfenster-Gui
    $hauptfenster = GUICreate("Beep Komponist 2.1.0 ", 467, 290, -1, -1)
    GUISetBkColor(0xFFFFFF)
    $StatusBar1 = _GUICtrlStatusBarCreate($hauptfenster, $a_PartsRightEdge, $a_PartsText)
    _GUICtrlStatusBarSetIcon($StatusBar1, 0, "shell32.dll", 70)
    _GUICtrlStatusBarSetIcon($StatusBar1, 1, "shell32.dll", 168)
    $Fortschritt = _GUICtrlStatusBarCreateProgress($StatusBar1, 2, $PBS_SMOOTH)
    $Groupnotenlangen = GUICtrlCreateGroup("Notenlängen", 8, 8, 121, 233)
    $ganzenote = GUICtrlCreateRadio("Ganze Note", 16, 24, 89, 17)
    $halbenote = GUICtrlCreateRadio("Halbe Note", 16, 72, 89, 17)
    $viertelnote = GUICtrlCreateRadio("Viertel Note", 16, 120, 89, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $achtelnote = GUICtrlCreateRadio("Achtel Note", 16, 168, 97, 17)
    $sechzentelnote = GUICtrlCreateRadio("Sechzentel Note", 16, 192, 105, 17)
    $punktierteviertel = GUICtrlCreateRadio("Punktierte Viertel", 16, 96, 105, 17)
    $punktiertehalbe = GUICtrlCreateRadio("Punktierte Halbe", 16, 48, 105, 17)
    $punktierteachtelnote = GUICtrlCreateRadio("Punkierte Achtel", 16, 144, 105, 17)
    $zweiundreisigstelnote = GUICtrlCreateRadio("32stel Note", 16, 216, 105, 17)
    $Group1 = GUICtrlCreateGroup("Modus", 336, 0, 121, 57)
    $testmodus = GUICtrlCreateCheckbox("Testmodus", 344, 16, 105, 17)
    $halbelangemodus = GUICtrlCreateCheckbox(" 50% Notenlänge ", 344, 35, 105, 17)
    $GroupPausen = GUICtrlCreateGroup("Pausen", 338, 61, 121, 177)
    $ganzepause = GUICtrlCreateButton("Ganze Pause", 346, 77, 105, 25, 0)
    $halbepause = GUICtrlCreateButton("Halbe Pause", 346, 109, 105, 25, 0)
    $viertelpause = GUICtrlCreateButton("Viertel Pause", 346, 141, 105, 25, 0)
    $achtelpause = GUICtrlCreateButton("Achtel Pause", 346, 173, 105, 25, 0)
    $sechzentelpause = GUICtrlCreateButton("Sechzentel Pause", 346, 205, 105, 25, 0)
    $MenuDatei = GUICtrlCreateMenu("&Datei")
    $MenuItemNeu = GUICtrlCreateMenuitem("Neu", $MenuDatei)
    $Teilstrich3 = GUICtrlCreateMenuitem ("",$MenuDatei,1)
    $MenuItemOffnen = GUICtrlCreateMenuitem("Öffnen", $MenuDatei)
    $MenuItemSpeichernunter = GUICtrlCreateMenuitem("Speichern unter...", $MenuDatei)
    $MenuItemExportalsBk = GUICtrlCreateMenuitem("Exportieren als *.bk", $MenuDatei)
    $Teilstrich1 = GUICtrlCreateMenuitem ("",$MenuDatei,5)
    $MenuItemquit = GUICtrlCreateMenuitem("Beenden", $MenuDatei)
    $MenuBearbeiten = GUICtrlCreateMenu("&Bearbeiten")
    $MenuItemRueckgaenig = GUICtrlCreateMenuitem("Rückgänig STRG+Z", $MenuBearbeiten)
    $Teilstrich3 = GUICtrlCreateMenuitem ("",$MenuBearbeiten,1)
    $MenuItemAllesLoeschen = GUICtrlCreateMenuitem("Alles löschen", $MenuBearbeiten)
    $MenuAnsicht = GUICtrlCreateMenu("&Ansicht")
    $MenuItemstatussichtbar = GUICtrlCreateMenuitem("Statusleiste", $MenuAnsicht)
    GUICtrlSetState(-1,$GUI_CHECKED)
    $MenuAbspielen = GUICtrlCreateMenu("&Abspielen")
    $MenuItemabspielen = GUICtrlCreateMenuitem("Aktuelles abspielen", $MenuAbspielen)
    $MenuItemsonstigesabspielen = GUICtrlCreateMenuitem("Andere *.bc oder *.bk abspielen", $MenuAbspielen)
    $MenuItemalteVersAbspielen = GUICtrlCreateMenuitem("Eine Beep-Datei früherer BK Vers. abspielen", $MenuAbspielen)
    $MenuTools = GUICtrlCreateMenu("&Tools")
    $MenuItemBeepaktivdeaktiv = GUICtrlCreateMenuitem("Beep aktiviert/deaktiviert", $MenuTools)
    $MenuItemBeepOrdneroeffnen = GUICtrlCreateMenuitem("Projekte Ordner öffnen", $MenuTools)
    $MenuItemNotentextoCilp = GUICtrlCreateMenuitem("Notentext-Datei in Zwischenablage kopieren", $MenuTools)
    $MenuInfo = GUICtrlCreateMenu("&Info")
    $MenuItemHilfe = GUICtrlCreateMenuitem("Hilfe", $MenuInfo)
    $MenuItemUber = GUICtrlCreateMenuitem("Über...", $MenuInfo)
    $Teilstrich2 = GUICtrlCreateMenuitem ("",$MenuInfo,1)
    $MenuItemVersHinweis = GUICtrlCreateMenuitem("Vers. Hinweis", $MenuInfo)
    $ToeneTab = GUICtrlCreateTab(136, 6, 193, 233)
    $ToeneTabSheet0 = GUICtrlCreateTabItem("c - h ")
    GUISetFont(-1, 800, 0, "MS Sans Serif")
    $c0 = GUICtrlCreateButton("c", 140, 38, 80, 20, 0)
    $cis0 = GUICtrlCreateButton("cis/des", 140, 70, 80, 20, 0)
    $dis0 = GUICtrlCreateButton("dis/es", 140, 134, 80, 20, 0)
    $e0 = GUICtrlCreateButton("e", 140, 166, 80, 20, 0)
    $f0 = GUICtrlCreateButton("f", 140, 198, 80, 20, 0)
    $g0 = GUICtrlCreateButton("g", 236, 70, 80, 20, 0)
    $gis0 = GUICtrlCreateButton("gis/as", 236, 102, 80, 20, 0)
    $a0 = GUICtrlCreateButton("a", 236, 134, 80, 20, 0)
    $ais0 = GUICtrlCreateButton("ais/b", 236, 166, 80, 20, 0)
    $h0 = GUICtrlCreateButton("h", 236, 198, 80, 20, 0)
    $d0 = GUICtrlCreateButton("d", 140, 102, 80, 20, 0)
    $fis0 = GUICtrlCreateButton("fis/ges", 236, 38, 80, 20, 0)
    $ToeneTabSheet1 = GUICtrlCreateTabItem("c' - h'")
    $c1 = GUICtrlCreateButton("c'", 140, 38, 80, 20, 0)
    $cis1 = GUICtrlCreateButton("cis'/des'", 140, 70, 80, 20, 0)
    $dis1 = GUICtrlCreateButton("dis'/es'", 140, 134, 80, 20, 0)
    $e1 = GUICtrlCreateButton("e'", 140, 166, 80, 20, 0)
    $f1 = GUICtrlCreateButton("f'", 140, 198, 80, 20, 0)
    $g1 = GUICtrlCreateButton("g'", 236, 70, 80, 20, 0)
    $gis1 = GUICtrlCreateButton("gis'/as'", 236, 102, 80, 20, 0)
    $a1 = GUICtrlCreateButton("a'", 236, 134, 80, 20, 0)
    $ais1 = GUICtrlCreateButton("ais'/b'", 236, 166, 80, 20, 0)
    $h1 = GUICtrlCreateButton("h'", 236, 198, 80, 20, 0)
    $d1 = GUICtrlCreateButton("d'", 140, 102, 80, 20, 0)
    $fis1 = GUICtrlCreateButton("fis'/ges'", 236, 38, 80, 20, 0)
    $ToeneTabSheet2 = GUICtrlCreateTabItem("c'' - h''")
    $h2 = GUICtrlCreateButton("h''", 236, 198, 80, 20, 0)
    $ais2 = GUICtrlCreateButton("ais''/b''", 236, 166, 80, 20, 0)
    $a2 = GUICtrlCreateButton("a''", 236, 134, 80, 20, 0)
    $gis2 = GUICtrlCreateButton("gis''/as''", 236, 102, 80, 20, 0)
    $g2 = GUICtrlCreateButton("g''", 236, 70, 80, 20, 0)
    $c2 = GUICtrlCreateButton("c''", 140, 38, 80, 20, 0)
    $cis2 = GUICtrlCreateButton("cis''/des''", 140, 70, 80, 20, 0)
    $d2 = GUICtrlCreateButton("d''", 140, 102, 80, 20, 0)
    $dis2 = GUICtrlCreateButton("dis''/es''", 140, 134, 80, 20, 0)
    $e2 = GUICtrlCreateButton("e''", 140, 166, 80, 20, 0)
    $f2 = GUICtrlCreateButton("f''", 140, 198, 80, 20, 0)
    $fis2 = GUICtrlCreateButton("fis''/ges''", 236, 38, 80, 20, 0)
    $ToeneTabSheet3 = GUICtrlCreateTabItem("c''' - h'''")
    $h3 = GUICtrlCreateButton("h'''", 236, 198, 80, 20, 0)
    $ais3 = GUICtrlCreateButton("ais'''/b'''", 236, 166, 80, 20, 0)
    $a3 = GUICtrlCreateButton("a'''", 236, 134, 80, 20, 0)
    $gis3 = GUICtrlCreateButton("gis'''/as'''", 236, 102, 80, 20, 0)
    $g3 = GUICtrlCreateButton("g'''", 236, 70, 80, 20, 0)
    $c3 = GUICtrlCreateButton("c'''", 140, 38, 80, 20, 0)
    $cis3 = GUICtrlCreateButton("cis'''/des'''", 140, 70, 80, 20, 0)
    $d3 = GUICtrlCreateButton("d'''", 140, 102, 80, 20, 0)
    $dis3 = GUICtrlCreateButton("dis'''/es'''", 140, 134, 80, 20, 0)
    $e3 = GUICtrlCreateButton("e'''", 140, 166, 80, 20, 0)
    $f3 = GUICtrlCreateButton("f'''", 140, 198, 80, 20, 0)
    $fis3 = GUICtrlCreateButton("fis'''/ges'''", 236, 38, 80, 20, 0)
    _GUICtrlStatusBarResize($StatusBar1)
    GUISetState(@SW_SHOW)
    #EndRegion Hauptfenster-Gui

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $c0
    _write(130, "c klein")
    Case $msg = $cis0
    _write(138, "cis klein/des klein")
    Case $msg = $d0
    _write(146, "d klein")
    Case $msg = $dis0
    _write(155, "dis klein/es klein")
    Case $msg = $e0
    _write(164, "e klein")
    Case $msg = $f0
    _write(174, "f klein")
    Case $msg = $fis0
    _write(184, "fis klein/ges klein")
    Case $msg = $g0
    _write(195, "g klein")
    Case $msg = $gis0
    _write(207, "gis klein/as klein")
    Case $msg = $a0
    _write(220, "a klein")
    Case $msg = $ais0
    _write(233, "ais klein/b klein")
    Case $msg = $h0
    _write(246, "h klein")
    Case $msg = $c1
    _write(262, "c'")
    Case $msg = $cis1
    _write(277, "cis'/des'")
    Case $msg = $d1
    _write(293, "d'")
    Case $msg = $dis1
    _write(311, "dis'/es'")
    Case $msg = $e1
    _write(330, "e'")
    Case $msg = $f1
    _write(349, "f'")
    Case $msg = $fis1
    _write(370, "fis'/ges'")
    Case $msg = $g1
    _write(392, "g'")
    Case $msg = $gis1
    _write(415, "gis'/as'")
    Case $msg = $a1
    _write(440, "a'")
    Case $msg = $ais1
    _write(466, "ais'/b'")
    Case $msg = $h1
    _write(493, "h'")
    Case $msg = $c2
    _write(523, "c''")
    Case $msg = $cis2
    _write(554, "cis''/des''")
    Case $msg = $d2
    _write(587, "d''")
    Case $msg = $dis2
    _write(622, "dis''/es''")
    Case $msg = $e2
    _write(659, "e''")
    Case $msg = $f2
    _write(698, "f''")
    Case $msg = $fis2
    _write(740, "fis''/ges''")
    Case $msg = $g2
    _write(784, "g''")
    Case $msg = $gis2
    _write(831, "gis''/as''")
    Case $msg = $a2
    _write(880, "a''")
    Case $msg = $ais2
    _write(932, "ais''/b''")
    Case $msg = $h2
    _write(988, "h''")
    Case $msg = $c3
    _write(1046, "c''")
    Case $msg = $cis3
    _write(1108, "cis'''/des'''")
    Case $msg = $d3
    _write(1174, "d'''")
    Case $msg = $dis3
    _write(1244, "dis'''/es'''")
    Case $msg = $e3
    _write(1318, "e'''")
    Case $msg = $f3
    _write(1396, "f'''")
    Case $msg = $fis3
    _write(1479, "fis'''/ges'''")
    Case $msg = $g3
    _write(1567, "g'''")
    Case $msg = $gis3
    _write(1661, "gis'''/as'''")
    Case $msg = $a3
    _write(1760, "a'''")
    Case $msg = $ais3
    _write(1864, "ais'''/b'''")
    Case $msg = $h3
    _write(1975, "h'''")
    Case $msg = $ganzepause
    FileWrite($fh, "|G")
    FileWrite($fht, "Ganze Pause" & @CRLF)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: Ganze Pause", 1)
    Case $msg = $halbepause
    FileWrite($fh, "|H")
    FileWrite($fht, "Halbe Pause" & @CRLF)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: Halbe Pause", 1)
    Case $msg = $viertelpause
    FileWrite($fh, "|V")
    FileWrite($fht, "Viertel Pause" & @CRLF)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: Viertel Pause", 1)
    Case $msg = $achtelpause
    FileWrite($fh, "|A")
    FileWrite($fht, "Achtel Pause" & @CRLF)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: Achtel Pause", 1)
    Case $msg = $sechzentelpause
    FileWrite($fh, "|S")
    FileWrite($fht, "Sechzentel Pause" & @CRLF)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: Sechzentel Pause", 1)
    Case $msg = $MenuItemNeu
    FileClose($fh)
    FileDelete($fhl)
    $dateiordnerdatum = @MDAY & "." & @MON & "." & @YEAR
    $Dateidateidatum = @HOUR & "." & @MIN & "." & @SEC
    Global $fh = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Beep Code " & $Dateidateidatum & ".bc"
    Global $fht = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Notentext " & $Dateidateidatum & ".txt"
    Global $fhl = @TempDir & "\Länge " & $Dateidateidatum & ".tmp"
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: ", 1)
    _GUICtrlStatusBarSetText($StatusBar1, $Dateidateidatum & ".bc ",0)
    Case $msg = $MenuItemOffnen
    FileClose($fh)
    $fh = FileOpenDialog("Eine *.bc Datei öffnen:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bc)", 1 + 8)
    FileClose($fh)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: ", 1)
    Case $msg = $MenuItemSpeichernunter
    $speicherort = FileSaveDialog("*.bc Datei speichern unter:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bc)", "Beep Code " & @HOUR & ":" & @MIN & ".bc")
    Dim $Dateiinhalt
    If Not FileCopy($fh, $speicherort) Then
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Einlesen oder Speichern der Beep Code-Datei!")
    EndIf
    Case $msg = $MenuItemExportalsBk
    $speicherort = FileSaveDialog("Beep Komposition exportieren nach:", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\", "Beep Kompositionen (*.bk)", 2, "Beep Komposition von " & @UserName & " am" & @MDAY & "." & @MON & "." & @YEAR & ".bk")
    If Not FileCopy($fh, $speicherort, 1 + 8) Then
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Einlesen oder Exportieren der Beep Code-Datei!")
    EndIf
    Case $msg = $MenuItemquit
    Exit
    Case $msg = $MenuItemsonstigesabspielen
    Abspielen(1)
    Case $msg = $MenuItemabspielen
    Abspielen(0)
    Case $msg =$MenuItemalteVersAbspielen
    $abspielDatei = FileOpenDialog("Bitte wählen sie hier die gewünschte Beep-Datei:", @DesktopCommonDir, "Beep Kompositionen (*.bk;*.bc)")
    If FileExists($abspielDatei) Then
    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $abspielDatei & '"', '', @SW_HIDE)
    Else
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Lesen der Beep Code-Datei!: " & @error)
    EndIf
    Case $msg = $MenuItemRueckgaenig
    Rueckgaengig()
    Case $msg = $MenuItemAllesLoeschen
    If Not FileExists($fh) and FileExists($fhl) Then
    MsgBox(8192 + 16, "Error", " ERROR: Was es nicht gibt kann man nicht löschen! Logisch, oder?")
    Else
    FileDelete($fh)
    FileDelete($fht)
    FileDelete($fhl)
    FileClose($fh)
    FileDelete($fhl)
    $dateiordnerdatum = @MDAY & "." & @MON & "." & @YEAR
    $Dateidateidatum = @HOUR & "." & @MIN & "." & @SEC
    Global $fh = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Beep Code " & $Dateidateidatum & ".bc"
    Global $fht = @MyDocumentsDir & "\Eigene Beep Komponist Projekte\" & $dateiordnerdatum & "\Notentext " & $Dateidateidatum & ".txt"
    Global $fhl = @TempDir & "\Länge " & $Dateidateidatum & ".tmp"
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: ", 1)
    _GUICtrlStatusBarSetText($StatusBar1, $Dateidateidatum & ".bc ",0)
    EndIf
    Case $msg = $MenuItemstatussichtbar
    If BitAnd(GUICtrlRead($MenuItemstatussichtbar),$GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($MenuItemstatussichtbar,$GUI_UNCHECKED)
    _GuiCtrlStatusBarShowHide($StatusBar1, @SW_HIDE)
    Else
    GUICtrlSetState($MenuItemstatussichtbar,$GUI_CHECKED)
    _GuiCtrlStatusBarShowHide($StatusBar1, @SW_SHOW)
    EndIf
    Case $msg = $MenuItemBeepaktivdeaktiv
    If RegRead("HKEY_CURRENT_USER\Control Panel\Sound", "Beep") = "yes" Then
    If MsgBox(8192 + 4, "Beep-Töne aktivieren/deaktivieren", "Auf diesem PC sind Beep-Töne aktiviert. Möchten sie Beep-Töne deaktivieren? (Dies hat zur Folge das, wenn sie dieses Programm nutzen keine Beep-Töne zu hören sein werden. Windows XP wird auch keine Beep-Töne mehr verwenden.) Diese Maßnahme können sie an gleicher Stelle gefahrlos wieder rückgänig machen.") = 6 Then
    Regwrite("HKEY_CURRENT_USER\Control Panel\Sound", "Beep","REG_SZ", "no")
    EnvUpdate()
    MsgBox(8192 + 64, "Hinweis", "Beep-Töne erfolgreich deaktiviert. Die Änderung wird erst nach einem Systemneustart wirksam.", 4)
    Else
    EndIf
    ElseIf RegRead("HKEY_CURRENT_USER\Control Panel\Sound", "Beep") = "no" Then
    If MsgBox(8192 + 4, "Beep-Töne aktivieren/deaktivieren", "Auf diesem PC sind Beep-Töne deaktiviert. Möchten sie Beep-Töne aktivieren? (Dies hat zur Folge das, wenn sie dieses Programm nutzen Beep-Töne zu hören sein werden. Windows XP wird auch Beep-Töne verwenden.) Diese Maßnahme können sie an gleicher Stelle gefahrlos wieder rückgänig machen.") = 6 Then
    Regwrite("HKEY_CURRENT_USER\Control Panel\Sound", "Beep","REG_SZ", "yes")
    EnvUpdate()
    MsgBox(8192 + 64, "Hinweis", "Beep-Töne erfolgreich aktiviert. Die Änderung wird erst nach einem Systemneustart wirksam.", 4)
    Else
    EndIf
    EndIf
    Case $msg = $MenuItemNotentextoCilp
    _ClipPutFile($fht)
    Case $msg = $MenuItemBeepOrdneroeffnen
    Run(@WindowsDir & "\explorer.exe", @MyDocumentsDir & "\Eigene Beep Komponist Projekte\"& $dateiordnerdatum)
    Case $msg = $MenuItemHilfe
    MsgBox(0, "Hilfe", "Mit dem Beep Komponist lässt sich bis jetzt der Systemlautsprecher, oder je nach Treiber & Hardware der normale Lautsprecher, beides, oder keins von beiden." & " Eine kurze Einführung: Wenn der Beep Komponist gestartet wurde können sie sofort loslegen und durch die Kombination von Notenlänge und Tonhöhe sowie Pausen ein Liedchen erstellen." & " Dieses können sie dan als Beep Komposition (*.bk) exportieren, abspielen oder wieder löschen. In den Eigenen Dateien wird ein ordner angelegt, in welchem sie nach Datum sortiert die verschiedenen von ihnen erstellten Dateien finden." & " Zu jeder Beep Code Datei wird nach eine Notentext datei erstellt, das sie danach noch sehen können was sie eingegeben haben." & "Unten links im Fenster auf der Statusleiste können sie den Namen der aktuell geöffneten Beep Datei sehen. Zum Stopen eines gerade laufenden Liedes die LEERTASTE kurz gedrückt halten."& @CRLF & @CRLF & "Begriffe: LeN = Letzte eingegebene Note")
    Case $msg = $MenuItemUber
    MsgBox(64, "Über...", "Programm Name: Beep Komponist" & @CRLF & "Programm Version : 2.1.0 " & @CRLF & @CRLF & "Autor&Copyright: Vinschni")
    Case $msg = $MenuItemVersHinweis
    MsgBox(64,"Hinweis", "Ab der Version 2.1.0 des Beep Komponists kommt ein neues Dateischreibsystem zum Einsatz, worauf sich alte Beep Kompositionen nur noch über einen Menüunterpunkt im Abspielen-Menü wiedergeben lassen. Für ältere Beep Kompositionen ist keine Fortschrittsanzeige implentiert. Bitte versuchen sie nicht mit dieser Version alte Dateien zu Editieren, dies führt unweigerlich zu Fehlern.")
    Case $msg = $GUI_EVENT_CLOSE
    FileDelete($fhl)
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd
    Func Rueckgaengig()
    Dim $a[1]
    If Not _FileReadToArray($fh, $a) Then
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Zurücknehmen der letzten Eingabe!")
    Else
    $a = StringSplit($a[1], "|")
    _ArrayPop($a)
    $s = _ArrayToString($a,"|", 1)
    FileDelete($fh)
    FileWrite($fh, $s)
    _FileWriteToLine($fht,$zeilenanzahl,"",1)
    _FileWriteToLine($fhl,$zeilenanzahl,"",1)
    $zeilenanzahl = $zeilenanzahl - 1
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & FileReadLine($fht,$zeilenanzahl),1)
    EndIf
    EndFunc
    Func Abspielen($anderesabspielen)
    Dim $fhinarray, $fhlinarray
    If $anderesabspielen = 1 Then
    $abspielDatei = FileOpenDialog("Bitte wählen sie hier die gewünschte Beep-Datei:", @DesktopCommonDir, "Beep Kompositionen (*.bk;*.bc)")
    If Not _FileReadToArray($abspielDatei, $fhinarray) Then
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    Else
    For $x = 1 To $fhinarray[0]
    $a = StringSplit($fhinarray[1], "|")
    Next
    $b = 2
    $h = $a[0] - 1
    $FortschrittProzent = 100 / $h
    $FortschrittProzentkomplett = 0
    While $b <= $a[0]
    If StringIsAlpha($a[$b]) = 1 Then
    Switch $a[$b]
    Case "G"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(1000)
    Case "H"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(500)
    Case "V"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(250)
    Case "A"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(125)
    Case "S"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(63)
    Case Else
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndSwitch
    Else
    $c = StringSplit($a[$b], ",")
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Beep($c[1], $c[2])
    EndIf
    $b = $b + 1
    If _IsPressed("20") Then
    $b = $a[0]
    EndIf
    WEnd
    $anderesabspielen = 0
    GUICtrlSetData($Fortschritt, "0")
    EndIf
    Else
    If Not _FileReadToArray($fh, $fhinarray) Then
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndIf
    For $x = 1 To $fhinarray[0]
    $a = StringSplit($fhinarray[1], "|")
    Next
    $b = 2
    $h = $a[0] - 1
    $FortschrittProzent = 100 / $h
    $FortschrittProzentkomplett = 0
    While $b <= $a[0]
    If StringIsAlpha($a[$b]) = 1 Then
    Switch $a[$b]
    Case "G"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(2000)
    Case "H"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(1000)
    Case "V"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(500)
    Case "A"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(250)
    Case "S"
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Sleep(125)
    Case Else
    MsgBox(8192 + 16, "Error", " ERROR: Fehler beim Einlesen der Beep Code-Datei!")
    EndSwitch
    Else
    $c = StringSplit($a[$b], ",")
    $FortschrittProzentkomplett = $FortschrittProzentkomplett + $FortschrittProzent
    GUICtrlSetData($Fortschritt, $FortschrittProzentkomplett)
    Beep($c[1], $c[2])
    EndIf
    $b = $b + 1
    WEnd
    $anderesabspielen = 0
    GUICtrlSetData($Fortschritt, "0")
    EndIf
    EndFunc ;==>Abspielen
    Func Laengeschreiben($Laenge)
    FileWrite($fhl, $Laenge & @CRLF)
    EndFunc ;==>Laengeschreiben
    Func _write($note, $NotealsText)
    If GUICtrlRead($halbelangemodus) = $GUI_CHECKED Then

    [/autoit] [autoit][/autoit] [autoit]

    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    Beep($note, 1000)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Ganze Note", 1)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    Beep($note, 750)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Halbe Note", 1)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    Beep($note, 500)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Halbe Note", 1)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    Beep($note, 375)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Viertel Note", 1)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    Beep($note, 250)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Viertel Note", 1)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    Beep($note, 188)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Achtel Note", 1)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    Beep($note, 125)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Achtel Note", 1)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    Beep($note, 63)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Sechzentel Note", 1)
    Case GUICtrlRead($zweiundreisigstelnote) = $GUI_CHECKED
    Beep($note, 33)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Zweiundreisigstel Note", 1)
    EndSelect
    Else
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",1000 ")
    Beep($note, 1000)
    FileWrite($fht, $NotealsText & ", Ganze Note" & @CRLF)
    Laengeschreiben(1000)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Ganze Note", 1)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",750 ")
    Beep($note, 750)
    FileWrite($fht, $NotealsText & ", Punktierte Halbe Note" & @CRLF)
    Laengeschreiben(750)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Halbe Note", 1)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",500 ")
    Beep($note, 500)
    FileWrite($fht, $NotealsText & ", Halbe Note" & @CRLF)
    Laengeschreiben(500)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Halbe Note", 1)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",375 ")
    Beep($note, 375)
    FileWrite($fht, $NotealsText & ", Punktierte Viertel Note" & @CRLF)
    Laengeschreiben(375)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Viertel Note", 1)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",250 ")
    Beep($note, 250)
    FileWrite($fht, $NotealsText & ", Viertel Note" & @CRLF)
    Laengeschreiben(250)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Viertel Note", 1)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",188 ")
    Beep($note, 188)
    FileWrite($fht, $NotealsText & ", Punktierte Achtel Note" & @CRLF)
    Laengeschreiben(188)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Achtel Note", 1)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",125 ")
    Beep($note, 125)
    FileWrite($fht, $NotealsText & ", Achtel Note" & @CRLF)
    Laengeschreiben(125)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Achtel Note", 1)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",63 ")
    Beep($note, 63)
    FileWrite($fht, $NotealsText & ", Sechzentel Note" & @CRLF)
    Laengeschreiben(63)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Sechzentel Note", 1)
    Case GUICtrlRead($zweiundreisigstelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",33 ")
    Beep($note, 33)
    FileWrite($fht, $NotealsText & ", Zweiundreisigstel Note" & @CRLF)
    Laengeschreiben(33)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Zweiundreisigstel Note", 1)
    EndSelect
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Else
    If GUICtrlRead($testmodus) = $GUI_CHECKED Then
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    Beep($note, 2000)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Ganze Note", 1)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    Beep($note, 1500)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Halbe Note", 1)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    Beep($note, 1000)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Halbe Note", 1)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    Beep($note, 750)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Viertel Note", 1)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    Beep($note, 500)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Viertel Note", 1)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    Beep($note, 250)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Achtel Note", 1)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    Beep($note, 125)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Achtel Note", 1)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    Beep($note, 63)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Sechzentel Note", 1)
    Case GUICtrlRead($zweiundreisigstelnote) = $GUI_CHECKED
    Beep($note, 33)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Zweiundreisigstel Note", 1)
    EndSelect
    Else
    Select
    Case GUICtrlRead($ganzenote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",2000 ")
    Beep($note, 2000)
    FileWrite($fht, $NotealsText & ", Ganze Note" & @CRLF)
    Laengeschreiben(2000)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Ganze Note", 1)
    Case GUICtrlRead($punktiertehalbe) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",1500 ")
    Beep($note, 1500)
    FileWrite($fht, $NotealsText & ", Punktierte Halbe Note" & @CRLF)
    Laengeschreiben(1500)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Halbe Note", 1)
    Case GUICtrlRead($halbenote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",1000 ")
    Beep($note, 1000)
    FileWrite($fht, $NotealsText & ", Halbe Note" & @CRLF)
    Laengeschreiben(1000)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Halbe Note", 1)
    Case GUICtrlRead($punktierteviertel) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",750 ")
    Beep($note, 750)
    FileWrite($fht, $NotealsText & ", Punktierte Viertel Note" & @CRLF)
    Laengeschreiben(750)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Viertel Note", 1)
    Case GUICtrlRead($viertelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",500 ")
    Beep($note, 500)
    FileWrite($fht, $NotealsText & ", Viertel Note" & @CRLF)
    Laengeschreiben(500)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Viertel Note", 1)
    Case GUICtrlRead($punktierteachtelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",376 ")
    Beep($note, 376)
    FileWrite($fht, $NotealsText & ", Punktierte Achtel Note" & @CRLF)
    Laengeschreiben(250)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Punktierte Achtel Note", 1)
    Case GUICtrlRead($achtelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",250 ")
    Beep($note, 250)
    FileWrite($fht, $NotealsText & ", Achtel Note" & @CRLF)
    Laengeschreiben(125)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Achtel Note", 1)
    Case GUICtrlRead($sechzentelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",126 ")
    Beep($note, 126)
    FileWrite($fht, $NotealsText & ", Sechzentel Note" & @CRLF)
    Laengeschreiben(63)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Sechzentel Note", 1)
    Case GUICtrlRead($zweiundreisigstelnote) = $GUI_CHECKED
    FileWrite($fh, "|" & $note & ",33 ")
    Beep($note, 33)
    FileWrite($fht, $NotealsText & ", Zweiunddreißigtel Note" & @CRLF)
    Laengeschreiben(33)
    _GUICtrlStatusBarSetText($StatusBar1, "LeN: " & $NotealsText & ", Zweiundreisigstel Note", 1)
    EndSelect
    EndIf
    EndIf
    $zeilenanzahl= $zeilenanzahl + 1
    EndFunc ;==>_write

    [/autoit]


    Vinschni

    Lieder:
    Moonlight Shadow

    Spoiler anzeigen

    |330,250 |370,250 |392,750 |392,250 |392,250 |440,250 |392,250 |370,250 |330,750 |330,750 |V|370,250 |370,250 |392,250 |440,750 |392,250 |440,250 |493,500 |493,500 |440,250 |293,250 |A|293,250 |392,500 |392,500 |392,250 |440,250 |392,250 |370,250 |330,750 |330,750 |V|370,250 |370,250 |392,250 |440,750 |392,250 |440,250 |493,500 |493,500 |440,250 |293,250 |V|493,500 |493,250 |587,250 |523,250 |493,250 |392,500 |440,250 |440,250 |493,250 |440,750 |V|493,750 |440,250 |392,500 |392,250 |330,250 |440,250 |440,250 |493,250 |440,750 |392,250 |440,250 |493,500 |493,250 |587,250 |523,250 |493,250 |440,250 |392,250 |440,250 |370,250 |330,250 |146,750 |330,250 |370,250 |392,500 |392,250 |370,250 |330,250 |370,250 |392,250 |440,1000 |V|330,250 |370,250 |392,750 |392,250 |392,250 |440,250 |392,250 |370,250 |330,750 |330,750 |V|370,250 |370,250 |392,250 |440,750 |392,250 |440,250 |493,500 |493,500 |440,250 |293,250 |A|293,250 |392,500 |392,500 |392,250 |440,250 |392,250 |370,250 |330,750 |330,750 |V|370,250 |370,250 |392,250 |440,750 |392,250 |440,250 |493,500 |493,500 |440,250 |293,250 |V|493,500 |493,250 |587,250 |523,250 |493,250 |392,500 |440,250 |440,250 |493,250 |440,750 |V|493,750 |440,250 |392,500 |392,250 |330,250 |440,250 |440,250 |493,250 |440,750 |392,250 |440,250 |493,500 |493,250 |587,250 |523,250 |493,250 |440,250 |392,250 |440,250 |370,250 |330,250 |146,750 |330,250 |370,250 |392,500 |392,250 |370,250 |330,250 |370,250 |392,250 |440,1000 |V|V|493,500 |440,500 |V|493,500 |440,500 |392,250 |440,250 |493,500 |587,500 |523,250 |493,750 |440,500 |493,250 |440,750 |V|493,500 |440,500 |V|493,500 |440,500 |392,250 |440,250 |493,500 |587,500 |523,250 |493,750 |V|493,500 |440,500


    Steh' auf

    Spoiler anzeigen

    |659,500 |698,250 |698,750 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,500 |587,500 |523,250 |523,750 |523,500 |V|H|659,500 |698,250 |698,750 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,500 |587,500 |523,250 |523,750 |523,500 |V|H|V|659,126 |523,126 |587,126 |659,126 |698,126 |698,126 |698,126 |523,126 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,376 |523,126 |659,126 |523,126 |587,126 |392,376 |523,126 |659,126 |523,126 |587,126 |659,126 |698,250 |698,250 |698,250 |784,250 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,500 |659,126 |523,126 |587,126 |659,126 |698,250 |698,250 |698,250 |523,250 |659,500 |A|523,126 |587,126 |659,250 |523,250 |784,250 |659,250 |587,500 |587,126 |392,126 |493,126 |523,126 |587,250 |523,250 |523,250 |523,250 |523,500 |V|H|V|659,126 |523,126 |587,126 |659,126 |698,126 |698,126 |698,126 |523,126 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,376 |523,126 |659,126 |523,126 |587,126 |392,376 |523,126 |659,126 |523,126 |587,126 |659,126 |698,250 |698,250 |698,250 |784,250 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,500 |659,126 |523,126 |587,126 |659,126 |698,250 |698,250 |698,250 |523,250 |659,500 |A|523,126 |587,126 |659,250 |523,250 |784,250 |659,250 |587,500 |587,126 |392,126 |493,126 |523,126 |587,250 |523,250 |523,250 |523,250 |523,500 |V|H|V|880,1500 |784,500 |V|H|H|587,1500 |659,500 |V|H|V|880,1500 |784,500 |V|H|V|587,500 |523,1000 |587,500 |V|H|V|880,500 |880,250 |880,750 |784,500 |V|H|V|587,500 |523,1000 |523,500 |V|H|V|440,500 |659,500 |587,500 |V|440,500 |659,500 |587,500 |V|587,250 |587,250 |587,250 |659,750 |587,500 |V|H|V|659,500 |698,250 |698,750 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,500 |587,500 |523,250 |523,500 |V|H|V|659,500 |698,250 |698,750 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,500 |587,500 |523,250 |523,500 |V|H|V|880,1500 |784,500 |V|H|V|587,1500 |659,500 |A|V|A|880,500 |880,250 |880,750 |784,500 |V|H|V|587,500 |523,1000 |523,500 |V|H|V|659,500 |698,250 |698,750 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,500 |587,500 |523,250 |523,500 |V|H|V|659,500 |698,250 |698,750 |659,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,500 |587,500 |523,250 |523,500 |V|H|V|880,1500 |784,500 |V|H|V|587,1500 |659,500 |A|V|A|880,500 |880,250 |880,750 |784,500 |V|H|V|587,500 |523,1000 |523,500 |V|H|V|880,1500 |784,500 |V|H|V|587,1500 |659,500 |V|H|V|880,500 |880,250 |880,750 |784,500 |V|H|V|587,500 |523,1000 |523,500 |V|H|V|880,1500 |784,500 |V|H|V|587,1500 |659,500 |V|H|V|880,500 |880,250 |880,750 |784,500 |V|H|V|587,500 |523,1000 |523,500 |A|523,126 |587,126 |659,250 |587,250 |523,250 |440,250 |392,1500 |V


    Für Elise

    Spoiler anzeigen

    |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |415,126 |493,126 |523,250 |S|330,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |523,126 |493,126 |440,500 |S|659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |415,126 |493,126 |523,250 |S|330,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |523,126 |493,126 |440,250 |S|493,126 |523,126 |587,126 |659,376 |392,126 |698,126 |659,126 |587,376 |349,126 |698,126 |659,126 |523,376 |330,126 |587,126 |523,126 |493,250 |S|330,250 |659,250 |330,126 |659,126 |S|S|659,126 |1318,126 |S|S|622,126 |659,126 |S|S|622,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |415,126 |493,126 |523,250 |S|330,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |523,126 |493,126 |440,250 |S|493,126 |523,126 |587,126 |659,376 |330,126 |698,126 |659,126 |587,376 |349,126 |659,126 |587,126 |523,376 |330,126 |587,126 |523,126 |493,250 |S|330,126 |659,126 |S|S|659,126 |1318,126 |S|S|622,126 |659,126 |S|S|622,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |415,126 |493,126 |523,250 |S|S|330,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |523,126 |493,126 |440,250 |S|523,126 |523,126 |523,126 |330,126 |392,126 |523,126 |698,126 |659,33 |659,250 |587,250 |932,126 |880,126 |880,126 |784,126 |698,126 |659,126 |587,126 |523,126 |466,250 |440,250 |466,126 |440,33 |392,33 |440,33 |493,33 |523,500 |587,126 |622,126 |659,376 |659,126 |698,126 |440,126 |523,500 |587,126 |493,33 |523,33 |784,33 |392,33 |784,33 |440,33 |784,33 |493,33 |784,33 |523,33 |784,33 |587,33 |784,33 |659,33 |784,33 |1046,33 |988,33 |880,33 |784,33 |698,33 |659,33 |587,33 |784,33 |698,33 |587,33 |523,33 |784,33 |392,33 |784,33 |440,33 |784,33 |493,33 |784,33 |523,33 |784,33 |587,33 |784,33 |659,33 |784,33 |1046,33 |988,33 |880,33 |784,33 |698,33 |659,33 |587,33 |784,33 |698,33 |587,33 |659,33 |698,33 |659,33 |622,33 |659,33 |493,33 |659,33 |493,33 |659,33 |587,33 |659,376 |493,126 |659,126 |622,126 |659,376 |493,126 |659,126 |622,126 |659,126 |622,126 |659,126 |622,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |415,126 |493,126 |523,250 |S|330,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |523,126 |493,126 |440,250 |S|493,126 |523,126 |587,126 |659,376 |330,126 |698,126 |659,126 |587,376 |349,126 |659,126 |587,126 |523,376 |349,126 |587,126 |523,126 |493,250 |S|349,126 |659,126 |S|S|659,126 |1318,126 |S|S|622,126 |659,126 |S|S|622,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |415,126 |493,126 |523,250 |S|330,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |523,126 |493,126 |440,250 |A|A|466,750 |554,750 |587,500 |659,126 |698,126 |698,500 |698,250 |659,500 |587,500 |523,126 |493,126 |440,500 |440,126 |440,126 |523,126 |493,126 |440,750 |466,750 |554,750 |587,500 |659,126 |698,126 |698,500 |698,250 |698,750 |622,500 |587,126 |523,126 |466,500 |440,250 |349,500 |415,500 |349,250 |415,250 |440,500 |A|493,250 |A|A|220,126 |246,126 |330,126 |440,126 |523,126 |659,126 |587,126 |523,126 |493,126 |440,126 |523,126 |659,126 |880,126 |1046,126 |1318,126 |1174,126 |1046,126 |988,126 |440,126 |523,126 |659,126 |880,126 |1046,126 |1318,126 |1174,126 |1046,126 |988,126 |932,126 |880,126 |831,126 |784,126 |740,126 |698,126 |659,126 |622,126 |587,126 |1108,126 |1046,126 |988,126 |932,126 |880,126 |831,126 |784,126 |740,126 |698,126 |659,126 |622,126 |698,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |293,126 |440,126 |493,250 |S|330,126 |415,126 |493,126 |523,250 |S|330,126 |659,126 |622,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |523,126 |493,126 |440,250 |S|493,126 |523,126 |587,126 |659,376 |330,126 |698,126 |659,126 |587,376 |349,126 |659,126 |587,126 |523,376 |330,126 |587,126 |523,126 |493,250 |S|330,126 |659,126 |S|S|659,126 |1318,126 |S|S|1244,126 |1318,126 |622,126 |659,126 |S|S|622,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |415,126 |493,126 |523,250 |S|330,126 |659,126 |622,126 |659,126 |622,126 |659,126 |493,126 |587,126 |523,126 |440,250 |S|262,126 |330,126 |440,126 |493,250 |S|330,126 |523,126 |493,126 |440,250 |S


    Viel Spaß
    EDIT 1 Hab eine STOP Funktion eingebaut.
    Vinschni