3 |
The LA Fox Developer Newsletter
April 1999
Why would you want to...
Downgrade From
Visual FoxPro?
By Doug
Sherman,
Rocky
Mountain Fox User Group
During the past few months, I have been contacted by two
organizations in the Denver area looking to acquire FoxPro 2.6
for DOS and/or for Windows with distribution kits. These
organizations had purchased VFP, but had a need to redistrib-
ute a 2.6 application they had purchased with some modifica-
tions. The problem was finding a copy of FPD/FPW 2.6.
The very real frustration now being experienced is that FoxPro
2.6 DOS and Windows environments are still needed and used
by business. With the 2.6 product being out of production and
not available from Microsoft, it makes acquiring it impossible at
any price. The product is also generally not available on the
‘recycled software’ market.
SOLUTION: A short note to Robert Green, Product Manager,
Developer Tools, generated the best possible answer for these
two groups. He said, “The Professional versions of FoxPro 2.6
DOS and Windows should be available for downgrade from
“Supplemental Parts.”
On 3-10-99, I did call Supplemental Parts (800-360-7561).
They indicated that a VFP owner may indeed downgrade to
FoxPro Windows andfrr FoxPrn DOS with proof of ownership of
a VFP product (by supplying information
from
the product box,
or the Assy-#’s from the VFP CD or diskettes.
The cost of the downgrade (diskettes only) is:
(1) FoxPro 2.6 Windows Downgrade: $51.96
+
5.00 s/h (in-
cludes distirbution Kit).
(2) FoxPro 2.6 DOS DownGrade: $15.00
+
5.00 s/h (includes
distirbution Kit).
(3) A “sidegrade” is defined as owning the PC product and
wanting the Macintosh product, or the reverse. A sidegrade is
also available from Supplemental Parts.
Outand About
(Con't from page 2)
apps. For your convenience, this public domain library (along
with its partner, KERN EL.FLL) and associated documentation
will be placed on the LA Fox website,
http://www.mesllc.com/
lafox.html,
for downloading.
Here’s a New Twist and the Price is Right. Internet
service
provider, lnterSquid.com, said it will start offering users free
computers with no strings attached. The service, which re-
quires customers to sign up for 2-1/2 years to qualify, says the
computers it offers won’t be jammed with advertising and other
promotional banners, unlike some other free-PC offers. The
start-up service provider says that with the 30-month $29.99 per
(Con’t, page 6)
Inserting/Retrieving
Files in a DBF
Part 1
by Pat Boen
On some occasions you might want to store files in your DBF in
order to retrieve them later on. For example, you might want to
store icons, bitmaps or waves in a DBF, so that nobody can
change them, and retrieve them from your DBF at the time your
application needs them. Well if that’s what you’re interested in,
then this technical paper is for you.
Memo Files/Fields
The wonderful capabilities of the memo fields of Visual FoxPro
make it possible to store any kind of data. Nobody’s astonished
to be able to store pictures in memo fields or even objects in
general fields. So why not storing
...
files ? That’s it! No matter
what type of file... all kinds of files!
The only technical issue to address is to be able to transfer the
content of a file to the memo field. But isn’t that easy? Isn’t a
file simply a string, a big string sometimes I admit.
Reading A File And Placing
Its Content In A String
What we need here is to come up with a function that will read
the content of a file whose namc. is pa:sed as a parameter, and
that will return it to the calling process. In fact,,I would even
prefer to get two parameters passed to this function : the name
of the file to read, and the buffer in which I’ll place the content.
The function will return a .T. or.F. value to indicate whetherthe
reading was successful or not. The buffer should of course be
passed by reference.
#define FO_READONLY 0
#define INVALID_HANDLE (-1)
#define
FALSE
.F.
#define TRUE
.T.
#define FILEPOS_BEGIN 0
#define FILEPOS_cURRENT I
#define FILEPOS_END 2
FUNCTION CopyFileToVar( cFiIe,cBuffer
LOCAL IRetVaI
LOCAL nHandle
LOCAL nSize
lRetVal
=
FALSE && Function is not successful by default
nHandle
=
INVALID_HANDLE && Invalid handle by default
&& If we can find this file
IF
(
FILE( cFile))
&& Open it in READ-ONLY mode
nHandle
=
FOPEN( cFile,FO_READONLY)
&& If we obtained a valid file handle
IF
(
nHandle
!
INVALID_HANDLE)
&& Get the length of the file now (needed by FREADO)
nSize
=
FIL_len( nHandle)
&& Read the file
(Con’t, page 4)
Page 3
|
3 |