Home
Products
CrossMedia-Publishing
Individual Solutions
SPEED Ferret
Prices
Order
Download
Support
References
Site map
About...

[Lillig & Zahn Company Logo]

How to start SPEED Ferret and manage your projects

SPEED Ferret is a standalone executable, programmed with Visual Basic. You can start SPEED Ferret by selecting it from the program menu (Start/Programs/SPEED Ferret) or double-clicking the SPEED Ferret desktop icon.

In the SPEED Ferret main form you will then be able to select the project you wish to edit.

Projects you already saved before, are shown in the projects lists. New allows you to add a new project. With the Activate/Deactivate button you can determine which projects will be included in the current search and replacement operations. Activated projects are highlighted with bold characters. You can activate multiple projects of different types at the same time.

Starting a Search or Replacement

To perform a search or replacement, click on Searches.

Unlike in former versions, every individual search can be saved separately for later use. Stored searches are shown in the Searches List. Use New to create a new search. With Operation you are able to select whether you want to Search, Replace or Enumerate. The Enumerate option, returns a list of all values of properties and objects included in the search. Enter your search and, if required, replace string in the Find What and Replace With text boxes. Text Matching offers you a wide range of powerful tools to fine tune your searches. There are options like Any Part of Text, Whole Word, Whole Line, Beginning/End of Word or Line, and a Pattern Search with wildcards and regular expressions.

With the Object Filter and Property Filter options, you can restrict your searches to certain elements of you application. Selected combinations of objects and properties can also be saved as Object Sets and Property Sets respectively for later use.

There's a an option form, that allows you to select which search options are shown as default values when creating a new search.

Search results, Proposed Changes, Editing Options, Saving your Changes

The outcome of your searches are shown under Results.

The results list shows you the object and property that contains the string you searched for (Site and Property), the present Value, the proposed changes (New Value) and a Status. The value in the currently selected row/column is shown in the text box above the results list. The search hit is highlighted. Sizes of list columns and the text box can be adjusted as desired. You can easily change the sort order of the records and define which records are shown according to their status (Pending, Completed, Unmodified, Read-Only or All Records).

Proposed changes in the New Value column, can manually be edit if necessary. That way you are able to enter different replacement values for each value in the list. You can use this feature for instance to manually edit all statusbar text properties one after the other.

Use the button Save Replacements to carry out the changes in the source applications. You can either select to save all changes or only those in the selected rows.

Performed Changes, Undo

With SPEED Ferret you are never in the dark about what happens. After writing your changes to the source applications SPEED Ferret tells you if everything has been successful. When a replacement is done, usually all records will have the status Completed. If you have chosen to change only selected rows, those records not included will still have the status pending.

There are however some reasons for SPEED Ferret not to perform certain changes.

You could for instance propose a modification, that would lead to a faulty syntax in a query. After the change, the query can no longer be executed, and perhaps the whole application might fail to work. You can detect this through the status Pending, can't save:... In these cases SPEED Ferret doesn't write the changes to the source applications and points you to the cause of the error.

SPEED Ferret's flexibility offers you different ways to solve such problems.
- Of course, you can leave SPEED Ferret and perform single changes in the source application itself.
- You can also use SPEED Ferret to show all places left that require extra care and change them (if necessary individually) at one go.
- If many problem cases should occur, or you realize that the whole replacement must be altered, you can also simply Undo all you changes and restart with a better replacement solution.

Advanced Search Options, Wildcards, Regular Expressions

With SPEED Ferret you can make changes in one single operation, that would take days with Access or VB.

Suppose you get a database, that your customer started to develop himself and is now asking you to continue this job. Unfortunately your customer didn't keep to common naming conventions. And now you have to carry the can! We had this problem several times in recent years and constantly SPEED Ferret was our life-saver.

Have a look at some examples, how SPEED Ferret can replace all corresponding terms in one single transaction.

1.) Your customer followed the pattern 'Order_Form' when naming his forms. You change that to 'frmOrder'

Search for: (*)_Form
Replace with: frm(1)
Result: Replaces Customer_Form with frmCustomer
Replaces Order_Form with frmOrder

This search pattern tells SPEED Ferret to search for all words ending with '_Form'. The substring matched by the wildcard character (*) is copied to a clipboard and stored for replacement purposes. You can use a maximum of nine of these substring variables in a search expression. Use the substring paste operator (i) to insert these clipboard values in your replacement string. Paste operators are numbered after the sequence of their appearance in the search String. So (1) pastes the substring matched by the first wildcard character in the search string.

2.) You can use this for instance to change the sequence of terms.

Search for: (*), (*)
Replace with: (2) (1)
Result: Replaces Einstein, Albert with Albert Einstein
Replaces Presley, Elvis ('The King') with Elvis ('The King') Presley

3.) Your customer used numbers to name some of his tables. Sorted by name, they do not appear in the desired order. You can add zeros to let them appear sorted by numbers.

...
tblSpareParts18
tblSpareParts19

tblSpareParts2
tblSpareParts20
tblSpareParts21
...

Search for: (tbl[A-Za-z]{1,99})(#{1,3})
Replace with: (1)(2:000)
Result: Replaces tblSpareParts19 with tblSpareParts019
Replaces tblSpareParts2 with tblSpareParts002
Replaces tblAccessoires1 with tblAccessoires001

4.) Your customer used date values that have to be changed

Search for: (#{1,2}/#{1,2}/##)
Replace with: (1:dddd mmmm d, yyyy)
Result: Replaces 7/21/97 with Monday July 21, 1997

When introducing naming conventions or bringing projects together, many troublesome and monotonous replacements can be combined in one single transaction.

Object- and Property Sets

Most of the search and replacement processes will cover the whole application. Object and property sets can be ignored in these cases. By default SPEED Ferret searches all objects and properties in every activated project.

For some tasks though, it can be extremely important, to replace terms only in certain objects and properties. Think of a situation, where you are translating a database fronted into a different language. All language frontends use the same backend. So you will only want to change properties like Caption, Statusbartext or ControlTiptext, but not table names or field names.

Object- and property sets for special tasks can be stored for later usage. Objects and properties to include or exclude in your search can easily be specified by the following syntax:

Objects: {+/-Interfacename.Classname.PropertyName} also e.g. {+msvb60.Control.BackColor}

Properties: {+/-Projectname.CollectionName.ObjectName} also e.g. {{-myProject.Forms.frmCustomer}

Use the plus operator (+) to add the specified properties or objects to a search. Use the minus operator (-) to remove properties or objects from a search.

In the example shown, msvb60 is the Visual Basic 6.0 Interface, Control the object class and BackColor the property, This Filter can be used to standardize the appearance of your forms.

The specifications also allow wildcard usage.

- Search all interfaces: {*.CommandBarControl.Caption}
- Search all objects of an interface having the stated property {msacc90.*.Eigenschaft}
- Search all properties of a class {mssql70.Column.*}

You can either manually enter the filter conditions in the filter text box, or easily select the values from list boxes and add them with Paste.

Nested Filter help you to include stored filters in the current one.

Substitution lists

Substitution lists are also an important new feature of SPEED Ferret. Previous versions only allowed you to perform single replacements one after another.

With SPEED Ferret you are able to perform an unrestricted number of replacements in one operation, store replacement lists and reuse the stored lists at later time.

Important applications of that feature can be translation to another language or adaptation to different clients needs.

The only thing you have to take care of is that records are sorted by the length of the string in the 'Find What' column.

Add your own Interfaces

The SPEED Ferret search engine is designed to inspect controls an other objects exposed by ActiveX servers.

Associated with every ActiveX server is a type library which describes the properties of the object exposed by the server. An object's type library provides most of the information that SPEED Ferret requires when inspecting or modifying the object's properties. But there are times when SPEED Ferret requires additional information.

For example, when saving replacements, SPEED Ferret always reads back the value of each modified property to verify that the new value was correctly assigned. But some properties are automatically trimmed or padded by their objects. And other properties may be converted to uppercase or lowercase. Without knowledge of this behavior SPEED Ferret would falsely conclude that such replacements where unsuccessful.

Interfaces provide the missing information.

To create an interface, you need to select a type library. The interface wizard then extracts the property and class definitions to build the initial version of the interface. At this point you would probably just save the interface and begin using it, assuming that all of the properties exposed by the ActiveX server are "well-behaved".

If SPEED Ferret logs an error while inspecting or replacing a specific property, you can edit that property's definition within the interface. For example you can set the IgnoreCase property or the IgnoreLeadingWhitespace property to Yes.

 

Copyright © 1996-2002
Lillig & Zahn
Last update
06/04/2002