Let's suppose that you have a search window where a user can enter a search
string and get the list of text items matching this pattern. Ideally, the
portions of text that meet the search criteria should be highlighted, for
example, by text formatting. It could look like Figure 1.
In PowerBuilder we have a great tool for searching and displaying information
- the DataWindow. But how can we do text formatting inside a DataWindow
column? Unfortunately, there's no way in the DataWindow object to do that.
This article describes a technique that will let you simulate this.
A Sample DataWindow
To explain, let's say that we have a tabular DataWindow with a one-string
column called text. We'll only discuss selecting matching text patterns, not
filtering data, so our sample DataWindow can have an external data source.
The result set description for this DataWindow is very simp... (more)
DataWindow display formats aren't a big secret. Most PowerBuilder developers
use them to format numeric, date, time, and string values properly. Such
display formats are usually straightforward and contain characters that have
special meaning for a specific datatype like '#' for numeric values or '@'
for string values. However, the DataWindow display format is a very powerful
tool and you can get more than simple data formatting. This article explores
what you can do with DataWindow display formats demonstrating a few tricks.
Using Regular Characters
A DataWindow display format ca... (more)
It may seem as if PowerBuilder programmers are bound to use global variables.
Even the PFC, which is said to be the most successfully designed
object-oriented framework, requires the use of global variables. Is it
something in the nature of PowerBuilder that makes us use them? I won't
discuss whether it's good or bad to use global variables as enough has been
said on this subject. However, I am going to discuss why global variables are
usually used in PowerBuilder applications and how we can live without them.
When Global Variables Are Used
Let's face it, if you use global variabl... (more)
PowerBuilder Developer's Journal
A picture is worth a thousand words. We all have heard this saying a
countless number of times. But what if you don't understand what is drawn in
the picture? I was approached once with a request to review requirements
specifications for some module. The document contained a scheme that
represented the place of the module within the system. The picture was mainly
made of rectangles and arrows. The rectangles had labels and I figured out
that they represented other modules in the system. But I couldn't understand
the meaning of the arrows. When I ... (more)
When I was just starting my career in programming, I thought I would be
creating new applications. And I did - I created a few applications from
scratch. Maybe two or three of them. But for the most part what I've been
doing is working with code written by someone else a while ago - legacy code.
What is legacy code? You could define legacy code as ancient applications
that were written in the past. For me, legacy code is code written by someone
else no matter how long ago - 15 years or 15 minutes. What's common about all
applications that were written by someone else? You don't kn... (more)