<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://richardbrooks.sys-con.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Latest News from Richard (Rik)  Brooks</title>
 <link>http://richardbrooks.sys-con.com/</link>
 <description>Latest News from Richard (Rik)  Brooks</description>
 <language>en</language>
 <copyright>Copyright 2012 Ulitzer.com</copyright>
 <generator>Ulitzer.com</generator>
 <lastBuildDate>Wed, 16 May 2012 21:54:07 EDT</lastBuildDate>
 <docs>http://backend.userland.com/rss</docs>
 <ttl>360</ttl>
<item>
 <title>Advanced DataWindow Sorting</title>
 <link>http://richardbrooks.sys-con.com/node/2150767</link>
 <description>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.
It would be nice to be able to save searches and reload them but we will save that for the next article.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/2150767&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 03 Feb 2012 12:00:00 EST</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/2150767</guid>
 <comments>http://richardbrooks.sys-con.com/node/2150767#feedback</comments>
</item>
<item>
 <title>DataWindow Sorting with Column Headers</title>
 <link>http://richardbrooks.sys-con.com/node/2125489</link>
 <description>This article describes how to create a grid presentation window that allows sorting by clicking on the column header.
To begin we need to create a grid DataWindow. I’m selecting just few columns from the employee table. Here is my sql for the DataWindow in Figure 1.
Once we have created it I get the DataWindow painter shown in Figure 2.
There are several changes that we need to make. Let’s change the status column so it’s no longer a set of radio buttons. This is a read-only screen so let’s remove the status and add a computed field.
To do this let’s remove the Status column altogether. Then add a computed field in its place.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/2125489&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 12 Jan 2012 10:30:00 EST</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/2125489</guid>
 <comments>http://richardbrooks.sys-con.com/node/2125489#feedback</comments>
</item>
<item>
 <title>Using the Tag Property – Part 3</title>
 <link>http://richardbrooks.sys-con.com/node/1911867</link>
 <description>This is the third and final part of a series presenting a proposal for the use of the tag property of DataWindow columns. My original thought was to provide a means to automatically set a microhelp for each column. Of course, if you are using an MDI application you have a function to set the microhelp, but that function is only available in MDI. If you are using any other application type, then this is not available to you.
Even if you do have an MDI, I have found that the microhelp is not as useful as I would like. The microhelp is always on the frame, nowhere near the column. The user might miss it entirely.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/1911867&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 19 Jul 2011 12:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/1911867</guid>
 <comments>http://richardbrooks.sys-con.com/node/1911867#feedback</comments>
</item>
<item>
 <title>Using the Tag Property - Part 2</title>
 <link>http://richardbrooks.sys-con.com/node/1886003</link>
 <description>This is the second part of a two-part article. In the last article we learned how to use the tag property to create our own microhelp and automate it. In this article we are going to go one step further and use the tag property for other things.
The list of items that I used the tag property for has shrunk over the years as Sybase has tried to give us more tools. Apart from the microhelp the most common use I had was to implement a tool tip. Now Sybase gives us a tool tip without our having to code a pop-up window. 
Luckily I don’t have to have a long list of items; one more is sufficient to show you the technique that I desire. I want to show you how to use the tag property for more than one thing. We have the microhelp, how about something else such as automatically bolding the static text that is associated with the control?&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/1886003&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 24 Jun 2011 11:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/1886003</guid>
 <comments>http://richardbrooks.sys-con.com/node/1886003#feedback</comments>
</item>
<item>
 <title>Using the Tag Property – Part 1</title>
 <link>http://richardbrooks.sys-con.com/node/1857165</link>
 <description>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 DataWindow. That would be the red text that you see. Now every time the DataWindow changes columns it displays the tag attribute of the new column in the object at the bottom. You actually don’t have to do anything at all.
So let’s get started doing this.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/1857165&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 02 Jun 2011 15:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/1857165</guid>
 <comments>http://richardbrooks.sys-con.com/node/1857165#feedback</comments>
</item>
<item>
 <title>Extending SQLCA</title>
 <link>http://richardbrooks.sys-con.com/node/1842999</link>
 <description>This month the article is not exclusively about DataWindows. To be sure it is about DataWindows, just not exclusively so. This month we are going to have to stretch our skills just a little.
The goal is to replace SQLCA with something a little more robust. Essentially we are going to flesh out the dbError event of SQLCA so that it actually displays the database error message rather than the ugly default message. Believe me, when your users see those default errors it annoys them. The errors are usually not helpful to them so they click on OK then call you and say, “My program broke.” 
You can give them something a little more helpful and let them email you the error message. Wouldn’t that be nice? You’d be able to get the real message. Please note that at the end of this article there will be a link to download the source code that will contain the library that we have developed up to this point.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/1842999&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 22 May 2011 11:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/1842999</guid>
 <comments>http://richardbrooks.sys-con.com/node/1842999#feedback</comments>
</item>
<item>
 <title>DataWindow Magic: Master_Detail Object</title>
 <link>http://richardbrooks.sys-con.com/node/1735979</link>
 <description>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 example I will again use the example database that came with PowerBuilder.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/1735979&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 04 Mar 2011 13:00:00 EST</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/1735979</guid>
 <comments>http://richardbrooks.sys-con.com/node/1735979#feedback</comments>
</item>
<item>
 <title>Service-Based Architecture for the DataWindow</title>
 <link>http://richardbrooks.sys-con.com/node/1689579</link>
 <description>Service objects were introduced for PowerBuilder at about the same time as the PowerBuilder Foundation Classes. Much like the PFC, most programmers found reasons not to use them. In this article we will reduce the complexity of these objects and in so doing perhaps open a new world of efficient objects that are easily maintained and understood.
This article is going to create a service object for the DataWindow. The idea behind this object and others like it is to minimize the footprint of the DataWindow. We want to minimize the amount of memory that the DataWindow requires and thus provide the greatest responsiveness that we can.
One of the most used areas of functionality for a PowerBuilder programmer is row selection for the DataWindow. How many times have you gone to the Clicked event of a DataWindow control and typed something like the following?&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/1689579&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 26 Jan 2011 11:00:00 EST</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/1689579</guid>
 <comments>http://richardbrooks.sys-con.com/node/1689579#feedback</comments>
</item>
<item>
 <title>Converting PowerBuilder To Java</title>
 <link>http://richardbrooks.sys-con.com/node/106554</link>
 <description>Dear Cliff,  You would salivate at the stuff I&#039;m doing. If you thought PowerBuilder was nice, Jaguar blows it clean away. The stuff I&#039;m doing with Jaguar is beyond belief.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/106554&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 01 Nov 1999 00:00:00 EST</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/106554</guid>
 <comments>http://richardbrooks.sys-con.com/node/106554#feedback</comments>
</item>
<item>
 <title>Jaguar Mail Server II</title>
 <link>http://richardbrooks.sys-con.com/node/106553</link>
 <description>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&#039;re writing isn&#039;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.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/106553&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 01 Nov 1999 00:00:00 EST</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/106553</guid>
 <comments>http://richardbrooks.sys-con.com/node/106553#feedback</comments>
</item>
<item>
 <title>Dynamic Data Windows 1</title>
 <link>http://richardbrooks.sys-con.com/node/106511</link>
 <description>&#039;Welcome back, my friends, to the show that never ends, we hope you will attend, step inside, step inside.&#039; Those words - from an old song by Emerson, Lake and Palmer - have been floating through my head all day, ever since I decided on the subject of my next series of articles on the DataWindow.&lt;p&gt;&lt;a href=&quot;http://richardbrooks.sys-con.com/node/106511&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sun, 01 Aug 1999 00:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://richardbrooks.sys-con.com/node/106511</guid>
 <comments>http://richardbrooks.sys-con.com/node/106511#feedback</comments>
</item>
</channel>
</rss>

