[GastForen Programmierung/Entwicklung AppleScript Textsuche nach Datenmuster in QXP?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Textsuche nach Datenmuster in QXP?

Anonym
Beiträge gesamt: 22827

8. Nov 2005, 13:10
Beitrag # 1 von 40
Bewertung:
(4391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
muss für mehrsprachige Preislisten versuchen, die Produktnummern zu ändern.
Fall: QXP 6.5 Dokument (Doppelseite), wie in einem typischen Katalog oder einer bebilderten Preisliste. Es gibt einen verkettenen Haupttextrahmen. Darin stehen die Produktpositionen von A bis...z.B. H untereinander immer in der Art: Position, Produktname, Beschreibung, Produktnummer, Farbe, Preis usw. Alle Bestandteile haben auf allen Seiten jeweils die gleichen Stilvorlagen zugewiesen bekommen (Also auch die Produktnummer hat eine eindeutige, eigene Stilvorlage).
Die Produktnummer sieht z.B. folgendermaßen (9-stellig) aus:
11 11 11 11 1
ich muss 2 Dinge hinbekommen:
Im einen Fall daraus ein 11 11 11 machen, oder
11 11 11 22
Der vordere Bereich der Nummer bleibt also. Hinten (rechts) muss es in der einen Sprache um 3 Stellen gekürzt werden, in der anderen Sprache werden 3 gekürzt und "55" angesetzt (getrennt mit Leerzeichen).
So kann man später im Webshop auswerten, aus welcher Preisliste und Sprache bestellt wurde.
Und das ganze bei allen Nummern eines verketteten Rahmens.
und nun die eigentliche Frage:
Kann man per AS so eine Zeichenkette suchen und entspr. bearbeiten? Evtl. könnte auch die Stilvorlage helfen, denn die Produktnummer hat eine eigene, immer gleiche Stilvorlage zugewiesen. Vielleicht schaffe ich es, irgendwie herauszufinden, wie das mit dem ersetzen geht. Dazu steht woanders auch etwas ähnliches. Wie ich aber die Daten "analysieren" kann, weiß ich noch nicht.

Ich hab auch noch eine zweite Sache, die aber im anderen Posting steht.
Viele Grüße
Kultgerd
X

Textsuche nach Datenmuster in QXP?

Hans Haesler
  
Beiträge gesamt: 5826

8. Nov 2005, 14:44
Beitrag # 2 von 40
Beitrag ID: #420337
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

das direkte Suchen und Ersetzen nach Datenmuster per Script ist in einer XPress-Textbox nicht möglich.

Das "Analysieren" der Daten geht nur über einen Umweg: Einer Variablen die Story – als reinen Text umgewandelt –
zuweisen. Und dann kann man mit einem RegEx-Werkzeug, z.B. Satimage.osax, nach Ziffern suchen und diese
nach Wunsch ersetzen. Aber dann muss man das Resultat wieder in die Textbox bringen. Und je nachdem, wie
der Text formatiert ist, kann es problematisch sein.

Also auch hier: Erst mit einem Real-Life-Projekt kann ich Dir den Weg zeigen.

Gruss, Hans


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Anonym
Beiträge gesamt: 22827

8. Nov 2005, 15:15
Beitrag # 3 von 40
Beitrag ID: #420338
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Es handelt sich um eine Textzeile aus dem QuarkXpress, in Tags umgerechnet, damit die Stilvorlegen nicht verloren gehen:
@1035_Bestell-Nr:<*p(0,0,0,8.2,0,0,g,"Deutsch")>89<\!s>16<\!s>17<\!s>58 25 <@Text/light_2000><>marine<\t><@Text/fett_2000>2 Garnituren<@$p>

Das rote ist die Stilvorlage. Das blaue die Produktnr.
ich muss nun die letzten beiden Paare löschen oder das letzte Paar "25" durch die "55" ersetzen. Das letzte soll also dann egal bei welcher Nr. die "55" werden. Ich muss für zwei verschiedene Listen einmal die eine Lösung, für die andere, die andere Lösung machen. Bin am probieren mit FileMaker, komme aber nicht recht weiter.

Hilft das ein wenig??
Viele Grüße
Gerd


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Hans Haesler
  
Beiträge gesamt: 5826

8. Nov 2005, 16:03
Beitrag # 4 von 40
Beitrag ID: #420339
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

ja, das hilft. Wenn Du den String so wie er ist, einer Variablen zuweist, dann kann wie schon erwähnt,
mithilfe der Satimage.osax das Suchen und Ersetzen vorgenommen werden. Die Syntax ist:
---
set aString to "Hello"
set newString to change "e" into "a" in aString[color=pink]
[/color][pink]-->"Hallo"[/pink]

---

Wenn gewisse Typen von Zeichen (wie z.B. Ziffern) gesucht werden sollen, dann helfen dabei die Wildcards der
"Regular Expressions". Mit der Range [0-9] wird jede Zahl zwischen 0 und 9 gefunden. Um ein Ziffernpaar
zu finden, kann man entweder [0-9][0-9] verwenden oder [0-9]+ wobei das Pluszeichen bedeutet,
dass eine oder mehr Ziffern gesucht wird. Die geschützten Zwischenräume <\!s> enthalten einen Backslash.
Weil dieser in der RegEx-Umgebung ein spezielles Zeichen ist, muss er im Suchstring vervierfacht werden,
wenn man Versuche im Script-Editor-Fenster macht.

Die Zeichenfolgen fasst man mit Klammern zu Gruppen zusammen. Im vorliegenden Fall wird die erste Gruppe
von den Paaren gebildet, welche erhalten bleiben. Die zweite Gruppe ist das Paar (inklusive Zwischenraum),
welches geändert oder entfernt werden soll.

Im Ersetzenstring kann mit \\1 auf die erste Gruppe verwiesen werden, das heisst, sie wird an dieser
Stelle eingesetzt. Statt für die zweite Gruppe \\2 zu verwenden, wird dort die literale Änderung eingefügt.
Nicht vergessen: 'with regexp' anfügen, sonst wird nichts ersetzt.
Code
[b]set aString [b]to "@1035_Bestell-Nr:<*p(0,0,0,8.2,0,0,g,\"Deutsch\")>89<\\!s>16<\\!s>17<\\!s>58 25 <@Text/light_2000><>marine<\\t><@Text/fett_2000>2 Garnituren<@$p>" 

Das letzte Ziffernpaar durch '55' ersetzen:
Code
[b]set newStringA [b]to change "([0-9][0-9]<\\\\!s>[0-9][0-9]<\\\\!s>[0-9][0-9]<\\\\!s>[0-9][0-9])( [0-9][0-9])" into "\\1 55" in aString [b]with regexp 

Die beiden letzten Ziffernpaare tilgen:
Code
[b]set newStringB [b]to change "([0-9][0-9]<\\\\!s>[0-9][0-9]<\\\\!s>[0-9][0-9])(<\\\\!s>[0-9][0-9] [0-9][0-9])" into "\\1 " in aString [b]with regexp 

Die Scripting Addition "Satimage.osax" findest Du hier http://www.satimage.fr/software/en/downloads_osaxen_pop.html
oder hier http://www.fachhefte.ch / Link "AppleScripts", Ordner "z_additions_os_x".

Hoffe, das hilft einwenig. :-)

Gruss, Hans


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Anonym
Beiträge gesamt: 22827

8. Nov 2005, 16:46
Beitrag # 5 von 40
Beitrag ID: #420340
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
vielen Dank erst Mal hierfür und auch bzgl. des anderen Postings!

Mein Problem ist noch, dass ich den ganzen Code aus der Haupttextbox vor mir habe, mit vielen Bestellnummern. Das war ein Beispiel, bei dem nur ein Teil eines Produktes betroffen ist.

Pro Doppelseite gibt es teilweise 15 - 20 Artikel und für jeden Artikel auch verschiedene Farben oder Größen. Nun muss das Script Bestellnummer für Bestellnummer finden und erkennen und anschließend die entsprechende Änderung durchführen. Jede Bestellnummer ist anders. Ich muss anhand der letzten Stellen von rechts nach links ändern (löschen bzw. ersetzen).

Viele Grüße
Gerd


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Hans Haesler
  
Beiträge gesamt: 5826

8. Nov 2005, 16:58
Beitrag # 6 von 40
Beitrag ID: #420341
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bitteschön. :-)

Mein lieber Gerd,

also ... wenn Du mir bitte mal ein Musterprojekt zustellen würdest,
samt genauer Aufgabenstellung, dann könnte ich versuchen, eine Lösung
zu finden, welche die Bestellnummern eine nach der andern behandelt.

Gruss, Hans


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Anonym
Beiträge gesamt: 22827

10. Nov 2005, 11:20
Beitrag # 7 von 40
Beitrag ID: #420342
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen (und ganz besonderer Gruss an Hans) :!:
Ich hab den ersten Teil jetzt auf eine etwas andere Weise hin bekommen.
Die Produktnummern bekomme ich über eine extra Tabelle. Die schmeiss ich ne FM DB und mach mir eine alt - neu Gegenüberstellung; in die gleiche Tabelle füg ich hintenan Datensätze die nur eine Preisgegenüberstellung haben.
Mit AS hole ich mir den in Tags gewandelten Text in FM, lasse erst die Sperrungen </s> löschen, dann die Produktnrn. austauschen, (Wobei ich einmal die neue Produktnr MIT Sperrung (für den Austausch) und einmal OHNE Sperrung (für den Abgleich) habe) anschließend die Preise. Zu guter Letzt schneide ich das Ergebnis aus und ersetzte damit den ausgewählten Text in QXP. Am Ende wird dann zurück konvertiert in (ohne Tags) und fertig. Das dauert pro Doppelseite für den Haupttextrahmen ca. 5-10 Sekunden. Dadurch, dass ich zwar ohne gesperrte Leerzeichen abgleiche, aber dann die Variante mit den gesperrten Leerzeichen abgleiche, bleiben die Stände jeweils gleich.

Das einzige, das ich nicht hinbekommen habe, ist die erste Produktnummer. Die funzt noch nicht. Mal sehen, das krieg ich schon noch hin.

LETZTES PROBLEM BIS ZUM GLÜCK:
Zu jedem Bild ist nochmal ein Textrahmen mit der Produktposition auf der Seite (A, B, C oder 1, 2, 3...) und der Preis. Ich muss nun irgendwie die Preistabelle nehmen und Rahmen für Rahmen (Außer dem höchsten, denn den hab ich dann ja schon) durchgehen und den Preis austauschen. Grundsätzlich ist es relativ gut machbar, da - egal um welches Produkt es sich handelt - je ein vorkommender Preis durch einen anderen, jeweils gleichen Preis, ausgetauscht wird (1:1)
Bsp:
alle Preise 4,99 in der Liste werden zu 8,95
alle Preise 9,99 in der Liste werden zu 14,95
alle Preis 11,48 in der Liste werden zu 15,45
usw.

Ich checke einfach nicht, wie man ne Liste Preisalt - Preisneu direkt mit einen Textrahmen nach dem anderen in QXP abgleicht. Kann man das überhaupt??
Das Script müsste dann einen Textrahmen nach dem anderen (aus besagtem größten) aufgrund des Preises prüfen und den neuen Preis einsetzen. Zur Not müsste ich das halt auch mit FM wie im Haupttextrahmen machen. Aber wie geht das, einen Rahmen nach dem anderen durchzugehen??

Fragen über Fragen...

Viele Grüße
Gerd


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Hans Haesler
  
Beiträge gesamt: 5826

10. Nov 2005, 11:56
Beitrag # 8 von 40
Beitrag ID: #420343
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

okay. Hier ist eine Ideenskizze.

Zuerst die Hauptbox auswählen und die Textkette benennen.
---
tell document 1 of application "QuarkXPress 6.5"
   tell current box
      tell story 1
         set name to "main"
      end tell
   end tell
end tell

---
Damit kann diese Textkette bei der Wiederholungsschleife, welche durch alle Stories geht,
ausgeschlossen werden.

Im zweiten Script werden zuerst die beiden Listen mit den alten und den neuen Preisen definiert.
Dann geht das Script alle Textketten durch und ersetzt mit dem XPress-Befehl 'set every text'
die alten durch die neuen Preise.
---
set oldPriceList to {"4,99", "9,99", "11,48"}
set newPriceList to {"8,95", "14,95", "15,45"}

tell document 1 of application "QuarkXPress 6.5"
   activate
   repeat with i from 1 to count of stories
      tell story i
         if name is not "main" then
            repeat with j from 1 to count of oldPriceList
               set oldPrice to item j of oldPriceList
               set newPrice to item j of newPriceList
               try
                  set (every text where it is oldPrice) to newPrice
               end try
            end repeat
         end if
      end tell
   end repeat
end tell

---

Gruss, Hans


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Hans Haesler
  
Beiträge gesamt: 5826

13. Nov 2005, 11:43
Beitrag # 9 von 40
Beitrag ID: #420344
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

danke für das Musterprojekt. Ja, Du siehst es richtig: Weil die Cents anders als die ganzen Eurobeträge
formatiert sind, kann man die Preise nicht direkt in den Textboxen suchen und ersetzen, sondern muss die
Story im XPress-Tags-Format exportieren.

Ich habe leider feststellen müssen, dass den Preisen keine entsprechende Stilvorlage zugewiesen worden
ist. Ein Beispiel: Der Preis 14,99 ist mit "Normal" formatiert. Das bedeutet, dass die Tags der lokalen
Änderungen direkt vor die Ziffern zu stehen kommen. Statt der erwarteten Kette "<k$>14<->99" wird
"<z56k-15f\"B Futura Bold\">1<k$>4<->99" exportiert.

Für interessierte Mitleser: Im XPress-Layout ist der Preis ohne Komma getippt und die 99 Cents sind
"tiefgestellt", deshalb der Tag '<->'.

In der Liste 'oldPriceList' muss deshalb das führende '<k$>' (das Zurücksetzen auf den Unterschneidungswert
der Stilvorlage) hinter die Ziffer "1" verschoben werden .

Damit nicht genug. Das Dollarzeichen ist ein Zeichen mit spezieller Bedeutung in den RegEx-Suchstrings
(Ankerpunkt für ein Zeilenende). Okay, es kann deaktiviert werden, indem man zwei Backslashes davorsetzt.
---
set aString to "<z56k-15f\"B Futura Bold\">1<k$>4<->99<$z60c$$>"
try
   set oldPrice to matchResult of (find text "[0-9]?[0-9]?[0-9]?(<k\\$>)?[0-9]<->[0-9][0-9]" in aString with regexp)
end try
-->"1<k$>4<->99"

---
Exkurs: Die Bedeutung von [0-9] ist schon weiter oben erklärt worden. Die Fragezeichen bedeuten,
dass die davorstehende Ziffer nicht vorhanden sein muss. Mit diesem Suchstring werden also ein- bis
vierstellige Preise gefunden. Normalweise könnte man die Kette kürzen zu "[0-9][1,4]<->[0-9][1,2]".
Weil aber der "Störenfried" '<k\\$>' eingefügt werden muss, ist die Option '[1,4]' (= mindestens eine,
maximal vier Stellen) nicht möglich. Dieses '<k\\$>' sollte eigentlich nach jeder Ziffer eingesetzt sein.
Damit die Suchkette aber leserlich bleibt, habe ich es hier nur einmal vorgesehen, damit wenigstens das
Beispiel abgedeckt ist. Wichtig ist, dass diese sechs Zeichen mit runden Klammern zu einer Gruppe
zusammengefasst werden. Nicht die eckigen Klammern verwenden.
---
set oldPriceList to {"1<k$>4<->99", "1<k$>9<->99", "24<->99", "39<->99"}
set newPriceList to {"<k$>24<->99", "<k$>29<->99", "<k$>34<->99", "<k$>49<->99"}
set aString to "<z56k-15f\"B Futura Bold\">1<k$>4<->99<$z60c$$>"
try
   set oldPrice to matchResult of (find text "[0-9]?[0-9]?[0-9]?(<k\\$>)?[0-9]<->[0-9][0-9]" in aString with regexp)
end try
-->"1<k$>4<->99"
repeat with i from 1 to count of oldPriceList
   if item i of my oldPriceList is oldPrice then
      set nItem to i
      exit repeat
   end if
end repeat
{oldPrice, nItem} -->{"1<k$>4<->99", 1}
set newPrice to item nItem of my newPriceList
-->"<k$>24<->99"
set newString to change oldPrice into newPrice in aString
-->"<z56k-15f\"B Futura Bold\"><k$>24<->99<$z60c$$>"

---
Im anderen Thread erwähnst Du &#150; zu Recht &#150; das Problem, wie ein Preis, welcher nicht in der Liste vorgesehen
ist, notiert werden kann. Dafür habe ich im Script eine Lösung eingebaut: Die betreffende Textbox wird mit
"Magenta" eingefärbt. So kann man sie lokalisieren und den Preis manuell berichtigen.

Ich werde Dir das Script mal zustellen. Allerdings: In Anbetracht der 1601 (!) zu berücksichtigenden Preise,
frage ich mich, ob nicht eine weniger komplizierte Methode vorzuziehen sei. Ich habe eine Idee, wie die
Texte ohne Export ins XPress-Tags-Format behandelt werden können. Muss sie zuerst realisieren, befürchte aber,
dass uns die Unterschneidungen einen Streich spielen werden ...

Gruss, Hans


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Hans Haesler
  
Beiträge gesamt: 5826

14. Nov 2005, 12:08
Beitrag # 10 von 40
Beitrag ID: #420345
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

ja, es funktioniert! Die Idee war, die Preise als reinen Text zu behandeln, z.B. "1999", das Austauschen vorzunehmen
und schliesslich den beiden letzten Stellen den Stil "Tiefgestellt" zuweisen. Damit entfällt das Exportieren im
XPress-Tags-Format in eine Datei usw. Die Elemente der Preislisten können vereinfacht werden und man muss sich nicht
darum kümmern, wie und wo das Unterschneiden aufgehoben worden ist.

Allerdings hat man das Problem, dass eventuelle Unterschneidungs-Kandidaten nicht wie bei der XPress-Tags-Variante
im voraus leicht definiert werden können. Im folgenden Script wird versucht, wenigstens der Ziffer '1' die Werte
zuzuweisen. Alle weiteren Kombinationen müssen manuell nachbearbeitet werden.

Zum Beschleunigen der Ausführung enthält das Script zwei Script-Objekte, welche mit 'do script' aufgerufen werden.
Dadurch wird beim Testprojekt die Dauer von 7.3 auf 3.8 Sekunden verringert.
---
-- einige Variablen als 'global' bezeichnen, damit sie in den Handlern bekannt sein werden
global boxNum
global newPrice
global newPriceList
global oldPriceList
global priceCount
global storyOne
global x1
global x2

-- die Liste mit den "alten" Preisen
set oldPriceList to {"1499", "1999", "2499", "3999"}
-- die Liste mit den "neuen" Preisen
set newPriceList to {"1599", "2999", "3499", "4999"}
-- die Anzahl der Elemente der Liste wird gezählt
set priceCount to count of oldPriceList

tell document 1 of application "QuarkXPress 6.5"
   activate
   set selection to null
   -- eine Wiederholungsschleife durch die Textketten
   repeat with i from 1 to count of text boxes
      tell text box i
         set boxNum to i
         -- der Variablen 'storyOne' die aktuelle Textkette zuweisen
         set storyOne to do script {getStory}
         if storyOne is not "" then
            -- den zu ändernden Preis, dessen Position und Länge feststellen
            set someDigits to (find text "[0-9]{1,6}" in storyOne with regexp)
            -- der Variablen 'oldPrice' den alten Preis zuweisen
            set oldPrice to matchResult of someDigits
            -- den Handler aufrufen, welcher den neuen Preis zurückgibt
            set newPrice to my getNewPrice(oldPrice)
            -- wenn es geklappt hat ...
            if newPrice is not "" then
               -- der Variablen 'x1' die Position ...
               set x1 to (matchPos of someDigits)
               -- ... und 'x2'die Länge zuweisen
               set x2 to (matchLen of someDigits)
               do script {changePrice}
            else
               set properties to {color:"Magenta", shade:50}
            end if
         end if
      end tell
   end repeat
   display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 2
end tell

script getStory
   set someDigits to ""
   tell document 1 of application "QuarkXPress 6.5"
      tell text box boxNum
         -- nur wenn die Anzahl Zeichen grösser als 2 und kleiner als 99 ist ...
         if (count of characters of story 1) is greater than 2 and (count of characters of story 1) is less than 99 then
            set storyOne to story 1
         else
            set storyOne to ""
         end if
      end tell
   end tell
   if storyOne is not "" then
      try
         -- prüfen, ob die Story mindestens 3 aufeinanderfolgende Ziffern enthält
         set someDigits to matchResult of (find text "[0-9]{3,3}" in storyOne with regexp)
      end try
   end if
   if someDigits is "" then
      set storyOne to ""
   end if
   return storyOne
end script

on getNewPrice(oldPrice)
   repeat with i from 1 to count of oldPriceList
      if item i of my oldPriceList is oldPrice then
         set nItem to i
         exit repeat
      end if
   end repeat
   try
      set newPrice to item nItem of my newPriceList
      return newPrice
   on error
      return ""
   end try
end getNewPrice

script changePrice
   tell document 1 of application "QuarkXPress 6.5"
      tell text box boxNum
         try
            -- den neuen Preis einsetzen
            set characters (x1 + 1) thru (x1 + x2) of story 1 to newPrice
            set x3 to count of newPrice
            -- die Cents tiefstellen
            set style of characters ((x1 + x3) - 1) thru (x1 + x3) of story 1 to {subscript}
            -- das Unterschneiden bei der '1' vornehmen
            if newPrice contains "1" then
               repeat with i from 1 to (x3 - 1)
                  set curChar to (x1 + i)
                  tell story 1
                     if character curChar is "1" then
                        if character (curChar + 1) is "1" then
                           set kern of character curChar to -30
                        else
                           set kern of character curChar to -15
                        end if
                     end if
                  end tell
               end repeat
            end if
         on error
            set properties to {color:"Magenta", shade:50}
         end try
      end tell
   end tell
end script

---
Auch dieses Script stelle ich Dir zu. Dann kannst Du entscheiden, welches geeigneter ist.

Gruss, Hans


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Anonym
Beiträge gesamt: 22827

14. Nov 2005, 14:15
Beitrag # 11 von 40
Beitrag ID: #420346
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
1000 Dank für die Scripts. Ich hab schon einige Tests gemacht. Mit der Musterseite geht es problemlos. Habe noch ein bischen Probleme, bei anderen Seiten als der Musterseite. Während des Script-Durchlaufs beim ersten Script stürzt QuarkXpress ab. Schicke Dir ScreenShots diesbzgl. zu.

Beim 2. Script scheint nur der erste Preis geändert zu werden, sobald ich die Musterseite mit Bildmaterial und Fussleiste verwende. Wenn ich Dann verschiedene Kompnenten (z.B. Fussleiste) lösche, dann stürzt auch wieder QuarkXpress ab.

Ich probiere mal, vielleicht kann ich das Problem einschränken.

Vielen Dank nochmals und die besten Grüße
Gerd


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Hans Haesler
  
Beiträge gesamt: 5826

14. Nov 2005, 14:31
Beitrag # 12 von 40
Beitrag ID: #420347
Bewertung:
(4391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

bitteschön.

Abstürze sind ärgerlich. Hatte auch ein paar erlebt, während des Entwickelns des ersten Scripts.
Die Ursache war aber immmer eine unzulässig abgeänderte Textkette (musste halt ein bisschen pröbeln)
oder ein nichtkonformes Adressieren von XPress-Objekten.

Was ist, wenn Du die Fussleiste enfernst, bevor Du das Script startest?

Würdest Du mir bitte auch ein Projekt mit Fussleiste und Bildboxen (Bilder entfernen) senden?
Bitte zippen, damit alles geschützt ist. Danke im voraus.

Gruss, Hans


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Anonym
Beiträge gesamt: 22827

14. Nov 2005, 14:34
Beitrag # 13 von 40
Beitrag ID: #420348
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
ich bau das mal um um schick Dir das noch.
Ich fürchte, einen hab ich dann noch: Ich hab gerade die Info bekommen, dass wir "Ganze" Preis in der Form 14,- und nicht 1400 bekommen. Gibt es dafür auch eine Formaterkennung mit regexp?

Ich probier mal inzwischen weiter.

Viele Grüße
Gerd


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Hans Haesler
  
Beiträge gesamt: 5826

14. Nov 2005, 14:49
Beitrag # 14 von 40
Beitrag ID: #420349
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

was meinst Du mit "Ganze"?  Sind das Preise, welche ganze Euros (ohne Cents) zeigen?
Wird ein Halbgeviertstrich verwendet? Sicher gibt es dafür ein RegEx-Suchmuster.
Ich müsste aber ein Musterprojekt bekommen (inkl. Beispiel des neuen Preises), damit ich
das Script ergänzen kann.

Gruss, Hans


als Antwort auf: [#420336]

Textsuche nach Datenmuster in QXP?

Anonym
Beiträge gesamt: 22827

14. Nov 2005, 16:48
Beitrag # 15 von 40
Beitrag ID: #420350
Bewertung:
(4390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
es ist, wie du richtig vermutest. Die Euro-Cent entfallen (Also kein 1400) sondern ein 14,-. das Komma und der Bindestrich werden in der Schriftgröße der 14 erstellt. Es handelt sich also um einen ganz einfach Bindestrich. Ich werd Dir spätestens morgen die Datei mit den Rahmen zusenden.

Viele Grüße
Gerd


als Antwort auf: [#420336]
X