Skip to content

Category: Learning

Guest Post: Using the Graphics Class to Create PDF Documents

Monkeybread Software started with the DynaPDF plugin for Xojo about twelve years ago. As DynaPDF is a C++ library, the wrapping plugin mimics the original C API and offers it for Xojo. Over the years a lot more convenient methods have been added to make the plugin more Xojo-like. For example, newer methods can process pictures directly, take colors as Xojo color values and allow drawing of styled text directly.

Since the early days there has been the feature request to use the graphics class in Xojo to draw to a PDF document. We recently came back to this old feature request and decided to try a new way to implement it and our new code seems to work just fine. With some help from Xojo engineers, we even got the alignment right.

Comments closed

Using Advanced Twitter Search

Twitter can be a great resource for developers and small business owners looking for new audiences. How do you find that tweet you saw last month from @xojo to that other guy about the graphics property?

Here’s an overview of Twitter’s search capabilities and some tips to get the most out of using the platform to promote your apps.

Comments closed

Canvas: How to Create Custom UI Controls

Xojo includes a good amount of UI controls available from the Library for Desktop, Web, iOS and Raspberry Pi targets. These are the pieces that allow you to layout the user interface of your apps: properties, methods and events that, when combined, define the specific behavior of the project at hand.

Sometimes, subclassing the available controls is the answer to add specific behaviors you need. But what happen when none of the controls offer what you need, whether visually or functionally? The answer is the Canvas class (for Desktop projects), WebCanvas class (for Web projects) and iOSCanvas class for iPhone and iPad devices. But how do you create your own UI controls from scratch? Read on to learn…

Comments closed

Guest Post: Process and Structure to Control Clutter

Ever been unable to find that document you need for your next meeting?

Have you lost focus while working on one thing because you can’t stop thinking about something else? Feeling overwhelmed? There are several types of clutter: physical, technology, and mental. And that clutter is likely affecting you negatively. 

Comments closed

Tip: How To Deal with A Lot of Columns in Database Tables

Most of the time, the access to our databases tables involves a small amount of columns (fields), so the use of the Field method of the RecordSet class is the most practical approach to retrieve the selected columns values. But what can we do when the query returns, for example, dozens of columns we need to get values from?

Comments closed

How To Speed Timers in Windows

The Timer and Xojo.Core.Timer classes gives us a resolution that is more than enough for most of the cases where we need to use them. In fact, under macOS we don’t find any kind of limitation when using the classes provided by the Xojo Framework: we can achieve a maximum resolution of 1 ms on any of the most recent computers.

But when working with Windows OS this is not so straightforward . It doesn’t matter if we try to set the Timer Period property to a minimum value of 1 ms; Windows imposes a minimum resolution of 16 ms, insufficient when we demand the maximum precision for a critical task (period interval between Timer firings).

Of course Xojo has a solution for this, you can resort to a third-party plug-in that works extremely well … or you might find the following technique useful for all kinds of projects.

Comments closed