|
FAQ home
Here are is some esoteric information that advanced users may be
interested in. This is interesting stuff that is not in the manual or help
file. We do not provide technical support on these features. We
recommend making a backup of your entire LOGic 5 folder before attempting
any modifications!
Explains the internal workings of LOGic's picture
logging, and shows you how to do neat stuff like set QSL Rcvd to Fulfilled for
all QSOs that have a picture logged. Also a good brief introduction to SQL.
Controlling memory usage
Upon startup, LOGic allocates a percentage of available for
itself.
You can control how much memory it allocates. To do this,
create a file in the UPDATES folder inside LOGic 5. This file may have any
name, but with a .PRG extension. For example, STARTUP.PRG
Copy and paste the following information into the file.
Edit the memory figures to your liking.
wait window "Setting memory" nowait
* third parameter is bytes
sys(3050,1,64000000) && foreground
sys(3050,2,16000000) && background
Adding your own indexes
You may easily add indexes to your application. Indexes speed access
and allow the data to be displayed in the log form in index order. The log
file, as shipped from the factory, has two indexes: Callsign and
Date/Time. As you probably know, you can Get on call or date/time for
instantaneous search. You can also view the log in callsign or
chronological order by double-clicking the column heading.
Suppose that you added an index on Name. The Name column of the browse
grid will no be marked with "*", indicating that you may double-click
the heading to view the log in name order. The Get form does not change,
you cannot Get on name, but the new index will affect the Filter function,
making retrieval on Name instantaneous. Also, you may now use the
Incremental Search feature on the Name column. Also, any select criteria
in the report writer or elsewhere that searches on Name will be greatly speeded
up.

Indexes are maintained in tools/advanced/index setup info. This is the
form that PDA uses to maintain the indexes needed by your application.
These are marked by us as a "Factory index" and cannot be removed or
changed. The Sort indicator determines which order the database is
physically arranged when you select the Sort option from database
maintenance. You cannot add any sort indexes of your own.
To add the name index, add a new record, and enter the data as shown above.
Some notes on individual fields:
File: This form maintains all indexes used by the application, not
just the Log file. So the File field specifies which file the index is
for.
Index Tag: This must match the internal name of the column in
the browse form. To determine this, right-click the column heading in the
browse window of the Log form.
Index expression: This is the value to be indexed.
Typically it is merely the name of the field in the log file. When you
right-click the column header in a browse window, the expression used to create
the column contents is displayed. Usually, you may use that exact
expression here.
Indexing user-defined fields
It is possible to create an index on user-defined fields. However, an
index on a user-defined field will not speed searching or do anything other than
allow you to view the data in order by the user-defined field. In other words,
if you index CQ Zone, you can double-click the CQZ column of the browse window,
and view your log in order by CQ Zone.
As always, the Index Tag is determined by right-clicking the header of the
column. The tag will be USER1, USER2, etc.
In most cases you can copy the expression verbatim. However,
user-defined character fields have an undefined length in the database.
Use the PADR(expr, len) function to make sure the index expression is a
fixed length. The PADR function pads assures that a character expression
is the specified length. If the length of expr is less than len,
it is padded on the right with spaces.
PADR(TAG_VAL("IOTA:", USERFIELDS, "C"), 6)
This example assures that the length of the index expression is always
6.
LOGic displays all data in the browse window as character-type data for
maximum speed. (Dates in particular are time-consuming to display in the
proper format, so LOGic just displays the date in its raw YYYYMMDD format).
However, when indexing numeric fields, the straight character expression is
not satisfactory. It will sort Zone 2 before Zone 10. So, just make
the index value an Integer.
TAG_VAL("CQZ:",USERFIELDS, "I")
See the TAG_VAL() function documentation in
Help.
15-Oct-08 10:46
file:///X:/WWW/PDA/HoseNose/radio/support/logic/faq/advanced.htm
© 2005 Personal Database Applications, Inc.
All rights reserved.
LOGic support - advanced topics. |