Examples
Xojo 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.
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 or click the Download Examples button on the Examples pane of the Project Chooser.
You can search the examples by name. Selecting an example will display information about it in the pane to the right.
You can also limit your search to examples for a specific kind of project and platform (Android, iOS, Linux, macOS, Raspberry Pi, Windows).
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 |
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 |