Home
Produkte
CrossMedia-Publishing
Individuelle Lösungen
SPEED Ferret
Preise
Bestellung
Wownload
Support
Referenzen
Site map
Presse
Links
About...

[Lillig & Zahn Company Logo]

Starten von SPEED Ferret und Verwalten von Projekten

SPEED Ferret ist eine eigenständige Applikation, die mit Visual Basic programmiert ist. Sie starten SPEED Ferret einfach aus dem Menü Programme oder über ein Desktop Icon.

Danach öffnet sich das Hauptformular zur Verwaltung aller wesentlichen Programmfunktionen.

Die bereits angelegten Projekte werden in der Liste unter Projects angezeigt. Mit New legen Sie neue Projekte an. Über Activate/Deactivate legen Sie fest, in welchen Projekten Sie aktuell Such- und Ersetzungen wollen. Aktivierte Projekte erscheinen fett hervorgehoben. Die Suche kann sich gleichzeitig über Projekte auf unterschiedlichen Plattformen erstrecken.

Starten eines Such- oder Ersetzungsvorgangs

Zum Start eines Such- oder Ersetzungsvorgangs klicken Sie auf Searches.

Suchvorgänge können im Gegensatz zu vorherigen Programmversionen einzeln abgespeichert und wieder verwendet werden. Gespeicherte Suchvorgänge werden in der Liste unter Searches angezeigt. Mit New beginnen Sie einen neuen Suchvorgang. Mittels Operation legen Sie fest, ob Sie Suchen, Ersetzen oder alle Werte von bestimmten Eigenschaft bzw. Objekten angezeigt bekommen möchten (Enumerate). Über Find What bzw. Replace With geben Sie den gesuchten und gegebenenfalls den zu ersetzenden Wert ein. Text Matching liefert Ihnen eine Auswahl von mächtigen Hilfswerkzeugen zur Festlegung des Suchverhaltens. Zu den Möglichkeiten zählen neben einfachen Varianten, wie beliebiger Text, Ganzes Wort, Ganze Zeile, Beginn/Ende von Wort/Zeile, eine Mustersuche mit Wildcard und Regular Expressions.

Object Filter und Property Filter schließlich ermöglichen Ihnen die Suche auf bestimmte Objekte, oder bestimmte Eigenschaften zu beschränken. Auch hierfür können Sie wieder ausgewählte Kombinationen von Objekten und Eigenschaften als Object Sets bzw. Property Sets abspeichern und wiederverwenden.

Über einen Optionsdialog läßt sich festlegen, welche Optionen standardmäßig ausgewählt werden.

Anzeige der Suchergebnisse bzw. Ersetzungsvorschläge, Bearbeitungsmöglichkeiten, Speichern der Änderungen

Das Ergebnis Ihres Suchvorgangs wird unter Results angezeigt.

Die Liste mit den Suchergebnissen zeigt die Fundstelle (Site), Die Eigenschaft in der der gesuchte Begriff enthalten ist (Property), den bisherigen Wert (Value), die vorgeschlagene Änderung (New Value), sowie einen Status, der hier Pending also 'offen / noch durchzuführen' ist. Oberhalb der Liste wir der Wert in der aktuellen Zeile/Spalte ausführlich in einem Textfeld angezeigt. Die Fundstelle ('Artikelnummer') ist farblich und fett hervorgehoben. Das Textfeld und die Tabellenspalten lassen sich natürlich beliebig in der Größe anpassen. Nach allen Spalten kann sortiert werden.

Der Wert von New Value ist durch Klicken in das Eingabefeld frei editierbar. Auf diese Weise können Sie einzeln neue (auch völlig unterschiedliche) Werte eingeben. So lassen sich zum Beispiel alle Statuszeilentexte einer Applikation am Stück editieren. Zum Durchführen der vorgeschlagenen Änderungen können Sie entweder einzelne gewünschte Zeilen markieren, oder alle Einträge ersetzen.

Über Save Replacements schließlich, führen Sie die Änderungen an den Quelldateien aus.

Durchgeführte Änderungen, Kontrollfunktionen, Undo

SPEED Ferret läßt Sie nie im Unklaren darüber, ob Ihre Änderungswünsche überall wunschgemäß durchgeführt werden können. In der Regel werden Sie bei Datensätzen nach Durchführen der Änderungen den Status Completed sehen. Sollten Sie nur bestimmte Änderungen selektiert haben erscheinen die nicht ausgewählten nach wie vor als offen (pending).

Es gibt verschiedene Gründe warum SPEED Ferret bestimmte Änderungen nicht durchführt und das ist auch gut so.

Beispielsweise könnten Sie eine Ersetzung vorschlagen, die in einer Abfrage zu einer fehlerhaften Syntax führen würde. Die Abfrage wäre hinterher nicht mehr durchführbar und unter Umständen Ihr gesamtes Programm nicht mehr lauffähig.

Sie erkennen dies am Status Pending, can't save:... In solchen Fällen läßt SPEED Ferret die Änderungen offen und weist Sie genau darauf hin, wo die Ursache hierfür zu suchen ist.

Die große Flexibilität von SPEED Ferret gibt Ihnen nun viele Möglichkeiten solche Fälle zu lösen.
- Bei einer einzelnen undurchführbaren Änderung könnten Sie SPEED Ferret natürlich einfach verlassen und die Änderung direkt am Programm durchführen.
- Sie können sich aber auch einfach von SPEED Ferret die noch verbliebenen Stellen anzeigen lassen, und diese (falls erforderlich auch individuell) anpassen und alle auf einmal speichern.
- Sollten viele Problemstellen auftauchen, oder falls Sie erkennen, dass die ganze Ersetzung anders gestaltet werden müßte, dann verwenden Sie einfach Undo, um alle Ihre Änderungen rückgängig zu machen und das Ersetzungsproblem neu anzupacken.

Erweiterte Suchfunktionen, Wildcards, Regular Expressions

Mit SPEED Ferret können Sie mit einem einzigen Ersetzungsvorgang Änderungen durchführen, für die Sie mit Access, oder VB Tage brauchen würden.

Nehmen wir an, Sie bekommen eine Datenbank, deren Entwicklung ein Kunde selbst begonnen hat, und Sie nun mit der Weiterentwicklung beauftragt. Leider hat sich Ihr Kunde nicht an gängige Namenskonventionen gehalten und nun müssen Sie die Sache ausbaden! Wir hatten diese Problem selbst öfter in den vergangenen Jahren und stets war SPEED Ferret unser Lebensretter.

Einige Beispiele dafür, wie Sie jeweils mit einem einzigen Ersetzungsvorgang alle entsprechenden Begriffe umbenennen können

1.) Ihr Kunde hat alle seine Formulare nach dem Schema 'Kunden_Formular' benannt. Sie machen daraus 'frmKunden'

Suchen nach: (*)_Formular
Ersetzen durch: frm(1)
Ergebnis: Ersetzt Kunden_Formular durch frmKunden
Ersetzt Personal_Formular durch frmPersonal

Der Wildcard-Character bewirkt, dass SPEED Ferret alle Worte sucht, die mit '_Formular' enden. Der Rest des Wortes also im Beispiel 'Kunden' wird zwischengespeichert. Beim Ersetzen steht (1) für das Suchergebnis des ersten Wildcard characters (bzw. des ersten Zwischenspeichers) der Suche. (*)

2.) Bei mehreren Suchparametern können Sie dann zum Beispiel die Reihenfolge von Begriffen vertauschen

Suchen nach: (*), (*)
Ersetzen durch: (2) (1)
Ergebnis: Ersetzt Schmidt, Harald durch Harald Schmidt
Ersetzt Presley, Elvis ('The King') durch Elvis ('The King') Presley

3.) Ihr Kunde hat durchnumerierte Tabellen, die sich nur durch eine oder mehrere Ziffern am Ende unterscheiden.
Bei der Listenanzeige werden die Tabellennamen wie folgt sortiert:

...
tblErsatzteile18
tblErsatzteile19

tblErsatzteile2
tblErsatzteile20
tblErsatzteile21
...

Suchen nach: (tbl[A-Za-z]{1,99})(#{1,3})
Ersetzen durch: (1)(2:000)
Ergebnis: Ersetzt tblErsatzteile19 durch tblErsatzteile019
Ersetzt tblErsatzteile2 durch tblErsatzteile002
Ersetzt tblZübehör1 durch tblZubehör001

4.) Ihr Kunde hat Datumswerte definiert, deren Formatierung geändert werden muß

Suchen nach: (#{1,2}/#{1,2}/##)
Ersetzen durch: (1:dddd mmmm d, yyyy)
Ergebnis: Ersetzt 7/21/97 durch Monday July 21, 1997

Bei der Einführung von Namenskonventionen oder der Zusammenführung von Projekten lassen sich so viele lästige und vor allem monotone Ersetzungsvorgänge zu einem einzigen zusammenfassen.

Object- und Property Sets

Die Mehrzahl Ihrer Suchvorgänge wird sich über die gesamte Applikation erstrecken. Für diese Suchvorgänge brauchen Sie den Object- und Property Sets keine weitere Beachtung zu schenken. SPEED Ferret sucht standardmäßig in allen Objekten und Eigenschaften.

Für manche Aufgaben kann es aber extrem wichtig sein, Begriffe nur in bestimmten Objekten und Eigenschaften zu ersetzen. Denken Sie daran, das Sie Ihr Programm in eine andere Sprache übersetzen wollen. Vielleicht möchten Sie dann nur Eigenschaften wie Caption, Statusbartext oder ControlTiptext ersetzen, nicht jedoch Tabellen- oder Feldnamen.

Mit den Object- und Property Sets haben Sie die Möglichkeit genau an den Stelle zu ersetzen wo Sie es wünschen.

Die Object- und Property Sets für bestimmte Aufgabe können Sie abspeichern und wiederverwenden. Zu durchsuchende Objekte werden mit einer einfachen Syntax festgelegt.

Sie besteht immer aus {Interfacename.Klassenname.Eigenschaft} also z.B. {msvb60.Control.BackColor}

Im genannten Beispiel steht msvb60 für das Visul Basic 6.0 Interface, Control die Objektklasse und BackColor die gewünschte Eigenschaft. Dieser Filter kann Ihnen helfen, das aussehen Ihrer Formulare zu vereinheitlichen.

Über Wildcards können ganze Bereiche in die Suche einbezogen werden.

- Suche über alle Interfaces: {*.CommandBarControl.Caption}
- Suche in allen Objekten /Klassen die über die angegebene Eigenschaft verfügen {msacc90.*.Eigenschaft}
- Suche über alle Eigenschaften einer Klasse {mssql70.Column.*}

Die Filterbedingungen können sie entweder in der genannten Syntax in das obere Fenster eintippen, oder bequem mit den Listenfeldern auswählen und über Paste anfügen. Filter lassen sich sowohl additiv (+) als auch subtraktiv (-) definieren.

Über Nested Filter können Sie neue Filter aus bereits gespeicherten anderen Filtern zusammensetzen.

Substitution lists

Substitution lists sind ebenfalls eine mächtige Eigenschaft von SPEED Ferret. In den vorausgegangenen Versionen konnten Sie nur einzelne Ersetzungsvorgänge nacheinander ausführen.

SPEED Ferret erlaubt es

- eine beliebige Anzahl von Ersetzungen nacheinander durchzuführen,
- die Ersetzungsliste abzuspeichern
- und die Ersetzungsvorgänge jederzeit erneut durchzuführen

Vorrangige Aufgabe dieser Funktion, kann das Übersetzen einer Anwendung in eine andere Sprache, oder die Anpassung an bestimmte Anwenderkreise sein.

Das Einzige worauf Sie achten müssen, ist letztlich, dass die zu ersetzenden Begriffen nach ihrer Länge sortiert sind.

Zusätzliche Interfaces selbst definieren

Die SPEED Ferret Suchengine ist konzipiert, um Controls und andere Objekte, die ein ActiveX Server (früher OLE automation Server) offen legt. Zu jedem ActiveX Server gehört eine Type Library, die die Eigenschaften der Objekte beschreibt, welche der AcritveX Server offen legt.

Die Type Library enthält die meisten Funktionen, die SPEED Ferret zum durchsuchen oder Ändern der Objekteigenschaften benötigt. Gelgentlich aber braucht SPEED Ferret zusätzliche Informationen.

Wenn SPEED Ferret zum Beispiel Änderungen in ein Objekt schreibt, liest es die Werte hinterher immer noch einmal aus, um zu prüfen, ob die Änderungen erfolgreich waren. Manche Eigenschaften werden von Ihren Objekten aber Abgeschnitten oder Erweitert. Andere Eigenschaften werden in Groß- oder Kleinschreibung konvertiert. Ohne das Wissen über solche Besonderheiten, würde SPEED Ferret annehmen, die Änderungen wären nicht erfolgreich gewesen. Die Interfaces liefern diese Informationen. Den meisten Anwendern werden die im Lieferumfang von SPEED Ferret enthaltenen Interfaces genügen.

Um ein neues Interface zu erstellen, wählen Sie einfach eine Type Library aus. Der Interface Wizard extrahiert die Eigenschaften und Klassendefinitionen und erzeugt eine erste Version des Interfaces.

An dieser Stelle werden Sie vielleicht einfach das Interface abspeichern und ausprobieren in der Annahme, es wird sich um ein gutmütiges Interface handeln. Wenn SPEED Ferret beim ausprobieren einen Fehler meldet, können Sie dann gezielt die Definition einer bestimmten Eigenschaft im Interface ändern. Zum Beispiel können Sie die Eigenschaften IgnoreCase oder IgnoreLeadingWhitespace auf Wahr setzen.

 

Copyright © 1996-2002
Lillig & Zahn
Letzte Aktualisierung
04.06.2002