Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Suchen und Ersetzen mit Erfolgsliste (in Tex-Edit)

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
werkwelt
•--->
•--->


Anmeldedatum: 28.02.2005
Beiträge: 154
Wohnort: Bad Ems

BeitragVerfasst am: 15.06.2007 - 18:33    Titel: Suchen und Ersetzen mit Erfolgsliste (in Tex-Edit) Antworten mit Zitat

3000 Absätze Text für ein Buch in einem Rutsch manipulieren:

In meinem Fall geht es um 3000 »Absätze« Text für ein Buch, die ich mit AS nach Unstimmigkeiten durchsuchen möchte. Hat jemand schon solche Aufgabe erledigt? FileMaker und RagTime und Tex-Edit von Tom Bender können Textauszeichnungen einander überführen. Weil Tex-Edit auch sehr gut einen Programmvorgang von dem Skripteditor (Script Editor) aufzeichnen läßt und weil Tex-Edit für Textmanipulationen viele Skriptbefehle vorbereitet hat, entscheide ich mich für Tex-Edit:

Code:
tell application "Tex-Edit"
   
   copy "Skript: Die oberste Wortmeister-Datei wird gedoppelt und dann im Doppel nach falschen Zeichen durchsucht, diese werden geändert und oben im Doppel aufgelistet" to anfangsAnzeige
   display dialog anfangsAnzeige -- with icon script (bringt Fehlermeldung hervor)
   
   -- öffne ein neues Dokument, um dort die Änderugen vorzunehmen
   
   if not (window 1 exists) then
      beep
      return
   end if
   
   
   activate
   duplicate window 1 to front -- ein Doppel erstellen und zu Fenster 1 (ganz vorne) machen
   set bounds of window 1 to {6, 42, 706, 342}
   
   -- Suchen und Ersetzen im Doppel (Fenster 1)
   
   tell window 1
      
      replace looking for "XXX" replacing with "" -- diese und folgende Zeile als Paar vervielfältigen und an weitere Suchen-und-Ersetzen-Paare anpassen
      set beginning to "\t]XXX[ ==>>\t][" & return -- Im Textkopf entsteht eine Änderungenliste; \t steht für Tab
      
      
      -- an dieser Stelle möchte ich zählen und mitauflisten, wie oft und in welchem Textabsatz ersetzt wurde
      --
      -- Und es wäre systematischer, wenn die Ersetzungspaare in einer Liste aufgeführt sein könnten,
      -- um sie mit Schleife abzuarbeiten
      
      
      set beginning to ¬
         "Dieser Text wurde nach folgender Liste durchsucht und geändert" & return & ¬
         "Liste der Text-Änderungen:" & return
   end tell
end tell


\t steht für Tab.

3 Fragen:

1. Wie ermittle ich, in welchem Absatz eine Änderung vorgenommen wird?
2. Wie erstelle ich eine Schleife, in der eine Liste von Suchen-und-ersetzen-Paaren abgearbeitet wird?
3. Wie lasse ich die Erfolgsliste in eine Variable zusammentragen, um sie zum Schluß in eine neue Datei zu sichern?
_________________
Mit freundlichen Grüßen,
Norbert Lindenthal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
werkwelt
•--->
•--->


Anmeldedatum: 28.02.2005
Beiträge: 154
Wohnort: Bad Ems

BeitragVerfasst am: 15.06.2007 - 21:00    Titel: Re: Suchen und Ersetzen mit Erfolgsliste (in Tex-Edit) Antworten mit Zitat

17.6.2007 Nachfolgender Beitrag ist überholt und viel Quatsch.

werkwelt hat Folgendes geschrieben:
Code:


   tell window 1
      
      replace looking for "XXX" replacing with ""
      set beginning to "\t]XXX[ ==>>\t][" & return




In diesem Fall werden also XXX gelöscht.

»beginning« ersetzte ich durch zwei Variablen erfolgsBericht1 und erfolgsBericht2, in denen ich den Werdegang als Text sammeln wollte, in denen so aber nur das Vorkommen gezählt wurde. Eigentlich brauche ich ja beides:
Zitat:

set erfolgsBericht 2 to "\t]XXX[ ==>>\t][" & return
set erfolgsBericht 1 to erfolgsBericht1


_________________
Mit freundlichen Grüßen,
Norbert Lindenthal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
werkwelt
•--->
•--->


Anmeldedatum: 28.02.2005
Beiträge: 154
Wohnort: Bad Ems

BeitragVerfasst am: 17.06.2007 - 20:42    Titel: Antworten mit Zitat

Mein Skript »SuchenUndErsetzenNachListeMitErfolgsbericht« ist weit gediehen und in der Erprobung. Der ausgezeichnete rtf-Text in einem Tex-Edit-Dokument wird in ein zweites Fenster kopiert und dort aufgrund einer eigenen längeren Liste von Suchen-und-Ersetzen-Paaren manipuliert. Nach dem Vorgang wird ein weiteres Tex-Edit-Dokument hergestellt, in dem der Erfolgsbericht steht. Zu jedem Änderungspaar steht die Anzahl der durchgeführten Ersetzungen.

Bald mehr mit einem gezippten Beispieleordner.
_________________
Mit freundlichen Grüßen,
Norbert Lindenthal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
werkwelt
•--->
•--->


Anmeldedatum: 28.02.2005
Beiträge: 154
Wohnort: Bad Ems

BeitragVerfasst am: 18.06.2007 - 20:57    Titel: »selection« aufrechterhalten für nachfolgende Skriptschritte Antworten mit Zitat

Code:
set counter17 to (replace selection looking for "                 " replacing with " ")
set counter09 to (replace selection looking for "         " replacing with " ")
set counter05 to (replace selection looking for "     " replacing with " ")
set counter03 to (replace selection looking for "   " replacing with " ")
set counter02 to (replace selection looking for "  " replacing with " ")
set skriptBericht to return &
counter17 & " " & "17_" & "   " &
counter09 & " " & "9_" & "   " &
counter05 & " " & "5_" & "   " &
counter03 & " " & "3_" & "   " &
counter02 & " " & "2_" & "   " & skriptBericht
An einem Nebenschauplatz komme ich nicht weiter. Im Text mit Auszeichnungen (Tex-Edit) muß ich bei einer textauswahl mit eingerückten Versen sowohl Leerzeichenfolgen weglöschen wie auch dann CR gegen \t ersetzen. Aber
Code:
set counter to (replace selection looking for "1" replacing with "2")

löst die »selection« auf, so daß die folgenden Zeilen keine «selection« mehr vorfindet und also nichts ersetzen. Der »counter« zählt die Ersetzungen für einen Erfolgsbericht.

Wer weiß Rat?

Eigentlich muß ich nur eine dehnbare Folge ersetzen, nämlich "CR und 2 bis 20 Leerzeichen" gegen "Leerzeichen und \t"

[/quote]
_________________
Mit freundlichen Grüßen,
Norbert Lindenthal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter