home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-05-14 | 96.2 KB | 1,964 lines |
- DEEPLOOK : a full-featured database management system to catalog the
- files on floppy diskettes or the hard drive with the added
- feature that it will automatically catalog the CONTENTS of
- ZIP/LZH/ARC and other types of compressed files.
-
- Yes, it's yet another disk file indexer. Especially designed to index
- files on your floppy diskettes, you might ask how is DEEPLOOK different
- from the hundreds of disk indexers already out there? Well...
-
- DEEPLOOK solves the problem of finding that computer file or program
- you know you have but it's buried inside a COMPRESSED file archived onto a
- floppy disk to save room on your hard drive. Compressed files usually have
- a file name extension of .ZIP, .LZH, .ARC and sometimes even .EXE. One
- compressed file can contain literally hundreds programs and files. We are
- going to make the assumption that if you have compressed files you know
- enough about compression and de-compression that further explanation in
- this document is not necessary. Most of the popular compression methods in
- use today come with a disk file (usually ending with .DOC) which explain
- their methods in detail. We refer you to those documentation files if you
- need more information about file compression.
-
-
- DEEPLOOK can automatically read the contents of your compressed
- files (including the self-extracting EXE files), and store the list of
- files in an amazingly fast database so that you can later search it or
- generate reports to your printer or to disk files. This means you don't
- have to do a lot of data entry to get the basic database started. DEEPLOOK
- even has an "Auto Pilot" feature that will automatically read each file on
- your floppy disk or hard drive subdirectory. If it is a compressed file it
- can extract the names of the files therein and add them to the database.
- If it is not a compressed file, it will add the file name to the database
- but without the compressed file storage information. You can use the
- Auto Pilot feature or you can use the directory list that DEEPLOOK puts on
- the screen and individually select which files go into the database.
- There are more details about all of this later on.
-
- DEEPLOOK allows you to turn off the reading of compressed file contents
- if you'd rather not catalog the contents of compressed files.
-
-
-
- The Database:
- -------------
-
- Each entry in the database has the following information:
-
- File Name
- File Date
- File Size
- Disk ID (volume label or directory name)
- File Type (Regular, Compressed, Storage or Nested)
- Comment (up to 30 characters)
-
- Storage File (the ZIP or ARC file if the file is compressed)
-
-
- If the file is stored in compressed format, it has the associated
- compressed file name (i.e., the ZIP or ARC file) where the file is stored
- and the type of storage. This last item is left blank if the file
- is not stored in compressed format. The Comment field is open for you to
- enter comments about different files using DEEPEDIT. If the file is
- compressed and contains a comment, the compressed comment will be placed in
- the comment field, which you can later delete or edit.
-
-
- About all you have to do is make sure that each disk you plan to enter
- into the database has a unique volume label. (See your DOS manual about how
- to change the volume label.) Although DEEPLOOK checks for duplicate entry
- of storage file names, it does no checking for duplicate volume labels. If
- you use DEEPLOOK to read files on your hard disk drive, the name of the
- subdirectory is used as the volume label.
-
-
-
- About File Type:
- ----------------
-
- Regular : any file that is not stored inside a compressed file or is
- not a compressed storage file (ARC, ZIP, LZH, etc.)
-
- Compressed : any file that is stored INSIDE a storeage file (ARC, ZIP,
- LZH, etc.)
-
- Storage : a special storage file that contains files in a compressed
- format. Storage filenames end with the extension of ARC,
- ZIP, LZH, PAK, ARJ and sometimes EXE.
-
- Nested : a storage file that is contained within another storage file.
- DEEPLOOK will not read the contents of a nested storage file,
- but it will mark it as "nested" so you can later design a
- report (using DEEPREPT) to see where all your nested storage
- files are. (See details below about DEEPREPT.EXE. Set the
- search criteria to FileType = "Nested".)
-
-
-
-
- The Programs
- -------------
-
- There are three main programs that are used to run the DEEPLOOK
- database system. (Be sure to see the list of accompanying files later in
- this documentation.)
-
- DEEPLOOK.EXE : this is the directory reader which creates
- the database and adds the file names, etc. to the
- database.
-
- DEEPREPT.EXE : a full-featured report generator for use with the
- DEEPLOOK database. You can create reports with
- any field, sorted by any field(s), filtered for
- value(s) in any field. You can print the report
- to the screen, to the printer or to disk files, as
- ASCII text files or comma-delimited files which
- can later be imported into Lotus, Reflex, dBase,
- Paradox, etc., etc.
-
- DEEPEDIT.EXE : this allows you to quickly search the DEEPLOOK
- database, and edit any field for any database
- entry. Actually, you really should edit only the
- comment field, but the other fields are there to be
- seen and edited if you wish. You can also
- bulk-delete files, such as deleting references to
- all the "READ.ME" files when it's not really
- necessary to have them in your database.
-
- Each of these programs is discussed in detail below.
-
- ┌─────────┐
- │Hot Keys │
- └─────────┘
-
- Each of the programs in the DEEPLOOK series relies heavily upon
- "hot keys" to access the many program functions. Hot keys can take two
- forms. One is the use of the "Function" or F-keys. These are the keys
- labeled F1, F2, etc. that are grouped at the far lefthand side of your
- keyboard where they belong. (Your keyboard may have the F-keys
- along the top row of the keyboard, but they don't belong there.) The other
- form of hot-key is a key-press combination using the Alt or the Ctrl key
- and one other key. For example, in DEEPEDIT Alt-D deletes the current
- record from the database. (More details about this later.) To activate
- this command, hold down the key labeled "Alt" and press the letter D at the
- same time. To activate Ctrl-D (bulk file delete), hold down the key
- labeled "Ctrl" and press the letter D at the same time. In most cases, all
- the active hot keys are visible to you on the screen, so you don't have to
- try to remember them all. All you have to do is know how to operate them
- and what their actions will be.
-
- ┌───────────────┐
- │ DEEPLOOK.EXE │
- └───────────────┘
-
- DEEPLOOK is the program which reads directories and adds the names of
- the files therein to the DEEPLOOK database. You've got to run this program
- first in order to create the DEEPLOOK database and put something in it.
- DEEPREPT and DEEPEDIT won't function properly unless there is some "data"
- in the database.
-
- DEEPLOOK is started by typing DEEPLOOK followed by the letter of the
- floppy drive you wish to use to catalog a diskette. For example, at the
- DOS prompt type "DEEPLOOK a" (without the quotes) to catalog the A: drive.
- If you type DEEPLOOK without a following letter, DEEPLOOK will read the
- current hard disk drive directory.
-
- Usage:seage: DEEPLOOK d
-
- -where d is the letter of the floppy disk
- drive you wish to index. Run DEEPLOOK without
- d to index the current hard drive
- subdirectory.
-
-
- When DEEPLOOK begins you see a directory "pick list" showing all the
- files and subdirectories for the floppy diskette (or hard disk drive).
- The files are in capital letters of one color. The directories (if there
- are any) are in lower case letters in another color.
-
- This list operates very much the way a "menu" operates. You'll see a
- colored bar (the highlight bar) marking the first file in the list. You
- use the cursor (arrow) keys to move the highlight bar up and down the list
- of files. You can also use PgUp and PgDn to move the highlight bar around.
- You can also use the <End> key to jump to the end of the pick list and the
- <Home> key to jump to the top of the list.
-
- If there are subdirectories showing in the file list you can change to
- one of these by moving the highlight bar to the desired subdirectory and
- pressing <Enter>. A new file list of files in the chosen subdirectory will
- appear on the screen.
-
- The file list appears just the way it appears in the directory itself.
- You can sort the list in any of three ways. <Alt-N> sorts the list
- alphabetically by file NAME. <Alt-S> sorts the list according to the
- SIZE of the files. <Alt-D> sorts the list according to the DATE of the
- files. When the highlight bar is covering a file you wish to add to the
- database, simply press <Enter>. This will add the file to the database and
- remove the file from the pick list.
-
- You can change the directory filter mask. The default mask is *.*
- meaning that all files in the directory show in the list. Press <Alt-M>,
- type in a new file mask (at the bottom of the screen) and press <Enter>.
- For example, you may want to have only LZH files showing. Type *.LZH at
- the edit prompt. Press <Esc> to cancel the mask edit function.
-
- The LOOKDEEP feature can be toggled on or off by pressing <Alt-L>.
- Turning LOOKDEEP off will cause any selected files to be indexed into the
- database, but the contents of any compressed file (ZIP, ARC, LZH, etc.)
- will NOT be read and indexed into the database. Turning LOOKDEEP * ON * will
- allow the contents of the compressed files to be indexed into the database.
-
- A nice feature of DEEPLOOK is the Auto Pilot function. With Auto
- Pilot on, ALL the files shown in the directory list are processed into the
- database. If LOOKDEEP is ON, the contents of all compressed files will
- automatically be indexed into the database. Press <Alt-A> to start Auto
- Pilot. Press <Esc> to cancel Auto Pilot while it is running.
- If, while Auto Pilot is running, a duplicate file name is found in the
- database, the name will not be added again and the contents of a compressed
- file will not be read again. You must use manual selection (Auto Pilot off)
- in order to have the program re-read the contents of a compressed file.
- DEEPLOOK will automatically terminate once all files have been
- processed on Auto Pilot.
-
- Press <F1> to see a Help screen. Press any key to remove the help
- screen.
-
- Press <Alt-X> when you are finished using DEEPLOOK and wish to return
- to the DOS prompt.
-
- Some Notes about using DEEPLOOK.EXE:
- ------------------------------------
- While DEEPLOOK expends considerable effort to trap floppy diskette
- read errors, there may be times when it will just stop working in the middle
- of a run. Sometimes it will stop and declare a "run time error." Other times
- it may "hang" so that you'll have to turn the computer off and back on again
- to get your computer back. Although we have tried to trap these errors and
- at least report them to you and exit gracefully, there are still some errors
- we haven't been able to catch. We've had this happen on our own floppy
- diskettes and have no reason to believe that it won't happen on yours. You
- can prevent a lot of this kind of crashing by making sure that you have good
- and fresh floppy diskettes. Most floppy diskette errors are caused by some
- kind of damage to the surface of the diskette: grungy fingerprints, dried
- cake crumbs, scarification from writing on the diskette with a ball point
- pen, etc. Copy your files to new floppies every so often. Floppy diskettes
- were not designed to last forever. It's worth noting that if DEEPLOOK has a
- problem accessing your floppy diskettes, you, too, will likely have a
- problem reading it or copying it.
-
- So, given the chance for all these floppy disk errors, why would one
- want to use DEEPLOOK? Because when it works, it works so well and so
- effortlessly for you, the user. You can quickly and easily have an index
- of where ALL your files are, even those that are hidden inside a compressed
- file. Of course, using DEEPLOOK to read files on your hard disk drive
- eliminates the risks inherent in floppy diskettes.
-
-
-
- ┌───────────────┐
- │ DEEPEDIT.EXE │
- └───────────────┘
-
- DEEPEDIT is the file searcher and editor which reads each record in
- the database and lets you view, edit, or delete records from the database.
- DEEPEDIT will not operate if there are no records in the database or you
- have not used DEEPLOOK.EXE to add records to the database.
-
- DEEPEDIT starts by bringing up the first record in the database in a
- data entry screen. Records are sorted in alphabetical order by filename in
- one of the indexes that accompanies DEEPLOOK. That is why when DEEPEDIT
- first starts, the record number reported may not be record # 1. However
- the file name shown in the data entry screen will be the first one
- alphabetically in the index.
-
- You use <F8> to move forward to the next record. Press <F7> to move
- backward to the previous record. If you are at the very beginning of the
- list, you will have to press <F7> twice in order to move backward to the
- very end of the list. The same is true if you are at the very end of the
- list; you will have to press <F8> twice to move to the beginning of the
- list.
-
- In the data entry screen you have full editing capabilities. Use the
- arrow (cursor) keys or the <Tab> key to move among the 6 fields for the
- current record. You can edit any field, but remember that changing file
- name, file size, disk id, file date or storage date may create a record
- that is inaccurate from what actually resides on the floppy diskette. Most
- important, you have the capability to edit the Comment field. This can be
- very useful in making notes about certain files to remind you of things
- when perusing the database. But remember, and we will repeat this: any
- changes or edits you make ** HAVE TO BE SAVED ** back to the database
- before you move on to the next record. Press <F10> to save the current
- record with its changes back to the database.
-
- To help you locate files quickly there are two hot keys you can use.
-
- Press <F6> to have the program QUICKLY search for a file name and bring
- it into the entry screen. In the search screen type the name of the file you
- are looking for and press <F10> to continue (or press <Esc> to stop the
- search). The search operation is not an exact match operation, but the
- closest it can find. The search operation starts at the beginning and stops
- when it finds the exact file name you specified, if it exists. More
- accurately, it stops when it finds the FIRST OCCURRENCECCURENCE of the file name in
- the event there are several occurrancesccurances of the same file name. It then
- retrieves the record and places it in the data entry screen. In the event
- that it finds no exact match, the search operation will return the file name
- that is CLOSEST to the one you specified. It does this rather than giving up
- and saying "can't find the file...". For example, you may know that you have
- some files in the database named "READ.ME", "README.1ST", and "README". If
- you enter READ as the file name for which to search, the program will
- retrieve the first of these.
-
- Press <F4> to view a scrolling LIST of the file names in the database.
- You use the arrow (cursor), PgUp, PgDn, End and Home keys to move about the
- list. You can press <F6> while the LIST is visible and search the list. What
- was said in the previous paragraph about searching the database applies also
- to searching the LIST. Press <Esc> to cancel the list and return to the data
- entry screen. If you press <Enter>, the file name that is HIGHLIGHTED in the
- LIST will be retrieved and placed in the data entry screen.
-
- Press <F5> to jump to a specific record by record number. Use this to
- quickly retrieve a specific record if you know which record number it is.
- The record number of the currently displayed record is shown in the bottom
- part of the frame around the data entry window. Press <Esc> to cancel a
- record number jump. You cannot jump to a record number which doesn't exist.
-
- DEEPEDIT also offers some database management functions:
-
- Press <Alt-D> to delete the currently displayed record from the
- database. You'll be asked to confirm (Y/N) before the delete actually takes
- place. Once a record is deleted, there's little hope of getting it back.
-
- Press <Ctrl-D> to BULK delete file names. For example, you may wish to
- delete all the READ.ME files or all the .OBJ files from your database. In
- the first case, enter READ.ME as the file name to delete and press <F10>.
- (Press <Esc> to cancel bulk deleting.) In this case all the files with a
- FileName of READ.ME will be deleted from the database. In the second case,
- type *.OBJ as the file name to delete and press <F10>. In this case all the
- files with names having the extension of .OBJ will be deleted from the
- database.
-
- Press <Esc> or <Alt-X> to EXIT from DEEPEDIT.
-
- ┌───┐
- REMEMBER: Press │F10│ to save those edit changes back to the database.
- ======== └───┘
-
-
- ┌──────────────┐
- │ DEEPREPT.EXE │
- └──────────────┘
-
- Once our data has been entered, edited and stored, it is most useful to
- be able to retrieve selected parts of the information in the form of
- reports. DEEPREPT is a sophisticated menu-driven report writer which will
- produce tabular reports from any and all of the fields available in the
- DEEPLOOK database. You can sort on several different fields or you can
- "filter" the reports for specific field values (such as FileDate = @Today).
- You can create new fields in the report with calculated values based on
- database field results (such as if FileType = "Regular" then print "OK"). You
- can also define summary fields that contain counts, totals, averages,
- standard deviations, etc. You can produce reports that are "comma delimited"
- and saved to disk as a file that can later be imported into Lotus, Quatro
- Pro, dBase, Reflex, Paradox and any computer program that will read in
- comma-delimited data. We'll go into more detail what all this means and how
- you go about producing these reports. Any report can be sent to the screen,
- a printer or to a disk file. Once you create a report to your satisfaction
- you give it a name and store it so that it can be quickly retrieved and run
- in the future.
-
- DEEPREPT supports 21 printers, dot-matrix, laser and daisy wheel.
- There are 39 pre-defined formulas which can be used in reports you design.
-
- We have included several reports which we designed. These reports
- demonstrate how to use some of the powerful features in DEEPREPT. It will be
- well worth your time to see how these were set up and what their output
- looks like. Doing so will help you to learn quickly how to use DEEPREPT to
- its fullest capacity.
-
-
- Getting Started
- ---------------
- DEEPREPT is fully menu driven and uses several of the function keys
- (F2, F10, etc.) to retrieve, create, save and print reports.
-
-
-
-
- This is the full menu for DEEPREPT. We will walk you through each of
- these menu options.
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ Select Fields │
- │ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ Create Computed Fields │
- │ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- When any menu or screen is active, the available "hot keys" are always
- shown at the very bottom of the screen. You will soon find it very convenient
- to check the bottom line of the screen to see which keys are activated at any
- given time.
-
-
-
- When DEEPREPT first starts this is all you will see of the Main Menu:
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- ├────────────────────────────────┤
- │ √ New Report │
- │ Load Report │
- │ │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- At start up, you can either create a new report definition or load a previous
- report definition that you saved. The DEEPLOOK shareware package comes with
- several predefined reports. They are stored in the files QUERY.DAT and
- QUERY.IX. If you do not wish to use these report definitions you should
- delete the files QUERY.DAT and QUERY.IX. Use the DOS delete or erase commands
- to do this at the DOS prompt. (Please refer to your DOS manual to understand
- how to use DOS commands.) If the QUERY files are not available or if they
- contain no saved report definitions, then "New Report" and "More Options" are
- the only option you will have when DEEPREPT first starts.
-
- If you choose "Load Report" , a menu labeled "Load Report" appears on
- the screen and you choose the one you wish to load.
-
- (Throughout this documentation file, we will use the check mark √ to
- indicate which menu option we are choosing. The check mark does not appear on
- the DEEPREPT menu, but rather the colored selector bar.)
-
- If you choose "New Report" you must first indicate which type of report
- you wish to create. A menu labeled "Report Type" appears on the screen:
-
- ┌──────── Report Type ──────────┐
- │ │
- │√ Tabular Report │
- │ Comma Delimited ASCII File │
- │ Fixed Length ASCII File │
- └───────────────────────────────┘
-
- Esc - Cancel Enter - Select Report Type
-
- (See "Report Types" below for a description of each of these types.)
-
-
- You are then asked to type in a name for the report. You have up to 40
- characters, so you can make the name descriptive of the report. You might name
- a report "Storage_Files_Sorted_By_Date". Press <Esc> to cancel the naming
- operation. By attaching a name to a report definition you can save the report
- definition and recall it later.
-
-
- Once a type of report has been selected and a name given, the Main Menu
- appears again with a new option:
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ │
- │ √ Select Files │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- The next option available in creating a new report definition is to
- select the files that will be used. Here there is only one file - called
- FileList. A file selection menu will appear:
-
- ┌──────────────────────────┬───────────────────────────┐
- │ Selected Files │ Available Files │
- ├──────────────────────────┼───────────────────────────┤
- │ │ FileList │
- │ │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │ │ │
- │ │ │
- └──────────────────────────┴───────────────────────────┘
- F10-Continue Enter-Remove Tab-Switch AltP-Primary File
-
- Since there is only one file available in DEEPLOOK, you simply press <Enter>
- to select the file. When you do, it moves to the other column, like this:
-
- ┌──────────────────────────┬───────────────────────────┐
- │ Selected Files │ Available Files │
- ├──────────────────────────┼───────────────────────────┤
- │ FileList │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- └──────────────────────────┴───────────────────────────┘
- F10-Continue Enter-Remove Tab-Switch AltP-Primary File
-
- Since there is nothing more we can do here, press F10 to return to the Main
- Menu, which now is the full menu:
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ √ Select Fields │
- │ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ Create Computed Fields │
- │ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- The next step is to select which fields will be in the report in which
- order. Select the "Select Fields" option and a field selection menu appears:
-
-
- ┌─────────────────────────────────┬────────────────────┐
- │ Selected │ Available │
- │ File Field Print │ File Field │
- ├─────────────────────────────────┼────────────────────┤
- │ │FileList FileName │
- │ │FileList FileDate │
- │ │FileList FileSize │
- │ │FileList DiskID │
- │ │FileList FileType │
- │ │FileList Comment │
- │ │FileList Storage │
- │ │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │ │ │
- │ │ │
- │ │ │
- └─────────────────────────────────┴────────────────────┘
- F10-Continue Enter-Remove Tab-Switch AltM-Move AltP-Print
-
- Following our example report, you move the menu cursor over each of the
- three fields to be in our report and press <Enter>. As you do, the field names
- move to the selected side of the screen:
-
- ┌─────────────────────────────────┬────────────────────┐
- │ Selected │ Available │
- │ File Field Print │ File Field │
- ├─────────────────────────────────┼────────────────────┤
- │FileList FileName Always │FileList DiskID │
- │FileList FileDate Always │FileList FileType │
- │FileList FileSize Always │FileList Comment │
- │ │FileList Storage │
- │ │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- └──Columns used: 35 ──────────────┴────────────────────┘
-
- F10-Continue Enter-Remove Tab-Switch
-
- The menu screen also reports the number of columns used. If columns used
- ever exceeds 80, you are asked if you want to use compressed print (for
- printing to a printer only.) At this point the menu cursor bar is still in the
- Available side of the screen. Now Press <Tab>. The menu bar now moves to the
- Selected side of the screen and two new hot keys become available:
-
- ┌─────────────────────────────────┬────────────────────┐
- │ Selected │ Available │
- │ File Field Print │ File Field │
- ├─────────────────────────────────┼────────────────────┤
- │FileList FileName Always │FileList FileType │
- │FileList FileDate Always │FileList Comment │
- │FileList FileSize Always │FileList Storage │
- │FileList DiskID Always │ │
- │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ │
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- └──Columns used: 45 ──────────────┴────────────────────┘
-
- F10-Continue Enter-Remove Tab-Switch AltM-Move AltP-Print
-
-
- The fields are listed in order as they will appear across the page in a
- tabular report. In this example, each line will show...
-
- FileName FileDate FileSize
-
- Use <Alt-M> to Move, or change the order of these fields. If you select
- one of the fields on the "selected" side of the screen (by pressing <Enter>),
- it will remove the field from the selected side of the screen and send it to
- the "Available" side of the screen.
-
- <Alt-P> rotates the field print column among 4 available options. The
- default option is "Always" meaning that the value of the field will always show
- in the report. The next is "Never". This means that the values in the field
- will never be seen in the report, but you may need to select the field for
- sorting or some other purpose. Third is "Unique". This only prints the field
- value if it is different from the preceding field value. If we had the
- (unlikely) situation that several files had exactly the same size, if
- FileSize print was set to Unique, our report would look like this:
-
-
- MYFILE.TXT 02/11/93 4566
- YOURFILE.TXT 07/16/88 "
- MYFILE.DOC 03/03/91 "
- EMPTY.TXT 09/08/90 "
- BIGGER.DOC 01/17/91 7781
-
- Indent/Unique prints the field value when it is unique and so is the value of
- the field to the left.
-
- Once all the fields have been selected and they are in the correct order
- and the field print options are satisfactory, we press <F10> to return to the
- Main Menu.
-
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ Select Fields │
- │ √ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ Create Computed Fields │
- │ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- Now we want to specify the sort criteria. We then get a menu similar to
- the field selection menu. (NOTE: It is not necessary to specify sort criteria
- once fields have been selected. A report can be created and run taking records
- in their natural order if so desired. Usually we will want to sort.) Notice
- that the available fields is NOT all the fields in each record, but only those
- fields we selected (above) to be in the report.
-
-
- ┌──────────────────────────────────────────────┬──────────────────────┐
- │ Selected │ Available │
- │ File Field Order Group │ File Field │
- ├──────────────────────────────────────────────┼──────────────────────┤
- │ │ FileList FileName │
- │ │ FileList FileDate │
- │ │ FileList FileSize │
- │ │ FileList DiskID │
- │ │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- └──────────────────────────────────────────────┴──────────────────────┘
-
- F10-Continue Enter-Remove Tab-Switch AltM-Move AltO-Order AltG-Group
-
-
- As with similar menus above, we select the fields on which to sort in
- the order in which we want them sorted. As we select them, they move to the
- "Selected" side of the screen. Once we have set the needed sort criteria, we
- press <Tab> to move the selector bar to the Selected side of the screen.
-
-
-
- ┌──────────────────────────────────────────────┬──────────────────────┐
- │ Selected │ Available │
- │ File Field Order Group │ File Field │
- ├──────────────────────────────────────────────┼──────────────────────┤
- │ FileList DiskID Ascending 1 │ FileList FileDate │
- │ FileList FileName Ascending │ FileList FileSize │
- │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ │
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- │ │ │
- └──────────────────────────────────────────────┴──────────────────────┘
-
- F10-Continue Enter-Remove Tab-Switch AltM-Move AltO-Order AltG-Group
-
-
- On this side of the screen, pressing <Enter> sends the selected field back to
- the "Available" side of the screen. <Alt-M> allows you to change the order of
- the selected fields by MOVING them around. <Alt-O> toggles the sort order
- between ASCENDING and DESCENDING. <Alt-G> allows you to create GROUPS and then
- have summations, such as group totals, etc. show in the tabular report. We
- will define DiskID as Group 1. This will group all the files by DiskID. This
- is very similar to a sample report we have provided in the QUERY file,
- "FilesByDiskID". This report will list all the files by file name for each
- disk ID and then put a footer showing the number of files and total bytes on
- each DiskID. We'll see how this happens later when we select Report Totals
- from the Main Menu.
-
- Just a quick note about sorting. Although we are using very fast sorting
- algorithms in this program, sorting is still the most time-consuming part of
- generating a report. Sorting starts with the first field selected, in this
- case DiskID. The only time it will use FileName is when it has two or more
- identical DiskIDs. Since it is very likely that there are numerous records in
- the database with identical DiskIDs, it makes sense to sort on a second key,
- here FileName. We could add additional sorting keys, such as FileDate. In this
- case it makes no sense to do so because the only time the sorting algorithm
- will need to look at FileDate is if it finds two or more identical FileNames
- on the same DiskID. That would be impossible, as DOS only allows unique
- filenames on one diskette or subdirectory. However, if our sorting were like
- this:
- FileName
- FileDate
-
- it might make sense to add a third key, such as DiskID because there could
- be identical file names with identical dates on different diskettes (backup
- copies, etc.) Notice that although we are sorting by DiskID first, DiskID is
- not the first column in the report. FileName is the first column and it will
- appear in alphabetical order, for each DiskID. To see this, load the report
- "FilesByDiskID" , print it and study the output.
-
- We press <F10> to return to the Main Menu:
-
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ Select Fields │
- │ Specify Sort Criteria │
- │ √ Specify Search Criteria │
- │ Create Computed Fields │
- │ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- Next we will specify search criteria. This is what is called "filtering"
- the database. All the records in the database are matched to some pre-defined
- criteria, thus filtering out unwanted records from the report and keeping only
- the records that meet our criteria. This is one of the areas where the real
- power of DEEPREPT becomes apparent. We will show you how it works and set up a
- sample search criteria for you, but you are here limited only by your
- imagination. As long as your criteria are accepted by the program (when you
- press <F10>) you can include the criteria in your report. Also NOTE: search
- criteria are not required in order to run a report. They are there for your
- convenience.
-
- Upon selecting "Specify Search Criteria" the search criteria screen pops
- to the surface:
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ File Field Search Criteria │
- ├────────────────────────────────────────────────────────────────────────┤
- │ FileList FileName │
- │ FileList FileDate │
- │ FileList FileSize │
- │ FileList DiskID │
- │ FileList FileType │
- │ FileList Comment │
- │ FileList Storage │
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- F10-Continue Enter-Edit search criteria
-
- Notice that all the fields are available, not just the fields selected to
- be in the report. The first step is to move the selector bar to a field and
- press <Enter>.
-
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ File Field Search Criteria │
- ├────────────────────────────────────────────────────────────────────────┤
- │ FileList FileName │
- │ FileList FileDate ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │ FileList FileSize │
- │ FileList DiskID │
- │ FileList FileType │
- │ FileList Comment │
- │ FileList Storage │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- Esc-Cancel Enter-Accept Search Criteria F2-Fields F3-Formulas
-
-
- Press F2 to get a list of available fields. We'll do that and select
- FileList FileDate.
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ File Field Search Criteria │
- ├────────────────────────────────────────────────────────────────────────┤
- │ FileList FileName │
- │ FileList FileDate FileList FileDate = ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │ FileList FileSize │
- │ FileList DiskID │
- │ FileList FileType │
- │ FileList Comment │
- │ FileList Storage │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- Esc-Cancel Enter-Accept Search Criteria F2-Fields F3-Formulas
-
-
- Next we'll press F3 to get a list of all the formulas available to us.
-
-
- ┌───────────┬────────────────────────────────────────────────────────────┐
- │ Formulas │ Field Search Criteria │
- ├───────────┼────────────────────────────────────────────────────────────┤
- │ Abs │FileName │
- │ Ave │FileDate FileList FileDate = │
- │ CurrTime │FileSize │
- │ Date │DiskID │
- │ . │FileType │
- │ . │Comment │
- │ . │Storage │
- │ TimeStr │ │
- │ Today │ │
- │▒▒▒▒▒▒▒▒▒▒▒│ │
- └───────────┴────────────────────────────────────────────────────────────┘
- Esc-Cancel Enter-Select Formula
-
- We'll move the formula selector bar to "Today" and press <Enter>.
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ File Field Search Criteria │
- ├────────────────────────────────────────────────────────────────────────┤
- │ FileList FileName │
- │ FileList FileDate FileList FileDate = @Today▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │ FileList FileSize │
- │ FileList DiskID │
- │ FileList FileType │
- │ FileList Comment │
- │ FileList Storage │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- Esc-Cancel Enter-Accept Search Criteria F2-Fields F3-Formulas
-
- Now we press <Enter> one more time to accept the search criteria.
-
- @Today is one of the powerful formulas available to you in DEEPREPT.
- @TODAY knows what date today is - it automatically picks it up from the date
- clock in the computer. We just load the report and run it. We DO NOT have to
- go into the report definition each time and write FileDate = 03/17/93. We
- simply wrote FileDate = @TODAY. DEEPREPT takes care of all the details of
- filtering out all the records in the database where FileDate is some date
- other than Today.
-
- There are 39 pre-defined formulas such as @Today available in DEEPREPT.
- How each is used is shown later on.
-
- You do not have to use F2 and F3 if you know what search criteria you
- wish to enter. Here are some examples of some simple search criteria you may
- wish to use:
-
- FileList FileSize > 100000 (filter out all small files from the report)
- FileList FileType = "Storage" (show only names of storage files)
- FileList Comment <> "" (show only file names that have a comment)
-
- Press <F10> to continue to the Main Menu.
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ Select Fields │
- │ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ √ Create Computed Fields │
- │ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
- Next we'll try entering a computed field. A computed field is a new
- field in the database that is created "on the fly" while the report is being
- generated. Actually the field is not in the database, but appears in the
- report only, but it acts as though it were a field in the database. Again, it
- is not necessary to create computed fields in order to print a report, but
- this is one of the most powerful features of DEEPREPT. In actual practice you
- will want to "Create Computed Fields" BEFORE you "Specify Search Criteria."
- That way you can specify values in the new computed fields to filter on.
- Creating computed fields brings up the computed field screen.
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Name Expression Type │
- ├────────────────────────────────────────────────────────────────────────┤
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- F10-Continue Enter-Edit Ins-Add Del-Delete
-
-
- If there were computed fields already defined we move the selector bar to the
- one we wish and press <Del> to delete the computed field.
-
- We press <Ins> to add a new computed field:
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Type: ▒▒▒▒▒▒▒▒▒▒ │
- │ Name: │
- │ Picture: │
- │ Expression: │
- └────────────────────────────────────────────────────────────────────────┘
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- Esc-Cancel F10-Continue F2-Field Types
-
- First, we must decide on what type of field we want to compute. Press <F2>
- to get a pick list of our available fields:
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Type: │
- │ Name: │
- │ Picture: │
- │ Expression: │
- └────────────────────────────────────────────────────────────────────────┘
- ┌──────────────┐ │
- │ String │ │
- │ Boolean │ │
- │ Integer │ │
- │ Real │ │
- │ Date │ │
- │ Time │ │
- │ ▒▒▒▒▒▒▒▒▒▒ │ │
- ├──────────────┘ │
- └────────────────────────────────────────────────────────────────────────┘
- Esc-Cancel Enter-Select Field Type
-
- We'll discuss what each of these field types means a little later. For
- now, we're going to move the selector bar to "Real" and press <Enter>.
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Type: Real │
- │ Name: DaysOld │
- │ Picture: 99,999 │
- │ Expression: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- └────────────────────────────────────────────────────────────────────────┘
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- Esc-Cancel F10-Continue F2-Field Names F3-Formulas
-
-
- We'll name the field "DaysOld" and make it's "picture" 99,999. (We'll discuss
- pictures just a little later.) You can name the computed field anything you
- wish in the space provided. We're now ready to write the expression for the
- computed field. Now, press <F3> to get a list of the formulas:
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Type: Real │
- │ Name: DaysOld │
- │ Picture: 99,999 │
- │ Expression: │
- └────────────────────────────────────────────────────────────────────────┘
- ┌──────────── Formulas ───────────────────────┐ │
- │ │ │
- │ Abs InStr Max Time │ │
- │ Ave False MidStr TimeStr │ │
- │ CurrTime Hour Min Today │ │
- │ Date LeftPad Minute True │ │
- │ DateStr LeftStr Month Upcase │ │
- │ Day LenStr Pad Year │ │
- │ Dec Locase RightStr Yes │ │
- │ If Num Second ▒▒▒▒▒▒▒▒▒ │ │
- │ Inc No Str │ │
- └─────────────────────────────────────────────┴──────────────────────────┘
- Esc-Cancel Enter-Select Formula
-
-
- We'll select Today. This places @Today in the Expression line. Next we'll
- type a "minus" sign (-). Then we'll press <F2> to get a list of fields. We'll
- select FileList FileDate. This places FileList FileDate next in the Expression
- box. Here, then is the Expression:
-
- @Today - FileList FileDate
-
- It simply calculates the number of days between Today and the date the file
- was created. Now we press <F10> to continue.
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Name Expression Type │
- ├────────────────────────────────────────────────────────────────────────┤
- │ DaysOld @Today - FileList FileDate Real │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- F10-Continue Enter-Edit Ins-Add Del-Delete
-
- We now have our first computed field. Let's press <Ins> and create another one
- that will use the first one we just created.
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Type: ▒▒▒▒▒▒▒▒▒▒ │
- │ Name: │
- │ Picture: │
- │ Expression: │
- └────────────────────────────────────────────────────────────────────────┘
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- Esc-Cancel F10-Continue F2-Field Types
-
-
- Press <F2> to select the field type. This time we are going to select
- String. We'll name it "YearsOld" and make its picture XXXXXX.
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Type: String │
- │ Name: YearsOld │
- │ Picture: XXXXXX │
- │ Expression: │
- └────────────────────────────────────────────────────────────────────────┘
- ┌──────────── Formulas ───────────────────────┐ │
- │ │ │
- │ Abs InStr Max Time │ │
- │ Ave False MidStr TimeStr │ │
- │ CurrTime Hour Min Today │ │
- │ Date LeftPad Minute True │ │
- │ DateStr LeftStr Month Upcase │ │
- │ Day LenStr Pad Year │ │
- │ Dec Locase RightStr Yes │ │
- │ If Num Second ▒▒▒▒▒▒▒▒▒ │ │
- │ Inc No Str │ │
- └─────────────────────────────────────────────┴──────────────────────────┘
- Esc-Cancel Enter-Select Formula
-
-
- Next press <F3> to get the formula list We'll select "If". This clears the
- Formulas list and places "@If(" in the Expression line. You'll see that @If
- ends with the left (open) parenthesis. This is a clue that we are going to
- pass some "arguments" to the @If formula. Next press <F2> to get the Field
- list. Notice that there is a new field at the end, DaysOld. That's the
- computed field we just created, but this field does NOT have the FileList
- notation before it. It's a field, alright, but not one of the fields in the
- FileList database. Let's select DaysOld.
-
- @If(DaysOld
-
- Now we'll test DaysOld for a value. We'll use the "operator" > which means
- "greater than". (More about operators later on.) So we type > 365.0 and press
- enter:
-
- @If(DaysOld > 365.0
-
- Next we add a comma and then press <F3> to get our formula list again. This
- time we'll select Str, which places @Str( in the Expression line. (Notice the
- left parenthesis again.)
-
- @If(DaysOld > 365.0, @Str(
-
- @Str requires 2 arguments. We're going to divide the real field DaysOld by 365
- and convert it to a string with the picture "999.9". That is what @Str does.
- It converts a number to a string. (@Num on the other hand, converts a string
- to a number.) So we'll type in DaysOld / 365, "999.9" and close the @Str
- formula with a right parenthesis.
-
- @If(DaysOld > 365.0, @Str(DaysOld / 365, "999.9")
-
- That is what is going to happen if DaysOld IS greater than 365 days. If
- DaysOld is NOT greater than 1 year we'll just display the "null" or empty
- string ("").
-
- @If(DaysOld > 365.0, @Str(DaysOld / 365, "999.9"),"")
-
- So what is this computed field going to do? It's going to test DaysOld to see
- if DaysOld is more than 1 year's worth of days. If the file is more than 1
- year old it's going to calculate how many years old it is and put that value
- in the YearsOld computed field. If the file is still a "baby", it will leave
- it alone and not say anything. Retrieve the report definition "AgeOfFiles" and
- run it to see how this appears in the report. You may be surprised at how old
- some of your files are!
-
- There are a few things to note here. At the beginning of our writing
- this computed field we defined the field as having a picture of XXXXXX:
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Type: String │
- │ Name: YearsOld │
- │ Picture: XXXXXX │
- │ Expression: @If(DaysOld > 365.0, @Str(DaysOld / 365, "999.9"),"") │
- └────────────────────────────────────────────────────────────────────────┘
-
- This allows us to have the null string show in the report as though there was
- nothing there. Had we defined the picture here as 999.9 then the null string
- would have showed up as 0.0 in the report which tends to clutter it up. We
- defined the picture in @Str as 999.9 to force the result to be all numbers
- with just one decimal place, even though most calculations here would have
- yielded more than 1 decimal in the calculation of dividing DaysOld by 365.
-
- Since the @If formula is one of the more important ones, let's discuss
- it here. @IF(Condition, Result1, Result2). The condition is a true or false
- test. If the test passes (i.e., it is "true") then Result1 is returned. If the
- test fails (i.e., it is false) then Result2 is returned to the computed field.
- In our Expression we defined the test as DaysOld being greater than 365. If
- the test passes, then the result of DaysOld divided by 365 is returned to the
- computed field YearsOld. If the test fails (i.e., it's a "new" file) then we
- are just not going to say anything.
-
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Name Expression Type │
- ├────────────────────────────────────────────────────────────────────────┤
- │ DaysOld @Today - FileList FileDate Real │
- │ YearsOld @If(DaysOld > 365.0, @Str(DaysOld / 365, "999.9"),"") String │
- │ │
- │ │
- │ │
- │ │
- └────────────────────────────────────────────────────────────────────────┘
- F10-Continue Enter-Edit Ins-Add Del-Delete
-
-
- New we press <F10> to return to the Main Menu:
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ Select Fields │
- │ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ Create Computed Fields │
- │ √ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- Next we'll Setup some Report Totals.
-
- ┌────────────────────────────────────────────────────┐
- │ Group File Field Total Type │
- ├────────────────────────────────────────────────────┤
- │ 1 FileList FileName │
- │ √ FileList FileLength │
- │ FileList FileDate │
- │ FileList DiskID │
- │ FileList FileType │
- │ Grand FileList FileName │
- │ FileList FileLength │
- │ FileList FileDate │
- │ FileList DiskID │
- │ FileList FileType │
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- └────────────────────────────────────────────────────┘
- F10-Continue Enter-Edit Del-Delete
-
- You'll recall that we defined group 1 above as grouping on DiskID.
- We'll move the selector bar to the first FileList FileLength and press
- <Enter>.
-
- ┌───────────────────────────────────────────────────────────────────────┐
- │ Type: │
- │ Picture: │
- │ Condition: │
- └───────────────────────────────────────────────────────────────────────┘
- │ FileList DiskID │
- │ FileList FileType │
- │ Grand FileList FileName │
- │ FileList FileLength │
- │ FileList FileDate │
- │ FileList DiskID │
- │ FileList FileType │
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- └────────────────────────────────────────────────────┘
- Esc-Cancel F2-Total Type
-
- We'll press <F2> to get the list of available total types.
-
-
- ┌───────────────────────────────────────────────────────────────────────┐
- │ Type: │
- │ Picture: │
- │ Condition: │
- └───────────────────────────────────────────────────────────────────────┘
- ┌─────────────┐ │ FileList FileLength │
- │ Average │ │ FileList FileDate │
- │ Count │ │ FileList DiskID │
- │ Maximum │ │ FileList FileType │
- │ Minimum │ │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- │ STDV │ └────────────────────────────────────────────────────┘
- │ Summation │
- │ ▒▒▒▒▒▒▒▒▒▒▒ │
- └─────────────┘
-
- We're going to choose Summation, which will take numerical values in
- each record and sum them into a Total.
-
-
- ┌───────────────────────────────────────────────────────────────────────┐
- │ Type: Summation │
- │ Picture: 999,999,999 │
- │ Condition: FileList FileType="Storage" OR FileList FileType="Regular" │
- └───────────────────────────────────────────────────────────────────────┘
- │ FileList DiskID │
- │ FileList FileType │
- │ Grand FileList FileName │
- │ FileList FileLength │
- │ FileList FileDate │
- │ FileList DiskID │
- │ FileList FileType │
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- └────────────────────────────────────────────────────┘
- Esc-Cancel F2-Total Type
-
- We'll complete the condition as shown here. This uses the Boolean OR (see
- below.) This means that the lengths of all "regular" and all "storage" files
- will be summed for each DiskID and reported at the end of each DiskID's
- listing in the report. Load "FilesByDiskID" and run it to see the results.
-
- We press <F10> to continue and <F10> again to return to the Main Menu:
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ √ Print Report │
- │ Select Files │
- │ Select Fields │
- │ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ Create Computed Fields │
- │ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
- We have now come to the place where we will print our report.
-
-
- ┌─────── Print Destination ────────┐
- │ │
- │ Print Report to the Screen │
- │ Print Report to the Printer │
- │ Print Report to a File │
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- └──────────────────────────────────┘
-
- Usually it is a good idea to print the report to the screen the first
- time we design a new report so we can see what it looks like and make any
- changes it it isn't doing what we expected it to do. If we choose printer, the
- report will be sent to the printer we've selected (see below) or a default
- printer. If we choose to send the report to a file (ASCII), we will be asked
- for the name of the file.
-
- While the report is processing, we are updated as to the number of
- records being read:
-
- ┌──────────────────────────┐
- │ Records Read..: 1187 │
- │ Records Found.: 988 │
- │ Records Sorted: 988 │
- └──────────────────────────┘
-
- The report of records found will differ from the number read if we have
- defined a search criteria in our report definition. The difference is the
- records "filtered out" by our search criteria.
- While viewing our report on the screen, when we are finished we press
- <F10> to return to the Main Menu.
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ Select Fields │
- │ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ Create Computed Fields │
- │ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ √ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
- Assuming that the report is what we want, we select "Save Report" which
- will save the report definition under the name we gave it at the beginning so
- we can later recall it with "Load Report".
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ Select Fields │
- │ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ Create Computed Fields │
- │ Setup Report Totals │
- │ √ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- When we select "Report Options" from the Main Menu we get a menu of
- options:
-
- ┌───────── Report Options ─────┐
- │ │
- │ Report Width 80 │
- │ Page Length 66 │
- │ Left Margin 0 │
- │ Top Margin 2 │
- │ Bottom Margin 2 │
- │ Compressed Print Off │
- │ Skip Duplicates Off │
- │ Groups on New Page Off │
- │ Report Title On │
- │ Print Sort Criteria On │
- │ Print Search Criteria On │
- │ Column Headings On │
- │ File Names On │
- │ Summary Only Off │
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- └──────────────────────────────┘
- F10-Continue Enter-Change option
-
-
- Most of these options are self-explanatory. Numerical values can be
- edited and changed. The on/off values can be toggled between on or off. The
- options Report Title, Print Sort Criteria, Print Search Criteria, Column
- Headings and File Names refer to page headers which appear at the top of each
- page. These are usually useful and helpful to have on the printed reports. If
- you are saving the report to a disk file, you will probably want to turn off
- some of these header options.
-
- Press <F10> to return to the Main Menu:
-
-
-
-
- ┌─────────── Main Menu ──────────┐
- │ │
- │ Print Report │
- │ Select Files │
- │ Select Fields │
- │ Specify Sort Criteria │
- │ Specify Search Criteria │
- │ Create Computed Fields │
- │ Setup Report Totals │
- │ Report Options │
- ├────────────────────────────────┤
- │ New Report │
- │ Load Report │
- │ Save Report │
- │ √ More Options │
- └────────────────────────────────┘
- Esc - Quit Enter - Select Option
-
-
- ┌────── More Options ─────┐
- │ │
- │ Clear │
- │ Save Report As... │
- │ Delete Report │
- │ Set Printer Type/Port │
- │ Set Key Range │
- │ View Last Report │
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- └─────────────────────────┘
- Esc - Cancel Enter - Select Option
-
-
- You'll notice that this menu behaves much like the Main Menu in that
- not all menu options are always available. It depends how far you have
- proceeded in defining or loading a report definition what menu options are
- available.
-
- "Clear" will clear the current report definition from memory so you can
- start again with a new report definition.
- "Save Report As..." allows you to change the name under which the
- current report definition is saved.
- "Delete Report" allows you to delete the current report definition from
- the QUERY database.
- "Set Printer Type/Port" allows you to select the printer to which you
- will be printing your reports. There are 21 printers available in DEEPREPT:
-
- ┌───── Printer Selection ──────┐
- │ │
- │ Ascii Plain Printer │
- │ C. Itoh 8510 Prowriter │
- │ DataProducts DP │
- │ Diablo Compatible │
- │ Epson FX Series │
- │ Epson LQ Series │
- │ Epson MX Series │
- │ Facit 4512 │
- │ Generic Epson │
- │ HP Desk Jet │
- │ HP Laser Jet │
- │ HP Laser Jet Font G │
- │ HP Laser Jet II │
- │ HP Laser Jet Plus │
- │ HP Laserjet Font F │
- │ IBM Proprinter II │
- │ NEC 3510 │
- │ NEC 8800 │
- │ Panasonic KX 1093 │
- │ Star Micronic Compatible │
- │ Toshiba P 321SL / P 341SL │
- │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
- └──────────────────────────────┘
-
- Once you have selected a printer, you select a port:
-
- ┌─ Port ──┐
- │ │
- │ LPT1 │
- │ LPT2 │
- │ LPT3 │
- │ PRN │
- │ ▒▒▒▒▒▒ │
- └─────────┘
-
- Unless you know what your hardware is configured as, choose PRN as the
- printer port.
-
- DEEPREPT will remember your printer and port selections by writing them
- to the DEEPREPT.CFG file so that your most recent choice will become the
- default printer the next time you run DEEPREPT.
-
-
- "Set Key Range" allows you to do filtering at the index key:
-
-
-
- ┌─────────────────────── Key Range Selection ─────────────────────────┐
- │ Key Name │
- ├─────────────────────────────────────────────────────────────────────┤
- │ +FileName │
- │ +StorageFile │
- │ +DiskID │
- │ │
- │ │
- │ │
- ├─────────────────────────────────────────────────────────────────────┤
- │ Name Beginning Ending │
- ├─────────────────────────────────────────────────────────────────────┤
- │ FileName [No Value] [No Value] │
- │ │
- │ │
- │ │
- │ │
- └─────────────────────────────────────────────────────────────────────┘
- F10-Continue Enter-Edit Tab-Switch F2-Reset Range Value F3-Reset Ranges
-
- Press <Tab> to move the selector bar to the bottom half of the screen
- once a key has been selected. Press <Enter> to edit the beginning and ending
- values for the index. For example, you might enter AMERICA.DOC for the
- beginning value and FRANCE.DOC for the ending value then press <F10> to
- continue. This would have the effect of filtering out any index values that
- fall outside these two values. You probably have better control by entering
- search criteria.
-
- "View Last Report" will do just that in the event you have printed a
- report to the screen.
-
- This concludes our tour of the Main Menu and its various options. We
- strongly suggest that you load some of the "canned" report definitions we have
- provided in this package. Print them, edit them, revise them and see what
- happens to the final output of the report. This is likely your quickest way to
- learning how to use DEEPREPT.
-
-
-
-
- Report Types
- -------------
-
- A tabular report is a report with each record occupying one line of the
- report, and each selected field in a separate column. There are page headers,
- footers, column totals, etc. as defined in the report definition.
-
- Comma-delimited ASCII files are text files where, again, each record
- occupies one line and each field takes only as much space as it needs and is
- separated from the next field (column) by a comma. In this kind of report, the
- names (or strings) are surrounded by double quotes, like "this". This kind of
- report, when saved to disk as a text file, is the kind of file that can be
- read by other computer programs, such as Lotus, Quattro Pro, Reflex, dBase,
- FoxPro, Paradox, PC-File and many others. You use this type of report to
- "export" your data to another program (which imports it). For example, suppose
- you defined the fields for a comma-delimited ASCII report as:
-
- FileName
- FileDate
- FileSize
-
- The report that would be sent to diskette would export your data from the
- DEEPLOOK database as this:
-
- "MYFILE.DOC","02/11/93",12234
- "YOURFILE.DOC","04/01/93",6712
-
- Here each file name is surrounded by double quotes and followed by a comma,
- each file date is surrounded by double quotes and followed by a comma, and
- each file size is presented as it is because it is a numeric value and does
- not get surrounded by quotes. Since it is the last field for each record in
- this report, it is not followed by a comma.
-
- Fixed-length ASCII file reports place the field information in strict
- columnar format, but without the quotes or the commas. In the example just
- above, the results would be in the file as follows:
-
- MYFILE.DOC 02/11/93 12234
-
- YOURFILE.DOC 04/01/93 6712
-
- Here each file name starts in column #1, each date starts in column #15 and
- each size starts in column 25. In this case, the size of 6712 is flushed right
- in the field space to allow for accurate sorting on that column if such is
- desired.
-
-
-
-
-
- Pictures
- --------
- The @STR formula (see below) gives you a lot of ways to present numbers in a
- report by passing the following picture masks and the numerical field to the
- @STR formula. These same pictures can be used in defining computed fields.
- Dates are handled separately. See "Working with Dates" below.
-
- Picture Result Explanation
- -------------- -------------- ---------------------
- "XXXXXXXXXX" Any character
- "!!!!!!!!!!" Any character Force alpha to UPPER case
- "LLLLLLLLLL" Any character Force alpha to LOWER case
- "xxxxxxxxxx" Any character Force alpha to MIXED case (proper)
- "9999999999" Numbers and spaces only
- "##########" Numbers, spaces, minus and period
- "B" Boolean only True or false
- "Y" Yes or No only Y or N / y or n
- "aaaaaaaaaa" Alpha only
- "AAAAAAAAAA" Alpha only, force upper case
- "llllllllll" Alpha only, force lower case
-
- "EEEEEEEEEEE" scientific notation 1.234567E+17
- "KKKK" hexadecimal numbers 07FE
- "c999.99" dollar sign is fixed $ 12.50
- "$999.99" dollar sign floats $12.50
- "999.99CC" French francs, 123,45 F
- fixed (Decimal = ,)
- "$###,###.##" ',' is discretionary, $1,234.56
- '$' floats
-
-
-
-
- Working with Dates
- ------------------
- In the DEEPLOOK system, dates are numbers (loosely a "Julian" date -
- the serial number of days from a given point in time). In order to have a date
- appear in a report as a date, the date field(s) will have to be converted. You
- can get a standard date format, 03/17/93, by using the formula
- @DATESTR(field). You can format a date into a host of other date formats by
- using the @STR(field, "picture") formula. (See section on formulas just
- below.) Here are the pictures available for working with dates:
-
-
- Picture Result
- ------------ -------------------
- "mm/dd/yy" 01/02/00
- "MM/dd/yy" 1/02/00
- "mm/dd/yyyy" 01/02/1900
- "mm-dd-yyyy" 01-02-1900
- "dd/mm/yyyy" 02/01/1900
- "DD/mm/yyyy" 2/01/1900
- "dd-nnn-yyyy" 02-Jan-1900
- "dd-NNN-yyyy" 02-JAN-1900
- "www dd nnn yyyy" Tue 02 Jan 1900
- "WWW NNN dd yyyy" TUE JAN 02 1900
-
- The following special characters are meaningful in date picture masks:
-
- Char Marks location of or is replaced by
- --------- ------------------------------------
- "m", "M" month (date fields only)
- "d", "D" day (date)
- "y" year (date)
- "n", "N" month name (date)
- "w", "W" day of week name (date)
- "/" '/' or SlashChar (date; semi-literal)
-
-
-
- Working with Times
- ------------------
-
- Picture Result
- ---------------- --------------
- "hh:mm:ss" 13:02:00
- "hh:mm" 13:02
- "hh:mm te" 01:02 pm
- "hh:mmt" 01:02p
-
- Note that string representations of time are always assumed to be
- in military format unless a 't' appears in the picture mask. An 'e'
- (em) in the mask should always be accompanied by a corresponding
- 't' (time).
-
- The following special characters are meaningful in time picture masks:
-
- Char Marks location of or is replaced by
- -------------- ---------------------------------------------------
- "h", "H" hours (time fields only)
- "m", "M" minutes (time)
- "s", "S" seconds (time)
- ":" ":" or ColonChar (date; semi-literal)
- "e" "m" or "M" (time; case depends on UpCaseTime)
- "t" "p", "P", "a", "A" (time; ditto )
-
-
-
- Computed Field Types
- ---------------------
- String - a "string" is a string of characters, usually alphabetic, but can
- include numbers, punctuation, etc. Strings are interpreted literally
- and CANNOT be used in calculations (such as totals, etc.) without
- converting them to numerical. The DEEPREPT @NUM function will convert
- a string to a number. 8997 is a number. 8,997 is a string using @STR
- to convert 8997 to a string an insert the comma.
-
- Boolean - a Boolean is an on or off type. It can be True or False. It can be
- Yes or No. There are no other acceptable values for a Boolean.
-
- Integer - An integer is a number without the possibility of a decimal point.
- Integers CAN be used in calculations, such as totals, etc.
-
- Real - A real type is a number WITH the availability of decimals.
-
- Date - A date is a numerical type that can be used in calculations. The date
- of a file can be subtracted from Today to determine how many days old
- the file is.
-
- Time - Time is also a numerical type.
-
-
-
-
- Operators
- ----------
-
- * is multiplication (integers and reals)
- - is subtraction (integers and reals)
- / is division (reals)
- DIV is division of integers
- + is addition (integers, reals and strings)
-
- NOT is logical negation
- AND is logical AND
- OR is the inclusive or
- XOR is the exclusive or
- IN returns true if operand is IN a set, otherwise returns false
-
- = is equal to
- <> is not equal to
- < is less than
- > is greater than
- <= is less than OR equal to
- >= is greater than OR equal to
-
-
- Some examples:
- FileSize = 10000
- Select the record only if the FileSize is exactly 10000
- otherwise reject the record
-
- FileSize >= 10000
- Select the record if FileSize is greater than 9999
- otherwise reject the record
-
- FileType = "Storage" AND FileSize > 10000
- Select the record if BOTH condtions are true
- otherwise reject the record
-
- FileType = "Storage" NOT FileSize > 10000
- Select the record only if FileType is "Storage" and
- the FileSize is NOT greater than 10000
- otherwise reject the record
-
- FileType = "Storage" OR FileType = "Regular"
- Select the record if EITHER FileType is true
-
- FileType = "Storage" XOR FileSize > 10000
- Select the record if only ONE condition is true
-
-
-
- Formulas in DEEPREPT
- ---------------------
-
- @ABS(X) Return the absolute value of X.
-
- @AVE(A, B [,C..N] ) Return the average of two or more parameters.
-
- @CURRTIME Return the current time.
-
- @DATE(S) Convert the date string S to a numeric date.
-
-
- @DATESTR(D) Convert the numeric date D to a formatted
- date string.
-
- @DAY(D) Return the day of the month in the date D.
-
- @DEC(X [,N] ) Decrement X by one or second parameter if given.
-
- @FALSE Return boolean false result.
-
- @HOUR(T) Return the hour in the time T.
-
- @IF(Condition, Result1, Result2)
- Return Result1 if Condition is true or Result2
- if Condition is false.
-
- @INC(X [,N] ) Increment X by one or second parameter if given.
-
- @INSTR(N, S1, S2) Search in S1 for the sub string S2
- starting at position N.
-
- @LEFTPAD(S, N [,C] ) Pad beginning of string S so that it is N in
- length with default character or optional
- third parameter C.
-
- @LEFTSTR(S, N) Return the first N characters of the string S.
-
- @LENSTR(S) Return the length of the string S.
-
- @LOCASE(S1 [,S2..SN] ) Convert one or more strings to lower case
- and concatinate (join) them.
-
- @MAX(A, B [,C..N] ) Return the maximum of two or more parameters.
-
- @MIN(A, B [,C..N] ) Return the minimum of two or more parameters.
-
- @MINUTE(T) Return the number of minutes in the Time T.
-
- @MIDSTR(S, P, N) Copy part of the string S starting at
- position P for N characters.
-
- @MONTH(D) Return the month of the year in the date D.
-
- @NUM(S) Convert the unformatted string S to a number.
-
- @PAD(S, X [, C] ) Pad end of string S so that it is N in
- length with default character or optional
- third parameter C.
-
- @RIGHTSTR(S, N) Return the right N characters of the string S.
-
- @SECOND(T) Return the number of seconds in the time T.
-
- @STR(X, P) Convert X to a formatted string using P as
- the picture mask.
-
- @TIME(S) Convert the time string S to a numeric time.
-
-
- @TIMESTR(T) Convert the numeric time T to a formatted
- time string.
-
-
- @TODAY Return the current numeric date.
-
- @TRUE Return boolean true result.
-
-
- @UPCASE(S1 [,S2..SN]) Convert one or more strings to upper case
- and concatinate (join) them.
-
- @YEAR(D) Return the year in the date D.
-
-
-
-
- FileList:
- ----------
- Here is a list of all the files that should accompany the DEEPLOOK
- package. If any of these files are missing please notify us at once.
-
- These are the executable programs:
- DEEPLOOK.EXE
- DEEPEDIT.EXE
- DEEPREPT.EXE
- These files support DEEPREPT.EXE
- DEEPREPT.OVR
- DEEPREPT.CFG
- DEEPREPT.DAT
- DEEPREPT.IX
- QUERY .DAT
- QUERY .IX
-
- These are the documentation (ASCII) files:
- DEEPLOOK.DOC
- QIKSTART.DOC
- REGISTER.DOC
-
-
-
-
- APPENDIX A: Registering your shareware version of DEEPLOOK
- ----------------------------------------------------------
-
- DEEPLOOK is a shareware product. Shareware is a distribution method, not a
- type of software.
-
- Shareware is NOT free software. Shareware authors are accomplished
- programmers, just like commercial authors, and the programs are of comparable
- quality.
-
- Shareware distribution gives users a chance to try software before buying it.
- If you try a shareware program and continue using it, you are OBLIGATED to
- register the software with the author. With shareware you are able to try the
- software on your computer. After deciding that DEEPLOOK is a software product
- that you will use, you pay for it. If you decide that DEEPLOOK is not for you,
- you remove it from your hard disk drive and stop using it. Generally,
- shareware software prices are BELOW comparable commercial products because
- there is usually less overhead and distribution costs. The lower price is NOT
- an indicator of inferior quality. Registration is also an incentive to
- encourage software authors to continue producing quality professional software
- at a reasonable price.
-
- The DEEPLOOK programs are the complete system. It is neither "watered-down"
- nor crippled in any way. It is NOT an "evaluation" copy. What you have
- received is the complete functional system. It is fully professional
- software.
-
- When you register you become eligible for a number of things. First, is
- notification of any major upgrades and/or improvements in the product that
- may be produced in the future. Second, you will be our customer. While we
- are always interested in how users react to our software and their
- suggestions for improvements, we incline a much more sympathetic ear to the
- voices of our customers.
-
- Registration is $7.00 per copy that you are using. You, and your conscience
- are strongly urged to register by sending $7.00, checks payable to:
-
- John Abele
- 114 Woodlawn Ave.
- Willow Grove, PA. 19090
-
- Please note that you are registering DEEPLOOK (we have lots of shareware
- products out there) and tell us where you obtained your copy.
-