October/November 1999: Volume 9 Number 3

Powerflex wins copyright battle | PFXplus Version 5.0 is coming | Printing long text fields | An "INI File" object | Use the DEOL to show your software | A happy customer | Powerflex news

Powerflex Wins Copyright Battle in High Court

On 1 October the High Court of Australia handed down its final judgment in the long-running copyright battle with Data Access Corporation. The result was a resounding victory for Powerflex Corporation and the whole developer community. In a unanimous decision, the court dismissed the appeal launched by Data Access following our win in the Federal Court in June 1997.

Powerflex Corporation staff and directors are celebrating this victory and are looking forward to getting on with developing software without the distraction of this long-running legal battle. We are now working hard on the release of PFXplus version 5.00.

Details of the new features and improvements to be included in the new release are specified later on in this issue of Powerlines.

The Battle is Won. We are Celebrating!

The implications of this judgment for the software industry are enormous. "This is the most important case that the High Court has dealt with in computer software" said John Sinisgalli, our solicitor and a partner of Trumble Szanto Lawyers in Melbourne. "It encourages software developers to expand on existing programs and exercise their creativity to the benefit of end-users."

This is a victory for commonsense and competition and allows developers to create new and innovative solutions to problems that involve interoperability with competing products without the fear of legal action.

No DAC Copyright Infringement

The courts have now judged that PFXplus does not infringe the copyright of Data Access in the reserved words, file structure, keywords, macros, function keys or error messages as originally claimed. Only their claim with respect to the Dataflex Huffman compression table has been upheld, and that on what some regard as a technicality. PFXplus has included its own Huffman compression table since June 1997 and will continue to do so.

David Bennett, director of technical services at Powerflex Corporation, said "For us, the result is that our PFXplus product range has been judged to be legal by the highest court in the country. It is untainted by any adverse threat or claim and there are no further legal avenues open. Our customers can rest easy. We have been vindicated."

Read the Judgment for Yourself

We recommend that you read the judgment for yourself. Visit the High Court Web site at www.hcourt.gov.au and look under Judgments. Alternatively just view the relevant page on our Web site and follow the link from there.

Top of Page

PFXplus Version 5.0 is coming

Fantastic news for PFXplus developers! PFXplus version 5.0 is on its way, and it will be well worth the wait. Version 5.0 will be a major release of PFXplus, containing a host of exciting new features, from the new Toolbox for Windows and Print Preview to the long awaited Table Control! Read on for more details…

Brilliant New Features

Here are some of the new features to be included in this major new release.

Print Preview Introduced

Runtimes included with PFXplus Development Kit version 5.0:

PFLN 32-bit Windows graphical runtime, runs character-mode and graphical-mode programs under Windows 95/98 and NT.
PFLT 32-bit Windows Console Mode runtime, runs character-mode programs in a Console under Windows 95/98 and NT.
PFL3 32-bit MS-DOS Extended runtime, runs character-mode programs in a DOS box under any version of Windows.

New DB2 SQL Runtime Released

Runtime support for DB2 will be available for PFXplus version 5.0. Improvements have also been made to the MS SQL runtime.

The new PFXplus version 5.00 SQL Developers Kit will include developer runtimes for both MS SQL and DB2.

Updated Documentation and Online Help

PFXplus version 5.0 includes our totally revamped documentation and online help. The documentation has been updated from the ground up. Yes, every line has been revised and updated.

PFX C-lib and PFXsort version 5.0 will also be released supporting the new database features in PFXplus version 5.0.

The next issue of POWERlines will include more information about this exciting new release of PFXplus.

For further information contact Powerflex Corporation by e-mail at pfxsales@pfxcorp.com, or by fax on +61 3 9888 5451, or contact your local dealer.

Top of Page

Printing Long Text Fields

Christine Charalambous – Powerflex Corporation – Australia

(The zip file containing the source files mentioned in this article can be found on the download page of this Web site.)

Have you ever wanted to print a long text field but didn’t know how or never quite got around to writing the code? Well here is a handy sample program that does exactly that.

Under normal circumstances, printing a long character text field would potentially cause a headache, but PRNTLONG.PFX makes it easy!

PRNTLONG.PFX creates a data file with a 200 character text field, sets a couple of required variables, and uses a recursive function defined in the include file, called PRINTLONG.MAC, to output the long text field, one line at a time.

As the text is displayed a line at a time to the appropriate body window, the body image is output to WINLST. The Windows Print Dialog allows the user to select the printer before the text is output.

PRINTLONG.MAC is generic, so it can be used just about anywhere where there is a need to print long fields.

This program is yours, free of charge, just by e-mailing pfxsales@pfxcorp.com and requesting a copy of the source code. Alternatively, you can download a copy from this Web site. You are welcome to modify it to suit.

Extract from the source code for PRINTLONG.MAC

PRINTLONGONE field(71,1) bod_lines.1  //Print Long
                                      //Text Field

FUNCTION GetLeft integer l returns string
   integer i posn
   posn = pos(lf,longstr) // Test for Line Feeds
   if ((posn>0) and (posn<=l)) begin
      if posn == 1 Result = ""
      else Result = left(longstr,(posn-1))
      longstr = right(longstr,
   if length(longstr) >= l begin
      if mid(longstr,1,(l+1)) == " " begin
         Result = trim(left(longstr,l))
         longstr = trim(right(longstr,
      else begin
         for i from l to 1 by -1
           if mid(longstr,1,i) == " " begin
              Result = left(longstr,i)
              longstr = right(longstr,
   else begin
      Result = longstr
      longstr = ""

PROCEDURE PrintLongOne field fld window wndw
   integer len
   if longstr == "" longstr = fld
   wndw = GetLeft(wndwlen)
   output bod_lines
   blankform bod_lines
   if longstr > "" PrintLongOne fld wndw  //Recursive

Top of Page

An "INI File" Object

Jon Wilson – Nexus Business Software – Australia

(The test program mentioned in this article can be found on the download page of this Web site.)

Love them or hate them, "INI" files are sometimes very useful and most of us have to deal with them at some stage. Since Microsoft Windows 95, INI files have been out of favour and the registry beast has been the repository of workstation and application settings. However, in a networked environment where many workstations are to share the same settings for a particular application (eg a Powerflex application), INI files are the simplest and most universally applicable way to do this.

Having established that we need INI files, we also need to be able to create and update them easily. But first a quick refresher on INI file formats:

INI files consist of sections names enclosed in square brackets (eg "[PFC]") and key name and value pairs (eg "iMaxInclude=80"). The same section names can appear any number of times, and within a section the same key name can appear any number of times. For example, the following is a valid portion of an INI file that should be familiar to us all:


Even the seemingly simple task of finding a key value in a particular section is not easy since the section and/or key value can appear several times. It gets much nastier when you try to update the INI file and try to keep all formatting in place. So hence the need for a utility to do the INI file manipulations.

The utility has been implemented as a non-visual object, which gives it maximum flexibility for customisation. Also I believe non-visual objects are an excellent introduction to objects in general as they demonstrate all the principles of Object-Oriented Programming in a straightforward manner. Additionally, non-visual objects are transportable across character and GUI environments and can be used extensively to form the basis of a beautifully engineered application in the area of database abstraction (another topic completely!).

The source code for a test program has been provided to demonstrate the use of the object. Please email Powerflex sales or download a copy from our Web site). The steps in manipulating an INI file are shown in the table below.

An obvious enhancement is to make the updating of the INI file a single-user operation. This would be a simple matter of sub-classing the INI object and changing the OpenIni method to lock a data file before calling the parent method, and unlocking it in the CloseIni method after calling the parent method.



INI file


key values


key values

\WriteString sSection sKey sValue
\WriteInteger sSection sKey iValue
\WriteIndicator sSection sKey bValue

Write INI file


INI file


Top of Page

Demo Execute-Only Licence

The Demonstration Execute Only Licence (DEOL) can be used to protect or promote any demonstration application that you wish to distribute to potential customers.

The DEOL requires a special registration code, which causes a pop-up form to appear every five minutes while your demonstration application is running. The pop-up disappears only after the spacebar is pressed.

The contents of the pop-up screen can be customised to your own requirements and can be optionally set to fill the entire screen to ensure your message gets noticed.

By providing protection to your demonstration applications, the DEOL gives you the freedom to distribute your application to as many potential customers as you like while lessening the possibility of misuse.

This single-user licence can be distributed to an unlimited number of sites and is available for MS-DOS, DOS-286, DOS-386, Windows 3.1, 95, 98 and NT, and Unix environments.

Here is an example of a Windows pop-up.

Contact Powerflex Corporation or your nearest dealer for more details.

Top of Page

From a Happy Customer – on Converting from Dataflex

"We have just started converting a system from Dataflex (2.3b) to Powerflex DOS and on to Powerflex Win32.

The first step was to ensure Year 2000 Compliance quickly and to position the Win32 change. Although the work was a bit tedious it went much faster and smoother than anticipated. It was done in less than half the time anticipated, something like 2-3 long days for over 200 programs. That is the first congratulations on the use of Powerflex (we were already used to the speed due to using PFXplus ver 1 elsewhere).

The Win32 work has just started and I really appreciate the quick replies to both e-mail and phone requests. I haven’t got too far with Win32 work so I can’t say too much about that, but I am very happy with the approach taken to converting software in steps.

It is nice to see such real world considerations take such priority. This feature was the main one for choosing to convert to Powerflex.

I am amazed that some DOS source code doesn’t have to get touched, and only the screen needs to be edited with the Resource Editor to make things look and work OK. This is a tremendous saving of time since once the screen ‘looks’ like Windows, it has a chance of being sold as ‘Windows’.

The further addition of Windows functionality can be added later, and even that may be open to some debate regarding extent since a steady mouse hand is not often a strong suite in a fast data entry environment.

I have found the manual structure quite useful. It is difficult to present so much information in a useable way. I particularly appreciate the ideas grouped in the sections like 15:Topics. The real life connection is evident.

I look forward to continuing the Win32 conversion when I return from holiday, so my second congratulations is that the Windows work doesn’t look nearly as scary and time consuming as was dreaded to a non-Windows programmer like myself.

All the best, Lambert de Visser."

Top of Page

POWERflex News

This Time it is Birthday Celebrations – We are 10

The first copy of Powerflex was sold in Melbourne in September 1989. This makes our company 10 years old.

What a remarkable 10 years! Windows and Linux were at best embryonic ideas, PCs were pricey and the Internet was yet to move out of the closeted university environment to being an essential tool for any serious business.

The Powerflex product has moved from fitting comfortably on two 360 Kb floppy disks to 15 1.44 Mb disks at version 4.23, and to the CD at version 5.00. It has gone from being a MS-DOS/Real Mode only product to being a superior application development language for the Win32 environment including SQL and Btrieve access. PFXplus is now also available for numerous Unix ports.

We are very proud of our achievements during our first decade and we thank our staff and users for their support during these exciting 10 years.

With the legal conflict behind us we move to the new millennium with confidence that we will meet the challenges with success.

Help! Contractors Wanted

We are receiving an increasing number of inquiries from users of applications written in PFXplus who need modifications to an existing application or are wanting help with conversion to Windows.

We are compiling a database of contractors who may be available when we receive these enquiries. If you are interested please send your details including:

E-mail address
Street address, including country
Telephone and fax numbers

by fax to Powerflex on +61 3 9888 5451 or by e-mail to pfxinfo@pfxcorp.com.

New Version of PFXsort Released

Did you miss hearing about the release of PFXsort version 4.40? This release is available for Windows 95/98, Windows NT and Linux. A version including access to MS SQL as an option has also been released.

PFXsort is available for single site installation or for unlimited distribution with your PFXplus application. To place an order or for more information about this powerful re-indexing tool please contact Powerflex or your closest dealer.

Current Versions of PFXplus Release Software

Powerflex Developer's Kit 16/32-bit 4.23
Powerflex Developer's Kit 32-bit/SQL 4.40
Powerflex Runtimes 2.63 to 4.40
Powerflex SCO/LINUX 4.30
Powerflex RS/6000 4.11
Powerflex HP 9000, Motorola 4.11
PFX C-lib MSDOS—DOS-386 4.20
PFX C-lib for Windows 4.40
PFXsort for DOS-386, Win32/SQL 4.40
PFXbrowse 32-bit with Btrieve 2.00
PFXbrowse 32-bit for Windows 4.00
Powerflex ODBC Driver 1.01
Powerflex Driver for Crystal Reports 1.00

For further information contact Powerflex Corporation or your local dealer.

Top of Page

Did You Know?

You can run the same source code under Windows, SCO Unix and Linux without recompiling?

All you need is a PFXplus SCO Unix and Linux runtime!

For further information on PFXplus for Unix or Linux, contact Powerflex Corporation or your local dealer.

Top of Page