Richard (Rik) Brooks

Subscribe to Richard (Rik) Brooks: eMailAlertsEmail Alerts
Get Richard (Rik) Brooks via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories by Richard (Rik) Brooks

Normally I try to write applications on the DataWindow or Appeon but every now and then I get a question that makes me sit back and say, "Huh?" In this case the question concerns the PostOpen event. I've seen that event named different things: ue_post_open, postOpen, post_open, ue_postOpen, etc. It has, as far as I can see, always had post and open in the name of the event. Further, just about every framework that I've ever seen has had that event in the base window. The question that I was asked was, "Why is that event there?" The programmer wanted to know why there was code in the post open and why was it not just put at the end of the open event? At first I was really confused by the question. It was like he was asking me why do we have arrays? I just couldn't imagine not knowing the answer. Then it occurred to me that I learned the answer to that question from a ... (more)

A Look at Appeon Mobile

The following article is an excerpt from Rik's upcoming book, ‘Mobile Application Development using PowerBuilder and Appeon' I am here to tell you it's true. You can write iPad applications in PowerBuilder. I'm sure that you are waiting for the other shoe to drop but ladies and gentlemen, there is no other shoe. It is simply the truth. You can write iPad applications in PowerBuilder. Those of you who have iPads, have you ever seen an MDI application running on an iPad? No? Neither had I. That is until I took a PowerBuilder application and, using Appeon, deployed to my iPad and ra... (more)

Automating Your DataWindow

Every programmer knows about the IF command. It's pretty much a fundamental part of the syntax of every computer language that has ever existed. I don't need to explain how it works. The DataWindow can't use the IF command though. It does, however, support an IF function. IF(expression, TRUE, FALSE) In its simplest form this means that if the expression evaluates to TRUE, then whatever statement you supply for the TRUE part is executed. If not then the FALSE part is. Let's begin with a simple example. Let's create a DataWindow that will show employee information. Here is the SQ... (more)

Jaguar Mail Server II

In the October issue of PBDJ we worked on the design for our mail server on Jaguar. This is more accurately called an MDA, or Mail Delivery Agent. What we're writing isn't the application that will receive raw messages from the Internet, parse them out, then store them for another application to download. It in fact does the downloading. This relationship is beyond the scope of this series, but it needs to be addressed simply to avoid confusion. What we're considering is something far closer to a Microsoft Outlook than a SendMail. So why write a replacement for Microsoft Outlook?... (more)

DataWindow Magic: Master_Detail Object

One of the most useful custom objects that I've ever written is my master_detail object. It holds a prominent place in my toolkit. This article will take you through the steps of how to write one and in the process de-mystify the object. First we want something that looks like Figure 1. Selecting a row in the top DataWindow will display the details in the bottom. I'm sure that you've seen this kind of DataWindow and you've probably written many of them. The key here is not to tell you how to write this but how to simplify every one that you will write in the future. For our exam... (more)