The page script handles initalization and cleanup for the frontend, links the DLLs and contains all handlers that actually communicate with the database DLL. All of the database functions are in the page script for easy maintainence, only the page
script needs to be changed to change database DLLs.
\par When a frontend is built, recordFields whose name are the same as the fields in the database file are created. These recordFields all have the same script with 3 notify handlers: \b0 \i \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 updateDisplay\b0
\up0 \dn0 \cf1 . These notify handlers call get and set handlers on the page to get and set data in the current record of the database file.
\par
This technique of using notify handlers is used for maintainability. To add a field from the database to the frontend, just copy one of the existing recordFields and set its name to the name of the database field. To delete a field from the frontend,
just delete the recordField, no scripts must be changed.
\par \par This page contains the following handlers:
The First button navigates to the first record in the database by setting the currentRecord of the page. In the page script there is a to set currentRecord handler that does the actual navigation in the database. It then sends the updateDisplay
notification message that notifies the recordFields to read their field from the current record in the database and update their text.
\par \par This button contains the following handlers:
The Previous button navigates to the previous record in the database by setting the currentRecord of the page. In the page script there is a to set currentRecord handler that does the actual navigation in the database. It then sends the updateDisplay
notification message that notifies the recordFields to read their field from the current record in the database and update their text. Holding down the Previous button "flips" through the records by handling the buttonStillDown message.
\par \par This button contains the following handlers:
The Next button navigates to the next record in the database by setting the currentRecord of the page. In the page script there is a to set currentRecord handler that does the actual navigation in the database. It then sends the updateDisplay
notification message that notifies the recordFields to read their field from the current record in the database and update their text. Holding down the Next button "flips" through the records by handling the buttonStillDown message.
\par \par This button contains the following handlers:
The Last button navigates to the last record in the database by setting the currentRecord of the page. In the page script there is a to set currentRecord handler that does the actual navigation in the database. It then sends the updateDisplay
notification message that notifies the recordFields to read their field from the current record in the database and update their text.
\par \par This button contains the following handlers:
The Choose Index combobx opens the database sorted in the order specified by the selected item. It uses a system variable to map the selected text line in the combobox to the correct index file. The system variable, \b0 \i \strike0 \f0 \fs20 \ulnone
\up0 \dn0 \cf1 indexArray[]\b0 \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 , is initalized in the enterApplication handler.
\par \b0 \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 \par This button contains the following handlers:
\sbasedon0 \snext0 field text;}}\ql \fi0 \li0 \ri0 \sl0 \tx720 \b0 \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 The Find Key button searches the database for a record matching the specified text, sets it as the currentRecord and updates the display.\b0
\i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 \par \b0 \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 \par This button contains the following handlers:
The Save Record button sends the updateDB message that notifies all of the recordFields to write their text to the current record. The updateDB message is handled by the page where the currentRecord is written to the database.
\par \par This button contains the following handlers:
The New Record button sends the newRecord message that is handled on the page. The newRecord handler on the page sends the clearField notification message which is handled by all of the recordFields, then it appends the blank record to the database.
\par \par This button contains the following handlers:
The Delete Record button sends the deleteRecord message that is handled on the paged followed by the updateDisplay notify message. The DLL function that actually deletes the record is placed in the page script for easy matainence.
\par \par This button contains the following handlers:
The Stauts Field reprots the current record number and the number of total records in the Database. It is updated by the updateDisplay notification message. It uses \b0 \i \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 TO SET\b0 \i0 \strike0 \f0 \fs20
handlers to set and get the values of currentRecord and totalRecords so that if the message in the status field changed to "You are on record number 3 out of 5" so that currentRecord was word 6 instead of word 2 in the field, only the set handlers woul have to be changed, you would not have to track down every script on the page or background that set
currentRecord.\b0 \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 \par \b0 \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 \par This button contains the following handlers:
\par \b \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf2 gets\b0 \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 : \b0 \i0 \strike0 \f0 \fs20 \ulnone \up0 \dn0 \cf1 currentRecord and totalRecords of the page (see the page script)}
helpMessage
Record: 1 of 17777777777777
not set yet
helpText
updateDisplay
&Save Record
&Delete Record
Progress
Progress
fullBar
currentBar
currentPercent
80%6969696969697%
RecordCounter
Record 4 of 57703773
partitions
splash
dBIII -><-ToolBook-><- Paradoxdoxxxxxx
DBase Exchange ver. 3.0
1994 Asymetrix Corp.
Importing dBase to ToolBook
Use the "Import dBase to ToolBook" page or the "Import Paradox to ToolBook" page to access dBase or Paradox data in ToolBook. After you choose a database file, the field names appear in the "Select dBase (Paradox) Fields" listbox. Click the names of only the dBase or Paradox fields you want to import. Use the Select All Fields button if you want to import all the fields listed. You must have at least one field selected in order to import.
By clicking Import to Record Fields, you create a new book with the same name as the original database, with all records imported as ToolBook record fields. The new book has one page for every record in the dBase file.
By clicking Import to Front End, you create a new, untitled book that uses OpenScript for viewing and editing the database file.
Importing dBase or Paradox to ToolBookk
Import to Record Fields
jumpPage
Import to Front End
jumpPage
Import to Front End
Import to Record Fields
Import to Record Fields creates a new book in a second instance of ToolBook.
The new book contains one background field and one record field for each dBase or Paradox field that was selected. The background field contains the name of the dBase or Paradox field, and the record field contains the data from the field.
The new book has one page for each record in the dBase or Paradox file. To view each page, use the navigation buttons provided or the commands on the Page menu.
ge menu.
Import to Record Fields
Import to Front End
Import to Front End creates a new, untitled book in a second instance of ToolBook.
The front end book contains 2 pages. The first page is for viewing dBase data. The second page is help for the front end. The front end page consists of controls for selecting records in the dBase file and ToolBook fields for both the dBase field names and the data.
For help using the front end, see the help page that comes with that book.g
Import to Front End
Exporting ToolBook to dBase
Use the "Export ToolBook to dBase" page to create a dBase file. Use the "Export ToolBook to Paradox" page to create a Paradox file. One record is created for each page of the background you are importing from.
Choose a book to export. Because books often have title pages, ToolBook looks at the last page of the book first to verify that valid record fields exist on the background. Then it begins searching the book, starting on the first page of the background with record fields. To be valid, record fields must have unique names and must not be grouped.
If your book does not have the data you want on the last page, edit the book by renumbering one of the background pages so that it becomes the last page of the book.
If a book can be exported, its valid record fields are listed in the field labeled Select ToolBook Fields.
Selecting ToolBook Fields Export
jumpPage
Exporting ToolBook to dBase or Paradox
Selecting ToolBook Fields Export
Click a field name in Select ToolBook Fields, then click the Add button to export the ToolBook field to a dBase or Paradox file..
When you select a ToolBook field, its name and text appear in View ToolBook Information. ToolBook tries to determine the dBase or Paradox field type from the text of the field.
If you want to change the characteristics of a dBase or Paradox field, use the controls in Change dBase Field Characteristics or Paradox Field Characteristics.istics..
Selecting ToolBook Fields
jumpPage
jumpPage
Paradox Field Char - Export
Change dBase Field - Export
Paradox Field Char - Export
Change dBase Field - Export
The controls in the Change dBase Field Characteristics section reflect the currently selected field in the dBase Fields listbox. If a dBase field is not selected, the controls are unavailable.
Name: A dBase field name up to 10 characters long. The first character cannot be a number. Acceptible characters are:
A...Z _ 0 1 2 3 4 5 6 7 8 9
Type: The dBase data type. Click one of the five radio buttons to change the data type.
Width: The number of characters in the dBase field. The maximum width for fields of type Character is 254 and Numeric is 19. For other types, the width is predefined and cannot be changed.
Decimal: For fields of type Numeric, the number of characters after the decimal point. The maximum value is 15. Decimal must be at least 2 less than the width of the field. For example, if Width is 8, the maximum decimal value you can set is 6.
Date Format: The format used in the ToolBook record field. If no date format is set, sysDateFormat is used. If the text of the record field is a date but ToolBook guesses that it is a different format, change the data type to Date and choose the Date Format button to specify the correct format.
If your book has many record fields containing dates that ToolBook does not recognize as dates, change sysDateFormat to match the format of the dates in the record fields.
recordFields on last background of the selected book
helpText
add_remove
include recordField in export list
helpText
Add >>
remove
remove recordField from export list
helpText
Remove <<
Clear
.&+ +
pPresetDataView
dateFormat
dateFormat
9listToolBookFields
svLine
toolbookfields
dbfields
remove
resetCharacteristics
buttonClick
buttonClick
4INT svLine
= TRUE
enabled
FALSE
listToolBookFields
"dbfields"
l = 0
selectedtextlines
"toolbookfields"
resetCharacteristics
resetDataView
dateFormat
clear export list
helpText
Clear
dBase Fields:
Type'
dbfields
synch
svLine
buttonDown
synch
svLine
field
keyUp
textScrolled
+",H4
+",H4
+",H4
+",H4
w, />
+",H3
saveTBName
svLine
svBkName
dWidth
setCharacteristicsState
dName
dType
setDataView
dDecimal
synch
4INT svLine
<> selectedTextlines
synch
Z <>
textScrolled
{targetField
4STRING svBkName
ZvName
selectedTextLines
= TRUE
setCharacteristicsState
"dType",\
"dWidth",\
"dDecimal",\
"dName"
setDataView
saveTBName
= FALSE
dName
THREE
VLOCALNUM
VEXTENSION
BILLINGCD
NOTES
saveTBName
name for field in dBase file
helpText
dType
dBase field type for recordField data
helpText
dWidth
dBase field width for recordField data
helpText
dDecimal
number of decimal digts if numeric field
helpText
b!T!\s
viewLabel
FALSE
disabled
View ToolBook Field Information
+",H4
svLine
2DisAlNum
dbFields
dName
keyChar
strNameToLarge
strNameNull
strChar1Num
isNum
leaveField
4INT svLine
) > 9
(selectedTextState =
isAlNum(
a = 95
-- backspace
"dName"
selectedTextlines
"dbFields"
Key <>
ZSTRING vError
) > 10
= strNameToLarge()
> = strNameNull()
isNum(
f = strChar1Num()
FALSE
disabled
name of field in dBase file
helpText
nameLabel
FALSE
disabled
Name:
l' (0(
widthLabel
FALSE
disabled
Width:
width
foo(FALSE)
FALSE
disabled
disabled(FALSE)
Width of selected dBase field
helpText
J#<#\s
Character
set field type to character
helpText
Character
set field type to date
helpText
Logical
set field type to logical
helpText
Logical
)X,b,
set field type to memo
helpText
Memo
Numeric
set field type to numeric
helpText
Numeric
DateFormat
w, />
+",H3
w, />
+",H3
dateFormat
saveTBName
strAskDateFormat
svLine
dateFormat
dName
strOK
buttonClick
buttonClick
4INT svLine
(strAskDateFormat(
Bsvline
saveTBName
dName) \
r= strOK()
dateFormat
-- Probably want
use that
every
set the date format for the dBase file
helpText
Date Format...
tbNamelabel
darkGray
strokeGraued
FALSE
disabled
Name:
TBRecordFieldName
disabled
name of ToolBook recordField
helpText
tbTextLabel
FALSE
disabled
Text:
TBRecordFieldText
disabled
contents of ToolBook recordField
helpText
DecimalLabel
FALSE
disabled
Decimal:
Decimal
foo(FALSE)
FALSE
disabled
disabled(FALSE)
decimal precision of selected dBase field
helpText
changeLabel
FALSE
disabled
Change dBase Field CharacteristicsText
FrontEnd
dBase browser
X&H&{
X&H&{
first record
first
WcurrentRecord
Failed
PupdateDisplay
buttonClick
buttonClick
currentRecord
r<> "Failed" --
updateDisplay
go to first record
helpText
Previous
buttondown
previous
WcurrentRecord
Failed
PupdateDisplay
buttonStillDown
currentRecord
r<> "Failed" --
updateDisplay
go to previous record
helpText
buttonDown
WcurrentRecord
Failed
PupdateDisplay
buttonStillDown
currentRecord
r<> "Failed" --
updateDisplay
go to next record
helpText
LastRecord
WcurrentRecord
Failed
PupdateDisplay
buttonClick
buttonClick
currentRecord
"Last"
r<> "Failed" --
updateDisplay
go to last record
helpText
OpenIndexFile
openIndex
buttonClick
buttonClick
openIndex
open an index file
helpText
Open Index File...
goToRecord
w, #?
cancel
WcurrentRecord
*totalRecords
fstrOutOfRange
strEnterRec
PupdateDisplay
buttonClick
buttonClick
(strEnterRec()
<> NULL
r<> "
(isType(INT,
> 0)
<= totalRecords())
currentRecord
updateDisplay
&& strOutOfRange()
go to a record by record number
helpText
Go to Record...
findKey
strEnterKey
searchForKey
PupdateDisplay
buttonClick
buttonClick
(strEnterKey()
searchForKey
updateDisplay
go to a record by key value
helpText
Find Key...
WriteRecord
G[updateDB
buttonClick
buttonClick
updateDB
save the contents of the fields to the file
helpText
Save Record
NewRecord
newRecord
PupdateDisplay
buttonClick
buttonClick
newRecord
updateDisplay
clear the fields and insert a blank record into the file
helpText
New Record
DeleteRecord
deleteRecord
buttonClick
buttonClick
deleteRecord
delete the current record from the file
helpText
Delete Record
titlefield
Front End to
status
currRecord
totRecords
currRecord
totRecords
totRecords
currRecord
*totalRecords
WcurrentRecord
updateDisplay
currRecord
totRecords
value
& " "
notifyBefore updateDisplay
currentRecord()
totalRecords()
displays the current record number and number of total records
helpText
Record: 0 of 07777777777777
SortCheck
chooseIndex
enableFields
FALSE
sortExpressionLabel
currentKeyValue
findKey
svKey
sortExpression
1deselectDBIndexfile
currentKeyValueLabel
buttonClick
chooseIndex
enableFields
FALSE
sortExpressionLabel
currentKeyValue
findKey
svKey
sortExpression
currentKeyValueLabel
vFieldList
updateDisplay
buttonClick
4svKey
ZvFieldList
combobox "chooseIndex"
dropDownItems
selectChange
deselectDBIndexfile()
enabled
BfindKey
= "sortExpressionLabel", "currentKeyValueLabel",\
0", "
enableFields(
, FALSE, TRUE)
notifyBefore updateDisplay
l", "
el",\
toggle the index on/off
helpText
Sort by Index
sortExpressionLabel
Sort Expression:Y
sortExpression
sortCheck
kereadIndexExpression
updateDisplay
notifyBefore updateDisplay
B"sortCheck"
readIndexExpression()
expression used to create current index file
helpText
CurrentKeyValueLabel
Current Key Value:##
".$
currentKeyValue
sortCheck
readKeyValue
updateDisplay
notifyBefore updateDisplay
B"sortCheck"
readKeyValue()
the value of the sort expression for the current record.
helpText
not set yet
helpText
sortbylabel
Choose Index to Sort by:G&$
4%J&B)
chooseIndex
PupdateDisplay
enableFields
sortExpressionLabel
SortCheck
gotodbRecord
FindKey
getDBRecordNumber
svKey
CurrentKeyValueLabel
selectdbIndexFile
selectChange
selectChange
4svKey
ZINT vRecordNumber
ZvFieldList
= getDBRecordNumber()
selectdbIndexFile(
gotodbRecord(
S = "sortExpressionLabel", "CurrentKeyValueLabel"
enableFields(
, TRUE)
B"SortCheck"
enabled
B"FindKey"
updateDisplay
select an index file
helpText
updateDisplay
Paradox FrontendHelp
HelpText
You can view the records in the Paradox file by clicking the navigation buttons (
<<, <<, >>, and >>
) , clicking the Go To Record button, or clicking the Search button.
To edit a Paradox field, change the text of the field and click Save Record. If you do not save the record, the next time you view it, the data for the field will be unchanged.
Whenever you save, delete, or add a new record, only the primary index and any indexes created as "secondary maintained" are updated. Any non-maintained indexes are not updated.
When a Table is opened all of the indexes for it are opened and the fields in the key are put in the combobox. Corrupted indexes are rebuilt. To select an index to sort by, choose the corresponding fields from the combobox.
When you delete a record, the space it takes is not physically removed from the database until you choose Pack Database from the file menu. You should do this every once in a while to prevent the database files from becoming huge.
subtitle
Using the Front End
.&+ +E
default
buttonClick
buttonClick
sysSuspendMessages =
o= default
FrontEnd
exchangeHelp
dBase FrontEndHelp
HelpText
You can view the records in the dBase file by clicking the navigation buttons (
<<, <<, >>, and >>
) , clicking the Go ToRecord button, or clicking the Find Key button.
To edit a dBase field, change the text of the field and click Save Record. If you do not save the record, the next time you view it, the data for the field will be unchanged.
Whenever you save, delete, or add a new record, you are warned that your index files can get out of date if they have not been opened. To stop the warning from appearing, choose Stop Index Warning from the dBase menu.
Records can be sorted by index files if an index file is open. To open an index file, choose Open Index File button. If the sort options are grayed out, an index file has not been opened yet.
When you delete a record, it is not physically removed from the file until you choose Pack Database from the dBase menu.
nu.
subtitle
Using the Front End
.&+ +E
default
buttonClick
buttonClick
sysSuspendMessages =
o= default
Selecting ToolBook Fields Export
Progress
Export dBase
Export Paradox
CDBFIL&File
&Open Index File... Ctrl+O
OpenIndex
Open an Index file for the current database.
&Close Index File... Ctrl+I
CloseIndexFile
Select an Index file to close.
&Run...
Run another application.
E&xit
Exit Database Frontend.
&Edit
Cu&t Ctrl+X
Cut selected text from field.
&Copy Ctrl+C
Copy selected text to clipboard
&Paste Ctrl+V
Paste text from clipboard.
Clear Del
Clear field
&Size to Page F11
SizeToPage
Adjusts the application window to the current page size.
Author F3
&dBase
&Pack Database Ctrl+P
Remove deleted records from database file.
&Stop Index Warning
&Help...
helpForThisBook
Get help for dBIII front end.
&Save Ct&File
Create, open, and manage files
&Open... Ctrl+O
&Save Ctrl+S
Save &As...
&Run...
E&xit Alt+F4
&Edit
Change pages, size the book, switch to author mode
C&ut Ctrl+X
&Copy Ctrl+C
&Paste Ctrl+V
C&lear Del
&Next Alt+Right
&Previous Alt+Left
&Size to Page F11
&Author F3
&Help
&dBase Exchange Help
DbaseHelp
&About dBase Exchange...
AboutDbase
&File
&Pack Database Ctrl+P
Remove deleted records from database file.
&Run...
Run another application.
E&xit
Exit Database Frontend.
&Edit
Cu&t Ctrl+X
Cut selected text from field.
&Copy Ctrl+C
Copy selected text to clipboard
&Paste Ctrl+V
Paste text from clipboard.
C&lear Del
Clear field
&Size to Page F11
SizeToPage
Adjusts the application window to the current page size.
select a ToolBook book to export to a Paradox file
helpText
Choose Book...
ToolBookFileName
ToolBook book to export to a Paradox file
helpText
Build Paradox File
save the specified recordFields to a Paradox file
helpText
Save As Paradox...
Select ToolBook Fields:
ToolBookFields
recordFields on last background of the selected book
helpText
include recordField in export list
helpText
Add >>
remove
w, />
w, />
pPresetDataView
saveTBName
saveTBName
clear
toolbookFields
dbFields
dWidth
resetCharacteristics
dName
dType
svLine
buttonClick
buttonClick
4svLine
ZvTBFieldName, vNextTextline
= TRUE
saveTBName
"toolbookFields")+1
] = 1
enabled
selectedTextLines
"dType"
"dWidth"
lines have been removed
resetCharacteristics
resetDataView
FALSE
Uhas
o, change
selectedtextlines
"dbFields"
" -- sync fields
remove recordField from export list
helpText
Remove <<
Clear
.&+ +
pPresetDataView
9listToolBookFields
svLine
toolbookfields
dbfields
remove
resetCharacteristics
buttonClick
buttonClick
4INT svLine
= TRUE
enabled
FALSE
listToolBookFields
"dbfields"
l = 0
selectedtextlines
"toolbookfields"
resetCharacteristics
resetDataView
clear export list
helpText
Clear
Paradox Fields:
Name1
viewLabel
FALSE
disabled
View ToolBook Field Information
tbNamelabel
darkGray
strokeGraued
FALSE
disabled
Name:
TBRecordFieldName
disabled
name of ToolBook recordField
helpText
dbFields
synch
svLine
buttonDown
synch
svLine
keyUp
textScrolled
+",H4
+",H4
+",H4
w, />
+",H3
saveTBName
svLine
svBkName
dWidth
setCharacteristicsState
dName
dType
setDataView
synch
4INT svLine
<> selectedTextlines
synch
M <>
textScrolled
htargetField
4STRING svBkName
ZvName
1 <>
= selectedTextLines
= TRUE
setCharacteristicsState
"dType",\
"dWidth",\
"dName"
setDataView
saveTBName
= FALSE
dName
THREE
saveTBName
name for field in Paradox file
helpText
dType
Paradox field type for recordField data
helpText
dWidth
Paradox field width for certain types of recordField data
helpText
"h#$(
+",H4
svLine
2DisAlNum
dbFields
dName
keyChar
strNameToLarge
strNameNull
strChar1Num
isNum
leaveField
4INT svLine
) > 24
(selectedTextState =
isAlNum(
e = 95 -- dash, no
y constant!
-- backspace
"dName"
selectedTextlines
"dbFields"
Key <>
tabkey
ZSTRING vError
) > 10
= strNameToLarge()
> = strNameNull()
isNum(
f = strChar1Num()
FALSE
disabled
name of field in Paradox file
helpText
nameLabel
FALSE
disabled
Name:
widthLabel
FALSE
disabled
Width:
width
foo(FALSE)
FALSE
disabled
disabled(FALSE)
width of selected Paradox field
helpText
+",H4
+",H4
TBRecordFieldtext
TBRecordFieldText
vWidth
svLine
Alpha-Numeric
dWidth
setCharacteristicsState
numeric
dType
svChecked
buttonClick
buttonClick
4INT svLine
4svChecked
keeps me
having
figure out what
there
no change
"Alpha-Numeric"
"TBRecordFieldtext"
vWidth
Charcount (
"TBRecordFieldText")
"numeric"
"Memo"
setCharacteristicsState
"dWidth"
"dType"
+ 020
Alpha-Numeric
set field type to character
helpText
Alpha-numeric
set field type to date
helpText
+j1v1
Numeric
set field type to numeric
helpText
Numeric
set field type to memo
helpText
Memo
tbTextLabel
FALSE
disabled
Text:
TBRecordFieldText
disabled
contents of ToolBook recordField
helpText
changeLabel
FALSE
disabled
Change Paradox Field Characteristics
Change dBase Field - Export
Import to Front End
dBase FrontEndHelp
Paradox FrontendHelp
Paradox Field Char - Export
Change dBase Field - Export
Import to Front End
Exporting ToolBook to dBase
Import to Record Fields
Importing dBase to ToolBook
Exchange
folder
mytabheight
myNumTabs
myTabMode
myTabSpace
Folder
tbk_wid_Name
tabHeight
numTabs
tabMode
tabSpace
tbk_wid_props
list,1,2,3,4,5,6
tbk_wid_values
tabNode(FALSE)
obtype
tabHighlight
tabLabel
obtype
tabHighlight
tabLabel
Intro
goPage
obtype
tabHighlight
tabLabel
Export Paradox
goPage
Export to Paradox
obtype
tabHighlight
tabLabel
Export dBase
goPage
Export to dBase
obtype
tabHighlight
tabLabel
Import Paradox
goPage
Import Paradox
obtype
tabHighlight
tabLabel
Import dBase
goPage
Import dBase
highlight
import
author
reader
import
author
enterPage
notifyAfter
notifyBefore
CopyField
templet for database fields
helpText
labelField
templet for field labels
helpText
Label Field
import
author
reader
import
author
enterPage
notifyAfter
notifyBefore
Cancel
Indicate the key (recordField) on which you want to sort.
buttonClick
buttonClick
sysRuntime
("Indicate the key (
J) on which you want
r<> "Cancel"
S&ort
Search
Cancel
T"searchString
field
U"searchString
s_dbExLastFocus
Enter a string to search for
buttonClick
buttonClick
4s_dbExLastFocus
("Enter a
osearchString
r<> "Cancel"
-- the rest
allow
-- even though
getting thrown around
caretLocation =
= NULL
r& ":" &&
&Search
autoPageNumber
enterPage
What record do you want to go to?
buttonClick
notifyBefore
buttonClick
("What record
zyou want
isType(INT,
autoPageNumber
tbk_wid_name
tbk_wid_values
AutoButtons
import
author
reader
import
author
enterPage
notifyAfter
notifyBefore
AutoButtons
tbk_wid_name
First
autoDisable Navigation button
tbk_wid_name
level
direction
disablePage
tbk_wid_props
list,background,book
list,Next,Previous,First,Last
tbk_wid_values
background
prop_level
direction
First
prop_disablePage
F&irst
Previous
:%b%OO
autoDisable Navigation button
tbk_wid_name
level
direction
disablePage
tbk_wid_props
list,background,book
list,Next,Previous,First,Last
tbk_wid_values
background
prop_level
direction
First
prop_disablePage
P&revious
< r&|&
&&'OO
8'|'qp
autoDisable Navigation button
tbk_wid_name
level
direction
disablePage
tbk_wid_props
list,background,book
list,Next,Previous,First,Last
tbk_wid_values
background
prop_level
direction
prop_disablePage
&Next
< 2(<(
(<)qp
P)f)\
autoDisable Navigation button
tbk_wid_name
level
direction
disablePage
tbk_wid_props
list,background,book
list,First,Previous,Next,Last
tbk_wid_values
background
prop_level
direction
prop_disablePage
&Last
enterPage
reader
author
Exchange
Import dBase
12,16
selectChars
Record Field
select a dBase file to import
helpText
Choose dBase File...
dBaseFileName
dBase file to import
helpText
Select dBase Fields:U
DatabaseFields
fieldButtons
unselectAllFields
buttonClick
keyUp
buttonClick
selectedTextlines
-- only
enable them
they are
xalready enabled
-- buttons grouped
simplify
B"unselectAllFields"
"fieldButtons"
FALSE
KeySpace
fields available to import
helpText
selectallFields
databasefields
databaseFields
buttonClick
buttonClick
ZLONG i
ZSTACK vSelectedLines
textlineCount(
"databaseFields")
selectedTextlines
"databasefields"
select all of the listed fields to import
helpText
Select All Fields
directions
helpText
Data in a dBase file can be exchanged in two ways:
1. Import the dBase data into record fields in a new book.
2. View and edit the dBase data directly in a ToolBook front end.
fieldButtons
unselectallFields
dataBaseFields
buttonClick
buttonClick
selectedTextlines
"dataBaseFields"
unselect all of the listed fields to import
helpText
Unselect All Fields
ImportToFrontEnd
import the selected fields to a ToolBook front end
helpText
Import to Front End
ImportToRecordFields
import the selected fields to a ToolBook flat file database
helpText
Import to RecordFields
script
author
reader
author
enterPage
notifyBefore
script for recordfields in front end
helpText
--notify handlers are used here to allow changing of the field's without
--changing script anywhere else. Because the text of a recordfield lives
--on the page and not the background we use words 1 to 3 of the unique name (self)
--to reference the text to set or get.
notifyBefore updateDisplay
set text of words 1 to 3 of self to fieldValue(my name) of this page
notifyBefore updateDB
set fieldValue(my name) of this page to text of words 1 to 3 of self
notifyBefore clearFields
clear text of words 1 to 3 of self
set fieldValue(my name) of this page to null
notifyBefore queryDBFields
system databaseFieldList
push self onto databaseFieldList
author
reader
enterPage
dBase browser
Paradox Browser
Paradox Field Characteristics
Value(my name) of this page to null
notifyBefore queryDBFields
system databaseFieldList
push self onto databaseFieldList
author
reader
enterPage
dBase browser
BasefileName
System
Times New Roman
System
Arial
Arial
Arial
Arial
Arial
MS Sans Serif
System
Times New Roman
System
MS Serif
Sans Serif
\wfonedex.dbf
MS Sans Serif
radox\windows\wfonedex.dbf
Arial
Arial
Serif
ansferring Data
Progress
DBEXCHANGE
ields
page id 21
iting Data to File
page "Progress"
page id 0 of book "C:\jx\dbexchng\courses.tbk"
Transferring Data
ields
splash
Page "splash"
closeAllDBFiles
toolbookfields
dName
06cleanUp
enterPage
toolbookfields
dName
06cleanUp
leavePage
pPresetDataView
toolbookfileName
toolbookFields
dbFields
resetCharacteristics
add_remove
cleanUp
Decimal
enableFields
FALSE
decimalLabel
widthLabel
nameLabel
TypeLabel
changeLabel
dateFormat
Width
resetCharacteristics
field "changeLabel", field "nameLabel", field "TypeLabel",
svLine
FALSE
dbFieldName
dbFieldType
svChecked
dbFieldDecimal
dbFieldWidth
vInactiveList
vActiveList
enableFields
FALSE
field "Width", field "DecimalLabel", field "Decimal"
decimal
Character
vActiveList
field "WidthLabel", field "name"
Width
field "DecimalLabel", field "Decimal"
Numeric
vInactiveList
width
DateFormat
svChecked
setCharacteristicsState
ccutClear
Clear
ccutClear
+",H4
dwidth
decimal
svline
dbFields
dname
width
dDecimal
cutClear
\Validate
aMoveData
p]BuildTag
CreateFile
buttonClick
svInvalidCounter
closeAllDBfiles
strSelTBFields
dName
Validate
createDBFieldTag
/setDBFieldTag
strTagErr
wTinitProgressViewer
Field
Creating Record Definition
Progress
dWidth
svdbName
Numeric
dName
dType
svTag
currentItem
strErrTag
dDecimal
BuildTag
+ , "j
+ , /
+ , #
+ , !
+ , !
strdBnameExist
npnameOnly
JfreeDBfieldtag
createDBfile
strSavedBaseFile
mm/dd/ccyy
strNo
setdBDateFormat
svdbName
strDBFileExists
/strYes
svTbName
svTag
49strDBFileOpenError
strOK
openDBfile
strDBFileCreationError
CreateFile
.&+ +E
+ , #
+",!Y
+",!Y
,%H.%
stopDB
DateFormat
saveTBName
-strErrSetDBF
strTBrecordError
svInvalidCounter
vToolBookFieldName
Record
HwriteDBrecord
wTinitProgressViewer
strErrRefdbField
currentItem
Progress
strErrDBFWrite
strNoNameOrType
dWidth
mm/dd/y
svTbName
hstrTBErrorRef
setDBFieldValue
dName
dType
Numeric
strErrNoDBF
Writing Data to File
dateFormat
dDecimal
MoveData
svInvalidCounter
qstrExportDone
svdbName
closeDBfile
default
stopDB
toolbookfields
dName
06cleanUp
enterPage
toolbookfields
dName
06cleanUp
leavePage
pPresetDataView
clear
toolbookfileName
toolbookFields
dbFields
remove
resetCharacteristics
cleanUp
author
strNotPage
enableFields
FALSE
widthLabel
nameLabel
TypeLabel
changeLabel
Width
resetCharacteristics
enableFields
FALSE
Alpha-Numeric
WidthLabel
nameLabel
TypeLabel
Width
changeLabel
width
svChecked
setCharacteristicsState
ccutClear
Clear
ccutClear
+",H4
dwidth
svline
dbFields
dname
width
cutClear
(exitPX
strdBnameExist
getPXErrorString
npnameOnly
?createPXTable
dstrSavePXFile
strSelTBFields
amoveData
strNo
svdbName
wTinitProgressViewer
Field
Creating Record Definition
/strYes
Progress
Alpha-Numeric
dWidth
svTBName
Numeric
dName
dType
currentItem
-initializePX
strOK
Setting extension to ".db"
buttonClick
.&+ +E
+ , #
+",!Y
,%H.%
hBlob
dWidth
GlobalAlloc
stopDB
pBlobData
saveTBName
-strErrSetDBF
strTBrecordError
strErrNoDBF
GlobalLock
strNoNameOrType
setPXBlob
vToolBookFieldName
svInvalidCounter
svdbName
Record
wTinitProgressViewer
strErrRefdbField
GlobalFree
currentItem
Progress
openPXTable
getPXErrorString
svTbName
hstrTBErrorRef
GlobalUnlock
dName
dType
yAppendPXrecord
hBlobData
Writing Data to File
closePXBlob
setPXFieldValue
openPXBlobWrite
moveData
closePXTable
svInvalidCounter
qstrExportDone
svdbName
default
stopDB
`NV o
OpenIndexFile
StopIndexWarning
PackDatabase
HelpForThisBook
Cannot open dBase file
strCantOpenDbaseFile
There are no records in this file. Please click New Record to enter data.
strNoRecords
then open this book again.
Can't find tb30db3.dll. Please copy this file to a directory
that's in your path, or change your path to include tb30db3.dll's directory,
strNoDLL
Please change the file position to a valid dBase record. You must be positioned on a record before it can be deleted.
strInvalidRecord
Are you sure you want to delete this record?
strDeleteQuery
strOK
Cancel
strCancel
You have just deleted the last record in this file.
A new blank record will be created.
strDeleteLast
modifying record
strModifyRecord
&dBase
strdBase
&Open Index File
strOpenIndexFile
&Pack Database
strPackDataBase
&Stop Index Warning
strStopIndexWarning
&Help For This Book
strHelpForThisBook
moving to
strMoveTo
getting next key value
strGetNextKey
deleting record
strDelRec
setting field value of field
strSetFldValue
getting field value of field
strGetFldValue
modifying record
strModRec
writing new record
strWriteRec
getting record count
strGetRec
getting record number
strGetRecNum
That record has been marked for deletion.
strMarkDelete
All records in Database are marked as deleted
strAllMarked
Unable to set record
as the current record. Keeping current record.
strKeepRecord
navigating in dBase file
strNavigate
Only seven index files can be opened at once.
strOnly7
Please choose the index file to open.
strChooseIndex
Open Index File
strOpenIndex
is already open
strAlreadyOpen
Index file
cannot be opened.
strCantOpen
WARNING: ToolBook has detected corruption of your dBase file.
strCorruptWarn
Author
strAuthor
strExit
w, #?
Error encountered while
getDBerrorString
Error accessing dBase file
strGeneralError
Warning: If you alter a dBase file without opening
its corresponding index files, the index files will not be updated.
strWarning
You are already on the first key.
strFirstKey
You are already on the first record.
strFirstRec
You are already on the last key.
strLastKey
You are already on the last record.
strLastRec
Enter record number to go to.
strEnterRec
positioning by record number
strPosRec
is not a valid record number.
strNotValidRecNum
Enter field to search in, or a number "x" to search the first "x" fields.
strEnterField
Enter data to search for.
strEnterKey
is out of range.
strOutOfRange
xstrCantOpendBaseFile
linkdBase
tb30dlg.dll
+!openFileDlg
Frontend
=QpDBasefileName
openDBFile
enterApplication
first
false
currentRecord
svKey
setDBNavigateToDeleted
PupdateDisplay
checkError
@noIndex
enterPage
exitDB
leaveApplication
checkDBIndex
closeAllDBFiles
closeDBFile
closeDBIndexFile
createDBFieldTag
createDBFile
createDBIndexFile
deleteDBFile
deselectDBIndexFile
findDBKey
firstDBKey
firstDBRecord
freeDBFieldTag
getDBDateFormat
getDBErrorString
getDBFieldCount
getDBFieldName
getDBFieldPrecision
getDBFieldType
getDBFieldValue
getDBFieldWidth
getDBFileName
getDBIndexExpression
getDBIndexFileName
getDBKeyType
getDBKeyValue
getDBNavigateToDeleted
getDBRecordCount
getDBRecordDeleted
getDBRecordNumber
gotoDBRecord
lastDBKey
lastDBRecord
nextDBKey
nextDBRecord
openDBFile
openDBIndexFile
packDBFile
previousDBKey
previousDBRecord
reindexDBFile
removeDBRecords
selectDBFile
selectDBIndexFile
setDBDateFormat
setDBFieldTag
setDBFieldValue
setDBNavigateToDeleted
setDBRecordDeleted
writeDBRecord
|strNoDLL
tb30DB3.DLL
linkdBase
author
yhelpText
statusBar
mouseEnter
getDBRecordNumber
currentRecord
getDBRecordCount
totalRecords
getDBFieldValue
checkError
fieldValue
KustrDataInvalid
setDBFieldValue
fieldValue
9FgetDBKeyValue
checkError
readKeyValue
reading index Expression
checkError
getDBIndexExpression
readIndexExpression
strDelRec
newRecord
setDBrecordDeleted
PupdateDisplay
PupdateWarning
checkError
lastDBRecord
CVstrDeleteLast
getDBrecordDeleted
strCancel
strOK
strDeleteQuery
deleteRecord
PupdateWarning
strInvalidRecord
HwriteDBrecord
checkError
strModRec
getDBRecordDeleted
updateDB
clearFields
strGetRec
HwriteDBrecord
strWriteRec
getDBRecordCount
svTotalRecords
checkError
newRecord
,%H.%
chooseIndex
sortCheck
vIndexFile
No index file is currently selected
1deselectDBIndexFile
vIndexFiles
No index files are open
closeDBIndexFile
@noIndex
closeIndexFile
chooseIndex
sortCheck
enableFields
FALSE
sortExpressionLabel
currentKeyValue
findKey
sortbylabel
SortExpression
enableComboboxes
currentKeyValueLabel
vFieldList
noIndex
closeAllDBFiles
exitDB
w, #?
chooseIndex
npnameOnly
lstrOnly7
enableFields
Index file (*.NDX),*.NDX
vFileName
sortExpressionLabel
sortCheck
strAlreadyOpen
strChooseIndex
currentKeyValueLabel
getBDErrorString
getDBRecordNumber
sortbylabel
OpenFileDlg
openDBIndexFile
1reindexDBFile
gotoDBRecord
enableComboboxes
strCantOpen
closeDBIndexFile
FindKey
vFieldList
openIndex
.&+ +E
packdBFile
first
WcurrentRecord
getDBErrorString
PupdateDisplay
default
packDatabase
stopIndexWarning
checked
stopIndexWarning
dBase FrontEndHelp
helpForThisBook
strNavigate
findDBKey
checkError
searchForKey
strWarning
stopIndexWarning
strCancel
strOK
checked
updateWarning
nextDBrecord
strFirstRec
first
DSstrKeepRecord
svKey
strLastRec
nextDBkey
WcurrentRecord
firstDBkey
currentRecord
previous
lastDBrecord
isPositiveInteger
"FfirstDBrecord
`previousDBkey
gotoDBRecord
lastDBkey
Failed
previousDBrecord
strAllMarked
currentRecord
strGeneralError
strAuthor
ZstrExit
strauthor
strCorruptWarn
checkError
false
isPositiveInteger
nameOnly
R@TRUE
Label
I@enableFields
I@enableComboboxes
default
enterPage
Label
enableFields
changeExtension
totalItems
|itemType
Progress
currentItem
initProgressViewer
yhelpText
statusBar
mouseEnter
.&+ +E
FALSE
mtb30.exe
forward
system s_dbExLastFocus
ToolBook
center
rsstrNoDBFFields
Choose name for new book
if s_dbExLastFocus <> focus
s_dbExLastFocus = focus
ToolBook (*.TBK), *.TBK)
save as
end idle
changeExtension
, TRUE
end if
dataBaseFields
saveAsDLG
default
to handle idle
7strErrTbkExe
CreateDBBook
,%H.%
First
script
Building DatabaseFields
CopyField
Previous
wTinitProgressViewer
Field
FALSE
currentItem
Progress
autoPageNumber
;lstrToManyFlds
frontEnd
Search
Database Records
labelField
addDatabaseFields
enableFields
FALSE
field "TBRecordFieldName", field "TBRecordFieldText"
field "viewLabel", field "TBNameLabel", field "TBTextLabel",
resetDataView
TBRecordFieldName
TBRecordFieldText
enableFields
field "viewLabel", field "TBNameLabel", field "TBTextLabel"
vControlList
setDataView
.&+ +E
0\dupStrs
strNoNameRecFfl
vbuildRecordFieldList
toolbookfilename
toolbookFields
svTbName
strSelTBKFileName
strTwoShareName
default
listToolBookFields
+ , #
recordfield
group
svBkName
svTbName
buildRecordFieldList
FALSE
dupStrs
Ko*DL
,49(-
7pG'8
linkPX
splash
linkdBase
s_firstFlag
DBEXCHNG.TBK will now exit.
DBEXCHNG.TBK needs SHARE.EXE to work correctly. Please leave Windows and from the DOS prompt type "share" followed by the enter key. You can then re-enter Windows and start DBEXCHNG.TBK
The controls in the Change Paradox Field Characteristics section reflect the currently selected field in the Paradox Fields listbox. If a Paradox field is not selected, the controls are unavailable.
Name: A Paradox field name up to 25 characters long. The first character cannot be a number. Acceptible characters are:
A...Z _ 0 1 2 3 4 5 6 7 8 9
Type: The Paradox data type. Click one of the four radio buttons to change the data type.
Width: The number of characters in the Paradox field. The maximum width for fields of type Alpha-numeric is 255 and Memo is 240. The width of the memo field is not related to the size of the memo field. Instead it specifies how much of the memo is actually stored in the table. The complete memo is stored outside of the table; Paradox creates a pointer to the memo that it stores in the table. For other types, the width is predefined and cannot be changed.
If your book has many record fields containing dates that ToolBook does not recognize as dates, change sysDateFormat to match the format of the dates in the record fields.
Change Paradox Field Characteristics
N,try
strNoLabels
Paradox Field Char - Export
The controls in the Change Paradox Field Characteristi