_____________________________________________________________________________ VBIT: Visual Basic Invisible Tools 1.40 _____________________________________________________________________________ > WHAT IS VBIT? VBIT is a library of useful and timesaving routines which makes life easier for any Visual Basic programmer. Contents of VBIT: + 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. + Simple, but very powerful routines for string-manipulation + Simplified reading/writing of INI-files compared to API-calls + Routines for reading system-information, i.e. available disk space, memory, screen resolution etc. + Encryption algorithms (with no "back-door") enable you to easily protect your data against unwanted intruders. + Elegant copy protection of software and applications. This software (VBIT) uses the same copy protection itself, so try it out and evaluate. VBIT is an InfoTech AS product. This package is intended for Visual Basic, but the same software will soon be available for C++. Please see the enclosed files VBIT.WRI, VBITABLE.WRI, VBITFILE.WRI and VBITVTSS.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" (see below for details), and we have and will continue to relaease regular updates. 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 to get the most recent version. You can visit our WWW-pages to check: http://www.prodat/infotech/ You can visit our WWW-pages to check: http://www.traders.no/ The latest release of VBIT will also always be avaliable at Trader's Mascot BBS, running Excalibur BBS (+47/7012-9014 or +47/7012-5102). Any comments and/or suggestions are welcome, and can be sent/mailed to: InfoTech AS infotech@telepost.no Strandgt. 207 """""""""""""""""""" N-5004 BERGEN, Norway or Trader's Mascot AS bjonor01@mimer.no Postboks 3098 Sentrum ^^^^^^^^^^^^^^^^^ N-6001 AALESUND, Norway _____________________________________________________________________________ NB: This file contains special characters based on WINDOWS character set. If you use a DOS program to read this, special characters will not display correctly, and the examples in this document will not be readable. _____________________________________________________________________________ > TABLES A table is a matrix of text-strings, which can be thought of as 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. This sorting routine sorts numbers embedded in strings in a sensible fashion. For example, if you are sorting strings of the format "Number x of y" where 'x' and 'y' are numbers, then: Ordinary sorting ---------------- Number 1 of 100 Number 10 of 100 Number 100 of 100 Number 2 of 100 Number 20 of 100 Number 20 of 50 VBIT SmartSort -------------- Number 1 of 100 Number 2 of 100 Number 10 of 100 Number 20 of 50 Number 20 of 100 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. VBIT SmartSort -------------- Line 1: Sequence 10 Line 2: Sequènce 20 Line 3: Sequence 30 Line 4: Sequènce 30 Line 5: Sequènce 40 Line 6: Sequencè 50 Line 7: Sequencé 60 Between lines 1 and 2 the difference between "e" and "è" has no significance since the remaining characters are different. The same applies for lines 2 and 3. The only difference between lines 3 and 4 is "e"/"è", and consequently the record containing "e" will be sorted in front of the other, since "e" is defined before "è" in this package. You may say that this is trivial, but may change your mind when you see how most other programs handle sorting of the same records: Ordinary sorting ---------------- Line 1: Sequence 10 Line 2: Sequence 30 Line 3: Sequencé 60 Line 4: Sequencè 50 Line 5: Sequènce 20 Line 6: Sequènce 30 Line 7: Sequènce 40 VBIT 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 face the "problem" that most program-utilities for returning strings, anticipate 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 VBIT: ' 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 VBIT (VBIT.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! VBIT provides a number of powerful routines for string-manipulation that Visual Basic "lacks": pick words from strings, swap parts of strings, formatting, translation between DOS and Windows character sets and much more. See VBIT.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 VBIT 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 whatsoever to recover an encrypted string without the correct key - not even for those 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 TextIn$ will be identical, and ' Crypt$ will contain an unreadable string. _____________________________________________________________________________ > COPY PROTECTION The program library VBIT.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 InfoTech AS and purchase a copy. Most of the VBIT 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 InfoTech AS. 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 VBIT: status% = LisenseVBIT("User Name, Address", "CODE01") This code is inserted in Form Load in the applications startup form. All applications using VBIT must have a license for the name holding Copyright for the application. INFOTECH.INI will contain a list of all programs using VBIT. If the application is using a licensed version of VBIT, 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 LicenseVBIT 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 VBIT, 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 INFOTECH.INI connected to the name of your application in the group [License]. _____________________________________________________________________________ > SHAREWARE: RULES FOR USE AND DISTRIBUTION VBIT 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 gives 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. VBIT is using this approach, but you can still test all parts of it. VBIT 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 (VBIT120.ZIP -> ver 1.20). 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 for the distribution of this software, except for normal downloading fees (if any), without the express permission from InfoTech AS. We encourage you to give copies of this software to your friends and colleagues, and to upload it to any BBS that you use. For sample descriptions suitable for BBS file listings, please see FILE_ID.DIZ and DESC.SDI. _____________________________________________________________________________ > COPYRIGHT / LIABILITY / CONDITIONS FOR USE ! VBIT Copyright (C) 1996 InfoTech AS, BERGEN, NORWAY ! ! Distributed by: Trader's Mascot AS, Aalesund, Norway ! ! ________________________________________________________________ ! ! Use this software only if you accept the following conditions: ! ! """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ! ! THE SOFTWARE VBIT AND ACCOMPANYING DOCUMENTATION IS PROVIDED ! ! AS IS WITHOUT WARRANTY OF ANY KIND. ALL USE IS AT YOUR OWN RISK. ! ! INFOTECH AS CAN NOT BE MADE LIABLE FOR ANY DAMAGES CAUSED BY USE ! ! OF THIS SOFTWARE AND DOCUMENTATION. OWNER OF A LEGAL LICENSE FOR ! ! VBIT 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 ! ! INFOTECH'S COPYRIGHT, AND WILL BE PROSECUTED. ! _____________________________________________________________________________ > LICENSE-CODES / PRICE Contact InfoTech AS or Trader's Mascot AS to get a license code. Current prices are: In Norway: NOK 495 incl. M.V.A. All other countries: US $ 65 A valid license code gives you the right to distribute VBIT.DLL with your programs. _____________________________________________________________________________ > ORDERING INFORMATION / PAYMENT: Price in Norway : NOK 495,- incl. mva. all other countries : $65 Send to: Trader's Mascot AS Postboks 3098 Sentrum N-6001 AALESUND, Norway ___________________________________________________________________________ | | | The following information must accompany the payment: | | ===================================================== | | | | Name _________________________________________________________| | | | Address _________________________________________________________| | | | Postcode _________________________________________________________| | | | City _________________________________________________________| | | | Country _________________________________________________________| | | | Date ___________________________ Phone: ____________________| | | | Has paid ___________ for VBIT license (see PRICE above): | | _ | | [_] Check / money order enclosed | | [_] BankGiro: 5353.05.22667 (Den Norske Bank) | | [_] PostGiro: 0826.06.97588 (Post cheque) | | | | [_] Visa [_] American Express [_] EuroCard | | [_] MasterCard [_] Diners International | | | | Creditcard number :_________________________________________ | | | | Expiration date :_________________________________________ | | | | Signature :_________________________________________ | | | | Want to receive the license code [_] via post. | | [_] via Fax: ___________________| | VBIT version: ________ | | | | Where did you find VBIT? _______________________________________ | |_________________________________________________________________________| Send above information to Trader's Mascot AS or by fax to Fax number +47 7012 4090 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: infotech@telepost.no or bjorn@traders.no We will send the code to you as soon as we have confirmed the payment. You may also call the Trader's Mascot BBS, running Excalibur BBS: +47/7012-9014 or +47/7012-5102. ____________________________________________________________________________ > FEEDBACK If you have comments, error reports, suggestions for improvements and extensions, please write to: InfoTech AS infotech@telepost.no Strandgaten 207 ^^^^^^^^^^^^^^^^^^^^ N-5004 Bergen, Norway or Trader's Mascot AS bjorn@traders.no Postboks 3098 Sentrum ^^^^^^^^^^^^^^^^ N-6001 AALESUND, Norway _____________________________________________________________________________ _______________________________END_OF_README_________________________________