BinaryWorks.it Official Forum
BinaryWorks.it Official Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password? | Admin Options

 All Forums
 eXtreme Movie Manager (Rel. 7), No More Updates
 Deutsches Forum
 Script: Wort aus STRING entfernen
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic

NihilBaxter
Starting Member

15 Posts

Posted - 14 Sep 2011 :  20:13:04  Show Profile  Edit Topic  Reply with Quote  View user's IP address  Delete Topic
Hallo zusammen,

ich versuche MagicScript zu lernen (mit bescheidenem C++ Vorwissen)und bin auf folgendes Problem gestoßen:

Ich möchte den "Suchtitel" am Anfang eines Skripts verändern, d.h. der Inhalt von #MOVIE# soll in eine Variable geschrieben und im nächsten Schritt verändert werden.

Schritt 1 sollte mit #GETMOVIEVAR#=#20#=%MOVIE% klappen.
(oder #GETTITLE#=#20# der Unterschied ist mir nicht ganz klar.

Damit steht ein String mit folgendem Aufbau in Variable #20#:
#20#=Film xy Szene ab

Ich möchte den Teil " Szene ab" aus dem String löschen, so dass "Film xy" stehen bleibt.Wie kann ich soetwas umsetzen?

Ich habe es mit #SEARCHREPLACEVAR#= Szene ab#20##21# versucht. In diesem Fall sind die Variablen #20# und#21# nach Ausführung der Zeile beide leer.
#DELETEWORD# (in Kombination mit #CHECKVARIABLE# und #DELETETAGS#)klappt auch nicht.
Was ist eigentlich der Unterschied zwischen beiden Befehlen?

Ich würde mich über Hilfe oder einen funktionierenden Schnipsel Code sehr freuen.
Danke vorab!

NB


JDommi
Administrator

Germany
4657 Posts

Posted - 14 Sep 2011 :  22:15:34  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Versuchs mal mit #SUBSTITUTEWEBQUERYWORD#...
#SEARCHREPLACE# - hast du vorher mit #CHECKVAR# die korrekte Variable zugewiesen?
#GETMOVIEVAR# und #GETTITLE# sind abgesehen von der Syntax scheinbar gleich.
#DELETETAGS# ist nur ein Block (Subroutine) in der die Befehle mit #DELETEWORD# stehen.

Ich hoffe, daß dir das schon weiterhilft.

In order to achieve what is possible, you have to try the impossible over and over again.
Hermann Hesse
Go to Top of Page

NihilBaxter
Starting Member

15 Posts

Posted - 15 Sep 2011 :  22:23:40  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Danke für deine Tipps, JDommi.
Ich bin was #SEARCHREPLACEVAR# angeht einen Schritt weitergekommen.
Der bei den Instructions angegeben Syntax zum Befehl ist meiner Meinung nach nicht ganz korrekt.
Richtig wäre:

#SEARCHREPLACEVAR#=text1|text2#?1##?2#

Parameters:

text1 Required. The text that shall be replaced.
| required.
text 2 not required. The text used to replace text 1.
#?1# Required. The variable that contains the data that shall be checked.
#?2# Required. The variable that contains the result after the replacement.

Das ganze funktioniert nur mit Verwendung von |.
Leider kann text1 nicht durch eine Variable #?x# ersetzt werden, was den Befehl für meinen Anwendungsfall nutzlos macht. Ich hätte den zu ersetzenden Text Szene 1 bis Scene n gerne in einer Schleife durchgezählt.
Für #SEARCHREPLACEVAR# ist eine Definition der Variable mit #CHECKVARIABLE# übrigens nicht erforderlich.
Ich werde mal weiter testen, ob ich eine Lösung finde.
Hinweise werden natürlich weiterhin gerne genommen...

NB

Edited by - NihilBaxter on 15 Sep 2011 22:47:46
Go to Top of Page

Prinz
Senior Member

Germany
1522 Posts

Posted - 16 Sep 2011 :  20:58:00  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Die Ersatztexte sind aber RegEx nur als Hinweis ;)

#SEARCHREPLACEVAR#=text1|text2#?1##?2#

Parameters:

text1 Required. The text that shall be replaced.
| required.
text 2 not required. The text used to replace text 1.
#?1# Required. The variable that contains the data that shall be checked.
#?2# Required. The variable that contains the result after the replacement.

#?2# ist eine Variable die 0 oder 1 enthalten muss und angibt ob die RegEx Suche Groß-/Kleinschreibung ignorieren soll.
Variable #?1# wird verändert, es gibt keine Ergebnisvariable. Wenn du das Original noch brauchst vorher in eine andere Variable kopieren mit #STRING#=#?1#=#?2#

PS.: Die Funktion wurde nur für ein spezielles Problem eingebaut mit den imdb.com Skript nach deren Seitenumstellung.
Go to Top of Page

JDommi
Administrator

Germany
4657 Posts

Posted - 17 Sep 2011 :  10:11:28  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Danke für die Erklärung Prinz!
Ich habe Ale gerade eine korrigierte Version der MagicScript-Hilfe gemailt.

In order to achieve what is possible, you have to try the impossible over and over again.
Hermann Hesse
Go to Top of Page

NihilBaxter
Starting Member

15 Posts

Posted - 18 Sep 2011 :  23:11:43  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Ebenfalls Danke für die Erklärung, Prinz!
Go to Top of Page
  Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
BinaryWorks.it Official Forum © Binaryworks.it Go To Top Of Page
Generated in 0.1 sec. Powered By: Snitz Forums 2000 Version 3.4.07