Welcome!

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

Have you ever seen a form that has its own microhelp that changes when a field gets focus? I'm sure you have. You might see a window and at the bottom of the window is a line that says, "OPTIONAL - Enter the employee birth date," when a field is entered. We are going to create a simple automated solution that will allow you to carry the microhelp along in the DataWindow. Take a look at Figure 1. It's a freeform DataWindow with a SQL data source. I chose the Employee table from the sample database that comes with PowerBuilder. I didn't do anything special to it. My goal here is to show you how to automate a microhelp. When PowerBuilder put the columns on the DataWindow painter, the tab was automatically set. I just left it at the default. Then I created a window and threw the DataWindow into it. I threw a custom object on the window and associated it with the DataWi... (more)

Advanced DataWindow Sorting

This article provides a means of automating the sorting of DataWindows... not just grid DataWindows as discussed in last month's article, but all DataWindows, regardless of display format. Bear in mind that we are writing programmer tools. When writing for programmers we want to give the programmer the maximum number of options while minimizing the programmer effort. In other words, default as much as possible but allow the programmer to move beyond the defaults. We have several action items to implement: Do the housekeeping to get an application going Create a window for sorting.... (more)

DataWindow Magic: Menu Security

Security is a must for most corporate applications. This article will give you a starting point to designing and implementing your own. We will do it with a table that is added to the example database and implement it in ancestor code. The idea is that you should only have to add rows to a table to implement your security. The Table The security table will provide a means to turn on and off controls and menu items as our inherited objects are constructed. Security Login_name varchar(20) PK Application varchar(20) PK Item_type varchar(10) PK Item_name varchar(20) PK Priviledge ... (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)

Appeon Developer Configuration

Have you ever used a datastore that ran without a problem while you were developing your application, but once you've compiled it stopped running? Let me tell you that's a difficult bug to fix. I remember it so well. I kept going back and forth. How in the world could the DataWindow work at design time yet not in the executable? I remember that I checked the return value of the datastore. I finally noticed that the datastore returned a -1. That's such a strange thing. The datastore returns the number of rows that were returned or a -1. The help files used to say that a -1 was in ... (more)