Smithware Home PageSmithware Product InformationHow to Order Smithware ProductsSmithware Technical SupportSearch the Smithware Web SiteBtrieve Developer's Journal MagazineContact Smithware by E-mailPervasive Software Home Page Smithware Home Page

Smithware VBX Controls for Btrieve

Note: On February 13, 1998, Smithware was acquired by Pervasive Software. This site is an archive of the materials that were on the Smithware site when www.smithware.com was routed to www.pervasive.com. This site is maintained for archival purposes only.

ActiveX Controls for Btrieve
I*net Data Server
Crystal Reports for Btrieve
DDF Builder
DDF Sniffer
VBX Controls for Btrieve
Butility for DOS


Other Products Available Through Smithware's Product Marketing Group:

BSqueeze
Btrieve
ODBC Interface
Scalable SQL

Note: On February 13, 1998, Smithware was acquired by Pervasive Software. This site is an archive of the materials that were on the Smithware site when www.smithware.com was routed to www.pervasive.com. This site is maintained for archival purposes only.

Combine Btrieve performance with Microsoft Visual Basic 3.0 power!

Smithware VBX Controls for Btrieve is a set of custom controls for Microsoft Visual Basic™ 3.0 for Windows which give you unprecedented access to your Btrieve® data from within Visual Basic and Windows. No other product combines the power and speed of the Btrieve database engine with the simplicity of the Visual Basic 3.0 programming environment as seamlessly as Smithware Controls for Btrieve.

Smithware VBX Controls for Btrieve is for Visual Basic 3.0 only. For Visual Basic 4.0 and higher, Delphi , and other development environments, see
Smithware ActiveX Controls for Btrieve.

Sure, there are other ways to open Btrieve files in Windows. Visual Basic 3.0 Professional Edition or Microsoft Access will work for some Btrieve files, if you can find and install the right Btrieve drivers, and if the data is normalized and SQL-compliant, and if you're not very concerned about security, speed, or performance. Unlike other "data controls," Smithware Controls for Btrieve bypasses the Visual Basic Data Access engine. Controls for Btrieve works directly with Btrieve to give you better control over your data, more versatile data access, full use of all the best features of the Btrieve database engine including all indexes and index types, access to all current versions of Btrieve, and a dramatic performance advantage over "generic" database drivers. To retrieve the last record in a large data file, this performance advantage can mean the difference between waiting several hours for the record, and waiting the time it takes to double click the mouse.

Nothing about Controls for Btrieve precludes you from using other methods to access your files, though. Controls for Btrieve uses the same Btrieve DLL's, and the same data dictionary file (DDF file) format as the Visual Basic Data Control, so your data will be accessible to the Visual Basic Data Control and its bound controls as well.

Controls for Btrieve's bound custom controls allow you to develop complete applications without code. The toolbox controls included with Controls for Btrieve allow you to paint files, fields, indexes, and record operations on Visual Basic forms. Using standard Visual Basic programming techniques like picking property values at design time, and responding to events, setting properties, implementing methods at run time, you can customize your Btrieve database application. Controls for Btrieve adds library functions to perform special operations such as creating data files, implementing owner name security, returning a file's status or Btrieve version information, beginning, ending or aborting transactions, or locking and unlocking records.

Controls for Btrieve is so easy to use, you'll probably never open the manuals. Which is a shame, because we provide comprehensive documentation to make your job even easier. In addition to the 132-page Controls for Btrieve User's Guide and Reference Manual, Controls for Btrieve includes context-sensitive Windows Help, sample code and tutorials, and an advanced programming topics section.

Controls for Btrieve also includes Smithware's DDF Builder for Windows, used by more developers than any other program to create the standard data dictionary files that tell applications where files, fields and indices are located in Btrieve databases. Thousands of copies of this award-winning Windows application have sold for $129.95, but it's yours free with Controls for Btrieve. Use DDF Builder to create a DDF set for existing Btrieve files so that Controls for Btrieve and other Windows applications can access existing data, or use it to define and create new Btrieve files. DDF Builder for Windows even integrates Controls for Btrieve to allow you to open, browse, and modify your data files. DDF Builder also helps if you have a Btrieve data file of unknown field structure. You can use the DDF Wizard feature to build a boilerplate DDF based on the index structure of the file, and then use the Find Field feature to locate non-indexed fields in a record populated with known data values.

Finally, unlike other products which claim to access Btrieve files, Controls for Btrieve installs and configures everything you need to access Btrieve databases. That includes the Btrieve for Windows v6.15 Client Engine for both Local and NetWare Btrieve access. There's nothing else to buy, license, or install until you're ready to distribute your applications. With Controls for Btrieve, you get a royalty-free license to distribute the runtime version of Smithware's Controls for Btrieve. Of course, you must also license Btrieve for Windows from Btrieve Technologies, Inc. before you can distribute Btrieve applications or the Btrieve for Windows Client Engine.


The VAccess control connects your Visual Basic application to a Btrieve data file. Controls for Btrieve is designed to make Btrieve programming in Visual Basic simple and intuitive. But in order to make the controls as flexible as possible, the VAccess control exposes all of the normal Btrieve API parameters as properties, allowing you complete control over record access. Properties include the Btrieve file's Position Block, Data Buffer, Data Length, Index Buffer, Index Length, and Index Number, along with the status returned by the last call to the record manager.

In addition to the field controls supplied with Controls for Btrieve, any control which has a tag property and Windows Text can be automatically bound to a field in a Btrieve file. Enabling the VATagControls property of the VAccess control associated with the file will bind data from the control to any text control on any form in the Visual Basic project.

Field values within a Btrieve record can be set and retrieved quickly and easily. The field array properties of the VAccess control put all field information within easy reach in your code. Controls for Btrieve includes field formats and recognizes more field data types than any other product that supports Btrieve files. Some of the field information properties include: the total number of fields defined for a file, the name of a field, the value of the field in the current record, the field's data type, position in the data buffer, and size, and the standard Visual Basic Format string to be used when displaying the field value.

Stay in control of your data with complete property-based access to all of the elements that define your data. VAccess control properties let you specify where your DDF files are, select a file definition from the DDF, and specify which Btrieve file to open. The VAccess control includes full support for all Btrieve file open modes - normal, exclusive, read-only, or accelerated access, and gives you the protection of Btrieve file owner-name security and Btrieve transaction processing. Controls for Btrieve will automatically handle opening and closing of files, or you can set any of these properties at run time and open the Btrieve files from code. You can even specify one-to-one or one-to-many relationships between records in different files at design time, using a simple dialog box interface to join VAccess controls.

Finally the VAccess control gives you a property-based method of performing the following record operations: Open, FindPercentage, GetByPercentage, Delete, GetDirect, GetEqual, GetFirst, GetGreater, GetGreaterOrEqual, gestalts, gentles, GetLessOrEqual, GetNext, GetPosition, GetPrevious, Insert, StepFirst, steepest, StepNext, StepPrevious, Update, and Close. It also provides Events both before and after any record operation, allowing you to validate and control the display of information.


The scroll bar controls provide simple navigation through a Btrieve database file. They take advantage of the new percentage functions of Btrieve version 6.x to provide complete scroll bar support.


The command button control attaches to a VAccess control to provide fast, easy record operation support. Pick a file, pick an operation, and run.


Field controls link to fields in your Btrieve record, letting you write a database application almost as fast as you can place text boxes, combo boxes, list boxes, check boxes, and option buttons on a form. All it takes to attach one of these controls to a Btrieve file is picking two properties, the VAccess control which represents the file, and the name of the field. Some of these controls have properties to let you specify data formats, default values, and other special features, but building a basic application is as easy as pointing and clicking.


TECHNICAL SPECIFICATIONS - CONTROL PROPERTIES AND EVENTS

VAccess control Properties:

AboutVAFieldDecVAGetGreaterOrEqualVAOwnerName
BackcolorVAFieldFormatVAGetLastVAPercentage
DragIconVAFieldIdVAGetLessVAPosition
DragModeVAFieldIndexVAGetLessOrEqualVAPositionBlock
HeightVAFieldNameVAGetNextVARequireOpen
IndexVAFieldPositionVAGetPositionVASetFieldName
LeftVAFieldsVAGetPreviousVAStatus
NameVAFieldSizeVAIndexBufferVAStatusDialog
ParentVAFieldTypeVAIndexLengthVAStepFirst
TagVAFieldValueVAIndexNumberVAStepLast
TopVAFileIDVAInsertVAStepNext
VACloseVAFileNameVAJoinVAStepPrevious
VADataBufferVAGetDirectVALocationVATagControls
VADataLengthVAGetEqualVAOpCodeVAUpdate
VADdfPathVAGetFirstVAOpenVisible
VADeleteVAGetGreaterVAOpenModeWidth

VAccess control Events:

RepositionValidate

VACheckBox control Properties:

BackColorFontStrikethruNameVAFieldName
CaptionFontUnderlineParentValue
DragIconForeColorTabIndexVAOffset
DragModeHeightTabStopVASize
EnabledHelpContextIdTagVAValueFalse
FontBoldhWndTopVAValueTrue
FontItalicIndexVAccessNameVisible
FontNameLeftVADataTypeWidth
FontSizeMousePointerVADecimal

VACheckBox control Events:

ClickDragOverKeyPress
DblClickGotFocusKeyUp
DragDropKeyDownLostFocus

VAComboBox control Properties:

******SortedVAOffset
DragIconHelpContextIdStyleVASize
DragModehWndTabIndexVisible
EnabledIndexTabStopWidth
FontBoldLeftTag
FontItalicListCountText
FontNameListIndexTop
FontSizeMousePointerVAccessName
FontStrikethruNameVADataType
FontUnderlineNewIndexVADecimal
ForeColorParentVAFieldName

VAComboBox control Events:

ChangeDragDropGotFocusKeyUp
ClickDragOverKeyDownLostFocus
DblClickDropDownKeyPress

VACommandButton control Properties:

BackColorFontSizeMousePointerVAErrorDialog
CaptionFontStrikethruNameVALockBias
DragIconFontUnderlineParentVAOperation
DragModeHeightTabIndexVisible
EnabledHelpContextIdTabStopWidth
FontBoldhWndTag
FontItalicIndexTop
FontNameLeftVAccessName

VACommandButton control Events:

ClickDragOverKeyDownKeyUp
DragDropGotFocusKeyPressLostFocus

VAHScrollBar and VAVScrollBar control Properties:

DragIconhWndParentVAccessName
DragModeIndexTabIndexVisible
EnabledLeftTabStopWidth
HeightMousePointerTag
HelpContextIdNameTop

VAHScrollBar and VAVScrollBar Events:

ChangeGotFocusKeyUp
DragDropKeyDownLostFocus
DragOverKeyPressScroll

VAListBox control Properties:

BackColorFontUnderLineMousePointerVADataType
DragIconForeColorNameVADecimal
DragModeHeightNewIndexVAFieldName
EnabledHelpContextIdParentVAOffset
FontBoldhWndTabIndexVASize
FontItalicIndexTabStopVisible
FontNameLeftTagWidth
FontSizeListCountTop
FontStrikethruListIndexVAccessName

VAListBox control Events:

ClickDragOverKeyPressMouseDown
DblClickGotFocusKeyUpMouseMove
DragDropKeyDownLostFocusMouseUp

VAOptionButton control Properties:

BackColorFontStrikethruNameVAFieldName
CaptionFontUnderParentValue
DragIconForeColorTabIndexVAOffset
DragModeHeightTabStopVASize
EnabledHelpContextIdTagVAValueFalse
FontBoldhWndTopVAValueTrue
FontItalicIndexVAccessNameVisible
FontNameLeftVADataTypeWidth
FontSizeMousePointerVADecimal

VAOptionButton control Events:

ClickGotFocusKeyUp
DragDropKeyDownLostFocus
DragOverKeyPress

VAPictureBox control Properties:

AlignhWndNameVADataType
AutoScaleIndexParentVADecimal
BorderStyleLeftPictureVAFieldName
DragIconLinkItemTabIndexVAOffset
DragModeLinkModeTabStopVASize
EnabledLinkTimeoutTagVisible
HeightLinkTopicTopWidth
HelpContextIdMousePointerVAccessName

VAPictureBox control Events:

ClickGotFocusLinkOpenMouseUp
DblClickLinkCloseLostFocus
DragDropLinkErrorMouseDown
DragOverLinkNotifyMouseMove

VATextBox control Properties:

AlignmentForeColorMousePointerText
BackColorHeightMultiLineTop
BorderStyleHelpContextIdNameUpperCase
DragIconHideSelectionParentVAccessName
DragModehWndPasswordCharVADataType
EnabledIndexScrollBarsVADecimal
FontBoldLeftSelLengthVAFieldName
FontItalicLinkItemSelStartVAFormat
FontNameLinkModeSelTextVAOffset
FontSizeLinkTimeoutTabIndexVASize
FontStrikethruLinkTopicTabStopVisible
FontUnderlineMaxLengthTagWidth

VATextBox control Events:

ChangeGotFocusKeyUpLinkNotify
DragDropKeyDownLinkCloseLinkOpen
DragOverKeyPressLinkErrorLostFocus

Library Function Calls:

VCBtrv(VAccessName As Control, OpCode As Integer ) As Integer
VCCreate( VAccessName As Control, lpCreateStruct As BtCreate ) As Integer
VCGetFieldValue( VAccessName As Control, ByVal FieldName As String, ByVal FormatString As String, FieldValue As String ) As Integer
VCSetFieldValue( VAccessName As Control, ByVal FieldName As String, ByVal FieldValue As String ) As Integer
VCSetOwner( VAccessName As Control, ByVal OwnerName As String, ByVal SecurityLevel As Integer ) As Integer
VCStatus( VAccessName As Control, lpStatusBuffer As BtStatus ) As Integer
VCTransaction( ByVal OperationCode As Integer ) As Integer
VCUnlock( VAccessName As Control, ByVal LockType As Integer ) As Integer
VCVersion( lpVersion As BtVersion ) As Integer

For more information:
For complete product information on Smithware ActiveX Controls for Btrieve, see
Smithware ActiveX Controls for Btrieve.
For complete product information on DDF Builder, see
DDF Builder Product Information.
See for yourself everything this product can do!
Download Product Help Files.

VBX Controls for Btrieve $249.95
To Order Call Toll-Free (800) 828-7438 or (615) 386-3100 or CLICK HERE for on-line ordering information!

Copyright © 1988, 1998 by Smithware, Inc. All rights reserved.
Smithware, Controls for Btrieve, DDF Builder, DDF Sniffer, Btrieve Developer's Journal, and Power Tools for Btrieve are trademarks of Smithware, Inc. Btrieve is a registered trademark of Pervasive Software, Inc. ActiveX, Windows, Windows NT, and Internet Explorer are trademarks of Microsoft Corp. All other product or brand names are trademarks or registered trademarks of their respective owners. Legal Notice.