_____________________________________________________________________________

IDBTOOLS 1.1 FOR VISUAL BASIC                NORWEGIAN TEXT: SEE README_N.TXT
_____________________________________________________________________________

> WHAT IS IDBTOOLS?                                                   Ŀ
                                                                      MICRO
  IdbTools is a library of useful and timesaving routines which       Ĵ
  makes life easier for any Visual Basic programmer.                   I   
                                                                        D  
  Basic contents are as follows:                                         B 
                                                                      Ĵ
  + Simple, but very powerful routines for string-manipulation        ADEPT
                                                                      
  + Extensively simplified reading/writing of INI-files compared
    to API-calls

  + Routines for reading system-information, i.e. available
    disk space, memory, screen resolution etc.

  + Dynamic one/two-dimensional tables (arrays) consisting of dynamic text-
    strings enables you to manipulate significantly bigger amounts of data
    than Visual Basic alone can handle. Smart sorting, seek, read files,
    write to file, linking to spreadsheets etc. is also included.

  + Encryption algorithms (with no "back-door") enables you to easily
    protect your data against unwanted intruders.

  + Elegant copy protection of software and applications. This software
    (IDBTOOLS) is using the same copy protection itself, so try it out and
    evaluate.

  IdbTools is a IDB MICRO ADEPT AS product. This package is intended for
  Visual Basic, but the same software is also available for C++.

  Please see the enclosed files IDBTOOLS.WRI and IDBTABLE.WRI (standard
  Windows 3.1 Write format - can also be read from MS Word) for a detailed
  description of routines and functionality.

  This software is distributed as "shareware" (se below for details), and we
  intend to ship regular updates in the near future. If this file is more
  than a couple of months old (see file-date), it is likely that there is a
  newer release in circulation, so call your favorite BBS's to get the
  most recent version.


  Any comments and/or suggestions are welcome, and can be sent/mailed to:

  Idb Micro Adept AS                                    idb@vestnett.no
  Strandgt. 207                                         """""""""""""""
  5004 BERGEN



_____________________________________________________________________________

NB: This file contains special characters based on MS DOS character set. 
    If you use a  Windows  program like  Notepad  to read this,  special
    characters will not occur correctly,  and the enclosed examples will
    not be readable.  If that is the case, quit this file and access the
    file   README.WIN instead which contains this text based on  Windows
    character set.
_____________________________________________________________________________







_____________________________________________________________________________

> TABLES

  A table is a matrix of text-strings, which can be compared to an invisible
  spreadsheet in RAM. The tables can be dimensioned according to your needs,
  and dynamic changes can be made at any time. You can read tables directly
  from a number of file formats, and the tables are automatically
  dimensioned according to the file-contents. The same applies for writing
  tables to different file formats.

  Reading and writing data from/to tables, seek and sort are very fast
  operations.

  The sorting routine for tables has some unique features. It is the only
  sorting routine known that gives a logical sorting of text containing
  numbers.

  Example:      Ordinary sorting                IDBTOOLS SmartSort

                Number 1 of 100                 Number 1 of 100
                Number 10 of 100                Number 2 of 100
                Number 100 of 100               Number 10 of 100
                Number 2 of 100                 Number 20 of 50
                Number 20 of 100                Number 20 of 100
                Number 20 of 50                 Number 100 of 100

  Sorting of special characters is greatly improved compared to most
  competing sort-routines. Characters like /E//e///// are treated as
  variations on the same letter, i.e. the difference is only significant
  for the sort-order when the remaining characters are identical.

  Example:
                Sequence 1
                Sequnce 2
                Sequence 3
                Sequnce 3
                Sequnce 4
                Sequenc 5
                Sequenc 6

  Between record 1 and 2 the difference between "e" and "" has no
  significance since the remaining characters are different. The same
  applies for record 2 and 3. The only difference between record 3 and 4
  is "e"/"", and consequently the record containing "e" will be sorted in
  front of the other, since "e" is defined before "".

  You may say that this is plain trivia, but may change your mind when you
  see how most other programs handles sorting of the same records:

                Sequence 1
                Sequence 3
                Sequenc 6
                Sequenc 5
                Sequnce 2
                Sequnce 3
                Sequnce 4

  IdbTools contains several different seek-routines for finding data in a
  table, i.e. exact match, wildcards and binary-search (data in a sorted
  table)
_____________________________________________________________________________

> STRING-HANDLING / INI-FILES

  Most Visual Basic programmers sooner or later faces the "problem" that
  most program-utilities for returning strings, anticipates that the calling
  program has allocated space for the returned string. To illustrate this
  we will show you the difference between reading INI-files traditionally
  (via API) and using IdbTools:

  ' Read name of starting program for Windows from SYSTEM.INI:

    Declare Function GetPrivateProfileString% Lib "Kernel" (ByVal pAppName$,
                     ByVal pKeyName$, ByVal pDefault$,
                     ByVal pReturnedString$, ByVal nSize%, ByVal pFileName$)

    txt$ = String$(80, " ") ' Reserve space for 80 chars
    len% = GetPrivateProfileString("boot","shell","",txt$,80,"SYSTEM.INI")
    StartProg$ = Left$(txt$, len%) ' Possible result: "progman.exe"

  ' Same as above using IdbTools (IDBTOOLS.BAS is included in the project):

    StartProg$ = IniFileGetString("SYSTEM.INI", "boot", "shell")

  I think we have made our point, and showed beyond reasonable doubt which
  method is the easiest to PROGRAM, MAINTAIN and last but not least to
  UNDERSTAND!

  IdbTools provide a number for powerful routines for string-manipulation
  that Visual Basic "lacks": pick words from strings, swap part of strings,
  formatting, translation between DOS and Windows character sets and much
  more. See IDBTOOLS.WRI for a complete and detailed documentation.

_____________________________________________________________________________

> SYSTEM INFORMATION

  Routines that gives easy access to system-information: screen resolution,
  number of colors, free disk-space, available RAM, disk(ette)-unit status
  etc. Details on environment variables and directory information can be
  read directly into tables.

_____________________________________________________________________________

> ENCRYPTION

  If you want to protect data against unwanted intruders, you can achieve
  this by using the IdbTools encryption routines. These routines are not
  based on any standard algorithm specified by "Big Brother", and has
  therefore no "back door". There is no possibility what so ever to recover
  an encrypted string without the correct key - not even for us who made
  the program.

  The routines are very simple in use; you specify the text-string to be
  coded together with the "secret key" and the result is a completely
  unreadable string. When decoding the same string, you specify the
  unreadable string and its key, and the original string is returned.
  Using wrong keys will not unlock any doors.

  Example:

          TextIn$  = "Private information..."
          Secret$  = "Sesam$zaM"
          Crypt$   = Encrypt (TextIn$, Secret$)
          TextOut$ = Decrypt (Crypt$,  Secret$)         

  ' TextOut$ and TekstIn$ will be identical, and
  ' Crypt$ will contain an unreadable string.
_____________________________________________________________________________

> COPY PROTECTION

  The program library IDBTOOLS.DLL is copy protected. If you have no valid
  license, you will be made aware of this by an annoying pop-up window
  reminding you to contact IDB and purchase a copy. Most of the IdbTools
  routines will for the time being function without the annoying reminder,
  but when you use table-functions or the encryption routines, the testing
  for a valid license is activated.

  The only way to get rid of the "license-alarm" is to purchase a license
  code from IDB. The license-code consists of a 6-letter alphanumeric string
  which is derived from the name of the licensee. The license-name and
  corresponding code must be inserted into all programs using IdbTools:

     status% = LisenseIdbTools("User Name, Address", "CODE01")

  This code is inserted in Form Load in the applications startup form.

  All applications using IdbTools must have a license for the name holding
  Copyright for the application. IDBTOOLS.INI will contain a list of all
  programs using IDBTOOLS. If the application is using a licensed version
  of IdbTools, the licensee name will appear as the copyright holder of the
  application. This means that an application using a "borrowed" license
  code will appear as copyrighted by the name connected to the violated
  license. Somebody actively programming a call to LicenseIdbTools using
  somebody else's name and code, can not claim to have acted in good faith.

  A similar copy protection scheme is available for all applications 
  using IdbTools, provided a valid license:

  The call      code$ = LicenseGetCode("User Name","SECRET_KEY")
  will return a code for the given user name. This call is supposed
  to be used in a program only available for the distributor of
  the application.

  The following statement is put into the application:
                status% = LicenseProgram(UserName$, Code$, "SECRET_KEY")

  Depending on the result, status%, your application can determine whether
  the username/code is valid for this program, and take appropriate actions.
  Different applications can have different keys ("SECRET_KEY_PROG2").

  When LicenseProgram has been called with a valid code, the user name will
  be inserted in IDBTOOLS.INI connected to the name of your application in
  the group [License].
_____________________________________________________________________________

> SHAREWARE: RULES FOR USE AND DISTRIBUTION

  IdbTools is distributed as "shareware". This term must not be mixed up
  with "Freeware" or "Public domain". "SHAREWARE" is a method for
  distribution of software which is protected by COPYRIGHT like all other
  commercial software.

  The "shareware" concept give potential users the opportunity to evaluate
  the software before they decide whether they want to pay for the right
  to use it.

  It is perfectly legal to use this software for testing in a trial period.
  A reasonable test period is estimated to be 30 days. Using the software
  beyond a reasonable trial period, or including it in a commercial 
  program without a legal license, will be regarded as a violation of
  our copyright.

  An important part of the "shareware" concept is that the user must have
  a chance to test all parts of the software. If the software is only  
  partly working, or deliberately causes erroneous results, it should not
  be called "shareware", but "crippleware". Some "shareware" software
  is also called "nagware" because of the annoying pop-ups constantly
  reminding the user about the lack of license. IdbTools is using this
  approach, but you can still test all parts of it.


  IDBTOOLS can be distributed freely on the following conditions:

  - All files in this package must be included (see PACKING.LST).

  - The files must be unchanged.
    Archive file name must include version number (VBIT11.ZIP -> ver 1.1).
    The date and time of the files should not be changed.
    Time must correspond to the version number.

  - No files can be added to the package, with one exception: The BBS
    distributing this software may include a short text file with a 
    short presentation of the BBS.

  - It is not allowed to charge any cost for the distribution of this
    software, except for normal downloading fees (if any), without the
    express permission from IDB MICRO ADEPT AS.

  We encourage you to give copies of this software to your friends and
  colleagues, and to upload it to any BBS's that you use. For sample
  descriptions suitable for BBS file listings, please see FILE_ID.DIZ
  and DESC.SDI.

_____________________________________________________________________________

> COPYRIGHT / LIABILITY / CONDITIONS FOR USE


  !    IDBTOOLS  Copyright (C) 1995  IDB MICRO ADEPT AS, BERGEN, NORWAY     !
  !    ________________________________________________________________     !
  !    Use this software  only  if you accept the following conditions:     !
  !    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""     !
  !    THE SOFTWARE IDBTOOLS AND ACCOMPANYING DOCUMENTATION IS PROVIDED     !
  !    AS IS WITHOUT WARRANTY OF ANY KIND. ALL USE IS AT YOUR OWN RISK.     !
  !    IDB MICRO ADEPT AS CAN NOT BE MADE LIABLE FOR ANY DAMAGES CAUSED     !
  !    BY USE OF THIS SOFTWARE AND DOCUMENTATION.                           !
  !    OWNER OF A LEGAL LICENSE FOR IDBTOOLS  IS COMMITTED TO KEEP THIS     !
  !    CODE  UNAVAILABLE FOR OTHERS.    DELIBERATE  DISTRIBUTION  OF  A     !
  !    LICENSE  CODE  WILL  BE REGARDED AS  A  SEVERE  VIOLATION OF THE     !
  !    LICENSE CONDITIONS AND A VIOLATION OF IDB'S COPYRIGHT,  AND WILL     !
  !    BE PROSECUTED.                                                       !

_____________________________________________________________________________

> LICENSE-CODES / PRICE                               

  Contact IDB MICRO ADEPT AS to get a license code.       
  Current prices are:

  In Norway:           NOK 425 incl. M.V.A.  (REG: NO865975392MVA)
  All other countries: US $ 55

  A valid license code gives you the right to distribute IDBTOOLS.DLL
  with your programs.


  ------------------------------
  * TIME LIMITED SPECIAL OFFER *
  ------------------------------
  If you pay for a IdbTools license before march 1st 1995, you will
  also get the right to use and distribute IDBVTSS.DLL. This module
  contains the necessary routines for connecting IdbTools to the
  spreadsheet product Formula One from Visual Tools. This product is 
  exceptionally suitable for presentation of IdbTools Tables, and also
  give the possibility to import/export Excel (4.0) spreadsheets to
  the Tables via Formula One.

  In future versions, IDBVTSS will be sold as a separate add-on tool.

_____________________________________________________________________________

> ORDERING INFORMATION / PAYMENT:

  Send to:                                              Idb Micro Adept AS
                                                        Strandgaten 207
                                                        N-5004 Bergen, Norway

  ___________________________________________________________________________
  |                                                                         |
  |         The following information must accompany the payment:           |
  |         =====================================================           |
  |                                                                         |
  |     Name       _________________________________________________________|
  |                                                                         |
  |     Address    _________________________________________________________|
  |                                                                         |
  |     Postcode   _________________________________________________________|
  |                                                                         |
  |     City       _________________________________________________________|
  |                                                                         |
  |     Country    _________________________________________________________|
  |                                                                         |
  |     Date       ___________________________   Phone: ____________________|
  |                                                                         |
  |     Has paid   ___________ for IdbTools license (see PRICE above):      |
  |          _                                                              |
  |         [_]    Check / money order enclosed                             |
  |         [_]    BankGiro: 9521.05.69325 (A/S Bergens Skillingsbank)      |
  |         [_]    PostGiro: 0826.02.47787 (CCP du bnficiaire             |
  |                                         Norvge Service des             |
  |                                         chques postaux)                |
  |                                       _                                 |
  |     Want to receive the license code [_] via E-mail: ___________________|
  |                                      [_] via post.                      |
  |                                      [_] via Fax:    ___________________|
  |     IdbTools version:      ________                                     |
  |                                                                         |
  |     Where did you find IdbTools? _______________________________________|
  |_________________________________________________________________________|
   
  If you pay directly to the bank account or international Post services,
  you may prefer to send the above information as E-mail via internet to:

  idb@vestnett.no

  We will send the code to you as soon as we have confirmed the payment. 

_____________________________________________________________________________

> DOCUMENTATION - LANGUAGES                           

  This text is available in the following languages:

        Norwegian       README_N.TXT    (Windows: README_N.WIN)
        English         README.TXT      (Windows: README.WIN)

  The documentation (IDBTOOLS.WRI and IDBTABLE.WRI) is for the time being
  only available in English.

  If your native language is not one of the above, and you wish to
  contribute making this text and/or the documentation available in
  your language, please contact us for discussing terms of cooperation.
_____________________________________________________________________________

> FEEDBACK                                

  If you have comments, error reports, suggestions for improvements and
  extensions, please write to:

  Idb Micro Adept AS                                    idb@vestnett.no
  Strandgaten 207                                       ^^^^^^^^^^^^^^^
  N-5004 Bergen, Norway
_____________________________________________________________________________
_______________________________END_OF_README_________________________________
