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
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 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.
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."
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.
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…
Here are some of the new features to be included in this major new release.
Enhanced Dialog Resource Editor including multi-selection and setting of properties, and Extended Styles are now completely supported.
New Toolbox for Windows with added features and a new graphical front end.
A new compiler front end that integrates the compiler right into your development environment.
A new Table control, similar to a grid control, but specialised for working with row and column tabular data.
Print Preview, with all the power of WINLST, but allowing you to view your reports before committing them to paper. Features include a true WYSIWYG view including bitmaps, zoom, select different printer and print selected pages.
Improvements to the Common Controls Architecture (CCA) tools, including Tableview support, an improved picture control to display bitmaps and improved lookups.
COM port support, allowing programs to read and write directly to serial devices.
Many new sample programs.
REPORT macro now has support for proportional fonts and linedraw character substitution, allowing Powerflex Reporter and most standard reports to work correctly under Windows.
SORT class has been added to allow better control over REINDEX and OPEN_SORT, particularly to allow a progress bar during reindexing.
All new on-line documentation.
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. |
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.
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.
(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.
PRINTLONGONE field(71,1) bod_lines.1 //Print Long
//Text Field
//PRINTLONG.MAC
FUNCTION GetLeft integer l returns string
longStr=trim(longStr)
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,
(length(longstr)-posn))
exit
end
if length(longstr) >= l begin
if mid(longstr,1,(l+1)) == " " begin
Result = trim(left(longstr,l))
longstr = trim(right(longstr,
(length(longstr)-l)))
exit
end
else begin
for i from l to 1 by -1
if mid(longstr,1,i) == " " begin
Result = left(longstr,i)
longstr = right(longstr,
(length(longstr)-i))
exit
end
loop
end
end
else begin
Result = longstr
longstr = ""
end
END_FUNCTION
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
END_PROCEDURE
(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:
[PFC PFL]
sDataPath=.
sRegName=XXXX
sSerialNumber=1111
sDataPath=..\data
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.
ACTION |
METHOD |
Open |
\OpenIni(sIniName,iChannel) |
Read |
\ReadString(sSection,sKey,sDefault) \ReadInteger(sSection,sKey,iDefault) \ReadIndicator(sSection,sKey,bDefault) |
Update |
\WriteString sSection sKey sValue \WriteInteger sSection sKey iValue \WriteIndicator sSection sKey bValue |
Write INI file |
\WriteIni |
Close |
\CloseIni |
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.
"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."
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.
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:
Name
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.
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.
| 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.
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.