From: denisl@col.hp.com (Denis Lambert)
Subject: Re: Btrieve for Windows Question
Date: Tue, 15 Sep 1992 16:54:06 GMT
Organization: HP Colorado Springs Division


> 
> In article <1992Sep14.140651.10906@col.hp.com> you write:
> >Subject: Btrieve for Windows Help
> >Newsgroups: comp.windows.ms.programmer
> >Distribution: 
> >
> >I am considering moving some of my Btrieve DOS programs to windows and 
> >while reading Novell Bullets, December 1991 issue it appeared as if the
> >call to Btrieve has changed from BTRV to BTRCALL and the arguments are
> >different.  Can someone out there who has made the port from Btrieve for
> >DOS to Btrieve for Windows give me some insight on what has changed and
> >how difficult it is to make the switch.  What is the DLL interface for
> >Borland C++ and Turbo Pascal for Windows?  If the port is any effort I
> >am considering switching to Paradox Engine so that I will be able to 
> >take advantage of Paradox for Windows when it becomes available.
> >
> 
> 
> If you find out anything could you tell me too please.  Thanks.
> 
> Lou Kates, louk@research.teleride.on.ca
> 

I found out quite a bit.

First of all, Btrieve for Windows DLL call has changed to BTRCALL and
there is one more argument.  The additional argument is key length and
it is passed as a var integer between the key buffer and key number 
parameters.  To get things working quick and easy you can create a BTRV
function that sets the key length to 255 and pass a key buffer of 255 bytes
to BTRCALL.  I tried this with a Btrieve for Windows DLL that came with 
another package that I bought and it seems to be working perfectly.  In
short the port is simple.

Regarding a Visual Basic interface to Paradox Engine I found one on
ftp.cica.indiana.edu in pub/pc/win3/programr/vb.  Examples for TPX and
Paradox Engine are located in the tp subdirectory.  Borland has also 
indicated that TPW 1.5 ships with a Paradox Engine example in the OWL
examples directory.

To interface Btrieve for Windows to Visual Basic the declare statement is
as follows.  I have not tested this at all.  I pulled it straight from
the Novell Bullets magazine.

   declare function btrcall lib "wbtrcall.dll" (ByVal op%, ByVal pb$,
     DB as Any, Dl as integer, ByVal kb$, ByVal KeyLength%, ByVal kn%)
     as integer

Coromandel also sells a package dbControls for Visual Basic that provides
custom controls for Btrieve data files.  I don't have their phone number
with me, but if you are interested I will send it to you.  Programmers
Shop carries Coromandel products.  Make sure that you specify what version.
I received the dBase version by mistake.

As far as choosing between Btrieve for Windows and Paradox Engine I have not
reached any conclusion.  Btrieve for Windows makes my current port easier,
but I like Paradox and the soon to be release Paradox for Windows better
as a long term platform.  Borland has indicated that Paradox Engine 3.0
will be released shortly after Paradox for Windows and it will include 
some new functionality, but as always they wouldn't say what it was.  Finally,
there are custom controls for Btrieve now, making Visual Basic development
faster.

Would it be nicer if there was only one option for everything you were
thinking about doing in life?

I want to thank everyone for their input and help.
--
------------------------------------------------------------------
Denis Lambert
denisl@col.hp.com
(719)590-2515
------------------------------------------------------------------
Newsgroups: comp.databases