Hi everyone and welcome to month 6 of the 2025 Year of Code! This is the thread to share your Code Sharing project. That is any project that highlights Xojo’s ability to share code across multiple platforms.
You can learn about @Gabriel_Ludosanu’s example project for a cross-platform code class on the Xojo Blog.
Remember: To be entered in the drawings for this month’s prize and the grand prize at the end, you need to share your code, preferably on GitHub. Refer to this blog post if you need help with getting your project on GitHub.
For this month’s challenge, I have been learning a lot about writing a cross-platform class to create and manage an SQLite database. The result is available on GitHub.
Check out the attached demo project file for usage. The app opening event needs to refer to the class to ensure that the private values for db and dbfile that reside in the class are available for all function calls.
Thanks for the info. I put this class together to solve an issue I had. I had to figure out a way to add new tables and new columns to an existing database, and it grew from there. I wasn’t aware of the product you mentioned, but it looks interesting. It looks like it may not be so easy to use within a Xojo applicaiton. “SQLiteManager is a multilingual web based tool to manage SQLite database. The programming language used is: PHP4, but work fine with PHP5. Work just as well on a platform Linux as on Windows or MAC”
Hey there! I checked out the applicaiton you mentioned. Is there a way to call it from within Xojo? It seems like it might give Xojo programmers a lot of control over creating and using an SQLite database within an application if that is so. If not, the class I wrote provides many features for doing this. Check out the GitHub repo for a project file.
It’s not. I was just pointing out that there was already a Xojo project with the name you chose… in case you want to avoid confusion. People might think that your repo is the source of that product.
I’d like to introduce my stable Diffusion Prompter. The program works on Windows, macOS, and Linux. I’ve made binaries for Windows and macOS available on GitHub.
You’ll find quite some repositories with Xojo Projects in my GitHub Profile. While I haven’t been working on all these projects in June, all of them have received updates this year.
Still I’d like to list some that fit this month’s topic about Xojo code that can be used on multiple platforms.
GitHub: jo-tools/monitors Fixes Window Positioning Issues on Windows (Multi Monitors, different Scale Factors). Provides convenience methods, e.g.: Position a modal dialog on a relative position of a certain Monitor.
GitHub: jo-tools/taskdialogs Leverage the Task Dialog Indirect API for Windows Desktop Applications, while falling back to Xojo’s MessageDialog on other platforms. Also provides convenience Methods for the most often used Task Dialogs (1 or 2 options to choose, (dis)allow cancel).
GitHub: jo-tools/customappfonts How to embed custom App Fonts in Xojo-built applications. The fonts are not being installed on the OS - they are only available while the application is running.
GitHub: jo-tools/createshortcut Create a Shortcut (Windows) , Alias (macOS) and Desktop Launch File (Linux) in Xojo-built Applications.
GitHub: jo-tools/crccalculator
Cyclic Redundancy Check: CRC8, CRC16, CRC32. The Algorithm(s) are written in pure Xojo Code.
GitHub: jo-tools/app-appearance Dealing with DarkMode support in Xojo. macOS: allow users o the application to appear in “Always Dark” , “Always Light” - or of course “System Default”. Windows: allow users of the application to Opt-in for DarkMode support
GitHub: jo-tools/treeview A reusable subclass that handles all the magic of Xojo’s hierarchical Listbox. Just populate a hierarchical list, and this subclass will show it as a TreeView.
This time I created a class to address the UniFi Network API. If you have a Ubiquiti UniFi Controller, you can use it to display the devices, clients and hotspot vouchers. Not all UniFi API calls are included yet, I will add them in the near future.
In the project I have added a desktop window with example calls. I have also tried to document the code well so that it is easy to understand.
Thank you to everyone who participated by sharing your code in June’s Year of Code event. All the participants who posted in this thread with links to their code were entered into a drawing and the winner is @Sascha_S!
To participate in Year of Code, share a project related to each month’s programming theme. Remember, Year of Code is about learning from both the code you write for each month’s project as well as from exploring the code others have shared. You must share a link to your code, preferably on GitHub, be be eligible for prizes and Xojo fame.