David Hart

Subscribe to David Hart: eMailAlertsEmail Alerts
Get David Hart: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories by David Hart

Myth: "Creating reports with InfoMaker is easy," a partially accurate statement, on the surface. Reality: Let's change that to: "Formatting your report with the InfoMaker tool is easy, once you've figured out the data to be reported." Semantics? Maybe. Over the years I've had many gigs that were presented to me as "...just writing some InfoMaker reports." Hey, I'm not too shabby in PowerBuilder; it should be easy, I said to myself...Wrong! Every project that began that way soon became a nightmare of epic proportions. Let's set up a typical scenario: The ACME Shoe Company needs 24 different custom in-house reports (due 30 days from yesterday) created in InfoMaker because the software package they purchased from OffShore Coders, Inc., uses InfoMaker for its reporting tool. The Business Analysts at ACME are familiar with basic programming concepts but are not program... (more)

Dynamic Report Module Basics

Now that the holidays are over, it's back to work, back to school...and back to the basics. In my December column, "PowerBuilder and ODBC 101" (PBDJ, Vol. 9, issue 12), we discussed hooking up to a database via ODBC. This month, let's look at the most important item to hook up to a database, a DataWindow. Our apps are all about viewing data, and the DataWindow is the nucleus of all "data viewing" in PowerBuilder apps. (Source code for this article can be downloaded from www.sys-con.com/pbdj/sourcec.cfm.) Since most DataWindows function as "reports," we'll use that as our model. L... (more)

PowerBuilder and ODBC 101

Your boss pays you a visit and brings you the pathname of a 30MB Adaptive Server Anywhere (ASA) database with a 6MB log file. "Just got this from the New York office; they created it in ASA. Can we look at it?" Your boss isn't technically oriented, and you are a PowerBuilder guru, right? Gulp! Now you'll have to use the PB Database Painter, Profile Painter, and the Microsoft Open DataBase Connectivity (ODBC) Administrator to "hook it up and look at it." Strangely enough, many seasoned programmers, those types who can recite external function prototypes from memory, get cold and c... (more)

'Bag O' Tricks'

With Halloween just around the corner, I thought I'd give you some of the "tricks and treats" that I've collected over the years for PowerBuilder, InfoMaker, and Sybase ASE. Horrors! You've just finished a slick bit of coding in your user object, but it's 6:00 p.m., time to head out the door; the Raider game just started, no time for a full backup right now! Then your boss asks you to copy the "latest version" of the PB Development Libraries for Project X that Horatio worked on over the weekend. That's right, Horatio, the one who writes the crummiest code on the planet. Gads! No... (more)

Context-Sensitive Help

"The tag property takes a string value." That's what PB Help tells us about the tag property. Not much considering all or at least most PB objects have a "tag" property. What's its mission in life? Anything we want it to be. You could use the object's tag property to set MicroHelp in an MDI frame with the code in a GetFocus event, for example: w_frame.SetMicroHelp(This.Tag) However, the time-honored use has been for context-sensitive help. By putting a distinct "keyword" for that object in the tag property, you can grab this text and pass it to the ShowHelp function. Just what eve... (more)