A system I developed a while back was essentially a front end for a COBOL zSeries application (System 390 for you old timers). As such I had to make sure my data played nice with the VSAM files and the functionality my app was essentaily replacing. In one instance the users had the ability to…
- .ics
- .NET
- Active Directory
- C#
- Citrix
- COM
- Connection string
- Dashboard
- datawindow
- debug
- disaster prepardness
- ETL
- EVENTCREATE
- Facsys
- frogs
- games
- MDI
- mySQL
- ODBC
- OLEDB
- Outlook
- parenting
- PB.INI
- pfc
- Powerbuilder
- Powerbuilder OLE
- Powerbuilder Tutorial
- programming
- regasm
- REPORTEVENT
- SCOPE_IDENTITY
- source control
- SQL Anywhere
- SQL Native Client
- SQL Server
- TWAIN
- Uniface
- Visual Basic
- web service
- Windows API
- Windows Event Log
- Windows settings
PowerBuilder – Number of Characters Remaining in a String Column
PowerBuilder – Item counter for datawindow entries
This is a PFC based component I build for an application used to create purchasing requisitions. The main datawindow was used to enter new ‘documents’ and was too large to allow for more than one row to be visible at a time. Rather than use a common ‘vcr’ type control I created one which shows…
PowerBuilder – Window Object information service
Here is an easy to implement service geared towards developers who are working on complex, many layered applications. In its basic form it shows the current window object, which pbl it is located in, all the various ancestors of the window, their pbl locations, all datawindows and datawindow objects on the window, and the sql…
PowerBuilder ‘Gotcha’ – Malformed Imbedded SQL
I came across a statement like this while tracking down a separate issue and at first didn’t think much of it since it wasn’t related to the problem at hand. However, when running my process through the debugger I noticed a SQL error which caught my attention. <code>UPDATE dbo.shipperDetail SET contractId = (SELECT max(docId) FROM…
My Favorite Programming Term
For a, thankfully, very brief time I was exposed to ‘Uniface’, the supposed ‘universal’ programming language currently offered by Compuware (in the early 2000’s). It does, however, make use of my now favorite programming term: $hits. From this source. (link gone dark) 3.3 setocc, currocc, totdbocc, $hits 3.3.1 Why should I be careful about using…
PowerBuilder – Window object resizer bar
Here is a fairly simple technique to allow for the resizing of objects on a window. Its best use is to provide a ‘splitbar’ type of control to dynamically shrink and enlarge the amount of space on a window a pair of datawindow objects occupy. If you really want to get fancy you will save…
Frogpond – A Child’s Game version 2
Here is the second version of Frogpond, a child’s game I’ve written in Powerbuilder. This version uses the PFC file service and the resize service. There are also user options which are saved to an XML file to allow for greater customization. Here is a sample screenshot: To use just unzip to a folder and…
Powerbuilder – PFC Resize Service Extension / Max Height & Width
The PFC window resize service is one of my favorite things in the entire class library as it can easily be implemented and adds a great bit of functionality to an application. One drawback, however, is there is no built in capability to limit the resizing of the objects on a window; either they resize…
Comment on Powerbuilder – PFC Resize Service Extension / Max Height & Width »
PowerBuilder – PFC file, resize, and string services
Although the PFC provide a wide range of capabilities, it can be a very tedious task to ‘strip out’ a specific piece of functionality for use in an ‘non PFC’ application. Here are the objects and modifications you need to do to strip out the File Service, Window Resize Service, and the String Service. PFC.PBL…
PowerBuilder – Getting Active Directory information
Here is a handy bit of OLE to retrieve Active Directory information. oleobject ads string ls_stuff ads = CREATE OleObject ads.ConnectToNewObject( "ADSystemInfo" ) ls_stuff = 'User: ' + String(ads.UserName) ls_stuff += '~n~r' + 'Computer: ' + string(ads.ComputerName) ls_stuff += '~n~r' + 'Domain: ' + string(ads.DomainDNSName) ls_stuff += '~n~r' + 'Domain short: ' + string(ads.DomainShortName) ls_stuff…