You are allowed to use this program for testing and evaluation until
a next version is available.
The program, in its current version, may be installed on as many
machines as you like.
You are free to distribute the program provided that you include
all the files in the original archive without any modification.
You are not allowed to sell the program, but can charge a
reasonable amount to cover the cost of the distribution media.
Under no circumstances will the author be liable for any loss or
damage that may be derived from the use of the program.
ACDataSeeker is the copyrighted property of Alessandro Felice Cantatore,
Bitonto, Bari, Italy.
Introduction
As a forgetful developer, I tend to use quite often the old "Seek and
Scan Files" (PMSEEK.EXE) included with OS/2, to find text in the system
header files or other source files, or just to find some old news message
I had saved a few years ago.
Unfortunately PMSEEK.EXE has serious flaws and using it is not always
a pleasent experience, so I decided to code a more functional and feature
rich program.
The program is currently quite basic as it is still lacks some essential
PMSEEK features like the ability to drag files to an Enhanced editor window
or to edit the selected file. On the other hand it already has some little
extra option and a more attractive (I hope) interface.
Even if the program is far from complete, I decided to make it available
in its current stage, as I want to start to get some feedback so I can easily
modify it, while working on implementing the still missing features.
What's new
Version 0,41 solves a serious memory leak problem of version 0.4.
Installation
At the moment the program just consists in a single executable and since
it does not use any entry in the CONFIG.SYS or in the system INI files, you
can copy the file anywhere you like and use the WPS to create a program object
on your desktop or where you prefer.
The program, once started will create an initialization file in the executable
path.
To uninstall the program just delete DATASEEK.EXE, DATASEEK.INI and DATASEEK.HTM.
Features and settings
The current working features are:
Multithreading
All disk operations (scanning the disk, reading files, etc.) are performed
via a separate thread.
No drive scan on startup Unlikely PMSEEK.EXE you will not see any "Drive not ready"
message when starting multiple instances of ACDataSeeker.
Multiple file names
You can specify multiple file names in the Files to search for:
field using the an OR symbol (a vertical bar ' | ') to separate the
file masks.
For instance:
D:\*.TXT|D:\*.HTM*|E:\*.TXT|E:\*.HTM*
will find all the files in the drives D: and E: with the extensions TXT,
HTM or HTML (and other extension starting with HTM).
Multiple text strings You can specify multiple text strings separating them with the
OR symbol ( | ) or with the AND symbol ( & ). You can also use the escape
character ' ^ ' to make the program interpret |, & and ^ as real
characters rather than symbol.
For instance if you specify int the Text to search for (if any): field
:
PFNWP|MIA_CHECKED|MIS_SINGLE
The program will find all files which contain at least one occurrence
of PFNWP or MIA_CHECKED or MIS_SINGLE.
If you instead specify:
PFNWP&MIA_CHECKED&MIS_SINGLE
The program will find all files which contain at least one occurrence
of all the specified words.
You cannot use mixed or complex boolean logic: the text strings
to be searched must either be separated by OR symbols or by AND symbols.
So in the following search string:
PFNWP|MIA_CHECKED&MIS_SINGLE
only the first OR character is interpreted as a boolean symbol
and the program will look for the strings "PFNWP" or "MIA_CHECKED|MIS_SINGLE".
File and text to search history The data of the searched files and text strings are saved in drop
down boxes, so in case you have to make a new search of some text in a different
path or of new text in a path you had already researched, you just have to
select the data from the drop down lists.
Result history A drop down box showing both the details of the searched files
and text allows you to recall the result of a previous file search.
Separate file and text lists There is a separate list for displaying the file with met the
search criteria. Once a file is selected the text list is filled with all
the occurrences of the found text.
Two arrow buttons allow to resize the two lists according to your needs.
Optionally display file date, time and size
You can choose from the menu what level of details you need.
Optionally sort the found files list
You can display them unsorted, sorted ascending or descending. Sorting
depends on the full file data, so if the file date are displayed the files
are sorted according to the current date, if only the file size is displayed
the file are sorted according to their size, if no additional details is
displayed the file are sorted by name.
Optionally display line numbers and hide leading spaces You can display line numbers in the list of found text. You can
also optionally strip the leadings spaces (but you have to repeat the research
to do that).
Resizeable and customizable interface
You can use the font palette to change the font used by the main window:
drag a font from the palette and drop it on the window border. The window
size and layout will change to adapt to the new font size.
You can also use the font palette to change the font used by the entry
fields and result lists.
In order to get aligned entries in the result windows you should select
a monospaced font (Courier, System VIO, etc.) and drop it on any entry field
or list window, the other entry field/list windows will automatically adopt
the new font.
You can also resize and move the window where you like. The layout of
the inner controls will adapt to the new window size.
You can also drop a color on the Search , Stop or Help buttons.
The window size and position, the fonts and the button colors are saved
in the DATASEEK.INI file and restored the next time you start the program.
Subdirectory search
Like with PMSEEK.EXE you can recursively search throught subdirectories.
Exclude binary files
You can optionally exclude files containing NUL characters (i.e. characters
with ASCII value 0).
Case option Like with PMSEEK.EXE you can perform case sensitive or case insensitive
searches.
Settings dialog
A settings dialog is provided in order to set the default view and search
options, the size of the result history and the names of the default editor
and command shell (these features will soon be implemented).
Main window
This first version of the program is based on a single resizeable window.
A future version (2 ?) might be based on multiple windows in order to provide
more and promptly available search options.
Here is a description of the various window controls.
Files to search for:
You enter the specifications of the searched files here. Wildcard characters
as ' * ' and ' ? ' are allowed as usual.
You can specify multiple file names. See the notes above for more details.
Once you click on the Search button the entered
data are saved in the embedded list and can be recalled any time later by
selecting them.
To delete an entry from the list, select it and press Ctrl + D.
To delete the whole list, give it the focus and then press Ctrl + Shift
+ D.
Text to search for (if any):
, BOOL bRemove, BOOL bRemoveYou optionally enter the text to be searched
in the files(s) you specified. Currently no wildcard characters are allowed
for searched text, although I might add GREP and E-GREP search capabilities
in near future.
You can use boolean operators to search
for multiple text sentences. See the notes
above for more details.
Once you click on the Search button the entered
data are saved in the embedded list and can be recalled any time later by
selecting them there.
To delete an entry from the list, select it and press Ctrl + D.
To delete the whole list, give it the focus , BOOL bRemoveand then press
Ctrl + Shift + D.
Search results history:
Once a search operation completes succesfully, the search criteria are
added to this drop down list in the following format:
where XXXX is the search attribute mask, i.e. the mask of the
options used to perform the search operation:
R
Recursive search.
T
Text files (i.e. the Exclude binary files option).
I
Case insensitive.
B
Boolean operators.
When an option is not set it is displayed with a dash ' - ' (e.g. [R-I-]
means that the recursive and case insensitive options were set).
The list of found files and text is also internally stored by the program
so you can select any time a previous search criteria to get back the results.
To delete an entry from the list, select it and press Ctrl + D.
To delete the whole list, give it the focus and then press Ctrl + Shift
+ D.
The default limit for this list is 10 entries. You can increase this limit
up to 100 via the Settings dialog.
Files found:
The files satisfying the search criteria are listed here.
Use the View menu items to display more or less details or to sort the
list items.
Down/Up arrows:
These buttons change the height of the Files found listbox.
For instance, if you are more interested in the list of the text lines matching
the search criteria, you can reduce the Files found list height
to the height of one text line, or you can just hide the Text found
list if you are only looking for files.
Text found:
The lines of text contained in the currently selected file and matching
the search criteria are listed here.
You can optionally display the line number and remove the leading spaces.
Search Press this button to start the search operation.
This button is disabled if the Files
to search for field is empty.
Stop This button is enabled only if the program is executing a file
search.
You must use it to interrupt a search operation.
Help Not yet working.
Menu File
Currently not fully implemented (only Exit works).
Open
This will allow to load previously saved search criteria (i.e. what was
in the Files to search and Text to search lists)
or previously saved search results.
Save This will allow to save the current content of the Files to
search and Text to search lists, the currently
displayed search result or all the full list of search results.
Search results will optionally be save as readable text files or as re-loadable
binary files.
You can use Ctrl + S as keyboard shortcut for this command.
Exit Just terminate the program. You can use F3 as keyboard shortcut
for this command.
Menu Selected
Currently nothing in this menu works!
Edit
Will start EPM.EXE or any other editor according to the user preferences.
You can use Ctrl + E as keyboard shortcut for this command.
Open
Will open the selected file according to the current WPS association.
You can use Ctrl + O as keyboard shortcut for this command.
Settings
Will open the settings notebook of the currently selected file.
You can use Ctrl + P as keyboard shortcut for this command.
Copy to clipboard Will copy the full name of the currently selected file to the
clipboard.
You can use Ctrl + C as keyboard shortcut for this command.
Copy All to Clipboard Will copy the whole list of found files to the clipboard.
You can use Ctrl + Shift + C as keyboard shortcut for this command.
Folder
Will open the folder containing the selected file.
You can use Ctrl + F as keyboard shortcut for this command.
Command line
Will start the command shell selected by the user in the Settings dialog
setting the path of the currently selected file as the working directory.
You can use Ctrl + L as keyboard shortcut for this command.
As parameter ...
Will allow to execute a command againgst the currently selected file.
You can use Ctrl + M as keyboard shortcut for this command.
Menu View
Through the items in this menu you can modify the display of the found
files and text lines.
Show file date
The list of the found files includes the file last write date before the
file name.
Show fle time
The list of the found files includes the file last write time before the
file name.
Show file size
The list of the found files includes the file size before the file name.
Show line numbers
The list of the found lines of text includes the line number.
Strip spaces
Leading spaces are stripped from the found lines of text.
In this case, to change the display of already found lines of text you
have to repeat the search operation.
Do not sort
List the names of the files in the order they are found.
Sort ascending
Sort the file names according to the first detail displayed (file date,
time, size or name).
Sort descending
Reverse sort the file names according to the first detail displayed (file
date, time, size or name).
Menu Options
The items of this menu allow to change some search options or to display
the settings dialog.
Recursive search
Search the specified file names recursively in the subdirectories of the
starting paths.
Exclude binary files
Skip text search in files which contain NUL character i.e. characters
with ASCII value of 0.
Case insensitive
Do a case insensitive search. If this item is unchecked the search is
case sensitive, that is "CaSe" will not match "case".
Boolean operators
Allow to find multiple text sentences with an OR or an AND logic.
See the previous notes for more
details.
Settings ...
Display the settings dialog.
Menu Help
This doesn't work yet.
Mouse features
As mouse features are intended commands executed by mouse button clicks
or by mouse drag and drop.
These features do not work yet.
Double click on an item in the Files found list
The file is loaded file via the selected editor.
If the selected editor is EPM.EXE and the Shift key is pressed, the program
will load the file in the already running EPM.EXE window (if present), otherwise
a new window will be opened.
Double click on an item in the Text found list
The file is loaded the file via the selected editor.
If the selected editor is EPM.EXE the cursor is moved to the currently
selected line.
If the selected editor is EPM.EXE and the Shift key is pressed, the program
will load the file in the already running EPM.EXE window (if present), otherwise
a new window will be opened.
Drag of the selected item from the Files found list
to an EPM.EXE window
The file is loaded in the EPM.EXE window or is brought to the top if already
present in the EPM.EXE files ring.
Drag of the selected item from the Text found list
to an EPM.EXE window
The file is loaded in the EPM.EXE window or is brought to the top if already
present in the EPM.EXE files ring. The cursor is moved to the selected line.
Drag of the selected item from the Files found list
or the Text found list to another WPS window
The file is treated as a WPS object: it can be copied, moved, deleted
(if dragged to the shredder).
Drop a file (no additional key) on the Files to search for
entry
The name of the file (including drive and path) is inserted into the entry
field replacing the previous content.
Drop a file (+ Ctrl key) on the Files to search for
entry
The name of the file (including drive and path) is appended to the previous
content of the entry field using ' | ' as separator.
Drop a file (+ Shift key) on the Files to search for
entry
The file extension (including drive and path - D:\PATH\*.EXT) is inserted
in the entry field replacing the previous content.
If the Ctrl key is also pressed (drop + Ctrl + Shift) the file extension
is appended to the previous content of the entry field using ' | ' as separator.
Drop a file (+ Alt key) on the Files to search for
entry
The name of the file, including the drive letter and excluding the path,
is inserted in the entry field replacing the previous content.
If the Shift key is also pressed the extension of the file, including
the drive letter and the excluding the path is used.
If the Ctrl key is also pressed the data of the current file are appended
to the previous entry field content.
Drop a file (no additional key) on the Text to search for
entry
The file content (the first line of text ) is inserted in the entry field
replacing the previous content.
Drop a file (+ Ctrl key) on the Text to search for
entry
The file content (the first line of text ) is appended to the entry field
content using ' & ' as separator and the Boolean
operators option is automatically activated.
Drop a file (+ Shift key) on the Text to search for
entry
The file content (the first line of text ) is appended to the entry field
content using ' | ' as separator and the Boolean
operators option is automatically activated.
Drop a file (+ Ctrl + Shift key) on the Text to search for
entry
The file content (the first line of text ) is appended to the entry field
content without any separator.
Drop a file (+ Alt key) on the Text to search for
entry
The full file name is inserted in the entry field.
Startup parameters
The program supports a limited set of parameters as this is a PM program
and there are already various different command line programs to search for
file and text.
DATASEEK -L:<filename>
will load <filename> where <filename> is a binary file containing
previously saved search criteria or search results.
DATASEEK -P:<filename>
will use <filename> as an initialization file instead of looking
for DATASEEK.INI in the program path.
DATASEEK <file to search for> [text to search for]
will start the program, auto-filling the Files to search for
and Text to search for fields.
Planned features
Apart from the already mentioned, not yet implemented, features, I might
consider adding GREP and Extended-GREP text search and some more search options
(depending on file date, file size, etc.), search in the EAs or for specific
EAs, search in archived files or via plugin DLLs, specialized searches depending
on the file format (i.e. html files excluding the content of html tags,
in source file comments, etc.).
In any case I will leave more exotical features to a future release as
I still have to complete other programs which have been delayed for too long.
Registration
In this stage of development, no program registration is yet available.
You are free to use this version of the program until a new version is
available.
Once all the planned features will be added I'll decide about registration,
costs (if any) etc.