HB++ samples
HB++ is provided with numerous detailed samples, covering a large range of topics. Moreover, the HB++ team periodically releases new samples!
Use the controls below to find samples or code snippets related to a given topic.
Address Book
This sample is provided with the clsAddress class. This class can be used to manage the built-in Address Book database in HB++ projects. You can reuse the clsAddress class in your projects as well as modify the class itself.
Alphablending sample
This sample demonstrates how to add alphablending effect in your HB++ applications, contributed by quagliozzi. It comes with an ARMlet that you can use in your projects. Note that the.dll is builded so that you can also debug your application using Palmsim.
AppForgeDBReader
This sample is provided with the clsAppForgeDB, clsAppForgeRecord and clsAppForgeField reusable classes that allow your HB++ applications to handle AppForge© databases.
Autograph
Autograph database. This application implements all the functionality of the built-in Palm OS® applications (synchronization conduit, item search, categories, IR transmission) and respects UI design guidelines.
BtChat
This example is a simple chat application that demonstrates how to establish an RfComm link over a Bluetooth connection between two devices. Since it requires some Bluetooth hardware, this application cannot be run on the Palm OS® Emulator nor on the Palm OS® Simulator, but only on physical devices.
BtGPS
This example is a simple GPS application that demonstrates how to establish a link to a Bluetooth GPS, and how to parse NMEA frames. Since it requires some Bluetooth hardware, this application cannot be run on the Palm OS® Emulator nor on the Palm OS® Simulator, but only on physical devices.
BtNames
This example is a simple application that scans the neighborhood for Bluetooth devices and retrieves their friendly names. Since it requires some Bluetooth hardware, this application cannot be run on the Palm OS® Emulator nor on the Palm OS® Simulator, but only on physical devices.
BtWhiteboard
This example is a simple whiteboard application that demonstrates how to implement piconets and an L2Cap link over a Bluetooth connection. Since it requires some Bluetooth hardware, this application cannot be run on the Palm OS® Emulator nor on the Palm OS® Simulator, but only on physical devices.
Calendar
This sample is provided with the ucCalendar and the ucTimeSelector user controls. The ucCalendar user control can be used to manage to display a month view or a week view in your HB++ projects. The ucTimeSelector user control can be used to enter a time interval in your HB++ projects. These user controls as well as the sample are Hires+ enabled.
Cash Register
This sample demonstrates how to use the new BarCode class to manage barcode scanners. This sample only runs on Symbol® SPT devices.
CASLDBReader
This sample demonstres how to access CASL© databases from HB++ applications. This sample contains 3 reusable classes : clsCASLBase, clsCASLField and clsCASLRecord.
Chart sample
This sample is provided with the ucChart user control that allows to draw charts in your HB++ projects. You can reuse the ucChart control in your projects. This user control as well as the sample are Hires+ enabled.
CountDown
Count down and alarm application. This sample shows how to use the Application class and the Alarm property to receive AlarmTriggered and DisplayAlarm events, how to use the Timer class to implements a graphical count down, how to use the Sorted property and SortItems event of a List control.
Custom Panel
This example shows how to implement a custom preference panel that behaves as a standard preference panel.
DateBook
There are two samples provided with the clsAgenda,clsAgendaItem and clsAgendaViewer classes. The clsAgendaViewer class allow you to retreive a collection of appointements (clsAgendaItem) on a given date interval using the FilterByDate method. You can reuse theses classes in your projects as well as modify the classes code itself.
Delivery
A sample delivery management application using all the database features, the grid control, and conduits. Provided with several desktop application samples. Read more here. It also shows how to use the hbDAO activeX component in your desktop applications.
DoubleBuffering
A demonstration of the double buffering technique to draw multiple graphical objects on screen without flickering.
DTMFDialer
This sample demonstrates how to use the Palm OS® 5.0 SoundManager API to play .wav files stored in binary resources.
FieldCompletion
This sample demonstres how to implement 'auto-completion' feature your in HB++ applications. It comes with the FieldCompletion.hbc class that can be re-used in your projects.
hbAttention
This sample demonstres how to implement 'PalmOS Attentions' features in your HB++ applications.
hbMeasura
This sample shows how to use the ID::VERIFI™ scanner devices from Aceeca™ in your application. It comes with the 2 modules and shared libraries (CCD and Laser barcode) that contain all available functions to manage the scanner preferences, trigger a scan and retrieve the scanned barcode value.
IrPrint
This sample is provided with the modIrPrintLib module that allows you to print within HB++ using IrPrint© or BtPrint Pro© from IsComplete software. Many thanks to Ken Pan and John C. Huang from the IsComplete team for this sample.
Iterators
This sample demonstrates how to implement iterable container objects, whose content can be enumerated using the built-in For Each Next statement.
JPEGViewer
This example shows how to use an external library to read JPEG images. It also illustrates how to embed a shared library into an application, and install it on the fly.
Mandelbrot
Fractal plotter using native ARM routines (This sample can be run on ARM devices and Palm OS Simulator).
Memo
This sample is provided with the clsMemo class. This class can be used to manage the built-in Memo database in HB++ projects. You can reuse the clsMemo class in your projects as well as modify the class itself.
MiniBrowser
This example is a basic web browser. It displays the content of simple HTML pages. The MiniBrowser sample provides a HTTP class that can be reused in your own projects. At this time, only GET requests are supported, but you can easily add support for POST or PUT requests, if needed. It also implements a very basic HTML parser, which only recognizes the h1, h2, h3, a, p and br tags. This user control as well as the sample are Hires+ enabled.
MiniLauncher
This simple Launcher lists the applications installed on the device, displays some information about them, launches an application or transmits it by infrared to another device. This sample is Hires+ enabled.
PalmPrint
This sample is provided with the PPrint class that allows you to print within HB++ using PalmPrint.This sample requires PalmPrint®, a Stevens Creek software.
PatternEditor
This example is a pattern editor and shows how to use graphics and the Pattern property in HB++.
PDAT DB Reader/Writer
This sample is provided with the clsPDATBase, clsPDATRecord and clsPDATField reusable classes that allow your HB++ applications to handle PDAToolbox© databases.
PhoneLookup
This sample shows how to call the Address Book application to look up a phone number. It comes with the clsContact class that implements several kind of lookup methods.
Potentiometers
This sample is provided with the ucPot and ucGauge user controls. These user controls can be used freely in your HB++ projects. These user controls as well as the sample are Hires+ enabled.
PrintBoy
This sample is provided with several modules and resources that allows you to print within your HB++ applications using PrintBoy.This sample require PrintBoy®, a Bachmann Software & Services product
Rotation
This sample contributed by quagliozzi demonstrates how to add rotation effects in your HB++ applications. It comes with an ARMlet that you can use in your projects. Note that the .dll is builded so that you can also debug your application using Palmsim.
Satellite Forms© DB Reader/Writer
This sample is provided with the clsSatFormDB, clsSatFormRecord and clsSatFormField reusable classes that allows your HB++ applications to open, read and write Satellite Forms© databases.
SDIO Socket scan
This sample shows how to use the SDIO In-Hand Scan Card © scanner from Socket Communications, Inc. in your application. It comes with the SDIOSocket module that contains all available functions to manage the scanner preferences, trigger a scan and retrieve the scanned barcode value.
SysLibInstall
This sample demonstrates how to execute functions from a shared lib bundled as a resource in the application. It's a modified version of the MathLibSinus sample. The MathLib code resource can be extracted from the PRC file using PRCExplorer, saved as a file. Note that the resource is not the whole 'prc' file, but just a dump of the library code resource. Then save it as a bin file (libr0000.bin), include it in your HB++ project, and use the LoadRsrcLib function to load it as shown in the sample (see the modLoadSharedLibResource.hbm module)
SystemInfo
This example shows how to retrieve system information such as the OS version, the processor model, the available amount of memory, the user name, device serial number...
Tab
This sample is provided with the ucTab user control. The control can be used to display Tabs in HB++ projects. This is a very basic sample to show that creating your own custom controls is easy. You can reuse the ucTab user control in your projects as well as modify the control itself. This user control as well as the sample are Hires+ enabled.
ToDo
This sample is provided with the clsTodo class. This class can be used to manage the built-in Todo database in HB++ projects. You can reuse the clsTodo class in your projects as well as modify the class itself.
Treo Dialer
This sample demonstrates how to dial on a Treo device, as well as launch the SMS application for a given number.
Treo Gadgets
This sample shows how to display the Tréo 600 and Tréo 650 Battery meter and the Network strength indicators in your HB++ projects. This sample is provided with the TreoGadgets.hbk package that contains the user controls. Just add this package to your project and enjoy. The Package sources are also provided.
UIPickColor
This sample shows how to use the color picker to allow users to choose a color from your application. This sample is provided with the ucColorPicker user control. You can also call the color picker dialog without the user control, just use the clsRGB class included in this package (see the Direct call button code).You can reuse the ucColorPicker user control in your HB++ projects as well as modify the control itself.
