# Examples

<div class="rst-class">

forsearch

</div>

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.

![image](images/example_projects.png)

<div class="tip">

<div class="title">

Tip

</div>

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](https://documentation.xojo.com/_examples/xojoexamples.zip) them or click the **Download Examples** button on the Examples pane of the Project Chooser.

</div>

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

![image](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).

![image](images/filter_example_projects.png)

While most examples are designed to show off a specific feature, the `Eddie's Electronic's</getting_started/example_projects/eddie's_electronics_sample_app>` 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.

> <div class="collapse">
>
> AI
>
> | Name                              | Description                                                                                                                                     | Type    | Platform |
> |-----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|
> | ChatGPTConnection Class           | Allows you to easily interact with ChatGPT via the included ChatGPTConnection class.                                                            | Desktop | All      |
> | Integrate AI Features with GroqAI | Integrate AI features in your Xojo applications using the AI models provided by Groq. The class can be used in Desktop, Mobile or Web projects. | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> Application Structure
>
> | Name                                         | Description                                 | Type    | Platform |
> |----------------------------------------------|---------------------------------------------|---------|----------|
> | Handling Termination Signal in a Console App | Handling an external termination signal     | Console | macOS    |
> | Interacting with the Console                 | Creates an interactive console application. | Console | All      |
>
> </div>
>
> <div class="collapse">
>
> Code Execution
>
> | Name                       | Description                                                  | Type    | Platform |
> |----------------------------|--------------------------------------------------------------|---------|----------|
> | 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      |
> | 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      |
> | XojoScript                 | Run simple XojoScript a graphical user interface.            | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> Communication
>
> | Name                                  | Description                                                                           | Type    | Platform |
> |---------------------------------------|---------------------------------------------------------------------------------------|---------|----------|
> | Cats                                  | Display pictures of cats.                                                             | Mobile  | iOS      |
> | EddiesWebService                      | Implement a simple Web service API. You can more information at https                 | Web     | All      |
> | Feedbin                               | Access Feedbin (https                                                                 | Desktop | All      |
> | IPCSocket                             | Communicate between applications using the IPCSocket class.                           | Desktop | All      |
> | Line State Change Tester              | Visualise serial port line state changes using the SerialConnection class.            | Desktop | All      |
> | RESTy                                 | Implements a REST (https                                                              | Desktop | All      |
> | Sending Email from a Console App      | Send an email from a console application using the SMTPSecureSocket class.            | Console | 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      |
> | Slack                                 | Access Slack (https                                                                   | Desktop | All      |
> | TwilioAnswerCall                      | Receive Twilio phone calls using the App.HandleURL event.                             | Web     | All      |
> | TwilioSMS                             | Receive Twilio SMS messages using the URLConnection class                             | Desktop | 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  |
> | YouTube                               | Display a YouTube using the DesktopHTMLViewer class.                                  | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> 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      |
>
> </div>
>
> <div class="collapse">
>
> Databases
>
> | Name                          | Description                                                                                                                                                                                                       | Type    | Platform |
> |-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|
> | Accessing a Firebird Database | Connect to and use a Firebird database using the ODBCDatabase class.                                                                                                                                              | Desktop | All      |
> | Backup Example                | Demonstrate synchronous and asynchronous backup of an SQLite database.                                                                                                                                            | Desktop | All      |
> | 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      |
> | 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      |
> | GetDataSourceNames            | Display the ODBC data sources defined on the local computer.                                                                                                                                                      | Desktop | All      |
> | Installing a SQLite Database  | Demonstrates how to handle installing a SQLite database on on the user's machine and connecting to it once it's installed. A generic method called DatabaseTarget is provided which you can use in your projects. | 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      |
> | MySQLDatabase                 | Connect to and use a MySQL database using the MySQLCommunityServer class.                                                                                                                                         | Desktop | All      |
> | Notify                        | Demonstrate the use of the PostgreSQLDatabase.Notify method. Paired with the Listen example project.                                                                                                              | Desktop | All      |
> | ODBCDatabase                  | Connect to and use a Microsoft Access database using the ODBCDatabase class.                                                                                                                                      | Desktop | All      |
> | PostgreSQL                    | Connect to and use a PostgreSQL database using the PostgreSQLDatabase class.                                                                                                                                      | 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      |
>
> </div>
>
> <div class="collapse">
>
> 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      |
>
> </div>
>
> <div class="collapse">
>
> Design Patterns
>
> | Name                | Description                                        | Type    | Platform |
> |---------------------|----------------------------------------------------|---------|----------|
> | Factory             | The Factory (http                                  | Desktop | All      |
> | Interpreter         | Demonstrates the Interpreter design pattern (https | Desktop | All      |
> | Lazy Initialization | Demonstrates the Lazy Initialization (https        | Desktop | All      |
> | Observer            | Demonstrates the Observer (https                   | Desktop | All      |
> | Singleton           | Demonstrates the Singleton (http                   | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> 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      |
> | Folder Info                     | Display folder information using FolderItem methods.                                                            | Desktop | All      |
> | FolderItem Dialogs              | Demonstrate the use of OpenFileDialog, SaveFileDialog and SelectFolderDialog.                                   | Desktop | All      |
> | PNG FileType                    | Demonstrates opening and creating PNG image files using the FolderItem and Picture classes.                     | 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      |
>
> </div>
>
> <div class="collapse">
>
> 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      |
>
> </div>
>
> <div class="collapse">
>
> Graphics
>
> | Name                            | Description                                                                                                                  | Type    | Platform |
> |---------------------------------|------------------------------------------------------------------------------------------------------------------------------|---------|----------|
> | Animation                       | Animate a bouncing soccer ball. Uses a DesktopCanvas control and the Timer class.                                            | Desktop | All      |
> | Cross Platform Drawing Android  | The example demonstrates how to write code that will draw graphics that will work in Desktop, iOS, Android and Web projects. | Mobile  | Android  |
> | Cross Platform Drawing iOS      | The example demonstrates how to write code that will draw graphics that will work in Desktop, iOS, Android and Web projects. | Mobile  | iOS      |
> | Cross Platform Drawing Desktop  | The example demonstrates how to write code that will draw graphics that will work in Desktop, iOS, Android and Web projects. | Desktop | All      |
> | Cross Platform Drawing Web      | The example demonstrates how to write code that will draw graphics that will work in Desktop, iOS, Android and Web projects. | Web     | 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 DesktopCanvas control and its built-in Graphics class.                                      | Desktop | All      |
> | Object2D Text Rotation          | Rotate text using the Object2D class.                                                                                        | Desktop | All      |
> | Objects in a Canvas             | Display and move two dimensional objects on a DesktopCanvas control.                                                         | 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      |
> | Wavy Text                       | Text animation. Uses a DesktopCanvas control and the Timer class.                                                            | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> IDE
>
> | Name                  | Description                                                           | Type    | Platform |
> |-----------------------|-----------------------------------------------------------------------|---------|----------|
> | Code Assistant Tester | Use this to test and debug your Xojo IDE Code Editor Code Assistants. | Desktop | All      |
> | IDECommunicator       | Automate the Xojo IDE from the command line.                          | Console | All      |
> | IDECommunicator       | Automate the Xojo IDE from the command line.                          | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> 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      |
> | PictureResizer                           | Demonstrates a way to utilise multiple CPU cores.                                                                                             | 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      |
> | Simple Thread StartMethod                | Demonstrates how to use the StartMethod of the Thread class to quickly and easily start a new thread.                                         | All     | All      |
> | Thread Synchronization                   | Demostrates the importance of using synchronization locks when when multiple preemptive threads access a shared resource.                     | Desktop | All      |
> | Threaded Imgur Generator                 | Demostrates preemptive versus cooperative threads for loading pictures over the internet (from Imgur).                                        | Desktop | All      |
> | Threaded Picture Loading                 | Creates a set of pictures then demonstrates loading them with cooperative versus preemptive threads.                                          | Desktop | All      |
> | Threaded Word Counter                    | Demostrates preemptive versus cooperative threads for counting words in text files.                                                           | Desktop | All      |
> | ThreadPool Example                       | This simple example demonstrates the difference between cooperative and preemptive threads using the ThreadPool class written by Kem Tekinay. | Desktop | All      |
> | Using a Timer in a Console App           | Using the Timer class in a Console application.                                                                                               | Console | All      |
> | Using Attributes                         | Using IDE attributes to manage code maintenance and visibility.                                                                               | Desktop | All      |
> | WordCounter                              | Demonstrates a way to utilise multiple CPU cores.                                                                                             | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> Networking
>
> | Name                          | Description                                                                                               | Type    | Platform |
> |-------------------------------|-----------------------------------------------------------------------------------------------------------|---------|----------|
> | AutoDiscovery                 | Uses the AutoDiscovery class to find another application, on the same local network, to communicate with. | Desktop | All      |
> | Downloading Files             | Download a picture file from the Internet. Uses the URLConnection class.                                  | 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      |
> | 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      |
>
> </div>
>
> <div class="collapse">
>
> 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      |
> | Brushes                                 | Draw using graphical brushes in a PDF document. Uses the PDFDocument class.                                                                                      | Desktop | All      |
> | Callouts                                | Add a Callout annotation to a PDF document. Uses the PDFDocument class.                                                                                          | Desktop | All      |
> | PDF Table From Data                     | Shows how to create PDF tables using a PDFTableDataSource from data stored in a plain text file where each row is a line of text separated by the Tab character. | 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.                                                                                                                | Desktop | All      |
> | Creating PDF forms                      | Creating PDF forms via Xojo code. Uses the PDFDocument class.                                                                                                    | Desktop | All      |
> | Lines                                   | Add a Line annotation to a PDF document. Uses the PDFDocument class.                                                                                             | Desktop | All      |
> | Password Protection                     | Password protect and encrypt a PDF document. Uses the PDFDocument class.                                                                                         | Desktop | All      |
> | Sounds                                  | Embed a sound file within 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      |
> | Text                                    | Add Text annotations to a PDF document. Uses the PDFDocument class.                                                                                              | Desktop | All      |
> | Using Transparency                      | Demonstrates multiple transparent layers in a PDF document. Uses the PDFDocument class.                                                                          | Desktop | All      |
> | Video                                   | Embed a video file within a PDF document. Uses the PDFDocument class.                                                                                            | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> Platforms
>
> | Name                                         | Description                                                                                                                                                                   | Type    | Platform      |
> |----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------|
> | Access the Clipboard                         | Send and retrieve data using the Clipboard class.                                                                                                                             | Mobile  | iOS           |
> | 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           |
> | Adding Controls Dynamically                  | Add and remove contols at runtime.                                                                                                                                            | Mobile  | iOS           |
> | Adding Sections                              | Demonstrates adding sections to an iOSMobileTable control via code.                                                                                                           | Mobile  | iOS           |
> | Analogclock                                  | Demonstrates drawing an analog clock.                                                                                                                                         | Mobile  | Android       |
> | Applying Bootstrap CSS classes to controls   | Demonstrates the use of Bootstrap CSS classes to via the CSSClasses method that is available to all web controls.                                                             | Web     | All           |
> | Appversion                                   | Demonstrates getting the app version.                                                                                                                                         | Mobile  | Android       |
> | Auto-Size Label                              | Demonstrates auto-resizing a label to fit the text it contains.                                                                                                               | Mobile  | iOS           |
> | Available Fonts                              | Use a MobileCanvas to display a list of available fonts.                                                                                                                      | Mobile  | iOS           |
> | Barcode                                      | Demonstrate the Barcode class. Which uses the device's camera to read barcodes.                                                                                               | iOS     | iOS           |
> | Barcode                                      | Demonstrate the Barcode class. Which uses the device's camera to read barcodes.                                                                                               | Desktop | All           |
> | BevelButton                                  | Demonstrate the desktop BevelButton control and some of its properties.                                                                                                       | Desktop | All           |
> | Built-In Dialogs                             | Demonstrates the built-in dialogs.                                                                                                                                            | Desktop | All           |
> | Button Cell                                  | Demonstrates embedding controls within a WebListBox.                                                                                                                          | Web     | All           |
> | Buttonbackgroundcolor                        | Shows how to use a declare to set a button's background color.                                                                                                                | Mobile  | Android       |
> | ButtonStyling                                | Demonstrates various button styles.                                                                                                                                           | Desktop | Windows       |
> | Calculator                                   | A calculator app.                                                                                                                                                             | Mobile  | Android       |
> | CalendarWindow                               | Demonstrates creating a custom control by using a DesktopWindow.                                                                                                              | Desktop | All           |
> | Canvas Redraw Speed                          | Demonstrates server to client drawing speed. Uses the WebCanva control.                                                                                                       | Web     | All           |
> | Canvasbounce                                 | Shows how to use the Canvas control to do simple animation.                                                                                                                   | Mobile  | Android       |
> | CanvasButton                                 | Demonstrates creating a custom control by using a DesktopCanvas control.                                                                                                      | Desktop | All           |
> | 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       |
> | Catsup                                       | Demonstrates using the URLConnection class to get random pictures of cute kitties from the Internet.                                                                          | Mobile  | Android       |
> | ChameleonControls                            | Demonstrates how to use replace a native control used on macOS and Linux with a XAML control on Windows.                                                                      | Desktop | Windows       |
> | Chart                                        | Demonstrate the DesktopChart control. Also demonstrates saving charts using PDFDocument class.                                                                                | Desktop | All           |
> | Chart                                        | Demonstrate the MobileChart control.                                                                                                                                          | Android | Android       |
> | Chart                                        | Demonstrate the WebChart control.                                                                                                                                             | Web     | All           |
> | Chart                                        | Demonstrate using the MobileChart control.                                                                                                                                    | Mobile  | iOS           |
> | Chime                                        | This example demonstrates how to play a sound along with panning the sound to the left, center and right.                                                                     | Mobile  | Android       |
> | Clipboard                                    | Demonstrating sending and getting data from the Clipboard class.                                                                                                              | Desktop | All           |
> | Clipping Graphics                            | Draw clipped graphics. Uses the MobileCanvas control and its built-in Graphics class.                                                                                         | Mobile  | iOS           |
> | Color Cell                                   | Demonstrates drawing within the celss of a WebListBox. Uses the WebListboxCellRenderer class.                                                                                 | Web     | All           |
> | ColorPicker                                  | Demonstrates selecting colours using the DesktopColorPicker control.                                                                                                          | Desktop | All           |
> | Communicating between Sessions               | Demonstrates sending and receiving messages between different web sessions.                                                                                                   | Web     | All           |
> | Container Control                            | Demonstrates using the WebContainer control.                                                                                                                                  | Web     | All           |
> | Container                                    | Demonstrate different uses of the DesktopContainer control.                                                                                                                   | Desktop | All           |
> | Container                                    | Demonstrates using a container.                                                                                                                                               | Mobile  | Android       |
> | Control Sets                                 | Demonstrates the concept of control sets by creating a user-defined number of DesktopButtons.                                                                                 | Desktop | All           |
> | Controlling Row Selection                    | Demonstrates selectable table rows using the iOSMobileTable control.                                                                                                          | Mobile  | iOS           |
> | Controlthemes                                | Demonstrates using themes with controls.                                                                                                                                      | Mobile  | Android       |
> | Creating a Contextual Menu                   | Demonstrates creating a contextual menu.                                                                                                                                      | Desktop | All           |
> | Creating a Custom Window Shape with Declares | Demonstrates using Declares to create a customised window shape.                                                                                                              | Desktop | Windows       |
> | Creating Contextual Menus                    | Demonstrates creating and using contextual menus. Used the WebMenuItem control.                                                                                               | Web     | All           |
> | Custom Cell Dynamic Height                   | Demonstrates how row height can change fit content at runtime using the iOSMobileTable control.                                                                               | Mobile  | iOS           |
> | WebListBox Cell Renderers                    | Demonstrates drawing pictures into the cells of a WebListBox.                                                                                                                 | Web     | All           |
> | Custom Cells and Scrolling                   | Demonstrates row customisation using the iOSMobileTable control.                                                                                                              | Mobile  | iOS           |
> | Custom ProgressWheel                         | Drawing a custom progress wheel 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           |
> | DatePicker                                   | Demonstrate using the MobileDataTimePicker control.                                                                                                                           | Mobile  | iOS           |
> | DateTimePicker                               | This CustomDateTimePicker control is an example of a completely DesktopCanvas-based custom control. It's advantages over the native DesktopDateTimePicker control are that it | Desktop | All           |
> | Datetimepicker                               | Demonstrates the DateTimePicker control.                                                                                                                                      | Mobile  | Android       |
> | Declare Example - CPU Usage                  | Demonstrates using Declares to create a CPU idle time monitor.                                                                                                                | Desktop | Windows       |
> | Declare                                      | A basic declare example.                                                                                                                                                      | Mobile  | Android       |
> | DesktopGrid with Database                    | Demonstrates how to use the DesktopGrid control using a database as the data source.                                                                                          | Desktop | All           |
> | DesktopGrid with Three Containers            | Demonstrates how to use the DesktopGrid control with more than one container.                                                                                                 | Desktop | All           |
> | Dialog Box                                   | Demonstrates the use of (asynchronous) WebDialog control.                                                                                                                     | Web     | All           |
> | Dice                                         | Demonstrates drawing simple graphics with the DesktopCanvas control.                                                                                                          | Desktop | All           |
> | Dictionary                                   | Accessing a dictionary.                                                                                                                                                       | Mobile  | Android       |
> | DifferentViews                               | Demonstrates various list-style controls.                                                                                                                                     | Desktop | Windows       |
> | DownloadContainer                            | Demonstrates the concept of control sets by creating contols in response to a user action.                                                                                    | Desktop | 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           |
> | Drag and Drop Between ListBoxes              | Drag and drop rows between DesktopListBox controls.                                                                                                                           | Desktop | All           |
> | Drag and Drop Pictures                       | Demonstrates dragging and dropping a picture to and from a Xojo application.                                                                                                  | Desktop | All           |
> | Drag and Drop                                | Demonstrates selecting, dragging and dropping a graphic using the DesktopCanvas control.                                                                                      | Desktop | All           |
> | Drag Between Cells                           | Drag cells within a DesktopListBox control.                                                                                                                                   | Desktop | All           |
> | Drag Labels and Links                        | Demonstrates dragging and dropping Label and Link controls.                                                                                                                   | Web     | All           |
> | Dragging and Dropping Files                  | Drag files to a DesktopListBox control.                                                                                                                                       | Desktop | All           |
> | Dragging Events                              | Demonstrates the DesktopListBox dragging events.                                                                                                                              | Desktop | All           |
> | DrawControlInLayoutEditor                    | Demonstrates how to use this event to draw a preview of your control in the Layout Editor.                                                                                    | Desktop | All           |
> | Drawing an Analog Clock                      | Draw and animiate an analog clock. Uses a DesktopCanvas control and a Timer class.                                                                                            | 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 Text                                 | Demonstrates drawing text using the DesktopCanvas control.                                                                                                                    | Desktop | All           |
> | Drawing with Threads                         | Demonstrates drawing complex graphics using threads to improve performance.                                                                                                   | Desktop | All           |
> | Drop Files Example                           | Demonstrates how to restrict dropped files to specific types.                                                                                                                 | Desktop | All           |
> | Dynamic Container Control                    | Demonstrates modifying WebContainer controls at runtime.                                                                                                                      | Web     | All           |
> | Dynamic Desktop Toolbars                     | Demonstrates runtime modification of the DesktopToolbar control.                                                                                                              | Desktop | All           |
> | Dynamic Dialog Box                           | Demonstrates creating and using a dynamic dialog. Uses the WebDialog control.                                                                                                 | Web     | All           |
> | Editing a WebListBox Cell                    | Demonstrates how to programmatically begin an edit action on specific WebListBox cells.                                                                                       | Web     | All           |
> | Embedding a Windows Native Control           | Add Win32 controls to a Xojo application. Example embeds a ControlLink into a Desktop application.                                                                            | Desktop | Windows       |
> | Excel Automation                             | Access and control Excel via Xojo code. Requires the MSOfficeAutomation plugin.                                                                                               | Desktop | Windows       |
> | Export                                       | Export the contents of a DesktopListBox to a text file. Also demonstrates the use of an extension method.                                                                     | Desktop | All           |
> | External Methods                             | Demonstrates the use of External Methods by displaying fonts and font information.                                                                                            | Desktop | macOS         |
> | Feedbin                                      | Demonstrates basic username/password authorization via feedbin.com.                                                                                                           | Mobile  | Android       |
> | FileBrowser                                  | Implements a simple file browser using the DesktopListBox control. Also demonstrates subclassing.                                                                             | Desktop | All           |
> | Folderitem                                   | Accessing files via the FolderItem class.                                                                                                                                     | Mobile  | Android       |
> | Font Menu                                    | Demonstrates creating and selecting an item from a menu. Also demonstrates the System.FontAt function.                                                                        | Desktop | All           |
> | Fonts                                        | Display a short list of fonts. Uses a MobileLabel control to display each font .                                                                                              | Mobile  | iOS           |
> | Geofencing                                   | This example demonstrates how to detect when a user enters or exits a predefined area.                                                                                        | Mobile  | iOS           |
> | Get Default Control Size                     | Adjust desktop control sizes. Does not use the IDE 'Normal Control Sizes' switch.                                                                                             | Desktop | Linux         |
> | Graphicsclip                                 | Demonstrates clipping graphics in a Canvas.                                                                                                                                   | Mobile  | Android       |
> | Graphicspath                                 | Demonstrates using a GraphicsPath to draw shapes in a Canvas.                                                                                                                 | Mobile  | Android       |
> | Graphing Sine Waves                          | Draw user-defined sine waves. Uses the MobileCanvas control and its built-in Graphics class.                                                                                  | Mobile  | iOS           |
> | Gravatar                                     | Demonstrates constructing a control using Internet resources. Uses resources provided by Gravatar.com.                                                                        | Web     | All           |
> | Grid                                         | Implement a simple grid using a DesktopListBox control.                                                                                                                       | Desktop | All           |
> | GroupBox                                     | Demonstrates DesktopGroupBox (and DesktopRadioButton).                                                                                                                        | Desktop | All           |
> | Hiding Tabs                                  | This example demonstrates how to dynamically hide the tab bar.                                                                                                                | Mobile  | iOS           |
> | HTMLViewer-ExecuteJavaScript Test            | Demonstrates the DesktopHTMLViewer control. Also demonstrates the use of JavaScript.                                                                                          | Desktop | All           |
> | HTMLViewer-JavaScript                        | Demonstrates using ExecuteJavaScript with HTMLViewer.                                                                                                                         | Mobile  | Android       |
> | HTMLViewer                                   | Create a simple web browser using the MobileHTMLViewer.                                                                                                                       | Mobile  | iOS           |
> | Htmlviewer                                   | Demonstrates the HTMLViewer control.                                                                                                                                          | Mobile  | Android       |
> | IconGrid                                     | Demonstrate runtime addition and removal of DesktopListBox rows and columns.                                                                                                  | Desktop | All           |
> | Imagepicker                                  | Demonstrates the ImagePicker.                                                                                                                                                 | Mobile  | Android       |
> | ImagePicker                                  | Create a simple picture viewer using the MobileImageViewer.                                                                                                                   | Mobile  | iOS           |
> | Imageset                                     | Demonstrates accessing images in an ImageSet and then drawing them into a Canvas.                                                                                             | Mobile  | Android       |
> | Input Dialog                                 | Demonstrates a user input dialog.                                                                                                                                             | Desktop | All           |
> | InputFields                                  | Demonstrates various input fields.                                                                                                                                            | Desktop | Windows       |
> | Interactive Canvas                           | Demonstrates interactive graphics using the DesktopCanvas control.                                                                                                            | Desktop | All           |
> | Introspection                                | Demonstrates using Introspection.                                                                                                                                             | Mobile  | Android       |
> | iOS TableIndex                               | Demonstrates how to add an index (like the A-Z index in Apple's Contacts app) to your tables.                                                                                 | Mobile  | iOS           |
> | iOSMobileTable Search Filters via Declares   | Demonstrate the use of declares to create and use a Search field for an iOSMobileTable.                                                                                       | Mobile  | iOS           |
> | Simple Table DataSource Via a Class          | Demonstrates how to use a class as the datasource for an iOSTable.                                                                                                            | Mobile  | iOS           |
> | Simple Table DataSource Via a Database       | Demonstrates how to use a database as the datasource for an iOSTable.                                                                                                         | Mobile  | iOS           |
> | iOSTable                                     | Demonstrate using the iOSMobileTable control.                                                                                                                                 | Mobile  | iOS           |
> | Drag Kanban Board                            | Demonstrates dragging and dropping cards on a Kanban board.                                                                                                                   | Web     | All           |
> | Layouts                                      | Demonstrates various layouts.                                                                                                                                                 | Desktop | Windows       |
> | Lazy Loading                                 | Demonstrate a method for loading large amounts of data into a DesktopListBox control.                                                                                         | Desktop | All           |
> | LEDBlinker-Console                           | Flash a light.                                                                                                                                                                | Console | Raspberry Pi  |
> | LEDBlinker                                   | Blinks an LED light when connected to one through a breadboard.                                                                                                               | Console | Raspberry Pi  |
> | LEDButton-Console                            | Control an light with a button.                                                                                                                                               | Console | Raspberry Pi  |
> | LEDButton                                    | Turns an LED light (connected through a breadboard) on and off by clicking a button.                                                                                          | Console | Raspberry Pi  |
> | LinkLabel                                    | Demonstrates creating a custom control by using a DesktopLabel control.                                                                                                       | Desktop | All           |
> | ListBox                                      | Demonstrate DesktopListBox features.                                                                                                                                          | Desktop | All           |
> | Listbox with a Datasource                    | Demonstrates populating a WebListBox from an SQLite database.                                                                                                                 | Web     | All           |
> | Load a Theme                                 | Demonstrates how to load a GTK theme for a desktop application.                                                                                                               | Desktop | Linux         |
> | Location                                     | Demonstrates getting the user's location.                                                                                                                                     | Mobile  | Android       |
> | Location                                     | Create a simple location display application using the MobileLocation control.                                                                                                | Mobile  | iOS           |
> | 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           |
> | Memoryblock                                  | Demonstrates using a MemoryBlock.                                                                                                                                             | Mobile  | Android       |
> | MenuBar                                      | Demonstrates creating a menu bar.                                                                                                                                             | Desktop | Windows       |
> | Messagebox                                   | Demonstrates the MessageBox method.                                                                                                                                           | Mobile  | Android       |
> | MessageBox                                   | Demonstrate using the MobileMessageBox.                                                                                                                                       | Mobile  | iOS           |
> | MobilePicture-Metadata                       | Demonstrates how to read metadata from and write metadata to pictures.                                                                                                        | Mobile  | iOS           |
> | Modal Dialog                                 | Demonstrates a modal dialog.                                                                                                                                                  | Desktop | All           |
> | Modalscreen                                  | Demonstrates creating a modal screen.                                                                                                                                         | Mobile  | Android       |
> | Motion                                       | Demonstrate using the MobileMotion class. The iOSSimulator does not simulate device motion.                                                                                   | Mobile  | iOS           |
> | Movieplayer                                  | Demonstrates the MoviePlayer control.                                                                                                                                         | Mobile  | Android       |
> | MoviePlayer                                  | Create a simple movie player using the DesktopMoviePlayer control.                                                                                                            | Desktop | All           |
> | NotePlayer                                   | Demonstrates playing sounds using the DesktopNotePlayer control.                                                                                                              | Desktop | All           |
> | Notification Categories                      | Demonstrates notificiations for iOS applications. Uses the MobileNotifications class.                                                                                         | Mobile  | iOS           |
> | OKCancelContainer                            | Demonstrates a self-modifying control using a DesktopContainer. Alters the order of DesktopButtons depending on the current platform.                                         | Desktop | All           |
> | OLE Automation Tests                         | Demonstrates OLE Automation to create a Word document. Needs the Word application installed to work.                                                                          | Desktop | Windows       |
> | Open Recent Menu                             | Demonstrates how to create and maintain an Open Recents file menu.                                                                                                            | Desktop | All           |
> | Other iOS Dialogs via Declares               | Demonstrate miscellaneous iOS dialog boxes.                                                                                                                                   | Mobile  | iOS           |
> | Passkeys for Web                             | Demonstrates how to use passkeys for web application login rather than traditional passwords.                                                                                 | Web     | All           |
> | PDFViewer Control                            | Demonstrates displaying a PDF file via PDFViewer control.                                                                                                                     | Mobile  | iOS           |
> | Picturedrawing                               | Drawing a simple picture in a Canvas.                                                                                                                                         | Mobile  | Android       |
> | Play Folder of Movies                        | Demonstrates how to play multiple movies using the DesktopMoviePlayer control.                                                                                                | Desktop | All           |
> | Popover                                      | Demonstrate how to use MobileScreen and MobileContainer to create popovers.                                                                                                   | iOS     | iOS           |
> | Popover                                      | Demonstrate how to use WebContainer to create popovers.                                                                                                                       | Web     | All           |
> | Popover                                      | Demonstrate how to use DesktopWindow and DesktopContainer to create popover windows.                                                                                          | Desktop | All           |
> | PowerPoint Automation                        | Access and control PowerPoint via Xojo code. Requires the MSOfficeAutomation plugin.                                                                                          | Desktop | Windows       |
> | HTMLViewerPrinting                           | Demonstrates printing from a web application. Uses the WebHTMLViewer.Print method.                                                                                            | Web     | All           |
> | Progress                                     | Demonstrates the ProgressBar control.                                                                                                                                         | Mobile  | Android       |
> | Progress                                     | Demonstrates the WebProgressBar control.                                                                                                                                      | Web     | All           |
> | Progress                                     | Demonstrate using the MobileProgressBar control.                                                                                                                              | Mobile  | iOS           |
> | ProgressBar                                  | Demonstrates the normal and indeterminate types of DesktopProgressBar.                                                                                                        | Desktop | All           |
> | Property List                                | Demonstrate the types rows available with a DesktopListBox control.                                                                                                           | Desktop | All           |
> | Proportional Spacing without code            | Demonstrates using control constraints to maintain spacing on a rotable device.                                                                                               | Mobile  | iOS           |
> | 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           |
> | Rotating Graphics                            | Simple animated graphic. Uses the MobileCanvas control and its built-in Graphics class.                                                                                       | Mobile  | iOS           |
> | Samplecontrols                               | Demonstrates several different controls.                                                                                                                                      | Mobile  | Android       |
> | Screen Navigation                            | Navigating screens on different types of mobile device.                                                                                                                       | Mobile  | iOS           |
> | ScrollableArea                               | Demonstrate using the MobileScrollableArea control.                                                                                                                           | Mobile  | iOS           |
> | Scrollablearea                               | Demonstrates using a ScrollableArea.                                                                                                                                          | Mobile  | Android       |
> | ScrollBar                                    | Demonstrates horizontal and vertical DesktopScrollBar controls.                                                                                                               | Desktop | All           |
> | Scrolling Container                          | Demonstrates a scrollable list of WebContainers.                                                                                                                              | Web     | All           |
> | Scrolling                                    | Demonstrates scrolling a picture within the confines of a DesktopCanvas control.                                                                                              | Desktop | All           |
> | SDK Examples                                 | Demonstrates constructing visual and non-visual controls using the WebSDK.                                                                                                    | Web     | All           |
> | SegmentedButton                              | Demonstrates the DesktopSegmentedButton control. Example demonstrates adding and removing segments at runtime.                                                                | Desktop | All           |
> | 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           |
> | Sharing Documents folder with The Finder     | How to share the Documents folder between a mobile device and a Mac.                                                                                                          | Mobile  | iOS           |
> | SharingPanel                                 | Demonstrate using the MobileSharingPanel control.                                                                                                                             | Mobile  | iOS           |
> | Sharingpanel                                 | Demonstrates using the SharingPanel.                                                                                                                                          | Mobile  | Android       |
> | Shortcuts                                    | Managing application shortcuts using the IDE Entitlements editor.                                                                                                             | Mobile  | iOS           |
> | ShowModal                                    | Demonstrates the use of Modal screens.                                                                                                                                        | Mobile  | iOS           |
> | Simple DesktopGrid                           | Demonstrates how to use the datasource to provide data to a DesktopGrid control.                                                                                              | Desktop | All           |
> | Simple ListBox                               | Demonstrates a simple WebListBox.                                                                                                                                             | Web     | All           |
> | Simple Notification                          | Introduction to notifications for iOS applications. Uses the MobileNotifications class.                                                                                       | Mobile  | iOS           |
> | Simple Tabs                                  | This example provides a simple demonstration of how to set up tabs.                                                                                                           | Mobile  | iOS           |
> | Sinewaves                                    | Drawing sine waves in a Canvas control.                                                                                                                                       | Mobile  | Android       |
> | Slider                                       | Demonstrates the Slider control.                                                                                                                                              | Mobile  | Android       |
> | Soft Declares                                | Demonstrates the use of Soft Declares by modifying window properties.                                                                                                         | Desktop | macOS         |
> | Source List                                  | Implement a simple SourceList user interface using the DesktopListBox control. Uses expanable rows.                                                                           | Desktop | All           |
> | Sqllite                                      | A simple SQLite example.                                                                                                                                                      | Mobile  | Android       |
> | SQLiteDatabase                               | Demonstrate using the SQLiteDatabase class.                                                                                                                                   | Mobile  | iOS           |
> | Sqliteinmemory                               | Demonstrates creating a SQLite in-memory database.                                                                                                                            | Mobile  | Android       |
> | Sqliteversion                                | Demonstrates how to get the version number of SQLite.                                                                                                                         | Mobile  | Android       |
> | Swiping                                      | Demonstrate detecting swiping actions using the MobileCanvas control.                                                                                                         | Mobile  | iOS           |
> | Switch                                       | Demonstrate using the MobileSwitch control.                                                                                                                                   | Mobile  | iOS           |
> | Switch                                       | Demonstrates the Switch control.                                                                                                                                              | Mobile  | Android       |
> | Switching Constraints                        | Managing collections of constraints. Uses the iOSLayoutConstraint class.                                                                                                      | Mobile  | iOS           |
> | Systemimageicons                             | Accessing system image icons. There are over 2400 for Android included with Xojo.                                                                                             | Mobile  | Android       |
> | TabBar                                       | Using the TabBar. Uses iOSLayout.                                                                                                                                             | 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 editing and Reordering                 | Demonstrates editing and reordering of iOSMobileTable cells.                                                                                                                  | Mobile  | iOS           |
> | Table Row Selection via Code                 | Demonstrates iOSMobileTable row selection via code.                                                                                                                           | Mobile  | iOS           |
> | Table with Detail View                       | Demonstrates how to display details from an iOSMobileTable control.                                                                                                           | Mobile  | iOS           |
> | Table                                        | Demonstrates the AndroidMobileTable control.                                                                                                                                  | Mobile  | Android       |
> | Tabpanel                                     | Demonstrates a tabbed interface.                                                                                                                                              | Mobile  | Android       |
> | TabViewAndWebView                            | Demonstrates a tab control and a web viewer control.                                                                                                                          | Desktop | Windows       |
> | Taskmanager                                  | The completed example from the Android tutorial.                                                                                                                              | Mobile  | Android       |
> | TCPSocket                                    | Demonstrates using TCPSocket. Use this with the Desktop ServerSocket example.                                                                                                 | Mobile  | Android       |
> | TextField Resizing                           | Demonstrates proportional resizing of the DesktopTextField.                                                                                                                   | Desktop | All           |
> | Textfield                                    | Demonstrates the TextField control.                                                                                                                                           | Mobile  | Android       |
> | Thread                                       | Demonstrates threads.                                                                                                                                                         | Mobile  | Android       |
> | 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           |
> | ThreadProgress                               | Demonstrates using the Thread class to control a modal dialog.                                                                                                                | Web     | All           |
> | Threads and priority                         | Demonstrates the use of the Thread class on iOS devices.                                                                                                                      | Mobile  | iOS           |
> | Timer                                        | Demonstrates the WebTimer control.                                                                                                                                            | Web     | All           |
> | Tipcalculator                                | A tip calculator app.                                                                                                                                                         | Mobile  | Android       |
> | Toolbar                                      | Demonstrates using the toolbar on iOS devices. Uses the MobileToolbarButton control.                                                                                          | Mobile  | iOS           |
> | Toolbar                                      | Demonstrates using a toolbar.                                                                                                                                                 | Mobile  | Android       |
> | Toolbar                                      | Demonstrates creating and interacting with the DesktopToolbar control.                                                                                                        | Desktop | All           |
> | Touch Events in a Canvas                     | Demonstrates touch events using the MobileCanvas control.                                                                                                                     | Mobile  | iOS           |
> | TrayExample                                  | Demonstrates using the System tray on Windows and Linux.                                                                                                                      | Desktop | Windows/Linux |
> | Turtle                                       | A simple Frogger-style 2D graphics game using the Canvas control.                                                                                                             | Mobile  | Android       |
> | Updating WebCanvas Graphics via a Timer      | Demonstrates controlling a WebCanvas via a WebTimer.                                                                                                                          | Web     | All           |
> | URL Schemes                                  | Demonstrates how to enable an application to respond to a URL Schema.                                                                                                         | Mobile  | iOS           |
> | Urlconnectionget                             | Demonstrates doing a GET via the URLConnection class.                                                                                                                         | Mobile  | Android       |
> | Urlconnectionpost                            | Demonstrates performing a POST via the URLConnection class.                                                                                                                   | Mobile  | Android       |
> | User Authentication                          | Demonstrates how to authenticate a user. Uses the UserAuthentication class.                                                                                                   | Mobile  | iOS           |
> | Using a SQLite in-memory database            | Demonstrates using an in-memory SQLite database in an iOS application.                                                                                                        | Mobile  | iOS           |
> | 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           |
> | Using AppleScripts in Xojo                   | Demonstrates accessing AppleScripts via Xojo code.                                                                                                                            | Desktop | macOS         |
> | 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           |
> | VCardToQR                                    | Demonstrates creating a vcard (virtual business card) and then from that creating a QR code for it.                                                                           | Desktop | All           |
> | Visits                                       | Demonstrates how to track the user arriving and leaving a location.                                                                                                           | Mobile  | iOS           |
> | WebFileUploader                              | Demonstrates using the WebFileUploader class.                                                                                                                                 | Web     | All           |
> | WebGrid Container                            | Demonstrates creating a dynamic grid of WebContainers.                                                                                                                        | Web     | All           |
> | WebImageViewer SVG                           | Demonstrates a simple viewer for SVG image files. Uses the WebImageViewer control.                                                                                            | Web     | All           |
> | WebListBox ColumnTypes                       | Demonstrates CheckBox, TextField and TextArea column types.                                                                                                                   | Web     | All           |
> | WebListBox Row Reordering                    | Demonstrates reordering rows via drag and drop.                                                                                                                               | Web     | All           |
> | WebMoviePlayer                               | Demonstrates using the WebMoviePlayer control.                                                                                                                                | Web     | All           |
> | WebSDKIconConverter                          | Utility application to convert a picture into Base64 text.                                                                                                                    | Desktop | All           |
> | WebToolbar                                   | Demonstrates using the WebToolbar control.                                                                                                                                    | Web     | All           |
> | WebToolbarMenu                               | Demonstrates using the WebMenuItem class.                                                                                                                                     | Web     | All           |
> | Window Menu                                  | Demonstrates how to use menus to create and switch between windows.                                                                                                           | Desktop | All           |
> | 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  |
> | Word Automation                              | Access and control Word via Xojo code. Requires the MSOfficeAutomation plugin.                                                                                                | Desktop | Windows       |
> | XAML Acrylic Brush                           | A DesktopXAMLContainer example demonstrating how to use the XAML AcrylicBrush for translucent, blurred UI effects.                                                            | 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       |
> | Xojo Cloud Remote Notification Server        | A simple iOS application notification server.                                                                                                                                 | Web     | iOS           |
> | Xojo Cloud Top                               | Displays the results of the TOP shell command when run on Xojo Cloud.                                                                                                         | Web     | All           |
> | Xojodraw                                     | A drawing app.                                                                                                                                                                | Mobile  | Android       |
> | Zooming                                      | Demonstrates zooming a picture within the confines of a DesktopCanvas control.                                                                                                | Desktop | All           |
>
> </div>
>
> <div class="collapse">
>
> 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 in Columns                  | Demonstrates printing text in one or two columns.                                                           | 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 from SQL Query                | Demonstrates printing a report from the results of an SQLQuery.                                             | Desktop | All      |
> | Report Preview via Container Control | Demonstrates previewing an SQLQuery generated report.                                                       | Desktop | All      |
> | Report Using Groups                  | Demonstrates printing 'grouped' reports.                                                                    | Desktop | All      |
> | Simple Example                       | Demonstrates printing a simple report.                                                                      | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> Sample Apps
>
> | Name                | Description                                                                                        | Type    | Platform |
> |---------------------|----------------------------------------------------------------------------------------------------|---------|----------|
> | 2K                  | A version of the game 2048 using the Canvas control.                                               | Mobile  | iOS      |
> | Android             | A customer invoices management application.                                                        | Mobile  | Android  |
> | Android             | The Xojo Developer Conference app for Android.                                                     | Mobile  | Android  |
> | BlockAttack         | An animated block swapping game that uses the Canvas control.                                      | Desktop | All      |
> | Chat                | A simple web based chat application.                                                               | Web     | All      |
> | EEDesktop           | A customer invoices management application.                                                        | 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      |
> | iOS                 | The Xojo Developer Conference app for iOS.                                                         | Mobile  | iOS      |
> | EEiOS               | A customer invoices management application.                                                        | Mobile  | iOS      |
> | Jewels              | A simple symbol swapping game using the Canvas control.                                            | Desktop | All      |
> | 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      |
> | Mole                | Whack-A-Mole game using the Canvas control.                                                        | Desktop | All      |
> | SimpleBrowser       | A simple web browser. Uses the DesktopHTMLViewer control.                                          | 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      |
> | SpaceRocks          | A version of the classic video game Asteroids using the Canvas control.                            | Desktop | All      |
> | Tank                | A version of the classic Tank Battle video game using the Canvas control.                          | Desktop | All      |
> | ToDo - Desktop      | A simple ToDo list application.                                                                    | Desktop | All      |
> | ToDo - Web          | A simple ToDo list application.                                                                    | Web     | All      |
> | Turtle              | A Frogger-style game using the Canvas control.                                                     | Mobile  | iOS      |
> | EEWeb               | A customer invoices management 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      |
>
> </div>
>
> <div class="collapse">
>
> 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      |
>
> </div>
>
> <div class="collapse">
>
> Sound
>
> | Name         | Description                 | Type    | Platform |
> |--------------|-----------------------------|---------|----------|
> | Sound Player | A simple sound file player. | Desktop | All      |
>
> </div>
>
> <div class="collapse">
>
> 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      |
>
> </div>
