Example projects

Reviewing and experimenting with example projects is another great way to learn. There are hundreds of them available right in Xojo. You can access them in Xojo by choosing File > New Project and then clicking on Examples in the New Project window.

../../_images/example_projects.png

You can search the examples by name. Selecting an example will display information about it in the pane to the right.

../../_images/search_example_projects.png

You can also limit your search to examples for a specific kind of project and platform (Android, iOS, Linux, macOS, Raspberry Pi, Windows).

../../_images/filter_example_projects.png

Tip

The examples in this dialog box are loaded via the Internet. If you need access to them when you're not connected to the Internet, you can download them.

While most examples are designed to show off a specific feature, the Eddie's Electronic's example project is a full application.

Complete list of included example projects

The following example projects are available in Xojo via the Project Chooser window.

Application Structure

Name

Description

Type

Platform

Handling Termination Signal in a Console App

Handling an external termination signal:e.g. kill -s TERM <pid>.

Console

macOS

Interacting with the Console

Creates an interactive console application.

Console

All

Build Automation

Name

Description

Type

Platform

IDECommunicator

Automate the Xojo IDE from the command line.

Console

All

IDECommunicator

Automate the Xojo IDE from the command line.

Desktop

All

Code Execution

Name

Description

Type

Platform

Making a Class Iterable

How to use a Class in a loop. Uses a DesktopListBox control.

Desktop

All

Pointing Events at Methods

How to use methods to respond to events.

Desktop

All

Evaluator

Use XojoScript to evaluate simple expressions.

Desktop

All

Graphics Context Example

Use XojoScript to draw to a Graphics object.

Desktop

All

ScriptImaging

Create and manipulate images using XojoScript.

Desktop

All

XojoScript

Run simple XojoScript a graphical user interface.

Desktop

All

Communication

Name

Description

Type

Platform

Line State Change Tester

Visualise serial port line state changes using the SerialConnection class.

Desktop

All

Serial Device Bar Code Reader Example

Read bar codes using the SerialConnection class.

Desktop

All

Serial Line Indicator

Control serial port lines using the SerialConnection class.

Desktop

All

IPCSocket

Communicate between applications using the IPCSocket class.

Desktop

All

Sending Email from a Console App

Send an email from a console application using the SMTPSecureSocket class.

Console

All

WebServer

A simple Web server using the ServerSocket and TCPSocket classes.

Desktop

All

WebServerWindowsService

A simple Web server using the ServiceApplication, ServerSocket and TCPSocket classes.

Console

Windows

Cats

Display pictures of cats.

Mobile

iOS

EddiesWebService

Implement a simple Web service API. Get more information here.

Web

All

Feedbin

Access Feedbin using the Feedbin API and the URLConnection class.

Desktop

All

RESTy

Implement a REST API, uses the URLConnection class.

Desktop

All

Slack

Access Slack via the Slack API. This example requires a Slack Authentication Token.

Desktop

All

TwilioAnswerCall

Receive Twilio phone calls using the App.HandleURL event.

Web

All

TwilioSMS

Receive Twilio SMS messages using the URLConnection class:Requires a Twilio Test Credential (see Notes in the project).

Desktop

All

YouTube

Display a YouTube using the DesktopHTMLViewer class.

Desktop

All

Cryptography

Name

Description

Type

Platform

Crypto

Demonstrates the generation of hashes using the Crypto module.

Desktop

All

RSA

Demonstrates RSA Public and Private key generation using the Crypto module.

Desktop

All

Databases

Name

Description

Type

Platform

DBKit-Desktop

Demonstrates the DBKit module for creating database clients for the desktop.

Desktop

All

DBKit-Web

Demonstrates the DBKit module for creating database clients for the web.

Web

All

MySQLDatabase

Connect to and use a MySQL database using the MySQLCommunityServer class.

Desktop

All

Accessing a Firebird Database

Connect to and use a Firebird database using the ODBCDatabase class.

Desktop

All

GetDataSourceNames

Display the ODBC data sources defined on the local computer.

Desktop

All

ODBCDatabase

Connect to and use a Microsoft Access database using the ODBCDatabase class.

Desktop

All

LargeObjects

Demonstrate the use of the PostgreSQLDatabase.CreateLargeObject method.

Desktop

All

Listen

Demonstrate the use of the PostgreSQLDatabase.Listen method. Paired with the Notify example project.

Desktop

All

Notify

Demonstrate the use of the PostgreSQLDatabase.Notify method. Paired with the Listen example project.

Desktop

All

PostgreSQL

Connect to and use a PostgreSQL database using the PostgreSQLDatabase class.

Desktop

All

Backup Example

Demonstrate synchronous and asynchronous backup of an SQLite database.

Desktop

All

Full-Text Searching 4

Demonstrate the use of the SQL 'Match' statement.

Desktop

All

Full-Text Searching 5

Demonstrate the use of the SQL 'Match' and 'ORDER BY' statements.

Desktop

All

SQLite (Desktop)

Connect to and use an SQLite database using the SQLiteDatabase class.

Desktop

All

SQLite (Web)

Connect to and use an SQLite database using the SQLiteDatabase class.

Web

All

SQLite Prepared Statement

Demonstrates using prepared statements in SQLite.

Desktop

All

Storing Pictures

Store pictures in an SQLite database using the 'Blob' column type.

Desktop

All

Working with BLOBs

All. Create and manipulate the SQLite database 'Blob' column type.

Desktop

All

Declares

Name

Description

Type

Platform

DeclareGetPID

Use the Xojo 'Soft Declare' statement to get a Process Identifier on each desktop platform.

Desktop

All

WindowOpacity

Use Xojo 'External Methods' to set the transparency of the desktop application window.

Desktop

All

Design Patterns

Name

Description

Type

Platform

Factory

The Factory pattern.

Desktop

All

Interpreter

Demonstrates the Interpreter design pattern.

Desktop

All

Lazy Initialization

Demonstrates the Lazy Initialization design pattern.

Desktop

All

Observer

Demonstrates the Observer design pattern.

Desktop

All

Singleton

Demonstrates the Singleton design pattern.

Desktop

All

Files

Name

Description

Type

Platform

Copy and Move

Create a file using the TextOutputStream class. Move and copy using FolderItem.MoveTo and FolderItem.CopyTo.

Desktop

All

Drag To Desktop

Create a desktop file using drag and drop.

Desktop

All

File Browser

A simple file browser using the FolderItem class and a DesktopListBox control.

Desktop

All

File Search

Search a folder for files containing the specified text.

Desktop

All

FileTypeGroup

Demonstrate the use of a FileTypeGroup to create text files with a specified file extension.

Desktop

All

PNG FileType

Demonstrates opening and creating PNG image files using the FolderItem and Picture classes.

Desktop

All

Folder Info

Display folder information using FolderItem methods.

Desktop

All

FolderItem Dialogs

Demonstrate the use of OpenFileDialog, SaveFileDialog and SelectFolderDialog.

Desktop

All

Reading and Writing Binary Data

Demonstration of creating, reading and writing binary data files using the FolderItem and BinaryStream classes.

Desktop

All

SpecialFolder Paths

Display the folder paths available via SpecialFolder.

Desktop

All

Getting Started

Name

Description

Type

Platform

Data Types

Demonstrating some of the data types available in Xojo.

Desktop

All

Enumerations

Demonstrating how enumeration types are used in Xojo.

Desktop

All

Parameter Options

Demonstrating how method parameters are used in Xojo.

Desktop

All

Sort Algorithms

Implementing the Bubble and Merge sort algorithms in Xojo.

Desktop

All

Graphics

Name

Description

Type

Platform

Animation

Animate a bouncing soccer ball. Uses a DesktopCanvas control and the Timer class.

Desktop

All

Wavy Text

Text animation. Uses a DesktopCanvas control and the Timer class.

Desktop

All

DesktopOpenGLSurface

Simulate a two dimensional fluid field using the OpenGLSurface class.

Desktop

All

GraphicsPath

Draw card deck suit shapes using the GraphicsPath class.

Desktop

All

Graphing Sign Waves

Draw sine waves using a DesktopCanvas control and the Graphics class.

Desktop

All

Interactive Grid

Draw a user defined grid using a DesktopCanva control and its built-in Graphics class.

Desktop

All

Objects in a Canvas

Display and move two dimensional objects on a DesktopCanvas control.

Desktop

All

Object2D Text Rotation

Rotate text using the Object2D class.

Desktop

All

Saving and Load Vector Graphics

Saving and loading vector graphics using the Picture class.

Desktop

All

Sparkler

Draw animated particles using a DesktopCanvas control and the Picture class.

Desktop

All

System Colors

Display the current System colours using the Color class.

Desktop

All

Language

Name

Description

Type

Platform

ActionSource

Demonstrate the use of the ActionSource and ActionNotificationReceiver interfaces.

Desktop

All

Arrays

Demonstrate a simple array and an array with elements containing a class.

Desktop

All

Assigns

Demonstrate the use of the 'Assigns' keyword in method parameters.

Desktop

All

Delegate

Demonstrate the use of Delegates in a sorting application.

Desktop

All

Dictionary

Demonstrates the use of the Dictionary data type.

Desktop

All

Extension Methods

Demonstrates the ability of Xojo to extend the functionality of data types and classes.

Desktop

All

Faster String Appending with MemoryBlock

Demonstrates the use of MemoryBlocks to improve the speed of appending strings.

Desktop

All

Introspection

Demonstrates the ability of Xojo to inspect the runtime instances of classes within an application.

Desktop

All

Operator Lookup

Dynamically access class methods.

Desktop

All

Operator Overloading

How to implement custom operators. This example uses Operator_Compare to provide a customised comparator.

Desktop

All

Semaphore Example

Control access to resources in a multithreaded application.

Desktop

All

Sorting Arrays

Sorts an array of classes (DateTime) using the customisable DesktopListBox.Sort method.

Desktop

All

Using Attributes

Using IDE attributes to manage code maintenance and visibility.

Desktop

All

Using a Timer in a Console App

Using the Timer class in a Console application.

Console

All

PictureResizer

Demonstrates a way to utilise multiple CPU cores.

Desktop

All

WordCounter

Demonstrates a way to utilise multiple CPU cores.

Desktop

All

Networking

Name

Description

Type

Platform

AutoDiscovery

Uses the AutoDiscovery class to find another application, on the same local network, to communicate with.

Desktop

All

NetworkInterface

Uses the NetworkInterface class to display connection information.

Desktop

All

ServerSocket Client

A simple client application to communicate with ServerSocket Server. Used the TCPSocket class.

Desktop

All

ServerSocket Server

A server to handle message to and from ServerSocket Client. Uses the ServerSocket and TCPSocket classes.

Desktop

All

TCPSocket

Connect to a web site using the TCPSocket class.

Desktop

All

UDP Multicast

Use the UDPSocket class to communicate with other applications on the same local network.

Desktop

All

UDPSocket

A simple chat application. Uses the UDPSocket class.

Desktop

All

Downloading Files

Download a picture file from the Internet. Uses the URLConnection class.

Desktop

All

Using GET with URLConnection

Retrieve information from a website. Uses the URLConnection class.

Desktop

All

Using POST with URLConnection

Send information to a website. Uses the URLConnection class.

Desktop

All

OS

Name

Description

Type

Platform

Get Default Control Size

Adjust desktop control sizes. Does not use the IDE 'Normal Control Sizes' switch.

Desktop

Linux

Load a Theme

Demonstrates how to load a GTK theme for a desktop application.

Desktop

Linux

LEDBlinker-Console

Flash a light.

Console

Raspberry Pi

LEDButton-Console

Control an light with a button.

Console

Raspberry Pi

WiringPi-GPIO

Demonstrates using the WiringPi library to control lights, speakers and LCD displays. Uses a Console project.

Console

Raspberry Pi

WiringPi-UI

Demonstrates using the WiringPi library to control lights and speakers. Uses a Desktop project.

Desktop

Raspberry Pi

Creating a Custom Window Shape with Declares

Demonstrates using Declares to create a customised window shape.

Desktop

Windows

Declare Example - CPU Usage

Demonstrates using Declares to create a CPU idle time monitor.

Desktop

Windows

Embedding a Windows Native Control

Add Win32 controls to a Xojo application. Example embeds a ControlLink into a Desktop application.

Desktop

Windows

OLE Automation Tests

Demonstrates OLE Automation to create a Word document. Needs the Word application installed to work.

Desktop

Windows

Excel Automation

Access and control Excel via Xojo code. Requires the MSOfficeAutomation plugin.

Desktop

Windows

PowerPoint Automation

Access and control PowerPoint via Xojo code. Requires the MSOfficeAutomation plugin.

Desktop

Windows

Word Automation

Access and control Word via Xojo code. Requires the MSOfficeAutomation plugin.

Desktop

Windows

ButtonStyling.xojo_binary_project

Demonstrates various button styles.

Desktop

Windows

ButtonStyling

Demonstrates various button styles.

Desktop

Windows

DifferentViews

Demonstrates various list-style controls.

Desktop

Windows

InputFields

Demonstrates various input fields.

Desktop

Windows

Layouts

Demonstrates various layouts.

Desktop

Windows

MenuBar

Demonstrates creating a menu bar.

Desktop

Windows

TabViewAndWebView

Demonstrates a tab control and a web viewer control.

Desktop

Windows

XAMLGallery

Demonstrates a large number of varying controls.

Desktop

Windows

XAMLSubclasses

A variety of other controls including a calendar, rating, and more.

Desktop

Windows

Accessing the Tabbar

Demonstrates access to the TabBar via code.

Mobile

iOS

Add and Edit Layout Constraints from code

Managing control constraints via code.

Mobile

iOS

Auto-Size Label

Demonstrates auto-resizing a label to fit the text it contains.

Mobile

iOS

Proportional Spacing without code

Demonstrates using control constraints to maintain spacing on a rotable device.

Mobile

iOS

Switching Constraints

Managing collections of constraints. Uses the iOSLayoutConstraint class.

Mobile

iOS

Clipping Graphics

Draw clipped graphics. Uses the MobileCanvas control and its built-in Graphics class.

Mobile

iOS

Graphing Sine Waves

Draw user-defined sine waves. Uses the MobileCanvas control and its built-in Graphics class.

Mobile

iOS

Notification Categories

Demonstrates notificiations for iOS applications. Uses the MobileNotifications class.

Mobile

iOS

Simple Notification

Introduction to notifications for iOS applications. Uses the MobileNotifications class.

Mobile

iOS

Xojo Cloud Remote Notification Server

A simple iOS application notification server.

Web

iOS

Rotating Graphics

Simple animated graphic. Uses the MobileCanvas control and its built-in Graphics class.

Mobile

iOS

Screen Navigation

Navigating screens on different types of mobile device.

Mobile

iOS

Sharing Documents folder with The Finder

How to share the Documents folder between a mobile device and a Mac.

Mobile

iOS

Shortcuts

Managing application shortcuts using the IDE Entitlements editor.

Mobile

iOS

ShowModal

Demonstrates the use of Modal screens.

Mobile

iOS

TabBar

Managing the application TabBar.

Mobile

iOS

Adding Sections

Demonstrates adding sections to an iOSMobileTable control via code.

Mobile

iOS

Controlling Row Selection

Demonstrates selectable table rows using the iOSMobileTable control.

Mobile

iOS

Custom Cell Dynamic Height

Demonstrates how row height can change fit content at runtime using the iOSMobileTable control.

Mobile

iOS

Custom Cells and Scrolling

Demonstrates row customisation using the iOSMobileTable control.

Mobile

iOS

Table Actions

Demonstrates assigning actions to an iOSMobileTable control using the iOSMobileTableDataSource interface.

Mobile

iOS

Table Cell Sizes

Demonstrates how iOSMobileTable cell space can be dynamically allocated at runtime.

Mobile

iOS

Table DataSource via Class

Demonstrates the iOSMobileTableDataSource interface.

Mobile

iOS

Table DataSource via Database

Connecting an SQLite database and an iOSMobileTable control.

Mobile

iOS

Table Row Selection via Code

Demonstrates iOSMobileTable row selection via code.

Mobile

iOS

Table editing and Reordering

Demonstrates editing and reordering of iOSMobileTable cells.

Mobile

iOS

Table with Detail View

Demonstrates how to display details from an iOSMobileTable control.

Mobile

iOS

URL Schemes

Demonstrates how to enable an application to respond to a URL Schema.

Mobile

iOS

User Authentication

Demonstrates how to authenticate a user. Uses the UserAuthentication class.

Mobile

iOS

External Methods

Demonstrates the use of External Methods by displaying fonts and font information.

Desktop

macOS

Soft Declares

Demonstrates the use of Soft Declares by modifying window properties.

Desktop

macOS

Using AppleScripts in Xojo

Demonstrates accessing AppleScripts via Xojo code.

Desktop

macOS

PDF

Name

Description

Type

Platform

Adding Links to PDF files

Add URL links to a PDF document. Uses the PDFDocument class.

Desktop

All

Adding the ability to sign a document

Sign PDF document with a digital certificate. Uses the PDFDocument class.

Desktop

All

Attaching Files

Embed a file within a PDF document. Uses the PDFDocument class.

Desktop

All

Callouts

Add a Callout annotation to a PDF document. Uses the PDFDocument class.

Desktop

All

Lines

Add a Line annotation to a PDF document. Uses the PDFDocument class.

Desktop

All

Sounds

Embed a sound file within a PDF document. Uses the PDFDocument class.

Desktop

All

Text

Add Text annotations to a PDF document. Uses the PDFDocument class.

Desktop

All

Video

Embed a video file within a PDF document. Uses the PDFDocument class.

Desktop

All

Brushes

Draw using graphical brushes in a PDF document. Uses the PDFDocument class.

Desktop

All

Creating PDF Documents from iOS

Create a PDF document on an iOS device. Uses the PDFDocument class.

Mobile

iOS

Creating PDF Documents from the Desktop

Create a PDF document from a desktop application. :Uses the PDFDocument class.

Desktop

All

Creating PDF forms

Creating PDF forms via Xojo code. Uses the PDFDocument class.

Desktop

All

Password Protection

Password protect and encrypt a PDF document. Uses the PDFDocument class.

Desktop

All

Table of Contents

Create a PDF document table of contents. Uses the PDFDocument class.

Desktop

All

Using Transparency

Demonstrates multiple transparent layers in a PDF document. Uses the PDFDocument class.

Desktop

All

Platforms

Name

Description

Type

Platform

Calculator

A calculator app.

Mobile

Android

Taskmanager

The completed example from the Android tutorial.

Mobile

Android

Tipcalculator

A tip calculator app.

Mobile

Android

Xojodraw

A drawing app.

Mobile

Android

Container

Demonstrates using a container.

Mobile

Android

Controlthemes

Demonstrates using themes with controls.

Mobile

Android

Datetimepicker

Demonstrates the DateTimePicker control.

Mobile

Android

Htmlviewer

Demonstrates the HTMLViewer control.

Mobile

Android

Imagepicker

Demonstrates the ImagePicker.

Mobile

Android

Location

Demonstrates getting the user's location.

Mobile

Android

Messagebox

Demonstrates the MessageBox method.

Mobile

Android

Modalscreen

Demonstrates creating a modal screen.

Mobile

Android

Movieplayer

Demonstrates the MoviePlayer control.

Mobile

Android

Progress

Demonstrates the ProgressBar control.

Mobile

Android

Samplecontrols

Demonstrates several different controls.

Mobile

Android

Scrollablearea

Demonstrates using a ScrollableArea.

Mobile

Android

Sharingpanel

Demonstrates using the SharingPanel.

Mobile

Android

Slider

Demonstrates the Slider control.

Mobile

Android

Switch

Demonstrates the Switch control.

Mobile

Android

Tabpanel

Demonstrates a tabbed interface.

Mobile

Android

Table

Demonstrates the AndroidMobileTable control.

Mobile

Android

Textfield

Demonstrates the TextField control.

Mobile

Android

Toolbar

Demonstrates using a toolbar.

Mobile

Android

Sqllite

A simple SQLite example.

Desktop

All

Sqliteinmemory

Demonstrates creating a SQLite in-memory database.

Desktop

All

Sqliteversion

Demonstrates how to get the version number of SQLite.

Desktop

All

Buttonbackgroundcolor

Shows how to use a declare to set a button's background color.

Mobile

Android

Declare

A basic declare example.

Mobile

Android

Chime

Playing a sound.

Mobile

Android

Dictionary

Accessing a dictionary.

Mobile

Android

Folderitem

Accessing files via the FolderItem class.

Mobile

Android

Introspection

Demonstrates using Introspection.

Mobile

Android

Memoryblock

Demonstrates using a MemoryBlock.

Mobile

Android

Thread

Demonstrates threads.

Mobile

Android

Appversion

Demonstrates getting the app version.

Mobile

Android

Analogclock

Demonstrates drawing an analog clock.

Mobile

Android

Canvasbounce

Shows how to use the Canvas control to do simple animation.

Mobile

Android

Canvasdrawpicture

Demonstrates drawing picture files in a Canvas.

Mobile

Android

Canvasrotation

Demonstrates shape rotation animation in a Canvas.

Mobile

Android

Canvastext

Demonstrates drawing user-entered text in a Canvas.

Mobile

Android

Graphicsclip

Demonstrates clipping graphics in a Canvas.

Mobile

Android

Graphicspath

Demonstrates using a GraphicsPath to draw shapes in a Canvas.

Mobile

Android

Imageset

Demonstrates accessing images in an ImageSet and then drawing them into a Canvas.

Mobile

Android

Picturedrawing

Drawing a simple picture in a Canvas.

Mobile

Android

Sinewaves

Drawing sine waves in a Canvas control.

Mobile

Android

Systemimageicons

Accessing system image icons. There are over 2400 for Android included with Xojo.

Mobile

Android

Turtle

A simple Frogger-style 2D graphics game using the Canvas control.

Mobile

Android

Catsup

Demonstrates using the URLConnection class to get random pictures of cute kitties from the Internet.

Mobile

Android

Feedbin

Demonstrates basic username/password authorization via feedbin.com.

Mobile

Android

Urlconnectionget

Demonstrates doing a GET via the URLConnection class.

Mobile

Android

Urlconnectionpost

Demonstrates performing a POST via the URLConnection class.

Mobile

Android

BevelButton

Demonstrate the desktop BevelButton control and some of its properties.

Desktop

All

Dice

Demonstrates drawing simple graphics with the DesktopCanvas control.

Desktop

All

Drag and Drop

Demonstrates selecting, dragging and dropping a graphic using the DesktopCanvas control.

Desktop

All

Drawing Text

Demonstrates drawing text using the DesktopCanvas control.

Desktop

All

Interactive Canvas

Demonstrates interactive graphics using the DesktopCanvas control.

Desktop

All

Scrolling

Demonstrates scrolling a picture within the confines of a DesktopCanvas control.

Desktop

All

Zooming

Demonstrates zooming a picture within the confines of a DesktopCanvas control.

Desktop

All

Chartdesktopexample

Demonstrate the DesktopChart control. Also demonstrates saving charts using PDFDocument class.

Desktop

All

Clipboard

Demonstrating sending and getting data from the Clipboard class.

Desktop

All

ColorPicker

Demonstrates selecting colours using the DesktopColorPicker control.

Desktop

All

Container

Demonstrate different uses of the DesktopContainer control.

Desktop

All

Control Sets

Demonstrates the concept of control sets by creating a user-defined number of DesktopButtons.

Desktop

All

CalendarWindow

Demonstrates creating a custom control by using a DesktopWindow.

Desktop

All

CanvasButton

Demonstrates creating a custom control by using a DesktopCanvas control.

Desktop

All

LinkLabel

Demonstrates creating a custom control by using a DesktopLabel control.

Desktop

All

OKCancelContainer

Demonstrates a self-modifying control using a DesktopContainer. Alters the order of DesktopButtons depending on the current platform.

Desktop

All

Built-In Dialogs

Demonstrates the built-in dialogs.

Desktop

All

Input Dialog

Demonstrates a user input dialog.

Desktop

All

Modal Dialog

Demonstrates a modal dialog.

Desktop

All

DownloadContainer

Demonstrates the concept of control sets by creating contols in response to a user action.

Desktop

All

Drag and Drop Pictures

Demonstrates dragging and dropping a picture to and from a Xojo application.

Desktop

All

Drawing Fire

Draw and animate a simple fire effect. Uses a DesktopCanvas control and a Timer class.

Desktop

All

Drawing Gradients

Demonstrates shadow, linear and radial gradient effects.

Desktop

All

Drawing an Analog Clock

Draw and animiate an analog clock. Uses a DesktopCanvas control and a Timer class.

Desktop

All

Drawing with Threads

Demonstrates drawing complex graphics using threads to improve performance.

Desktop

All

GroupBox

Demonstrates DesktopGroupBox (and DesktopRadioButton).

Desktop

All

HTMLViewer-ExecuteJavaScript Test

Demonstrates the DesktopHTMLViewer control. Also demonstrates the use of JavaScript.

Desktop

All

Drag Between Cells

Drag cells within a DesktopListBox control.

Desktop

All

Drag and Drop Between ListBoxes

Drag and drop rows between DesktopListBox controls.

Desktop

All

Dragging Events

Demonstrates the DesktopListBox dragging events.

Desktop

All

Dragging and Dropping Files

Drag files to a DesktopListBox control.

Desktop

All

Export

Export the contents of a DesktopListBox to a text file. Also demonstrates the use of an extension method.

Desktop

All

FileBrowser

Implements a simple file browser using the DesktopListBox control. Also demonstrates subclassing.

Desktop

All

Grid

Implement a simple grid using a DesktopListBox control.

Desktop

All

IconGrid

Demonstrate runtime addition and removal of DesktopListBox rows and columns.

Desktop

All

Lazy Loading

Demonstrate a method for loading large amounts of data into a DesktopListBox control.

Desktop

All

ListBox

Demonstrate DesktopListBox features.

Desktop

All

Property List

Demonstrate the types rows available with a DesktopListBox control.

Desktop

All

Source List

Implement a simple SourceList user interface using the DesktopListBox control. Uses expanable rows.

Desktop

All

Creating a Contextual Menu

Demonstrates creating a contextual menu.

Desktop

All

Font Menu

Demonstrates creating and selecting an item from a menu. Also demonstrates the System.FontAt function.

Desktop

All

Open Recent Menu

Demonstrates how to create and maintain an Open Recents file menu.

Desktop

All

Window Menu

Demonstrates how to use menus to create and switch between windows.

Desktop

All

MoviePlayer

Create a simple movie player using the DesktopMoviePlayer control.

Desktop

All

NotePlayer

Demonstrates playing sounds using the DesktopNotePlayer control.

Desktop

All

Play Folder of Movies

Demonstrates how to play multiple movies using the DesktopMoviePlayer control.

Desktop

All

ProgressBar

Demonstrates the normal and indeterminate types of DesktopProgressBar.

Desktop

All

ScrollBar

Demonstrates horizontal and vertical DesktopScrollBar controls.

Desktop

All

SegmentedButton

Demonstrates the DesktopSegmentedButton control. Example demonstrates adding and removing segments at runtime.

Desktop

All

TextField Resizing

Demonstrates proportional resizing of the DesktopTextField.

Desktop

All

Thread

Demonstrates using multiple instances of the Thread class in a desktop project. Also demonstrates using a Timer control to update the user interface.

Desktop

All

Dynamic Desktop Toolbars

Demonstrates runtime modification of the DesktopToolbar control.

Desktop

All

Toolbar

Demonstrates creating and interacting with the DesktopToolbar control.

Desktop

All

TrayExample

Demonstrates using the System tray on Windows and Linux.

Desktop

Windows/Linux

Using a Thread

Demonstrates using the Thread class to update a graphical user interface.

Desktop

All

Using a Timer

Demonstrates using the Timer control to update a graphical user interface.

Desktop

All

Access the Clipboard

Send and retrieve data using the Clipboard class.

Mobile

iOS

Adding Controls Dynamically

Add and remove contols at runtime.

Mobile

iOS

Available Fonts

Use a MobileCanvas to display a list of available fonts.

Mobile

iOS

Chart

Demonstrate using the MobileChart control.

Mobile

iOS

Using a SQLite in-memory database

Demonstrates using an in-memory SQLite database in an iOS application.

Mobile

iOS

DatePicker

Demonstrate using the MobileDataTimePicker control.

Mobile

iOS

Fonts

Display a short list of fonts. Uses a MobileLabel control to display each font .

Mobile

iOS

HTMLViewer

Create a simple web browser using the MobileHTMLViewer.

Mobile

iOS

ImagePicker

Create a simple picture viewer using the MobileImageViewer.

Mobile

iOS

Location

Create a simple location display application using the MobileLocation control.

Mobile

iOS

MessageBox

Demonstrate using the MobileMessageBox.

Mobile

iOS

Motion

Demonstrate using the MobileMotion class. The iOSSimulator does not simulate device motion.

Mobile

iOS

Other iOS Dialogs via Declares

Demonstrate miscellaneous iOS dialog boxes.

Mobile

iOS

PDFViewer Control

Demonstrates displaying a PDF file via PDFViewer control.

Mobile

iOS

Progress

Demonstrate using the MobileProgressBar control.

Mobile

iOS

SQLiteDatabase

Demonstrate using the SQLiteDatabase class.

Mobile

iOS

ScrollableArea

Demonstrate using the MobileScrollableArea control.

Mobile

iOS

SegmentedButton

Demonstrate using the MobileSegmentedButton control.

Mobile

iOS

Set the Badge Number

Demonstrates using the MobileApplication.IconBadgeNumber property. Also uses the NotificaionCenter module.

Mobile

iOS

SharingPanel

Demonstrate using the MobileSharingPanel control.

Mobile

iOS

Swiping

Demonstrate detecting swiping actions using the MobileCanvas control.

Mobile

iOS

Switch

Demonstrate using the MobileSwitch control.

Mobile

iOS

TabBar

Using the TabBar. Uses iOSLayout.

Mobile

iOS

Threads and priority

Demonstrates the use of the Thread class on iOS devices.

Mobile

iOS

Toolbar

Demonstrates using the toolbar on iOS devices. Uses the MobileToolbarButton control.

Mobile

iOS

Touch Events in a Canvas

Demonstrates touch events using the MobileCanvas control.

Mobile

iOS

iOSMobileTable Search Filters via Declares

Demonstrate the use of declares to create and use a Search field for an iOSMobileTable.

Mobile

iOS

iOSTable

Demonstrate using the iOSMobileTable control.

Mobile

iOS

Canvas Redraw Speed

Demonstrates server to client drawing speed. Uses the WebCanva control.

Web

All

Chart

Demonstrates the WebChart control.

Web

All

Communicating between Sessions

Demonstrates sending and receiving messages between different web sessions.

Web

All

Container Control

Demonstrates using the WebContainer control.

Web

All

Dynamic Container Control

Demonstrates modifying WebContainer controls at runtime.

Web

All

Scrolling Container

Demonstrates a scrollable list of WebContainers.

Web

All

WebGrid Container

Demonstrates creating a dynamic grid of WebContainers.

Web

All

Creating Contextual Menus

Demonstrates creating and using contextual menus. Used the WebMenuItem control.

Web

All

Custom ProgressWheel

Drawing a custom progress wheel control.

Web

All

Custom ProgressWheel

Demonstrates a large customised WebProgressWheel.

Web

All

Dialog Box

Demonstrates the use of (asynchronous) WebDialog control.

Web

All

Downloading Files

Demonstrates download files from the Internet.

Web

All

Downloading

Demonstrates dynamic and static downloading of file from a web server. Uses the WebFile class.

Web

All

Dynamic Dialog Box

Demonstrates creating and using a dynamic dialog. Uses the WebDialog control.

Web

All

WebListBox Cell Renderers

Demonstrates drawing pictures into the cells of a WebListBox.

Web

All

Listbox with a Datasource

Demonstrates populating a WebListBox from an SQLite database.

Web

All

Simple ListBox

Demonstrates a simple WebListBox.

Web

All

Making a Session Timeout Due to Inactivity

Demonstrates how to control a session timeout. Uses the WebSession.UserTimeout property.

Web

All

Managing User Login

Demonstrates managing user authentication.

Web

All

HTMLViewerPrinting

Demonstrates printing from a web application. Uses the WebHTMLViewer.Print method.

Web

All

Progress

Demonstrates the WebProgressBar control.

Web

All

Providing a WebService

Demonstrates the provision of a web service via the WebApplication.HandleURL event.

Web

All

Reconnecting to a WebSessions

Demonstrates how to re-connect a Shell called asynchronously to the WebSession that started it when the Shell returns.

Web

All

ThreadProgress

Demonstrates using the Thread class to control a modal dialog.

Web

All

Timer

Demonstrates the WebTimer control.

Web

All

Updating WebCanvas Graphics via a Timer

Demonstrates controlling a WebCanvas via a WebTimer.

Web

All

Using Google Fonts

Demonstrates how to access Google fonts via the IDE App HTML Header field.

Web

All

Using Hashtags in URLs

Demonstrates using HashTags.

Web

All

WebFileUploader

Demonstrates using the WebFileUploader class.

Web

All

WebImageViewer SVG

Demonstrates a simple viewer for SVG image files. Uses the WebImageViewer control.

Web

All

WebMoviePlayer

Demonstrates using the WebMoviePlayer control.

Web

All

CustomButton

Demonstrates using the WebSDK to construct a customised button.

Web

All

Web_SDK_Custom_Select_Control

Demonstrates constructing a complex web control (similar to WebPopupMenu).

Web

All

Gravatar

Demonstrates constructing a control using Internet resources. Uses resources provided by Gravatar.com.

Web

All

SDK Examples

Demonstrates constructing visual and non-visual controls using the WebSDK.

Web

All

WebSDKIconConverter

Utility application to convert a picture into Base64 text.

Desktop

All

Button Cell

Demonstrates embedding controls within a WebListBox.

Web

All

Color Cell

Demonstrates drawing within the celss of a WebListBox. Uses the WebListboxCellRenderer class.

Web

All

WebToolbar

Demonstrates using the WebToolbar control.

Web

All

WebToolbarMenu

Demonstrates using the WebMenuItem class.

Web

All

Printing

Name

Description

Type

Platform

CustomerList

Demonstrates the use of the Combit OLE control to print lists and reports. Must be compiled as 32-bit code.

Desktop

Windows

Highest Resolution Printing

Demonstrates calculating the highest available resolution for printing.

Desktop

All

Mailing Labels

Demonstrates printing customised mail labels.

Desktop

All

Printing Multiple Pages of Text

Demonstrates printing text in multiple pages.

Desktop

All

Printing pictures at high resolution

Demonstrates printing pictures at a high resolution.

Desktop

All

Printing To Screen or Printer

Demonstrates drawing graphics to the screen or to a printer.

Desktop

All

Report Preview via Container Control

Demonstrates previewing an SQLQuery generated report.

Desktop

All

Report Using Groups

Demonstrates printing 'grouped' reports.

Desktop

All

Report from SQL Query

Demonstrates printing a report from the results of an SQLQuery.

Desktop

All

Simple Example

Demonstrates printing a simple report.

Desktop

All

Printing in Columns

Demonstrates printing text in one or two columns.

Desktop

All

Sample Apps

Name

Description

Type

Platform

Chat

A simple web based chat application.

Web

All

Android

A customer invoices management application.

Mobile

Android

EEDesktop

A customer invoices management application.

Desktop

All

EEWeb

A customer invoices management application.

Web

All

EEiOS

A customer invoices management application.

Mobile

iOS

2K

A version of the game 2048 using the Canvas control.

Mobile

iOS

2K-Desktop

A tile sliding mathematical game.

Desktop

All

2K-iOS

A tile sliding mathematical game.

Mobile

iOS

2k-Web

A tile sliding mathematical game.

Web

All

BlockAttack

An animated block swapping game that uses the Canvas control.

Desktop

All

BlockAttack

A coloured block matching game.

Desktop

All

FallingBlocks

Control falling blocks via keyboard controls.

Desktop

All

GameInputExample

Display outputs from a game control device. Uses the GameInputManager and GameInputDevice classes.

Desktop

All

Jewels

A simple symbol swapping game using the Canvas control.

Desktop

All

JewelGame

A coloured shape matching game.

Desktop

All

Mole

Whack-A-Mole game using the Canvas control.

Desktop

All

Mole

Speed and reactions game.

Desktop

All

Sliders-Desktop

A version of the numbered sliding tiles game using the Canvas control.

Desktop

All

Sliders-iOS

A version of the numbered sliding tiles game using the Canvas control.

Mobile

iOS

Sliders-Desktop

A sliding tiles game.

Desktop

All

Sliders-iOS

A sliding tiles game.

Mobile

iOS

SpaceRocks

A version of the classic video game Asteroids using the Canvas control.

Desktop

All

SpaceRocks-Desktop

Shooting rocks in space game.

Desktop

All

SpaceRocks-iOS

Shooting rocks in space game.

Mobile

iOS

Tank

A version of the classic Tank Battle video game using the Canvas control.

Desktop

All

Tank

Battling tanks game for two players.

Desktop

All

Turtle

A Frogger-style game using the Canvas control.

Mobile

iOS

Turtle-iOS

A road crossing game.

Mobile

iOS

MapLocation

A simple web based map application. Requires a Google Map API key.

Web

All

MathFacts

A simple web based mathematics (addition) problem generator.

Web

All

SimpleBrowser

A simple web browser. Uses the DesktopHTMLViewer control.

Desktop

All

ToDo - Desktop

A simple ToDo list application.

Desktop

All

ToDo - Web

A simple ToDo list application.

Web

All

XojoNotes - Desktop

A simple text note organiser.

Desktop

All

XojoNotes - Web

A simple text note organiser.

Web

All

XojoText

A simple text file browser.

Desktop

All

Shell

Name

Description

Type

Platform

Accessing the Shell

Accessing the command line (shell) from a desktop application.

Desktop

All

Acessing a Directory via the Shell

Demonstrates getting information from a shell.

Desktop

All

Interactive Shell

Demonstrates how to create and use an interactive shell from a desktop application.

Desktop

All

Using the Shell Asynchronously

Demonstrates how to create and use an synchronous shell from a desktop application.

Desktop

All

Sound

Name

Description

Type

Platform

Sound Player

A simple sound file player.

Desktop

All

Text

Name

Description

Type

Platform

Displaying JSON

Demonstrates hierarchical JSON data displayed in a DesktopListBox.

Desktop

All

Drag and Drop Text

Demonstrates dragging and dropping text. Uses the DesktopTextArea control.

Desktop

All

Formatting JSON

Demonstrates a simple JSON formatter.

Desktop

All

JSON

A simple JSON demonstrator.

Desktop

All

Loading and Saving Styled Text

Demonstrates how to save and load Rich Text Format (RTF) text.

Desktop

All

Search and Scroll

Demonstrates searching for text and scrolling to the result.

Desktop

All

XML

Demonstrates a simple hierarchical display of XML data.

Desktop

All

XMLReader

Demonstrates a simple formatted display of XML data.

Desktop

All