hilfdirselbst.ch
Facebook Twitter gamper-media
dschmutzi
Beiträge: 30
16. Jul 2007, 17:46
Beitrag #1 von 8
Bewertung:
(10998 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP lernen


Bei dem Versuch einfachste Such&Tausch-Vorgänge mit GREP zu realisieren hatte ich große Probleme. Gibt es eine Möglichkeit GREP von Beginn an zu lernen. Eventuell empfehlenswerte Literatur?

[email]
Top
 
X
Martin Fischer  M  p
Beiträge: 10897
16. Jul 2007, 17:53
Beitrag #2 von 8
Beitrag ID: #302889
Bewertung:
(10975 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP lernen


Ich schreibe das ungern, aber jetzt kann ich nicht anders: Suche im InDesign-Forum nach "GREP". Einer der ältesten Treffer bezieht sich m.W. auf Einführungen zu GREP.

Schau hier: http://www.hilfdirselbst.ch/...i?post=292172#292172

Viele Grüße
Martin
als Antwort auf: [#302886]
(Dieser Beitrag wurde von Martin Fischer am 16. Jul 2007, 18:23 geändert)
Top
 
dschmutzi
Beiträge: 30
17. Jul 2007, 09:56
Beitrag #3 von 8
Beitrag ID: #302969
Bewertung:
(10919 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP lernen


Vielen Dank für die schnelle Hilfe. Es ist ein wenig tröstlich, zu sehen, dass andere auch ihre Probleme mit dem Verständnis haben, und bei den Links sollten die richtigen Informationen dabei sein.
als Antwort auf: [#302889] Top
 
dschmutzi
Beiträge: 30
17. Jul 2007, 10:45
Beitrag #4 von 8
Beitrag ID: #302984
Bewertung:
(10904 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP lernen


Noch eine Frage zu GREP
In Indesign CS2 habe ich ein Script modifiziert um Kundendateien immer nach ein und demselben Schema umzuwandeln.
Dieses Skript (Origoinal-Adobe-Script: "FindChangeByList.jsx") gibt es auch für CS3 muss aber stark modifiziert werden.
Bei dieser Gelegenheit dachte ich die Funktionalität des Skriptes mit GREP zu erweitern.
Jetzt gibt es folgendes Phänomen: Suche ich in GREP nach einem "u" findet er es, wie auch den Umlaut "ü".
Nachdem das Skript gelaufen ist findet er nur noch das "ü".
Ist das ein Bug, oder was verstehe ich hier nicht.
als Antwort auf: [#302969] Top
 
Martin Fischer  M  p
Beiträge: 10897
17. Jul 2007, 10:53
Beitrag #5 von 8
Beitrag ID: #302988
Bewertung:
(10896 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP lernen


Das "FindChangeByList.jsx" von CS3 ist buggy.
Dies wurde im Adobe Scripting Forum diskutiert.
Ich habe die Diskussion nur mit einem halben Auge notiert und weiß nicht genau, was dort als Bug diskutiert wurde. Ich meine aber, es hängt auch mit Umlauten zusammen.

Willst Du Dich dort mal schlau machen und hier berichten?

Viele Grüße
Martin
als Antwort auf: [#302984] Top
 
dschmutzi
Beiträge: 30
17. Jul 2007, 12:37
Beitrag #6 von 8
Beitrag ID: #303051
Bewertung:
(10869 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP lernen


Vielen Dank, das war ein weiterer guter Tip.

Der Autor des Skriptes weiß um seinen Bug, und will ihn demnächst beheben.

Er gibt aber einen Workaround an, der meiner Meinung nach funktioniert. Er sagt, dass man die Preferences auf "Nothing" stellen kann, aber nicht die Options. Wenn man die entsprechenden Zeilen auskommentiert funktioniert das Suchen & Tauschen nach dem Skript richtig. Wenn man das Skript als Binärdatei exportiert stimmen auch die Umlaute in den Dialogen.

Der von mir daraufhin geänderte Skriptteil sieht folgendermaßen aus:
Code
function myFindText(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){ 
//Reset the find/change preferences before each search.
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences = NothingEnum.nothing;
// app.findChangeTextOptions = NothingEnum.nothing;
var myString = "app.findTextPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeTextPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeTextOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
myFoundItems = myObject.changeText();
//Reset the find/change preferences after each search.
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences = NothingEnum.nothing;
// app.findChangeTextOptions = NothingEnum.nothing;
}
function myFindGrep(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
//Reset the find/change grep preferences before each search.
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences = NothingEnum.nothing;
// app.findChangeGrepOptions = NothingEnum.nothing;
var myString = "app.findGrepPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeGrepPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeGrepOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
var myFoundItems = myObject.changeGrep();
//Reset the find/change grep preferences after each search.
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences = NothingEnum.nothing;
// app.findChangeGrepOptions = NothingEnum.nothing;
}
function myFindGlyph(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
//Reset the find/change glyph preferences before each search.
app.changeGlyphPreferences = NothingEnum.nothing;
app.findGlyphPreferences = NothingEnum.nothing;
// app.findChangeGlyphOptions = NothingEnum.nothing;
var myString = "app.findGlyphPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeGlyphPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeGlyphOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
var myFoundItems = myObject.changeGlyph();
//Reset the find/change glyph preferences after each search.
app.changeGlyphPreferences = NothingEnum.nothing;
app.findGlyphPreferences = NothingEnum.nothing;
// app.findChangeGlyphOptions = NothingEnum.nothing;
}


Ob damit aber alles funktioniert kann ich mit meinen Skriptkenntnissen nicht beurteilen.
als Antwort auf: [#302988] Top
 
Martin Fischer  M  p
Beiträge: 10897
17. Jul 2007, 12:41
Beitrag #7 von 8
Beitrag ID: #303054
Bewertung:
(10868 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP lernen


Danke für Deine ausführliche Rückmeldung.

Viele Grüße
Martin
als Antwort auf: [#303051] Top
 
dschmutzi
Beiträge: 30
17. Jul 2007, 15:27
Beitrag #8 von 8
Beitrag ID: #303121
Bewertung:
(10831 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP lernen


Ich habe jetzt fast das ganze CS2 Skript "übersetzt" und kann nur sagen, dass GREP, wirklich sehr hilfreich ist.

Auch wenn ich erst wenige Befehle gelernt habe konnte ich etliche Zeilen "Suche&Tausch"-Anweisung sparen und damit mein Skript deutlich beschleunigen.
als Antwort auf: [#303054] Top
 
X