Help Menu

KaioneSoft Home

Help Home

Index

Glossary

Conventions

Introduction

Installation

Getting Started

Desktop Companion

SprintDB Pro 2

Using Tables

Creating SQL

Creating Forms

How to

Understanding Macros

Macro Actions

Advanced Techniques

Database Functions

Tutorial

UI Design Guide

New Features  »

New Features in Versions 1.5 - 1.7x

Introduction

This page provides summary information for each new version or maintenance release of SprintDB Pro. The latest release is at the top of the page. We suggest you read the new feature information here first, and allow a few days for it to be integrated into the body of the help system.

SprintDB Pro Desktop Companion and SprintDB Pro 2.0
Please click here for feature information on the SprintDB Pro Desktop Companion and SprintDB Pro 2.0 .

Summary of Supported Features for the following versions

Version 1.6

Version 1.5

Version 1.7/1.7a & b

<Top>

Version 1.7/1.7a and b

New Table EditorNote: SprintDB Pro version 1.7 has introduced a some new features to the Table Edit window. These are to accommodate the new AutoNumber Field types.

Syntax Change

SprintDB Pro version 1.7 now supports enhanced syntax. Any code created in versions 1.0 - 1.6c should be altered to comply with the new syntax rules.

Query parameters should now use the following format:

{"SELECT .... "}, or

"SELECT ... ". (new version only)

Notice the SQL statement is enclosed by {","} or ", ".

For example:

"SELECT "+&tableName+@whereClause

1. New Macro Actions

ScrollScreen (Direction, Pixel)
Scrolls the contents of the current form screen.

Arguments:
Direction: scroll direction. "Left","Right","Up","Down"
Pixel: specifies the scroll amount in pixel.

Example:
ScrollScreen(Left,240)

CreateControl (Main/SubForm, Type, Style, Name, Caption, Left, Top, Width, Height, BoundTabControl, BoundTabPage)
Creates a control at run-time.

Arguments:
Main/SubForm: specifies a Main/Subform that the control belongs to.

Type: specifies the type of the control.
"Button","EditBox","CheckBox","Label","List","DropDownBox","PictureBox","ScribbelBox"

Style: specifies the control style.
The available styles are:
"Visible",
"Border",
"Locked",
"Center", "Right", "Left" : Text alignment.
"AutoHScroll", "HScrollBar", "VScrollBar", "MultiLine" : for editbox only.
"MonthCalendar", "DatePicker", "DateTimePicker", "TimePicker" : for editbox only.

Name: the name of the control.

Caption : specifies the caption of the control - for label and button control only.
Left, Top, Width, Height: specifies the control's position and size.
BoundTabControl : specifies the TabControl name if the control is be located on a tab control.
BoundTabPage: specifies the index of TabPage on the TabControl. The index starts with 1.

Examples:

CreateControl(MainForm,EditBox,myedit1,,"Visible+Border+AutoHScroll",10,10,100,20)
CreateControl(MainForm,Label,,mylabel1,"Label1:","Visible+Border",10,10,100,20,&tabControl1,2)

RequeryForm (Main/SubForm)
Re-queries specified Main/Subforms, and re-fresh its controls.

Arguments:
Main/SubForm

OpenQuery (Query)
Opens a query in the table view.

Arguments:
Query: The name of the query. Also you can specify a SQL-SELECT statement instead of a query name.

RunSQL (SQLstatement)
Runs a data-definition query.

Arguments:
SQLstatement: a data-definition query like "CREATE TABLE", "ALTER TABLE".
For more information about SQL statements supported in ADOCE, see Supported SQL Statements.

Examples:

RunSQL( "CREATE TABLE myTable1 (ID Integer, nameField Varchar(20), isMarried Bit, notesField Text)" )

RunSQL( "DROP TABLE myTable1" )

ExecMacro (Macro)
Executes a set of one or more macro actions.

Arguments:
Macro : a set of one or more actions.

Examples:

ExecMacro("Dim(var1)\r\nSetVar(@var1,&control1)\r\nMsgBox(@var1)")

ExecMacro(!0!table1.fldMacro)

Note : Each macro action should be delimetered by newline. (\r\n).

2. New Database Functions

InputDatePicker (Prompt,Title[,DefaultValue])
Displays a prompt in a dialog box, waits for the user to input dateTime
using the built-in dateTime picker, and returns the dateTime in string.

Arguments:
Prompt: String expression displayed as the message in the dialog box.
Title: String expression displayed in the title bar of the dialog box.
defaultValue: String expression displayed in the dateTime picker as the default
response if no other input is provided.

Examples:

InputDatePicker("Enter a date","Date")
InputDatePicker("Enter a date","Date",SYSDATETIME())

InputComboBox (Prompt,Title,ComboSource[,DefaultValue])
Displays a prompt in a dialog box, waits for the user to input text or select a text
from the built-in combo box control, and return the text.

Arguments:
Prompt: String expression displayed as the message in the dialog box.
Title: String expression displayed in the title bar of the dialog box.
comboSource: record source of the combo box control.

To specify an SQL Statement, enclose the statement with: ",'.

To specify a value list, enclose it with: {}.

DefaultValue: String expression displayed in the dateTime picker as the default
response if no other input is provided.

Examples:

InputComboBox("Choose a country","Country","SELECT myTable.Country FROM myTable")
InputComboBox("Choose a country","Country",{Germany,USA,Mexico})
 

GetDeviceID()
Returns the device ID of your Pocket PC.

GetGUID()
Returns a GUID (Globally Unique ID).

GetOwnerName()
Returns the Owner Name of your Pocket PC.

3. New Events for Forms

OnInputPanelOn - occurs when the Software Input Panel is raised.
OnInputPanelOff - occurs when the Software Input Panel off.

4. New AutoField Types
Now supports AutoFields other than AutoIncrementalField.
AutoIncremental and RandomNumber for the Integer type field.
GUID and RandomNumber for the Text type field.

To set the AutoField:

  1. In the Table Editor, select a field in the Field List.
  2. Check the AutoField checkbox, and then select an AutoField type.

Note: These new features will be covered in Using Tables and in the Tutorial.

5. New Control

A New Tab Control Type that supports TabBkColor and TabColor has been added. See: How to Work with Controls .

6. New Properties

Form Properties:
AllowEdits - to specify whether a user can edit saved records when using a form.
AllowDeletions - to specify whether a user can delete a record when using a form.
AllowAdditions - to specify whether a user can add a record when using a form.

H.ScrollBar -
V.ScrollBar -

<Top>

Version 1.6 (Including Revisions a, b and c)

1. Save Column Size in Table View
Now SDP automatically saves the column size in Table view. (Turn the "AutoSize Coulmn" option off to save the column size.)

2. Macro Editor Supports Indentation and Comment Lines
You can now copy/paste your code lines to and from the system clipboard.

To copy your Macro code lines, select the code lines from the Code Window.

  1. To select multiple lines tap the "Ctrl" or "Shift" key in the Input Panel first.
  2. Tap Edit > Copy Lines.

New Edit Menu for the Macro Editor

Comment Line and Remove Comment
These will comment out a line with "//" or remove the comment symbol from a line so that you can disable your code lines temporarily.

Note: The Control Parameter of Macro Actions now accept a variable or expression other than the control Name( &control ).

For example:
Dim( var1 )
SetVar( @var1, "&control1" )
SetControl( @var1, "hello" )

3. Supports Nested If... Else... EndIf

Example:
Dim(a)
  Dim(b)
...
If( @a=1 )
  If( @b=0 )
...
  Else
...
  EndIf
Else
...
EndIf

4. New Macro Actions

GotoRecord( Form, Record_number )

Example:
GotoRecord( MainForm, 100 )

SetZOrder( Control, Top/Back ) - Places a specified control at the front or back of the ZOrder.

This allows "Control Stacking" at run-time.

Example:
SetZOrder( &label1, Top), SetZOrder( &label1, Back)

5. New Functions

GetClipboard() - retrieves data from the System Clipboard.

Example:
Dim( a )
SetVar( @a, GetClipboard() )

GetMonthName( Date, Long/Short ) - returns the name of the month in long/short format.

Example:
Dim( a )
SetVar( @a, GetMonthName(!table1.date1, Short ) )

GetFilePath( full_path_of_a_file ) - returns the directory path of the specified file path.

GetFileName( full_path_of_a_file ) - returns the file name of the specified file path.

Example:
GetFilePath( "\My Documents\aa.bmp" ) will return "\My Documents".
GetFileName( "\My Documents\aa.bmp" ) will return "aa.bmp"

Dim( fullpath )
SetVar( @fullpath, FILEDIALOG(Open,"*.bmp,*.jpg") )
Dim( filepath )
Dim( filename )
SetVar( @filepath, GetFilePath(@fullpath) )
SetVar( @filename, GetFileName(@fullpath) )

RECCOUNT( form_id ), RECNO( form_id )
form_id: 0 - MainForm, 1 - Subform1, 2 - Subform2, ...
You can omit the form_id parameter. It's 0 (MainForm) by default.

6. Supports an Expression in the FixedPath Property of a Picture Control

Example:
GetRegistryStr('MyConfig','PicturePath','\My Documents\')+"button1.bmp"

7. Now you can Change the Tab control's Tab-page Order

1. Activate a Tab-page first,
2. Tap Edit > Page Up / Page Down.

8. New Parameter "Confirmation" for UpdateRecord(), UpdateAll(), DUpdateRecord()

UpdateRecord( Form, Field, Value, Confirmation )
UpdateAll( Form, Field, Value, Confirmation )
DUpdateRecord( FieldValue, Domain, Criteria, Confirmation )

You can choose "Yes" if you want to display a confirmation-dialog box before the operation.
If not, choose "No"

9. New Parameter "NotFoundMsg" for FindRecord()

FindRecord( Form, FindWhat, SearchField, Match, MatchCase, Search, FindFirst, NotFoundMsg )

10. Support for German Number Format (Decimal Symbol, Digit Grouping Symbol) in Table view and Form view

11. Supports the "DISTINCT" property for a DropDownBox Control

To remove duplicates in your combo box control, set "Distinct" property to "Yes".
Note: "Distinct" only works with "Table/Query" RowSourceType at the moment.

New Control Property: "Stretch"
Allows you to change the Stretch property at run-time.

Examples:
SetControl( &picturecontrol1.Stretch, "Stretch" )
SetControl( &picturecontrol1.Stretch, "Zoom" )
SetControl( &picturecontrol1.Stretch, "No" )

Bug Fixes

    Bug when using CallForm() with a Find parameter to search a text-type field.
    e.g:
    CallForm( form1, , form1_table1.text_field="hello", Edit, )

    Some bugs when setting the AutoNumber field in the table editor.

    Other (minor) bugs...

<Top>

Version 1.5

SprintDB Pro version 1.5 support the following new Macro Actions, Functions, Properties and Configuration settings.

See: Quick intoduction to the Picture & Scribble box.

1. PictureBox
This control allows you to include image files (BMP and JPG formats) in your database applications.

  • A PictureBox control can be bound to a Text Type table field that contains the file path of the image file.
  • You can specify a fixed path of an unbound PictureBox, using the FixedPath property.
  • The PictureBox control supports BeforeUpdate, AfterUpdate and OnClick events. This makes it possible to use this control as button-type control.

2. Scribble Control

This control allows you to draw pictures using your stylus.

  • The Scribble control can be bound to an OLEObject table field.
  • SprintDB Pro saves your drawing to the underlying field as a BMP image file.
  • Use ClearScibble (ScribbleControl) to clear the drawing.
  • SaveScribble (ScribbleControl, FilePath) saves the drawing to a BMP or JGP file.

For example:
Dim (filePath)
SetVar (@filePath, FILEDIALOG (save, "*.jpg,*.bmp"))
If @filePath <> NULL
SaveScribble (Scribble1, @filePath)
EndIf

3. OnTimer Event for Forms

SetTimer (TimerID, IntervalInMilliseconds) and KillTimer (TimerID) macro action.

TIMERID() Function.

For example:
OnOpen Event
SetTimer (1, 1000)
SetTimer (2, 5000)

OnTimer Event
If  TIMERID() = 1
.....
Elsef TIMERID() = 2
 

4. Enhanced date and time picker

Now supports "MonthCalendar", "Date", "DateTime", "Time" options for the DateTimePicker property.

5. OnChange Event for the Tab Control

The OnChange event occurs the focus on the Tab page. You can return the currently focused Tab page using the TabControl.FocusTab property.

For example:
If &Tab1.FocusTab=1

6. Support for ValdationRule and ValidationText Properties

ValidationRule: This is a boolean expression that will determine a wheather a field contains valid data.

For example:
&ControlA > 100 AND &ControlB < 200

ValidationText: Allows you to generate an error message will be returned if the ValidationRule returns False.

7. Formatting for a Control's Value

This currently supports Currency, Number and Percent.

8. Support for Printing in Table and Form View

SprintDB Pro + Print 1.5 now supports printing directly from the Pocket PC. This can be via the Infrared, Serial or USB port (where available).

PrintForm now supports the List control.
To print all the items in a list control, use PrintForm, not Print As Image.

PrintForm() Action - prints the current form.

9. Supports 'Layout Snap' in Form Edit Mode

This feature will assist you will the accurate placement of controls on a Form or Tab. When Use Layout Snap is on, anytime time you drag a control, and drop it, it will 'Snap to' align itself with the closest 'grid-line'.

  • You can enable/disable and specify snap spacing in the Options... dialog.
  • Tap File > Options... in the Form view.
  • You can set the Snap Spacing Width and Height properties in pixels.
  • Check the Use Layout Snap box to enable/disable Layout Snap.

10. Incremental Search in Table view and Form View

This feature will assist you in searching for records. Use the following steps.

  • Tap and hold a field/control you want to search.
  • Choose IncrementalSearch from the popup menu.
  • Enter the first letter of the record required. As you continue to enter letters, the Incremental Search will attempt to match your entry.

11. Support for Hardware Buttons to Navigate Records in Table Form View

  • In Table View - press your device's Up/Down buttons to go to the Prev/Next record.
  • Press the Left/Right buttons to go to the Prev/Next field.
  • In Form View - press the Up/Down buttons to go to the Prev/Next record.

12. New Macro Actions

  • Quit() - quits SprintDB Pro and returns to the device's operating system.
     
  • GlobalDim (VariableName) - declares a global variable.
    For example:
    GlobalDim (MyGlobalVar)
     
  • RunApp (AppPath, Parameter) - executes an external program.
    For example:
    RunApp ("calc.exe")
    RunApp ("pword.exe", !table1.filepath)
     
  • ShowInputPanel (Show/Hide) - Shows or Hides the SoftwareInputPanel (SIP).
    For example
    ShowInputPanel (Show)
    ShowInputPanel (Hide)

    PrintForm()
    ClearScribble()
    SaveScribble()
    SetTimer()
    KillTimer()
     

13. New Control Properties

FocusTab for a Tab control.
For example:
SetControl (&tab1.FocusTab, 2) will activate the second tab page of the Tab control.
*Please note that this will not occur on the OnChange event of the Tab control.

DelConfirm Property for Forms.
Default is 'Yes', and 'Yes' will popup a confirmation dialog when you attempt to delete current record.

14. New Functions

  • FILEDIALOG (Save/Open, Filter) - Returns the full path of the file selected/entered in the dialog, or returns NULL if you CANCEL.
    For example:
    FILEDIALOG (Open, "*.bmp, *.jpg")
    FILEDIALOG (Open, "*.csv;*.txt, *.doc")
    FILEDIALOG (Save, "*.bmp, *.jpg")
     
  • RGB( Red, Green, Blue )
    returns RGB values based on the specified R,G,B value
    For example:
    RGB (36,91,29) returns 1923876.
     
  • ASC (String) returns the ASCII value of the first character in a string expression.
    For example:
    ASC ("ABC") will return 65.
     
  • CHR (ASCII_Value) returns the character associated with the specified ASCII_Value.
    For example:
    CHR (65) will return 'A'
     
  • GetRegistryStr (Section, Entry, Default_value ) returns the string from the the specified registry entry.
    Default_value: the default value for the entry if the entry not found.
    For example:
    Dim (myStr)
    SetVar (@myStr, GetRegistryStr("mySection","myStrEntry", "Not Found!"))
     
  • GetRegistryInt (section, entry, default_value ) returns the integer value from the specified Registry entry.
    For example:
    Dim (myInt )
    SetVar (@myInt, GetRegistryStr("mySection","myIntEntry",0))

<Top>