Jump to content

Command.vbs & Optionen-Einstellungsabfrage


Tüftler

Recommended Posts

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.

Link to comment

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.

Link to comment

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. :(

Link to comment
  • 2 weeks later...

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 by Tüftler
Link to comment
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.

Link to comment
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 by Tüftler
Link to comment
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. :blush:

Danke

 

Edit: Habe gerade bemerkt, das die vorgenommenen Änderungen in der Setup.xml nur nach einem Neustart des DVBViewers wirksam werden. :blush:

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.

Link to comment

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.

Link to comment
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.

Link to comment
  • 4 weeks later...
Brauche wiedermal Rat, bezüglich der Command.vbs :blink:

 

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.

Link to comment

Auf einer Seite könnte ich dich Küssen :blink: , 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!! :bye:

o:)

Link to comment
Auf einer Seite könnte ich dich Küssen :blink: , 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!! :wub:

:bye:

 

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.

Link to comment

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 by Tüftler
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...