[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Problem mit Grep

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Problem mit Grep

WernerPerplies
Beiträge gesamt: 2762

13. Mär 2012, 09:33
Beitrag # 1 von 8
Bewertung:
(2636 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich biete in einigen meiner Skripte dialoggeführt die Suche per Grep an und bin auf folgendes Problem gestoßen:

Der nicht sehr sinnige Grep-Ausdruck (?=\w+) führt im normalen InDesign-Suchdialog zur kurzer Aktivität und dann zur Positionierung auf Textanfang.

Der gleiche Ausdruck über
app.activeDocument.findGrep().length;
aufgerufen führt zum Hänger in InDesign, manchmal kommt in der JavaScript-Konsole noch eine Timeout-Meldung, oft wird InDesign nach langer Wartezeit unkontrolliert geschlossen.

Getestet mit CS4 unter Windows, aber es würde mich wundern, wenn andere Versionen sich da kontrollierter verhalten.

Jetzt kommt meine eigentlich Frage:

Kann man diese Situation, ähnlich wie Indesign selbst, kontrolliert abfangen?
X

Problem mit Grep

Martin Fischer
  
Beiträge gesamt: 12783

13. Mär 2012, 10:08
Beitrag # 2 von 8
Beitrag ID: #491726
Bewertung:
(2619 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Herr Perplies,

Antwort auf: app.activeDocument.findGrep().length;


... führt bei mir unter InDesign CS5 wie bei Ihnen zum Stillstand von InDesign, der durch Abschießen beendet werden muss (vielleicht bin ich auch zu ungeduldig und warte nicht lange genug).

Das geht:
Code
app.findGrepPreferences = null; 
app.findGrepPreferences.findWhat = '(?=\\w+)';
var result = app.activeDocument.findGrep(); //.length;
$.writeln( result.length);



als Antwort auf: [#491724]
Beitrag wurde von WernerPerplies gelöscht.
WernerPerplies
Beiträge gesamt: 2762

13. Mär 2012, 10:23
Beitrag # 3 von 8
Beitrag ID: #491730
Bewertung:
(2609 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 

Problem mit Grep

Martin Fischer
  
Beiträge gesamt: 12783

13. Mär 2012, 10:25
Beitrag # 4 von 8
Beitrag ID: #491731
Bewertung:
(2609 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke ;-)


als Antwort auf: [#491730]

Problem mit Grep

WernerPerplies
Beiträge gesamt: 2762

13. Mär 2012, 10:45
Beitrag # 5 von 8
Beitrag ID: #491735
Bewertung:
(2587 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag Herr Fischer,

ich muss mich entschuldigen, es ist wohl nicht mein Tag heute, zweimal einen Beitrag versehentlich abgeschickt, und die eigentliche Anwort gelöscht, ich melde mich noch mal, wenn ich den Beitrag neu geschrieben habe, denn er wurde, warum auch immer, auch im Browsercache gelöscht!


als Antwort auf: [#491731]

Problem mit Grep

WernerPerplies
Beiträge gesamt: 2762

13. Mär 2012, 10:58
Beitrag # 6 von 8
Beitrag ID: #491737
Bewertung:
(2570 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also noch einmal:

Zuerst einmal vielen Dank für den Test.

Bei mir führt auch Ihr Beispiel auch in's Aus, und zwar sowohl in Ihrer Variante:
Code
app.findGrepPreferences = null;  
app.findGrepPreferences.findWhat = '(?=\\w+)';
var result = app.activeDocument.findGrep(); //.length;
$.writeln( result.length);


als auch in meiner Variante:
Code
app.findGrepPreferences = NothingEnum.nothing;  
app.findGrepPreferences.findWhat = '(?=\\w+)';
var result = app.activeDocument.findGrep(); //.length;
$.writeln( result.length);


Aber, selbst wenn es funktioniert hätte, wäre mein Problem nicht gelöst gewesen.

Ich biete meinen Anwendern diesen Dialog an:

WpsHyperLinkTools-Suchdialog

Hier hat der Anwender die Möglichkeit, einen Suchausdruck in InDesign zu definieren und ggf. auszutesten, danach kann sie/er diese Einstellungen in mein Skript übernehmen und ausführen.

Und da ist es natürlich fatal, wenn solch ein Ausdruck dann InDesign abschießt.

Und jetzt noch einmal die Frage, gibt es eine Chance, diese Situation abzufangen?


als Antwort auf: [#491731]

Problem mit Grep

drerol74
Beiträge gesamt: 507

17. Mär 2012, 16:23
Beitrag # 7 von 8
Beitrag ID: #492026
Bewertung:
(2455 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

das Problem tritt bei mir in der gleichen Weise auf. (Über ein UI wird ein GREP-Ausdruck eingegeben.)

Übrigens auch bei folgenden Ausdrücken:

Code
app.findGrepPreferences.findWhat = “\\w?”;  // auch mit “\\L? … 


Code
app.findGrepPreferences.findWhat = “h?”;  // auch mit s?, w?, … L? … 


Code
app.findGrepPreferences.findWhat = “w?i?”;  // auch mit W?t? … 


Ich konnte bisher keine Lösung dafür finden (außer diese GREP-Ausdrücke auszuschließen). Wobei sich die Frage stellt, wie viele es noch gibt.

Wie sieht es bei dir aus?

Schöne Grüße
Roland


als Antwort auf: [#491737]

Problem mit Grep

WernerPerplies
Beiträge gesamt: 2762

17. Mär 2012, 17:00
Beitrag # 8 von 8
Beitrag ID: #492029
Bewertung:
(2440 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Roland,

Zitat Ich konnte bisher keine Lösung dafür finden (außer diese GREP-Ausdrücke auszuschließen).



Ich auch nicht. ;-)

Zitat Wobei sich die Frage stellt, wie viele es noch gibt.


Tausende?

Das hat wohl irgend etwas mit unbefriedigten Lookaheads zu tun, wobei die Regex-Machine vom Microsoft NET-Framework durchaus ein für mich sinnvoelles Ergebnis liefert:
Wps RegEx

Zitat Wie sieht es bei dir aus?


Genauso, was dann wiederum gegen meine Lookahead-These spricht.


als Antwort auf: [#492026]
X