Tüftler Posted February 8, 2009 Share Posted February 8, 2009 Brauche wiedermal Rat, bezüglich der Command.vbs Ist es möglich über die Command.vbs die Optionen-Einstellung >TV- und Radio-Einstellungen für "Video-Anzeigebereich bei nur Audiowiedergabe schließen" abzufragen und gegebenenfalls zu ändern? (Häkchen Gesetzt/nicht gesetzt) Wie sieht es bei ähnlichen Einstellungen aus, wie zB >Playlist "Zufällige Reihenfolge" aus dem Kontextmenü. Diese Einstellung kann ich zwar über die Command.vbs setzen, aber ich müsste schon vorher wissen auf was sie steht, um den Zweck meines Scriptes zu erfüllen. Danke schonmal. Quote Link to comment
Tjod Posted February 8, 2009 Share Posted February 8, 2009 Das setzen von Optionen ist meines wissen nur möglich sofern es eine ActionID dafür gibt. Und zum Abfragen da habe ich jetzt mit DVBViewer Spy auch nichts gesehen. Da wäre aber eine Möglichkeit zum abfragen, zumindest für alle Optionen für die es nur eine ActionID gibt die Toggelt nicht schlecht. Quote Link to comment
Moses Posted February 8, 2009 Share Posted February 8, 2009 Soweit ich das verstanden hab, kann man doch aus den vbs Dateien direkt auf's COM Interface zugreifen (so läuft ja z.B. das mit dem osd.showinfointvpic usw.). Daher müsste man eigentlich auch mit den Methoden function GetSetupValue(const Section: WideString; const Name: WideString; const Default: WideString): WideString; und procedure SetSetupValue(const Section: WideString; const Name: WideString; const Value: WideString); weiter kommen. Wahrscheinlich muss man nach dem SetSetupValue noch ApplyConfig aufrufen, damit der DVBViewer sich auch danach richtet. Ausprobiert hab ich das nicht, aber ich finde das klingt vielversprechend. Quote Link to comment
Tüftler Posted February 22, 2009 Author Share Posted February 22, 2009 (edited) Danke erstmal für deine Antwort. Es funktioniert zwar, aber es erscheint folgende Fehlermeldung: -2147467259 Description: Cannot set this property while the script is.. Komisch ist halt das es geht und diese Meldung kommt. Was bedeutet dies? D.Spy meldet den Fehler bei ApplyConfig! Hier mal mein Testscript: sub main(Command) Select Case Command Case 30509 SetSetupValue "General", "Radiomode", "1" ApplyConfig End Select end sub Noch eine Frage zu GetSetupValue. Wie kann ich das ausgelesene Value vergleichen und speichern? Bsp.: Ist sie = 1 dann merke dir dies. Edited February 22, 2009 by Tüftler Quote Link to comment
dbraner Posted February 23, 2009 Share Posted February 23, 2009 Noch eine Frage zu GetSetupValue.Wie kann ich das ausgelesene Value vergleichen und speichern? Bsp.: Ist sie = 1 dann merke dir dies. Du meinst speichern bzw. merken bis zum nächsten Aufruf von command.vbs? Da fällt mir nur ein, den Wert in eine Datei zu schreiben. Könnte eine Binärdatei sein oder Du verwendest das Ini-Format. Das wäre dann auch von außerhalb des DVBV lesbar. Quote Link to comment
Tüftler Posted February 23, 2009 Author Share Posted February 23, 2009 (edited) Du meinst speichern bzw. merken bis zum nächsten Aufruf von command.vbs? Da fällt mir nur ein, den Wert in eine Datei zu schreiben. Könnte eine Binärdatei sein oder Du verwendest das Ini-Format. Das wäre dann auch von außerhalb des DVBV lesbar. Kannst du mir das in einem Befehl direkt beschreiben, da ich mich eher nur so durchkämpfe mit den scripts. Ich glaube als ini-Format in den Scriptordner geschrieben, wäre perfekt. Ich habe zwar schon einiges auf die Reihe bekommen, als Experte würde ich mich allerdings in keinster Weise bezeichnen. Danke Edit: Habe gerade bemerkt, das die vorgenommenen Änderungen in der Setup.xml nur nach einem Neustart des DVBViewers wirksam werden. Hoffe das dies nur mit dem Fehler von weiter Oben zusammenhängt!?? Edited February 23, 2009 by Tüftler Quote Link to comment
dbraner Posted February 23, 2009 Share Posted February 23, 2009 Kannst du mir das in einem Befehl direkt beschreiben, da ich mich eher nur so durchkämpfe mit den scripts.Ich glaube als ini-Format in den Scriptordner geschrieben, wäre perfekt. Ich habe zwar schon einiges auf die Reihe bekommen, als Experte würde ich mich allerdings in keinster Weise bezeichnen. Danke Edit: Habe gerade bemerkt, das die vorgenommenen Änderungen in der Setup.xml nur nach einem Neustart des DVBViewers wirksam werden. Hoffe das dies nur mit dem Fehler von weiter Oben zusammenhängt!?? Habe mal ein bischen gegoogelt und festgestellt, dass VBS leider keine eingebauten Funktionen hat, um Ini-Dateien zu verarbeiten. Aber das folgende Beispiel schreibt einen Text in eine Datei Dim fso, File, sText Const ForWriting = 2 Set fso = Server.CreateObject("Scripting.FileSystemObject") set File = fso.OpenTextFile("C:\Test.txt", ForWriting, true) sText = "Hallo" File.Write(sText) File.Close Und der Code liest wieder aus einer Datei: Dim fso, File, sText Const ForReading = 1 Set fso = Server.CreateObject("Scripting.FileSystemObject") set File = fso.OpenTextFile("C:\Test.txt", ForReading, false) sText = File.Read(10) File.Close Die Zahl 10 bedeutet, dass bis zu 10 Zeichen aus der Datei gelesen werden. Quote Link to comment
Tüftler Posted February 23, 2009 Author Share Posted February 23, 2009 Danke dir soweit, aber solange ich das Problem mit dem Neustart des DVBViewers habe, nach Setup.xml Änderung, bleibt mein Vorhaben liegen. So ist es jedenfalls nicht gut lösbar. Deine Ausführung bezieht sich auf ein externes Script denke ich, und damit habe ich erst recht keine Ahnung. Habe mich ganz langsam in die Interne ScriptEngine eingearbeitet, und das auch nur oberflächlich. Was damit für mich nicht Machbar ist, das bleibt halt. Trotzdem Danke an alle Helfer. Quote Link to comment
dbraner Posted February 24, 2009 Share Posted February 24, 2009 Danke dir soweit, aber solange ich das Problem mit dem Neustart des DVBViewers habe, nach Setup.xml Änderung, bleibt mein Vorhaben liegen.So ist es jedenfalls nicht gut lösbar. Deine Ausführung bezieht sich auf ein externes Script denke ich, und damit habe ich erst recht keine Ahnung. Habe mich ganz langsam in die Interne ScriptEngine eingearbeitet, und das auch nur oberflächlich. Was damit für mich nicht Machbar ist, das bleibt halt. Trotzdem Danke an alle Helfer. Kein externes Script. Das ist normaler VBS-Code, den du in die Command.vbs integrieren kannst. Quote Link to comment
Tüftler Posted February 24, 2009 Author Share Posted February 24, 2009 Achso, danke nochmals, werde es bei Gelegenheit ausprobieren. Quote Link to comment
dbraner Posted March 19, 2009 Share Posted March 19, 2009 Brauche wiedermal Rat, bezüglich der Command.vbs Ist es möglich über die Command.vbs die Optionen-Einstellung >TV- und Radio-Einstellungen für "Video-Anzeigebereich bei nur Audiowiedergabe schließen" abzufragen und gegebenenfalls zu ändern? (Häkchen Gesetzt/nicht gesetzt) Wie sieht es bei ähnlichen Einstellungen aus, wie zB >Playlist "Zufällige Reihenfolge" aus dem Kontextmenü. Diese Einstellung kann ich zwar über die Command.vbs setzen, aber ich müsste schon vorher wissen auf was sie steht, um den Zweck meines Scriptes zu erfüllen. Danke schonmal. Du hattest in diesem Thread mal gefragt, wie man einen Wert z.B. zwischen zwei Aufrufen der Command.vbs zwischenspeichern kann. Dies ist mit Hilfe des Datamanagers ganz einfach möglich. Um z.B. die ActionID zu merken, schreibt man in der Command.vbs: Datamanager.Value("#meinliebsterwert") = ActionID Als Value-Bezeichnung kannst Du Dir was schönes aussuchen. Nur solltest Du keinen Wert nehmen, der schon existiert (siehe DVBVSpy zur Anzeige). Beim nächsten Aufruf von Command.vbs kannst Du dann wieder auf den Wert zugreifen: Dim MeinWert MeinWert = Datamanager.Value("#meinliebsterwert") Vielleicht ist das ja mal nützlich. Quote Link to comment
Tüftler Posted March 19, 2009 Author Share Posted March 19, 2009 Auf einer Seite könnte ich dich Küssen , auf der anderen Seite auch wieder nicht. Ich wollte eigentlich meine iMonPadKonfig.zip heute updaten, aber durch deinen tollen Tipp, wird daraus wohl nichts. Zur Zeit speichere ich nämlich meinen Wert in einer Textdatei, um ihn bei erneutem Aufruf der Command.vbs wieder zu laden. Das Funktioniert super, erzeugt aber natürlich unnötige Festplattenlasten und Zeitverzögerungen bei der Abarbeitung des Scriptes. Ich bin dann mal wieder Scripten!! Quote Link to comment
dbraner Posted March 20, 2009 Share Posted March 20, 2009 Auf einer Seite könnte ich dich Küssen , auf der anderen Seite auch wieder nicht.Ich wollte eigentlich meine iMonPadKonfig.zip heute updaten, aber durch deinen tollen Tipp, wird daraus wohl nichts. Zur Zeit speichere ich nämlich meinen Wert in einer Textdatei, um ihn bei erneutem Aufruf der Command.vbs wieder zu laden. Das Funktioniert super, erzeugt aber natürlich unnötige Festplattenlasten und Zeitverzögerungen bei der Abarbeitung des Scriptes. Ich bin dann mal wieder Scripten!! Du solltest allerdings bedenken, dass die Werte im Datamanager (soweit ich weiß, hab ich nicht getestet) nach einem Neustart des DVBViewers verloren gehen. In einer Textdatei bleiben sie erhalten. Quote Link to comment
Tüftler Posted March 20, 2009 Author Share Posted March 20, 2009 (edited) Das ist sogar von Vorteil, bisher habe ich die Textdatei im Script nach der Benutzung immer gelöscht, wobei natürlich bei einem Absturz es nicht mehr dazu kommen würde. Da ich die Datei aber immer erst lese, wären dann alte Werte enthalten. Ist mit deiner Methode also besser. Edit: Funktioniert Perfekt, werde das Update sicher Heute noch hochladen. Edited March 20, 2009 by Tüftler Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.