What is the Satellite Forms Solutions Guide?
         Next Topic

The Satellite Forms Solutions Guide is a collection of numerous solutions for SatForms developers, organized into various categories. The intent is to provide a comprehensive directory of solutions and solution providers that Satellite Forms developers can access to enhance their handheld applications.

We are always looking to add new solutions to the Guide, and welcome your submissions for inclusion in a future revision. If you provide or know of a solution that should be included, please contact us with that information via the email address solutions@satelliteforms.net

See the document Revision History.

DocID: 10002 DocDate: 2008-05-28


Revision History

Version

Date

Notes

2.3

July 25, 2008

Added NH SoftWerks LLC , added Lerin Data , updated IPC DPP-350 Mobile Printer

2.2

May 28, 2008

Added TechnoDane Software & Systems, LLC , IPC DPP-350 Mobile Printer , jSyncManager Java-based Server Sync System

Added SysUtils , InkHelper , WM5 GPS , ScreenSize , IntermecScan , ShowImage , ConnectionMgr , JanamUtils , WM5Camera extensions

Updated IPC PP-55 Mobile Printer , Versid Temperature Acquisition Module plus minor updates to additional extensions

2.1

Jan 26, 2007

Updated contact information for Michael Hill

2.0

Nov 14, 2006

Added the Sapphire IrDA Print Utility extension for PocketPC

Added the Google Maps extension for PalmOS

Added the CommitDatabase extension for PocketPC

1.9

Nov 7, 2006

Updated the OneBridge Mobile Data Sync listing to include a download link

Updated Handheld Competence listing to include OneBridge consulting

Updated SFDeviceID-PPC extension to include Windows mobile 5 compatibility

Added the Sapphire IMEI Utility extension for Windows Mobile Phone Edition

Added several extensions from Antelligent Microsystems including AMS Utilities , Alpha Keypad , Input Box , Numeric Keypad , and Time Picker .

Reformatted PDF version to Letter page size

1.8

Oct 2, 2006

Added extensions LaunchURL , LaunchReturn , DynamicInputArea , UnitechScan , BatteryInfo , FormNavHelper , DmSyncDatabase , PrintHTML for PocketPC , Sapphire RAS , Sapphire Encrypt , Sapphire Buttons , Sapphire GZIP , Sapphire FTP . Updated extensions SF-HTTP , SFTreo600Tools , SFVersaMail , SFTreo600Gadgets , Beam DB . Added Security & Encryption extension subcategory. Added PDAFileServer and OneBridge Mobile Data Sync to Server Sync section.

1.7

Mar 7, 2006

Revised SFTextFile extension info to include new PocketPC version, added EListBox extension

1.6

Feb 15, 2006

Updated Meazura Barcode and SocketScan extension information

1.5

Jan 16, 2006

Modified Strings extension info, added Damue Pty Ltd to the list of solution providers

1.4

Oct 31, 2005

Added RLS Data Concepts to the list of solution providers

1.3

Oct 15, 2005

Added MobiTech Systems to the list of solution providers

1.2

Sept 9, 2005

Added new BtControl extension, PalmOS Emulator, PalmOS Simulator, PocketPC Emulator info

1.1

July 18, 2005

Added more custom developers and extensions, and the standard SatForms extensions

1.0

June 30, 2005

First release!

DocID: 10003 DocDate: 2008-07-25


Listing notes

NOTE: The inclusion of a product or solution provider in the Solutions Guide should not be considered an endorsement or recommendation of that product or solution provider by Thacker Network Technologies Inc.

DocID: 10074 DocDate: 2005-07-04


PocketUtils

Product | PocketUtils
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00003.htm
Version | 2.11
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Utilities, battery, hotsync, preferences, clipboard, flashID

Sample Application

PocketUtils is a SatForms plugin extension that contains over fifty useful functions as outlined below:

  • PromptUser - Improved! Resizes itself to accomodate up to 10 lines of text, and an additional PromptUserBeep command was added.
  • GetAppPref/SetAppPref - Read/write application preferences from the Palm preferences database.
  • GetFileType/SetFileType - Read/write a file's Type (eg. DATA, Appl, Extn, etc.).
  • GetFileCRID/SetFileCRID - Read/write a file's CreatorID.
  • GetHiddenBit/SetHiddenBit - Read/set/clear a file's Hidden attribute.
  • GetCopyPreventionBit/SetCopyPreventionBit - Read/set/clear a file's Copy Prevention attribute (for prevention of beaming).
  • RenamePalmFile - Change the name of a specified file.
  • GetOSVersion - Return the PalmOS version string (eg. v.3.1).
  • SetControlPosition - dynamically & temporarily change the position of a control on the current form, reverting to the original position when the form is reloaded.
  • LaunchApp - launch a specified application, with the ability to specify the desired application at runtime.
  • ClearHotsyncUsername - Clear the device's hotsync username and userid, so you will be prompted to select or create a new username at the next hotsync.
  • ClipboardTextGet/ClipboardTextSet - Get/set the system text clipboard.
  • DeletePalmFile - Delete a specified file from the Palm without prompting.
  • FlushKeyQueue - Flush (clear out) all key events that are waiting in the key queue.
  • IsBackupBitSet/SetBackupBit - Get/set/clear the backup bit for a specified Palm file.
  • GetFlashID - Returns the device's FlashID (serial number).
  • GetMemInfo - Returns the Palm memory info for freebytes, RAM size, or ROM size.
  • GetVolume/SetVolume - Get/sets the current volume level requested (alarm volume, system volume, game volume).
  • PalmFileExists - Test whether a specific file exists on the Palm.
  • ParseDelimText - Returns a chunk of data in a string of delimited items.
  • QueueVirtualKey - Insert virtual key into the key queue.
  • RandomNumber - Returns a random integer from 0 - 32767.
  • ClickControl
  • DaysToDateStr
  • GetBatteryPercentage
  • GetBatteryVoltage
  • GetSecondsFromDateTime
  • HotSync
  • ModemHotSync
  • PasswordExists
  • PasswordVerify
  • PasswordSet
  • PasswordRemove
  • PasteChars
  • PromptUser
  • Reset
  • SecondsToString
  • SecsToTimeStr
  • SetAutoOff
  • SetCaps
  • SetCapsLock
  • SetSeconds
  • ToggleBacklight
  • TurnOffAndLockDevice

DocID: 10055 DocDate: 2005-07-01


PopupUtils

Product | PopupUtils
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00066.htm
Version | 1.8
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Input, escape, prompt, popup, date picker, keyboard

Sample Application

PopupUtils is a SatForms plugin extension that provides some handy methods for making your SatForms application more "escape-proof". By escape-proof, I mean more resistant to a user exiting the application at times when you don't want them to exit. PopupUtils also provides convenience by enabling you to pop up keyboards, date and time pickers, etc., completely under script control.

PopupUtils provides the following escape-proofed features:

  • InputPrompt provides a popup prompt with an edit field, with a customizable title, prompt, and button captions. The edit field font is programmable, giving you the ability to use one of the symbol fonts for obscured password entry.
  • ShowStatusMessage is a very simple routine to display a single line of text in a box on top of your form, and then erase it at a later point. It is intended for short status or progress type messages that do not require or allow any user input.
  • MaximumShields single function call for complete escape prevention
  • standard popup alpha, numeric, and international keyboards
  • standard popup date selector with settable title
  • popup single time selector with settable title
  • standard popup Graffiti Reference Chart
  • extra-escape-proofed version of the PromptUser msgbox and prompt replacement dialog from PocketUtils (lets you define the prompt's title, message, and button labels)
  • As well, PopupUtils includes a trio of very powerful methods (IgnoreKey, RestoreKey, GetIgnoredKeyList) enabling you to tell SatForms to ignore specified keys or buttons globally throughout your application, without you needing to trap them in the OnKey event for every single form. For example, to tell SF to ignore the Find silkscreen key throughout your application, you would simply call IgnoreKey(264) once at the start of your app. Keys are specified by their PalmOS ASCII code, and can refer to standard alphabet keys or virtual keys like the Launch button or hard buttons. A handy text PalmOS keycode reference table is included in the PopupUtils documentation. IgnoreKey works everywhere that the OnKey event works, but does not work where OnKey does not work either. That is what the other popup methods are designed to address.

DocID: 10052 DocDate: 2005-07-01


SFScreenLock

Product | SFScreenLock
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00091.htm
Version | 1.15
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Screen, freeze, lock, flicker

Sample Application

SFScreenLock is a simple SFX plugin extension that enables you to "freeze" the screen display, enabling you to perform tasks without updating the screen or causing flicker, then "unfreeze" the screen when your tasks are complete. It is designed to reduce screen flicker while your application does things like applying table filters, filling listboxes, moving between forms, etc.

DocID: 10017 DocDate: 2005-07-01


SFTreo600Tools

Product | SFTreo600Tools
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00138.htm
Version | 1.3
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Treo, navigation, email, SMS, web, numlock, vibrate, phone, dial

SFTreo600Tools is a SatForms plug-in extension that provides a collection of several handy functions specifically for the Treo600 smartphone. Most of the functions are also compatible with the Treo 650 and Treo 700p PalmOS smartphones.

Functions are provided that enable you to:

  • enable automatic 5way navigation support on the current form
  • create a new outgoing email message in Treo Mail
  • create a new outgoing text message in Treo SMS
  • browse a website with the Blazer web browser
  • set the keyboard option lock (numlock) state
  • vibrate a specified number of times
  • blink the LED a specified number of times
  • get the unique electronic serial number
  • turn the phone power on/off
  • dial a phone number with a confirmation prompt if desired
  • determine if the device is a Treo 600, 650, 700p, any Treo, or not a Treo

DocID: 10026 DocDate: 2006-10-02


SFShell-PPC

Product | SFShell-PPC
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00142.htm
Version | 1.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | Shell, launch, view, browse, PocketPC

Sample Application

SFShell-PPC is a Satellite Forms plug-in extension that enables you to shell out to other applications/documents/images/websites on PocketPC devices. You can use it for various purposes including to:

  • launch another application, such as Calc
  • display a document, such as a Pocket Word or Pocket Excel file
  • display an image, such as a JPG file, in Internet Explorer
  • display a website or local html page in Internet Explorer

When the other app/document/image/website is launched, your SatForms application is not closed. It is still running in the background. When the other app is closed, your app returns to the foreground, right where the user left off.

SFShell-PPC functions basically like the SatForms internal LaunchApp button action, with the important distinction that you can supply the name of the app/document/image/website dynamically at runtime, instead of being forced to hardcode it at design time.

DocID: 10072 DocDate: 2005-07-01


SFDeviceID-PPC

Product | SFDeviceID-PPC
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00112.htm
Version | 1.1
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | DeviceID, serial number, uniqueID, PocketPC

Sample Application

SFDeviceID-PPC is a Satellite Forms plug-in extension that enables you to read the unique device ID on PocketPC 2002, 2003, 2003SE, and Windows Mobile 5 devices. Updated Nov 3, 2006 to include windows Mobile 5 compatibility.

You can use the DeviceID as a unique identifier for software registration purposes, or asset tracking, or unique record ID generation, etc. The DeviceID is guaranteed to be unique and cannot be changed.

A sample application is provided that demonstrates how to use the single GetDeviceID function.

An additional GetOwnerName function enables you to retrieve the stored owner name on the device.

DocID: 10070 DocDate: 2006-11-07


SFRegistry-PPC

Product | SFRegistry-PPC
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00108.htm
Version | 1.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | Registry, key, storage, PocketPC

Sample Application

SFRegistry-PPC is a Satellite Forms plug-in extension that enables you to read from and write to the Windows Registry on PocketPC devices. It is capable of reading/writing registry keys of type REG_SZ (strings) and REG_DWORD (32-bit integers). SFRegistry-PPC also allows you to delete keys from the registry.

You can use the registry as a semi-permanent small-item storage area for your application. For example, you may wish to store user preferences, software registration information, network settings, etc. The settings are retained in the registry in between application uses, even if the device is soft-reset, until the registry key that holds those settings is removed.

DocID: 10068 DocDate: 2005-07-01


SFFormJumper

Product | SFFormJumper
Manufacturer | PalmDataPro
Website | PalmOS http://www.palmdatapro.com/itm00019.htm PocketPC http://www.palmdatapro.com/itm00097.htm
Version | 1.0
Platform | PalmOS and PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | Jump to form

SFFormJumper is a very simple SatForms plugin extension that does two things: it can jump to a new form using the JumpToForm method and it can return to a previous form using the ReturnToPrevForm method.

"Why bother?", you ask, since you can do that with regular button actions? Well, there are certain times when you would really like to execute a Jump or Return command from within a script.

"Why not use a hidden button and then call ExecAction for it via script?", you ask, since that will do the trick? Well, that gets kinda messy on a complex forms, and it seems like a silly thing to have to do when you think about it. It does work though, if you don't mind the mess and don't think it is a tad bit silly.

"Well, why not use the Forms("new form").Show script command then?", you ask, still wondering why you would want to use SFFormJumper?

BECAUSE: SFFormJumper allows you to specify Record JumpOptions for the form you are jumping to, just like the button action does, namely Allow If None, Create If None, Fail If None, and Always Create. Forms().Show can't do that!

But wait, there's more. With SFFormJumper's JumpToForm command you can even specify whether you wish to save the index of the form you are jumping FROM. If you save the "return index", then you can return to that form using a standard "Return To Previous Form" button action, or via SFFormJumper's ReturnToPrevForm method. Saving the return index is the default behaviour for the regular SatForms "Jump To Form" button action as well as the Forms().Show command. However, SFFormJumper gives you the option to specify that you DO NOT want to save the return index, thus making the standard "Return To Previous Form" button action and SFFormJumper's ReturnToPrevForm method both fail. Why you would ever want to actually do this is beyond me, BUT the capability does exist should you need it!

A pretty wordy explanation for a pretty simple extension, but now you know why you might find SFFormJumper useful as opposed to the SatForms built-in form jumping methods!

DocID: 10065 DocDate: 2005-07-01


SFOnClick

Product | SFOnClick
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00079.htm
Version | 1.5
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | OnClick, pendown

Sample Application

SFOnClick is a simple SFX custom control that enables you to add an OnClick event to practically any control. Several controls already support OnClick actions (buttons, checkboxes, etc.), but several other controls do not have built-in OnClick support at all (edit fields, paragraph controls, text controls, titles, bitmaps, etc.). SFOnClick lets you add OnClick actions to these controls.

Want to set a global var when the user taps in a certain edit field? Use SFOnClick to do it. Want to pop up an escape-proofed PopupTimeSelector (from the PopupUtils extension) when the user taps in the right field? Let SFOnClick make it easier for you!

Methods are included to enable you to change the associated control at runtime, and to change the action that is fired when the associated control is clicked.

DocID: 10054 DocDate: 2005-07-01


SFHanderaAudio

Product | SFHanderaAudio
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00099.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Handera, audio, WAV, VoicePad

Sample Application

SFHanderaAudio is a Satellite Forms plug-in extension that enables you to play and record WAV files on the Handera 330 from a SatForms application. The WAV files are compatible with the Handera VoicePad software. Both internal (RAM) and external (CF or SD card) storage are supported.

DocID: 10047 DocDate: 2005-07-01


SFDialPhone

Product | SFDialPhone
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00100.htm
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Phone, dial, Treo, smartphone

Sample Application

SFDialPhone allows SatForms applications to dial a phone number on either a Handspring Treo or Kyocera QCP smartphone device. The function launches the phone dialer, dials the phone, then restarts your application. A RedialLastNumber function is also included.

The Treo600 is supported.

DocID: 10046 DocDate: 2005-07-01


SFProgAlarm

Product | SFProgAlarm
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00106.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Alarm, timer, launch, schedule

Sample Application

SFProgAlarm is a Satellite Forms plug-in extension that enables you to manage program alarms for your application. You are probably familiar with appointment alarms provided by the Palm Datebook app, which have the ability to wake the Palm up and display a message about appointments. SFProgAlarm enables you to program the Palm to wake up at a specified date and time, and perform certain actions.

SFProgAlarm supports the following alarm event actions:

  • just wake up the device
  • wake up and play a specified system sound
  • wake up and launch a specified application
  • wake up and enqueue a keystroke or virtual char

Some examples of program alarm usage include: running a data backup routine at a predefined time; performing a hotsync at a scheduled time; signalling the user to perform a task at a scheduled time; etc.

DocID: 10042 DocDate: 2005-07-01


Strings

Product | Strings
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Sample project(s) | Strings Test
Platform | PalmOS, PocketPC
Source code provided | No
Keywords | strings, instr, trim, pad, lcase, ucase, format

Strings is a SatForms plugin that provides a number of very handy string manipulation functions, including the following functions:

  • StrCompare - case sensitive compare of two strings (new in Strings V2.3)
  • UCase - Converts string to all upper case
  • LCase - Converts string to all lower case
  • String - Returns a String containing a repeating character string of the length specified
  • Pad - Pads a string with defined character to defined length
  • InStr - Finds occurrence of one string within another, starting at the start value
  • RTrim - Trims trailing spaces
  • LTrim - Trims leading spaces
  • Trim - Trims leading and trailing spaces
  • FormatDate - Formats a date according to the format expression, similar to Visual Basic (Date supplied in Palm prefs format)
  • FormatDateN - Formats a date according to the format expression, similar to Visual Basic (Date supplied in GetSysDate format)
  • FormatTime - Formats a time according to the format expression, similar to Visual Basic (Time supplied in Palm prefs format)
  • FormatTimeN - Formats a time according to the format expression, similar to Visual Basic (Time supplied in GetSysTime format)
  • SystemDateFormat - Displays system date format
  • SystemTimeFormat - Displays system time format
  • IntFromHexString - Converts a string of hex into an integer
  • HexStringFromInt - Converts an integer into a string of hex

Strings was formerly a third party commercial extension written by Lightstone Sofwtare and marketed by PalmDataPro. It has now been updated to include a PocketPC version, and is now included as a standard component of Satellite Forms.

DocID: 10104 DocDate: 2006-01-16


BarChart

Product | BarChart
Manufacturer | PRL Software
Website | http://www.palmdatapro.com/itm00084.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | chart, graph, bar, line

The Bar Charting extension is designed to provide the easy creation of fast, dynamic bar charts. The extension is fast since it is written in C using PalmOS graphics APIs. The extension is easy because it plugs straight into Satellite Forms. The borders, fill pattern, colours, chart title, axis titles, grid lines, markers and axis minimums/maximums are all configurable and can be altered dynamically. Data can also be added and removed dynamically which means that you have the option of utilising Satellite Forms variables or fields from tables.

The Bar Charting extension has the ability to show a legend of all data contained within the graph.

The bar charting extension comes with a custom pattern creation program for Windows. This pattern creation program was used to create the fill patterns shown in all the example pictures. The extension also comes with a full set of already created patterns (in black and white - colour can then be set).

As shown above in the sample chart, the bar charting extension allows the setting of foreground and background colours. The colours can be any standard colour or, alternatively any custom colour.

DocID: 10106 DocDate: 2005-07-12


Exit Capture

Product | Exit Capture
Manufacturer | PRL Software
Website | http://www.palmdatapro.com/itm00083.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | exit, escape, lock

The event capturing extension is designed to stop your Satellite Forms program from exiting. This is often essential for developers wanting to lock users into their application.

This extension gives the developer the ability to capture the exit attempt through a SFX plug-in control. This is useful if the developer wishes to perform certain "clean up" procedures before allowing their application to exit.

If the SFX Plug-in control is placed onto a form and the extension is set to capture any exits, the OnClick event will fire when an exit is attempted.

DocID: 10107 DocDate: 2005-07-12


Array

Product | Array
Manufacturer | PRL Software
Website | http://www.palmdatapro.com/itm00073.htm
Version | 2.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | array, variable

This extension is designed to give Satellite Forms developers more functionality and control of their variables. There are three main uses for this extension:

  1. Memory Control

Using this extension developers can minimise the number of 'variables' in memory at any one time. Developers have the ability to add and remove array entries, that act like variables, from memory as the program runs. There is also the ability to clear all array entries from memory at any time.

  2. Standard/Associative Array(s)

Developers can also use this extension as basic, multidimensional or associative arrays. Only one number based array can be used at a time as a variable with a key of 0 can only have one variable associated with it.

  3. Run Time Variables

Probably the most powerful feature of the extension is that it allows the creation of dynamic "variables", where the variable name is created at run time. This ability means that your variables can be as dynamic as your data. Really this is just a type of "Associative" array, where the key does not need to be defined until run time and can therefore be based off tables, controls or other variables.

DocID: 10108 DocDate: 2005-07-12


Preferences

Product | Preferences
Manufacturer | PRL Software
Website | http://www.palmdatapro.com/itm00056.htm
Version | 2.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | preferences, prefs

The Preferences extension is a Satellite Forms plugin that provides PalmOS Preference database Read Write functions.

This extension is used to read and write data from the PalmOS Preference area. The preference area can be thought of in the same way as a Windows Registry. For programmers that are neither familiar with PalmOS Preferences nor Windows Registry - the Preference area is a place where information about your program can be stored semi-permanently.

Features Include:

Data stored in the Preference area will remain even if:

  • Program is exited
  • Palm turned off
  • Palm is Soft Reset (reset button)
  • Palm is Hard Reset (Lost all power - BUT only if the palm has hotsynced since the data was placed into the preferences)

The preference area is the perfect location to store:

  • The current form when the program is exited.
  • Table positions when program is exited.
  • Global variables which retain their value if the program is exited.
  • Security Information that you wish to keep on the palm remains even if the application is removed or the palm wiped.
  • Program attributes such as version number
  • Settings (serial communication, modem or barcode scanner) that will remain even if the application is deleted or a new version is installed.
  • Simple security functions to stop people copying your program.
  • etc.

DocID: 10110 DocDate: 2005-07-12


PalmoUtil2

Product | PalmoUtil2
Manufacturer | Palmosoft
Website | http://www.palmdatapro.com/itm00063.htm
Version | 1.5
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | utilities, keyboard

Palmosoft's PalmoUtil2 is a SatForms extension that provides some popup keyboard enhancement functions, as well as some general utility functions.

  • PalmoUnformatNumber - unformat a number you have formatted with PalmoFormatNumber
  • CapsString - format a string with all upper letter, all lower letter, or first upper and other lower
  • PalmoWriteTXT: you can write a txt freely inside a form, giving a max width (it finish with ellipsys). This function works properly (for the ellipsys) with a OS > 3.2 even if color is supported ONLY in OS >= 3.5
  • The keyboard now contains the apostrophe ' and the 000 key now function as expected
  • PalmoSKD now takes another parameter (forcedcomma) if you want to force the ASCII code of the decimal chars in the 123 keyboard. This is good if you have to make a dataentry with code who have numbers (no decimal) but some separator like / . and so on.
  • SFPalmoUtil2 comes with a keyboard hack included (an hack is a replacement of system keyboard). You can use this new keyboard (after you have called PalmoHackKeyInit) who allows you:
  • Set Caps Mode.
  • Enable / Disable different keyboard (abc, 123, Int'l), for example to give user the permission only to write number.
  • Enable / Disable graffiti while in keyboard.
  • Enable / Disable hardware button and don't permit the user to go out of your program while in keyboard.
  • Start keyboard from script
  • PalmoWaitInit / PalmoWaitMessage / PalmoWaitEnd (show a wait message while you make some long processes).
  • PalmoSetKey: you can send keystroke from script (useful when you want to make a single refresh to listbox without the annoying forms().refresh. See what character to send in Chars.h include file of Palm SDK.
  • PalmoFormatNumber for formatting with thousand and comma AS YOU SET IN PREFERENCE.

DocID: 10118 DocDate: 2005-07-12


Personal Audio Recorder

Product | Personal Audio Recorder
Manufacturer | Toysoft Development Inc.
Website | http://www.palmdatapro.com/itm00141.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | audio, WAV, sound, voice, record

Personal Audio Recorder (PAR) plugin turns your Palm into an audio recorder. PAR records voice memos to the external card such as SD/MMC, CF or Memory Stick. Easily add PAR plugin to your existing or new application with simple cut and paste ready source code.

PAR plugin is designed for C/C++, SatelliteForms and other programmers. When you purchase you will get example projects in Code Warrior and SatForms. One time site license and use PAR plugin in all your projects.

Features:

  • Record voice memo any length. Depends on memory.
  • Playback voice memo before saving.
  • Re-record voice memo
  • PAR plugin runs on top of your application and thus your application does not need to quit. Control will return to your application.
  • Very small footprint
  • Your application pass parameters to the plugin. eg: filename, volume, etc.
  • Voice memos are saved in uncompressed wave format and can be easily read on your desktop

DocID: 10119 DocDate: 2005-07-12


wavPlayer

Product | wavPlayer
Manufacturer | Toysoft Development Inc.
Website | http://www.palmdatapro.com/itm00143.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | wav, audio, sound, voice, player

wavPlayer plays uncompressed wav files on the external card and in RAM. You can control the playback and stop in your program. Function included to convert wav file from the card and use it in RAM.

Easily add wavPlayer plugin to your existing or new application with simple cut and paste ready to use source code.

wavPlayer plugin is designed for C/C++, SatelliteForms and other programmers. When you purchase you will get example projects in Code Warrior and SatForms. One time site license and use wavPlayer plugin in all your projects.

Features:

  • Play back uncompressed wav files any length.
  • Play back uncompressed wav files in RAM and on the card.
  • Included function to convert wav file from the card to RAM
  • Programmatically Play and Stop wav file
  • wavPlayer plugin runs on top of your application and thus your application does not need to quit. Control will return to your application.
  • Your application pass parameters to the plugin. eg: filename, volume, etc.
  • Very small footprint

DocID: 10120 DocDate: 2005-07-12


ColorGraphics

Product | ColorGraphics
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS and PocketPC
Sample project(s) | Color Table, Color Graphics
Keywords | color, graphics, draw, line, font

Graphics is an SFX extension that can be used to manipulate and draw graphics and text within your applications.

Parameters

Black and white colors are defined as follows (on a color Palm these are simply patterns):

Black 0

Gray 1

White 2

Transparent 3

Invert 4

Font styles are defined as follows:

stdFont 0

boldFont 1

largeFont 2

symbolFont 3

symbol11Font 4

symbol7Font 5

ledFont 6

Scripts API

The following methods are accessible from the scripting language. Note that these are all public methods except for About().

Usage: Public Method: [Name of method]

Private Method: [Name of extension].[Name of method]

Example of usage: Public Method: EditExSetInsertion(MainParagraphIndex, 0)

Private Method: Extensions(“Graphics”).About()

About()

Private method that shows the extension's about box.

DrawBar(integer, integer, integer, integer)

Draw (bar graph w/fill) bar: Bottom Length = X,Y; Width = W, and Height = H.

Example of usage: DrawBar(X, Y, W, H)

DrawCircle(integer, integer, integer)

Draws Circle using curr. Pen & Fill. Center = X0, Y0 and Radius = R

Example of usage: DrawCircle(X0, Y0, R)

DrawRect(integer, integer, integer, integer)

Draws Rectangle using curr. Pen & Fill.

Example of usage: DrawRect(X0, Y0, X1, Y1)

DrawLine(integer, integer, integer, integer)

Draws a line using current pen color.

Example of usage: DrawLine(X0, Y0, X1, Y1)

DrawRoundedRect(integer, integer, integer, integer, integer)

Draws rounded rectangle with a corner radius determined by the R parameter.

Example of usage: DrawRoundedRect(X0, Y0, X1, Y1, R)

DrawText(string, integer, integer)

Draws the specified text at starting at the specified point.

Example of usage: DrawText(“I’m here”, 50, 60)

EraseBar(integer, integer, integer, integer)

Erases Above (same parameters).

EraseCircle(integer, integer, integer)

Erases circle (always erases inside). Center = X0, Y0; Radius = R.

Example of usage: See DrawCircle.

EraseLine(integer, integer, integer, integer)

Erases line

Example of usage: EraseLine(X0, Y0, X1, Y1)

EraseRect(integer, integer, integer, integer)

Erases Rectangle (if FillColor = Transparent, skips inside erasure).

Example of usage: See DrawRect.

EraseText(string, integer, integer)

Erases text as drawn in DrawText (same params).

GetFillColor()

Gets the fill (inside) color.

Example of usage: n = GetFillColor()

GetPenColor()

Gets the pen (border) color.

Example of usage: n = GetPenColor()

InvertText(string, integer, integer)

Write text with opposite colors of the current text colors.

Example of usage: InvertText(“I’m here”, 50, 60)

Is35()

Checks to see if the current handheld contains Palm OS® version 3.5 and up ROM’s. Returns a TRUE or FALSE value.

Example of usage: Test = Is35()

SetBackColor(integer)

Set the background color to the corresponding color in the current 256 color table.

Example of usage: SetBackColor(40)

SetFillColor(integer)

Set the pen (inside) color.

Example of usage: SetFillColor(Color)

SetFont(integer)

Sets font style for DrawText

Parameters:

0 stdFont

1 boldFont

2 largeFont

3 symbolFont

4 symbol1Font

5 symbol7Font

6 ledFont

SetForeColor(integer)

Sets the foreground color to the corresponding color in the current 256 color table.

Example of usage: SetForeColor(25)

SetPattern(integer, integer, integer, integer)

Sets 8x8 Custom Fill Pattern: Integers P0, P1, P2, and P3 create a bitmap.

SetPenColor(integer)

Sets the Pen (border) Color.

Example of usage: SetPenColor(Color)

SetTextColor(integer)

Sets the text displayed by this extension to the corresponding color in the current 256 color table.

Example of usage: SetTextColor(90)

DocID: 10009 DocDate: 2005-07-18


EditEx

Product | EditEx
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | FindReplace
Keywords | string, text, selection, instr

EditEx is an extension which may be used to manipulate values in Satellite Forms Edit and Paragraph controls.

Scripts API

The following methods are accessible from the scripting language. Please note that these are all public methods.

Usage: [Name of method]

Example of usage: EditExSetInsertion(MainParagraphIndex, 0)

EditExAbout()

Show extension's about box.

Sample usage: EditExAbout()

EditExAppendText(integer, string)

Appends text to the control's text.

Sample usage: EditExAppendText(AppDesIndex, Text)

EditExBackspace(integer)

Backspaces one character.

Sample usage: EditExBackspace(AppDesIndex)

EditExDeleteText(integer, integer, integer)

Deletes text from the control.

Sample usage: EditExDeleteText(AppDesIndex, Start, End)

EditExGetInsertion(integer)

Gets the current insertion position.

Sample usage: Insertion EditExGetInsertion(AppDesIndex)

EditExGetSelectionEnd(integer)

Gets selection end position.

Sample usage: End EditExGetSelectionEnd(AppDesIndex)

EditExGetSelectionStart(integer)

Gets selection start position.

Sample usage: Start EditExGetSelectionStart(AppDesIndex)

EditExInsertText(integer, string)

Insert text at the current insertion position.

Sample usage: EditExInsertText(AppDesIndex, Text)

EditExSetInsertion(integer, integer)

Sets the insertion position.

Sample usage: EditExSetInsertion(AppDesIndex, Insertion)

EditExSetSelection(integer, integer, integer)

Sets the selected characters into the designated field.

Sample usage: EditExSetSelection(AppDesIndex, Start, End)

EditExInstr(integer, string, string, integer)

Returns the position of the first occurrence of one string within another.

Sample usage: EditExInStr(Start, String1, String2, Compare). Start specifies the start offset in String1. Compare: specify 0 (default) to perform a binary comparison. Specify 1 to perform a textual, non-case-sensitive comparison

DocID: 10135 DocDate: 2005-07-18


Math Extension

Product | Math Extension
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | Advanced Calculator
Keywords | math, trigonometry, sin, cos, tan, acos, asin, atan, round

The Math Extension provides access to advanced math functions.

The PalmOS Math extension also requires the inclusion of the MathLib shared library.

Scripts API

All methods except 'About' return a value. Unless mentioned otherwise, it is assumed that each method returns a floating-point value. Also, if there is an error detected the method should always return the last value passed to it.

Usage: Global Method: [Name of method]

Private Method: [Name of extension].[Name of method]

Example of usage: Global Method: ABS(x)

Private Method: Extensions(“Math”).About()

ABS(Float)

Returns the absolute value.

About()

A private method that returns the about box of the Math Extension.

ACOS(Float)

ArcCosine(x)

ACOSH(Float)

Hyperbolic ArcCosine(x)

ASIN(Float)

ArcSine(x)

ASINH(Float)

Hyperbolic ArcSine(x)

ATAN(Float)

ArcTangent(x)

ATANH(Float)

Tangent(x)

ATAN2(Float)

ArcTangent2(x)

CBRT(Float)

Finds the cube root of the given value.

COS(Float)

Cosine(x)

COSH(Float)

Hyperbolic Cosine(x)

COPYSIGN(Float, Float)

Returns x with the sign of y.

Example of usage: value = COPYSIGN(x,y).

DREM(Float, Float)

Finds the remainder of x/y.

Example of usage: DREM(x, y).

EXP(Float)

Exponent(x)

EXPM1(Float)

Returns: Exp(x) - 1.

FREXPINT(Float)

Breaks the given value into normalized fraction and an integral power of 2. This one returns the integer.

FREXPFRAC(Float)

Breaks the given value into normalized fraction and an integral power of 2. Returns the fractional value.

ILOGB(Float)

Returns the binary exponent of a non-zero x. Returns an integer.

ISINF(Float)

Returns 0 if value passed is finite or not a number, +1 if it approaches +Infinity, or -1 if it approaches -Infinity. Returns an integer.

LDEXP(Float, Float)

Returns: x * 2^y.

Example of usage: value = LDEXP(x, y).

LOG(Float)

Natural Logarithm

LOG2(Float)

Log base 2

LOG10(Float)

Log base 10

MODFFRAC(Float)

Breaks a number into its fractional part.

MODFINT(Float)

Breaks a number into its integral and fractional parts. Returns an integer

POW(Float, Float)

Returns x to the power of y.

Example of usage: value = POW(x, y).

ROUND(Float, integer)

Rounds the value to nearest decimal place specified.

Example of usage: value = Round(x, decimal).

SIN(Float)

Sine(x)

SINH(Float)

Hyperbolic Sine(x)

SQROOT(Float)

Gives the square root of the given value.

TAN(Float)

Tangent(x)

TANH(Float)

Hyperbolic Tangent(x)

DocID: 10138 DocDate: 2005-07-18


Memory

Product | Memory
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | Memory
Keywords | memory, allocate, byte

Memory is an extension which may be used to access and manipulate the handheld's dynamic memory.

Scripts API

The following methods are accessible from the scripting language. These are all global methods unless stated otherwise.

Global Method Usage: [Name of method]

Example of usage: MemoryAbout()

MemoryAbout()

Show Memory extension's about box.

Sample usage: MemoryAbout()

MemoryAllocate(integer)

Allocates dynamic memory.

Sample usage: Memory = MemoryAllocate(Size)

MemoryCompare(integer, integer, integer)

Compares dynamic memory.

Sample usage: Equal = MemoryCompare(Memory1, Memory2, Count) where 'Count' is the size, in bytes, of the memory to compare.

MemoryCopy(integer, integer, integer)

Copies dynamic memory.

Sample usage: Memory1 = MemoryCopy(Memory1, Memory2, Count) where 'Count' is the size, in bytes, of the memory to copy from 'Memory2' to 'Memory1'.

MemoryFree(integer)

Frees dynamic memory (returns 0 for success).

Sample usage: Memory = MemoryFree(Memory)

MemoryGetByte(integer, integer)

Gets a byte from dynamic memory.

Sample usage: Byte = MemoryGetByte(Memory, Offset)

MemoryGetString(integer, integer, integer)

Gets a string from dynamic memory.

Sample usage: String = MemoryGetString(Memory, Offset, Count) where 'Count' is the size, in bytes, of the string and 'Offset' is how many bytes offset from the location pointed to by 'Memory' to start grabbing the string from memory.

MemoryReallocate(integer, integer)

Resizes a block of dynamic memory.

Sample usage: Memory = MemoryReallocate(Memory, Size)

MemorySet(integer, integer, integer)

Sets dynamic memory to a value.

Sample usage: Memory = MemorySet(Memory, Byte, Count) where 'Byte' is the value at which to set the memory and 'Count' is the amount of memory, in bytes, to set.

MemorySetByte(integer, integer, integer)

Sets a byte of dynamic memory at the location pointed to by the first variable plus the number of bytes offset set by the second variable.

Sample usage: Memory = MemorySetByte(Memory, Offset, Byte)

MemorySetString(integer, integer, string)

Sets a string of dynamic memory.

Sample usage: Memory = MemorySetString(Memory, Offset, String) where 'String' is the string being passed to memory location 'Memory' offset by 'Offset' number of bytes.

MemorySearch(integer, integer, integer, integer)

Searches for first occurrance of Memory2 in Memory1. Returns -1 if not found.

Sample usage: Offset = MemorySearch(Memory1, Size1, Memory2, Size2) where 'Size1' is the amount of memory to search starting from 'Memory1' and 'Size2' is the amount of memory to search from 'Memory2'.

MemoryReverse(integer, integer)

Reverses a block of dynamic memory.

Sample usage: Memory = MemoryReverse(Memory, Size) where 'Size' is the amount of memory to reverse starting from memory location 'Memory'.

DocID: 10139 DocDate: 2005-07-18


Error Manager

Product | Error Manager
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS
Sample project(s) | View It!
Keywords | error

The ErrorMgr extension provides useful routines to manipulate and capture Palm error codes.

Scripts API

All methods are global.

Usage: [Name of Method]

Example of Usage: PEM_About()

PEM_About()

Shows about box.

PEM_Version()

Returns the version of this extension.

PEM_GetErrorString(integer)

Converts an error message code to a string.

DocID: 10144 DocDate: 2005-07-18


Square Root

Product | Square Root
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | SqrRoot Plugin
Keywords | square root

This extension calculates the square root of a number.

Scripts API

The following methods are accessible from the scripting language.

Usage: Private Method - [Name of Extension].[Name of Method]

Public Method – [Name of Method]

Example: Private Method - Extensions(“Square Root”).About()

Public Method – SqrRoot(Number)

About()

Private method that shows the extension's about box.

SqrRoot(Float)

A public method that computes the square root of a number.

Sample usage: x = SqrRoot (y).

DocID: 10145 DocDate: 2005-07-18


Resource Manager

Product | Resource Manager
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS
Sample project(s) | Resource, View It!
Keywords | resource

NOTE: This extension is not supported on PalmOS 5 devices.

The Resource Manager extension gives the developer full access to the Palm OS(R) resources and their databases.

Parameters

mode:

1 - Read-only

2 - Write-only

4 - Leave database open after application closes (4 Does not seem to work)

8 - Don't let anyone else open this database

16 - Show records marked private

All other modes are combinations of the above (sums of the above numbers).

Info_to_Return:

0 - Return resource ID

1 - Return local resource ID

See the Palm Developer Knowledgebase entry on the Resource Manager for more information on how to use resources.

Scripts API

The following methods are accessible from the scripting language. Note that these are all public methods except for the About() method.

Usage: [Name of method]

Example of usage: RM_OpenDatabase (Name, Card_No, mode)

About()

Private method that shows the extension's about box.

RM_AttachCurrentResource()

Attach current resource to database. Returns 0 if successfull and an error manager number if it fails.

RM_CloseDatabase()

Closes the current database. Returns 0 if successfull and an error manager number if it fails.

RM_DetachResource()

Detaches resource and stores current pointer. Returns 0 if successfull and an error manager number if it fails.

RM_DetachedResToCurRes()

Moves the detached resource to the current resource.

RM_FindResource(string, integer)

Finds the current resource by resource Type and ID. Example of usage: RM_Find(ResType, ResourceID).

RM_FindResourceByIndex(string, integer)

Searches for the resource by type and index number. Example of usage: RM_FindResourceByIndex(ResType, ResourceIndex).

RM_GetLastErrorNumber()

Returns the last error manager number returned.

RM_GetResource(string, integer)

Grabs the resource using type and ID. Example of usage: RM_GetResource(ResType, ResourceID).

RM_GetResourceByIndex(integer)

Grabs resource by its index alone. Example of usage: RM_GetResourceByIndex(ResourceIndex).

RM_Get1Resource(string, integer)

Grabs the resource from the most currently opened database. Example of usage: RM_Get1Resource(ResType, ResourceID).

RM_LockRes()

Locks the current resource in memory. Use in conjunction with RM_UnlockRes().

RM_NewResource(string, integer, integer)

Add new resource to the open database. Example of usage: RM_NewResource(ResType, ResourceID, Size).

RM_NumResource()

Returns the number of resources in the current database.

RM_OpenDatabase( string, integer, integer )

Open the resource database. Example of usage: RM_OpenDatabase(Name, Card_No, mode).

RM_OpenDBNoOverlay( string, integer, integer )

Open the database with no modifications to the overlay. Same as RM_OpenDatabase. OS 3.5 only.

RM_PassResPtr()

Returns a pointer to the memory chunk of a locked resource.

RM_ReleaseResource()

Releases current resource. Returns 0 if successfull and an error manager number if it fails.

RM_RemoveResource(integer)

Removes the current resource from the current database. Example of usage: RM_RemoveResource(ResourceIndex). Returns 0 if this method is successful and an error manager number if it fails.

RM_ResizeResource(integer)

Resizes the current resource. Example of usage: RM_ResizeResource(Size).

RM_ResourceInfo(integer, integer )

Returns information about the resource. Example of usage: ResourceValue = RM_ResourceInfo(ResourceIndex, Info_to_Return).

RM_ResTypeInfo(integer)

Gets the resource type. Example of usage: RM_ResTypeInfo(ResourceIndex).

RM_SearchResource(string, integer)

Searches for a resource by type and local ID. Example of usage: RM_SearchResource(ResType, ResourceID).

RM_SetResourceInfo()

Sets the resource info for the current resource. Returns 0 if successfull and an error manager number if it fails.

RM_UnlockRes()

Unlocks the current resource. Use only after using RM_LockRes.

DocID: 10146 DocDate: 2005-07-18


Random

Product | Random
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | Random
Keywords | random, drand48

After planting the initial seed this extension will provide the user with some somewhat uniform, psuedo-random numbers. This extension is based on the drand48 standard. This standard generates numbers through 48-bit arithmetic provided by the following equation:

X[I + 1] = (a*X[I] + c) mod (2^48), where a equals the hex value 5DEECE66D and c equals the hex value B.

Scripts API

All methods in this extension are global unless mentioned otherwise.

Usage: Global Method: [Name of method]

Private Method: [Name of extension].[Name of method]

Example of usage:

Global Method: SRand48(3532)

Private Method: Extensions(“Random Number Generator”).About()

About()

Private method that shows the extension's about box.

DRand48()

This function returns a psuedo-random number greater than 0 and up to and including 1.

Seed_Val()

Returns the seed value entered after having used SRand48().

Seed_Val16V(integer)

Returns 16 bits of the three orders of the 48 bit seed value used with Seed48().

Example of usage: 'value = Seed_Val16V(3)' returns the highest 16 bits of the seed value entered by Seed48().

Seed48(integer, integer, integer)

The three integer values that are passed to this method are assigned to X[0]. The first parameter passed is the lowest 16 bits. The second parameter becomes the next 16 bits. And, the last value becomes the highest order 16 bits of the 48 bit initial X, X[0].

Example of usage: Seed48(X1, X2, X3) where X1 is the first 16 bits, X2 the second, and X3 is the last 16 bits of the 48 bits value seeded into X[0].

SRand48(integer)

SRand48 takes the integer value you pass it as the seed value and assigns the highest 32 bits of X[0] to that value. The remaining 16 bits are given the hex value of 330E.

Example of usage: 'SRand48(3532)'.

X_Buffer(integer)

Returns the current X[i] value from X[i] = (a*X[i-1] + c)mod 2^48. Enter a number from 1 to 3 and this will return the lowest to highest 16 bits of X[i] respectively.

Example of usage: 'value = X_buffer(1)' returns the first 16 bits of X[i].

X_Initial(integer)

Returns 16 bits of the initial 48 bit X[i] value.

Example of usage: 'value = X_Initial(3)' returns the highest-order 16 bits of X[0].

X_Last(integer)

Returns the last, X[i-1], value from X[i] = (a*X[i-1] + c)mod(2^48). Enter a number from 1 to 3 and this will return the lowest to highest 16 bits of X[i] respectively.

Example of usage: 'value = X_Last(1)' returns the first 16 bits of X[i-1].

DocID: 10147 DocDate: 2005-07-18


Graphics

Product | Graphics
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS
Sample project(s) | GraphicsApp, SFX Controls
Keywords | graphics

Graphics is a plugin extension that can be used to manipulate and draw graphics within your applications.

Parameters

Colors are defined as follows:

Black 0

Gray 1

White 2

Transparent 3

Invert 4

Font styles are defined as follows:

stdFont 0

boldFont 1

largeFont 2

symbolFont 3

symbol11Font 4

symbol7Font 5

ledFont 6

Scripts API

The following methods are accessible from the scripting language. Note that these are all public methods. All the methods here are public unless mentioned otherwise.

Usage: Public Method: [Name of method]

Private Method: [Name of extension].[Name of method]

Example of usage: Public Method: EditExSetInsertion(MainParagraphIndex, 0)

Private Method: Extensions(“Graphics”).About()

About()

Private method that shows the extension's about box.

DrawBar(integer, integer, integer, integer)

Draw (bar graph w/fill) bar: Bottom Length = X,Y; Width = W, and Height = H.

Example of usage: DrawBar(X, Y, W, H)

DrawCircle(integer, integer, integer)

Draws Circle using curr. Pen & Fill. Center = X0, Y0 and Radius = R

Example of usage: DrawCircle(X0, Y0, R)

DrawRect(integer, integer, integer, integer)

Draws Rectangle using curr. Pen & Fill.

Example of usage: DrawRect(X0, Y0, X1, Y1)

DrawLine(integer, integer, integer, integer)

Draws a line using current pen color.

Example of usage: DrawLine(X0, Y0, X1, Y1)

DrawRoundedRect(integer, integer, integer, integer, integer)

Draws rounded rectangle with a corner radius determined by the R parameter.

Example of usage: DrawRoundedRect(X0, Y0, X1, Y1, R)

DrawText(string, integer, integer)

Draws the specified text at starting at the specified point.

Example of usage: DrawText(“I’m here”, 50, 60)

EraseBar(integer, integer, integer, integer)

Erases Above (same parameters).

EraseCircle(integer, integer, integer)

Erases circle (always erases inside). Center = X0, Y0; Radius = R.

Example of usage: See DrawCircle.

EraseLine(integer, integer, integer, integer)

Erases line

Example of usage: EraseLine(X0, Y0, X1, Y1)

EraseRect(integer, integer, integer, integer)

Erases Rectangle (if FillColor = Transparent, skips inside erasure).

Example of usage: See DrawRect.

EraseText(string, integer, integer)

Erases text as drawn in DrawText (same params).

GetFillColor()

Gets the fill (inside) color.

Example of usage: n = GetFillColor()

GetPenColor()

Gets the pen (border) color.

Example of usage: n = GetPenColor()

InvertText(string, integer, integer)

Write text with opposite colors of the current text colors.

Example of usage: InvertText(“I’m here”, 50, 60)

SetFillColor(integer)

Set the pen (inside) color.

Example of usage: SetFillColor(Color)

SetFont(integer)

Sets font style for DrawText

Parameters:

0 stdFont

1 boldFont

2 largeFont

3 symbolFont

4 symbol1Font

5 symbol7Font

6 ledFont

SetPattern(integer, integer, integer, integer)

Sets 8x8 Custom Fill Pattern: Integers P0, P1, P2, and P3 create a bitmap.

SetPenColor(integer)

Sets the Pen (border) Color.

Example of usage: SetPenColor(Color)

DocID: 10149 DocDate: 2005-07-18


LaunchReturn

Product | LaunchReturn
Manufacturer | Standard Satellite Forms component (SF 7.0+)
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS 5.0+
Sample project(s) | LaunchReturn
Keywords | launch, return, restart, incoming call

The LaunchReturn extension provides functions that help you restart your application after the user leaves your app to run another program. LaunchReturn can be instructed to 'listen' for the starting and stopping of another app, and can relaunch your app when the other app is closed.

LaunchReturn is only functional on PalmOS 5.x devices. It will not work on older PalmOS devices because they do not broadcast the system notifications needed to make LaunchReturn work. You must also install the LaunchReturnHelper.prc file on the device in addition to the SFE_LaunchReturn.prc file.

The Normal mode will listen for the starting of another app, then the closing of that app, and will then relaunch your app when the other app closes. An example would be if the user switched over to the Calendar application. When the user closed the Calendar app (perhaps by pressing the Home button to go to the App Launcher), your SatForms app would be relaunched instead.

A Special mode is also available, for use in the case where the Normal mode is not effective. The Normal mode may not be effective when doing things like creating an outgoing email message in Versamail, or creating an outgoing text message, or answering an incoming phone call on a Treo, for example. The Special mode relaunches your app after it detects that the second external app has been launched (after the first external app was started and then closed).

As well, for Treo smartphones there are some additional features that can help manage your application when there is an incoming phone call. If you instruct LaunchReturn to listen for incoming phone calls, it will log the time when an incoming call was detected. You can check for this incoming call log, and prepare LaunchReturn in Special mode if a call was detected. That way, when the user closes the Phone application, your app will be automatically restarted. Unfortunately, this incoming call detection is only effective on the Treo 650 and 700 devices, not on the Treo 600.

A function is also provided to detect whether the device is a Treo 600, 650, 700, or not.

For a demonstration of how to use LaunchReturn, see the LaunchReturnTest.sfa sample project.

Usage:

  • PrepLaunchReturn - Prepare to return to our app after switching to other app.

USAGE: PrepLaunchReturn( AppToReturnToCreatorID, AppReturnEventMode )

AppToReturnToCreatorID is the four-character creatorID string of the app to relaunch.

AppReturnEventMode should be 0 for Normal mode (AppStart-->AppStop--Relaunch) or 1 for Special mode (AppStart-->Relaunch)

  • UnprepLaunchReturn - Cancel preparation to return to our app after switching to other app.

USAGE: UnprepLaunchReturn()

  • LaunchApp - Launch app via specified creatorID.

USAGE: LaunchApp( AppToLaunchCreatorID )

NOTE: You do not have to use this function to launch another app; you can use any other means to launch another app. This function is here for convenience.

  • PrepIncomingCall - Prepare to listen for incoming call notifications.

USAGE: PrepIncomingCall()

NOTE: This listening will remain in effect even after your app is closed, unless you call UnprepIncomingCall when your app closes (which is recommended).

  • UnprepIncomingCall - Cancel preparation to listen for incoming call notifications.

USAGE: UnprepIncomingCall()\nStops listening for incoming phone calls.

  • CheckIncomingCall - Check to see if there is an incoming phone call.

USAGE: result = CheckIncomingCall()

Returns 0 if no incoming call, or a non-zero number if there is an incoming call. This non-zero number is the time in system time format that the incoming call was received (may or may not have been answered). The stored call time is cleared when you call this function.

  • IsTreoPhone - Check if device is a Treo 600, 650, or 700, or not.

USAGE: IsTreoPhone()

Returns 0 if not a Treo, 600 if Treo 600, 650 if Treo 650, or 700 if Treo 700.

DocID: 10166 DocDate: 2006-10-02


FormNavHelper

Product | FormNavHelper
Manufacturer | Standard Satellite Forms component (SF 7.0+)
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS 5.x
Sample project(s) | FormNavHelper
Keywords | navigation, focus ring, Treo

FormNavHelper provides functions for handling the Treo-style focus ring form navigation system on newer Palm handhelds, such as the Treo 600, 650, 700p, Tungsten T5, Tungsten E2, LifeDrive, T|X, and Z22.

Functions include:

HasFormNav - Returns whether this device has form nav support.

USAGE: hasnav = HasFormNav()

Return values are:

0 - form navigation not supported on this device

1 - V1 form navigation support (Treo600)

2 - V2 form navigation support (Treo650, T5, TE2, LD, TX,

Z22, etc.)

GetNavState - Returns current form navigation state.

USAGE: navstate = GetNavState()

Return values are:

0 - form navigation disabled

1 - Application Focus Mode - app must handle all form nav

itself (like disabled)

2 - Object Focus Mode - system automatic 5-way form navigation

mode (focus rings active)

3 - Field Edit Mode - form nav enabled but edit field

currently has focus (focus ring not shown)

SetNavState - Sets current form navigation state.

USAGE: SetNavState( navstate )

Use state value as explained above in GetNavState

GetNavControlFocus - Gets the index of the control on the current

form that has navigation focus.

USAGE: indexstr = GetNavControlFocus()

NOTE: The control index is returned in the format Cnnn which

differs from the string returned by the control.index value

(which is %Fnnn.Cnnn). Use the Right string operator to

compare this index to a control index,

eg: indexstr = GetNavControlFocus()

If indexstr = Right(control1.index, 4) then

SetNavControlFocus - Sets current form navigation focus on

specified form object.

USAGE: SetNavControlFocus( control.index )

DocID: 10167 DocDate: 2006-10-02


BatteryInfo

Product | BatteryInfo
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS and PocketPC
Sample project(s) | Battery Info
Keywords | battery, power, charge

This extension provides two functions to obtain information about the PDA battery and power status:

  • BI_GetBatteryPercent returns the PDA's current battery level as a percentage of fully charged.

  • BI_GetPluggedIn returns true if the PDA is currently plugged in to AC power, false if not.

DocID: 10172 DocDate: 2006-10-02


Sapphire Buttons Utility

Product | Sapphire Buttons Utility
Manufacturer | Sapphire Solutions Ltd.
Website | http://www.sapphire-solutions.co.uk/products/buttons/
Version | 2.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | buttons, hotkeys, system

The Sapphire Buttons Utility allows your application to identify if a button was pressed by the user. Based on what was pressed, you can perform a specific function or display a specific screen. It also helps you users from losing the application by accidentally pressing the button for one of the system applications.

The Sapphire Buttons Utility makes reading the button status easy with the following functionality:

  • Check what button is pressed
  • Retrieve the button name
  • Enable and disable system buttons

DocID: 10178 DocDate: 2006-10-05


Sapphire IMEI Utility

Product | Sapphire IMEI Utility
Manufacturer | Sapphire Solutions Ltd.
Website | http://www.sapphire-solutions.co.uk/products/imei/
Version | 4.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | IMEI, IMSI, unique ID, phone

The Sapphire IMEI Utility allows both the IMEI and IMSI numbers to be read from Windows Mobile Phone Edition devices.

IMEI is the International Mobile Equipment Identifier, and IMSI is the International Mobile Subscriber Identity number.

DocID: 10180 DocDate: 2006-11-07


AMS Utilities

Product | AMS Utilities
Manufacturer | Antelligent Microsystems
Website | http://www.antelligent.com/pages/sf_extensions.html
Version | 2.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | utilities

A collection of useful functions for Satellite Forms 3.1 and above. Download the trial version by clicking the link above and see all the functions available. Additional functions have been added since V1.5. Download the trial version to see what's new. You'll find new functions in the ReadMe_Ureg.text document. You can also examine the .inf file. Newer functions may not be used in the sample application. Also, make sure you re-compile the sample application before running.

Utilities V2.0 Function Summary:

Misc. and PalmOS Functions:

Utils_1_About(), Utils_1_Register()

HitControl(), HitKey(), FlushQueues()

Palm Preferences:

HSLastDate(), HSLastSucc(), PrefGetAppPrefs(), PrefSetAppPrefs()

Palm Username & Password Generation:

UserName(), Passwrd6()

String Functions:

BSearchStr(), SearchStr(), FindClearResults(), Find(),

StrCaselessCompare(), StrInStr(), StrReadField(), StrUCase(), StrIsNumeric()

Paragraph Control Manipulation:

ParagraphBuf(), ParagraphSetText()

Time Manipulation:

OSTime(), OSTimeToSFDate(), OSTimeToSFTime()

Integer Math, Unique ID's:

AddUnsigned(), SubUnsigned(), IAbs(), CreateID()

Table Manipulation:

CloneRecord(), SaveForm(), CloneTable(), CopyRecs(), ZapTable()

Drawing:

DrawRect(), EraseRect(), DrawLine(),EraseLine()

Popup Windows:

WinShowMsg(), WinDeleteMsg()

Note: Some of the table functions only work in Satellite Forms V3.x or later versions. See the notes in the function help.

NOTE: Some functions may not be compatible with current versions of Satellite Forms.

DocID: 10186 DocDate: 2006-11-07


SysUtils

Product | SysUtils
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | SysUtils Test
Keywords | OS, system, utilities, SysUtils

SysUtils is a plugin extension that implements several handy OS functions for both PalmOS and PocketPC devices. Wherever possible the same functions are implemented on both platforms, but due to OS differences, some functions only apply to one specific platform. For example, the PocketPC provides Registry read/write functions, while the PalmOS provides Preferences read/write functions that are more or less equivalent.

Method Description

SU_BlockAllHotKeys Blocks all hotkey keypresses, but does not send a keypress that can be caught in the OnKey event.

SU_CheckSystemPassword Returns 1 (true) or 0 (false) depending if the passed string is the current system password or not.

SU_ClipboardTextGet Get the current text clip from the system clipboard.

SU_ClipboardTextSet Paste the passed string into the system clipboard.

SU_DelAppPref Deletes the saved preference given creatorID and pref index.

SU_GetAppPref Returns the saved preference value given creatorID and pref index.

SU_GetBatteryPercent Returns current battery charge level as a percentage (0-100) of full.

SU_GetDeviceID Get the device unique ID string.

SU_GetDeviceModel Get the device model string to help identify the device.

SU_GetMemInfo Get the amount of available memory.

SU_GetOSVersion Get the OS version string for the current device.

SU_GetOwnerName Get the device owner name.

SU_GetPlatform Get the device OS platform string, either PALMOS or POCKETPC.

SU_GetPluggedIn Returns 1 (true) if AC power is currently connected or 0 (false) if not.

SU_HotSync Initiates standard cradle hotsync by enqueuing HotSync virtual keypress.

SU_LaunchApp Launch a specified application/document/URL, and pass an optional parameter.

SU_LaunchAppAtEvent Launch a specified application/document/URL at a specified system event.

SU_LaunchAppAtTime Launch a specified application/document/URL at a specified date and time.

SU_ModemHotSync Initiates standard modem hotsync by enqueuing Modem HotSync virtual keypress.

SU_ParseDelimText Returns a chunk of data in a string of delimited items.

SU_PasteChars Paste a string to the keyboard input queue as though it was typed in. Input goes to the control that has the focus.

SU_PowerOff Power off the device now, as if the power button had been pressed.

SU_QueueVirtualKey Post a virtual key to the keyboard input queue. Input goes to the control that has the focus.

SU_RegDeleteKey Delete specified key from registry and all settings within it.

SU_RegReadKey Read specified key setting value from the registry.

SU_RegWriteKey Write specified key setting value to the registry.

SU_Reset Soft reset the device.

SU_SetAppPref Saves the preference value for the supplied creatorID and pref index.

SU_SetAutoOffTime Sets the auto-off timer on the Palm.

SU_SetDeviceDateTime Set the device date and time to the passed value

SU_SetHotKey Trap a hotkey keypress so that it sends a keypress that can be caught in the OnKey event.

SU_SysIdleTimerReset Reset the system idle timer to prevent the device from dozing off into sleep mode.

DocID: 10194 DocDate: 2008-05-28


InkHelper

Product | InkHelper
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | InkHelper
Keywords | ink, BMP, bitmap, signature, hextext, binary

InkHelper provides utility functions for working with Ink fields.

InkHelper provides these functions:

1. IH_InkFieldToBitmap - Save the contents of an ink field to a BMP file.

USAGE: err=IH_InkFieldToBitmap( Tables("TableName").Fields("InkFieldName").Index, row, BMPfilename )

Specify a full path and name for the BMP file, eg. \My Documents\My App\signature_01.bmp

For PalmOS internal streamed files, do not use any path, just the case sensitive filename.

2. IH_InkFieldToHexText - Return the contents of an ink field as hextext. The HexText can be converted back to binary data on the PC, and then displayed with the Satellite Forms Ink View ActiveX control (see the SatForms KnowledgeBase for Ink View help).

USAGE: hextext=IH_InkFieldToHexText( Tables("TableName").Fields("InkFieldName").Index, row )

3. IH_FileToHexText - Return the contents of a file as hextext. It is intended for use with BMP files but can be used for any file (for PalmOS internal RAM files, only streamed databases such as BMP files created with IH_InkFieldToBitmap are suported, not regular prc/pdb databases). The HexText can be converted back to the binary file on the PC.

USAGE: hextext=IH_FileToHexText( filename )

Specify a full path and name for the file, eg. \My Documents\My App\signature_01.bmp

For PalmOS internal streamed files, do not use any path, just the case sensitive filename.

4. IH_FileToUUEText - Return the contents of a file as uuencoded text. It is intended for use with BMP files but can be used for any file (for PalmOS internal RAM files, only streamed databases such as BMP files created with IH_InkFieldToBitmap are suported, not regular prc/pdb databases). The UUEText can be converted back to the binary file on the PC using any standard uudecoder algorithm or utility.

USAGE: uuetext=IH_FileToUUEText( filename )

Specify a full path and name for the file, eg. \My Documents\My App\signature_01.bmp

For PalmOS internal streamed files, do not use any path, just the case sensitive filename.

5. IH_FileToBinField - Import a file into a binary field.

USAGE: result=IH_FileToBinField( filename, Tables("TableName").Fields("BinaryFieldName").Index, row )

Specify a full path and name for the file, eg. \My Documents\My App\signature_01.bmp

The binary field specified should NOT be the ink binary field, and must be a different binary field. This function is intended for importing BMP files into the binary field directly.

6. IH_DeleteFile - Delete specified file (eg. delete a BMP after you are finished with it).

USAGE: err=IH_DeleteFile( fullpathandname )

Returns 0 if no err, 1 if there was an error deleting the file. For PalmOS internal streamed files, do not use any path, just the case sensitive filename.

7. IH_PalmFileSettings - PalmOS Only. Specify PalmOS file settings used for other functions that access files. Call this function on PalmOS BEFORE the other functions that work with files.

USAGE: err=IH_PalmFileSettings( volumenumber, filetype, filecreatorid, filebackup )

Specify the volumenumber as:

0 - use internal (RAM) streamed files

1 - first VFS volume found

2 - 2nd VFS volume found

n - nth VFS volume found

filetype - Pass the 4-character case sensitive file type for streamed files. For compatibility with the PalmDataPro SFInkView conduit, set the type to 'strm'.

filecreatorid - Pass the 4-character case sensitive creatorID for streamed files. For compatibility with the PalmDataPro SFInkView conduit, set the creatorID to 'EWIV', otherwise use your application's creatorID.

filebackup - Pass True or False to set the backup bit on streamed files. If the backup bit is set, the Palm Backup conduit will back up the BMP files as streamed file PDBs in the user's Backup folder. You can convert these streamed file PDBs to standard Windows BMPs using the freeware PAR utility.

8. IH_BMPColorSettings - Set foreground (pen) and background colors (8-bit RGB values) for monochrome BMP file.

USAGE: IH_BMPColorSettings( fgRed, fgGreen, fgBlue, bgRed, bgGreen, bgBlue )

The default color settings if none are specified are:

fgRed=0, bgGreen = 0, bgBlue = 0 (black)

bgRed=255, bgGreen = 255, bgBlue = 255 (white)

To invert the colors for printing with PrintBoy on WM5 devices, use

fgRed=255, fgGreen = 255, fgBlue = 255

bgRed=0, bgGreen = 0, bgBlue = 0

and set these colors via

IH_BMPColorSettings( 255, 255, 255, 0, 0, 0)

What is HexText?

HexText is an ASCII text representation of binary data, in which the hexadecimal value of each binary byte is converted to 2 ASCII characters that indicate the binary hex value. For example, the single binary byte 0xA5 is represented in HexText as the ASCII string A5. When the binary data is converted into HexText, it can then be transported via methods that only support plain text (for example using TCPIP sockets via the Internet or Winsock extensions, or POSTing to a web server using HTTP). The HexText can then be converted back into binary form on the destination/host system, for example converting the HexText back into a standard BMP file.

Here is sample Visual Basic desktop code to decode the hextext back to the source binary file, assumed to be a BMP file in this example:

Private Sub btnDecode_Click()

Dim file_name As String

Dim fnum As Integer

Dim bytes() As Byte

Dim txt As String

Dim i As Integer

Dim ch As String

Dim num_values As Integer

Dim num As Integer

file_name = tbLoc.Text

num_values = 0

txt = ""

fnum = FreeFile

Open file_name For Input As #fnum

Do While Not EOF(fnum)

Line Input #fnum, txt

For i = 1 To Len(txt)

num_values = num_values + 1

ReDim Preserve bytes(1 To num_values)

ch = Mid$(txt, i, 2)

num = CDec("&H" & ch)

bytes(num_values) = num

i = i + 1

Next i

Loop

Close #fnum

' Save the file.

fnum = FreeFile

Open App.Path & "\my.bmp" For Binary As #fnum

Put #fnum, 1, bytes

Close #fnum

End Sub

DocID: 10195 DocDate: 2008-05-28


ScreenSize

Product | ScreenSize
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PocketPC
Sample project(s) | GetScreenSize
Keywords | width, height, size, pixels, rotate

The ScreenSize extension gives you information about the current screen size on the PocketPC device. It can be used as a plug-in extension just by calling the GetScreenSize, GetScreenWidth, or GetScreenHeight script functions as desired, or it can be used as an SFX control that will fire an event when the screen size changes. The event that is fired is the Action event for the ScreenSize form control, which can be Run Script or JumpToForm or something else. For example, in the action script you could call the GetScreenSize function, and then move/resize controls on the form to adapt to the changed screen size. There are no SFX control properties for the ScreenSize control. It is not visible on the PDA screen.

Method Description

GetScreenSize Return screen dimensions in string WWWxHHH.

GetScreenWidth Return screen width.

GetScreenHeight Return screen height.

DocID: 10197 DocDate: 2008-05-28


JanamUtils

Product | JanamUtils
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS (Janam XP20 and XP30)
Sample project(s) | JanamUtils
Keywords | Janam, XP20, XP30, LED, Bluetooth, 5V, Power, vibrate, backlight

JanamUtils is a plug-in extension that provides access to Janam XP20/XP30 hardware utility functions.

JXP_IsJanamXP - Return whether the current device is a Janam XP unit. Returns 0 if not a Janam XP, returns 20 if device is an XP20, returns 30 if device is an XP30.

USAGE: IsJanam=JXP_IsJanamXP()

JXP_KeyBacklight - Get or Set the Key Backlight setting on Janam XP units.

USAGE: result=JXP_KeyBacklight( Set, Enable )

Pass True for the Set parameter to Set the value, or False to Get the value. Pass True for the Enable parameter to enable the Key Backlight setting, or False to disable the Key Backlight setting (this parameter is used only when the Set parameter is True).

If Set is False, the function returns the current Key Backlight setting. If Set is True, the function returns False if there were no errors setting the Key Backlight value, True if there was an error.

JXP_5VPowerOut - Get or Set the 5V Power Out (used by MSR attachment) setting on Janam XP units.

USAGE: result=JXP_5VPowerOut( Set, Enable )

Pass True for the Set parameter to Set the value, or False to Get the value. Pass True for the Enable parameter to enable the 5V Power Out setting, or False to disable the 5V Power Out setting (this parameter is used only when the Set parameter is True).

If Set is False, the function returns the current 5V Power Out setting. If Set is True, the function returns False if there were no errors setting the 5V Power Out value, True if there was an error.

JXP_BuzzHiVolume - Get or Set the Buzz Hi Volume setting on Janam XP units.

USAGE: result=JXP_BuzzHiVolume( Set, Enable )

Pass True for the Set parameter to Set the value, or False to Get the value. Pass True for the Enable parameter to enable the Buzz Hi Volume setting, or False to disable the Buzz Hi Volume setting (this parameter is used only when the Set parameter is True).

If Set is False, the function returns the current 5V Power Out setting. If Set is True, the function returns False if there were no errors setting the Buzz Hi Volume value, True if there was an error.

JXP_Vibrator - Get or Set the Vibrator setting on Janam XP units.

USAGE: result=JXP_Vibrator( Set, Enable )

Pass True for the Set parameter to Set the value, or False to Get the value. Pass True for the Enable parameter to enable the Vibrator setting, or False to disable the Vibrator setting (this parameter is used only when the Set parameter is True).

If Set is False, the function returns the current Vibrator setting. If Set is True, the function returns False if there were no errors setting the Vibrator value, True if there was an error.

JXP_RedLED - Get or Set the Red LED setting on Janam XP units.

USAGE: result=JXP_RedLED( Set, Enable )

Pass True for the Set parameter to Set the value, or False to Get the value. Pass True for the Enable parameter to enable the Red LED setting, or False to disable the Red LED setting (this parameter is used only when the Set parameter is True).

If Set is False, the function returns the current Key Backlight setting. If Set is True, the function returns False if there were no errors setting the Red LED value, True if there was an error.

JXP_GreenLED - Get or Set the Green LED setting on Janam XP units.

USAGE: result=JXP_GreenLED( Set, Enable )

Pass True for the Set parameter to Set the value, or False to Get the value. Pass True for the Enable parameter to enable the Green LED setting, or False to disable the Green LED setting (this parameter is used only when the Set parameter is True).

If Set is False, the function returns the current Green LED setting. If Set is True, the function returns False if there were no errors setting the Green LED value, True if there was an error.

JXP_BTState - Get or Set the BT State (whether Bluetooth is enabled or not) setting on Janam XP units.

USAGE: result=JXP_BTState( Set, Enable )

Pass True for the Set parameter to Set the value, or False to Get the value. Pass True for the Enable parameter to enable the BT State setting, or False to disable the BT State setting (this parameter is used only when the Set parameter is True).

If Set is False, the function returns the current BT State setting. If Set is True, the function returns False if there were no errors setting the BT State value, True if there was an error.

DocID: 10201 DocDate: 2008-05-28


Treo650Camera

Product | Treo650Camera
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00149.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Treo, camera, photo, image, picture, JPG, bitmap

Treo650Camera is an extension that enables your SatForms application to control the built in digital camera of the PalmOne Treo650 smartphone. With Treo650Camera your application can do all of these things without ever leaving your application:

  • display live viewfinder (preview) images
  • save photos to standard JPG files in the Treo650's internal memory or an expansion card at 320x240 or 640x480 resolution
  • view JPG photos captured by the Treo650's digital camera or from other sources on your application screen at the location you specify, in high density mode, scaled to your specified size
  • rename, copy, and delete photos
  • get information about photos including size in bytes, date, time, width and height
  • store JPG photos in a SatForms binary field, and display JPG photos stored in a binary field

Treo650Camera uses the Treo internal imaging libraries which are written in native ARM processor code for ultra fast operation.

DocID: 10082 DocDate: 2005-07-12


Treo600Camera

Product | Treo600Camera
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00130.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Treo, camera, photo, image, picture, JPG, bitmap

Treo600Camera is an extension that enables your SatForms application to control the built in digital camera of the Handspring/PalmOne Treo600 smartphone. With Treo600Camera your application can do all of these things without ever leaving your application:

  • display live viewfinder (preview) images
  • save photos to the Treo600 photos database, and as standard JPG files in the Treo600's internal memory or an expansion card
  • view JPG photos captured by the Treo600's digital camera or from other sources on your application screen at the location you specify, at 160x120 size in standard density
  • view thumbnails of JPG photos captured by the Treo600's digital camera or from other sources on your application screen at the location you specify, at 40x30 size in standard density
  • rename, copy, move, resize, and delete photos
  • get information about photos including size in bytes, date, time, width and height
  • store JPG photos in a SatForms binary field, and display JPG photos stored in a binary field

Treo600Camera uses the Treo600 internal imaging libraries which are written in native ARM processor code for ultra fast operation.

DocID: 10032 DocDate: 2005-07-01


Zire7xCamera

Product | Zire7xCamera
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00117.htm
Version | 2.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Camera, Zire71, Zire72, photo, image, picture, JPG, bitmap

Zire7xCamera is an extension that enables your SatForms application to control the built in digital camera of the Palm Zire71 and Zire72 handhelds. The Zire7xCamera extension replaces the previous Zire71Camera extension. With Zire7xCamera your application can do all of these things without ever leaving your application:

  • display live viewfinder images when you slide open the camera
  • save photos to standard JPG files in the Zire7x's internal memory or an expansion card when you press the camera's shutter button
  • view JPG photos captured by the Zire7x's digital camera or from other sources on your application screen, at the location you specify, scaled to the size you request, in high density (320x320 mode)
  • rename, copy, downsize, and delete photos
  • get information about photos including size in bytes, date, time, width and height
  • store JPG photos in a SatForms binary field, and display JPG photos stored in a binary field
  • obtain a list and details for all the photos listed in the Palm Photos database
  • add photos you've captured to the Palm Photos database, so that they can be synced to the desktop automatically via the Palm Photos conduit
  • rename and delete photos from the Palm Photos database
  • downsize a photo to smaller dimensions and different JPG quality level, in order to decrease the file size

Zire7xCamera includes JPG encoding and decoding armlets (native ARM processor code) for ultra fast operation.

JPG photos stored on expansion memory cards in the Zire7x (SD or MMC cards) can be transferred to and from a PC directly through the use of a card reader attached to the PC's USB port. Photos stored in the Palm's internal memory can be synced to the desktop via the Palm Photos conduit.

DocID: 10029 DocDate: 2005-07-01


SFPalmPix

Product | SFPalmPix
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00029.htm
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Camera, PalmPix, Kodak, photo, image, picture, bitmap

Sample Application

SFPalmPix is a Satellite Forms extension that enables you to integrate the Kodak PalmPix digital camera into your SatForms applications. SFPalmPix provides methods for you to:

  • retrieve and modify the database of PalmPix images already on the Palm (including image attributes such as image name, date/time taken, image size, zoom, Private status, HotSync status, and image category)
  • rename or delete images from the database
  • display image thumbnails from the database in color or greyscale
  • display live viewfinder frames or thumbnail images from the camera
  • take photos and save them to the image database
  • beam photos to another Palm

In short, it lets you do pretty much everything you can think of with the PalmPix directly from your SatForms application.

A full featured sample application is included to demonstrate all of the functions in the extension.

PalmPix images are transferred to the PC using the regular PalmPix conduit included with the camera. Images may not be transferred from the PC to the Palm, only from the Palm to the PC. The SFPalmPix extension allows you to toggle the "hotsync" attribute on the images, which the Palmpix conduit uses to determine which images to download from the Palm.

DocID: 10053 DocDate: 2005-07-01


SFEyeModule2

Product | SFEyeModule2
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00093.htm
Version | 1.02
Platform | PalmOS [Handspring Visor devices only]
License | Commercial, per developer, royalty free redistribution
Keywords | Photo, camera, image, picture, Visor, bitmap

Sample Application

SFEyeModule2 is a Satellite Forms extension that enables you to integrate the IDEO EyeModule2 digital camera Springboard module for Handspring Visors into your SatForms applications. SFEyeModule2 provides methods for you to:

  • retrieve the database of EyeModule2 images already on the Visor (including image attributes such as image name, date/time taken, image size, and note)
  • rename or delete images from the database
  • create/modify image notes
  • display image thumbnails (Palmsize 160x120) from the database in color or greyscale (dependent on the Visor model)
  • display live viewfinder frames from the camera
  • take photos and save them to the EyeModule2 image database as thumbnail (Palmsize) and optionally as VGA JPEG files (Fullsize 640x480x24 bit)
  • beam photos to another Visor (the receiving Visor needs to have the EyeModule2 software installed, which is automatically installed the first time you snap the EyeModule2 into the Springboard slot)
  • it also supports embedding either the thumbnail or fullsize image into an SF41 binary field, as long as the image is small enough to fit into the 64K record size limit (you can control the amount of JPEG compression for the VGA image, making it possible to store the full 640x480x24 bit image in a binary field, although the SF runtime engine is not able to display the JPEG image)
  • Important: SFEyeModule2 is compatible with SatForms 3.1 and higher (binary field support requires SF41 or higher), requires PalmOS 3.5 Visors (Visor Edge, Visor Platinum, Visor Prism, Visor Pro, or Visor Neo), and will NOT work with PalmOS 3.1 Visors (Visor and Visor Deluxe) or the original EyeModule

DocID: 10018 DocDate: 2005-07-01


WM5Camera

Product | WM5Camera
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PocketPC (Windows Mobile 5+)
Sample project(s) | WM5Camera
Keywords | camera, photo, image, video, JPG, 3GP, WM5

WM5Camera is a plugin extension that enables your Windows Mobile 5 and higher applications to capture photos or videos on camera-equipped devices. Photos are saved to .JPG files in the folder you specify. Videos should be saved to .3GP files in order to be compatible with MMS standards among mobile phones.

The WM5Camera extension relies on the Windows Mobile Camera Capture API as defined by Microsoft. However, some device makers have not implemented the APIs exactly as Microsoft intended, thus there may be some behaviour differences between devices from different manufacturers. For example, on the Palm Treo 750 with Windows Mobile 6 Professional, the Width and Height parameters are ignored when capturing photos. Instead, the Treo 750 just uses whatever the last selected photo resolution was in the Pictures application. The developer can in fact change the selected photo capture resolution by directly modifying the following registry key:

HKCU\Software\Microsoft\Pictures\Camera\USER

Change the DWORD value named Resolution where the value

0=1280x1024

1=640x480

2=320x240

3=240x180

4=160x120

Video recording should use either of these 3GP MMS sizes if they are supported by the device maker:

352x288

176x144

and the video filename suffix should be .3GP

DocID: 10202 DocDate: 2008-05-28


SFRecordUtils

Product | SFRecordUtils
Manufacturer | PalmDataPro
Website | PalmOS: http://www.palmdatapro.com/itm00026.htm PocketPC: http://www.palmdatapro.com/itm00102.htm
Version | 2.7
Platform | PalmOS and PocketPC (separate products)
License | Commercial, per developer, royalty free redistribution
Keywords | Search, copy, find, binary, count, substring, lookup

Sample Application

SFRecordUtils is a Satellite Forms extension that provides some handy record-related methods for:

  • Linear searching for matching values and substrings
  • Ultrafast filter-aware binary searching for matching values
  • Counting matching values or substrings
  • Looking up a record matching the search value and returning the text from another field in that same row
  • Ultrafast copying of whole records from one table to another (or to another row in the same table), either by specifying the source row explicitly, or by matching specified field values or substrings
  • Ultrafast copying of entire tables to another table, choosing to ignore or to observe active filters
  • Deleting or removing all records from a table that match a search value
  • Deleting or removing all records from a table, choosing to ignore or observe active filters
  • Setting a field value in all records from a table that match a search value
  • Setting a field value in all records from a table, choosing to ignore or observe active filters

DocID: 10012 DocDate: 2006-03-06


SFTypeAheadFieldAdorner

Product | SFTypeAheadFieldAdorner
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00015.htm
Version | 2.6
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | search, find, incremental, lookup

Sample Application

SFTypeAheadFieldAdorner lets you add "type ahead" or "search-as-you-type" facilities to your SF edit fields. This is like the function in the standard Palm Address Book where it displays the matching record as you enter the characters. If you have set the control datasource to be the form's linked table, you can have the extension automatically place you on the matched record (or the record where a match would occur if one was not found) as you type (just like in the screenshot from the sample application above).

Once you associate an adorner to a field and a table/column, any characters entered by the user will cause the nearest match in the table to be displayed in the field (via a very fast, filter obeying binary search). The characters after those that the user typed are highlighted so that they can keep typing to refine the entry. Obviously the table you use must be sorted by the column you associate with the adorner.

NEW in V2.0: The search action is now re-activated as you backspace over existing characters! Some additional control config parameters have also been added to modify the behaviour of the search action based on certain conditions.

Data entry of characters into the control-associated edit field is designed to be via Graffiti, but you can also input chars via the PasteChars method (from the PocketUtils or SFKeyz extensions), or via an SFKeyz keyboard. It is also compatible with the FitalyStamp third party data entry enhancement. The search action does not automatically work with the standard Palm popup onscreen keyboards.

NEW in V2.0: If you use the escape-proofed popup keyboards from the PopupUtils extension, the standard Palm popup keyboards, or if you assign text to the edit field via a script command, you can now fire the SFTAFA search action using a script command! It will then process the input from the edit field just as if it had been entered by Graffiti!

DocID: 10057 DocDate: 2005-07-01


FieldByIndex

Product | FieldByIndex
Manufacturer | PalmDataPro
Website | PalmOS: http://www.palmdatapro.com/itm00135.htm PocketPC: http://www.palmdatapro.com/itm00146.htm
Version | 1.0
Platform | PalmOS, PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | write data, read data

Sample Application

FieldByIndex is an SFX plugin that allows SatForms applications to read (get) and write (put) data to/from table fields via a numeric column index. This makes it easy to loop through fields incrementally in a script, without having to specify the table field by name.

This is especially useful if you are working with CSV data on the handheld, and makes a good companion to SFTextFile .

DocID: 10028 DocDate: 2005-07-01


PalmoDB

Product | PalmoDB
Manufacturer | Palmosoft SRL
Website | http://www.palmdatapro.com/itm00072.htm
Version | 1.2
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | search, binarysearch, sort, filter, records

Palmosoft's PalmoDB is a Satellite Forms extension that provide a super binary search (and supersort) allowing the programmer to sort and search for two keys (now the BinarySearch or QSort gives the ability to get only ONE KEY). It handles TWO CONDITIONS:

1. It takes THE FIRST RECORD EQUAL TO VALUE(S) PASSED (the Binary Search does not necessarily return the first match).

2. If the matched condition is filtered OUT, the values is NOT FOUND, as the extension gives you ONLY search for records observing filters you have created.

DocID: 10117 DocDate: 2005-07-12


SFBinaryLookup

Product | SFBinaryLookup
Manufacturer | PalmDataPro
Website | PalmOS http://www.palmdatapro.com/itm00006.htm PocketPC http://www.palmdatapro.com/itm00103.htm
Version | 1.5
Platform | PalmOS and PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | binary lookup, search, find

Sample Application

SFBinaryLookup V1.5 includes a new script function to return the lookup row number, or if the match is not found, the row number where the value should occur in order to maintain the proper table sort order.

SFBinaryLookup is a replacement SFX control for the built-in SatForms Lookup control with two big differences.

1. It works with sorted data by using a binary search to do the lookup. This can increase the speed of lookups by massive amounts, especially on very large tables.

2. It handles filters.

The control has methods that let you access the displayed data, hide/show the control, and get the row number of the match in the lookup table.

DocID: 10059 DocDate: 2005-07-01


SuperDroplist

Product | SuperDroplist
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00094.htm
Version | 1.09
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | control, droplist, popup

Sample Application

SuperDroplist is a supercharged droplist SFX custom control to be used as a replacement for the standard SatForms droplist control. It offers numerous enhancements and benefits over the standard droplist control, including:

  • ability to specify list items via code without needing to link to a table
  • can link to table like standard droplist
  • add/remove items on the fly
  • incremental search of sorted list items via Graffiti (search-as-you-type)
  • option to work with an edit control to function as a combo box
  • escape proof (does not exit your program if hardbutton or silkscreen button is tapped when the droplist is displayed, just closes list)
  • automatic or settable size width and height
  • settable list and caption fonts

You place the SuperDroplist(s) onto your form where you want it to appear, set its starting behaviour properties via the control config box, and you're off and running. Most of the SuperDroplist control properties can also be queried and modified at runtime via the more than three dozen script functions.

DocID: 10011 DocDate: 2006-11-07


SFControlAdorner

Product | SFControlAdorner
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00008.htm
Version | 2.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Ring, border, highlight, control

Sample Application

SFControlAdorner lets you easily add borders to most SatForms controls. You simply create an adorner object and link it to the control you want to adorn. You also specify the type of adorner. That's all you have to do. The adorner will be automatically drawn around the control, and will also remove itself if the control is hidden.

POWER TIP: SFControlAdorner makes it easy to draw and manipulate Treo600-style "focus rings" around controls, to add one-handed navigation enhancement to your applications. Trap the navigation button presses in your OnKey event, and respond to them by moving the ControlAdorner focus ring to different controls. See the "Easy 5-Way Nav" sample app for an example.

DocID: 10038 DocDate: 2005-07-01


SFHyperLink

Product | SFHyperLink
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00119.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Hyperlink, underline, button, color

Sample Application

SFHyperLink is an SFX custom control that enables you to add hyperlinks to your form. A hyperlink is a rectangle containing optional text and an optional underline that responds to taps. It is functionally similar to a borderless button control with underlined text, but offers several convenience and feature enhancements over that approach.

Some of the enhanced features include:

  • ability to draw the hyperlink in whatever color you want
  • ability to easily move & resize the hyperlink at runtime
  • ability to change hyperlink text and font at runtime
  • consistent behaviour over various PalmOS versions that avoids control stacking issues common with the button approach

You place the SFHyperLink(s) onto your form where you want it to appear, set its starting behaviour properties via the control config box, and you're off and running. Most of the control properties can also be queried and modified at runtime via script functions.

DocID: 10037 DocDate: 2005-07-01


CalcKeyboard

Product | CalcKeyboard
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00107.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Calculator, popup

Sample Application

CalcKeyboard is a popup keyboard extension for Satellite Forms, similar to the PalmOS built in alpha, numeric, and international keyboards, that implements a basic four-function calculator. When invoked, CalcKeyboard pops up overtop of your current form, and displays the numeric value of the active field as its starting value. The user can make the desired calculations by tapping on the CalcKeyboard keypad, and can choose to write the result back into the active field when the calculator is dismissed.

CalcKeyboard is simple, and completely intuitive for the end user. It even has a Tips/Info dialog available, like the standard Palm keyboards. For the SatForms developer, CalcKeyboard offers several customization features so you can tailor it to your application's needs. You can:

  • set the title of the calculator
  • set the caption of the Paste checkbox
  • set the caption of the Done button
  • set the caption of the Clear button
  • hide the Paste option altogether
  • hide the Tips/Info dialog
  • set the number of decimal places to display
  • set the escape prevention behaviour

In addition, CalcKeyboard automatically recognizes and uses the decimal character as specified in the Palm preferences.

CalcKeyboard is invoked by a script command, and the sample application demonstrates how to easily pop it up when the user taps on the Calculator silkscreen icon.

DocID: 10041 DocDate: 2005-07-01


SFTreo600Gadgets

Product | SFTreo600Gadgets
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00139.htm
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Treo, signal, battery

SFTreo600Gadgets is an SFX custom control that enables you to add standard Treo battery level and wireless signal strength meters to your forms. The Treo600/650/700p system software automatically updates the controls with changing status once you have activated them on your form. If you tap on the battery meter, it displays a battery percentage momentarily at the top of the form.

You may include one battery level meter and/or one signal strength meter on as each form.

You place the SFTreo600Gadgets control(s) onto your form where you want it to appear, set its Style property (battery meter or signal strength) via the control config box, and that's it: the status of the control is automatically updated by the Treo as status changes.

SFTreo600Gadgets are automatically inactive on devices that are not the Treo600/650/700p.

DocID: 10025 DocDate: 2006-10-02


PalmoLista

Product | PalmoLista
Manufacturer | Palmosoft S.r.l.
Website | http://www.palmdatapro.com/itm00145.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Listbox, color

Sample Application

PalmoLista is a SFX custom control to be used as a replacement for the standard SatForms listbox control. It offer numerous enhancements and benefits over the standard listbox control, including:

  • management of coloured rows
  • management of faster data filtering
  • possibility of replacing equal values
  • possibility of concealing reverse selection, or setting forecolor and backcolor for selection
  • possibility of having numerical data divided to obtain shorter values (e.g. if you have a value of 10,000 using this function allows you to see 10K saving 4 chars)
  • possibility of setting a range of positions to be shown
  • possibility of managing a partial string, not only from the first char, but managing a left function, a mid function or a right function

A full featured sample application is included.

DocID: 10073 DocDate: 2005-07-01


SFKeyz

Product | SFKeyz
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00013.htm
Version | 1.2
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Keyboard, macro

Sample Application

SFKeyz is a control that implements a data-driven keyboard. You describe the keyboard with two tables. One that specifies row information, and a second that specifies each individual key. You can specify a string or an ASCII code (eg Del - 8) for each key. SFKeyz can perform 'macro expansions'. For example a key might be labelled 'FTP', and when tapped actually enters 'File Transfer Protocol'.

DocID: 10066 DocDate: 2005-07-01


SFSpinControl

Product | SFSpinControl
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00089.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Spin, up/down, control

Sample Application

SFSpinControl is a simple SFX custom control that adds spin buttons for quickly incrementing/decrementing a value in an associated edit control. You drop the SpinControl onto your form where you want it to appear (most likely immediately to the right of an edit control), associate it with the edit control, and set its starting behaviour properties via the control config box, and you're off and running. Most of the spin control properties can also be queried and modified via script functions.

Script Functions:

  • SetMinMaxDelta
  • GetMin
  • GetMax
  • GetDelta
  • SetVisible
  • GetVisible
  • SetRepeat
  • GetRepeat
  • SetSound
  • GetSound
  • SetNumDec
  • GetNumDec
  • SetAssocControl

A sample application is included that demonstrates all of the features and functions of the SFSpinControl. While the sample app only displays a single SpinControl on the form, you can have multiple SpinControls on a form, each with their own distinct properties.

DocID: 10050 DocDate: 2005-07-01


SFScrollbar

Product | SFScrollbar
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00096.htm
Version | 1.01
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Scrollbar, control

Sample Application

SFScrollbar is a simple SFX custom control that adds a general purpose vertical scrollbar to your form.

A sample application is included that demonstrates all of the features and functions of the SFScrollbar. The sample app shows the use of the SFScrollbar to scroll through records in a listbox.

*** IMPORTANT ***

You may only add a SINGLE SFScrollbar to a form. Attempting to use multiple SFScrollbars on a form will cause your application to crash. You can have multiple SFScrollbars throughout your application, but only a single SFScrollbar on any given form.

DocID: 10048 DocDate: 2005-07-01


SFControlMagic

Product | SFControlMagic
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00090.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Color, font, move control

Sample Application

SFControlMagic is a simple SFX plugin extension that enables you to change several attributes of most standard SatForms controls on the fly, including:

  • getting/setting a control's font
  • getting/setting a control's location on the form
  • getting/setting a control's bounds (location and size)

Want to dynamically change the active font in an edit field for emphasis (applies to the whole field, not selected text), or use the Large Bold 12 font in a listbox? With SFControlMagic, you can do it!

Full Color Support!

As well, SFControlMagic gives you the ability to easily add full color support to your application, letting you change the colors that controls, text, and other form objects are drawn with. You can make your application more appealing by using the full Palm color palette instead of just relying on the default colors, or even add the ability for your users to customize the color scheme to their liking!

SFControlMagic's font, location, and bounds functions work with the following standard SatForms controls:

  • edit field
  • paragraph
  • listbox
  • droplist trigger
  • lookup
  • checkbox
  • radio button
  • button
  • text (font and position only, not bounds)
  • bitmap (position only, not bounds)

Unfortunately, the functions do not work with the following:

  • SFX custom controls (like the Slider)
  • title control
  • droplist popup list

All of the font/location/bounds changes you make with the SFControlMagic functions are temporary, and do not affect the stored attributes for controls. For example, if you set a new font & size for a listbox while on a form, then jump to a different form/page and return to the original form/page, the listbox reverts back to its original font and size. These changes are dynamically applied to controls on the active form, and do not affect the stored control properties.

All of the user interface element color changes you make are active for the duration of your application, and do not affect any other Palm applications. To make these color changes "permanent" for your application, you could apply them in an initialization script when your application launches (such as the AfterAppStart script in SF 4.0+). If you give your users the option to select/save their own app color scheme, you would want to save the selected colors to a table (or possibly to Saved Preferences for your application using the GetAppPref/SetAppPref functions in PocketUtils 2.0).

A sample application is included that demonstrates all of the features and functions of SFControlMagic.

DocID: 10049 DocDate: 2005-07-01


LSListBox

Product | LSListBox
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00074.htm
Version | 2.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | listbox, scroll, grid, list

LSListBox is a SatForms SFX control that provides an enhanced replacement to the standard SF listbox control. The LSListBox features numerous improved capabilities including:

  • Faster loading with large tables
  • No link to the form's underlying table required
  • Selectable fonts, including different fonts on different columns of the same row
  • Horizontal scrolling
  • Multi-Select (select more than one record from the list)
  • Know which column was selected
  • Color support
  • Column headings

DocID: 10105 DocDate: 2006-03-07


Color Slider

Product | Color Slider
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | Color SFX Control
Keywords | slider, color, control, bar

Color Slider is an SFX control that can be used with your applications to specify data in a continuous range. There are four supported control styles:

0: Progress Bar (no user interaction)

1: Slider with marker (user can slide a marker)

2: Slider with no marker (user taps bar to indicate pos)

3: 3D slider (color handhelds only)

Patterns:

0: Transparent

1: Alternating dots

2: Diagonal lines

3: Vertical lines

4: Opaque

Initialization Constants

These are the values placed in the “Configuration” window of the inserted SFX control.

BEEP = n specifies whether the control should beep when the user interacts with it. If n is 0, no beep occurs. If n is 1, then a beep sounds when first touching the control. (Default = 0.)

DSOURCE = Fields(""col_name"") specifies that the column named col_name (double-quotes required) in the table linked to the form that contains the control will be used to load and the value of the control. (Default = none.)

FASTTRACK = specifies how often the OnClick event will be fired

0 = Every time the pen moves

1 = After the pen is lifted (default = false)

INITVAL = n specifies that the initial position of the control's bar should be at 'n', a number between MIN and MAX (Default = 0).

MIN = n specifies that the leftmost position of the control has value 'n'. (Default = 0).

MAX = n specifies that the rightmost position of the control has value 'n' (Default = 100).

PATTERNTYPE = n specifies the type of filler pattern for the sliding bar (Default = 1).

STYLE = n specifies the style of slider control requested. The value of n is described above (Default = 1).

VISIBLE = 0 or 1 specifies whether the control will be visible at first (default = true).

For those with a color handheld:

FORECOLOR = n sets the foreground color of the slider control to the corresponding color in the current color table.

BACKCOLOR = n sets the background color of the slider control to the corresponding color in the current color table.

Scripts API

All methods are private methods.

Usage: [Name of SFX Control].[Name of Method]

Example of usage: SFXControl1.About()

About()

Show the extension's about box.

FastTrack(Boolean)

FastTrack(Boolean) - Specifies how often the OnClick event will be fired

0 = Every time the pen moves

1 = After the pen is lifted (default = false)

GetPosition()

Get position of the control bar.

Example of usage: x = MySlider.GetPosition()

IsHandheld35()

Checks the handheld ROM to see if it contains Palm OS® 3.5 or greater.

Example of usage: TrueOrFalse = IsHandheld35()

RestorePrevColor()

Restores the previous color scheme.

SetMinMax(integer, integer)

Change minimum & maximum values.

Example of usage: SetMinMax(min,max)

SetPosition(integer)

Set position of control bar to the value specified.

Example of usage: MySlider.SetPosition(NewValue)

SetVisible(Boolean)

Make control visible or invisible. Set parameter to true for visible.

DocID: 10133 DocDate: 2005-07-18


Slider Control

Product | Slider Control
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS, PocketPC
Sample project(s) | SFX Control
Keywords | slider, control, bar

Slider is an SFX control that can be used with your applications to specify data in a continuous range. There are three supported control styles:

0: Progress Bar (no user interaction)

1: Slider with marker (user can slide a marker)

2: Slider with no marker (user taps bar to indicate pos)

Patterns:

0: Transparent

1: Alternating dots

2: Diagonal lines

3: Vertical lines

4: Opaque

Initialization Constants

These are the values placed in the “Configuration” window of the inserted SFX control.

BEEP = n specifies whether the control should beep when the user interacts with it. If n is 0, no beep occurs. If n is 1, then a beep sounds when first touching the control. (Default = 0.)

DSOURCE = Fields(""col_name"") specifies that the column named col_name (double-quotes required) in the table linked to the form that contains the control will be used to load and the value of the control. (Default = none.)

FASTTRACK = specifies how often the OnClick event will be fired

0 = Every time the pen moves

1 = After the pen is lifted (default = false)

INITVAL = n specifies that the initial position of the control's bar should be at 'n', a number between MIN and MAX (Default = 0).

MIN = n specifies that the leftmost position of the control has value 'n'. (Default = 0).

MAX = n specifies that the rightmost position of the control has value 'n' (Default = 100).

PATTERNTYPE = n specifies the type of filler pattern for the sliding bar (Default = 1).

STYLE = n specifies the style of slider control requested. The value of n is described above (Default = 1).

VISIBLE = 0 or 1 specifies whether the control will be visible at first (default = true).

Scripts API

All methods are private methods.

Usage: [Name of SFX Control].[Name of Method]

Example of usage: SFXControl1.About()

About()

Show the extension's about box.

FastTrack(Boolean)

FastTrack(Boolean) - Specifies how often the OnClick event will be fired

0 = Every time the pen moves

1 = After the pen is lifted (default = false)

GetPosition()

Get position of the control bar.

Example of usage: x = MySlider.GetPosition()

SetMinMax(integer, integer)

Change minimum & maximum values.

Example of usage: SetMinMax(min,max)

SetPosition(integer)

Set position of control bar to the value specified.

Example of usage: MySlider.SetPosition(NewValue)

SetVisible(Boolean)

Make control visible or invisible. Set parameter to true for visible.

DocID: 10134 DocDate: 2005-07-18


EListBox

Product | EListBox
Manufacturer | Bonus Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PocketPC
Sample project(s) | EListBox
Keywords | listbox, enhancement, column width, header, font

EListBox gives Extra formatting options for the standard SatForms PocketPC listbox control. It lets you set column headers, column justification, and column width at runtime. You can make columns hidden by setting their width to 0, thus achieving the visual effect of changing visible columns at runtime.

DocID: 10163 DocDate: 2006-10-02


DynamicInputArea

Product | DynamicInputArea
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS 5.x
Sample project(s) | DynamicInputArea
Keywords | dynamic input area, DIA, Graffiti, expandable, screen, 320x480, rotate

Some newer PalmOS devices include support for using the area of the screen that was formerly dedicated to the silk-screened Graffiti input area, and for rotating the display between tall (portrait) and wide (landscape) display orientations. This area of the screen can display the standard Graffiti input area, or other input options such as an onscreen keyboard, or it can be utilized by applications to display larger forms. This area of the screen is known as the Dynamic Input Area (DIA), and is sometimes called the "soft" or "virtual" Graffiti area.

Using the DynamicInputArea extension included with Satellite Forms 7, your PalmOS applications can now support the expandable screens and dynamic input area available on some Palm Powered devices.

For complete details and sample code, see the Satellite Forms KnowledgeBase article "How To support Expandable Screens in PalmOS applications".

DocID: 10171 DocDate: 2006-11-07


Alpha Keypad Control

Product | Alpha Keypad Control
Manufacturer | Antelligent Microsystems
Website | http://www.antelligent.com/pages/sf_extensions.html
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | keyboard, keypad, algha

The Alpha Keypad extension pops up a full sized keypad like the Full alpha-numeric keypad similar to the Numeric Keypad extension. See the Numeric Keypad extension for some of the features.

DocID: 10182 DocDate: 2006-11-07


Input Box

Product | Input Box
Manufacturer | Antelligent Microsystems
Website | http://www.antelligent.com/pages/sf_extensions.html
Version | 2.0
Platform | PalmOS and PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | input box, popup, dialog

Allows users to enter data from a dialog box. Displays 1 to 3 buttons with user definable captions. Can be linked to Satellite Forms edit controls. The input field can be disabled, allowing user to select from the buttons. The buttons and the form are automatically sized to hold the proper information. Many other features are demonstrated in the example.

DocID: 10183 DocDate: 2006-11-07


Numeric Keypad Control

Product | Numeric Keypad Control
Manufacturer | Antelligent Microsystems
Website | http://www.antelligent.com/pages/sf_extensions.html
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | numeric, keyboard, keypad, number, entry, popup

The Numeric Keypad extension pops up a full sized keypad like the calculator for the user to enter a number. This extension has global functions as well as a control that you can link to the edit controls in your Satellite Forms applications. This control also looks for events from the Symbol Technologies SPT-1500 and automatically hits the enter key, closing the form when a scan is received. This allows continuous scanning with the option of entering a quantity by hand. See the sample application NumKeypadSPT1500.sfa. This requires the Symbol extension and will only run on a SPT-1500. There is another sample that does not require the SPT-1500.

DocID: 10184 DocDate: 2006-11-07


Time Picker Control

Product | Time Picker Control
Manufacturer | Antelligent Microsystems
Website | http://www.antelligent.com/pages/sf_extensions.html
Version | 3.0
Platform | PalmOS and PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | time picker, popup

This control / extension is a pop-up that can be linked to an edit control and used to enter time. The pop-up can also be called from a script function. This control has many options such as: AllowEdits, EmptyOnly, Enabled, UseCurrTime, StartPos. Try the time picker and the sample application to see how the control works.

DocID: 10185 DocDate: 2006-11-07


ShowImage

Product | ShowImage
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PocketPC
Sample project(s) | ShowImageFile
Keywords | image, bitmap, BMP, JPG, GIF, PNG, graphic, logo

The ShowImage control provides Satellite Forms Pocket PC applications the ability to display common image files including JPG/GIF/PNG/BMP and more on the current form. Images are stretched/shrunk to fit the specified control rectangle. The ShowImage control can also act like a button control by handling pen taps if desired.

Control configuration settings include:

VISIBLE=[true|false]

Show or hide the control when the form opens. The default if the VISIBLE property is not set is True.

BORDER=[true|false]

Show or hide a border around the control when the form opens. The default if the BORDER property is not set is False.

DOBUTTONBEHAVIOR=[true|false]

Specify whether the control acts like a button when the form opens by responding to pen taps and providing an OnClick event. The default if the DOBUTTONBEHAVIOR property is not set is False.

IMAGEFILE=\path o\imagefile

Specify the image file to display when the form opens.

Script methods include:

SetVisible - Set VISIBLE property of ShowImage control (show or hide the control).

USAGE ShowImage1.SetVisible(true/false)

SetButtonBehavior - Set DOBUTTONBEHAVIOR property of ShowImage control.

USAGE ShowImage1.SetButtonBehavior(true/false)

SetBorder - Set BORDER property of ShowImage control.

USAGE ShowImage1.SetBorder(true/false)

SetImageFile - Set IMAGEFILE property of ShowImage control (which image to display).

USAGE ShowImage1.SetImageFile(imagefilepathname)

SetCtrlPosition - Set position (cx, cy) and size (cw, ch) of ShowImage control.

USAGE ShowImage1.SetCtrlPosition(cx, cy, cw, ch)

GetVisible - Get VISIBLE property of ShowImage control.

USAGE visible=ShowImage1.GetVisible()

GetButtonBehavior - Get DOBUTTONBEHAVIOR property of ShowImage control.

USAGE dobutton=ShowImage1.GetButtonBehavior()

GetBorder - Get BORDER property of ShowImage control.

USAGE border=ShowImage1.GetBorder()

GetImageFile - Get IMAGEFILE property of ShowImage control.

USAGE imagefile=ShowImage1.GetImageFile()

GetCtrlPosition - Get position and size of ShowImage control.

USAGE ctrlpos=ShowImage1.GetCtrlPosition()

The cx, cy, cw, and ch values are returned as a space delimited string like this: "xxx yyy www hhh". You can extract the elements using the Mid operator like this:

cx = int(mid(ctrlpos, 0, 3))

cy = int(mid(ctrlpos, 4, 3))

cw = int(mid(ctrlpos, 8, 3))

ch = int(mid(ctrlpos, 12, 3))

ShowImageFile - Show an image file at the specified position by painting it directly onto the form (not as a custom control).

USAGE ShowImageFile(ImageFilePath, x, y, w, h)

This non-control method does not need to be prefixed with a control name because it can be used without having the SFX custom control on the form.

DocID: 10199 DocDate: 2008-05-28


SFInkView

Product | SFInkView
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00012.htm
Version | 2.12
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Signature, ink, image, drawing

Sample Application

SFInkView is a replacement for the builtin SatForms ink control. This one lets you manage the control much easier and also transfers the ink to your desktop as a simple BMP (via a custom conduit).

SFInkView 2.0 is a major enhancement over V1.x, offering the following improvements:

  • PalmOS5 compatible
  • PalmOS5 High Density display compatible
  • Sony HiRes compatible
  • saves images as monochrome BMP files regardless of device screen depth
  • does not force colour devices into monochrome mode like SFInkView 1.0
  • BMPs can be stored in RAM (like V1.0), on VFS expansion cards, or embedded in SatForms 4.1+ binary fields
  • BMP files can be transferred from the PC to the Palm if you use the VFS or binary field storage methods or via uuencoded text (the Conduit can only be used to transfer BMPs stored in RAM from the Palm to the PC)
  • BMP files can be converted to/from plain ASCII text via uuencoding/uudecoding functions, allowing for transmission over TCP/IP links including email, as well as storage in character fields
  • BMP files can be copied back and forth between RAM and VFS storage
  • the SFInkView Conduit (used only for BMP files stored in RAM) allows you to specify a global BMP file save path on the PC, and can autodelete images from the device after they are synced
  • a function is provide to delete all BMP files from RAM without needing to know the filenames

DocID: 10044 DocDate: 2005-07-01


SFSplashPhoto

Product | SFSplashPhoto
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00101.htm
Version | 2.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Image, photo, picture, bitmap, JPG

Sample Application

SFSplashPhoto is a Satellite Forms plug-in extension that enables you to view JPG images from a SatForms application via the SplashPhoto image viewer. JPG images files stored in main RAM and on VFS expansion cards, as well as JPG images embedded in SF table binary fields are supported.

SFSplashPhoto V2.0 works with SplashPhoto 3.63 and higher, available from http://www.splashdata.com , and requires that SplashPhoto be installed on the Palm device in order to work. It works by launching SplashPhoto with the image you specify automatically displayed, and when the screen is tapped, your application is relaunched. It is important to note that if you want your app to return to the spot where the user left off, you must manage that in your app startup scripts -- it is not automatic.

It is also possible to have the user stay in SplashPhoto once it is launched, and it is also possible to launch a different app than the one the user started from, after they view the image in SplashPhoto.

SplashPhoto 4.x now supports pan and zoom while viewing images, and supports HiRes displays.

DocID: 10045 DocDate: 2005-07-01


SFBitmapView

Product | SFBitmapView
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00067.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Bitmap, photo, image, picture, color

Sample Application

SFBitmapView is a custom SFX control that provides colour and greyscale bitmap display capabilities for your SatForms applications! Because it is a custom control, it integrates directly into your forms like other native controls. You can configure the control to select which image to display from a table datasource, an edit control, or directly via a script command.

Numerous script methods are also provided to give you complete runtime management of the control, including:

  • change the control size at runtime
  • change the control position on the form at runtime
  • change the control visibility at runtime
  • change the image being displayed at runtime
  • change the image frame type at runtime
  • scroll the image inside the control at runtime

In fact, using the script methods provided with the control, you can even achieve decent animation. The SFBitmapView control also provides optional OnClick scripting support.

SFBitmapView supports SatForms 3.0 and higher, and PalmOS 3.0 and higher. Yes, you can add colour bitmap support to your SatForms 3.x application!

SFBitmapView includes a licensed copy of PalmRI, a simple to use program to import images into the format that SFBitmapView uses (standard PalmOS Bitmap resource format). A full featured sample application and sample collection of bitmaps is included, to test the extension features and help you learn by example to make the best use of it.

DocID: 10061 DocDate: 2005-07-01


SFFireViewer

Product | SFFireViewer
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00105.htm
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Photo, image, picture, bitmap, video, browser, web

Sample Application

SFFireViewer enables your SatForms application to view large images, videos, and browse websites. Your app can:

  • display images larger than the Palm screen, and pan around the image using the stylus
  • display full motion videos (colour or greyscale) on your Palm with peak viewing speed of up to 25 frames/second
  • browse websites, and click on links to show web page images

SFFireViewer works with FireViewer to provide these features. FireViewer is a product of Firepad, available at http://www.firepad.com , and the FireViewer Suite allows you to convert images & videos from your desktop PC to be viewed on the Palm. SFFireViewer gives you the ability to launch these FireViewer images & videos and the FireViewer web browser from your SatForms application. When the user is finished looking at the image/video/website, your SatForms application is automatically relaunched.

DocID: 10043 DocDate: 2005-07-01


SFJPGView

Product | SFJPGView
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00120.htm
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | JPG, JPEG, image, photo, bitmap, picture

Sample Application

SFJPGView is a custom SFX control that provides JPG image display capabilities for your SatForms applications. Because it is a custom control, it integrates directly into your forms like other native controls. Numerous script methods are also provided to give you complete runtime control over the control, including size, position, visibility, the image being displayed, visibility, and more. The SFJPGView control also provides optional OnClick scripting support.

JPG images may be stored in the Palm's internal memory or on VFS expansion cards (SD, MMC, or MemoryStick cards).

SFJPGView supports SatForms 3.0 and higher, and PalmOS 3.5 and higher. On OS 3.5 and 4.x devices, 68K assembler code is used to optimize the JPG decoding speed. On OS5 ARM-based devices, a PNO (Pace Native Object, formerly called ARMlets) is used for nearly instantaneous JPG decoding and display. For devices that support high density displays (most OS5 devices and the Tungsten|W), the image is drawn in high density mode.

DocID: 10035 DocDate: 2005-07-01


Bitmap

Product | Bitmap
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS
Sample project(s) | Res and Bitmap View
Keywords | Bitmap

Bitmap is an extension which allows one to modify, view, and create bitmaps in Satellite Forms.

NOTE: This extension is not supported on PalmOS 5 devices.

Summary

Bitmap allows the developer access to the Palm OS® Bitmap.h API. Through this extension one can modify, create and display bitmaps. This extension must be used in conjunction with the Resource Extension.

Parameters

BitmapValue

1 – width

2 - height

3 – row size in bytes

4 – pixel size

5 - version

6 – next depth offset

7 – transparent index

8 – compression type

BitDepth

1 – one bit depth (monochrome)

2 – two bit depth (4 grayscale)

4 – four bit depth (16 grayscale)

8 – eight bit depth (256 colors)

Scripts API

The following methods are accessible from the scripting language. About() is the only private method.

Usage: [Name of Method]

Example of usage: BV_GetResPointer()

About()

Show extension's about box.

BV_Bitsize()

Return the current bitmap's bit size.

BV_ColorTableSize()

Return the bitmap's color table size.

BV_Compress()

Compress the bitmap.

BV_Create(integer, integer, integer, integer)

Creates a bitmap structure.

Example of usage: BV_Create(width, height, BitDepth, UseColorTable). BitDepth must be 1, 2, 4, or 8.

Returns TRUE if successful.

BV_CreateBitmapWindow()

Creates an offscreen bitmap window. Returns TRUE if successful.

BV_ColorTableEntries()

This method does nothing right now.

BV_Delete()

Does nothing right now.

BV_DeleteWindow()

Deletes the offscreen window and sets the current drawing window to the previous drawing window.

BV_DrawBitmap(integer, integer)

Draws the current bitmap to the screen at the position specified.

Example of usage: BV_DrawBitmap(X_Coord, Y_Coord).

BV_GetBits()

Gets the current bitmap's data.

BV_GetColorTable()

Gets the color table data.

BV_GetResPointer(integer)

Get the current open resource's pointer from Puma's Resource Manager. Always call this first when grabbing a resource from the Resource Extension. Example of usage: BV_GetResPointer(RM_GetResPtr).

BV_GetWinBitmap()

Grabs the current drawing window and returns it as a bitmap.

BV_ISROM35()

Checks to see if the current handheld has OS 3.5.

BV_ModifyBitmapVaule(integer, integer)

Changes the corresponding bitmap value and returns the previous value. Be very careful in modifying bitmap values as modifying a value improperly could lead to potential crashes.

Example of usage: PrevValue = BV_ModifyBitmapValue(BitmapValue, 29).

BV_PaintBitmap(integer, integer)

Draws the current bitmap to the screen. Use this one if the bitmap has its own color table.

Example of usage: BV_DrawBitmap(X_Coord, Y_Coord).

BV_ReleaseBitmap()

Detaches Bitmap Extension from pointer grabbed by BV_GetResPointer. Erases current Bitmap pointer too. Remember, this is no substitute for releasing the resource.

BV_ReturnBitmapValue(integer)

Returns the corresponding bitmap value. See BitmapValue in Parameters above.

Example of usage: Value = BV_ReturnBitmapValue(BitmapValue).

BV_SetWindowBounds(integer, integer, integer, integer, integer)

Sets the offscreen window's bounds.

Example of usage: BV_SetWindowBounds(TopLeftX, TopLeftY, HorExtent, VerExtent) where the first two numbers are coordinates and the last two numbers are widths and heights respectively.

BV_Size()

Returns the size of the current bitmap.

BV_WinSetDrawWindow()

Sets the offscreen window as the current drawing window.

DocID: 10131 DocDate: 2005-07-18


SFFindFiles

Product | SFFindFiles
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00125.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | File, search, list, find, directory, card, SD, VFS

Sample Application

SFFindFiles enables you to easily search for files matching your given criteria in either the Palm's internal memory or on an expansion card. You can search by filename or partial filename (eg ".jpg"), by creatorID, or by file type (eg. "Foto"). SFFindFiles will allow you to gather a list of matching files, and get details about them including file attributes, size in bytes, creation date, etc. You can also generate a list of directories on an expansion card, enabling you to browse files on a directory by directory basis.

SFFindFiles is probably most useful as a "helper" for other extensions that rely on file access, for example the SFJPGView extension that lets you view JPG files, or SFTextFile that enables you to perform all kinds of file related operations. Using SFFindFiles, SFTextFile , SFJPGView , and SFBeamerPRO together, for example, you could build an app to browse for files in internal memory and expansion cards, copy files back and forth between storage locations, beam selected files individually or as a package, rename or delete files, display JPG files, display text files, etc. SFFindFiles provides the browsing capability to search for files to perform the various other operations on.

DocID: 10034 DocDate: 2005-07-01


SFTextFile

Product | SFTextFile
Manufacturer | PalmDataPro
Website | PalmOS: http://www.palmdatapro.com/itm00116.htm PocketPC: http://www.palmdatapro.com/itm00152.htm
Version | 1.5
Platform | PalmOS and PocketPC (separate products)
License | Commercial, per developer, royalty free redistribution
Keywords | Text, CSV, copy, backup, SD, VFS

PalmOS Sample Application

PocketPC Sample Application

SFTextFile enables you to read and write standard text files on the PDA from your SatForms application. The text files can be stored in the PDA's internal memory or on an expansion memory card. As well, some additional utility functions are provided to delete, rename, or copy any files. In addition to the main function to read and write text files, SFTextFile also enables you to read and write binary files in conjunction with the Memory extension included with SatForms.

Some potential applications for SFTextFile include:

  • exporting data from your application to standard CSV text files
  • creating backup copies of important files or databases (including SatForms table databases) in internal memory or on an expansion card

Text files created in the Palm's internal memory are backed up to the PC at Hotsync by the standard backup conduit. There is a utility program included that will convert these backed up files (which are saved to the PC as PDB files) to standard PC text files. It will also take PC text files and convert them into "text PDB" files for loading back onto the Palm where they can be read and written to by the SFTextFile extension.

Text files stored on the expansion memory card can be transferred directly back and forth to a PC using a USB card reader, and there is no conversion necessary.

DocID: 10040 DocDate: 2006-03-06


SF Zipper

Product | SF Zipper
Manufacturer | PDA-Tech
Website | http://www.pda-tec.com/Sfext.shtml
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | zip, unzip, compress, archive

Pda Tech's SF Zipper is an easy and powerful Extension for creating Zip packages for PalmOS files.

Simply put files together and save it as one zipped archive :

  • Saving memory space
  • Keeping related files together
  • Saving transfer time over slow connections, Internet, Modem,gprs etc.
  • Minimizing Hotysnc transfer times from PDA to PC
  • Activex on the desktop to UnZip them, convert Jpg or text files to desktop format

Perfect solution for Sending files from Palm devices to Desktop.

DocID: 10088 DocDate: 2005-07-12


SFFlashBack

Product | SFFlashBack
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00086.htm
Version | 1.2
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Backup, FlashROM, FlashPro, BackupPro

Sample Application

SFFlashBack is an SFX plugin that enables you to manage the backing up of files to and restoring of files from the nonvolatile flash memory area on supported Palm devices. SFFlashBack relies on the HandEra BackupPro (or FlashPro) application to actually perform the flash memory operations, and provides functions to manage the BackupPro/FlashPro operations from your Satellite Forms application.

You must also purchase and install BackupPro/FlashPro onto the Palm device for SFFlashBack to work. To purchase BackupPro or FlashPro, visit the HandEra website at http://www.handera.com and click on Software, or visit Symbol at http://software.symbol.com . A list of supported Palm devices is also maintained on the HandEra website.

SFFlashBack provides over 20 user methods to manage all aspects of moving files in and out of the flash memory area. It is an ideal companion to the SFArchiver extension also available from PalmDataPro.

DocID: 10051 DocDate: 2005-07-01


SFArchiver

Product | SFArchiver
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00068.htm
Version | 1.9
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | archive, installer, single prc, package

Sample Application

SFArchiver is a SatForms plugin extension that enables you to bundle specified Palm files together into a single-prc self-extracting archive. This archive is a handy tool for both program installation and on-device file-backup purposes.

Features include:

Installation Enhancement Utility

As a SatForms developer you are aware that most SF applications require many files to be installed on the Palm. There is the RDK engine, your program pdb file, all of the data table pdb files, and probably a few extensions. SFArchiver lets you take all of those files and package them up into a single-prc self-extracting archive.

Now you can distribute standalone (non-conduit-syncing) apps significantly easier, since you do not need to include any kind of installation program. Just supply the single prc which users drop onto their Palm using the standard Palm Install Tool.

When the archive icon is tapped by the user, it self extracts into all of the files you packaged together, and then optionally runs an application program you specify (most likely the application they just installed from your archive). The archive file is automatically deleted when the files have been extracted (this is optional), so it is a simple "install it and forget it" process.

Of course, you can use these single-prc archives for installation of applications that do sync with a desktop or server database (not just standalone apps), but in those cases you still need an installation program on the PC to install the conduit.

On-Device Backup Utility

The second major application of the SFArchiver extension is to let you perform on-device archiving of your files as a backup tool. Using SFArchiver, you could program automatic data/program archiving at scheduled intervals, perhaps after so many new records have been added, or perhaps every x number of days, or according to whatever criteria you deem appropriate. The archiving process can be fully automated, eliminating the need for user input.

The self-extracting backup archive can be unpacked by launching it via script from your SF app, using the LaunchApp command included in the extension. This command lets you specify which app to launch at runtime, rather than just at compile time.

A sample application is included that demonstrates all of the features of the extension. The sample app can also be used as the tool for creating archives of your application for easier installation.

DocID: 10060 DocDate: 2005-07-01


PalmoPC

Product | PalmoPC
Manufacturer | Palmosoft SRL
Website | http://www.palmdatapro.com/itm00076.htm
Version | 1.2
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | data, text, csv, compression, sync

PalmoPC is a Satellite Forms extension that provide tables updates from PC hotsync without writing code or conduit. It has two programs:

1) The TXTTOPDB console program who makes packing and compression of the standard TXT files (CSV or fixed-length). In output there is a PALM FILE (.PDB), optional you can AUTOMATICALLY INSTALL ON THE DEVICE (at next hot sync). See details for all features (incremental files, too).

2) An extension for updating tables (based on instruction and tables given to TXTTOPDB). The extension update tables taking all update file you would send to user (ordered by date), up to double key-searching for replacing - modifying / deleting / adding records.

Through COMPRESSION AND PACKING, in no more than a minute you can send a lot of record (you could wait without it one hour and more!). With fixed-record length or with char-separated-value you can make your system synchronization EVEN WITH AN HOST OR AS400 SYSTEM!!!

Another advantage is that even with AN UNCOMPLETED TRANSMISSION, YOU DON'T REACH YOUR APPLICATION TO BLOCK AT START, as you can transfer uncomplete SF table.

DocID: 10116 DocDate: 2005-07-12


Data Manager

Product | Data Manager
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS
Sample project(s) | View It!, Beam It!, Resource
Keywords | data, file, database

The Data Manager extension provides access to several of the Palm OS Data Manager API functions.

Parameters

Bit flags for database attributes:

DmHdrAttrResDB &H0001 - resource database attribute

DmHdrAttrReadOnly &H0002 - read-only database attribute

DmHdrAttrAppInfoDirty &H0004 - dirty records attribute

DmHdrAttrBackup &H0008 - backup bit attribute

DmHdrAttrOKToInstallNewer &H0010 - can be installed over

DmHdrAttrResetAfterInstall &H0020 - reset handheld after installing attribute

DmHdrAttrCopyPrevention &H0040 - prevents copying the file

DmHdrAttrStream &H0080

DmHdrAttrHidden &H0100 - hidden file attribute

DmHdrAttrLaunchableData &H0200

DmHdrAttrOpen &H8000

Please see the document titled "Data and Resource Manager" in Palm's "KnowledgeBase" for more information on these attributes.

Scripts API’s

All methods are global.

Usage: [Name of Method]

Example of usage: PDM_About()

PDM_About()

Shows about box.

PDM_DeleteDb(integer, integer)

Deletes the specified database.

Example of usage: err = PDM_DeleteDB(CardNo, LocalID).

PDM_GetLastError()

Returns the last error code.

PDM_GetDbName()

Returns the name of the LastDb cache item.

PDM_GetDbBckUpDate()

Returns the last back up date of LastDb cache

PDM_GetDbBckUpDateStr

Returns the last back up date of LastDb cache as a string

PDM_GetDbCardNo()

Returns the card no. of LastDb cache

PDM_GetDbCrDate()

Returns the creation date of LastDb cache

PDM_GetDbDataBytes()

Returns the number of bytes of the data portion of LastDb cache

PDM_GetDbModDate()

Returns the modification date of LastDb cache

PDM_GetDbModDateStr

Returns the modification date of LastDb cache as a string

PDM_GetDbModNum()

Returns the number of modifications of LastDb cache

PDM_GetDbSortInfoID()

Returns the sort info ID of LastDb cache

PDM_GetDbType()

Returns the type of LastDb cache

PDM_GetDbNumRecords()

Returns the number of records contained in LastDb cache.

PDM_GetDbTotalBytes()

Returns the number of bytes of LastDb cache

PDM_GetDbVersion()

Returns the version of LastDb cache

PDM_GetNextDb()

Consecutive calls to this API will traverse all database files matching the search criteria.

PDM_GetNumberOfMatchingDb(string, string, Boolean)

Returns the number of matching DBs.

Example of usage: PDM_GetNumberOfMatchingDb(CreatorID, TypeID, Version)

PDM_LoadDb(integer, integer)

Loads the specified Db into the LastDb cache.

Example of usage: PDM_LoadDB( LocalID, CardNo )

PDM_NewDbIterator(string, string, Boolean)

Starts a new search query. Use this method to set the paramters for your next search. Use PDM_GetNexDb() or PDM_GetNumberOfMatchingDb() to grab the files matching the search criteria.

Example of usage: PDM_NewDbIterator( CreatorID, TypeID, Latest_Version ) where 'CreatorID' specifies the creator ID to search for, 'TypeID' specifies the type of file to search for, and 'Latest_Version' can specify the version of the file. Each of these can be set to "". In order to search for all files simply set all the parameters to "".

PDM_SetDbAttributes(integer, integer, integer)

Sets the attributes of the specified database file. See the Parameters section above for information on attributes.

Example of usage: err = PDM_SetDbAttributes(LocalID, CardNo, DBAttributeToSet)

PDM_Version()

Returns the version of this extension.

DocID: 10142 DocDate: 2005-07-18


DmSyncDatabase

Product | DmSyncDatabase
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | no
Platform | PalmOS 5.x
Sample project(s) | DmSyncDatabase
Keywords | DmSyncDatabase, NVFS, non-volatile, memory, commit

The DmSyncDatabase extension is designed for use on PalmOS devices with the new Non Volatile File System (NVFS) such as the T5, TE2, Treo650, and LifeDrive.

The DmSyncDatabase extension allows Satellite Forms applications to commit their table databases to NVFS storage on command, instead of waiting until the application closes (which is the way the NVFS storage system works by default). Functions are provided to commit a specified SatForms table database, or to commit all open databases on the Palm.

A sample application is included that demonstrates how to use the extension functions.

The DmSyncDatabase functions can be safely called on any PalmOS device, as they are silently ignored on devices that are not NVFS-enabled.

DocID: 10168 DocDate: 2006-10-02


Sapphire GZIP utility

Product | Sapphire GZIP utility
Manufacturer | Sapphire Solutions Ltd.
Website | http://www.sapphire-solutions.co.uk/products/gzip/
Version | 4.1
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | zip, gzip, compress, compression, decompress

Using the Sapphire GZip Utility, data can be compressed on the server in the gz format or a multi-file zip file. This can be decompressed on the client device once it has been downloaded. Alternatively, it could be used to compress certain parts of your data on the device if it isn’t being used frequently, giving the device more memory to operate with.

The Sapphire GZip Utility makes file compression and decompression simple with the following features:

  • Compress a file into the GZ file format
  • Decompress a GZ file onto the device
  • Compress multiple files into the Zip file format
  • Decompress a Zip file on to the device

DocID: 10179 DocDate: 2006-11-14


CommitDatabase

Product | CommitDatabase
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PocketPC
Keywords | table, cache, database, commit, memory, write, storage

The CommitDatabase extension is intended for use with Satellite Forms 7 PocketPC applications that use the PDB device database format. The PocketPC PDB database format uses caching of database record data for performance reasons, and cached records are written to storage when the application exits. If the device is reset while the Satellite Forms 7 PocketPC PDB application is running, data may be lost because the database changes are not committed to storage.

The CommitDatabase extension provides a function to commit database changes to storage on command, enabling you to increase your application data security in the event of a system reset or power loss.

The CommitDatabase function can be called on individual application data tables on an as needed basis. Database changes are automatically written to storage when an application closes.

DocID: 10189 DocDate: 2006-11-14


SF-HTTP

Product | SF-HTTP
Manufacturer | PalmDataPro
Website | PalmOS http://www.palmdatapro.com/itm00140.htm PocketPC http://www.palmdatapro.com/itm00147.htm
Version | 2.0
Platform | PalmOS (V2.0) and PocketPC (V1.0)
License | Commercial, per developer, royalty free redistribution
Keywords | http, tcpip, web, get, post, wireless, https, SSL

SF-HTTP is an SFX plugin that allows SatForms applications to transfer data to and from an HTTP server, over a TCP/IP connection. Versions are available for both the PalmOS and PocketPC platforms. It implements an HTTP client capable of GET and POST functions. The PalmOS version can also be used to implement your own TCP/IP socket protocol instead of HTTP, with "raw" socket read and write functions.

SF-HTTP enables you to send and receive data via HTTP over any TCP/IP connection on the device, such as a dialup modem PPP connection, CDMA/GPRS connection, or 802.11 wireless LAN. It uses the standard HTTP protocol to communicate with most common HTTP servers.

NOTE: SF-HTTP is not a web browser! It does not interpret or display HTML formatting at all. It is an HTTP client for transferring data back and forth to a server over TCP/IP using the HTTP protocol.

It supports HTTP Basic Authentication (username and password).

SF-HTTP 2.0 for PalmOS supports the SSL-secured HTTPS protocol! SF-HTTP 2.0 for PalmOS also supports the transfer of binary files, enabling you to download PRC/PDB and other files directly to your PalmOS device.

SF-HTTP for PocketPC supprts the standard HTTP protocol only (not secure HTTPS). SF-HTTP for PocketPC supports the transfer of text data, but does not support the transfer of binary files.

DocID: 10024 DocDate: 2006-10-02


SF-FTP

Product | SF-FTP
Manufacturer | PalmDataPro
Website | PalmOS: http://www.palmdatapro.com/itm00136.htm PocketPC: http://www.palmdatapro.com/itm00155.htm
Version | 1.2
Platform | PalmOS, PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | FTP, file transfer, internet, TCPIP, send, receive, upload, download, wireless

SF-FTP is an SFX plugin that allows SatForms applications to transfer files to and from an FTP server, over a TCP/IP connection. Files can be transferred to and from the device's internal memory as well as an expansion memory card.

Versions of SF-FTP are available for the PalmOS platform and the Windows Mobile/PocketPC platform.

SF-FTP enables you to send and receive files via FTP over any TCP/IP connection on the device, such as a dialup modem, CDMA/GPRS connection, or 802.11 wireless LAN. It uses the standard FTP protocol to communicate with most common FTP servers.

SF-FTP for PalmOS supports the transfer of standard Palm databases (PRC/PDB), streamed files in internal memory (such as JPG files, SFInkView BMP files, or text files created with SFTextFile), and all files on a memory card. SF-FTP for PocketPC supports the transfer of all file types to internal memory and memory cards.

DocID: 10027 DocDate: 2008-05-28


SFEmail-PPC

Product | SFEmail-PPC
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00109.htm
Version | 1.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | Email, PocketPC

Sample Application

SFEmail-PPC is an SFX plugin for the PocketPC 2002 platform that enables you to create new email messages that are placed in the outbox of the standard PocketPC 2002 Inbox application. SFEmail-PPC relies on a MailWrapper DLL from Effective Computer Solutions (ECS) in Australia to handle the mail creation operations, and provides an interface to the DLL's send mail function. This DLL was written for use with Microsoft Embedded VB, and SFEmail-PPC enables it to be used to send mail from SatForms.

You must purchase and install the ECS MailWrapper DLL onto the PocketPC 2002 device for SFEmail-PPC to work. If you try to use SFEmail-PPC on a device without having the MailWrapper DLL installed, you will receive an error result from the function call. To find out more about the ECS MailWrapper DLL and download a trial version, visit their website at http://www.ecspl.com.au . If you use the trial version of the MailWrapper DLL, you will see a registration notice when the function executes. When you purchase the DLL, ECS provides you with a registration key that you use as a parameter in SFEmail-PPC's SendEmail() function, preventing the registration notice from being displayed.

Once the email messages are placed in the outbox, they can be sent manually by launching the Inbox application and tapping on the Send/Receive icon, or they can be sent automatically at the next ActiveSync.

DocID: 10069 DocDate: 2005-07-01


SFVersaMail

Product | SFVersaMail
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00118.htm
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Email, Versamail, file attachment

Sample Application

SFVersaMail is a SatForms plug-in extension that enables you to send email messages using VersaMail. You can deposit a message into the VersaMail outbox, with the recipients, subject, and body text filled in, and optionally attach a file to the message as well.

The V1.1 release addresses compatibility issues with VersaMail 3.x that is included on several newer Palm devices, including the Treo 650, Treo700p, LifeDrive, and TX.

When you use the SendVersaMail method, a new outgoing email message is created, with the To, CC, BCC, Subject, and message Body fields filled in with the information you passed in to the extension. This message is silently deposited into the VersaMail Outbox, where it will be sent the next time you send and receive mail in VersaMail. This function is supported up to VersaMail version 2.7.1.

When you use the SendVersaMailWithFile method, a new outgoing email message is created, with the To, CC, BCC, Subject, and message Body fields filled in with the information you passed in to the extension, and the specified file is attached to the email. This message with file attachment is silently deposited into the VersaMail Outbox, where it will be sent the next time you send and receive mail in VersaMail. This function is supported up to VersaMail version 2.7.1.

A SendFileByMail function is also included. It allows you to specify a file to send as an attachment, then brings up an email compose form where you manually fill in the recipient address and subject. This function can be used on PalmOS 4.0 and higher devices, and can also be used with SnapperMail instead of VersaMail.

NOTE: SFVersaMail supports the sending of attached files in their native document formats, so the recipient does not need to do any file conversions to use the files. For example, text files created with SFTextFile arrive as regular text files in the recipient's email. JPG photos attached to an email arrive as standard JPG images, SFInkView BMP files arrive as regular BMPs, etc. Palm PRC and PDB databases can also be sent as attachments, of course.

The SendVersaMailHelper function (new in V1.1) creates an outgoing email in VersaMail and switches to the mail compose screen in VersaMail where the user can edit the message and then must tap on the Send, Outbox, Drafts, or Cancel button to complete the process. The user must then manually restart your application. This function is supported in VersaMail 3.0 and higher.

SFVersaMail supports Palm VersaMail 2.0 and higher. Due to a limitation of VersaMail, file attachments cannot exceed 60KB in size with the SendVersaMailWithFile function.

DocID: 10039 DocDate: 2006-10-02


NetPrefs

Product | NetPrefs
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00133.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | network, preference, hotsync, sync, connections, services

NetPrefs is an extension that enables SatForms applications to manage network services, connections, and hotsync preferences, and enables you to trigger a network hotsync.

With NetPrefs you can do all of the following programmatically:

  • Manage Connections
  • Test if a named connection exists
  • Make a named connection active
  • Create a new connection
  • Delete a named connection
  • Set properties for a named connection
  • Launch the Connections system preferences panel
  • Manage Network Services
  • Test if a named network service exists
  • Make a named network service active
  • Create a new network service
  • Set properties for a named network service
  • Launch the Network system preferences panel
  • Manage Hotsync Preferences
  • Launch a network hotsync
  • Get/Set the Hotsync Pref for Local vs Modem
  • Get/Set the Hotsync Pref for Network vs Modem
  • Get/Set the Hotsync Pref for Primary PC Name
  • Get/Set the Hotsync Pref for Primary PC IP Address
  • Get/Set the Hotsync Pref for Primary PC Netmask

DocID: 10030 DocDate: 2005-07-01


Internet Extension

Product | Internet Extension
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS
Sample project(s) | SMTP
Keywords | TCPIP, socket, data, internet, network, send, receive, port, wireless

NOTE: For the PocketPC platform, see the PocketPC Winsock extension which is equivalent to this PalmOS extension.

The Internet Extension allows Satellite Forms applications to connect to TCP/IP based networks (such as the Internet). It is a minimal implementation of the Berkeley sockets standard. With the Internet Extension your application can connect to hosts and send/receive data.

Scripts API

The following methods are accessible from the scripting language. Please note that this extension is recommended for those developers who understand the Berkeley socket standard. These methods are all global unless noted.

Global Method

Example of usage: [Name of method]

Example of usage: OpenNetLib()

Private Method

Example of usage: [Name of extension].[Name of method]

Example of usage: Extensions(“Internet Extension”).About()

About()

A private method that shows the extension's about box.

Close(integer)

Closes a socket. Returns: zero for success, non-zero for an error condition.

Example of usage: err = Close( socketRef ), where socketRef is a valid socket reference.

CloseNetLib(integer)

Closes the net library. Returns: zero for success, non-zero for an error condition.

Example of usage: err = CloseNetLib( immediate ), where 'immediate' is 0 or 1 indicating whether the connection should be dropped immediately (it's preferable to leave it open so the user can switch to another network app).

Connect(integer, string, integer)

Connects a socket to a specified address and port. Returns: zero for success, non-zero for an error condition.

Example of usage: err = Connect( socketRef, addr, port ), where 'socketRef' is a valid socket reference, 'addr' is a valid dotted decimal IP address and 'port' is the port number to connect to.

ConvertDottedToInetAddr(string)

Converts a dotted decimal address (aaa.bbb.ccc.ddd) into a 32-bit network address.

ConvertInetAddrToDotted(string)

Converts a 32-bit network address into a dotted decimal address (aaa.bbb.ccc.ddd).

GetDomainName()

Retrieves the default domain added to names before DNS lookups occur.

GetHostByAddr(string)

Performs a reverse DNS lookup on the passed IP address, returning the name of the host machine. Returns: a string formatted as <errorCode>,<hostName>.

Example of usage: returnValue = GetHostByAddr( hostIPAddr )

GetHostByName(string)

Performs a DNS lookup on the passed host name. Returns: a string formatted as <errorCode>,<ipAddress>.

Example of usage: returnValue = GetHostByName( hostName )

GetLastError()

Retrieves the last error encountered by a SFSockets method. Call this when a method returns a non-zero error code Returns: a Palm OS error code indicating the most recent error.

Example of usage: err = GetLastError()

GetRecvTimeout()

Retrieves timeout value for Receive operations. Returns: the current timeout period for Receive operations.

Example of usage: timeout = GetRecvTimeout()

GetSendTimeout()

Retrieves timeout value for Send operations. Returns: the current timeout period for Send operations.

Example of usage: timeout = GetSendTimeout()

GetServiceByName(string, string)

Attempts to return the port number associated with a specified service.

Example of usage: portNumber = GetServiceByName( serviceName, protocol ) where serviceName is one of the following: 'echo', 'discard', 'daytime', 'qotd', 'chargen', 'ftp-data', 'ftp', 'telnet', 'smtp', 'time', 'name', 'finger', 'pop2', 'pop3', 'nntp', 'imap2'. Currently the only protocol you can use is 'tcp'. Returns -1 to indicate an error.

GetSocketLinger(integer)

Gets the linger option for a socket. Returns: a string formatted as <errorCode>,<lingerOn>,<lingerTime>.

Example of usage: returnVal = GetSocketLinger( socketRef ), where 'socketRef' is a valid socket reference.

OpenNetLib()

Opens the net library. Returns: zero for success, non-zero for an error condition.

Example of usage: err = OpenNetLib()

OpenNetworkPrefPanel()

Opens the standard Network Preference panel.

Receive(integer, string, integer)

Receives data from a socket in one of two modes - either a defined number of characters, or up til a specified character. Returns: a string formatted as <errCode>,<dataLen>,<data>.

Example of usage: data = Receive( socketRef, termChar, numToRead ), where 'socketRef' is a valid socket reference, 'termChar' is the character to terminated the receive on, and 'numToRead' is the number of characters to read. You can only specify one of either 'termChar' or 'numToRead' - the other must be -1.

Send(integer, string)

Sends data to a socket. Returns: either the number of bytes sent (>0), 0 indicating the socket was shutdown or -1 for an error condition.

Example of usage: sent = Send( socketRef, data ), where 'socketRef' is a valid socket reference and data is a string containing the data you want to send.

SetRecvTimeout(integer)

Sets timeout value for Receive operations. Returns: nothing.

Example of usage: SetRecvTimeout( newValue ), where 'newValue' indicates the number of seconds before the timeout.

SetDomainName(string)

Sets the default domain name added to names before DNS lookups occur.

SetSendTimeout(integer)

Sets timeout value for Send operations. Returns: nothing

Example of usage: SetSendTimeout( newValue ), where 'newValue' indicates the number of seconds for the timeout.

SetSocketLinger(integer, integer, integer)

Sets the linger option on a socket. Returns: zero for success, non-zero for an error condition.

Example of usage: err = SetSocketLinger( socketRef, lingerOn, lingerTime), where 'socketRef' is a valid socket reference, 'lingerOn' is either 1 or 0 indicating whether the socket should linger, and 'lingerTime' is the time in seconds that a socket should linger.

Shutdown(integer)

Shuts down a socket. Returns: zero for success, non-zero for an error condition.

Example of usage: err = Shutdown( socket )

SKT_GetErrorString(integer)

Convert the specified error to string.

Example of usage: SKT_GetErrorString(ErrorNumber)

SKT_SetAutoOffTime()

Resets the automatic sleep timer. 0 means do not sleep. Returns the previous value.

Socket()

Creates a new socket. Returns: a socket reference or -1 indicating an error condition.

Example of usage: socketRef = Socket()

DocID: 10136 DocDate: 2005-07-18


PocketPC Winsock

Product | PocketPC Winsock
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PocketPC
Sample project(s) | TCPIP Sockets
Keywords | TCPIP, sockets, winsock, data, internet, network, wireless, send, receive

This extension provides TCPIP Socket functions for PocketPC, equivalent to the Internet extension for PalmOS .

For a higher level implementation of the HTTP protocol, see SF-HTTP .

Scripts API

The following methods are accessible from the scripting language. Please note that this extension is recommended for those developers who understand the Berkeley socket standard. These methods are all global unless noted.

Global Method

Example of usage: [Name of method]

Example of usage: OpenNetLib()

Private Method

Example of usage: [Name of extension].[Name of method]

Example of usage: Extensions(“Internet Extension”).About()

About()

A private method that shows the extension's about box.

WSAStartup

Initializes Winsock for use.

Returns: zero for success, non-zero for an error condition.

Usage: err = WSAStartup()

WSACleanup

De-initializes Winsock.

Usage: WSACleanup()

Socket

Creates a new socket.

Returns: a socket reference or -1 indicating an error condition.

Usage: socketRef = Socket()

Connect

Connects a socket to a specified address and port.

Returns: zero for success, non-zero for an error condition.

Usage: err = Connect( socketRef, addr, port ), where socketRef is a valid socket reference, addr is a valid dotted decimal IP address and port is the port number to connect to.

Close

Closes a socket.

Returns: zero for success, non-zero for an error condition.

Usage: err = Close( socketRef ), where socketRef is a valid socket reference.

Send

Sends data to a socket.

Returns: either the number of bytes sent (>0), 0 indicating the socket was shutdown or -1 for an error condition.

Usage: sent = Send( socketRef, data ), where socketRef is a valid socket reference and data is a string containing the data you want to send.

Receive

Receives data from a socket in one of two modes - either a defined number of characters, or up til a specified character.

Returns: a string formatted as <errCode>,<dataLen>,<data>.

Usage: data = Receive( socketRef, termChar, numToRead ), where socketRef is a valid socket reference, termChar is the character to terminated the receive on and numToRead is the number of characters to read. You can only specify one of either termChar or numToRead - the other must be -1.

[NOTE: In V1.0 of this extemsion the TermChar option is not implemented.]

Shutdown

Shutsdown a socket.

Returns: zero for success, non-zero for an error condition.

Usage: err = Shutdown( socket )

GetHostByName

Performs a DNS lookup on the passed host name.

Returns: a string formatted as <errorCode>,<ipAddress>.

Usage: returnValue = GetHostByName( hostName )

GetLastError

Retrieves the last error encountered by a SFSockets method. Call this when a method returns a non-zero error code

Returns: a Palm OS error code indicating the most recent error.

Usage: err = GetLastError()

SetSocketLinger

Sets the linger option on a socket.

Returns: zero for success, non-zero for an error condition.

Usage: err = SetSocketLinger( socketRef, lingerOn, lingerTime), where socketRef is a valid socket reference, lingerOn is either 1 or 0 indicating whether the socket should linger and lingerTime is the time in seconds that a socket should linger.

GetSocketLinger

Gets the linger option for a socket.

Returns: a string formatted as <errorCode>,<lingerOn>,<lingerTime>.

Usage: returnVal = GetSocketLinger( socketRef ), where socketRef is a valid socket reference.

GetHostByAddr

Performs a reverse DNS lookup on the passed IP address, returning the name of the host machine.

Returns: a string formatted as <errorCode>,<hostName>.

Usage: returnValue = GetHostByAddr( hostIPAddr )

DocID: 10137 DocDate: 2005-07-18


LaunchURL

Product | LaunchURL
Manufacturer | Standard Satellite Forms component (SF 7.0+)
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS and PocketPC
Sample project(s) | LaunchURL
Keywords | launch, web, browser, URL, internet

The LaunchURL extension enables you to launch a specified URL in a web browser (Blazer for the PalmOS 5.x platform or Internet Explorer for the PocketPC platform). It also enables you to view local html and image files in the web browser.

Usage: result = LaunchURL( strURL )

Pass a fully qualified website URL in the strURL parameter, for example

strURL = "http://www.satelliteforms.net"

To view a local HTML page, text file, or image file (stored on a memory card for PalmOS, internal memory or memory card for PocketPC), use the file:// protocol specifier instead, pointing to the path of the file to view, for example:

strURL = "file:///path/to/htmlfile.htm"

or

strURL = "file:///path/to/myphoto.jpg"

A result value = 0 indicates no errors. A result value <> 0 is returned if there is an error.

DocID: 10165 DocDate: 2006-10-05


Sapphire FTP

Product | Sapphire FTP
Manufacturer | Sapphire Solutions Ltd.
Website | http://www.sapphire-solutions.co.uk/products/ftp/
Version | 5.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | FTP, file transfer, TCPIP, get, put, sync, send

The Sapphire FTP Utility gives you the ability to add file transfers and directory management with an FTP server to your Satellite Forms application.

The Sapphire FTP Utility has a host of features that you can use within your application:

  • Open a session
  • Close a session
  • Upload and Download files
  • Transfer files in 1K chunks
  • Change the remote directory
  • Retrieve the current remote directory
  • Search for file and directories with attributes
  • Remove files and directories
  • Rename files and directories
  • Make directories
  • Upload and download directories and contents
  • Check if a remote file exists

DocID: 10176 DocDate: 2006-10-05


Sapphire RAS Utility

Product | Sapphire RAS Utility
Manufacturer | Sapphire Solutions Ltd.
Website | http://www.sapphire-solutions.co.uk/products/ras/
Version | 9.5
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | RAS, dial, modem, connection, TCPIP

It is now possible to dial a remote connection and manage the device's phone book from your application using the Sapphire RAS Utility. This will allow you to build advanced applications to allow your mobile application stay current with your business information. Whether you use it to dial in from remote locations to download the latest price lists or upload the daily orders, the Sapphire RAS Utility will be ideal for your application. Useful functions include:

  • Dial a connection
  • Hang-up a connection
  • Retrieval of connection list
  • Connection status reporting, and more

You can use this utility to dial a modem connection to an ISP, then use the Winsock extension to send/receive data over that connection, for example.

DocID: 10177 DocDate: 2006-10-05


ConnectionMgr

Product | ConnectionMgr
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PocketPC
Sample project(s) | ConnectionMgr
Keywords | internet, dialup, GPRS, EVDO, EDGE, TCPIP, RAS, autodial, connect

The ConnectionMgr extension is a plugin extension for Pocket PC that enables your application to initiate a dialup connection to the Internet. This is useful for TCPIP Winsock functions, HTTP, FTP, etc. on dialup TCPIP connections (eg. modem, EDGE/GPRS, 1xRTT/EVDO, HSDPA, etc.). A disconnect function is also provided.

Method Description

CM_Connect Connect to the internet, using the specified URL to determine the best connection method.

CM_Disconnect Request the current connection to be disconnected.

DocID: 10200 DocDate: 2008-05-28


SFBeamerPRO

Product | SFBeamerPRO
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00005.htm
Version | 1.7
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Beam, infrared, send

Sample Application

SFBeamerPRO is an enhanced replacement for the original SFBeamer extension. SFBeamerPRO gives you the ability to:

  • Beam individual tables/files from one Palm device to another
  • Beam individual or multiple records from a SatForms table from one Palm device to another running the same SatForms program, without requiring the recipient to leave the SatForms application to receive records
  • Beam a package of multiple files (such as a complete SatForms program, extensions, runtime engine, icon, etc.) from one Palm device to another, requiring the recipient to only tap the Accept prompt once to receive the whole package (NEW feature in SFBeamerPRO!)

NOTE: The Beam Package function requires free storage on the sending Palm device in order to create the package file. If your Palm device does not have enough free storage to put all the files into a single package, you may need to create more than one package in order to send a large program.

DocID: 10063 DocDate: 2005-07-01


GPSBluetooth

Product | GPSBluetooth
Manufacturer | Handheld Competence
Website | http://www.palmdatapro.com/itm00127.htm
Version | 1.1
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | GPS, bluetooth, location, latitude, longitude

The GPS Bluetooth driver for Palm OS is an extension for Satellite Forms. It allows you to develop applications for Palm OS with GPS functionality using GPS receivers with Bluetooth Wireless Technology. Without the need for establishing and maintaining the Bluetooth connection between a Bluetooth equipped Palm OS device and a GPS Bluetooth receiver, the developer can extend existing applications or develop new applications which offer GPS navigation functionality to the user. This driver offers all the required functionality for navigation purposes using GPS Bluetooth receivers:

  • Discover Bluetooth Devices from within your application
  • Connect to selected Bluetooth GPS receiver
  • Check the status of the Bluetooth connection and the GPS receiver
  • Receive NMEA-0183 GPS data from the GPS device
  • Extract required data from the received GPS data string
  • Disconnect from Bluetooth device

A full featured sample application is included.

DocID: 10101 DocDate: 2005-07-12


RFCOMM Bluetooth

Product | RFCOMM Bluetooth
Manufacturer | Handheld Competence
Website | http://www.palmdatapro.com/itm00144.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | RFCOMM, bluetooth, serial, data

The RFCOMM Bluetooth extension from Handheld Competence allows you to develop applications for Palm OS with serial functionality using Bluetooth Wireless Technology. Without the need for establishing and maintaining the Bluetooth connection between a Bluetooth equipped Palm OS device and a Bluetooth device with RFCOMM functionality, the developer can extend existing applications or develop new applications which offer serial functionality to the user. This driver offers all the required functionality for RFCOMM purposes:

  • Initialise Bluetooth RFCOMM connection as master or client
  • Discover Bluetooth devices
  • Get the device address and the device name of the selected Bluetooth device
  • Set the address of a Bluetooth device, to avoid a time consuming discovery process
  • Establish a connection
  • Get the state of the Bluetooth connection
  • Send and receive data
  • Disconnect from Bluetooth device

A full featured sample application is included, which has been created with the Satellite Forms MobileApp Designer Version 5.23.

DocID: 10102 DocDate: 2005-07-12


BtControl

Product | BtControl
Manufacturer | Handheld Competence
Website | http://www.palmdatapro.com/itm00151.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | BlueTooth, radio, power, toggle, BT

The BtControl extension from Handheld Competence allows you to develop applications for Palm OS to control the BlueTooth radio in the device. This driver offers all the functionality to:

  • Retrieve the current power state (on or off) of the Bluetooth radio
  • Enable the Bluetooth radio without leaving your application
  • Disable the Bluetooth radio without leaving your application

A sample application is included to demonstrate the features and usage, created with the Satellite Forms MobileApp Designer 6.0.1.

DocID: 10156 DocDate: 2005-09-02


SerialPortIrComm

Product | SerialPortIrComm
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00121.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Serial, IR, IrComm, infrared

Sample Application

SerialPortIrComm is a SatForms plugin extension that duplicates the functionality of the standard SerialPort extension included with SatForms, with one important enhancement: it also enables you to send/receive data via infrared using either raw SIR or the IrComm protocol.

Use the SerialPortIrComm extension just like, and in place of, the standard SerialPort extension. The infrared option is selected by opening a different port:

- For the regular serial port, open port 0.

- For raw SIR (serial over infrared) mode, open port 1.

- For IrComm mode, open port 2 and read data in binary mode, instead of text mode.

Note: IrComm is only available on PalmOS 3.3+ devices. Raw SIR is NOT available on many OS 4.x and 5.x devices.

DocID: 10036 DocDate: 2005-07-01


Garmin iQue GPS

Product | Garmin iQue GPS
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00132.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Garmin, GPS, iQue, latitude, longitude, position, location

Garmin iQue GPS is an SFX plugin that allows SatForms applications to retrieve GPS location data from the integrated GPS receiver in the Garmin iQue 3600 Palm powered device.

With the Garmin iQue GPS extension, your SatForms application can:

  • Determine if the current device is a Garmin iQue 3600
  • Get the current position fix validity
  • Retrieve the current longitude as a formatted string
  • Retrieve the current latitude as a formatted string
  • Retrieve the current velocity

DocID: 10031 DocDate: 2005-07-01


Beam DB

Product | Beam DB
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS
Sample project(s) | Beam It!
Keywords | beam, infrared, IR, Bluetooth, send

PxBeamDb uses the Palm OS(R) Beam Manager to provide useful routines to send Palm files over an IR connection. PxBeamDB now also supports the Sending of databases over Bluwetooth, on BT-capable PalmOS devices.

Scripts API

All methods are global.

Usage: [Name of Method]

Example of usage: PBD_About()

PBD_About()

Shows about box.

PBD_Version()

Returns the version of this extension.

PBD_BeamDb(integer, integer, string, string)

Sends Palm Db over IR.

Example of usage: PBD_BeamDB(Local_ID, Card_No, File_Name, Desc_Name) where 'Local_ID' is the local ID number of the file to be sent, 'Card_No' is the memory card number where the file is located, 'File_Name' is the full file name of the file, and 'Desc_Name' is a descriptive name that informs the user what file is being sent. This method returns a True if it succeeds. A False if it fails. For more information on how to get 'Local_ID' and 'Card_No' information please see the Data Manager extension.

PBD_SendDbByName(string, string)

Sends Palm Db specified by name, giving user option to select transport method (Beam, Bluetooth, SMS, VersaMail, etc.).

Example of usage: PBD_SendDbByName(File_Name, Desc_Name) where Desc_Name is a descriptive name for the user.

DocID: 10141 DocDate: 2006-10-02


WM5 GPS

Product | WM5 GPS
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PocketPC (Windows Mobile 5+)
Sample project(s) | GPS
Keywords | GPS, WM5, location, longitude, latitude, satellite, navigation

The GPS extension provides easy access to GPS data on Windows Mobile 5 and higher devices, via the Windows Mobile GPS API.

Functions include:

GPS_HasGPSAPI

Check whether the current device includes the WM5 GPS API.

USAGE: bHasGPSAPI=GPS_HasGPSAPI()

Returns true or false.

GPS_OpenGPS

Open connection to GPS receiver, powering up GPS receiver if necessary.

USAGE: error=GPS_OpenGPS

Returns 0 if no error, or error code if GPS conection could not be opened.

GPS_CloseGPS

Close connection to GPS receiver, powering down GPS receiver if no other tasks are also using it.

USAGE: error=GPS_CloseGPS()

Returns 0 if no error, or error code if GPS conection could not be opened.

GPS_GetValidFields

Check whether GPS is returning valid position data.

USAGE: validfields=GPS_GetValidFields( maxdataage )

Maxdataage is the maximum age in milliseconds of GPS data that you will accept as current. If the data is older than that, it will be considered invalid.

Returns 0 if no valid position data fields, -1 if the GPS connection has not been opened, or positive value indicating which fields have valid data (each field represented by a bitfield value).

To determine if a specific data type has valid data, AND the GetValidFields value with the Other Information Type value of the data field you want to verify. For example, to verify that the longitude data is valid, do this: if (GPS_GetValidFields() AND &H4)=&H4 then 'longitude data is valid

GPS_GetPosUTCTime

Get UTC Time from GPS position data.

USAGE: UTCtime=GPS_GetPosUTCTime( maxdataage )

Maxdataage is the maximum age in milliseconds of GPS data that you will accept as current. If the data is older than that, it will be considered invalid.

Returns 0 if no valid data, -1 if the GPS connection has not been opened, or UTC Time value in system time format.

GPS_GetPosLatitude

Get Latitude in decimal degrees from GPS position data.

USAGE: latitude=GPS_GetPosLatitude( maxdataage )

Maxdataage is the maximum age in milliseconds of GPS data that you will accept as current. If the data is older than that, it will be considered invalid.

Returns 0 if no valid data, -1 if the GPS connection has not been opened, or latitude data in decimal degrees. Positive numbers indicate North latitude, negative numbers indicate South latitude.

GPS_GetPosLongitude

Get Longitude in decimal degrees from GPS position data.

USAGE: longitude=GPS_GetPosLongitude( maxdataage )

Maxdataage is the maximum age in milliseconds of GPS data that you will accept as current. If the data is older than that, it will be considered invalid.

Returns 0 if no valid data, -1 if the GPS connection has not been opened, or longitude data in decimal degrees. Positive numbers indicate East longitude, negative numbers indicate West longitude.

GPS_GetPosOther

Get other GPS position data, indicated by other information type.

USAGE: otherdata=GPS_GetPosOther( maxdataage, otherdatatype )

Maxdataage is the maximum age in milliseconds of GPS data that you will accept as current. If the data is older than that, it will be considered invalid.

Returns 0 if no valid data, -1 if the GPS connection has not been opened, or requested data value.

See main extension help or sample project for list of other information type values.

Other Information Type Values for GPS_GetPosOther:

UTC_TIME=1 or &H1

LATITUDE=2 or &H2

LONGITUDE=4 or &H4

SPEED=8 or &H8

HEADING=16 or &H10

MAGNETIC_VARIATION=32 or &H20

ALTITUDE_WRT_SEA_LEVEL=64 or &H40

ALTITUDE_WRT_ELLIPSOID=128 or &H80

POSITION_DILUTION_OF_PRECISION=256 or &H100

HORIZONTAL_DILUTION_OF_PRECISION=512 or &H200

VERTICAL_DILUTION_OF_PRECISION=1024 or &H400

SATELLITE_COUNT=2048 or &H800

SATELLITES_USED_PRNS=4096 or &H1000

SATELLITES_IN_VIEW=8192 or &H2000

SATELLITES_IN_VIEW_PRNS=16384 or &H4000

SATELLITES_IN_VIEW_ELEVATION=32768 or &H8000

SATELLITES_IN_VIEW_AZIMUTH=65536 or &H10000

SATELLITES_IN_VIEW_SIGNAL_TO_NOISE_RATIO=131072 or &H20000

GPS_FIX_QUALITY=1048576 or &H100000

GPS_FIX_TYPE=2097152 or &H200000

GPS_FIX_SELECTION=4194304 or &H400000

DocID: 10196 DocDate: 2008-05-28


SFDateBook

Product | SFDateBook
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00009.htm
Version | 2.8
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Date, calendar, alarm, appointment, PIM

Sample Application

SFDateBook V2.0 allows your Satellite Forms application to have full read/write integration with the Palm Datebook application.

Functions are provide to enable your SatForms application to:

  • Add new appointments
  • Set/clear alarms for appointments
  • Make appointments repeating
  • Modify existing appointments
  • Delete appointments
  • Retrieve full appointment data
  • Beam appointments

A sample application is included that demonstrates the features of the extension.

DocID: 10014 DocDate: 2005-07-01


SFMemoPad

Product | SFMemoPad
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00014.htm
Version | 2.01
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Memo Pad, notes, PIM

Sample Application

SFMemoPad V2.0 is a SatForms plugin extension that enables you to integrate the standard Palm MemoPad database with your SatForms project. It enables you to have full read/write access to the Memo database, full Memo category support, and even supports beaming of individual Memos or entire categories!

Features include:

  • Add new Memos
  • Modify existing Memos
  • Delete Memos
  • Retrieve Memos
  • Beam Memos
  • Add new Memo categories
  • Modify Memo categories
  • Delete Memo categories
  • Retrieve Memo categories
  • Display Memo Edit Categories popup
  • Beam entire Memo categories
  • Get Palm MemoPad sort order

A sample application is included that demonstrates all of the features of the extension. It also demonstrates the use of the SF control property "Don't Modify Table" to display and let you change table-linked data, but abandon any changes unless specifically saved through scripting commands. The sample also demonstrates how to handle Category support.

DocID: 10067 DocDate: 2005-07-01


SFToDoList

Product | SFToDoList
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00060.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | To do, checklist, PIM

Sample Application

SFToDoList is a SatForms plugin extension that enables you to integrate the standard Palm ToDoList database with your SatForms project. It enables you to have full read/write access to the ToDo database, full ToDo category support, and even supports beaming of ToDo items or entire categories!

Features include:

  • Add new ToDo items
  • Modify existing ToDo items
  • Delete ToDo items
  • Retrieve ToDo items
  • Beam ToDo items
  • Add new ToDo categories
  • Modify ToDo categories
  • Delete ToDo categories
  • Retrieve ToDo categories
  • Display ToDo Edit Categories popup
  • Beam entire ToDo categories

A sample application is included that demonstrates all of the features of the extension. It also demonstrates the use of the SF control property "Don't Modify Table" to display and let you change table-linked data, but abandon any changes unless specifically saved through scripting commands. The sample also demonstrates how to handle Category support.

DocID: 10062 DocDate: 2005-07-01


SFAddressBook

Product | SFAddressBook
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00004.htm
Version | 2.04
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Address book, contacts, PIM

Sample Application

SFAddressBook provides your Satellite Forms application with complete read/write integration to the Palm Address Book database.

SFAddressBook V2.x is a major update from 1.0, offering significantly enhanced capabilities and more than a dozen new script commands! Some key new features include:

  • Beam individual records or complete categories
  • Delete individual records or complete categories
  • Search for address records by name or company
  • Complete phone label and preferred number support
  • Process callback support to enable status updates during longer operations
  • Ability to interrupt longer operations due to user input or programmed conditions

A full featured sample application is included, demonstrating how to retrieve, view, modify, create, delete, and beam address records.

SFAddressBook V2.x Function List

The complete list of functions (listed alphabetically) includes:

  • AddAddressCategory
  • AddAddressRecord
  • AddAddressRecordFromTable
  • BeamAddressCategory
  • BeamAddressRecord
  • DeleteAddressRecord
  • DeleteWholeAddressCategory
  • EditAddressCategories
  • GetAddressBookSortOrder
  • GetAddressCategoryList
  • GetAddressRecords
  • GetMinimalAddressRecords
  • GetNumAddressRecsInCategory
  • GetSingleAddressRecord
  • LookupAddressRecordByKey
  • LookupNextAddressRecordByKey
  • ModifyAddressCategory
  • ModifyAddressRecordCategory
  • ModifyAddressRecordFromTable
  • ModifyFieldFromAddressRecord
  • ModifyWholeAddressRecord
  • SetCallbackFunction
  • SortAddressBook
  • StopCurrentProcess
  • StopProcessOnHardKey
  • StopProcessOnPenDown

DocID: 10056 DocDate: 2006-11-14


Google Maps

Product | Google Maps
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS 5.x
Sample project(s) | SFGoogleMaps
Keywords | Google Maps

The Google Maps extension for PalmOS provides an interface from your Satellite Forms application to the free Google Maps application, providing detailed interactive maps, turn by turn directions, integrated search results, and satellite imagery.

The free Google Maps application for PalmOS is available here:

http://maps.google.com/gmm/treo

The Google Maps extension enables your Satellite Forms 7 application to launch Google Maps to:

  • Find a Location
  • Find a Business
  • Get Directions to a Location
  • Get Directions from a Location

The LaunchReturn extension can be used to enable the automatic relaunching of your SatForms application when the Google Maps application is finished. You will need to use the Special AppReturnEventMode instead of Normal mode.

DocID: 10188 DocDate: 2008-05-28


Symbol Integrated Scanner

Product | Symbol Integrated Scanner
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | Symbol PalmOS devices, Symbol PocketPC devices, Janam XP PalmOS scanners, Janam XM60 WinCE scanner
Sample project(s) | SymbolBarcode, SymbolFunctionTest, SimpleScannerDemo
Keywords | Symbol, scanner, barcode, ID, UPC, laser, Janam

The Symbol Integrated Scanner control provides complete access to and control over the integrated barcode scanner in Symbol PalmOS and Windows Mobile/PocketPC scanners, Janam XP Palm OS scanners, and the Janam XM60 WinCE scanner. You can develop industrial grade barcode applications in no time using this extension.

Here is the function description from the extension help:

*********************** EVENTS ***********************

OnClick > To have this control run a script when a scan is received,

select 'Run Script' as the control's action. In the editor's

droplist you will find the OnClick event. Any code placed

here will fire when a scan is received.

BattLow > Set the BATTLOW property (see below) to execute the action

of a control when a Low Battery event is encountered.

This event is only fired once while the scanner is enabled.

The scanner will not generate any other events until the scanner

is disabled and then enabled again.

When this event occurs, it is best to exit the form and go to

a non-scanning form. Use Forms(formname).Show from script.

See also the BATTLOW= property below.

BeforeScan, AfterScan > See Below

************* USER DEFINABLE PROPERTIES *************

The Symbol Control is configured using the following keywords:

AFTERSCAN= > *This event will only fire when the Process() method is used.

A Button to execute after scan is received.

Format: AFTERSCAN=btnAfterScan

BATTLOW= > Control to execute after a scanBatteryError event.

If no control is assigned, the default message will appear.

If a FAIL is asserted in the control's script, the default

message will not appear.

If FAIL is not asserted, the default message will appear.

See also the BattLow event above.

Format: BATTLOW=btnBattLow

BEEPAFTER= > *This property is used only when the Process() method is called.

On,Off -> Beep after scan (takes string)

Format: BEEPAFTER=On

BEFORESCAN= > *This event will only fire when the Process() method is used.

A Button to execute before scan input is saved but

after CtrlAdv and RecordAdv operations are performed.

Use to save old value before it is changed (so you can

restore it later)

Format: BEFORESCAN=btnBefore

CTRLADV= > *This property is used only when the Process() method is called.

On or Off Automatically advance to next edit

control. Will perform RecordAdv action when returning

to first (Edit1) control. Default Off

Format: CTRLADV=On

*The EDITxx properties are used only when the Process() method is called.

EDIT1= > First Field to enter data into (if AutoAdv = True)

EDIT2= > Second ....

EDIT3= > Third .... etc.

Format: EDIT1=Edit1

RECORDADV= > Sets Record Advance Mode. NOTE: Use quotes.

Off Never changes record. (Must do manually

from AfterScan event.)(Default)

On Will advance to last record and stop.

AlwaysCrt Create a new record after last Edit Control.

CrtAtEnd Advance thru records, create new after last.

Format: RECORDADV=On

*SETFOCUS= > *This property is used only when the Process() method is called.

On or Off Automatically sets focus to the next edit

control after scan. (Default Off)

Format: SETFOCUS=Off

**************** USER METHODS ****************

The Symbol Bar Code Control has the following methods:

About() - Shows information about the control in a dialog box.

BeepAfter(str)- *This property is used only when the Process() method is

called.

On,Off Beep after scan.

See Control's properties for other possible values.

CtrlAdv(str)- *This property is used only when the Process() method is called.

On,Off Automatically advance to next control/record.

**DisableScanner()-Disables scanning. Uses less battery power.

* NOTE: DO NOT CALL OTHER SCANNER METHODS IF SCANNER IS DISABLED

Doing so will result in a Fatal Error!

**EnableScanner()- Enables scanning. Uses more battery power.

* NOTE: DO NOT CALL OTHER SCANNER METHODS IF SCANNER IS DISABLED

Doing so will result in a Fatal Error!

See the TriggerMode() function to disable scanning.

RETURNS: true if succeed. Make sure you check this before proceeding.

If this function fails, return to a non-scanning form.

FollowCursor(str) -*This property is used only when the Process() method is called.

On,Off Tapping a control makes it next to

GetIndex() - *This property is used only when the Process() method is called.

Returns current control's index.

GetScan(timeout) - Returns string. The barcode last scanned. (Set timeout to 0)

Calling this will read in, and clear the receive buffer.

IsSymbolUnit() - Returns true if device is a Symbol (or Janam) unit.

Process() - Call from timer event or OnClick event to process automatially.

The action of this methid is determined by the properties

of this conrol (see properties above).

Returns true if a scan was processed.

RecordAdv(str)- *This property is used only when the Process() method is called.

Off Stays on same record.

On Advance through existing records.

CrtAtEnd Advance thru records, create new after last.

AlwaysCrt Creates a new record.

ResetCtrls()- *This property is used only when the Process() method is called.

Sets index to the 1st control, cancels advance.

ScanAvail() - For Manual Processing (when Process() is not used).

Returns integer byte count in rcv. buffer. Do not call unless

control is enabled. (EnableScanner() method)

SetFocus(str)- *This property is used only when the Process() method is called.

On or Off Moves cursor to control after scan.

Default = Off

SetIndex(int) - *This property is used only when the Process() method is called.

Sets the control index. (process will use next edit control

for the next scan)

SetPort(baud,HwHs,Data,Stop,Parity) - Does nothing. For compatibility with

Serial Barcode Control, returns true.

SetTermChar(chr(x))- Does nothing. For compatibility with Serial Barcode control.

SkipAdvance(t/f) - *This property is used only when the Process() method is called.

t/f = True > Process() will stays on same control for next scan.

t/f = False> does nothing.

StripTerm(t/f) - Does Nothing. For compatibility with the serial barcode control.

TermRecd() - For Manual Processing (when Process() is not used).

Returns False if data is NR, scan failed (a No Read)

Returns true if scan succeeded.

****************************************************************************

********************* SYMBOL INTEGRATED SCANNER METHODS ********************

****************************************************************************

** DO NOT CALL THESE FUNCTIONS UNLESS THE SCANNER IS ENABLED **

Doing so will result in a fatal error.

See TriggerMode() function to disable scanning.

Aim(state) - Aim(true) truns on aiming (laser pointer) mode.

BarcodeLengths(CodeType, LengthType, L1, L2, write) - returns integer

Write = True, Sets scanner parameters, return 0 if Success

CodeType: 7=CODABAR, 0=CODE39, 9=CODE93, 5=D25, 6=I2of5, 12=MSI PLESSEY

LengthType: 0=Any Length, 1=One Length, 2=Two Lengths, 3=Within Range

L1, L2: length of barcode

Write = False

CodeType: see above

LengthType: 0 = function returns L1, 1 = function returns L2

CheckDigit(CodeType, CheckDigit, write) returns bool

Write = true, Sets Check Digit setting, returns False if failed

CodeType: 1=UPCA, 2=UPCE, 13=UPCE1, 0=CODE39, 6=I2of5, 12=MSI PLESSEY

CheckDigit: 0=No Check Digit, 1=Transmit Check Digit

Write = false, returns Check digit setting for specified CodeType

false=No Check Digit, 1= Check Digit enabled

DecoderVersion() - Returns String of the Decoder Version

GetType() - After a scan, returns string of the barcode type.

I2of5CheckDigit(ckDigit, write) returns integer

Write = true, Sets parameter, returns 0 if succeed

ckDigit: 0=Disable, 1=USS Check Digit, 2 = OPCC Check Digit

Write = false, returns current parameter setting (ckDigit)

PortDriverVersion() - Returns String of the Port Driver Version.

RestoreDefaults()- Restores scanner default settings. <calls ScanCmdParamDefaults())

ScanAngle(angle,write)-Sets the scan angle(angle: 0=Narrow, 1=Wide),

write=true, angle=0 or 1 Sets scan angle. Returns 0 if success.

write=false, angle=don't care. Returns the current angle setting.

ScanManagerVersion() - Returns String. The Scan Mgr. Version.

Setbar???(enabled, write) - write=true, enabled=true, enables scanning of

this type of barcode.

write= true, enabled=false, disables scanning of this type of barcode.

write= false, enabled=don't care, returns whether

Setbar works for the following Barcode types:

SetbarCODE39(enabled, write)

SetbarUPCA(enabled, write)

SetbarUPCE(enabled, write)

SetbarEAN13(enabled, write)

SetbarEAN8(enabled, write)

SetbarD25(enabled, write)

SetbarI2OF5(enabled, write)

SetbarCODABAR(enabled, write)

SetbarCODE128(enabled, write)

SetbarCODE93(enabled, write)

SetbarTRIOPTIC(enabled, write)

SetbarUCC_EAN128(enabled, write)

SetbarMSI_PLESSEY(enabled, write)

SetbarUPCE1(enabled, write)

SetbarBOOKLAND_EAN(enabled, write)

SetbarISBT128(enabled, write)

SetbarCOUPON(enabled, write)

SetbarPDF417(enabled, write)

GetTypeSettings() - Returns a number. Each binary bit represents

a barcode type (see below).

SetTypeSettings(num)-Enables a barcode type if the bit is set (see

GetSettings() above). Add the following numbers together to enable

scanning of particular barcode types.

CODE39 1st bit= 1

UPCA 2nd bit = 2

UPCE 3rd bit = 4

EAN13 4th bit = 8

EAN8 5th bit = 16

D25 6th bit = 32

I2OF5 7th bit = 64

CODABAR 8th bit = 128

CODE128 9th bit = 256

CODE93 10th bit = 512

TRIOPTIC 11th bit = 1024

UCC_EAN128 12th bit = 2048

MSI_PLESSEY 13th bit = 4096

UPCE1 14th bit = 8192

not used 15th bit = 16384

BOOKLAND_EAN 16th bit = 32768

ISBT128 17th bit = 65536

COUPON 18th bit = 131072

PDF417 19th bit = 262144

e.x. To enable Code39 and UPCE: 1+4 = 5 ... SetTypeSettings(5)

This is much quicker than setting all the barcode types individually.

StartDecode(on)- Starts/Stops scanning.

on=true, turns laser on & starts scanning.

on=false, turns laser off, stops scanning.

bool TriggerMode(mode)- Sets scan triggering mode mode:

0=none (Disables scanner)

1=Host

2=Level

3=Pulse

Host is the default mode. See Symbol documentation for

an explanation of these modes.

Set mode to 0 to disable scanning but leave library open

to call other Symbol Scanner functions.

===========================================================================

SYMBOL ADVANCED FUNCTIONS (V1.0)

===========================================================================

For more information on these advanced functions, consult your Symbol

Scanner Integration Guide.

int AimDuration(time, write)

wite = true, Set Aim Duration. Returns 0 if succeed.

write = false, reads Aim Duration.

time = 5-99 in tenths of a second.

bool BidirectionalRedundancy(enable, write)

write= true, returns True if successful.

enable = true enables redundancy,

enable = false disables redundancy.

write= false, returns current setting.

bool Code32Prefix(enable, write)

write = true sets this parameter, returns true if succeed.

write = false, returns current setting

(Enabled = true)

bool Code39CheckDigitVer(enable, write)

write = true sets this parameter, returns true if succeed.

write = false, returns current setting

(Enabled = true)

bool Code39FullAscii(enable, write)

write = true sets this parameter, returns true if succeed.

write = false, returns current setting

(Enabled = true)

bool ClsiEditing(enable, write)

write = true sets this parameter, returns true if succeed.

write = false, returns current setting

(Enabled = true)

int DecodeLedOnTime(time, write)

write = true, Set Decode LED on time. Returns 0 if write succeed.

write = false, reads Decode LED on time.

time = 10-1000 in tenths of a second.

int DecodeUpcEanRedun(redun, write)

write = ture, sets this parameter and returns 0 if succeed.

write = false, returns value of this setting.

redun = value from 2 to 20.

int DecodeUpcEanSupp(mode, write)

write = true, sets value and returns 0 if succeed.

write = false returns parameter setting.

mode:

0, Ignore Supplementals

1, Decode Supplementals

2, Autodiscriminate Supplementals

bool EanZeroExtend(enable, write)

write = true, sets this parameter and returns true if succeed.

write = false, returns the value.

enable= true/false determines value of this setting when

write = true.

int HostSerResponseTimeout(time, write)

write = true, sets parameter and returns 0 of succeed.

write = false, returns current setting in tenths of a second.

time = 0-99 in tenths of a second.

int LaserOnTime(time, write)

write = true, Set laser on time. Returns 0 if write succeed.

write = false, reads laser on time.

5-99 in tenths of a second.

bool LedOn(on)

Turns green scan LED on and off.

on = true, Turns LED on.

on = false, Turns LED off.

int LinCodeTypeSecurLevel(level, write)

write = true, sets value.

write = false, reads value. Write returns 0 if succeed.

level:

1, Security Level 1

2, Security level 2

3, Security Level 3

4, Security Level 4

int MsiPlesseyCkDigits(num, write)

write = true sets this parameter, returns 0 if succeed.

write = false, returns current setting.

num =

1 = One check Digit

2 = Two Check Digits

int MsiPlesseyCkDigitAlg(alg, write)

write = true sets this parameter, returns 0 if succeed.

write = false, returns current setting of algorythm parameter.

algorythm =

10 = Mod10 Mod10

11 = Mod 10 Mod11

bool NotisEditing(enable, Write)

write = true sets this parameter, returns true if succeed.

write = false, returns current setting

(Enabled = true)

int PrefixSuffixValues(prefix, suffix1, suffix2, write)

write = true, sets value and returns 0 if succeed.

write = false\nif prefix = 0, returns prefix setting,

if prefix = 1, returns suffix1 setting,

if prefix = 2, returns suffix2 setting.

bool SetConvert(Conversion, enable, write)

write = true sets parameter, returns true if succeed.

write = false, returns true if conversion is enabled.

Specify conversion with the conversion parameter.

enable = true, enables conversion.

enable = false, disables conversion.

conversion:

0 > UPCE to UPCA

1 > UPCE1 to UPCA

2 > EAN8 to EAN13

3 > CODE39 to CODE32

4 > I2 of 5 to EAN13

int TransmitCodeIDChar(code, write)

write = true, sets parameter. Returns 0 if succeed.

write = false, returns surrent setting.

code =

0, Disable

1, Symbol Code ID Character

2, Aim Code ID Character

int TransmissionFormat(format, write)

write = true, Sets value and returns 0 if succeed.

write = false, returns format setting.

Format:

0, Data as is.

1, Data Suffix 1

2, data Suffix 2

3, Data Suffix 1, Suffix 2

4, Prefix Data

5, Prefix Data Suffix 1

6, Prefix Data Suffix 2

7, Prefix Data Suffix 1, Suffix 2

int UpcEanSecurLevel(level, write)

write = true, sets parameter and returns 0 if succeed.

write = false, returns setting of level parameter.

Level =

0, Security Level 0

1, Security Level 1

2, Security Level 2

3, Security Level 3

int UpcPreamble(type, preamble, write)

write = true, sets this parameter and returns 0 if succeed.

write = false, returns value of preamble setting for selected

type.

Type:

0, bar UPCA

1, bar UPCE

2, bar UPCE1

Preamble:

0, No Preamble

1, System Character

2, System Character Country Code

DocID: 10132 DocDate: 2008-05-27


Aceeca Meazura IDVERIFI Barcode

Product | Aceeca Meazura IDVERIFI Barcode
Manufacturer | Standard Satellite Forms component
Website | http://www.aceeca.com
Source code provided | No
Platform | Aceeca Meazura PalmOS powered device
Sample project(s) | IDVERIFI Barcode Test
Keywords | Aceeca, Meazura, barcode, laser, CCD, IDVERIFI, autoid, scanner

Both laser and CCD based barcode reader modules are available for the Aceeca Meazura RDAs (ruggedized digital assistants).

The Aceeca Meazura IDVERIFI Barcode scanner extension supports both the BCS1 CCD module and the BCS2 laser module.

The extension includes these functions to control the scanner module:

  • MZ_IsIDVBCS
  • MZ_EnableScanner
  • MZ_DisableScanner
  • MZ_Trigger
  • MZ_ScanAvail
  • MZ_TermRecd
  • MZ_GetScan
  • MZ_ResetScanner
  • MZ_SetToFactoryDefaults
  • MZ_ChangeSettings
  • MZ_GetLibVersion
  • MZ_SetScanTrigger
  • MZ_GetScanTrigger

DocID: 10152 DocDate: 2008-05-26


SocketScan

Product | SocketScan
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS, PocketPC
Sample project(s) | SocketScanDemo
Keywords | Barcode, Socket, SDIO, scanner, AutoID, Bluetooth, cordless hand scanner, CF

SocketScan is an SFX control that enables you to control Socket SDIO and CompactFlash scanner cards and/or the Socket Bluetooth Cordless Hand Scanner from your Satellite Forms PalmOS and PocketPC applications.

Socket Communications manufacturers several SDIO and CompactFlash barcode scanner cards. The Socket Bluetooth Cordless Hand Scanner is a candy-bar sized handheld laser barcode scanner that communicates with the Palm or PocketPC device over Bluetooth wireless. It enables you to keep the PDA tucked away in a case or pocket while you are scanning, and provides very good scan performance, and great rechargeable battery life. Find out more about the Socket barcode scanner products on the Socket Communications web site.

The SocketScan SFX control gives you full access to the scanning operation and settings for the scanner card. Methods provided by the control include:

  • verify the scanner card is inserted and ready
  • verify the cordless scanner is connected and ready
  • trigger the scanner to scan a barcode via script code or via specified keys such as the application hard buttons
  • obtain the barcode data that was scanned
  • obtain the barcode symbol type
  • get and set dozens of scanner options and settings

A sample application is included that demonstrates all of the features and functions of the SocketScan control.

DocID: 10033 DocDate: 2006-02-15


Versid Temperature Acquisition Module

Product | Versid Temperature Acquisition Module
Manufacturer | Versid, Inc.
Website | http://www.versid.com
Platform | Windows Mobile, PocketPC, PalmOS (Symbol 17xx/18xx series, Palm III series)
License | Qualified developers contact Versid sales, royalty free distribution license
Keywords | Versid, temperature, probe, Symbol, Bluetooth

The Versid temperature acquisition module provides laboratory accuracy temperature readings over the range of -200 F to +600 F and is compatible with widely available type K thermocouple probes that use the industry standard two prong mini-plug connectors. They are factory calibrated and traceability certificates are available.

Using simple Satellite Forms scripting commands temperatures can be read and displayed directly on the screen and/or easily stored in tables. Both F and C readings are supported, or create a function to display temperatures in a custom scale. Updates can be automated by placing script commands inside the OnTimer event.

Acquired temperatures can easily be compared to standards and/or limits to generate alarms, pass/fail indications, or to indicate corrective actions. Timestamps can be saved with each reading to create logging applications or to establish traceability for inspection data.

Typical applications include food safety monitoring and inspections, manufacturing process logging and monitoring, water temperature monitoring in hospitals, environmental temperature monitoring and a wide range of laboratory bench applications.

A developer's kit including the Satellite Forms plug-in, sample code, and descriptions of all supported functions is available to qualified developers for a fee and comes with a royalty free distribution license. More information can be found at the Versid, Inc. website:

http://www.versid.com/

Telephone: 1-800-505-3197

International: +1-973-784-1103

Email: sales@versid.com

DocID: 10098 DocDate: 2008-05-27


Serial Bar Code Reader

Product | Serial Bar Code Reader
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS
Sample project(s) | Barcode
Keywords | Barcode, serial, laser, ID, UPC, Janam, MSR

The Serial Bar Code Reader extension provides control over bar code readers attached to the Palm device via the serial port. [It is not for use with the Symbol devices that have an integrated scanner -- the Symbol Integrated Scanner control should be used instead for those devices.]

This extension can also be used to control the Janam XP MSR (magnetic stripe reader) attachment.

From the extension help:

Bar Code Reader interfaces to a Bar Code reader through the serial manager.

************* USER DEFINEABLE PROPERTIES *************

The Bar Code Reader is configured using the following keywords:

AFTERSCAN-> A Button to execute after scan is received.

BEEPAFTER -> On,Off -> Beep after GetScan returns data.

BEFORESCAN-> A Button to execute before scan input is saved but after

CtrlAdv and RecordAdv operations are performed.

Use to save old value before it is modified (use to Cancel)

CTRLADV-> On or Off Automatically advance to next edit control.

Will perform RecordAdv action when returning to first (Edit1) control.

EDIT1 -> First Field to enter data into (if AutoAdv = True)

EDIT2 -> Second ....

EDIT3 -> Third ....

RECORDADV-> Sets Record Advance Mode. NOTE: Use double

quotes.

Off Never changes record. (Must do manually from

AfterScan event.)

On Will advance to last record and stop.

AlwaysCrt Create a new record after last Edit Control.

CrtAtEnd Advance thru records, create new after last.

SETFOCUS-> On or Off Sets focus to control after scan.

**************** USER METHODS ****************

The Bar Code Reader has the following methods:

About() - shows information about the control in a dialog box.

BeepAfter(str)- On',Off Beep after scan.

CtrlAdv(str)- On,Off Automatically advance to next

control/record.

DisableScanner() - Turns off Serial Port + Disables scanning (uses

less battery power).

EnableScanner() - Turns on Serial Port + Enables scanning (uses more

battery power).

FollowCursor(str) - On,Off Tapping a control makes it next to

scan. Default Off

GetIndex() - Returns current control index. (EDIT1 returns 1, etc.)

GetRecordAdvMode() - Returns Record Advance Mode

0 = Off

1 = AlwaysCrt

2 = CrtAtEnd

3 = On

GetScan(timeout) - Returns string of scanned data. Set timeout to 0. Clears the buffer.

Process() - Call from timer event to process automatic events.

RecordAdv(str)-Off Stays on same record.

On Advance through existing records.

CrtAtEnd Advance thru records, create new after last.

AlwaysCrt Creates a new record.

ResetCtrls()- Sets index to the 1st control, cancels advance.

ScanAvail() - Returns integer byte count in rcv. buffer.

SetFocus(str)- On,Off Moves cursor to control after scan.

Default = Off

SetIndex(int) - Sets the control index. (will use next control for the

next scan)

SetPort(baud,HwHs,Data,Stop,Parity) - baud: Sets Baud rate (i.e. 9600)

HwHs: Handshake (true = CTS/RTS, false = Xon/Xoff)

Data: 7 or 8 data bits are valid.

Stop: 1 or 2 are valid.

Parity: 0= None 1=Even 2=Odd

Default setting: SetPort(9600,true,8,1,0)

SetTermChar(chr(x))- Sets termination character to use.

Default = Carriage Return

SkipAdvance(t/f) - True= Stays on same control for next scan.

StripTerm(t/f) - Strips the termination character from the end of the

string returned by GetScan. Default=True, strips.

TermRecd() - Returns True if termination character is last character

in string. Use after GetScan(x) to verify term recd.

DocID: 10130 DocDate: 2008-05-26


Serial Port

Product | Serial Port
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes (for Palm OS only)
Platform | PalmOS, PocketPC
Sample project(s) | Terminal
Keywords | serial, data, async, send, receive, port, rs232

SerialPort is an extension which may be used to access the handheld’s Serial Port.

Scripts API

All of the methods are global.

Usage: [Name of method]

Example of usage: SerialPortAbout()

SerialPortAbout()

Show the extension's about box.

Sample usage: SerialPortAbout()

SerialPortAllocate()

Creates an instance of a serial port.

Sample usage: SerialPort = SerialPortAllocate()

SerialPortClose(integer)

Closes serial port.

Sample usage: SerialPort = SerialPortClose(SerialPort)

SerialPortConfigure(integer, integer, integer, string, integer, string)

Configures serial port.

Sample usage: SerialPort = SerialPortConfigure(SerialPort, Baud, DataBits, Parity, StopBits, FlowControl)

where

DataBits: 5,6,7, or 8

Parity: Odd, Even, or None

StopBits: 1 or 2

FlowControl: Hardware, XON/XOFF, or None

SerialPortFree(integer)

Deletes an instance of a serial port (returns 0).

Sample usage: SerialPort = SerialPortFree(SerialPort)

SerialPortGetBytesAvailable(integer)

Returns the number of bytes available, -1 on error.

Sample usage: BytesAvailable = SerialPortGetBytesAvailable(SerialPort)

SerialPortGetLastError(integer)

Returns a string containing the last error message.

Sample usage: LastError = SerialPortGetLastError(SerialPort)

SerialPortOpenBinary(integer, integer, integer)

Opens serial port in binary mode.

Sample usage: SerialPort = SerialPortOpenBinary(SerialPort, PortNumber, Baud) SerialPort: created by calling SerialPortAllocate()where

PortNumber: 0 (or 1 for development only).

Baud: 300-115200

SerialPortOpenText(integer, integer, integer, string, string)

Opens serial port in text mode.

Sample usage: SerialPort = SerialPortOpenText(SerialPort, PortNumber, Baud, ReadNewline, WriteNewline)

where

SerialPort: created by calling SerialPortAllocate()

PortNumber: 0 (or 1 for development only)

Baud: 300-115200

ReadNewline: CR or LF or CRLF

WriteNewline: CR or LF or CRLF

SerialPortRead(integer, integer, integer)

Reads data from serial port.

Sample usage: SerialPort = SerialPortRead(SerialPort, Memory, Size)

SerialPortReadByte(integer)

Reads a byte of data from serial port.

Sample usage: Byte = SerialPortReadByte(SerialPort)

SerialPortReadString(integer, integer)

Reads a string of data from serial port.

Sample usage: String = SerialPortReadString(SerialPort, Size)

SerialPortSetBuffer(integer, integer, integer)

Sets the data buffer. The default data buffer is 512 bytes. The buffer should allow for 32 bytes of overhead.

Sample usage: SerialPort = SerialPortSetBuffer(SerialPort, Memory, Size)

SerialPortWrite(integer, integer, integer)

Writes data to serial port.

Sample usage: SerialPort = SerialPortWrite(SerialPort, Memory, Size)

SerialPortWriteByte(integer, integer)

Writes a byte of data to serial port.

Sample usage: SerialPort = SerialPortWriteByte(SerialPort, Byte)

SerialPortWriteString(integer, string)

Writes a string of data to serial port.

Sample usage: SerialPort = SerialPortWriteString(SerialPort, String)

DocID: 10148 DocDate: 2008-05-26


Symbol MSR

Product | Symbol MSR
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PalmOS
Sample project(s) | MSR Tester
Keywords | Symbol, magnetic, stripe, reader, msr, card

This extension provides Satellite Forms with full access to the Symbol Magnetic Stripe Reader.

Parameters

Error Codes

0 Normal

1 Global parameter error

2 Invalid parameter

3 Library is not open

4 Library is still open by others

5 Memory error occurred

6 Card information overflow

7 Firmware NAK answer

8 Waiting timeout

9 ROM check error

10 RAM check error

11 EEPROM check error

12 Error response

13 Check sum error

14 Bad read for buffered mode

15 No data for buffered mode

16 Not enough battery charge for MSR 3000

Scripts API

The following methods are accessible from the scripting language. For prototypes double-click on the extension method in the “Project” window of App Designer. All methods are private methods.

Usage: [Name of Control].[Name of Method]

Example: MSR1.mAbout()

mAbout()

Description: Shows extension’s about box.

Parameters: None

Returns: None

mArmToRead()

Description: Enable MSR to be ready for a card swipe in buffered mode.

Parameters: None

Returns: Error code

mClose()

Description: Close the MSR Manager Library, and free resources.

Parameters: None

Returns: Error code

mGetAddedField(integer)

Description: Retrieve MSR added field string for given field number.

Parameters: Field numbers 1 through 6

Returns: Character

mGetBufferMode()

Description: Retrieve MSR buffer mode setting.

Parameters: None

Returns:

"0" for Un-buffered Mode

"1" for Buffered Mode

mGetDataBuffer(integer)

Description: Request card data information for the Buffered Mode.

Parameters:

Types:

"0" Get All Tracks

"1" Get Track 1

"2" Get Track 2

"3" Get Track 3

Returns: Data buffer as string

mGetDataEditSetting()

Description: Retrieve MSR data edit setting.

Parameters: None

Returns: Character

mGetDecoderMode()

Description: Retrieve MSR decoder mode setting.

Parameters: None

Returns:

"0" for Disable Data Edit

"1" for Data Edit Match

"3" for Data Edit Unmatch

mGetFlexibleField(integer)

Description: Retrieve MSR flexible field string for given field number.

Parameters: Field number 1 through 16

Returns: String

mGetLastError()

Description: Returns the error status of the last MSR function executed.

Parameters: None

Returns: Error code

mGetLibVersion()

Description: Returns MSR 3000 software library version.

Parameters: None

Returns: Integer

mGetLRCSetting()

Description: Retrieve MSR LRC setting.

Parameters: None

Returns:

"0" for No LRC

"1" for Send LRC

mGetMSRVersion()

Description: Returns MSR 3000 version.

Parameters: None

Returns: Integer

mGetPostamble()

Description: Returns MSR postamble string.

Parameters: None

Returns: String

mGetPreamble()

Description: Returns MSR preamble string.

Parameters: None

Returns: String

mGetReservedChars(integer, integer)

Description: Retrieve MSR reserved character info for given character number.

Parameters: Character number 1 through 3 and

Data:

"0" format

"1" SR_Bits

"2" SR_Chars

Returns: String

mGetSendCmd(integer)

Description: Retrieve MSR send command string for given command number.

Parameters: Command number 1 through 4

Returns: String

mGetStatus()

Description: Returns status of last magnetic stripe read.

Parameters: None

Returns: String

mGetTerminator()

Description: Retrieve MSR terminator setting.

Parameters: None

Returns:

"0" for CR and LF

"1" for CR

"2" for LF

"3" for None

mGetTrackSelection()

Description: Retrieve MSR track selection setting.

Parameters: None

Returns:

"0" for Any Track

"1" for Track 1 Only

"2" for Track 2 Only

"3" for Track 1 and Track 2

"4" for Track 3 Only

"5" for Track 1 and Track 3

"6" for Track 2 and Track 3

"7" for All Three Tracks

mGetTrackFormat(integer)

Description: Retrieve MSR track format string for given track number.

Parameters: Track Number 1 through 3.

Returns:

"0" for Normal Decoder

"1" for Generic Decoder

"2" for Raw Data Decoder

mGetTrackSeparator()

Description: Retrieve MSR track separator character.

Parameters: None

Returns: Character

mOpen()

Description: Load and initialize the MSR 3000 Manager Library.

Parameters: None

Returns: Error code

mReadMSRBuffer(integer)

Description: Request Card Information until receiving data or time out.

Parameters: Wait time in 100ms units

Returns: None

mReadMSRUnbuffer()

Description: Request card data information for the unbuffered mode.

Parameters: None

Returns: None

mSelfDiagnose()

Description: Initiate MSR 3000 self test and return results.

Parameters: None

Returns: Error code

mSetAddedField(integer)

Description: Set added field strings to MSR 3000.

Parameters: Fields 1 through 6

Returns: Error code

mSetBufferMod(integer)

Description: Set buffer mode of MSR 3000.

Parameters:

Modes:

"0" Un-buffered Mode

"1" Buffered Mode

Returns: Error code

mSetDataEdit(integer)

Description: Send data edit mode.

Parameters:

Modes:

"0" Disable Data Edit

"1" Data Edit Match

"3" Data Edit Unmatch

Returns: Error code

mSetDataEditSend(integer)

Description: Set data edit send commands to MSR 3000.

Parameters: Commands 1 through 4

Returns: Error code

mSetDecoderMode(integer)

Description: Set the decoder mode for the MSR 3000.

Parameters:

Modes:

"0" Normal Decoder

"1" Generic Decoder

"2" Raw Data Decoder

Returns: Error code

mSetDefault()

Description:

Sets MSR with following default values:

Buffer Mode: Un-buffered

Terminator: CR/LF

Preamble: None

Postamble: None

Track Selection: All Three Tracks

Track Separator: CR

LRC: Do Not Send LRC Data

Edit Setting: Disabled.

Parameters: None

Returns: Error code

mSetFlexibleField(integer)

Description: Sets flexible fields for data edit to MSR 3000.

Parameters: Fields 1 through 16

Returns: Error code

mSetLRC(integer)

Description: Send LRC mode to MSR 3000.

Parameters:

Modes:

"0" No LRC

"1" Send LRC

Returns: Error code

mSetPostamble(string)

Description: Set a postamble string to MSR 3000.

Parameters: Postamble string

Returns: Error code

mSetPreamble(string)

Description: Set a preamble string to MSR 3000.

Parameters: Preamble string

Returns: Error code

mSetReservedChar(integer)

Description: Set Special Reserved Characters for Generic Decoder only.

Parameters: Reserved Characters 1 through 6

Returns: Error code

mSetTerminator(integer)

Description: Set terminator setting to MSR 3000.

Parameters:

Terminators:

"0" CR and LF

"1" CR

"2" LF

"3" None

Returns: Error code

mSetTrackFormat(string)

Description: Set the parameters for the Generic Decoder, such as the Bit Format, Start and End Sentinel.

Parameters:

Track ID

Format

SS-Bits

SS-ASCII

ES-Bits

ES-ASCII

Returns: Error code

mSetTrackSelection(integer)

Description: Select tracks to be decoded to MSR 3000.

Parameters:

Track selects:

"0" Any Track

"1" Track 1 Only

"2" Track 2 Only

"3" Track 1 and Track 2

"4" Track 3 Only

"5" Track 1 and Track 3

"6" Track 2 and Track 3

"7" All Three Tracks

Returns: Error code

mSetTrackSeparator(string)

Description: Send a track separator character to MSR 3000.

Parameters: Separator character

Returns: Error code

DocID: 10150 DocDate: 2005-07-18


UnitechScan

Product | UnitechScan
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | No
Platform | PocketPC (Unitech devices)
Sample project(s) | UnitechScan
Keywords | Unitech, barcode, scanner, PA950, PA970, PA550, PA650, PA962

UnitechScan - SatForms control for barcode scanning on Unitech scanner-enabled PDAs

Control Settings:

-----------------

AFTERSCAN=buttonname

Optional

If you leave this keyword out of the control config, it will execute the OnClick action of the UnitechScan control.

Specifies a button control to execute immediately after performing the barcode scan.

Change at runtime using SetAfterScan script function.

GOODREADSOUND=true/false

Optional, default = true

Specifies whether you want to have the good read beep sound played on a successful scan.

Modify at runtime using SetGoodReadSound/GetGoodReadSound script functions.

LEDONTIME=n

Optional, default = 1500 milliseconds

Sets length of time in milliseconds to show green LED on a good scan.

Modify at runtime using SetLEDOnTime/GetLEDOnTime script functions.

Script Functions:

-----------------

IsUnitechScanner

Returns whether current device is a Unitech scanner.

USAGE: IsUni = IsUnitechScanner()

[This is a global script function that does not need to be prefaced with the control object name.]

ScannerEnable

Enables the scanner, returns the result code (0 if successful).

USAGE: result = UnitechScan1.ScannerEnable()

ScannerDisable

Disables the scanner, returns the result code (0 if successful).

USAGE: result = UnitechScan1.ScannerDisable()

GetScanOkay

Returns true or false to indicate if the last scan operation was successful. Useful when the scan is automatically triggered by a hard button.

USAGE: scanokay = UnitechScan1.GetScanOkay()

GetScanData

Returns the scanned data from the last scan operation, or the string NR if the scan was not successful.

USAGE: scandata = UnitechScan1.GetScanData()

GetScanType

Returns the symbol code from the last scan operation, or a blank string if the scan was not successful.

USAGE: scantype = UnitechScan1.GetScanType()

GetScanDataLen

Returns the length in bytes of the scanned data from the last scan operation.

USAGE: scandatalen = UnitechScan1.GetScanDataLen()

ResetScanner

Resets the scanner.

USAGE: UnitechScan1.ResetScanner()

SetAfterScan

Specifies a button control or the UnitechScan control's OnClick event to execute immediately after the scan event is fired.

USAGE: UnitechScan1.SetAfterScan( buttoncontrol )

Specify a blank string """" to use the UnitechScan control's OnClick event. Just leave the UnitechScan control's OnClick action set to None if you do not wish to have it do anything after the scan.

SetGoodReadSound

Sets whether to play the system good read sound when a good scan is received.

USAGE: UnitechScan1.SetGoodReadSound( true/false )

GetGoodReadSound

Returns whether scanner is set to play the system good read sound when a good scan is received.

USAGE: willplay = UnitechScan1.GetGoodReadSound()

SetLEDOnTime

Sets length of time in milliseconds to show green LED when a good scan is received.

USAGE: UnitechScan1.SetLEDOnTime( milliseconds )

GetLEDOnTime

Returns length of time in milliseconds to show green LED when a good scan is received.

USAGE: willplay = UnitechScan1.GetLEDOnTime()

IsScan2KeyEnabled

Returns whether Unitech Scan2Key utility is currently enabled (must be disabled for Unitech scanner control extension to work).

USAGE: IsScan2KeyEnabled = UnitechScan1.IsScan2KeyEnabled()

Scan2KeyEnable

Enables or disables the Unitech Scan2Key utility (must be disabled for Unitech scanner control extension to work).

USAGE: result = UnitechScan1.Scan2KeyEnable( true/false )

DocID: 10173 DocDate: 2008-05-26


IntermecScan

Product | IntermecScan
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PocketPC
Sample project(s) | IntermecScan
Keywords | Intermec, barcode, scanner

The IntermecScan control interfaces to an integrated bar code scanner on many Intermec Pocket PC devices.

Control Settings:

-----------------

AFTERSCAN=buttonname

Optional

If you leave this keyword out of the control config, it will execute the OnClick action of the IntermecScan control.

Specifies a button control to execute immediately after performing the barcode scan.

Change at runtime using SetAfterScan script function.

Script Functions:

-----------------

Method Description

About Displays information about the control in a dialog box.

DoScan Triggers a scan as if the hardware scan button was pressed.

GetScanData Returns the scanned data from the last scan operation.

GetScanDataLen Returns the length in bytes of the scanned data from the last scan operation.

GetScanOkay Returns true or false to indicate if the last scan operation was successful.

GetScanType Returns the symbol code from the last scan operation.

GetSettings Returns current scanner filter settings string.

IsIntermecScanner Returns whether current device is an Intermec scanner.

IsScannerEnabled Returns whether the scanner is enabled (true) or disabled (false).

ScannerDisable Disables the scanner.

ScannerEnable Enables the scanner.

SetAfterScan Specifies a button control or the IntermecScan control's OnClick event to execute immediately after the scan event is fired.

SetSettings Sets current scanner filter settings.

DocID: 10198 DocDate: 2008-05-28


SFMD5Hash-PPC

Product | SFMD5Hash-PPC
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00122.htm
Version | 1.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | MD5, hash, PocketPC

Sample Application

SFMD5Hash-PPC is a Satellite Forms plug-in extension that enables you to calculate the MD5 hash of a string on PocketPC devices.

The MD5 hash is a 32 character hexadecimal string that is uniquely generated based on the case sensitive input string.

MD5 takes a string and forms a number from it in such a way that:

- it is not possible to tell the contents of the original string just by looking at the hash value and;

- it is not reasonably practicable to generate a string that will give a particular hash.

For more information on the MD5 algorithm and ideas for its uses, consult Google!

For an online MD5 generator, see http://bfl.rctek.com/tools/?tool=hasher

A sample application is provided that demonstrates how to use the single GetMD5 function.

DocID: 10071 DocDate: 2005-07-01


DES Encryption

Product | DES Encryption
Manufacturer | PRL Software
Website | http://www.palmdatapro.com/itm00055.htm
Version | 3.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | DES, encryption

PRL Software's DES Encryption extension is a SatForms plugin that provides Triple DES encryption and hexadecimal data conversion functions.

The DES Encryption extension provides full encryption for Satellite Forms developers on the Palm Pilot. The encryption provided is the "Triple Data Encryption Standard" or 3DES. It is also known as "Data Encryption Algorithm" or DEA.

Up until now there has been no real method of safe guarding data on a palm. Tables can easily be retrieved from the palm or "beamed" to a PC or other device. If the data is encrypted then any malicious or devious person attempting to read or change data will be effectively blocked. This is invaluable for customer lists/details or personal/private memos.

This extension lets you encrypt and decrypt and ASCII (text) data within Satellite Forms, including:

  • Variables
  • Text enclosed in quotation marks, e.g. "Text to be Encrypted/Decrypted"
  • Database Fields
  • Control data, e.g. EditboxCustomer_Name.Data

The results can also be placed into a variable, database field or control. This means that data can be stored in a database in an encrypted format, to be decrypted on the PC. An ActiveX DLL - PalmDES.DLL - is provided with the same methods as the extension, meaning that code can be transferable between Palm and PC for encryption/decryption tasks.

Included with this extension is the ability to store and send any standard ASCII character from the PC to the Palm and from the Palm to the PC. This resolves the international character problem of various Satellite Forms versions that inhibits the Palm sending the PC extended ASCII codes.

DocID: 10109 DocDate: 2005-07-12


Hash

Product | Hash
Manufacturer | PRL Software
Website | http://www.palmdatapro.com/itm00057.htm
Version | 2.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | MD5, hash, password

PRL Software's Hash Encryption extension is a SatForms plugin that provides MD5 and MD4 one way cryptographic hash functions.

This extension is about providing security to applications by utilising the power of Hash. This security is comprised of three main features:

Password Match Verification without needing to store Passwords on the Palm.

Registration Match Verification without needing to store the Registration key on the palm.

Message and Message Origin Verification using "digital signatures".

Although this is not a full-blown security application unto itself, this extension can be used to create one. Extensive details are given of how to set up your own registration program as well as tricks that the Hackers can perform. The MD5 hash functions are utilised as part of PRL Software's CopyLock Extension.

All of the informaiton required to set up a secure program is provided with this extension. The documentation explains these concepts in the easiest manner possible so as not to complicate the issue. Example code is given throughout.

There is also a MD5 Hash ActiveX DLL that comes with this extension so as to provide complete PC/Palm security.

DocID: 10111 DocDate: 2005-07-12


CopyLock

Product | CopyLock
Manufacturer | PRL Software
Website | http://www.palmdatapro.com/itm00061.htm
Version | 4.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | security, registration, lock, protection, timeout, license

PRL Software's CopyLock extension is designed to aid SF developers in making their products much more resistant to unauthorized copying. It removes the simple algorithm techniques commonly used by Palm software developers, and replaces them with a standardised algorithm.

The Registration Key of the CopyLock extension actually contains the registration level, whether there is a timeout and whether there is a date at which point the software expires.

The registration key of the copy lock extension is encrypted with DES encryption, where the password is actually the hash of creator ID, Serial Number, User Name, User ID, Custom ID, Application Name and Application Version.

Talking in Layperson's language: The registration key can ONLY be utilised by the program-palm combination that has a matching Creator ID, Serial Number, User Name, User ID, Custom ID, Application Name and Application Version. Creator ID is the only "Must Have", the rest are optional. This means that you can have a range of registration key "Levels". This range starts at a registration key that is specific for your program running on a specific customer's palm right down to a registration key that will register any program you create.

Since the Registration Level is built in to the Registration Key your shareware program can be upgraded to varying degrees. A "standard" registration may provide standard functionality while an "Advanced" or "Enterprise" registration may provide more functionality. You may decide to register to some of your customers on a subscription basis while registering others outright. All of this is possible from your original base shareware program and is dependent on the registration key that you provide.

A PC side (Windows) program is supplied that creates the registration keys for your program. You simply enter in the security information such as application name, version, creator ID and some customer information such as Flash ROM Number, Hotsync Name or email address and a registration code is produced.

Features Include:

  • Timeout facility - so that users can trial your software for a period of time (as set by you - up to 255 days). Additional feature tells you how many days left there is until the timeout runs out.
  • Registration Levels - allows custom levels of security, levels are between 0 and 255. Registration level is set by the developer when producing the registration key.
  • Easy method of determining the security information from the palm that is required to create the registration key.
  • Example of how to use the extension, including blocking the use of you program if it is not registered. This is a Satellite Forms 3.1 and above file.

DocID: 10114 DocDate: 2006-10-02


Sapphire Encrypt Utility

Product | Sapphire Encrypt Utility
Manufacturer | Sapphire Solutions Ltd.
Website | http://www.sapphire-solutions.co.uk/products/encrypt/
Version | 4.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | encrypt, secure, decrypt, encryption, key, password

The Sapphire Encrypt utility allows your Satellite Forms application to encrypt and decrypt both plain text and files. You can simply encrypt the data by using a specified key and decrypt it on another device or server, or visa-versa.

The Sapphire Encrypt Utility makes data encryption easy by providing the following functionality:

  • Encrypt a plain text string using a specified key
  • Decrypt a plain text string specifying the key
  • Encrypt a file using a specified key
  • Decrypt a file using a specified key

You can encrypt data or files on one device and decrypt them on another device, or encrypt/decrypt on the PocketPC and then encrypt/decrypt the data on the desktop PC using the included Windows DLL.

DocID: 10174 DocDate: 2006-11-14


DateTimeLock

Product | DateTimeLock
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00111.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per device licensing
Keywords | date, time, lock, preference

DateTimeLock is a simple utility that disables the Date & Time Preferences panel, thus preventing the device user from changing the date or time. When the user attempts to access the Date & Time Preferences panel, DateTimeLock simply displays a message informing them that this function is disabled.

It is designed for use in a corporate environment where users are not allowed to change device time & date as a policy. Firms that rely on accurate dates and times (for example on time/date stamped barcode data) often want to ensure that users do not change the device date/time as a means of altering recorded data. DateTimeLock is designed specifically for this situation.

DocID: 10121 DocDate: 2005-07-01


PrefsLock

Product | PrefsLock
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00110.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per device licensing
Keywords | preferences, lock, prefs, password, PIN

PrefsLock is a simple utility that requires the Palm device user to enter the correct PIN before being able to access Preferences. If the correct PIN is not entered, the user cannot enter Preferences by tapping on the Prefs icon or by resetting the device. The user can enter the PIN by tapping on the onscreen digits, or by entering the PIN via Graffiti, then tapping on the OK button. If the PIN is correct, the Preferences app is displayed, otherwise the Palm is returned to the App Launcher (Home) screen.

It is designed for use in a corporate environment where users are not allowed to change device preferences as a policy. Firms that rely on accurate dates and times (for example on time/date stamped barcode data) often want to ensure that users do not change the device date/time as a means of altering recorded data. PrefsLock is designed specifically for this situation.

DocID: 10122 DocDate: 2005-07-01


HotSunc

Product | HotSunc
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00016.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per device licensing
Keywords | sync, lock, launch, hotsync

HotSunc allows you to specify which application your Palm device will be left in after the completion (successful or otherwise) of a HotSync. You can specify different destinations for local and modem HotSync's. Typically HotSunc would be used in a vertical application situation where you want to lock your users into your app.

DocID: 10123 DocDate: 2005-07-01


PocketExec

Product | PocketExec
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00017.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | boot, reset, lock, launch

PocketExec allows you to specify an application to launch after a Palm device has been reset. This allows you to keep your users away from built-in applications, preferences etc. In conjunction with HotSunc, PocketExec makes a great solution for turnkey applications.

DocID: 10124 DocDate: 2005-07-12


Nutshell

Product | Nutshell
Manufacturer | Ecamm
Website | http://www.ecamm.com/palm/nutshell
Version | 3.1.1
Platform | Windows, Macintosh, and PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | installer, compression, zip, bundle, archive, prc, pack

Ship a single PRC file.

Nutshell packages Palm files into a powerful compressed self-expanding installer. Eliminate installation-related support calls and headaches. Streamline your wireless content delivery. The possiblities are endless.

Here's how it works:

  • Distribute a Nutshell PRC file instead of multiple PRCs and PDBs.
  • Users install the Nutshell PRC just like a normal PRC file.
  • The Nutshell installer will show up in the Palm's main menu with your own icon and icon name.
  • When run, it will install all of your files, delete itself, and execute your app.

Advanced features include:

  • Works with any Palm and desktop computer. (Even Mac and UNIX.)
  • Enables over-the-air (OTA) download of multi-file installations.
  • Enjoy industry standard ZIP compression.
  • The Nutshell can run automatically when it is installed.
  • Installers are fully EFIGS localized.
  • Automatically creates an uninstaller.
  • Doesn't require any special software on the recipient's computer.
  • Installer uses your icon.
  • Auto-delete after installation.
  • Automatically launch your app after installation.
  • Install Datebook and Address Book entries.
  • Display License Agreement or welcome message directly on Palm screen.
  • Smoothly handle minimum Palm OS version and previous installs.
  • Advanced scripting allows for intelligent installations. (PRO version only.)
  • Command-line support for auto-build integration. (PRO version only.)

DocID: 10125 DocDate: 2005-07-18


PDB Manager

Product | PDB Manager
Manufacturer | C4B Limited
Website | http://www.qbuster.net/
Platform | MS Windows Utility for PalmOS and PocketPC devices
License | Free (Limited functionality), Single and Multiple User
Keywords | OCX, PDB, DBF, MDB, CSV, Import, Export

PDB Manager provides a convenient way for Satellite Forms' developers to manage PDB files. Data can be viewed, exported and imported between DBF, MDB and CSV files. The utility comes in the form of a free Desktop application and a licence-based OCX (ActiveX) which enables the developer to build PDB Manager functionality into their own desktop, web page or background applications.

A fully functional Trial version of PDB Manager is available for a limited number of uses. When the trial period expires the desktop version continues to work but with limited functionality. Single and Multiple user licences restore full functionality and enable the developer to use the OCX to build that functionality transparently into their own appplications. PDB Manager comes with coding examples for Visual Basic, MS Access and VB Script.

PDB files can be converted to and rebuilt from standard CSV text, xBase DBF and MS Access MDB files. PDB Manager is backward compatible to the Standard and Enterprise Editions versions of 3.x to v6.x.

The fully working version has the following functions:

1. Export contents to DBF and CSV text files.

2. Import data into existing PDB files from text, DBF and MDB files.

3. Build new PDB files from scratch using text, DBF and MDB files.

4. Record by record view of field contents of PDB and DBF files.

5. View PDB structures and dump contents to text files.

6. Change structure of existing PDB files without loosing user data.

7. Batch-wise processing of multiple files.

8. PDB header corruption is logged for later analysis.

9. The ActiveX can be run in most Windows development tools (VB, Access etc)

DocID: 10128 DocDate: 2005-07-15


AKInk

Product | AKInk
Manufacturer | Dochstader Developments Ltd.
Website | http://www.dochstader.com/web/products/components/AKink.asp
Platform | Windows PC for PalmOS & PocketPC handheld
License | Commercial, per developer, enterprise license with source option
Keywords | ink, signature, bitmap, GIF, activex

AKink allows Satellite Forms developers to convert INK fields to the Bitmap (BMP) and GIF file formats on the desktop PC. It provides image information including the number of points, dimensions and x & y offsets. If you are displaying INK signatures within you desktop or web applications, AKink is a must-have.

AKink In-Action:

AKink Sample Output:

After the conduit transfers the data, AKink converts the INK signatures to the desired file format (in this case, GIF). The images can now be used in a Visual Basic application, displayed on the web, archived to disk or printed. AKink provides the flexibility you deserve!

Signature 1

Signature 2:

DocID: 10151 DocDate: 2005-07-18


Combiner

Product | Combiner
Manufacturer | Envi.con
Website | http://envicon.de/e/pinstall/combiner.html
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | prc, pack, archive, compress, installer

Combiner for Windows is an easy and powerful package manager for PalmOS files. Simply put files together and save it as one zipped prc archive - ready to go:

  • Distributing software
  • Saving memory space
  • Keeping related files together
  • Saving transfer time over the Internet
  • Minimizing transfer time from PC to PDA
  • Beaming faster from PDA to PDA through Infrared

DocID: 10153 DocDate: 2005-07-18


PalmOS Emulator

Product | PalmOS Emulator
Manufacturer | PalmSource
Website | http://www.palmos.com/dev/tools/emulator/
Version | 3.5
Platform | PalmOS 3.x - 4.x
License | Free, open source
Keywords | PalmOS, POSE, emulator, test, simulator, debug

The Palm OS Emulator (POSE) is software that emulates the hardware of various models of Palm Powered™ handhelds. Since it allows you to create "virtual" handhelds on Windows, Mac OS, or Unix computers, the Palm OS Emulator is extremely valuable for writing, testing and debugging applications.

In particular, it emulates 68K devices and runs ROM images of the Palm OS through Palm OS 4.x. For testing applications for Palm OS Garnet or Palm OS Cobalt devices, see the Palm OS Developer Suite.

To emulate a device, you will need at least the Palm OS Emulator and a ROM image representing the device. In addition, you may want to download and install the skin that represents the device you are emulating. The choice of skin has only a cosmetic purpose and does not affect device emulation.

Other Palm OS Emulator tools are also available to members of the Palm OS Developer Program. If you're not already a member of the Palm OS Developer Program, register now. Membership requires a simple, online registration.

Note that some Palm OS licensees have customized the Palm OS Emulator to emulate specific hardware. To emulate these devices, you will need to obtain the customized emulator from the licensee's developer Web site.

Helpful tips:

1. Use a Release (not Debug) ROM, and disable all of the debugging options in POSE by right clicking, selecting Settings | Debugging and unselecting all of the debug options.

2. Install the HostFS utility in order to simulate memory cards in the POSE session.

DocID: 10157 DocDate: 2005-09-09


PalmOS Simulator

Product | PalmOS Simulator
Manufacturer | PalmSource and PalmOS licensees (eg. Palm)
Website | http://www.palmos.com/dev/tools/simulator/
Version | 5.x
Platform | PalmOS 5.x
License | Free, closed source
Keywords | PalmOS, simulator, PalmSim, OS5, test, debug, emulator

The Palm OS Simulator is the Palm OS compiled native for Intel x86. It is the real Palm OS running on top of the Device Abstraction Layer in a Windows environment, and does not emulate hardware.

When you open the Palm OS Simulator folder on a computer, you will find the various system DLLs that make up the core of the Palm OS. In addition, there are .rom files that contain resources needed by the Palm OS. These .rom files are not the same as the ROM images used by the Palm OS Emulator.

The Palm OS Garnet Simulator contains the Palm Application Compatibility Environment (PACE), which emulates 68K PRCs and the various default PRCs, such as Date Book and Memo Pad. The 68K environment provided in PACE is effectively identical to the functionality supported by Palm OS 4.1.

Device-specific versions of PalmSim are available from device manufacturers, such as Palm Inc., through their PluggedIn Developer program.

Q: How does it differ from the Palm OS Emulator?

A: The Palm OS Simulator does not emulate hardware like the Palm OS Emulator. Further, the Palm OS Simulator does not do nearly as much checking and validating of an application. The Palm OS Emulator (especially when used with a debug ROM) goes out of its way to find possible errors that the normal device would let go by, and some of this checking is specifically for future compatibility.

The Palm OS Simulator, in contrast, is the Palm OS. It does not go out of its way to catch errors. If you break the rules for future compatibility, it simply will not work. In a debug build, it may give an informative error message.

We recommend using both the Palm OS Emulator and the Palm OS Simulator to debug and test your applications.

Q: What platforms does the Palm OS Simulator run on?

A: Palm OS Simulator has been tested on Windows 98, NT, 2000, ME, and XP. Because the Palm OS Simulator relies on the endianess of Intel x86 chips being little endian, like that of ARM chips, the Palm OS Simulators for Palm OS Garnet and Palm OS Cobalt only run on the Windows platform.

Q: How is the Palm OS Simulator used?

A: Much like the Palm OS Emulator. You can drag and drop PRCs onto Palm OS Simulator to install them, but make sure the Launcher is not running when you do so. There currently is no dialog to show the file being installed like there is on the Palm OS Emulator. Palm OS Simulator (like the Palm OS Emulator) supports the AutoLoad directory. If you add a directory called AutoLoad in the same directory as PalmSim.exe, any PRCs or PDBs put into that directory will automatically load when you start the Palm OS Simulator.

Helpful tip: Install the HostFS PalmSim utility in order to simulate memory cards in the PalmSim session.

DocID: 10158 DocDate: 2005-09-09


PocketPC Emulator

Product | Windows Mobile PocketPC Emulator
Manufacturer | Microsoft
Website | http://msdn.microsoft.com/mobility/windowsmobile/downloads/emulatorpreview/default.aspx
Version | 1.0
Platform | PocketPC/Windows Mobile 2003 SE
License | Free, closed source
Keywords | PocketPC, PPC, emulator, test, debug, simulator

The Microsoft Device Emulator 1.0 Community Preview is a standalone version of the same ARM based Device Emulator that ships as part of Visual Studio 2005 Beta 2. The standalone emulator is intended for situations when you want to demonstrate or test your application on a computer that does not have Visual Studio 2005 installed. The emulator ships with support for Windows Mobile 2003 Second Edition.

The new Device Emulator has a number of features that make it significantly better than its predecessor. You will find that it:

  • Runs code compiled for ARM processors rather than for x86 processors. In most cases, you can run the same binaries on the emulator as you do on the device.
  • Supports synchronizing with ActiveSync. You can use the Device Emulator with a full ActiveSync partnership. This feature allows you to debug applications that are syncing, or be able to use real synchronized data from within the Device Emulator.
  • Provides support for more development environments. The emulator has been tested for developing and debugging applications with Visual Studio 2005, Visual Studio .NET 2003, and with eMbedded Visual C++ 4.0 (eVC4) SP4, all using ActiveSync. No crossover serial cable is required.
  • The Device Emulator supports GAPI. You can write and debug GAPI games on the Device Emulator and expect them to work.

The Device Emulator is a pre-release Community Preview. The software is not suitable for use in any critical operating environment. It is not supported by Microsoft Product Support Services.

Documentation, updates, additional images, bug submissions information, and a newsgroup for the Device Emulator are available on the Microsoft Device Emulator Community Preview website

Helpful tip: Set up the connection to ActiveSync to be able to sync information back and forth with Satellite Forms, and to use the Download App & Tables feature in App designer for easier application testing & development.

DocID: 10159 DocDate: 2005-09-09


Bachmann PrintBoy SDK

Product | PrintBoy SDK for Satellite Forms
Manufacturer | Bachmann Software
Website | http://www.bachmannsoftware.com/pbsdk_satforms.htm
Platform | PalmOS, PocketPC (PrintHTML only)
License | Commercial, per device
Keywords | Print, PrintBoy, Bachmann

PrintBoy SDK for Satellite Forms provides powerful printing tools, API's and printer drivers for developers using Satellite Forms development environment.

Choose from three powerful Editions of our PrintBoy tools for Satellite Forms:

PrintBoy SDK, Reports Edition

PrintBoy SDK Reports Edition is a full-featured set of tools for designing and integrating sophisticated printed reports into your mobile application.

  • Use our Report Layout functions to program forms, receipts, invoices and other sophisticated printed output.
  • Supports headers and footers, tables, fonts, alignment, images, barcodes, logos and more!

PrintBoy SDK, HTML Edition

PrintBoy SDK HTML Edition lets you print standard HTML directly from your Satellite Forms application code.

  • Support for tables, fonts, bitmaps, alignment and other standard HTML elements
  • Leverage your investment in HTML for use in your mobile printing application.
  • PrintBoy's HTML support is fully printer-independent, allowing you to print HTML to our full complement of supported printers and printer drivers
  • Extensions available for PalmOS and PocketPC

PrintBoy SDK, Basic Edition

PrintBoy SDK Basic Edition is a low-cost developer kit that lets you make use of basic printing instructions to produce simple printed output.

  • Page Manager for text-oriented line printing commands
  • Print Manager for graphical PCL or raster printing applications

A free trial version is available for download.

DocID: 10079 DocDate: 2006-10-05


Stevens Creek PalmPrint

Product | Stevens Creek PalmPrint
Manufacturer | Stevens Creek Software
Website | http://www.stevenscreek.com/palm/palmprintdevfaq.html
Version | 4.4.1
Platform | PalmOS
License | Commercial, per device license
Keywords | print, driver, SCS Printserver, PalmPrint, receipt, label, barcode

PalmPrint from Stevens Creek Software provides printing support for serial, Infrared, and Bluetooth printers from aany PalmOS device. In addition to the standard consumer PalmPrint application, they also have a developer product called SCS PrintServer, which is a special version of PalmPrint that allows you to add printing support in your applications.

PalmPrint/SCS PrintServer can be used from Satellite Forms applications via the PalmPrint Extension, available here: http://www.stevenscreek.com/palm/palmprintdevsatforms.html

DocID: 10008 DocDate: 2005-07-01


IPC PP-55 Mobile Printer

Product | IPC PP-55 Mobile Printer
Manufacturer | Manufactured by DATECS and distributed by Infinite Peripherals Inc.
Website | http://www.ipcprint.com/products/productsDetails.asp?codigo=231
Keywords | Printer, thermal, mobile, receipt, signature, PP55

The PP-55 makes your PDA/Smartphone a more powerful tool. Simply slide your handheld into the PP-55’s custom cradle and create a powerful, portable enterprise solution. The standard PP-55 allows you to print information from your handheld. The PP-55MS integrates a three track magnetic stripe reader. The PP-55MS-BC integrates a Symbol® CCD barcode scan engine with the printer and mag stripe reader.

The PP-55 works with a great number of handhelds. With its low price and versatility, the PP55 is a great solution for portable applications.

Satellite Forms Extensions:

Palm OS

Satellite Forms Palm OS Extension: http://www.ipcprint.com/sysprodserv/arquivos/SFormsSDK_v2_12-1-2005.rar

Printer Config Utility (required): http://ipcprint.com/sysprodserv/arquivos/DatecsPrint-PalmOS_v2.12_Lib55.zip

Pocket PC

Satellite Forms Pocket PC Extension: http://www.ipcprint.com/products/productsDetails.asp?codigo=231

Printer Config Utility (required): http://www.ipcprint.com/products/productsDetails.asp?codigo=231

Features:

  • Attaches directly to your PDA/Smartphone
  • Lightweight (~15oz without PDA)
  • 58mm direct thermal printing
  • Internal, rechargeable Li-Ion batteries
  • Easy “drop in loading” of paper
  • Changeable “cradles” allow for simple modification of printers to accept different PDAs
  • “Pass through” charging allows for charging of both handset and PP55 through IPC AC or DC adapters
  • Supports multiple text, graphic and image printing modes

Available versions:

  • PP55: Printer only
  • PP55MS: Printer with integrated 3 track magnetic stripe reader
  • PP55MS-BC: Printer with integrated 3 track magnetic stripe reader and Symbol® CCD barcode scanner

DocID: 10080 DocDate: 2008-05-28


Zebra TR-220 Mobile Printer

Product | Zebra TR-220 Mobile Printer
Manufacturer | PalmDataPro
Website | http://www.zebra.com/id/zebra/na/en/index/products/printers/mobile/tr220.html
Keywords | Printer, barcode, label, Symbol

The ergonomically designed TR 220 is Zebra's solution for one-handed scanning and printing, in the aisles or warehouse. The TR 220 snaps on to popular Symbol handhelds for all-in-one trigger operation. This integrated, scan-and-print mobile printer prints labels (including linerless), receipts, and tags, making the lightweight TR 220 ideal for a number of applications including retail shelf labeling, warehouse receiving and stock picking, transportation receipt and ticket printing, product identification, inventory and asset management, and healthcare specimen labeling.

A 2" (50.8 mm) printer that locks together securely with a terminal, the TR 220 is powered by a Lithium Ion battery and can print up to 2,500" (63500 mm) on a single charge. Its direct connection enables this space saver to cost-effectively eliminate printer cables or radios.

Zebra provides a Satellite Forms extension for PalmOS for this printer as a part of the TR 220 Software Development Kit, available free of charge here: http://www.zebra.com/id/zebra/na/en/index/drivers_downloads/utilities/mobile_utilities/tr220_sdk.html

Also marketed by Symbol Technologies as the PGP-1000 model.

DocID: 10081 DocDate: 2005-07-01


Monarch 6015 PrintScreen

Product | Monarch 6015 PrintScreen
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00058.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Print, Monarch

Sample Application

M6015PrintScreen is a SatForms plugin extension that enables you to print entire screens or rectangular screen regions to the cool Monarch 6015 printer. No other printing extensions or print managers are required.

Features include:

  • You can print monochrome full screens in small or large size.
  • You can print monochrome rectangular screen regions (such as just a signature ink or SFInkView field in small or large size.
  • You can also print 2-bit (4 level) greyscale screens in large size! It works well printing 2-bit grey PalmPix image thumbnails in conjunction with the SFPalmPix extension, for example.

The PrintScreen function also lets you choose from three border styles, or no border. The PrintRegion function does not print a border (unless there is a border on the screen in the region you have selected).

Utility methods to get and set the screen bit depth are also included, so that you may test to see if your Palm is in an incompatible screen mode first, and change it to a compatible mode before printing. For example, on a PalmIIIc you would need to switch it to mono or 2-bit grey mode before printing a screen or region.

Text Printing on the Monarch 6015: The standard Printer extension that comes with SatForms controls the Monarch 100% fine for text printing. You should use it for any non-graphics printing. Download the SatForms example from the Monarch website to use as a guide, and also download their printer programming manual which lists all of the printer control codes for doing things like bold print, large print, rotated print, etc.

DocID: 10064 DocDate: 2005-07-01


Monarch 6017 PrintScreen

Product | Monarch 6017 PrintScreen
Manufacturer | PalmDataPro
Website | http://www.palmdatapro.com/itm00071.htm
Version | 1.0
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | Print, Monarch, Symbol

Sample Application

M6017PrintScreen is a SatForms plugin extension that enables you to print entire screens or rectangular screen regions to the cool Monarch 6017 printer, which is designed for the Symbol SPT-1700 Palm device. No other printing extensions or print managers are required.

Features include:

  • You can print monochrome full screens in small, medium, or large size.
  • You can print monochrome rectangular screen regions (such as just a signature ink or SFInkView field in small, medium, or large size.
  • You can also print 2-bit (4 level) greyscale screens in medium size! It works well printing 2-bit grey bitmaps in conjunction with the SFBitmapView extension, for example.
  • The PrintScreen function also lets you choose from three border styles, or no border. The PrintRegion function does not print a border (unless there is a border on the screen in the region you have selected).

Text Printing on the Monarch 6017: The standard Printer extension that comes with SatForms controls the Monarch 100% fine for text printing. You should use it for any non-graphics printing. Download the SatForms example from the Monarch website to use as a guide, and also download their printer programming manual which lists all of the printer control codes for doing things like bold print, large print, rotated print, etc.

DocID: 10058 DocDate: 2005-07-01


PalmoLPT

Product | PalmoLPT
Manufacturer | Palmosoft SRL
Website | http://www.palmdatapro.com/itm00098.htm
Version | 1.6
Platform | PalmOS
License | Commercial, per developer, royalty free redistribution
Keywords | print, infrared, IRDA, Bluetooth, IrLPT, IrComm, RFCOMM

This extension enables IrDa printing for every printer compatible with IrLPT or IrComm without requiring a runtime license for each Palm device! Now you can add wireless infrared printing to your Satellite Forms application without needing to pay the high cost of per-device license fees.

Supports all of these connection types:

  • IrDA printers using IrLPT protocol
  • IrDA printers using IrComm protocol
  • Bluetooth printers using RFCOMM protocol
  • serial printers using serial cable

You can freely use with Custom Sprint printer (details on the Custom site).

DocID: 10115 DocDate: 2005-07-12


Printer Extension

Product | Printer Extension
Manufacturer | Standard Satellite Forms component
Website | http://www.satelliteforms.net/
Source code provided | Yes
Platform | PalmOS
Sample project(s) | PrinterApp
Keywords | printer

Printer works as a device driver for a Seiko DPU-414, Epson compatible printer so that items can be printed from within Satellite Forms applications. This extension is meant to be a demonstration of extensions developed as device drivers for Satellite Forms applications.

Scripts API

The following methods are accessible from the scripting language. These are all global methods unless stated otherwise.

Global Method Usage: [Name of method]

Example of usage: OpenPort()

Private Method Usage: Extensions(“[Extension Name]”).[Name of method]

Example of private method usage: Extensions(“Printer Extension”).About()

About()

A private method that shows the extension's about box.

ClosePort()

Closes the serial port.

Example of usage: ClosePort()

LbackSp()

Goes back one space in the output.

Example of usage: LBackSp()

Lbell()

LBell()

LDDGraphics(integer, integer)

LDDGraphics(n1,n2)

Lcancel()

Cancels the current print job.

Example of usage: LCancel()

Lcondensed(integer)

Prints condensed text.

Example of usage: LCondensed(Enable)

LdoubleStrike(integer)

LDoubleStrike(Enable)

LdoubleWidth(integer)

Sets the printer output to double-width lines.

Example of usage: LDoubleWidth(Enable)

LdoubleWidthN(integer)

LDoubleWidthN(noChars)

Lemphasized(integer)

Prints the following text in a bold font.

Example of usage: LEmphasized(Enable)

LformFeed()

Form feeds the printer.

Example of usage: LFormFeed()

LintnlChars(integer)

Prints international characters.

Example of usage: LIntnlChars(Val)

LlineFeed(integer)

LLineFeed(Val)

LltMargin(integer)

Sets the left margin.

Example of usage: LLRtMargin(Val)

LpageLength(integer)

LPageLength(Length)

Lprint(integer)

Prints the given string.

Example of usage: LPrint(String)

LprintCR()

LPrintCR()

LprintDir(integer)

LPrintDir(Val)

LprintF(string, integer, integer)

Outputs a formatted string to the printer.

Example of usage: LPrintF(String, W, RJustify)

LprintGraph(integer, string, integer)

Print in graphics mode.

Example of usage: LPrintGraph(mode, dat, len) m = 0 Single, m = 1 Double Density

LprintLF()

LPrintLF()

LprintLn(string)

Outputs a line to the printer.

Example of usage: LPrintLn(String)

LrepeatStr(string, integer)

Repeats the given string the number of times specified.

Example of usage: LRepeatStr(s,n) where s = String and n = repeat count

Lreset()

Reset the printer.

Example of usage: LReset()

LrtMargin(integer)

Sets the right margin.

Example of usage: LRtMargin(Val)

LsetAutoLF(integer)

LSetAutoLF(val) true sends CR+LF in LPrintLn(s)

LSDGraphics(integer, integer)

LSDGraphics(n1,n2)

LselectFont(integer, integer)

Selects the desired font.

Example of usage: LSelectFont(Val)

LsetGraphics(integer, integer, integer)

LSetGraphics(m,n1,n2)

LsetLine(integer)

LSetLine(Val) where Val can be either 11 or 15.

Lsubscript(integer)

Prints the given value as a subscript character.

Example of usage: LSubscript(Val)

Lsuperscript(integer)

Prints the given value as a superscript character.

Example of usage: LSuperscript(Val)

Ltab()

Prints a tab character.

Example of usage: LTab()

OpenPort()

Opens the serial port.

Example of usage: OpenPort()

SetPrinter(integer)

Selects the output printer based on their ID number.

Example of usage: SetPrinter(ID)

SetPort(integer, integer, integer, integer, integer)

Configures the serial port.

Example of usage: SetPort(Baud,HwHs,Data,Stop,Parity) where HwHs is the hardware handshake.

DocID: 10140 DocDate: 2005-07-18


Sapphire IrDA Print utility

Product | Sapphire IrDA Print utility
Manufacturer | Sapphire Solutions Ltd.
Website | http://www.sapphire-solutions.co.uk/products/irda/
Version | 3.0
Platform | PocketPC
License | Commercial, per developer, royalty free redistribution
Keywords | print, infrared, IrDA, printer, Sapphire

The Sapphire IrDA Utility makes PocketPC infra-red printing easy with the following functionality:

  • Establish a connection with a IrDA enabled printer
  • Print text to the printer
  • Print new lines and form feeds to the printer
  • Close the connection to the printer

DocID: 10187 DocDate: 2006-11-14


IPC DPP-350 Mobile Printer

Product | IPC DPP-350 Mobile Printer
Manufacturer | Manufactured by DATECS and distributed by Infinite Peripherals Inc.
Website | http://www.ipcprint.com/products/productsDetails.asp?codigo=291
Keywords | Printer, thermal, mobile, receipt, signature, DPP-350, Bluetooth, USB, magstripe

The DPP-350 portable printer provides both ruggedness and reliability in a small package. Communicate with your handheld through a RS-232C cable, USB Cable or Bluetooth® interfaces. The DPP-350 ruggedized, compact and is a cost effective Bluetooth® printing solution.

The DPP-350’s compact size along with its numerous interface methods make it a great option for your portable printing needs. Optional features include Mag Stripe reading, Smart Card reading, MiFare reading and a SD slot for SD card or WiFi module.

Satellite Forms Extensions:

Satellite Forms Palm OS Extension: http://www.ipcprint.com/sysprodserv/arquivos/SFormsSDK_v2_12-1-2005.rar

Printer Config Utility (required): http://ipcprint.com/sysprodserv/arquivos/DatecsPrint-PalmOS_v2.12_Lib55.zip

Satellite Forms Pocket PC Extension: http://www.ipcprint.com/sysprodserv/arquivos/pp55sdk-ppc-satelliteforms.zip

Printer Config Utility (required): http://www.ipcprint.com/sysprodserv/arquivos/PrinterUtility-2008-03-27_v2.0.2.zip

Features:

  • Communicate with RS-232C, USB cables or wirelessly through Bluetooth® interface
  • Lightweight (~15oz with paper and battery)
  • 80mm direct thermal printing
  • Internal, rechargeable Li-Ion Battery batteries
  • Easy “drop in loading” of paper
  • Label printing capabilities (ESC/POS, Eltron label emulation)
  • 3 Track Mag Stripe Reader (optional)
  • Smart Card Reader (optional)
  • MiFare reader (optional)
  • SD card slot for SD card or WiFi modules (optional)

Available versions:

  • DPP-350BT Bluetooth® Interface, RS232C and USB Interface
  • DPP-350MS Magnetic Stripe Reader, RS-232C and USB Interface
  • DPP-350MSBT Magnetic Stripe Reader, Bluetooth® , RS-232C and USB Interface
  • DPP-350MSBTSC Magnetic Stripe Reader, Smart Card Reader, Bluetooth® , RS-232C and USB Interface
  • DPP-350MSBTSCMF Magnetic Stripe Reader, Smart Card Reader, Mifare reader, Bluetooth® , RS-232C and USB Interface

DocID: 10193 DocDate: 2008-06-25


TopSync Server

Product | TopSync Server
Manufacturer | PDA-Tech
Website | http://www.pda-tec.com/syncserver.shtml
Version | 3.x
Platform | Windows ActiveX for syncing PalmOS handhelds
License | Commercial, single and developer options
Keywords | server, sync, TCPIP, network, wireless

Topsync-Server is a tool that helps you rapidly build, deploy and manage mobile wireless solutions. ActiveX architecture allows developers to use any ActiveX compliant tool such as VB or VC++ to write conduits. Using the conduit or the Server is very simple. It is also the fastest tool on the market to transfer data from and to the HH's because of inbuilt Zip compression. You drop the ActiveX on a form and you have nearly done all to comunicate with the Handhelds.

  • ActiveX as a full SyncServer
  • Build your server yourself, connect over TCP-IP, multiple connections

  • Can serve to unlimited Palms at the same time, Limit is your hardware.
  • Multiple server deployment for load-balancing can distribute load to multiple servers from a main server. For example: your Palm Clients can connect to your server in states and they can sync with a server in Japan :)
  • Server and conduit at the same time.
  • Hotsync is the client also over TCP-IP or COM port in the worst case.
  • Programmer does not have to Install or register the conduit.
  • Uses online compression,for both up and download,at least 10 x quicker sync times.
  • No problems with huge amount of records.
  • 65534 records, 10 MB per File is the PalmOS Limit.
  • Can send and take parameters form your SF application.
  • Can Start any Palm application after the sync operation.
  • Send and receive any palm file you like.
  • Install complete applications.
  • Sync SatForms databases, Mdb, dbf, XML.
  • Complete control of the connected palm, remote IP, FlashID, user, password etc.
  • Works with every version of hotsync, also without.
  • SF extension included.
  • SF source code for the Palm Client is also included and can be modified.

DocID: 10089 DocDate: 2005-07-01


PDAFileServer

Product | PDAFileServer
Manufacturer | I.T. Link Ltd.
Website | http://www.pdafileserver.com
Version | 1.0
Platform | Windows Server for syncing PocketPC devices
License | Commercial, single and developer options
Keywords | server, sync, PocketPC, TCPIP, wireless

PDA File Server© is a programming control that enables you to rapidly integrate and build wireless communications within your own Pocket PC applications.

Communications is a complicated development area. PDA File Server makes it simple whilst expanding your Pocket PC application to give full wireless mobility.

Active X architecture means developers using any Active X compliant programming environment such as VB.NET or VC++ can easily implement communications for their own server side applications. All communications are built on top of the standard TCP/IP stack enabling a wide variety of connections including Cradle, Wireless CDMA, Wireless GPRS, Smartphone or wireless LAN.

PDAFileServer is designed to integrate with Satellite Forms.

PDA File Server - Communications Functions

  • Send Files
  • Receive File
  • List Directories
  • Create Files
  • Delete Files
  • Send and Receive Instant Messages

PDA File Server - Communications Features

  • Simultaneous connectivity for an unlimited number of handheld devices
  • Uses on the fly compression to dramatically reduce file transfer sizes and times
  • Can handle very large files with ease
  • Complete control of the connected handheld including remote IP, Flash ID, Username, Password
  • Comes with ready to use client (handheld) application with simple call and return to your application.

PDA File Server - Compatibility

  • Client (handheld) support for Satellite forms, Embedded C++, Visual Studio.net or any other environment that allows to start an external application
  • Server support for all Active X compliant programming environments
  • Database converters include Visual FoxPro to SQLite, Microsoft Access

Implementation :

Included with PDA File Server are full demonstration versions for both the server and client (handheld). This allows you to send test files and evaluate the functionality of PDA File Server before implementing with your application.

For ease of development we also include source code for the client and server enabling you to modify or integrate as you see fit.

DocID: 10169 DocDate: 2006-10-02


OneBridge Mobile Data Suite

Product | OneBridge Mobile Data Suite
Manufacturer | Sybase iAnywhere
Website | http://www.ianywhere.com/products/onebridge_mobile_data.html
Version | 5.5
Platform | Windows Server for Palm OS and Windows Mobile Pocket PC data synchronization
License | Commercial
Keywords | server, sync, PalmOS, Windows Mobile, PocketPC, wireless, groupware

OneBridge Mobile Data Suite delivers the ability to extend enterprise systems to mobile devices easily. OneBridge optimizes and automates many of the difficult tasks associated with mobile applications, greatly reducing the amount of time it takes to develop a mobile enterprise application. Application developers no longer have to be concerned with the properties of the network, how to synchronize the data, how to integrate to enterprise systems or how to deploy and support the application. OneBridge solves all of these problems so developers can focus on building functionality and value into their mobile solutions.

OneBridge Mobile Data Suite is a robust development suite for accelerating application development on mobile devices. With a broad range of development features, OneBridge Mobile Data Suite provides tools for every level of application development experience. So whether you are an enterprise developer, an independent applications developer, or part of the IT team charged with deploying and maintaining applications, OneBridge Mobile Data Suite provides a powerful foundation upon which to deliver mobile data to the workforce.

iAnywhere OneBridge Mobile Data Suite enables enterprises to develop and deploy rich business applications on mobile devices. Its enterprise mobile architecture delivers both a high degree of reliability and extensive backend integration to legacy enterprise applications. For mobile workers, OneBridge allows flexibility and investment protection by enabling enterprises to extend additional business applications to their existing devices.

Download a 30-day trial version of OneBridge Mobile Data Suite at:

http://www.ianywhere.com/getomds_sat

DocID: 10170 DocDate: 2006-10-26


jSyncManager Java-based Server Sync System

Product | jSyncManager Java-based Server Sync System
Manufacturer | Open Source, Satellite Forms sync components contributed by TechnoDane Software & Systems, LLC
Website | http://www.jsyncmanager.org
Platform | Java capable desktop/server OS (Linux/UNIX/Windows/MacOS) syncing Palm OS handheld platform via serial, USB, and network sync
License | LGPL
Keywords | server, sync, PalmOS, wireless, network, USB, Java, Linux

The jSyncManager is an open source, Java implementation of a HotSync compatible protocol stack, set of data abstraction objects, development tools, and applications allowing developers and end-users to synchronize Palm OS devices with any Java based system. HotSync your Palm with jSyncManager and Java.

USERS: Looking for a single Java Palm sync solution for your PalmOS-based handhelds that will run on all your organizations systems? The jSyncManager will run on Linux, OS/2, Windows, FreeBSD, Solaris, Mac OS X, and any other Java enabled platform.

DEVELOPERS: Want to provide PalmOS-based handheld data synchronization support to your application? Looking to build your own data synchronization application based on the jSyncManager engine? Looking to write a platform-neutral conduit for your databases that will work on any platform? The jSyncManager can help.

Satellite Forms Application Developers: Michael A. Schwarz of TechnoDane developed a Java library to synchronize Satellite Forms data on PalmOS devices using jSyncManager, and has contributed that library to the project as open source. This library was written to support a specific client. TechnoDane built a field force automation application for Palm OS using SatelliteForms 6.1.1 and had over 100 users using network sync through jSyncManager using this library. The library has been released under the LGPL and included in the "contrib" folder of the jSyncManager project. It was written by Michael A. Schwarz and is "owned" by his company, TechnoDane Software & Systems, LLC . TechnoDane is happy to provide assistance in using the library. Contact Michael at mschwarz at technodane.com.

DocID: 10192 DocDate: 2008-05-26


SatFormsDev Discussion Forum

Resource | SatFormsDev Discussion Forum
Provider | Thacker Network Technologies Inc.
Website | http://www.satelliteforms.net/forum.htm
Keywords | forum, message, chat, posting, email, list

The SatFormsDev Discussion Forum is an online forum for Satellite Forms developer discussions and related announcements. Membership is open to everyone, and while visitors can read the message archives, you must subscribe to the forum in order to post messages. Membership is free.

You are encouraged to post questions (and answers!) regarding anything and everything related to Satellite Forms.

You can participate in the SatFormsDev forum through any or all of these methods:

  • via an email mailing list, with individual message or digest delivery
  • by connecting to SatFormsDev with your news reader (nntp)
  • via the web interface with full text searching of archives
  • even receive it as an RSS feed

Subscribing to SatFormsDev

Start by subscribing to SatFormsDev by going here: http://forum.satelliteforms.net/read/about/?forum=satformsdev

The web forum interface to read/post/search messages is available here: http://forum.satelliteforms.net/read/?forum=satformsdev

Remember that you must log in to the forum to post messages. To log in to the web interface so that you can post messages, go here: http://forum.satelliteforms.net/read/login/?forum=satformsdev

Access via newsgroup

The nntp newsgroup access is here: news://lyris.satelliteforms.net/satformsdev

Note that you need to log in to the news server to post messages, with the username and password that you subscribed with.

Email mailing list access

The email address for members posting to the forum is: satformsdev@lyris.satelliteforms.net

Please take a few moments to familiarize yourself with the different options to view and participate in this forum. The web interface does have comprehensive user help available by clicking on the little blue question mark icon in the top right corner.

DocID: 10084 DocDate: 2005-07-01


Jon Blackman's SatForms Power Tips

Resource | Jon Blackman's SatForms Power Tips
Provider | Jon Blackman
Website | http://www.pocketinformatics.com/satforms/
Keywords | tips, tricks, advice, help, samples, tutorial

Jon Blackman, M.D., M.S., has written some great tutorials for Satellite Forms developers in the course of building commercial physician software with SatForms, and has documented several power tips that will put a professional polish on your projects.

DocID: 10085 DocDate: 2005-07-01


Linda Miller's SF Developer Help Pages

Resource | Linda Miller's SF Developer Help Pages
Provider | Linda Miller
Website | http://www.anmldr.com/satforms/default.htm
Keywords | help, tips, links

Linda Miller, DVM, is a full time veterinarian who also finds time to write vet medicine handheld applications. She has compiled an extensive list of Satellite Forms extensions and resources to help both new and experienced developers.

DocID: 10086 DocDate: 2005-07-01


Handheld Competence

Organization | Handheld Competence
Website | http://www.handheld-competence.de/
Platform | Palm OS, Pocket PC
Services | Application development, extension development, developer training

Handheld Competence offers experience for many years in Satellite Forms for Palm OS programming and outstanding knowledge in execution and management of international software projects. Due to experience of many years within the hardware and software development for embedded systems and Palm OS handheld devices we provide deep knowledge in the design and the development of custom specific enterprise level software. Additionally we are specialists in extension development for Satellite Forms for Palm OS especially for driving external hardware (e.g. serial, Bluetooth, IrDA). Beside software development and consulting services we offer training courses and workshops for Palm OS developers in Europe and worldwide, whether at our training facility in Germany or at your site.

  • Satellite Forms development course (beginners and experienced developers)
  • Extension development for Satellite Forms for experienced PalmOS developers
  • Metrowerks CodeWarrior for Palm OS development course (beginners and experienced developers)
  • OneBridge Mobile Groupware server synchronization setup, configuration, and support

Contact us for more information:

Handheld Competence

Dipl.-Ing. Univ. Jochen Hammer

PalmOS Certified Developer

Handelsstrasse 7

D-91166 Georgensgmuend

Germany

Fon: 0049 9172 700 672

Fax: 0049 9172 700 673

Mobile: 0049 172 84 23 828

Email: info@handheld-competence.de

Web: http://www.handheld-competence.de

DocID: 10087 DocDate: 2008-05-26


MobiTech Systems

Organization | MobiTech Systems
Website | http://www.mobitechsystems.com
Platform | Palm OS, Pocket PC
Services | Custom and packaged application development & developer training

As an early developer for Satellite Forms (we tested Beta of version1), the staff at MobiTech has been involved in Palm OS development since 1997. With systems ranging from shrink-wrapped applications for a single business owner to a 5,000 user custom order entry solution for a 26 billion dollar enterprise, our development team has addressed issues across a broad range of business needs. Specific development background in:

  • Order Entry
  • Service Workorder
  • Clinical Documentation
  • Time and Expense Documentation

Also experienced in PocketPC and pen-tablet development.

Contact us for more information:

MobiTech Systems

12601 Gristmill Cove

Austin, TX 78750

512.250.1472

info@mobitechsystems.com

http://www.mobitechsystems.com

DocID: 10160 DocDate: 2008-05-26


PalmoSoft SRL

Organization | PalmoSoft SRL
Website | http://www.palmosoft.com
Platform | Palm OS, Pocket PC
Services | Application development, extension development, driver development, synchronization system, developer training

Palmosoft is an Italian company with advanced skills and experience in the Handheld world.

Development: some tools provided to developers to aid in programming / custom extension development.

Sync System: tools to synchronize ODBC database to Satellite Forms Palm OS / SSCE Pocket PC databases.

Enterprise: custom development

SFA: Sales Force Automation (Actual language: Italian, Spanish, English).

Contact us for more information:

PalmoSoft Srl

Via Parini 33

I-21100 Varese

Italy

Tel: +39 0332 811130

Fax: +39 0332 817980

Email: info@palmosoft.com

Web: http://www.palmosoft.com

DocID: 10126 DocDate: 2008-05-26


RLS Data Concepts Ltd

Organization | RLS Data Concepts Ltd
Website | http://www.rlsdata.com
Platform | Palm OS and Pocket PC
Services | Application development

RLS Data Concepts Ltd is a software company that specializes in MS Access and handheld database development. Our flagship product is an inspection software designed for municipal fire departments, however, we also develop custom business applications to provide added value through mobility. RLS Data Concepts Ltd handles the project from design, build, deployment, training, and support. We have been programming Palm OS and Pocket PC applications in Satellite Forms since 2002. Our development experience totals 18+ years with Microsoft technology, and 6 years with mobile applications.

Contact us for more information:

RLS Data Concepts Ltd

6151 28th St SE

Suite 7A

Grand Rapids, MI 49546

Office = 616-648-2434

Fax = 616-285-1069

Toll Free = 877-594-7411

ryan@rlsdata.com

http://www.rlsdata.com

DocID: 10161 DocDate: 2008-05-26


TraX Software

Organization | TraX Software
Website | http://www.traxmss.com
Platform | Palm OS (Satellite Forms), Windows, LAMP
Services | Application development

TraX Software develops:

  • Specialised Field Service Application for Fire Equipment Installation and Service organisations, as well as a general purpose field service applications.
  • Customised solutions using PDA's for field service and data collection applications incorporating wireless (GPRS) technology.

Contact Details:

TraX Software

NFS House - cnr High & Shropshire Streets,

Queanbeyan

NSW 2620

Australia

Phone: +61 2 62997130

Fax: +61 2 6299 2288

email: info@traxmss.com

http://www.traxmss.com

DocID: 10022 DocDate: 2006-07-07


Damue Pty Ltd

Organization | Damue Pty Ltd
Website | http://www.damue.com.au/
Platform | Palm OS, Pocket PC
Services | Application development

Damue Pty Ltd has been developing custom application for the Palm OS and Pocket PC environments for the past 10 years. We have been involved in a wide variety of applications ranging from sales force automation, field service and inventory management systems. Application have involved the interfacing to cameras, barcode scanners, printers and many other external devices. We have experience in converting existing applications from Palm to Pocket PC using Satellite Forms.

Contact us for more information:

Damue Pty Ltd

46 Whitby Road,

Kings Langley. NSW. 2147

Australia

Phone : +61 2 9624-2802

Fax : +61 2 9624-2651

Mobile : 0408 582 802

Email : adam@damue.com.au

Web : http://www.damue.com.au

DocID: 10162 DocDate: 2008-05-26


TechnoDane Software & Systems, LLC

Product | TechnoDane Software & Systems, LLC
Website | http://www.technodane.com
Platform | Palm OS, Pocket PC
Services | Custom Application Development, Training

TechnoDane's founding partner is a software developer with over twenty years experience developing custom software applications for businesses. We are always interested in partnering with small business to develop interesting applications. Businesses like yours are often not well served by custom software. It tends to be either too expensive to hire professional services, or it tends to be amateur-quality developed by inexperienced developers.

We avoid that by only taking on jobs that fit both you and us.

We have a great deal of experience in developing handheld and mobile applications. We particularly like to develop for the PalmOS family of devices, not because they are the best or most powerful, but because they are the least expensive, both for us and for our clients.

Contact us for more information:

TechnoDane Software & Systems, LLC

Attn: Michael A. Schwarz

24235 Northridge Avenue

Rogers, MN 55374

USA

Tel: 763-482-2157

Email: info@technodane.com

Web: http://www.technodane.com

DocID: 10191 DocDate: 2008-07-25


NH SoftWerks LLC

Product | NH SoftWerks LLC
Website | http://www.nhsoftwerks.com
Platform | Palm OS, Pocket PC
Services | Custom and packaged mobile application development including data collection applications, synchronization, and back end integration.

Mobile Application Development Services

Increasingly, companies are deploying mobile application solutions to empower their employees in new and powerful ways. Carrying, accessing, or collecting vital customer information on a handheld device can offer a significant competitive advantage.

NH SoftWerks has over a dozen years of experience in the development and deployment of custom handheld/mobile applications using Satellite Forms on a variety of platforms including the Palm OS and Windows Mobile/Pocket PC.

Whether your company is looking to develop in house systems, develop and deploy commercial software as part of your business, or you are an independent software vendor (ISV) looking to outsource or jumpstart a mobile addition to your existing product line we can help.

Contact us for more information:

NH SoftWerks LLC

161 Ash Swamp Rd

Newmarket, NH 03857

Tel: +1 603-659-4664

Fax: +1 603-658-1315

Email: sales@nhsoftwerks.com

Web: http://www.nhsoftwerks.com

DocID: 10203 DocDate: 2008-07-25


Lerin Data
         Previous Topic
Product | Lerin Data
Website | http://www.lerin.se
Platform | Palm OS, Pocket PC
Services | Custom and packaged application development & developer training

We have long experience in developing and consultations. We used Satellite Forms since version 1 and Lerin Data has been involved in Palm OS development since 1998. We have done both large and small solutions for all kind of market. Functionality, quality, and user friendliness is our leading star. Lerin Data have totals 29+ years long technical and development experience.

Specific development background in mobile solutions:

  • Order Entry
  • Service Work order
  • Time tracking
  • Survey

Also experienced in:

  • Industrial maintenance system consulting and implementation.
  • General development, such as production systems, databases and more.

Contact us for more information:

LERIN DATA

Kastrupgatan 16

164 41 KISTA

SWEDEN

Tel:+46 70 551 82 81

Email: info@lerin.se

Web: http://www.lerin.se

DocID: 10204 DocDate: 2008-07-25


Intellisync Data Sync

Product | Intellisync Data Sync
Manufacturer | Intellisync
Website | http://www.intellisync.com/pages/Products/Data-Sync/
Platform | Windows Server for PalmOS and PocketPC handhelds
License | Commercial
Keywords | Sync, server, Intellisync, data, TCPIP, network

Mobilize Enterprise Information with Intellisync Data Sync

Today's mobile workforce needs access to corporate data both in the office and on the road. Companies need to provide secure, mobile access to information from core business applications such as Customer Relationship Management, Enterprise Resource Planning, Supply Chain Management, and other specialized industry solutions to help ensure that staff can be productive on the move.

Build Competitive Advantage

Intellisync Data Sync helps companies build competitive advantage by empowering mobile workers with enterprise information, anywhere and anytime. Intellisync Data Sync provides the industry’s most robust solution for enabling mobile applications with sophisticated data synchronization technology to manage the most complex data requirements.

Leverage a non-invasive approach

By leveraging a non-invasive application integration approach and support for heterogeneous data and device environments, Intellisync Data Sync helps companies minimize the total cost of owning and deploying mobile solutions.

Streamline and automate processes

Intellisync Data Sync also allows companies to streamline and automate paper-based data collection by deploying mobile solutions that utilize a new generation of high-power, low-cost mobile devices. Optimized for wireless connectivity, Intellisync Data Sync allows companies to replace clipboards with pocket-sized devices to reduce costs, decrease data-entry errors, increase efficiency, and move information into billing, inventory, and other enterprise systems faster than ever before.

Communicate Cost-effectively and efficiently

Whether deploying laptop or handheld driven mobile solutions to hundreds or thousands of users, Intellisync Data Sync-enabled applications ensure enterprise information is available even when a network connection is not. Intellisync Data Sync efficiently manages application data changes between mobile devices and enterprise data sources during the occasional connection. Changes made via the application while running remotely are synchronized with enterprise data sources using patented processes designed to minimize connection times and provide error-free, bi-directional updates to application data.

Features Include

  • High-performance architecture
  • Sophisticated data management
  • Powerful admin tools
  • Non-invasive integration
  • Integration with other components of Intellisync Mobile Suite

Benefits Include

  • Easily mobilizes applications
  • Minimizes communication costs for remote application access
  • Eliminates the need for conduit coding and maintenance
  • Scales to meet the most demanding enterprise needs
  • Accommodates the existing database environment
  • Reduces the cost of paper-based data collection processes

DocID: 10091 DocDate: 2005-07-01


Michael Hill

Organization | Michael Hill
Platform | Palm OS & Pocket PC
Services | Application development, developer training, user training

Since 1999, Michael Hill has developed and programmed in Satellite Forms for Palm OS, with nearly 20 years in the Information Systems environment. Michael offers software development and consulting services which includes design and customizing your application for you and your company's mobile workers. Applications may include barcoding, magnetic stripe reading, beaming, mobile printing, wireless synching and all media types. In addition to software development and consulting services, Michael offers training and education on the use of handheld devices.

For more information, contact:

Michael Hill

2650 Conley Dr.

Cumming, GA 30040

Telephone: 404-216-3751

Email: mkevhill@aol.com

DocID: 10154 DocDate: 2008-05-26