Rekall Unbound
Next
Rekall Unbound
Mike
Richardson
Revision
2.2.4 (
20-Apr-05
)
Table of Contents
1. Introduction
2. Overview and Tour
Accessing a Database Server
The Rekall Database File
SDI or MDI: That is the Question
The Rekall Server Dialog
Advanced Settings
Viewing Tables
Forms
Rekall Queries
Reports
3. Connecting to Database Servers
The Server Dialog
The !Files Entry
The Rekall Objects and Design Tables
And Now, the Real Thing ....
4. Accessing Tables with Rekall
Data Types in Rekall and Servers
Designing and Altering Tables
Viewing and Updating Data in Tables
Other Table Design Settings
Table Quick Filters
Row sorting
Row selection
Columns
Using Quick Filters
Some Miscellanea
5. Designing and Using Forms
Creating a Form
Creating a New Form: The Form Dialog
Creating a New Form: The Query Dialog
Creating a New Form: The Block Dialog
Adding Controls to the Form
Positioning Controls
Saving and Showing the Form
Adding Navigation Buttons
Creating a Form with a SubForm
Containers and Stretchable Forms
Form Navigation
Menu-Only Forms
Pasting and Linking Components
Record Locking
Lock Row on Update
6. Queries
Creating Queries
Joins: Inner, Outer and none
Using a Query in Forms and Reports
Free-Text Queries
7. Designing and using Reports
Creating a Report
Printers and Printing
Design View, Data View, Print and Preview
Label Printing
8. The Structure of Forms and Reports
Form Controls
Field
Memo
Choice
Link
Pixmap
Graphic
Check
Spin Box
Rich Text
Row Mark
Label
Button
Tab Control
Container
Report Controls
Field
Link
Pixmap
Graphic
Summary
Label
Headers and Footers
Forms and Reports are Trees
Objects are Classes
KBNodes, KBObjects and KBItems
KBNode
KBObject
KBItem
KBBlock and Friends
Data Controls
Containers: KBHeader, KBFooter, KBContainer, KBTabberPage
Forms and Reports
Properties
Common Properties
Notes
X-Position, Y-Position, Width and Height (x, y, w, h)
X-mode and Y-mode (xmode, ymode)
Control name (name)
Background Colour (bgcolor)
Frame Style (frame)
Text Colour (fgcolor)
Display Expression (expr)
Data-Related Properties
Row Count (rowcount)
X and Y Spacing (dx, dy)
Default Value (defval)
Null OK (nullok)
Validator (evalid)
Ignore Case (igncase)
Read Only (rdonly)
Format (format)
Text Alignment (align)
Input Mask (mask)
No Update (noupdate)
Block Properties
Show Scroll Bar (showbar)
Parent/Child (master, child)
Tab Wrapping (tabswrap)
Read Only (blkrdonly)
Form Properties
Streatchable (stretch)
Scripting Language (language)
Form Caption (caption)
Script Modules
Import Modules
Report Properties
Margins (lmargin, rmargin, tmargin, bmargin)
Printer (printer)
Show Print Dialog (printdlg)
9. Scripting with Python
Introduction to Scripting
Events
Expressions
Modules
An Aside: Query Rows
Examples
Record Navigation the Proper Way
(Re)Querying the database
Locking Fields
Roll Your Own Form
Persistent Objects
Object Events
Button Events
Item Events
Block Events
Form Events
Manipulating Objects
KBObject
Methods
KBItem
Methods
Containers Methods
KBButton
Methods
KBLabel
Methods
Tabber and Tabber Page Methods
KBForm
Methods
Python Scripting Help
10. The Python Debugger
Breakpoints
Exceptions
11. Executing SQL from Python Scripts
Connecting to the server database
Using a cursor
The RekallPYDBI Code
12. Import and Export: The Copier
The Copier
Copier Sources
File
Table
XML
Query
Arbitrary SQL
Copier Destinations
File
Table
XML
13. Executing Forms and Reports with Parameters
Using Parameters
Set up for User Entry
User Input
Passing Parameters via Scripts
Opening Forms and Reports
Parameter Passing: An End-Note
Linking Forms and Reports
14. Wherin Be Diverse And Assorted Miscellanea
Query Logger
Event Logger
SSH Tunneling
The Database Dumper and Loaders
The Database Dumper
The Database Loader
15. Components and Event/Slot Scripting
Components: Rolling Your Own
Creating Components from Existing Forms and Reports
Creating and Editing Components
Advanced Scripting: Events and Slots
Reusable components and the Event/Slot mechanism
A Record Selection Tool
Component Linking
Overriding Events
Direct Access to Events and Slots
Directly Invoking an Event
Slots as Methods
16. Macros: Automation Without Scripting
Enabling Macros
The Macro Editor
Macro Debugging
Macros
Cancel Box
Message Box
Prompt Box
Debug Enable
Open Form
Navigate
Close Form
Open Report
Get Field
Set Field
Open Table
Open Query
A. Primary and Unique Key Columns
Identifying Rows in Tables
Tables Created by Rekall
Accessing Extant Tables
Specifiying Unique Key Columns
Fake Unique Keys for Insertion
Key Generator Functions
B. Database Drivers
MySQL
Ignore MySQL character set
PostgreSQL
Use Serial Type for Primary Key
Show Tables Irrespective of User
Show PostgreSQL Objects
Log internal driver queries
Requires SSL Connection
Record Locking
XBase
Pack database files on close
Case sensitive matching
Wrap names with [....]
Minimise memory usage
ODBC
Map CR/LF in strings
Show system tables
Wrap names with [....]
C. The XBase interface
D. Object Properties
Form Properties
Form Block Properties
Report Properties
Report Block Properties
Block Header
Block Footer
Tabber
TabberPage
Button Properties
Label
CheckBox
Choice
Link
Field
Memo
Pixmap
Summary
RowMark
RichText
Table Query
Rekall
Query
Free-text SQL Query
E. Object Methods
Block Methods
Button Methods
Choice (ComboBox) Methods
Form Methods
Container Methods
Item Methods
Label Methods
Object Methods
Tabber Page Methods
RekallMain functions
F. tkcRekall: Rekall on the Sharp Zaurus
Right-Click Operation
Menus and Toolbars
Dialog Layouts
Table Design
Query Design
Copier Design
G. RekallRT: The Rekall Runtime
Startup Form
Open Last Database
Database Window
Debugging
H. KDE Parts
Next
Introduction