Prognos is an application used over the Internet to determine if it makes
sense to apply for a scholarship. It's part of a program package used in a
couple of cantons (the equivalent of a state in the U.S.) in Switzerland to
manage applications for a scholarship.
The current version runs with DataWindow.NET 2.0 and uses PowerBuilder 11 Web
Services. To keep the installation slim it uses no database; instead the data
is stored in DataWindows or XML files. Prognos makes use of AJAX techniques
and accesses .NET classes from PowerBuilder for XML handling. Since it's used
in Switzerland (which has four official languages: German, French, Italian,
and Romansh) it's multilingual.
We developed the first version of Prognos with DataWindow.NET 1.5 using
ASP.NET with C#. Our partner company implemented the calculation for a
possible scholarship in a PowerBuilde... (more)
PBDJ Feature Story
There's a lot of "legacy" PowerBuilder code that you might want to access
from .NET applications or perhaps PowerBuilder has some superior
functionality that you would like to make use of in a .NET application. Think
about how easy it would be to create a report in PowerBuilder with a
DataWindow. Of course, PB can provide functionality through Web Services (see
my article "Prognos with DataWindow.NET 2.0 and PowerBuilder 11 Web Services"
in PBDJ some time ago) but this has its limitations.
In the article "PowerBuilder 11's .NET Interoperability" in PBDJ, John S... (more)
Keeping information away from curious eyes is a challenging task. For
example, you might need to encrypt data before sending it over the Internet.
Or you might be storing some information in a database that not even an
administrator is allowed to see. This article provides a brief overview of
encryption techniques and shows how to do encryption in PowerBuilder.
Encryption goes as far back as ancient Egypt. In 1900 B.C. the Egyptians used
a derivation of standard hieroglyphics to make a message more difficult to
read. The art of hiding messages improved over the centu... (more)
In the first article we presented a some theories about the ClassDefinition
object and were able to show the libraries of a PB application in a treeview
control. This month we'll read the objects from the libraries and inspect
When a user expands an entry in the treeview, we check to see if it was
expanded once already. If it was, we don't take any action. We code this in
the itemexpanding event of the treeview control, where we get the clicked
treeviewitem by calling This.GetItem.
If it wasn't expanded already, we check to see if the level of the
treeviewitem is... (more)
The ClassDefinition object was introduced in PowerBuilder 6.0 a long time
ago. It allows you to retrieve information for an object at runtime. Most of
us didn't pay too much attention to this object and it only attracts our
attention when we see it in the debugger.
In this article I provide an overview of the ClassDefinition object and
related objects and explain the most important properties of these objects. I
also include a step-by-step guide on how to build a simple object browser.
This browser has a limited functionality like the browser included in the
PowerBuilder runtime... (more)