Radioprogramm - Paar Fehler

  • Hey Leute!
    Ich hab mit dem RadioUDF mal ein Programm gemacht, womit man vorgegebene Radiosender hören kann, und womit man eigene Sender hinzufügen kann. Die Stream URL kann man dann hier ablesen. Das Problem:
    Man soll ja mehrere Sender hinzufügen können, aber das sind dann ja mehrere Variablen.
    Die müssen dann doch so: $selbstsender[0usw.] geschrieben werden. Das wird dann doch mit _ArrayAdd($selbstsender, 1) gemacht oder? Nja, mit meinem kleinen Arraywissen kann ich das noch nicht.
    Schon n Wunder dass ich überhaupt jetzt erst For-Schleifen gelernt habe ;) .
    Überarbeitet das mal, und mit IniWrite gibt es auch n paar Probleme, die ich im Skript geschildert habe.

    Skript
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <_Radio.au3>
    #include <Array.au3>
    $no = "---Kein Sender---"
    Global $sender, $readtitle, $senderselbst
    $ini = IniReadSection(@ScriptDir&"\Eigene Sender.ini","SENDER")
    #Region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("RadioStream - Radio einfach streamen!", 626, 315, 192, 124)
    $Group1 = GUICtrlCreateGroup("", 96, 0, 521, 65)
    $Label1 = GUICtrlCreateLabel($readtitle, 104, 16, 497, 40)
    GUICtrlSetFont(-1, 28, 800, 0, "LCD")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ListView1 = GUICtrlCreateListView("Sender", 8, 72, 129, 233)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 125)
    $Bremen1 = GUICtrlCreateListViewItem("Bremen 1", $ListView1)
    $Bremen4 = GUICtrlCreateListViewItem("Bremen 4", $ListView1)
    $HitRadioAntenne = GUICtrlCreateListViewItem("Hit Radio Antenne", $ListView1)
    $FFN = GUICtrlCreateListViewItem("FFN", $ListView1)
    $NDR2 = GUICtrlCreateListViewItem("NDR2", $ListView1)
    $NDR1 = GUICtrlCreateListViewItem("NDR1", $ListView1)
    $NJOY = GUICtrlCreateListViewItem("N-JOY", $ListView1)
    $senderselbst = GUICtrlCreateListViewItem(IniRead(@ScriptDir&"\Eigene Sender.ini","SENDER","","", $ListView1)
    #cs
    Beim ersten "" soll das stehen was er unten hingeschreiben hat, aber das muss ja beim nächsten Programmstart immer noch da stehen.
    Beim zweiten "" muss dann wie oben das was beim letzten Programmstart darein geschrieben wurde, drinstehen.
    #ce
    $Button2 = GUICtrlCreateButton("Play!", 152, 80, 83, 41, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Pause!", 248, 80, 83, 41, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Stop!", 336, 80, 83, 41, $WS_GROUP)
    $Button5 = GUICtrlCreateButton("Eigenen Sender!", 424, 80, 99, 41, $WS_GROUP)
    $Label2 = GUICtrlCreateLabel("Lautstärke:", 472, 248, 57, 17)
    $Slider1 = GUICtrlCreateSlider(464, 272, 150, 29)
    GUICtrlSetLimit(-1, 10, 0)
    GUICtrlSetData(-1, 9)
    $WMP = _Radio_Create("WMP Example",$Form1_1, 140, 260)
    $Pic1 = GUICtrlCreatePic("", 184, 144, 241, 153, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlCreateIcon("", -0, 8, 40, 25, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Neuen Radiosender hinzufügen", 460, 100, 192, 124, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
    $Label1 = GUICtrlCreateLabel("Name:", 8, 8, 35, 17)
    $Input1 = GUICtrlCreateInput("z.B. Radio 7", 56, 8, 401, 21)
    $Label2 = GUICtrlCreateLabel("Stream-URL:", 8, 32, 65, 17)
    $Input2 = GUICtrlCreateInput("", 80, 32, 377, 21)
    $Label3 = GUICtrlCreateLabel("Tipp: Unter http://www.linupedia.org/opensuse/Radiosender findest du alle URL von Sendern.", 0, 56, 454, 17)
    $OKNEWRD = GUICtrlCreateButton("OK", 384, 72, 75, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    SoundSetWaveVolume(GUICTRLREAD($Slider1)) ;Problem 1: Lautstärke reguliert sich nicht mit dem Slider!
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Bremen1
    _Radio_Action_SetItem($WMP, "http://gffstream.ic.llnwd.net/stream/gffstream_mp3_w48a")
    _Radio_Action_Play($WMP)
    Dim $sender="Bremen 1" ;Text wird nicht geändert!
    Case $Bremen4
    _Radio_Action_SetItem($WMP,"http://gffstream.ic.llnwd.net/stream/gffstream_mp3_w49a")
    _Radio_Action_Play($WMP)
    $sender="Bremen 4" ;Text wird nicht geändert!
    Case $HitRadioAntenne
    _Radio_Action_SetItem($WMP,"http://edge.live.mp3.mdn.newmedia.nacamar.net/stbantennebremen/livestream.mp3")
    _Radio_Action_Play($WMP)
    Dim $sender="Hit Radio Antenne" ;Text wird nicht geändert!
    Case $FFN
    _Radio_Action_SetItem($WMP,"http://rs35.stream24.org/stream")
    _Radio_Action_Play($WMP)
    Dim $sender="FFN" ;Text wird nicht geändert!
    Case $NDR2
    _Radio_Action_SetItem($WMP,"http://ndr.ic.llnwd.net/stream/ndr_ndr2_hi_mp3")
    _Radio_Action_Play($WMP)
    Dim $sender="NDR2" ;Text wird nicht geändert!
    Case $NDR1
    _Radio_Action_SetItem($WMP,"http://ndr.ic.llnwd.net/stream/ndr_ndr1wellenord_hi_mp3")
    _Radio_Action_Play($WMP)
    Dim $sender="NDR2" ;Text wird nicht geändert!
    Case $NJOY
    _Radio_Action_SetItem($WMP,"http://ndr.ic.llnwd.net/stream/ndr_n-joy_hi_mp3")
    _Radio_Action_Play($WMP)
    Dim $sender="NDR2" ;Text wird nicht geändert!
    Case $Button2
    _Radio_Action_Play($WMP)
    Case $Button3
    _Radio_Action_Pause($WMP)
    Case $Button4
    _Radio_Action_Stop($WMP)
    Case $Button5
    GUISetState(@SW_SHOW, $Form2)
    Case $OKNEWRD
    GUISetState(@SW_HIDE, $Form2)
    $senderselbst = GUICtrlCreateListViewItem(GUICtrlRead($Input1), $ListView1)
    IniWrite(@ScriptDir&"\Eigene Sender.ini","SENDER",GUICtrlRead($Input1),GUICtrlRead($Input2))
    _Radio_Action_SetItem($WMP, GUICtrlRead($Input2))
    _Radio_Action_Play($WMP)
    Dim $sender=GUICtrlRead($Input1) ;Text wird nicht geändert!
    EndSwitch
    WEnd

    [/autoit]


    MfG button421!!!

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • autoBert: Ich habe nur gefragt ob ihrs verstanden habt und ob noch jmd. da ist! Ist das pushen?
    Könnt ihr mir nicht trotzdem helfen?

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Ich mach dir mal eben ein anderes Example weil ich bei deinem Skript voll viele Erorrs kriege, dauert nur bisschen...

  • Hab das ganze neu gemacht, ist im Anhang (enthält noch Stream (.asx) datein). die funktion, selber streams hinzuzufügen ist nicht mitenthalten, hab gerade keine zeit morgen vllt. auch nicht kp wann dienstag maybe auch nicht mittwoch weiß ich nicht donnerstag bin ich türkei für 2 wochen. mal sehen was ich noch machen kann...

    -Rautemusik Radio (alle) abspielen, pausieren, stoppen
    -Slider mit Volumen (nur für das Skript nicht für das Windows-AllgemeinVolumen (SoundSetWaveVolume))
    -Statusbar

    Mehr kann es gerade nicht...

  • Danke; konnte gestern nicht antworten, weil da immer irgendein error auf dieser seite war!
    Warum kommen bei meinem Skript immer Errors? Was kommt? Bei mir geht alles!

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Error

    Das mit SoundSetWaveVolume(GUICTRLREAD($Slider1) Error verstehe ich, weil du eine Klammer am Ende vergessen hasst, das müsste

    [autoit]

    SoundSetWaveVolume(GUICTRLREAD($Slider1))

    [/autoit]

    heißen. Aber der rest des Errors kommt wahscheinlich alles aus dem ersten Error, wo du auch eine Klammer vergessen hast sehe ich gerade. Habe probiert, mit Klammer funktioniert es auch nicht, wahscheinlich weil du da noch $ListView1 rangehängt hast, keine Ahnung mehr kann, und habe ich keine Lust (im Skript nochmal detailliert zu gucken), dir zu sagen^^

  • Die Errors kommen warscheinlich deswegen:

    [autoit]


    $senderselbst = GUICtrlCreateListViewItem(IniRead(@ScriptDir&"\Eigene Sender.ini","SENDER","","", $ListView1)

    [/autoit]


    Das hab ich mal schnell in das umgeändert:

    [autoit]


    $senderselbst = GUICtrlCreateListViewItem(IniRead(@ScriptDir&"\Eigene Sender.ini","SENDER","?","?"),$ListView1)

    [/autoit]


    Habs oben editiert. Aber "?" muss dann natürlich umgeändert werden; in irgendwas; ich weiß nicht wie mann "?" ersetzen soll; mit IniReadSection ?

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Hallon botton421,

    Das hab ich mal schnell in das umgeändert:

    [autoit]

    $senderselbst = GUICtrlCreateListViewItem(IniRead(@ScriptDir&"\Eigene Sender.ini","SENDER","?","?"),$ListView1)

    [/autoit]

    [quote=Hilfe zu]IniRead

    Liest einen Wert aus einer standardkonformen .ini-Datei.

    IniRead ( "filename", "section", "key", "default" )

    Parameter

    filename Der Dateiname der .ini-Datei.
    section Der Name der Sektion in der .ini-Datei.
    key Der Name des Schlüssels in der .ini-Datei.
    default Der Standardwert, der verwendet wird, wenn der gefragte Schlüssel nicht existiert.

    mfg (Auto)Bert

  • Ja, warum hab ich das nur nicht gelesen? Naja: Jetzt steht in der Liste aber Default!
    Sollte ich denn bei beiden (Key und Value) Default hinschreiben, und muss ich dass:

    [autoit]


    "default"

    [/autoit]


    oder so

    [autoit]


    Default

    [/autoit]


    schreiben?

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Ja, aber dann ist in der ListView ein leerer Eintrag, der nerft :thumbdown: .
    Sollte ich das vlt. so machen:

    [autoit]


    $ini = IniReadSection(@ScriptDir&"\Eigene Sender.ini","SENDER")
    $senderselbst = GUICtrlCreateListViewItem($ini, $ListView1)

    [/autoit]

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Wenn da ein leerer Eintrag drin ist dann hast du was falsch gemacht, weil als Error dann ein leerer String ausgegeben wird, der nach deiner Aussage im ListView angezeigt wird..

  • Mein Skript
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <_Radio.au3>
    #include <Array.au3>
    If Not FileExists(@ScriptDir&"\Eigene Sender.ini")Then
    IniWriteSection(@ScriptDir&"\Eigene Sender.ini","SENDER","")
    ConsoleWrite("INI-Datei wurde erstellt!")
    Else
    ConsoleWrite("INI-Datei existiert schon. :)")
    EndIf
    $no = "---Kein Sender---"
    Global $sender, $readtitle, $senderselbst, $ListView1
    $ini = IniRead(@ScriptDir&"\Eigene Sender.ini","SENDER",Default,Default)
    #Region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("RadioStream - Radio einfach streamen!", 626, 315, 192, 124)
    $Group1 = GUICtrlCreateGroup("", 96, 0, 521, 65)
    $Label1 = GUICtrlCreateLabel($no, 104, 16, 497, 40)
    GUICtrlSetFont(-1, 28, 800, 0, "LCD")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ListView1 = GUICtrlCreateListView("Sender", 8, 72, 129, 233)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 125)
    $Bremen1 = GUICtrlCreateListViewItem("Bremen 1", $ListView1)
    $Bremen4 = GUICtrlCreateListViewItem("Bremen 4", $ListView1)
    $HitRadioAntenne = GUICtrlCreateListViewItem("Hit Radio Antenne", $ListView1)
    $FFN = GUICtrlCreateListViewItem("FFN", $ListView1)
    $NDR2 = GUICtrlCreateListViewItem("NDR2", $ListView1)
    $NDR1 = GUICtrlCreateListViewItem("NDR1", $ListView1)
    $NJOY = GUICtrlCreateListViewItem("N-JOY", $ListView1)
    #cs
    Beim ersten "" soll das stehen was er unten hingeschreiben hat, aber das muss ja beim nächsten Programmstart immer noch da stehen.
    Beim zweiten "" muss dann wie oben das was beim letzten Programmstart darein geschrieben wurde, drinstehen.
    #ce
    $Button2 = GUICtrlCreateButton("Play!", 152, 80, 83, 41, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Pause!", 248, 80, 83, 41, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Stop!", 336, 80, 83, 41, $WS_GROUP)
    $Button5 = GUICtrlCreateButton("Eigenen Sender!", 424, 80, 99, 41, $WS_GROUP)
    $Label2 = GUICtrlCreateLabel("Lautstärke:", 472, 248, 57, 17)
    $Slider1 = GUICtrlCreateSlider(464, 272, 150, 29)
    GUICtrlSetLimit(-1, 10, 0)
    GUICtrlSetData(-1, 9)
    $WMP = _Radio_Create("WMP Example",$Form1_1, 140, 260)
    $Pic1 = GUICtrlCreatePic("", 184, 144, 241, 153, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlCreateIcon("", -0, 8, 40, 25, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Neuen Radiosender hinzufügen", 460, 100, 192, 124, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
    $Label1 = GUICtrlCreateLabel("Name:", 8, 8, 35, 17)
    $Input1 = GUICtrlCreateInput("z.B. Radio 7", 56, 8, 401, 21)
    $Label2 = GUICtrlCreateLabel("Stream-URL:", 8, 32, 65, 17)
    $Input2 = GUICtrlCreateInput("", 80, 32, 377, 21)
    $Label3 = GUICtrlCreateLabel("Tipp: Unter http://www.linupedia.org/opensuse/Radiosender findest du alle URL von Sendern.", 0, 56, 454, 17)
    $OKNEWRD = GUICtrlCreateButton("OK", 384, 72, 75, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###
    $ini = IniReadSection(@ScriptDir&"\Eigene Sender.ini","SENDER")
    $senderselbst = GUICtrlCreateListViewItem($ini, $ListView1)
    While 1
    SoundSetWaveVolume(GUICTRLREAD($Slider1)) ;Problem 1: Lautstärke reguliert sich nicht mit dem Slider!
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Bremen1
    _Radio_Action_SetItem($WMP, "http://gffstream.ic.llnwd.net/stream/gffstream_mp3_w48a")
    _Radio_Action_Play($WMP)
    Dim $sender="Bremen 1" ;Text wird nicht geändert!
    Case $Bremen4
    _Radio_Action_SetItem($WMP,"http://gffstream.ic.llnwd.net/stream/gffstream_mp3_w49a")
    _Radio_Action_Play($WMP)
    $sender="Bremen 4" ;Text wird nicht geändert!
    Case $HitRadioAntenne
    _Radio_Action_SetItem($WMP,"http://edge.live.mp3.mdn.newmedia.nacamar.net/stbantennebremen/livestream.mp3")
    _Radio_Action_Play($WMP)
    Dim $sender="Hit Radio Antenne" ;Text wird nicht geändert!
    Case $FFN
    _Radio_Action_SetItem($WMP,"http://rs35.stream24.org/stream")
    _Radio_Action_Play($WMP)
    Dim $sender="FFN" ;Text wird nicht geändert!
    Case $NDR2
    _Radio_Action_SetItem($WMP,"http://ndr.ic.llnwd.net/stream/ndr_ndr2_hi_mp3")
    _Radio_Action_Play($WMP)
    Dim $sender="NDR2" ;Text wird nicht geändert!
    Case $NDR1
    _Radio_Action_SetItem($WMP,"http://ndr.ic.llnwd.net/stream/ndr_ndr1wellenord_hi_mp3")
    _Radio_Action_Play($WMP)
    Dim $sender="NDR2" ;Text wird nicht geändert!
    Case $NJOY
    _Radio_Action_SetItem($WMP,"http://ndr.ic.llnwd.net/stream/ndr_n-joy_hi_mp3")
    _Radio_Action_Play($WMP)
    Dim $sender="NDR2" ;Text wird nicht geändert!
    Case $Button2
    _Radio_Action_Play($WMP)
    Case $Button3
    _Radio_Action_Pause($WMP)
    Case $Button4
    _Radio_Action_Stop($WMP)
    Case $Button5
    GUISetState(@SW_SHOW, $Form2)
    Case $OKNEWRD
    GUISetState(@SW_HIDE, $Form2)
    $senderselbst = GUICtrlCreateListViewItem(GUICtrlRead($Input1), $ListView1)
    IniWrite(@ScriptDir&"\Eigene Sender.ini","SENDER",GUICtrlRead($Input1),GUICtrlRead($Input2))
    _Radio_Action_SetItem($WMP, GUICtrlRead($Input2))
    _Radio_Action_Play($WMP)
    Dim $sender=GUICtrlRead($Input1) ;Text wird nicht geändert!
    EndSwitch
    WEnd

    [/autoit]

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%

  • Wasn dein Problem? Schreib mal ein Text damit ich weiß was ich bei dir verbessern kann!

  • Hab ich doch: Der Text wird im Label nicht angezeigt(Sendername) und bei Zeile 18 wird eine .ini erstellt und in Zeile 35 in eine ListView geladen. Da erscheint dann ein Eintrag der Default heißt :(

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%