|Marketing Bulletin No. 76|
October 20, 1995
Let Vinny Help You Make a Hit!
"Vinny is perhaps the single most important advancement in the entire 25 year history of BASIC-2." -Tim Ve Ard, VCR, Inc.
Niakwa extends NPL to a new dimension with the imminent release of Visual NPL (code-named "Vinny")!
Visual NPL provides the best of two worlds: the robust and proven logic engine of NPL fine tuned by years of development, and the world class visual editor of Visual Basic with access to the world of VBX controls.
Visual NPL is intended for use by NPL developers who wish to rapidly develop state-of-the-art Microsoft Windows user interfaces for NPL applications. Providing a flexible, interactive link between NPL and Visual Basic(VB), Visual NPL allows the developer to integrate VBXs into their NPL applications.
By using Vinny to handle the user interface, the developer can take advantage of the powerful Visual Basic form designer. The NPL developer can use VB to design the forms while the logic of the application stays in NPL.
The simplicity of Visual NPL is astonishing. From a blank VB form, controls can be quickly added and modified, then connected with a few short lines of NPL code. Programmers can send data from NPL to VB controls, let the user enter data into a VB form and return all changed values back to NPL whenever they wish.
You may, at your option, exchange data with VB controls a field at a time or an entire NPL RECORD at a time. The latter approach simplifies data handling by letting you "container-ize" information to be edited in VB.
NPL programs may be linked to as many as 32 simultaneous VB applications, each supporting hundreds of forms and controls. The thousands of third party VBX controls may be added to extend your application's fexibility. Vinny works with them as easily as with VB's standard controls.
Benefits of Vinny
Microsoft Windows is the world's runaway favorite GUI (Graphical User Interface) environment. "GUI-izing" your application with Visual NPL leverages VB's world-class form-builder, letting you develop sizzling screen solutions in very little time.
When you develop your user interfaces with NPL and VB in adjacent windows, Vinny gives you all of the time-saving advantages of two strong "run-and-beep" interpreters. When you're satisfied with the way your Vinny app looks, save the NPL program, save and compile the VB program and you're ready to distribute it.
Will Visual NPL's user interface evolve as standards change? To answer that question, you need only look at who Vinny is partnered with: Visual Basic is a product of the standard-setter itself, Microsoft Corporation.
And not only does Vinny provide you with a way to spiff up your apps with cutting-edge screens, you also can link them to any of hundreds of third-party VBX's, powerful plug-in VB controls which do everything from image manipulation to communications. Any VBX on the market is now a candidate to be a building block in your application. And Vinny's simple, efficient functions let you "control the controls" with unparalleled ease.
How Visual NPL Works
As mentioned earlier, developing integrated interfaces in Visual NPL is best done with the two environments side-by-side (or above and below each other) to make it easy to switch back and forth.
Because both environments are interpretive, you may add controls to your VB form, add statements to interact with the controls to your NPL application, RUN the VB application in its window, RUN the NPL application in its window, and immediately evaluate the performance of your work.
When satisfied, you may compile the VB application and bundle it for distribution with your NPL code to your users.
To your users, the fact that you're using multiple systems is transparent. They will see the end result, GUI windows with controls that they manipulate with keyboard and/or mouse, all driven by your NPL application.
Visual NPL and Instant Visual NPL now support 32-bit Windows.
- MS-Windows 3.1, Windows 95,98 or Windows NT
- NPL for MS-Windows RunTime 5.0 for 32-bit
- Microsoft Visual Basic version 5 for 32-bit
- High resolution VGA monitor (development purposes)
Calling Vinny's Functions
To give you a feel for the flavor of NPL's interaction with VB, here are a few examples of Visual NPL statements. By sending and fetching data in named fields or groups of fields, these examples illustrate the high level of abstraction that Vinny operates on, and show how easy it is for the programmer to use:
- Update VB text control Name in window LogOn with NPL variable UserName$:
- Update VB text control BalOnHand in window Inventory with NPL variable OnHand:
- Update all fields in VB window CustRec which belong to NPL RECORD Customer with the field values stored in buffer Customer$:
'VnSetRec("CustRec", "Customer", Customer$)
- Allow the user to edit fields in VB window CustRec; return back to NPL when the user triggers a "hot" control, such as a command button:
'VnCmd("Set Focus", "CustRec", "")
- Append to the literal "ID" the text fetched from text control Name in VB window LogOn, and store the resulting string in NPL variable UserID$:
UserID$ = "ID" & 'VnGetAlf$("LogOn!Name")
- Calculate NPL variable OrderQty as the difference between NPL variable Stocking Level and the number in text control BalOnHand in VB window Inventory:
OrderQty = StockingLevel -
- Fetch from VB window CustRec the value for all fields belonging to NPL RECORD Customer and store the values in buffer Customer$:
Customer$ = 'VnGetRec("CustRec", "Customer")
Visual NPL is now a component of the Niakwa Integrated Development Environment.