OOGrid Library(TM) v1.16 for Borland/Turbo Pascal (Real Mode/TV) Release date 95/01/05 Copyright (C) 1994 - 1996 by Arturo J. Monge Portions Copyright (C) 1989, 1990 by Borland International, Inc. README.TXT A. WHAT IS 'OOGrid Library (TM)'? OOGrid Library(TM) is a library of objects for Turbo Vision that provides a simple spreadsheet for use in your applications. The spreadsheet in OOGrid Library(TM) can be used, for example, to manage lists, to create data entry screens or simply as an ordinary spreadsheet. The library consists of one main object -- TSpreadSheet -- and several auxiliary objects used by TSpreadSheet. Some of these auxiliary objects (TLimScrollBar, TMessageLine, and TWindowList -- the latter implemented in the demo program) can be used by other objects or applications not related to OOGrid Library(TM). OOGrid Library works with Turbo Pascal 6.0 and Borland/Turbo Pascal 7.0, and can be used to create DOS real and protected mode applications. B. WHAT DOES 'OOGrid Library(TM)' DO? The spreadsheet object provided with OOGrid Library(TM) can handle text, values, formulas and repeat characters. It supports several numerical functions (abs, trunc, round, exp, sin, cos, atan, sqr, sqrt, and ln) and operations (+, -, /, *, :, and ^) that can be used in formula or value cells. It lets you mark, copy, move and erase blocks of cells, insert and delete columns and rows, change the width of a column or block of columns, and assign a custom header to any column in the spreadsheet. You can justify (left, center or right) the contents of a cell, and format numbers by adding commas, a currency character or by changing the number of decimals displayed. There is also a sort function that lets you sort the rows of a block of cells using three different sort keys, in either ascending or descending order. The spreadsheet supports three modes of operation that you can toggle on and off independently: autocalc mode, in which all the formula cells are recalculated every time you add or modify a cell; display formulas mode, in which all formulas and not their results are displayed; and display headers mode, in which all custom assigned headers are displayed. There is also a spreadsheet protection feature, that lets you protect the data in the spreadsheet; when the spreadsheet is protected, only marked (unlocked) cells can be changed. This feature is useful for creating data entry screens. The spreadsheet also offers several printing options. You can print a file in normal or condensed mode and choose whether or not to print the column headers and/or the row numbers. You can print row outlines and print the column headers and row numbers in bold characters, and also define the page layout (margins and number of columns and rows in a page). C. SOURCE CODE More than 100 pages of source code are included with OOGrid Library(TM). The source code of GLCELL.PAS, GLLSTR.PAS, GLPARSER.PAS, TCHASH.PAS and TCUTIL.PAS are partially or completely copyrighted by Borland International, Inc. D. LICENSE AGREEMENT You must read and accept the license agreement before using OOGrid Library(TM) for Borland/Turbo Pascal (Real Mode/TV). See the file LICENSE.TXT. E. DESCRIPTION OF FILES Before using OOGrid Library(TM) the first time, make sure you have all the following files; if not, please contact the author immediately. Demo files: DEMOEQU.PAS Equates unit for the demo program DEMOMAKE.PAS Program that creates the resource file used by the demo program DEMO_GL.EXE Demo program DEMO_GL.PAS Source code of the demo program Example files: EX_ENTRY.OGL Two examples of data entry screens EX_ERROR.OGL Different errors reported by TSpreadSheet EX_FUNCT.OGL Different functions and operations supported by TSpreadSheet EX_LICEN.OGL License agreement. MUST READ! EX_LIST1.OGL Some information about column headers and the sort function EX_LIST2.OGL An example list EX_OOGL2.OGL Information about next releases EX_TYPES.OGL Examples of the different types of cells supported by TSpreadSheet Source code files: GLEQUATE.PAS Equates unit used by TSpreadSheet GLSORT.PAS Implementation of an object that can sort a cell hash table using three different keys GLSUPPRT.PAS Several support constants, variables, records and objects used by TSpreadSheet GLTSHEET.PAS This is the main unit, which implements the TSpreadSheet object GLTVR_US.PAS Implements two functions needed to create the resources used by TSpreadSheet (English) GLTVR_SP.PAS Implements two functions needed to create the resources used by TSpreadSheet (Spanish) GLVIEWS.PAS Implementation of several support views used by TSpreadSheet GLWINDOW.PAS Implementation of a TWindow's descendant that can own a TSpreadSheet object GLCELL.PAS Implementation of the different cell and hash table objects used by TSpreadSheet. GLLSTR.PAS Implementation of a long string object. GLPARSER.PAS Implementation of the parser used by TSpreadSheet. GLBIULD.PAS Used to build all the units in OOGrid Library(TM) TCHASH.PAS Implementation of the HashTable object TCUTIL.PAS Implementation of several support functions used by TSpreadSheet TCCOMPAR.OBJ Object code used by TCUTIL.PAS Source code example files: EXAMPLES.ZIP Example units using the objects in OOGrid Library(TM) Text files: README.TXT This file. LICENSE.TXT License agreement. MUST READ! NEXTRLSE.TXT Information about future releases of OOGrid Library(TM) MANUAL.TXT Documentation of most of the units in OOGrid Library(TM) REVISION.TXT Changes made to OOGrid Library(TM) and its documentation VENDORS.TXT Information for vendors Utilities PRINTDOC.EXE Use this program to print the documentation PRINTDOC.PAS Source code of the PRINTDOC.EXE program F. REQUIREMENTS Turbo Pascal 6.0 or Borland/Turbo Pascal 7.0 Turbo Vision 1.0 or Turbo Vision 2.0 G. HOW TO USE 'OOGrid Library (TM)' There are several things that you must do before creating the first instance of a TSpreadSheet object in an application: 1- Create a resource file, using the CreateOOGLDialogs and CreateOOGLStrings functions in the GLTVR_US unit. 2- Add new palette entries to the standard application palettes. 3- Assign values to two pointer variables: a) GLResFile, which is a pointer to the resource file containing the dialogs created using the CreateOOGLDialogs function (seeGLTVR_US.PAS). Remember to close and dispose the corresponding resource file before terminating your application. b) GLStringList, which is a pointer to the string list created using the CreateOOGLStrings function (see GLTVR_US.PAS). Remember to dispose the corresponding TStringList object before terminating your application. The source code in DEMOMAKE.PAS and DEMO_GL.PAS shows you how to create the resource file needed by TSpreadSheet, extend the standard application palettes, initialize the GLResFile and GLStringList variables, and how to use a TSpreadSheetWindow and TSpreadSheet object in an application. H. ABOUT THE DOCUMENTATION The file MANUAL.TXT contains the documentation of OOGrid Library(TM). There is a short description of almost every unit in this library, and a description, in alphabetical order, of almost every variable, constant and type declared in those units. Each description has an identifier declaration, the unit in which the identifier is declared, its function, its parameters' description (if any) and important remarks about the identifier (if any). The units GLPARSER.PAS, GLLSTR.PAS, TCHASH.PAS and TCUTIL.PAS are not documented. I. OOGRID DISCUSSION LIST There is a mailing list dedicated to the discussion of OOGrid Library, ideas, problems, suggestions, etc. To subscribe to the list, simple send a message to listserv@fseie.eie.ucr.ac.cr with any subject (the subject will be quoted back to you in the reply) and with the following lines in the body of the message: subscribe OOGrid exit To obtain information about options and commands available, send a message to the address above with the following lines in the body of the message: help exit If you have any problems using the listserver, please contact the postmaster at postmaster@fseie.eie.ucr.ac.cr. J. HOW TO CONTACT THE AUTHOR You can contact the author at any of the addresses listed below: E-MAIL: mongev@fseie.eie.ucr.ac.cr MAIL: Arturo J. Monge SJO 1684; POB 025216 Miami, FL 33102-5216 Sending correspondence via electronic mail is strongly preferred. Please feel free to contact the author at any time to share your comments about this software and/or licensing policies, to ask questions about the use of this library and (please!) to report any bugs you may find. Thanks a lot for your support!