Skip to content

Category: Learning

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

Hour of Code: Xojo Dojo

December 3rd kicks off Computer Science Education Week 2018! Computer Science Education Week is held in early December every year in recognition of the birthday of computing pioneer Admiral Grace Hopper. Alongside this is the Hour of Code promotion where schools throughout the world get students to try at least 1 hour of programming at some point during the week.

Each year for Hour of Code, I volunteer at the local Middle School to talk to the students about what it is like to be a programmer and do a little bit of programming. This year I plan to demonstrate Xojo Dojo with a Raspberry Pi and show the kids how much fun coding and Xojo programming can be.

Comments closed

Web Services Part II: Xojo Web, at your service

In a previous entry we started to dig into web services with Xojo. The first post focused on the backend (server side), creating the Xojo app acting as middleware between the clients and the database that holds your data. We are using SQLite as the backend engine but it would not be difficult to change to other supported database engines like PostgreSQL, MySQL (MariaDB), Oracle or SQL Server, and even ODBC; all of these are supported by Xojo!

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

Drawing Objects in a Canvas with the Paint Event

The Canvas control is a great way to draw pretty much anything to a window. With a Canvas, do all your drawing in its Paint event handler for the best quality and performance.

I’ve had many people ask for an example for how to create a Canvas that allows you to:

  • Draw pictures within it (as objects)
  • Move these objects
  • Remove them
  • Add labels to them
  • Programmatically select one

This example demonstrates how to do all these things. It has a large Canvas on the window with several buttons that let you add and manage the objects on the Canvas.

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

Tutorial: Saving WebCanvas Images to Disk

The WebCanvas control is used for drawing graphics in web apps. It takes advantage of the HTML5 Canvas making it fast and powerful. Sometimes is can be useful to be able to save the graphics drawn in the WebCanvas to an image file, but unfortunately there is no built-in Xojo method to do this.

However, by using a little JavaScript you can easily add this capability to Xojo.

Comments closed