Teamplayer gesucht

  • Hallo Community.

    Gerne würde ein Paar Projekte im Team auf die Beine stellen. Für dieses Vorhanden suche ich Programmierer, Grafiker und Andere, die Spaß daran haben, gemeinsam zu entwickeln. Es gibt bisher keine konkreten Ideen, aber man könnte z. B. ein Fernwartungstool oder eine Softwareteilung nach dem Client-Server-Prinzip auf Basis von TCP erstellen, eine AutoIt-Office-Suite skripten oder einfach ein Spiel aus dem Genre Arcade, Actionspiel, Aufbau- oder Wirtschaftssimulation oder, oder ...

    Natürlich müssen die Projekte detaillierter geplant und organisiert werden, aber dies schon einmal ein Paar Vorüberlegungen für die Rahmenbediengung der Projekte:

    • Sprache: AutoIt
    • Lizenz: OpenSource
    • VCS: git
    • Hosting: gibhub oder bitcucket oder ähnliche
    • Besprechungen: wöchentlich

    Vielleicht habe ich bei dem einen oder anderen das Interesse geweckt, und würde mich freuen, wenn wir im Team Projekte entwickeln würden.


    Edit BugFix: Verschoben in Projekte

    Einmal editiert, zuletzt von BugFix (14. August 2013 um 17:33)

  • Für mich stand die Teambildung im Vordergrund. Vielleicht dachte ich mir, dass hier genug Leute sind, die gerne gemeinsam skripten wollen, aber keine eigene Ideen haben.

    Das Projekt war für mich völlig zweitrangig. Ich denke, dass sobald die Gruppe steht, das eigentliche Projekt sehr schnell gefunden wird. Schließlich weiss ich dann doch, was ich mit meiner Manpower bewegen kann.

    Vielleicht hast Du auch recht, Bugfix. Ich werde etwas abwarten, mir dann Gedanken über ein Projekt machen und ein sehr grobes Konzept erstellen.

  • Zitat von DaX

    Vielleicht dachte ich mir, dass hier genug Leute sind, die gerne gemeinsam skripten wollen[...]

    Sicher sehr gerne

    Zitat von DaX

    [...]aber keine eigene Ideen haben.

    Das vielleicht weniger :D

    So wie sich das anhört, programmierst du gerne mit anderen.
    Dem kann ich nur zustimmen. Wenn es dir aber total egal ist, was du programmierst und einfach nur zusammen was machen willst, wäre es doch einfacher, zu fragen ob jmd. schon ein Projekt am laufen hat und du mitmachen kannst. ;)

    Weil nach "möchte das und das machen , wer hilft mir/möchte mitmachen" hört sich das nicht an, da das Ziel (Projekt) noch fehlt.


    LG
    Orion

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)

  • Zitat von Orion

    ... wäre es doch einfacher, zu fragen ob jmd. schon ein Projekt am laufen hat und du mitmachen kannst.


    Diesen Weg bin auch schon des öfteren gegangen, leider sind bisher alle Projekte aus den unterschiedlichsten Gründen nie angefangen wurden.

    Zitat von Orion

    Weil nach "möchte das und das machen , wer hilft mir/möchte mitmachen" hört sich das nicht an, da das Ziel (Projekt) noch fehlt.


    Das Ziel wollte ich gemeinsam in der Gruppe definieren, nachdem sich das Team gebildet hat.

    Vielleicht kommt ja auf diesem Weg doch ein Team zustande. Für den Notfall hätte ich da schon ein Paar Projektideen, die ich hier vorstellen kann.

  • Für den Notfall hätte ich da schon ein Paar Projektideen, die ich hier vorstellen kann.

    Wieso stellst du deine Ideen nicht einfach vor? Du kannst dem Rest des vielleicht Zustande kommenden Teams ja trotzdem noch die Möglichkeit geben Vorschläge zu machen. Es ist aber, wie meine Vorposter bereits erwähnten, einfacher Teilnehmer zu finden, wenn schon ein Thema vorliegt, da diese beim Lesen des Threads sofort wissen, ob sie überhaupt Interesse daran hätten.

    Ich habe bald Abitur und selbst noch ein paar offene Projekte, aber wenn ich trotzdem Zeit finden kann würde ich mitmachen.

  • Falls ein Projekt zustande kommt, würde auch gerne mitmachen. ;)

    Ich hab auch noch ein Projekt rumliegen, welches ich gerne fertigstellen würde, allerdings schaffe ich das ganz alleine nicht/mir ist die Lust darauf vergangen das allein zu machen. Das ganze ist jedoch in C# geschrieben.

    MfG

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Ich persöhnlich habe noch nie im Team gearbeitet in Programmieren/Scripten.
    Da ich nicht soo viel Zeit habe und mich momentarn eher c++ widme glaube ich eher nicht das ich mich groß beteiligen könne.
    Etwas interesse hab ich schon, aber da kommt es auf meiner Seite auch drauf an was.
    Von daher wenn du dein Team und dein Projekt gewählt hast kannst du mich ruhig fragen, wenn ich lust und Zeit habe beteilige ich mich gerne.

    @Pain welches Projekt, worum geht es in groben ?

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

  • Ach, kann man hier jetzt Werbung machen? :D

    Habe auch noch ein offenes Projekt, allerdings im C++. Sollte ich aber Zeit finden (wahrscheinlich aber eher nicht) denke ich dass ich dir (bei was auch immer) helfen kann ^^,

    LG
    Orion

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)

  • Zitat von James

    Wieso stellst du deine Ideen nicht einfach vor?

    Im ersten Beitrag habe ich bereits ein Paar Ideen vorgestellt, die weiter verfeinert werden müssten. Sehr gut kann ich mir vorstellen, dass die meisten beim Spiele entwickeln dabei sein wollen. Jeder möchte Spiele programmieren. Vielleicht könnte man Spieleklassiker wie Tetris, Mafia, Mario Brothers oder die Hanse mit AutoIt wiederbeleben.

    Da Turnschuhadministration immer noch gang und gebe ist, würde ich gerne ein Remote-Admin-Tool nach dem Client-Server umsetzen.

    Grobe Aufgaben des Clients:

    • Client muss als Dienst laufen
    • Befehle vom Admin entgegennehmen
    • Chatfunktion mit dem Admin
    • Programmausführung verhindern
    • Informationen über installierte Software und Hardware
    • Bildschirminhalt senden

    Grobe Aufgaben des Admins-Tools

    • Grafisches Frontend zum Server
    • Konfiguration der Clientrechner

    Groben Aufgaben des Servers

    • Server ebenfall als Dienst auf einen Zentralrechner
    • Verbindung zur AD, wenn Domäne vorhanden
    • Softwareverteilung
    • Lizenzverwaltung
    • Übersicht der Computer mit angemeldeten Benutzer
    • Konfiguration der Rechner bereitstellen
    • Protokolfunktion

    Diese Liste ist noch nicht abschließend und muss weiter verfeinert werden.

    Zitat von PainTain

    Ich hab auch noch ein Projekt rumliegen, welches ich gerne fertigstellen würde, allerdings schaffe ich das ganz alleine nicht/mir ist die Lust darauf vergangen das allein zu machen. Das ganze ist jedoch in C# geschrieben.

    Bitte stelle Dein Projekt kurz vor. Vielleicht können wir es auch nach AutoIt protieren. Da wir hier ein AutoIt-Forum sind, würde ich es gerne in AutoIt entwickeln und den Projektfortschritt hier immer wieder präsentieren.

    Sollte man es nicht in AutoIt umsetzen können, könnten wir losgelöst von diesem Projekt, Dein Projekt voranbringen .C# ist mir nicht fremd und ich habe auf meinem Rechner Visual Studio Team System 2008 installiert.

    @All.
    Vielleicht hat ja jemand noch eine Projektidee, die er gerne verwirklich sehen möchte, möge sie bitte kurz vorstellen.

  • Dein Fernwartungstool klingt schon mal sehr gut, ein Spiel wäre aber auch ziemlich cool.

    Vielleicht hat ja jemand noch eine Projektidee, die er gerne verwirklich sehen möchte, möge sie bitte kurz vorstellen.


    Meine Projektidee wäre ein Chatbot (siehe Signatur) welcher (im Gegensatz zum den bisher gefundenen) über künstliche Intelligenz (wenn auch nur in einer einfachen Form wie logisches Denken) und viele andere praktische Funktionen (hauptsächlich natürlich in den Bereichen Mathematik, Physik und Informatik, also Berechnungen usw.) verfügt. Das ist dann aber wahrscheinlich nicht sehr spannend und auch nicht für viele brauchbar, wäre aber garantiert beeindruckend. :D

    AutoIt Version (Prod): 3.3.14.2

    AutoIt Version (Beta): 3.3.9.5

    ausgewählte Skripte: Chatbot, komplexe Zahlen (UDF)

    Einmal editiert, zuletzt von James (15. August 2013 um 21:08)

  • Zitat von James

    Meine Projektidee wäre ein Chatbot (siehe Signatur) welcher (im Gegensatz zum den bisher gefundenen) über künstliche Intelligenz (wenn auch nur in einer einfachen Form wie logisches Denken) und viele andere praktische Funktionen (hauptsächlich natürlich in den Bereichen Mathematik, Physik und Informatik, also Berechnungen usw.) verfügt. Das ist dann aber wahrscheinlich nicht sehr spannend und auch nicht für viele brauchbar, wäre aber garantiert beeindruckend. :D

    Also ich fände das sehr spannend 8o
    Im ernst, besser so was als Spiele (Von denen es schon genug gute gibt)

    Meine Projektidee wäre auch weniger etwas brauchbares, greifbares... :whistling:
    Also kein Programm mit GUI das man nutzen könnte oder so.
    Grenzt an bisschen an dem von James :D

    Geht eher um haufenweise Algorithmen ;)

    LG
    Orion

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)

  • Also ich fände das sehr spannend
    Im ernst, besser so was als Spiele (Von denen es schon genug gute gibt)

    Ich auch, aber mal im Ernst: Wie verrückt muss man sein, um an künstlicher Intelligenz Freude zu haben? :D

    Meine Projektidee wäre auch weniger etwas brauchbares, greifbares...
    Also kein Programm mit GUI das man nutzen könnte oder so.
    Grenzt an bisschen an dem von James
    Geht eher um haufenweise Algorithmen ;)

    Sollte es wirklich nur um "haufenweise Algorithmen" gehen (ohne irgendwas dazu) könnte man das doch perfekt kombinieren. :thumbup:

  • Sehr gut kann ich mir vorstellen, dass die meisten beim Spiele entwickeln dabei sein wollen. Jeder möchte Spiele programmieren.

    Öhm eher nicht, also meine Wenigkeit kann sich jedenfalls nicht sonderlich für Spiele und erst recht nicht für Spieleprogrammierung begeistern. Ich halte es einfach für Zeitverschwendung, da solch ein Programm keinen wirklichen Nutzen außer Zeit totschlagen hat.

    Für administrative Dinge bin ich hingegen schon eher zu haben, aber nicht wenn dabei das Rad neu erfunden werden soll oder das Ergebnis letztlich nur schlechter als der bereits vorhandene Standard werden kann. Ein Remotedesktopersatz in Autoit ist jedenfalls kaum machbar. Es gibt hier sogar ein entsprechendes Projekt (Deskstream?), welches für Autoit wirklich sehr gut und performant geworden ist, aber bei weitem nicht an eine Microsoft RDP Verbindung rankommt.

    Wie dem auch sei mir fehlt ohnehin die Zeit um mich an Projekten anderer zu beteiligen, ich komme ja nichtmal dazu meine eigenen Projekte weiterzuführen. Aber da jeder seine Präferenzen und Erfahrungen in bestimmten Gebieten hat sollte man ein Projektteam immer auch Projekt bezogen gründen, denn was nutzt dir nachher ein Team aus drei Gamern einem Admin und einem Autoitanfänger wenn du dann letzlich ein Warenwirtschaftsprogramm schreiben willst? Dir wird schlichtweg das halbe Team wieder abspringen, weil entweder Fähigkeiten, Zeit und / oder Interesse am Thema fehlen.

    Programmieren im Team ist ohnehin so eine Sache für sich, meine schulischen / ausbildungstechnischen Erfahrungen waren da nicht die besten, letzlich lief es darauf hinaus, dass ich das Ding alleine geschrieben habe und gewisse Dinge nicht implementieren konnte weil der Rest des Teams nicht die dafür nötigen Infos bereitgestellt hatte. Ich programmiere deswegen lieber alleine, da ist man von niemandem abhängig und kommt in der Regel schneller zum Erfolg (jedenfalls wenn es kein Mammutprojekt ist).

    Einmal editiert, zuletzt von misterspeed (15. August 2013 um 21:42)

  • Also erstmals muss ich misterspeed in allen Punkten Recht geben :D Am meisten im Punkt Spiele.

    Zitat von misterspeed

    Öhm eher nicht, also meine Wenigkeit kann sich jedenfalls nicht sonderlich für Spiele und erst recht nicht für Spieleprogrammierung begeistern. Ich halte es einfach für Zeitverschwendung, da solch ein Programm keinen wirklichen Nutzen außer Zeit totschlagen hat.

    Zitat von James


    Zitat von »Orion«
    Also ich fände das sehr spannend
    Im ernst, besser so was als Spiele (Von denen es schon genug gute gibt)

    Ich auch, aber mal im Ernst: Wie verrückt muss man sein, um an künstlicher Intelligenz Freude zu haben? :D

    Sehr Verrückt :D Halt ein totaler nerd .

    Zitat von James


    Zitat von »Orion«
    Meine Projektidee wäre auch weniger etwas brauchbares, greifbares...
    Also kein Programm mit GUI das man nutzen könnte oder so.
    Grenzt an bisschen an dem von James
    Geht eher um haufenweise Algorithmen ;)

    Sollte es wirklich nur um "haufenweise Algorithmen" gehen (ohne irgendwas dazu) könnte man das doch perfekt kombinieren. :thumbup:

    Na ja bisschen C++ ist noch dabei, aber ich brauche weniger einen der C++ gut kann (ist aber von Vorteil :D), sonder viel mehr einen der die Algorithmen "überführt" ;)


    //Edit:

    Zitat von James

    [...] welcher (im Gegensatz zum den bisher gefundenen) über künstliche Intelligenz [...]

    Da habe ich einen ... :D Eine lernfähige Künstliche Intelligenz :thumbup:(suche ich aber morgen, bin jetzt zu müde)


    LG
    Orion :D

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)

    3 Mal editiert, zuletzt von Orion (16. August 2013 um 07:41)

  • Dann hatte ich da einen völlig falschen Eindruck gewonnen. Ich dachte, dass fast jeder ein Spiel entwickeln möchten.

    Vordergründig steht für mich erst einmal die Teambildung. Es ist spannend zu sehen, wie sich das Team findet, wie das Projekt gelant, umgesetzt und organisiert wird. Was man mit dem Team umgesetzt werden kann, ist natürlich abhängig von den Fähigkeiten der Gruppe. Ich denke, dass ein Projekt scheitert, weil es nicht gut geplant ist und die Ressourcen nicht richtig eingesetzt wurden. Eine gute Projektplanung ist wichtig, auch wenn sie lästig ist. So ist auch mit der Projektdokumentation. Unangenehm, aber unverzichtbar.

    Das Fernwartungstool sollte kein Remotedesktopersatz sein. Der Client soll die Befehle vom Server verarbeiten und ausführen, Informationen über seine Hardware-Bauteile, installierter Software und Update-Stand liefern. Dieses Informationen sollen dann zentral inventarisiert werden, damit der Admin von überall darauf Zugriff hat. Ich möchte keine Maussteuerung über die TCP-Verbindung, sondern vielleicht nur mal kurz Einsicht auf den Bildschirminhalt erhalten. (Eine Art Subversion) Zentral könnten auch Informationen, wie Lizenzschlüssel, Anzahl der Lizenzen, Rechnungen für Computer und Software gespeichert werden.

    Die Projektideen werde ich bis Montag sammeln und hier noch einmal zufassen.

  • Man könnte ein Streamviewer machen womit man von allen Online Stream diensten Videos auf einer Gui gucken kann, wobei das Programm die Links selber erkennt wenn diese kopiert werden und abgespielt werden, und das man das Video mit einer Transparrents versehen kann.
    Ich habe das Projekt von mir schon voll vergessen, es ist schon teilweise fertig und Funktioniert nur mit Youtube, wobei MyVideo und viele andere auch geplant sind/ waren.

    Hier mal mein Code bis jetzt, aber ich wahne euch, dieses Projekt ist sehr sehr unsauber geschrieben, selbst für meine Verhältnisse:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <winapi.au3>
    #include <array.au3>
    #include <string.au3>
    #include <_Blowfish.au3>
    Opt("TrayMenuMode",3)
    ;~ Opt("GUIOnEventMode", 1)
    Global $PVers = "1.0.0"
    Global $LnkGui=1, $Posx=40,$Posy=40,$VideoLink="http://youtube.googleapis.com/v/BGnq4K3XPXI?hl=de_DE&amp&hd=1&autoplay=1",$Vtrans=200,$settingtrans=150,$Link_show=1,$STView_show=1,$Einblend_show=0,$i,$trans,$STView,$Einblend,$Link,$Beenden,$Button3,$Button1,$oby,$video_lnkinput,$Combo1,$Button2,$checkbox1,$setting_eins
    Global $pstart=480,$Standart_X = 1280, $Standart_Y = 720, $Groese_x=$Standart_X,$Groese_y=$Standart_Y,$Benutzer_x=1280,$Benutzer_y=720,$Gui_checkbox=1,$Posxw=$Posx,$Posyw=$Posy,$line=@ScriptLineNumber ; paar sachen ändern
    Global $thubnail_t1="http://i1.ytimg.com/vi/",$thubnail_t2="/mqdefault.jpg";320x180p
    Global $YoutubeVideo="http://youtube.googleapis.com/v/",$YoutubeVideos="https://youtube.googleapis.com/v/",$YoutubeVideo_API="?hl=de_DE&amp&hd=1&autoplay=1"
    Global $YT_API_LOOP="loop=1&amp",$YT_API_AUTOPLAY="autoplay=1",$YT_API_HD="hd=1"
    Global $SleepQV_time=4000,$grabber=1,$GrabberCloseFenster=12000,$rgui,$isRgui=1,$InGuiPosx=0,$InGuiPosy=20,$iRgui,$Quickview=1, $Speichertestbild=@AppDataDir&"\Testbild_sv.bmp"
    Global $RadioBUTTON[4], $RB_BUTTONPOS_X=$Standart_X,$RB_BUTTONPOSX_Is=50, $RB_BUTTONPOS_Y=$Standart_Y,$RB_BUTTONPOSY_Is=20, $RB_BUTTONTRANS=160, $WindowOn
    Global $aSave[1][2],$zumSave,$aSetting="0", $SaveKey = "von Pureironie", $Speicherort=@AppDataDir&"\SV_Einstellungen.dat" ; <- ÄNDERN
    $VideoLink=""

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

    If not FileExists($Speichertestbild) Then
    FileInstall("C:\Users\...\Desktop\Streamviewer\Data\TESTBILD.bmp",$Speichertestbild)
    ;~ ClipPut($Speichertestbild)
    EndIf

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

    $RadioBUTTON[0]=1
    $RadioBUTTON[1]=0
    $RadioBUTTON[2]=0
    $RadioBUTTON[3]=0
    $zumSave=0

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

    TrayCreateItem("")
    $Tray_Einstellungen = TrayCreateItem("Einstellungen")
    TrayCreateItem("")
    $Tray_CloseFenster = TrayCreateItem("Fenster Schließen / Öffnen")
    TrayCreateItem("")
    $about = TrayCreateItem("Über")
    TrayCreateItem("")
    $Tray_Beenden = TrayCreateItem("Beenden")

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

    $childgui= GUICreate("",10, 10,-30,-30,$WS_POPUP, $WS_EX_TOPMOST+$WS_EX_TRANSPARENT)
    GUISetState(@SW_SHOW,$childgui)

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

    $aSetting = _EinstellungenLaden()
    $STView_show=0
    _GUICreate($Standart_X,$Standart_Y)
    $STView_show=1
    $WindowOn = 1
    _rCreate($Standart_X,$Standart_y)
    ;~ GUISetState(@SW_SHOW,$rgui)
    Aufloesung()
    $iRgui = 1

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

    Func _GUICreate($STView_x=720,$STView_y=480)
    $Posxw=$Posx
    $Posyw=$Posy
    If $STView_x=@DesktopWidth and $STView_y=@DesktopHeight Then
    $Posxw=0
    $Posyw=0
    EndIf
    $i=ObjCreate("shell.Explorer.2")
    $STView = GUICreate("Stream Viewer", $STView_x-1, $STView_y-1,$Posxw,$Posyw,$WS_POPUP, $WS_EX_TOPMOST+$WS_EX_TRANSPARENT,$childgui);, 192, 124)
    $obj=GUICtrlCreateObj($i,0,0,$STView_x, $STView_y)
    WinSetTrans($STView,"",$Vtrans)
    ;~ $oIE=_IECreateEmbedded()
    ;~ GUICtrlCreateObj($oIE,0,0,681, 401)
    ;~ _IENavigate($oIE, 'file:///C:/Users/.../Desktop/ps/test.html')

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

    ;---------------------------
    $Einblend = GUICreate("...", $RB_BUTTONPOSX_Is,$RB_BUTTONPOSY_Is, $Posxw, $Posyw,$WS_POPUP, $WS_EX_TOPMOST,$STView)
    $Button1 = GUICtrlCreateButton("...", 0, 0, $RB_BUTTONPOSX_Is, $RB_BUTTONPOSY_Is)
    GUICtrlSetFont($Button1, 10, 800, 0, "MS Sans Serif")
    WinSetTrans($Einblend,"",$RB_BUTTONTRANS)

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

    #Region ### START Koda GUI section ### Form=C:\Users\....\Desktop\Streamviewer\form.kxf
    $Link = GUICreate("Stream Viewer", 450, 50, 0, 0,$WS_POPUP, $WS_EX_TOPMOST,$STView)
    GUISetBkColor(0xFFFFFF)
    $trans = GUICtrlCreateSlider(162, 24, 71, 25)
    GUICtrlSetLimit(-1, 255, 25)
    GUICtrlSetData(-1, 25)
    GUICtrlSetData(-1,$Vtrans)
    $Video_LnkInput = GUICtrlCreateInput("", 0, 0, 417, 24)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $setting_eins = GUICtrlCreateButton("Einstellungen", 304, 24, 73, 25)
    $Combo1 = GUICtrlCreateCombo("", 234, 26, 70, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "240|360|480|720|1080|FULL|[Benutzer]", $pstart)
    $Button2 = GUICtrlCreateButton("Ausblenden", 376, 24, 73, 25)
    $Checkbox1 = GUICtrlCreateCheckbox("Durchklickbar", 74, 26, 89, 17)
    $Button3 = GUICtrlCreateButton("OK", 416, 0, 33, 25)
    $Beenden = GUICtrlCreateButton("Beenden", 0, 24, 73, 25)
    if $Gui_checkbox = 1 Then
    GUICtrlSetState($checkbox1,$GUI_CHECKED)
    ;~ GUISetStyle($STView,$WS_POPUP, $WS_EX_TOPMOST+$WS_EX_TRANSPARENT)
    Else
    GUICtrlSetState($checkbox1,$GUI_UNCHECKED)
    ;~ GUISetStyle($STView,$WS_POPUP, $WS_EX_TOPMOST)
    EndIf
    _check()
    WinSetTrans($Link,"",$settingtrans)

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

    If $Link_show = 1 Then
    GUISetState(@SW_SHOW,$Link)
    Else
    GUISetState(@SW_HIDE,$Link)
    EndIf
    If $STView_show = 1 Then
    GUISetState(@SW_SHOW,$STView)
    Else
    GUISetState(@SW_HIDE,$STView)
    EndIf
    GUISetState(@SW_SHOW,$Einblend)
    If $Einblend = 1 Then
    GUISetState(@SW_SHOW,$Einblend)
    Else
    GUISetState(@SW_HIDE,$Einblend)
    EndIf
    EndFunc

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

    Func _rCreate($gx,$gy)
    $rgui = GUICreate("", $gx, $gy+20, -1, -1,0, $WS_EX_LAYERED);,$childgui);+$WS_EX_TRANSPARENT);+$WS_EX_TOPMOST)
    GUISetBkColor(0xABCDEF)
    _WinAPI_SetLayeredWindowAttributes($rgui, 0xABCDEF);,240);,255)
    GUISetState(@SW_HIDE,$rgui)
    ;~ WinSetOnTop($rgui,"",1)
    ;~ WinSetTrans($rgui,"",240)
    EndFunc
    ;---------------------------------EINSTELLUNGEN--------------------------@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    $Sv_setting_gui = GUICreate("Streamviewer Einstllungen - v1.0 ", 658, 362, 679, 389,-1,$WS_EX_TOPMOST)
    $Tab1 = GUICtrlCreateTab(0, 0, 657, 337, -1, BitOR($TCS_EX_FLATSEPARATORS,$WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    $TabSheet1 = GUICtrlCreateTabItem("Einstellungen")
    $Group2ret345345 = GUICtrlCreateGroup("Grundeinstellungen", 11, 27, 289, 185)
    $EINSTELLUNG_RunWinStart_check = GUICtrlCreateCheckbox("Bei Windows Start ausführen", 21, 51, 201, 25)
    $EINSTELLUNG_ByStartOpenHauptGui_check = GUICtrlCreateCheckbox("Beim Starten Hauptfenster öffnen", 21, 75, 185, 17)
    GUICtrlSetState(-1,$GUI_Disable); <--------------------@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    $EINSTELLUNG_GrabberAktiv_check = GUICtrlCreateCheckbox("Video Grabber Aktivieren", 21, 91, 217, 25)
    $EINSTELLUNG_VidVerlaufPlyAufz_check = GUICtrlCreateCheckbox("Video Verlauf aufzeichnen", 21, 115, 225, 17)
    GUICtrlSetState(-1,$GUI_Disable); <--------------------@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    $EINSTELLUNG_QuickInfoAktiv_Check = GUICtrlCreateCheckbox("Video Quickinfo Aktivieren", 21, 131, 225, 25)
    $Label9quickmsdauer = GUICtrlCreateLabel("Quickinfo Anzeigedauer: (ms)", 21, 163, 142, 17)
    $EINSTELLUNG_Quick_DauerMS_Input = GUICtrlCreateInput("4000", 171, 161, 41, 21)
    $Label10234234gr = GUICtrlCreateLabel(" Grabber Anzeigedauer: (ms)", 21, 186, 141, 17)
    $EINSTELLUNG_Grabber_anzeigeMS_input = GUICtrlCreateInput("12000", 171, 184, 41, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group1345345trertz = GUICtrlCreateGroup("Anzeige des Video-Eck-Buttons", 304, 27, 337, 185)
    $EINSTELLUNG_Pic_BspBILD = GUICtrlCreatePic($Speichertestbild, 384, 71, 137, 65) ;<---------------------------------------
    $EINSTELLUNG_Radio_ObenLinks_VidEcButton = GUICtrlCreateRadio("Oben - Links", 368, 51, 89, 17)
    $EINSTELLUNG_Radio_ObenRechts_VidEcButton = GUICtrlCreateRadio("Oben - Rechts", 520, 51, 89, 17)
    $EINSTELLUNG_Radio_UntenLinks_VidEcButton = GUICtrlCreateRadio("Unten - Links", 368, 140, 89, 17)
    $EINSTELLUNG_Radio_UntenRechts_VidEcButton = GUICtrlCreateRadio("Unten - Rechts", 520, 140, 89, 15)
    $GUI_setting_Show_hidde_Button_trans = GUICtrlCreateSlider(320, 163, 313, 25)
    GUICtrlSetLimit(-1, 255, 20)
    GUICtrlSetData(-1,$RB_BUTTONTRANS)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3zzthrt5 = GUICtrlCreateGroup("Fenster", 304, 211, 337, 105)
    $Label823423ffff = GUICtrlCreateLabel("Videostandardgröße:", 307, 227, 102, 17)
    $EINSTELLUNG_VidGroese_Combo = GUICtrlCreateCombo("", 411, 225, 97, 25, BitOR($GUI_SS_DEFAULT_COMBO,$CBS_SIMPLE))
    GUICtrlSetData(-1, "[Benutzer]|240|360|480|720|1080|[FULL]", "480")
    $Label11benutzer343 = GUICtrlCreateLabel("Benutzer:", 315, 267, 49, 17)
    $EINSTELLUNG_X_FensterBENUTZER = GUICtrlCreateInput("1280", 371, 265, 49, 21)
    $EINSTELLUNG_Y_FensterBENUTZER = GUICtrlCreateInput("720", 427, 265, 49, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $TabSheet2 = GUICtrlCreateTabItem("Streamserver")
    $GUI_Stream_server_combo_wahl = GUICtrlCreateCombo("", 206, 32, 201, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "YOUTUBE / http://www.youtube.com", "YOUTUBE / http://www.youtube.com")
    $GUI_Streamserver_group = GUICtrlCreateGroup(" Einstellungen: [ YOUTUBE / http://www.youtube.com ] ", 4, 59, 639, 265)
    GUICtrlSetBkColor(-1,0xFFFFFF)
    $EINSTELLUNG_YT_autoplay = GUICtrlCreateCheckbox("Autoplay", 19, 83, 129, 17)
    $EINSTELLUNG_YT_LoopWdg = GUICtrlCreateCheckbox("Loop Wiedergabe", 19, 99, 129, 17)
    $EINSTELLUNG_YT_HDwdg = GUICtrlCreateCheckbox("HD Wiedergabe", 19, 115, 129, 17)
    $EINSTELLUNG_YT_LabelAPI = GUICtrlCreateLabel("Benutzerdef. Youtube-API - Parameter:", 19, 139, 187, 17)
    $EINSTELLUNG_YT_APIbenutzerdef = GUICtrlCreateInput("hl=de_DE", 19, 161, 289, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $TabSheet4 = GUICtrlCreateTabItem("Playlist")
    $hhhhhhh34345 = GUICtrlCreateLabel("Nicht in der Version enthalten, kommt noch...", 6, 28, 216, 17)
    $TabSheet6 = GUICtrlCreateTabItem("Hotkeys")
    $ertertret4434 = GUICtrlCreateLabel("Nicht in der Version enthalten, kommt noch...", 3, 27, 216, 17)
    GUICtrlCreateTabItem("")
    $Einstellung_CloseFenster = GUICtrlCreateButton("Fenster schließen", 568, 336, 89, 25)
    $Einstellung_Save = GUICtrlCreateButton("Speichern", 480, 336, 89, 25)
    $End = GUICtrlCreateButton("Beenden", 0, 336, 81, 25)
    $Einstellung_InfoUpdate_Button = GUICtrlCreateButton("Infos && Updates", 392, 336, 89, 25)
    $version_label = GUICtrlCreateLabel("v1.0", 88, 344, 25, 17)
    GUISetState(@SW_HIDE,$Sv_setting_gui)

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

    ;~ _YTAPI_Reload()

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

    ;-----------------------------------------END--EINSTELLUNGEN------------------------------@@@@@@@@@@@@@@@@@@@@@@@@@@@@ /\ /\ /\

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

    Global $vQuickview,$vQV_PIC,$vTitle_T

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

    $vQuickview = GUICreate("Video Check", 336, 89, @DesktopWidth-350,@DesktopHeight+40,$WS_POPUP, $WS_EX_TOPMOST)
    GUISetBkColor(0x000000)
    $vQV_PIC = GUICtrlCreatePic(_ytBildLINK("Mm08A0QKt68"), 4, 4, 144, 81)
    $vURL_ID = GUICtrlCreateLabel("Youtube ID: ErrorStn", 152, 64, 182, 17)
    GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x00FFFF)
    GUICtrlSetCursor (-1, 0)
    $vTitle_T = GUICtrlCreateLabel(" TitleErrStn", 152, 8, 182, 35)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $vGraphic1 = GUICtrlCreateGraphic(-1, -1, 340, 3)
    GUICtrlSetBkColor(-1, 0xFF0000)
    $vGraphic2 = GUICtrlCreateGraphic(-1, 87, 340, 3)
    GUICtrlSetBkColor(-1, 0xFF0000)
    $vGraphic3 = GUICtrlCreateGraphic(-1, 0, 3, 91)
    GUICtrlSetBkColor(-1, 0xFF0000)
    $vGraphic4 = GUICtrlCreateGraphic(334, 1, 3, 91)
    GUICtrlSetBkColor(-1, 0xFF0000)
    WinSetTrans($vQuickview,"",220)
    GUISetState(@SW_HIDE,$vQuickview)

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

    ;------------GRABBER----------------

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

    Global $gForm,$gButton1,$gButton2,$gButton3,$GrabbedVID="ERROR",$GrabberStop=0

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

    $gForm = GUICreate("Check", 232, 41, 427, 352,$WS_POPUP, $WS_EX_TOPMOST)
    GUISetBkColor(0x000000)
    $gGraphic1 = GUICtrlCreateGraphic(-1, -1, 273, 5)
    GUICtrlSetBkColor(-1, 0xFF0000)
    $gGraphic2 = GUICtrlCreateGraphic(-1, 37, 273, 5)
    GUICtrlSetBkColor(-1, 0xFF0000)
    $gGraphic3 = GUICtrlCreateGraphic(-1, 0, 5, 51)
    GUICtrlSetBkColor(-1, 0xFF0000)
    $gGraphic4 = GUICtrlCreateGraphic(228, 1, 5, 51)
    GUICtrlSetBkColor(-1, 0xFF0000)
    $gButton1 = GUICtrlCreateButton("Start", 8, 8, 73, 25)
    $gButton2 = GUICtrlCreateButton("Später", 80, 8, 73, 25)
    $gButton3 = GUICtrlCreateButton("Nicht Starten", 152, 8, 73, 25)
    WinSetTrans($gForm,"",200)
    GUISetState(@SW_HIDE,$gForm)
    ;-------------GRABBER---------------

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

    ;,$Button1,$oby,$video_lnkinput,$Combo1,$Button2,$checkbox1,$setting_eins
    ;~ $i.navigate("http://www.youtube.com/embed/Mm08A0QKt68")

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

    ;~ $i.navigate($VideoLink); <--------------------------
    ;~ $VideoLink=$YoutubeVideo&$GrabbedVID&$YoutubeVideo_API
    ;~ _RUN_YT_VID("http://www.youtube.com/watch?v=BRUov4SJmTI")

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

    Switch $zumSave
    Case 0
    GUICtrlSetState($EINSTELLUNG_Radio_ObenLinks_VidEcButton,$GUI_CHECKED)
    Case 1
    GUICtrlSetState($EINSTELLUNG_Radio_ObenRechts_VidEcButton,$GUI_CHECKED)
    Case 2
    GUICtrlSetState($EINSTELLUNG_Radio_UntenLinks_VidEcButton,$GUI_CHECKED)
    Case 3
    GUICtrlSetState($EINSTELLUNG_Radio_UntenRechts_VidEcButton,$GUI_CHECKED)
    EndSwitch
    _CheckButtonPos()

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

    _EinstellungenLaden2($aSetting)
    _YTAPI_Reload()

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

    ;~ $i.navigate("file:///C:/Users/..../Desktop/Streamviewer/tmp2.html")

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

    If $grabber = 1 Then
    $sOld = ''
    ClipPut($sOld)
    EndIf

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

    ;~ WinActivate($Link)

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

    While sleep(25)
    $nMsg = GUIGetMsg()
    Switch TrayGetMsg()
    Case $Tray_Einstellungen
    GUISetState(@SW_SHOW,$Sv_setting_gui)
    Case $Tray_Beenden
    _GuiClose()
    Case $about
    aboutI()
    Case $Tray_CloseFenster
    If $WindowOn = 1 Then
    CloseFenster()
    ;hidden / closen
    $WindowOn = 0
    $iRgui = 0
    ;~ $isRgui=0
    Else
    OpenFenster()
    ;showen / open
    $WindowOn = 1
    $iRgui=1
    ;~ $isRgui=1

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

    EndIf
    ;~ Case
    ;~ Case

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

    EndSwitch
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _GuiClose()
    ;~ Exit ; -------------- Noch URL Kompletter, Http://www. // Http:// dranhängen wenn nicht vorhanden

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

    Case $EINSTELLUNG_RunWinStart_check
    If GUICtrlRead($EINSTELLUNG_RunWinStart_check) = $GUI_CHECKED Then
    FileCreateShortcut(@ScriptFullPath,@StartupDir&"\Streamviewer.lnk",@ScriptDir)
    Else
    If FileExists(@StartupDir&"\Streamviewer.lnk") Then
    FileDelete(@StartupDir&"\Streamviewer.lnk")
    EndIf
    EndIf

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

    Case $EINSTELLUNG_ByStartOpenHauptGui_check
    If GUICtrlRead($EINSTELLUNG_ByStartOpenHauptGui_check) = $GUI_CHECKED Then ; ----
    Else
    EndIf

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

    Case $EINSTELLUNG_GrabberAktiv_check
    If GUICtrlRead($EINSTELLUNG_GrabberAktiv_check) = $GUI_CHECKED Then
    $grabber=1
    Else
    $grabber=0
    EndIf

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

    Case $EINSTELLUNG_VidVerlaufPlyAufz_check
    If GUICtrlRead($EINSTELLUNG_VidVerlaufPlyAufz_check) = $GUI_CHECKED Then ; ----
    Else
    EndIf

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

    Case $EINSTELLUNG_QuickInfoAktiv_Check
    If GUICtrlRead($EINSTELLUNG_QuickInfoAktiv_Check) = $GUI_CHECKED Then
    $Quickview=1
    Else
    $Quickview=0
    EndIf

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

    Case $EINSTELLUNG_Quick_DauerMS_Input
    $SleepQV_time=GUICtrlRead($EINSTELLUNG_Quick_DauerMS_Input)
    $GrabberCloseFenster=GUICtrlRead($EINSTELLUNG_Grabber_anzeigeMS_input)
    Case $EINSTELLUNG_Grabber_anzeigeMS_input
    $SleepQV_time=GUICtrlRead($EINSTELLUNG_Quick_DauerMS_Input)
    $GrabberCloseFenster=GUICtrlRead($EINSTELLUNG_Grabber_anzeigeMS_input)
    Case $EINSTELLUNG_Radio_ObenLinks_VidEcButton
    _CheckButtonPos()
    Case $EINSTELLUNG_Radio_ObenRechts_VidEcButton
    _CheckButtonPos()
    Case $EINSTELLUNG_Radio_UntenLinks_VidEcButton
    _CheckButtonPos()
    Case $EINSTELLUNG_Radio_UntenRechts_VidEcButton
    _CheckButtonPos()
    Case $GUI_setting_Show_hidde_Button_trans
    $RB_BUTTONTRANS=GUICtrlRead($GUI_setting_Show_hidde_Button_trans)
    WinSetTrans($Einblend,"",$RB_BUTTONTRANS)
    Case $EINSTELLUNG_YT_autoplay
    _YTAPI_Reload()
    Case $EINSTELLUNG_YT_LoopWdg; ... ^^
    _YTAPI_Reload()
    Case $EINSTELLUNG_YT_HDwdg
    _YTAPI_Reload()
    Case $EINSTELLUNG_YT_APIbenutzerdef
    _YTAPI_Reload()
    Case $EINSTELLUNG_VidGroese_Combo
    Switch GUICtrlRead($EINSTELLUNG_VidGroese_Combo)
    Case "[Benutzer]","User","[user]","Bnutzer","B","U"
    $Benutzer_x = GUICtrlRead($EINSTELLUNG_X_FensterBENUTZER)
    $Benutzer_y = GUICtrlRead($EINSTELLUNG_Y_FensterBENUTZER)
    $Standart_X = $Benutzer_X
    $Standart_Y = $Benutzer_Y
    Case 240
    $Standart_X = 430
    $Standart_Y = 240
    Case 360
    $Standart_X = 640
    $Standart_Y = 360
    Case 480
    $Standart_X = 850
    $Standart_Y = 480
    Case 720
    $Standart_X = 1280
    $Standart_Y = 720
    Case 1080
    $Standart_X = 1920
    $Standart_Y = 1080
    Case "[FULL]","FULL","VOLL","[VOLL]"
    $Standart_X = @DesktopWidth
    $Standart_Y = @DesktopHeight
    EndSwitch
    Case $EINSTELLUNG_X_FensterBENUTZER
    $Benutzer_x = GUICtrlRead($EINSTELLUNG_X_FensterBENUTZER)
    $Benutzer_y = GUICtrlRead($EINSTELLUNG_Y_FensterBENUTZER)
    Case $EINSTELLUNG_Y_FensterBENUTZER
    $Benutzer_x = GUICtrlRead($EINSTELLUNG_X_FensterBENUTZER)
    $Benutzer_y = GUICtrlRead($EINSTELLUNG_Y_FensterBENUTZER)
    Case $Einstellung_CloseFenster

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

    $SleepQV_time=GUICtrlRead($EINSTELLUNG_Quick_DauerMS_Input)
    $GrabberCloseFenster=GUICtrlRead($EINSTELLUNG_Grabber_anzeigeMS_input)

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

    GUISetState(@SW_HIDE,$Sv_setting_gui) ;... wollen sie speichern?
    Case $Einstellung_Save

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

    ReDim $aSave[14][2]
    ;--
    $tmp = "Error"
    If GUICtrlRead($EINSTELLUNG_RunWinStart_check) = $GUI_CHECKED Then ;<-- if fileexist
    $tmp = 1
    Else
    $tmp = 0
    EndIf
    $aSave[0][0] = "RunWinStartC"
    $aSave[0][1] = $tmp
    ;--
    $aSave[1][0] = "GrabberC"
    $aSave[1][1] = $grabber
    ;--
    $aSave[2][0] = "QuickInfoC"
    $aSave[2][1] = $Quickview
    ;--
    $aSave[3][0] = "GuiButtonPos" ;Position des Hidden buttons
    $aSave[3][1] = $zumSave
    ;--
    $aSave[4][0] = "GUI_SHbuttonTrans"
    $aSave[4][1] = $RB_BUTTONTRANS
    ;--
    $tmp = "Error"
    If GUICtrlRead($EINSTELLUNG_YT_autoplay) = $GUI_CHECKED Then
    $tmp = 1
    Else
    $tmp = 0
    EndIf

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

    $aSave[5][0] = "YT_Autoplay"
    $aSave[5][1] = $tmp
    ;--
    $tmp = "Error"
    If GUICtrlRead($EINSTELLUNG_YT_LoopWdg) = $GUI_CHECKED Then
    $tmp = 1
    Else
    $tmp = 0
    EndIf
    $aSave[6][0] = "YT_Loop"
    $aSave[6][1] = $tmp
    ;--
    $tmp = "Error"
    If GUICtrlRead($EINSTELLUNG_YT_HDwdg) = $GUI_CHECKED Then
    $tmp = 1
    Else
    $tmp = 0
    EndIf
    $aSave[7][0] = "YT_HD"
    $aSave[7][1] = $tmp
    ;--
    $aSave[8][0] = "YT_API_Benutzer"
    $aSave[8][1] = GUICtrlRead($EINSTELLUNG_YT_APIbenutzerdef)
    ;--
    $aSave[9][0] = "StandartDef_X"
    $aSave[9][1] = $Benutzer_x
    ;--
    $aSave[10][0] = "StandartDef_Y"
    $aSave[10][1] = $Benutzer_y
    ;--
    $aSave[11][0] = "StartVidGroesse_Co"
    $aSave[11][1] = GUICtrlRead($EINSTELLUNG_VidGroese_Combo)
    ;--
    $aSave[12][0] = "QuickMsI"
    $aSave[12][1] = GUICtrlRead($EINSTELLUNG_Quick_DauerMS_Input)
    ;--
    $aSave[13][0] = "GrabberMsI"
    $aSave[13][1] = GUICtrlRead($EINSTELLUNG_Grabber_anzeigeMS_input)
    ;------------------------------------------------------------------
    $StringSave=_ArraySave($aSave); Aus Array ein String zum Speichern in einer Datei erstellen, aber voher Verschlüsseln.
    $check=_ArrayLoad($StringSave) ; Wieder in einer array umwandeln um zu ckecken das alles ok ist und wieder geladen werden kann.
    If IsArray($check) Then
    ;~ MsgBox(0,"test",$StringSave)
    $sData = Blowfish($SaveKey,$StringSave) ; Verschlüsseln um Fehler beim Laden vorzubeugen und sich vor Manipulation zu schlützen
    If StringLen($sData) < 2 Then
    $line=@ScriptLineNumber
    __ERROR("Save.Blowfish","Speicherfehler: Fehler beim Kodieren")
    ;~ MsgBox(0,"test",1&" "&$sData)
    ;Speicherfehler: Fehler beim Codieren
    Else
    $sMSG = MsgBox(4+32+256+262144,"Frage","Wollen Sie die Einstellungen Speichern?")
    If $sMSG = 6 Then
    If FileExists($Speicherort) Then
    FileDelete($Speicherort)
    If @error Then
    __ERROR("Save.Del","Speicherfehler: Fehler beim Überschreiben")
    ;Speicherfehler: Fehler beim Überschreiben
    Else
    FileWrite($Speicherort,$sData) ; ABSPEICHERN
    If @error Then
    $line=@ScriptLineNumber
    __ERROR("Save.Write.Del","Speicherfehler: Fehler beim Speichern der Einstellungen,"&@CRLF&"ggf. hat das Programm nicht die benötigten Rechte.")
    ;~ MsgBox(0,"test",2)
    ;Speicherfehler: Fehler beim Speichern der Einstellungen / kann vorkommen wenn man nicht alle rechte hat , vlt (?)
    EndIf
    EndIf
    Else
    FileWrite($Speicherort,$sData) ; ABSPEICHERN
    If @error Then
    $line=@ScriptLineNumber
    __ERROR("Save.Write","Speicherfehler: Fehler beim Speichern der Einstellungen,"&@CRLF&"ggf. hat das Programm nicht die benötigten Rechte.")
    ;~ MsgBox(0,"test",2)
    ;Speicherfehler: Fehler beim Speichern der Einstellungen / kann vorkommen wenn man nicht alle rechte hat , vlt (?)
    EndIf
    EndIf
    EndIf
    EndIf
    Else
    $line=@ScriptLineNumber
    __ERROR("Save.Array","Speicherfehler: Fehler in der Speicherarray.")
    ;~ MsgBox(0,"test",3)
    ;Speicherfehler: Fehler in der Speicherarray
    EndIf
    Case $End
    _GuiClose()
    Case $Einstellung_InfoUpdate_Button
    aboutI()
    Case $trans
    Strans()
    Case $Combo1
    Aufloesung()
    Case $Button2
    BlendOff()
    Case $Button1
    BlendOn()
    Case $checkbox1
    _check()
    Case $Button3
    _Link()
    Case $Beenden
    _GuiClose()
    Case $gButton1
    _StartGrabbedVID()
    Case $gButton2
    _AddSpaeterPlayListGrabber()
    Case $gButton3
    _NoRunGrabber()
    Case $setting_eins
    GUISetState(@SW_SHOW,$Sv_setting_gui)
    EndSwitch
    ;----------------------------------------------------------------

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

    ;~ If $LnkGui = 1 Then ; noch eine auswahl von allen 4 seiten hinzufügen.
    ;~ $Wpos=WinGetPos($STView)
    ;~ WinMove($Link,"",$Posxw,$Posyw)
    ;~ EndIf
    if $grabber = 1 Then
    $sClipboard = ClipGet()
    If $sClipboard <> $sOld Then
    If StringLen($sClipboard) < 512 Then
    $sOld = $sClipboard
    $ID_yt=_GetYTInfo(_URLC($sClipboard))
    If StringLen($ID_yt[0]) > 1 Then
    $line=@ScriptLineNumber
    _vSetData($ID_yt[0],$ID_yt[1]);,$vHost="YT"
    $GrabbedVID=$ID_yt[0]
    _GV_ON()
    $GrabberStop=0
    $time=TimerInit()
    While $GrabberStop = 0
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $gButton1
    _StartGrabbedVID()
    Case $gButton2
    _AddSpaeterPlayListGrabber()
    Case $gButton3
    _NoRunGrabber()
    EndSwitch
    Sleep(50)
    If TimerDiff($time) > $GrabberCloseFenster Then $GrabberStop = 1
    WEnd
    $GrabberStop=0
    $line=@ScriptLineNumber
    _GV_OFF()
    $GrabbedVID = "ERROR"
    ;~ MsgBox(0,$ID_yt[0],$sClipboard)
    EndIf
    EndIf
    EndIf
    EndIf
    If $isRgui=1 Then
    If $iRgui = 1 Then
    $Wpos = WinGetPos($rgui)
    WinMove($STView,"",$Wpos[0]+$InGuiPosx,$Wpos[1]+$InGuiPosy)
    WinMove($link,"",$Wpos[0]+$InGuiPosx,$Wpos[1]+$InGuiPosy)
    Switch 1
    Case $RadioBUTTON[0]
    WinMove($Einblend,"",$Wpos[0]+$InGuiPosx,$Wpos[1]+$InGuiPosy)
    Case $RadioBUTTON[1]
    WinMove($Einblend,"",$Wpos[0]+$InGuiPosx+($RB_BUTTONPOS_X-$RB_BUTTONPOSX_Is),$Wpos[1]+$InGuiPosy)
    Case $RadioBUTTON[2]
    WinMove($Einblend,"",$Wpos[0]+$InGuiPosx,$Wpos[1]+$InGuiPosy+($RB_BUTTONPOS_Y-$RB_BUTTONPOSY_Is))
    Case $RadioBUTTON[3]
    WinMove($Einblend,"",$Wpos[0]+$InGuiPosx+($RB_BUTTONPOS_X-$RB_BUTTONPOSX_Is),$Wpos[1]+$InGuiPosy+($RB_BUTTONPOS_Y-$RB_BUTTONPOSY_Is))
    EndSwitch
    EndIf
    EndIf
    WEnd

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

    Func _EinstellungenLaden() ;Voher laden
    ;~ Local $LSave
    If FileExists($Speicherort) Then
    $SaveData=FileRead($Speicherort)
    If StringLen($SaveData) > 8 Then
    $DeCrypData=Blowfish($SaveKey,$SaveData,1)
    If StringLen($DeCrypData) < 2 Then
    __ERROR("Load.Setting.Blowfish","Ladefehler der Einstellungen")
    ;Ladefehler der Einstellungen:
    ;~ MsgBox(0,"test",1)
    Else
    $LSave = _ArrayLoad($DeCrypData)
    If IsArray($LSave) Then

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

    ;~ _ArrayDisplay($LSave)

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

    $TempIndex=_ArraySearch($LSave,"GuiButtonPos")
    $TempData=$LSave[$TempIndex][1]
    $zumSave=$tempdata

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

    $TempIndex=_ArraySearch($LSave,"GUI_SHbuttonTrans")
    $TempData=$LSave[$TempIndex][1]
    $RB_BUTTONTRANS=$tempdata

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

    $TempIndex=_ArraySearch($LSave,"StartVidGroesse_Co")
    $TempData=$LSave[$TempIndex][1]
    $pstart=$TempData

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

    ;~ $TempIndex=_ArraySearch($LSave,"")
    ;~ $TempData=$LSave[$TempIndex][1]

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

    $TempIndex=_ArraySearch($LSave,"QuickMsI")
    $TempData=$LSave[$TempIndex][1]
    $SleepQV_time=$TempData

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

    $TempIndex=_ArraySearch($LSave,"GrabberMsI")
    $TempData=$LSave[$TempIndex][1]
    $GrabberCloseFenster=$TempData

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

    $aSetting = $LSave
    Return $LSave
    Else
    ;Ladefehler der Einstellungen: Daten nicht Korrekt
    __ERROR("Load.Setting.Data","Ladefehler der Einstellungen: Daten nicht Korrekt.")
    ;~ MsgBox(0,"test",2)
    EndIf
    EndIf
    Else
    __ERROR("Load.Setting.Read","Ladefehler der Einstellungen: Datei konnte nicht ausgelesen werden.")
    ;Ladefehler der Einstellungen: Datei konnte nicht ausgelesen werden
    ;~ MsgBox(0,"test",3)
    EndIf
    Else
    Return 0
    EndIf
    EndFunc

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

    Func _EinstellungenLaden2($LSave) ; Nachher laden
    ;~ _ArrayDisplay($LSave)
    If IsArray($LSave) Then
    ;~ MsgBox(0,"test","check")
    If IsArray($LSave) Then

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

    $TempIndex=_ArraySearch($LSave,"RunWinStartC")
    $TempData=$LSave[$TempIndex][1]
    If $tempdata = 1 Then
    GUICtrlSetState($EINSTELLUNG_RunWinStart_check,$GUI_CHECKED)
    Else
    EndIf

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

    $TempIndex=_ArraySearch($LSave,"GrabberC")
    $TempData=$LSave[$TempIndex][1]
    $grabber=$tempdata
    If $tempdata = 1 Then
    GUICtrlSetState($EINSTELLUNG_GrabberAktiv_check,$GUI_CHECKED)
    $grabber=1
    Else
    $grabber=0
    EndIf

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

    $TempIndex=_ArraySearch($LSave,"QuickInfoC")
    $TempData=$LSave[$TempIndex][1]
    $Quickview=$tempdata
    If $tempdata = 1 Then
    GUICtrlSetState($EINSTELLUNG_QuickInfoAktiv_Check,$GUI_CHECKED)
    $Quickview=1
    Else
    $Quickview=0
    EndIf

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

    $TempIndex=_ArraySearch($LSave,"YT_Autoplay")
    $TempData=$LSave[$TempIndex][1]
    If $tempdata = 1 Then
    GUICtrlSetState($EINSTELLUNG_YT_autoplay,$GUI_CHECKED)
    ;~ MsgBox(0,"test","check")
    Else
    EndIf

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

    $TempIndex=_ArraySearch($LSave,"YT_Loop")
    $TempData=$LSave[$TempIndex][1]
    If $tempdata = 1 Then
    GUICtrlSetState($EINSTELLUNG_YT_LoopWdg,$GUI_CHECKED)
    Else
    EndIf

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

    $TempIndex=_ArraySearch($LSave,"YT_HD")
    $TempData=$LSave[$TempIndex][1]
    If $tempdata = 1 Then
    GUICtrlSetState($EINSTELLUNG_YT_HDwdg,$GUI_CHECKED)
    Else
    EndIf

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

    $TempIndex=_ArraySearch($LSave,"YT_API_Benutzer")
    $TempData=$LSave[$TempIndex][1]
    GUICtrlSetData($EINSTELLUNG_YT_APIbenutzerdef,$TempData)

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

    $TempIndex=_ArraySearch($LSave,"StandartDef_X")
    $TempData=$LSave[$TempIndex][1]
    $Benutzer_x = $TempData
    GUICtrlSetData($EINSTELLUNG_X_FensterBENUTZER,$TempData)

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

    $TempIndex=_ArraySearch($LSave,"StandartDef_Y")
    $TempData=$LSave[$TempIndex][1]
    $Benutzer_y = $TempData
    GUICtrlSetData($EINSTELLUNG_Y_FensterBENUTZER,$TempData)

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

    $TempIndex=_ArraySearch($LSave,"StartVidGroesse_Co")
    $TempData=$LSave[$TempIndex][1]
    $pstart=$TempData
    GUICtrlSetData($EINSTELLUNG_VidGroese_Combo,$tempdata)

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

    $TempIndex=_ArraySearch($LSave,"QuickMsI")
    $TempData=$LSave[$TempIndex][1]
    GUICtrlSetData($EINSTELLUNG_Quick_DauerMS_Input,$tempdata)
    $SleepQV_time=$TempData

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

    $TempIndex=_ArraySearch($LSave,"GrabberMsI")
    $TempData=$LSave[$TempIndex][1]
    GUICtrlSetData($EINSTELLUNG_Grabber_anzeigeMS_input,$tempdata)
    $GrabberCloseFenster=$TempData
    EndIf
    EndIf
    EndFunc

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

    Func Aufloesung()
    Local $xv=850,$yv=480
    Switch GUICtrlRead($Combo1)
    Case "240"
    $xv=430;320 ; ka
    $yv=240
    $pstart=240
    $iRgui=1
    Case "360"
    $xv=640
    $yv=360
    $pstart=360
    $iRgui=1
    Case "480"
    $xv=850;720
    $yv=480
    $pstart=480
    $iRgui=1
    Case "720"
    $xv=1280
    $yv=720
    $pstart=720
    $iRgui=1
    Case "1080"
    $xv=1920
    $yv=1080
    $pstart=1080
    $iRgui=1
    Case "FULL"
    $guit=WinGetPos($STView)
    $Posx=$guit[0]
    $Posy=$guit[1]
    $xv=@DesktopWidth
    $yv=@DesktopHeight
    $pstart="FULL"
    $iRgui=0; = 0 Fullscreen
    ;Stoprgui
    Case "[Benutzer]","[User]","Benutzer","User"
    $Benutzer_x = GUICtrlRead($EINSTELLUNG_X_FensterBENUTZER)
    $Benutzer_y = GUICtrlRead($EINSTELLUNG_Y_FensterBENUTZER)
    $xv=$Benutzer_x
    $yv=$Benutzer_y
    $pstart="[Benutzer]"
    $iRgui=1
    EndSwitch
    $line=@ScriptLineNumber
    $Groese_x = $xv
    $Groese_y = $yv
    $RB_BUTTONPOS_X = $xv
    $RB_BUTTONPOS_Y = $yv
    GUIDelete($rgui)
    _GuiDelte()
    _rCreate($Groese_x,$Groese_y)
    _GUICreate($Groese_x,$Groese_y);<--- Style mitgeben
    $WindowOn = 1
    If $iRgui = 1 Then
    GUISetState(@SW_SHOW,$rgui)
    Else
    WinMove($STView,"",0,0);+$InGuiPosy)
    WinMove($link,"",0,0);+$InGuiPosy)
    WinMove($Einblend,"",0,0);+$InGuiPosy);<------------------------------einblendbutton bei pos. auswahl hier auch ändern
    EndIf
    GUICtrlSetData($Combo1,$pstart)
    $isRgui=1
    if $Gui_checkbox = 1 Then
    GUICtrlSetState($checkbox1,$GUI_CHECKED)
    Else
    GUICtrlSetState($checkbox1,$GUI_UNCHECKED)
    EndIf
    _check()
    If StringLen($VideoLink) > 6 Then
    $i.navigate($VideoLink)
    EndIf
    EndFunc

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

    Func CloseFenster()
    GUIDelete($rgui)
    _GuiDelte()
    EndFunc

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

    Func OpenFenster()
    _rCreate($Groese_x,$Groese_y)
    _GUICreate($Groese_x,$Groese_y);<--- Style mitgeben
    $WindowOn = 1
    ;~ If $iRgui = 1 Then
    ;~ GUISetState(@SW_SHOW,$rgui)
    ;~ Else
    ;~ WinMove($STView,"",0,0);+$InGuiPosy)
    ;~ WinMove($link,"",0,0);+$InGuiPosy)
    ;~ WinMove($Einblend,"",0,0);+$InGuiPosy);<------------------------------einblendbutton bei pos. auswahl hier auch ändern
    ;~ EndIf
    ;~ GUICtrlSetData($Combo1,$pstart)
    $isRgui=1
    if $Gui_checkbox = 1 Then
    GUICtrlSetState($checkbox1,$GUI_CHECKED)
    Else
    GUICtrlSetState($checkbox1,$GUI_UNCHECKED)
    EndIf
    _check()
    If StringLen($VideoLink) > 6 Then
    $i.navigate($VideoLink)
    EndIf
    EndFunc

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

    Func _check()
    If BitAnd( GuiCtrlRead( $Checkbox1 ), $GUI_CHECKED ) = $GUI_CHECKED Then
    GUISetStyle($WS_POPUP, $WS_EX_TOPMOST+$WS_EX_TRANSPARENT,$STView)
    $Gui_checkbox = 1
    Else
    GUISetStyle($WS_POPUP, $WS_EX_TOPMOST,$STView)
    $Gui_checkbox = 0
    EndIf
    Strans()
    EndFunc

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

    Func _Push()
    WinActivate($rgui)
    EndFunc

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

    Func _GuiDelte()
    $line=@ScriptLineNumber
    GUIDelete($STView)
    GUIDelete($Einblend)
    GUIDelete($Link)
    EndFunc

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

    Func Strans()
    WinSetTrans($STView,"",GUICtrlRead($trans))
    EndFunc

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

    Func BlendOn()
    $Einblend_show=0
    $Link_show=1
    $isRgui=1
    If $iRgui = 1 Then
    GUISetState(@SW_SHOW,$rgui)
    EndIf
    GUISetState(@SW_HIDE,$Einblend)
    GUISetState(@SW_SHOW,$Link)
    EndFunc

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

    Func BlendOff()
    $Einblend_show=1
    $Link_show=0
    $isRgui=0
    GUISetState(@SW_HIDE,$rgui)
    GUISetState(@SW_SHOW,$Einblend)
    GUISetState(@SW_HIDE,$Link)
    EndFunc

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

    Func _Link()
    $line=@ScriptLineNumber
    $Link_box=GUICtrlRead($Video_LnkInput)
    $ID_yt=_GetYTInfo(_URLC($Link_box))
    If StringLen($ID_yt[0]) > 1 Then
    $i.navigate($YoutubeVideo&$ID_yt[0]&$YoutubeVideo_API)
    $VideoLink=$YoutubeVideo&$GrabbedVID&$YoutubeVideo_API
    If $Quickview = 1 Then
    _YTGUI_QV($ID_yt[0],$ID_yt[1])
    EndIf
    ;~ MsgBox(0,"test",$YoutubeVideo&$ID_yt&$YoutubeVideo_API)
    Else
    _ERROR_NoYtLink($Link_box,$ID_yt)
    EndIf
    EndFunc
    ;------------------------------------------------------QUICKVIEW------------------------------s
    Func _vSetData($VID,$Titel,$vHost="YT")
    If $vHost = "YT" Then
    GUICtrlSetImage($vQV_PIC,_ytBildLINK($VID))
    GUICtrlSetData($vURL_ID,"Youtube ID: "&$VID)
    GUICtrlSetData($vTitle_T,$Titel)
    ;~ MsgBox(0,"test",$vid)
    EndIf
    EndFunc

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

    Func _QV_ON()
    WinMove($vQuickview,"",@DesktopWidth-350,@DesktopHeight+40)
    GUISetState(@SW_SHOW,$vQuickview)
    For $i = 0 to 140
    _HighPrecisionSleep(650)
    WinMove($vQuickview,"",@DesktopWidth-350,@DesktopHeight+10-$i)
    Next
    EndFunc

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

    Func _QV_OFF()
    For $i = 140 to 0 Step -1
    _HighPrecisionSleep(650)
    WinMove($vQuickview,"",@DesktopWidth-350,@DesktopHeight+10-$i)
    Next
    GUISetState(@SW_HIDE,$vQuickview)
    EndFunc

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

    Func _URLC($URL)
    If StringLeft($URL,4) = "http" Then
    Else
    $URL="http://"&$URL
    EndIf
    Return $URL
    EndFunc

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

    Func _YTBildURL($ytID)
    Return $thubnail_t1&$ytID&$thubnail_t2
    EndFunc

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

    Func _ytBildLINK($ytID)
    InetGet(_YTBildURL($ytID),@TempDir&"\Defa_yt.jpg")
    ;if not fileexist ... Errorbild pfad.
    Return @TempDir&"\Defa_yt.jpg"
    EndFunc
    ;--------------------------------------------------------------QUICKVIEW....................m

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

    Func _YTGUI_QV($ID,$Title)
    _vSetData($ID,$Title);,$vHost="YT")
    _QV_ON()
    Sleep($SleepQV_time) ;Zeit des Fensters
    _QV_OFF()
    EndFunc

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

    ;-----------END QV-----e
    ;..............................................GRABBERVIEW------------------------------------------@

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

    Func _ArraySave($array)
    $string=""
    For $1 = 0 to UBound($array)-1
    For $2 = 0 to UBound($array,2)-1
    $string&=$array[$1][$2]&"|"
    Next
    $SLen=StringLen($string)
    $string=StringLeft($string,$SLen-1)
    $string&=","
    Next
    $SLen=StringLen($string)
    $string=StringLeft($string,$SLen-1)
    Return $string
    EndFunc

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

    Func _ArrayLoad($sString)
    $aString=StringSplit($sString,",")
    Local $AS[$aString[0]+1][2]
    For $i = 1 to $aString[0]
    $TmpSt=StringSplit($aString[$i],"|")
    $AS[$i][0]=$TmpSt[1]
    $AS[$i][1]=$TmpSt[2]
    Next
    Return $AS
    EndFunc

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

    Func _CheckButtonPos()
    If GUICtrlRead($EINSTELLUNG_Radio_ObenLinks_VidEcButton) = $GUI_CHECKED Then
    $RadioBUTTON[0]=1
    $RadioBUTTON[1]=0
    $RadioBUTTON[2]=0
    $RadioBUTTON[3]=0
    $zumSave=0
    EndIf
    If GUICtrlRead($EINSTELLUNG_Radio_ObenRechts_VidEcButton) = $GUI_CHECKED Then
    $RadioBUTTON[0]=0
    $RadioBUTTON[1]=1
    $RadioBUTTON[2]=0
    $RadioBUTTON[3]=0
    $zumSave=1
    EndIf
    If GUICtrlRead($EINSTELLUNG_Radio_UntenLinks_VidEcButton) = $GUI_CHECKED Then
    $RadioBUTTON[0]=0
    $RadioBUTTON[1]=0
    $RadioBUTTON[2]=1
    $RadioBUTTON[3]=0
    $zumSave=2
    EndIf
    If GUICtrlRead($EINSTELLUNG_Radio_UntenRechts_VidEcButton) = $GUI_CHECKED Then
    $RadioBUTTON[0]=0
    $RadioBUTTON[1]=0
    $RadioBUTTON[2]=0
    $RadioBUTTON[3]=1
    $zumSave=3
    EndIf
    EndFunc

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

    Func _YTAPI_Reload()
    Local $tmpapi="?"
    ;~ MsgBox(0,"test","test")
    If GUICtrlRead($EINSTELLUNG_YT_autoplay) = $GUI_CHECKED Then
    $tmpapi=$tmpapi&$YT_API_AUTOPLAY&"&"
    Else
    EndIf
    If GUICtrlRead($EINSTELLUNG_YT_LoopWdg) = $GUI_CHECKED Then
    $tmpapi=$tmpapi&$YT_API_LOOP&"&"
    Else
    EndIf
    If GUICtrlRead($EINSTELLUNG_YT_HDwdg) = $GUI_CHECKED Then
    $tmpapi=$tmpapi&$YT_API_HD&"&"
    Else
    EndIf
    If StringLen(GUICtrlRead($EINSTELLUNG_YT_APIbenutzerdef)) > 2 Then
    $tmpapi=$tmpapi&GUICtrlRead($EINSTELLUNG_YT_APIbenutzerdef)&"&"
    EndIf
    $StLen=StringLen($tmpapi)
    If $StLen > 3 Then
    $YoutubeVideo_API=StringLeft($tmpapi,$StLen-1)
    Else
    If $StLen > 0 Then
    ;error
    EndIf
    EndIf
    EndFunc

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

    Func _StartGrabbedVID()
    If $GrabbedVID = "ERROR" Then
    __ERROR("Nav.Grabber.VID","Anscheind ist ein Fehler beim Navigieren aufgetreten"&@CRLF&"Ungültiger Temp.Link")
    Else
    ;~ MsgBox(0,"test",$YoutubeVideo&$GrabbedVID&$YoutubeVideo_API)
    If $WindowOn = 0 Then
    OpenFenster()
    If $Einblend_show = 1 Then
    ;~ BlendOff()
    BlendOn()
    ;~ $isRgui=1
    Else
    ;~ BlendOn()
    BlendOff()
    EndIf
    $iRgui = 1
    $WindowOn = 1
    EndIf
    $i.navigate($YoutubeVideo&$GrabbedVID&$YoutubeVideo_API)
    $VideoLink=$YoutubeVideo&$GrabbedVID&$YoutubeVideo_API
    $GrabberStop=1
    ;~ $isRgui = 1

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

    EndIf
    EndFunc

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

    Func _RUN_YT_VID($ytURL)
    ;~ If $GrabbedVID = "ERROR" Then
    ;~ __ERROR("Nav.VID","Anscheind ist ein Fehler beim Navigieren aufgetreten"&@CRLF&"Ungültiger Temp.Link")
    ;~ Else
    $IDytURL=_GetYTInfo(_URLC($ytURL))
    $i.navigate($YoutubeVideo&$IDytURL[0]&$YoutubeVideo_API)
    $VideoLink=$YoutubeVideo&$IDytURL[0]&$YoutubeVideo_API
    ;~ EndIf
    EndFunc

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

    Func aboutI()
    MsgBox(0,"Über","Der Streamviewer ist ein KOSTENLOSES Programm womit man Online-Streaming bequem nebenbei betreiben kann."&@CRLF&"Dieses Programm wurde entwickelt damit man problemlos Videos schauen kann wobei man nebenbei"&@CRLF&"Emails schreiben, Surfen, Spielen & Co kann."&@CRLF&@CRLF&"Programm Ersteller: PuReIroNie."&@CRLF&"Version: "&$PVers)
    EndFunc

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

    Func _AddSpaeterPlayListGrabber()
    MsgBox(0,"Info","Diese Funktion ist noch nicht in dieser Version enthalten.")
    EndFunc

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

    Func _NoRunGrabber()
    $GrabberStop=1
    EndFunc

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

    Func _GV_ON()
    WinMove($vQuickview,"",@DesktopWidth-350,@DesktopHeight+40)
    WinMove($gForm,"",@DesktopWidth-295,@DesktopHeight-40)
    GUISetState(@SW_SHOW,$vQuickview)
    WinSetTrans($gForm,"",0)
    GUISetState(@SW_SHOW,$gForm)
    For $i = 0 to 140
    _HighPrecisionSleep(2650)
    WinMove($vQuickview,"",@DesktopWidth-350,@DesktopHeight+10-$i)
    If $i > 110 Then
    WinSetTrans($gForm,"",$i)
    EndIf
    Next
    For $i2 = 145 to 240 Step 1
    _HighPrecisionSleep(3000)
    WinSetTrans($gForm,"",$i2)
    Next
    EndFunc

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

    Func _GV_OFF()
    For $i = 140 to 0 Step -1
    _HighPrecisionSleep(2650)
    WinMove($vQuickview,"",@DesktopWidth-350,@DesktopHeight+10-$i)
    If $i > 110 Then
    WinSetTrans($gForm,"",$i)
    EndIf
    Next
    For $i2 = 140 to 0 Step -1
    _HighPrecisionSleep(3000)
    WinSetTrans($gForm,"",$i2)
    Next
    _HighPrecisionSleep(3000)
    GUISetState(@SW_HIDE,$vQuickview)
    GUISetState(@SW_HIDE,$gForm)
    EndFunc
    ;....................................END:GRABBERVIEW--------------------------------------------------@
    Func _GuiClose()
    $MSG=MsgBox(4+32+256+262144,"Streamviewer Schließe","Wollen Sie den Streamviewer Schließen?"&@CRLF&"Dieses Fenster schließt in 10 Sekunden.",10)
    If $MSG = 6 Then
    _Exit(0)
    EndIf
    EndFunc

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

    Func _Exit($save=0)
    If $save=1 Then
    _Save()
    EndIf
    Exit
    EndFunc

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

    Func _Save()
    EndFunc

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

    Func _ERROR_NoYtLink($lnk,$idcc)
    MsgBox(48+262144,"HINWEIS",'"'&$lnk&'"'&@CRLF&'Ist kein Youtube Link!'&@CRLF&'EC: '&$idcc&"-"&$line)
    EndFunc

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

    Func __ERROR($ID,$ERRORdesc="Unbekannt")
    MsgBox(48+262144,"ERROR","Ein Fehler ist aufgetreten..."&@CRLF&@CRLF&"ERROR ID: "&$ID&"-"&$line&@CRLF&"Beschreibung: "&$ERRORdesc&@CRLF&@CRLF&"Bitte Melden Sie den Fehler an PuReIroNie @ autoit.de. - Danke")
    EndFunc

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

    Func _GetTitleFinfo($link)
    $link_titel_ex=_GetYTInfo(_URLC($link))
    If StringLen($link_titel_ex[1]) > 1 Then
    $return = $link_titel_ex[1]
    Else
    $return ="ERROR: NoTitle"
    ;@@@@@@ ERRORLOG
    EndIf
    Return $return
    EndFunc

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

    Func _GetYTInfo($link); array 0 = ID, array 1 = Titel, array 2 = error
    Dim $sURL, $aResult[3]
    $aResult[2]=""
    $aRead=BinaryToString(InetRead($link))
    $vid_ID = StringRegExp($aRead, '"video_id": "(.+?)",', 3)
    If IsArray($vid_ID) Then
    $aResult[0]=$vid_ID[0]
    EndIf
    $vid_Titel = StringRegExp($aRead, 'og:title" content="(.+?)">', 3)
    If IsArray($vid_Titel) Then
    $aResult[1]=$vid_Titel[0]
    EndIf
    If Not IsArray($vid_ID) Then
    $aResult[2]&=".ID-Err."
    EndIf
    If Not IsArray($vid_Titel) Then
    $aResult[2]&=".Title-Err."
    EndIf
    Return $aResult
    EndFunc

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

    Func _HighPrecisionSleep($iMicroSeconds, $hDll = False)
    Local $hStruct, $bLoaded
    If Not $hDll Then
    $hDll = DllOpen("ntdll.dll")
    $bLoaded = True
    EndIf
    $hStruct = DllStructCreate("int64 time;")
    DllStructSetData($hStruct, "time", -1 * ($iMicroSeconds * 10))
    DllCall($hDll, "dword", "ZwDelayExecution", "int", 0, "ptr", DllStructGetPtr($hStruct))
    If $bLoaded Then DllClose($hDll)
    EndFunc ;==>_HighPrecisionSleep

    [/autoit]

    Aber da das Projekt schon so gut wie fertig ist, macht es vlt wenig Sinn dies zu nehmen, auser man schreibt es ganz neu, und sauber.
    Mach mal am Montag auch eine Umfrage, dann sieht man wo die meiste Interesse besteht.

    Ps. Benötigte Includes und Dateien habe ich nicht mit rein gepackt.

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes: