VBAssist 3.0: a Visual Basic add-on. (Programming Power) (Software Review) (Column) (Evaluation)
by Tom Campbell
If you use Visual Basic, VBAssist should probably be found in your bag of tricks.
I was going to finish my coverage of YACC this month, but a new version of VBAssist was brought to my attention, and it couldn't wait. We'll look more at YACC in an upcoming issue.
VBAssist is a Visual Basic add-on that isn't primarily a function library or a set of VBX files. Instead, VBAssist (from Sheridan Software Systems, 65 Maxess Road, Melville, New York 11747; 516-753-0985) merges almost seamlessly with the Visual Basic development environment, working so well that you begin to forget that Visual Basic wasn't like this to begin with.
The main visual difference when VBAssist is running is that a second tollbar with two rows of icons appears below the standard Visual Basic toolbar. But the differences go much deeper than that.
VBAssisgt comes with DB Assistant, the tool that Visual Basic Pro's Data Manager should have been; Data Assistant, which has a host of features to let you create and edit forms (in particular, a Form Wizard somewhat like the one in Access); a tool that generates a standard Windows resource file from a Visual Basic form, letting you use Visual Basic as a prototyping tool for C; a control alignment tool that lets you whip together groups of controls effortlessly; a set of ingenious tools for managing control arrays; a group of tools for managing control properties; and much more.
If you don't do a lot of work in Visual Basic, this sound almost like a set of randomly chosen features--dialog resource generation along with database manipulation? But, in fact, what all these things have in common is that they directly address the day-to-day needs of the Visual Basic programmer. For example, if you've ever had to create a form or group of forms with a lot of controls, you might have found that it gets old fast. Invariably, the grid spacing, button size, and fonts you need to repeat many times bear no resemblance to the defaults Visual Basic provides. So you end up pointing and clicking all afternoon. VBAssist conquers problems like this handily by letting you create template controls and select groups of controls at one time and align them.
Another timesaver that became so much a part of my routine that I forgot it wasn't a part of Visual Basic is trhe property menu. Click on a control with the right mouse button, and a floating menu pops up right beside the control. This is hardly news to Smalltalk and Borland Paradox users, but it's a revelation for the rest of us. The property many adheres to VBAssist's philosophy of dividing like properties into logical groupings, so if you right-click on a text field, you ran then choose to view only its color properties, say, or its database properties. (You can only select All to list all properties, but Visual Basic already has the F4 key for that.) A property dialog then appears with onlyn that set of properties shown. This system is so natural and inutitive that I expect to see it in the next release of Visual Basic. One thing I don't like about the VBAssist property windows is that they sport a half-size system menu icon in the upper left corner, just like "real" windows, but clicking on it does the same thing the Escape key does--simply causes the dialog to close. I'd much prefer it to act like a "real" system menu and allow the dialog to be minimized and maximized; some property lists are long enough that you have to resize the window mannually or use the scroll bar. I'd rather just be able to maximize. It's also questionable user interface design to take a familiar-looking control and give it a whole new meaning.
I have a pet peeve about Visual Basic, Access, and all the other Windows visual development systems I can think of: The controls that allow you to display images typically require that you type in a file-name for the ICO, BMP, or WMF image but never give you a convenient way to browse the images. VBAssist give you a File Open dialog in its control property menu that lets you browse these images before plugging them into the form. I hadn't realized how badly I wanted this feature until I started up Visual Basic without VBAassist.
The least sexy and--to me--most useful features of VBAssist are its confusingly named DB Assistant and Data Assistant. DB assistant lets you create and alter the structure of database tables; astoundingly, not even Visual Basic Pro's feeble Data Manager lets you change the structure of a table. Data Assistant has a ton of features to make form design easier, but the coolest is Form Wizard, which takes a raw table structure and automatically designs a data entry form around it. Form Wizard is familiar to Access users but not to Visual Basic users, and VBAssist's other form design features together make Visual Basic much better form-building system than Access.
If you use Visual Basic more than occasionally, VBAssist should probably be found in your bag of tricks. A $100 it's well priced, well documented, and superbly designed for the Visual Basic programmer.