Skip to content

Category: Tips

sort code tips and tricks

Updating Code That Used The Graphics Property

Prior to Xojo 2018r3 Window and Canvas both had a Graphics property that you could access and draw to. This was deprecated in 2011 because it had significant performance issues on all platforms. The preferred way to draw your graphics since 2011 has been to use the Window.Paint or Canvas.Paint event handlers and the supplied parameter g As Graphics.

Starting with Xojo 2018r3, this Graphics property was removed from Window and Canvas so if you had code that was still relying on it, that code will no longer compile. Here are some tips on how you can migrate your code to use the Paint event handlers and tell the Canvas to update with a call to Invalidate.

Comments closed

What’s important in a programming language?

I started learning how to code as a teenager. Back then there weren’t very many programming languages. I remember BASIC, Pascal, Fortran, COBOL, C and a handful of others that were highly specialized. Why so few? Because in the 1970’s, computers just couldn’t do very much compared to today. The available languages were sufficient for the limited tasks computers had been assigned to manage.

Over the last several decades, computer technology has exploded. The smartphone I carry around in my pocket is far more powerful than the fastest computers of my youth. As a teenager, I rarely encountered anything where a computer had played a part. Today the rare encounter would be with things where computers had played no part.  Computers handle so many tasks now that, as a natural consequence, there are thousands of programming languages with more appearing every year.

With so many languages, it can be difficult to choose one. What is important in a programming language?

Comments closed

IDE changes in Xojo 2018r3 and more

About three years ago, we added HiDPI/Retina support to our framework which was released to users as part of Xojo 2016r1 when we also shipped our first HiDPI IDE.

With Apple’s announcements at WWDC 2018 and the introduction of dark mode it was time to revisit our graphics and the overall appearance of the IDE again. Here are some things which contribute to the changes that have been made and ones that you will see in the coming months.

Comments closed

Adventures in Regular Expressions

As you probably know, every version of Xojo includes an extensive list of release notes that is included in the Documentation folder as an HTML file called ReleaseNotes.htm.

To make these even easier to access, I needed a way to get these into the wiki. It would be easiest if I could just copy and paste the HTML contents onto a wiki page, but MediaWiki can’t quite process all the HTML in that file so I needed a way to clean it up a bit.

Comments closed

Localize Your Edit Menu on Mac

On macOS you may have noticed two special menu items that appear at the bottom of the Edit menu: “Start Dictation” and “Emoji & Symbols”. These menu items are added automatically by macOS provided your Xojo app follows a few simple rules.

Comments closed

Quick Control Library Tips

When you start using Xojo one of the first things you’ll see is that there are many, many types of built-in controls. The area where you see all the controls is called the Library and each project type (desktop, web or iOS) has its own set of controls.

No matter the what type of project you are creating, learn these tips to make using the Library and finding controls fast and easy.

Comments closed

Formatting Your XML

Although Xojo does not have a built-in method to format XML text, you can use XSLT to do this for you. XSLT stands for eXtensible Stylesheet Language. This XSLT can be used to format XML:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match="/">
<xsl:copy-of select="/" />
</xsl:template>
</xsl:transform>

To use this with Xojo, add a module to your project (name it XMLExtensions), add a String constant to the module (call it kXSLTFormat) and copy the above XSLT into the constant.

Comments closed

Name Your App

Naming your app may seem like the last step and the easiest part of the process, but it actually should involve some careful thought and consideration. A name needs to set the right tone for your app, should relate to it in some way, and should be searchable, meaning something that can be found easily in search engines. For example, you don’t want to name your app TravelTips – there are thousands of google searches that will come up before your app. You want a name you can own.

When we changed our name from Real Studio to Xojo, we wanted to make sure we could find a name that we could own. Not only was Xojo a pretty wide open space in terms of search, but it also stands for something that describes what Xojo is – X is for Cross-platform and “OJO” is for Object-Oriented.

Comments closed