==============================
JF Software VB Modules
By Joshua Foster - JF Software
http://www.jfsoftware.net
jfsoftware@jfsoftware.net
March 1, 2002
==============================
HelioDB 1.0
(c)2002 JF Software - Joshua Foster
You can use this code freely, but you MUST NOT remove
this copyright notice!!!

This module contains functions that allow you to work
with Helio applications and databases.  This code was
originally used in HelioExplorer, but I was nice enough
;) to include into its own module to help you VB
programmers out there in making your own programs for
the Helio.  I know that the code is a little rough, but
it works (as far as I know) and I don't feel like
messing it up for the sake of cleanliness.  Because I
don't own a Helio anymore, I don't offer support for
this code.

Functions:
==========
GetFileInfo(ByVal strFilePath As String)

Retrieves information about a database or app.  You can
pass either type to the program.  The information is
returned in a GetFileInfoReturn type. (see below)

Parameters:
strFilePath - The full path and filename of the file you
              want information on

GetFileInfoReturn type
filename - The filename that you passed to the function
filesize - The size of the file ON THE PC in bytes
intname - The name of the file as shown on the Helio
owner - The owner of the database (empty for apps)
type - A value from the enumeration TypeEnum indicating
       the type of file that was passed

TypeEnum enumeration
teUnknown = 0 - The file had no header information
teApplication = 1 - The file was a Helio application
teDatabase = 2 - The file was a Helio database


ChangeAppName(ByVal strFilePath As String, ByVal _
strNewName As String)

Changes the name of an application as shown on the
Helio.  The name must be 19 characters or less (it will
be shortened if it's longer).  The actual name given to
the application is returned as a String.

Parameters:
strFilePath - The full path and filename of the file you
              want to modify
strNewName - The new name you want to give the
             application


ChangeDBName(ByVal strFilePath As String, ByVal _
strNewName As String)

Changes the name of a database as shown on the Helio.
The name must be 31 characters or less (it will be
shortened if it's longer).  The actual name given to the
database is returned as a String.

Parameters:
strFilePath - The full path and filename of the file you
              want to modify
strNewName - The new name you want to give the database


ChangeDBOwner(ByVal strFilePath As String, ByVal _
strNewOwner As String) As String

Changes the owner of a database as shown on the Helio.
The owner must be 31 characters or less (it will be
shortened if it's longer).  The actual owner given to
the database is returned as a String.

Parameters:
strFilePath - The full path and filename of the file you
              want to modify
strNewName - The new owner you want to give the database


DrawAppPreview(ByVal strFilePath As String, ByVal _
pctBox As PictureBox, Optional ByVal blnMonochrome As _
Boolean, Optional ByVal lngSizeMulti As Long)

Draws the icon that an application shows on the Helio's
main screen onto a PictureBox.  You must make sure that
the PictureBox is sized correctly (the picture is 48
pixels wide by 34 pixels tall).  It is recommended that
you set the background color to white; however, you can
set it to whatever color you want.  This sub returns
nothing.

Parameters:
strFilePath - The full path and filename of the file you
              want to pull a picture from
pctBox - The PictureBox that you want to draw to
blnMonochrome - Make this True to draw the picture in
                black and white, like on the Helio.  Set
                False to draw in 4-color grayscale.  The
                default is True, and this parameter is
                optional.
lngSizeMulti - Set this to the multiplier you want
               applied to the size of the picture.  Set
               to 1 for a normal size, 0.5 for half-
               size, 2 for double size, etc.  The
               default is 1, and this parameter is
               optional.
