Resource Development Associates

Database Resources

Here you will find links to Corel Paradox® related and general database documents, code samples, freeware and shareware.

While RDA maintains this site we make no claim that we have verified or tested any of the available materials other than our own. Articles are generic or focused on all versions of Paradox for Windows unless otherwise noted. All inquires related to anything found here should be directed to the authors.

Database Related Documents

Documents here are available for download. They are organized by Author and listed by Title in the order which the author submitted them. These documents can range from discussions of general database issues to specific examples of how to provide various functions and features in Paradox or other data related applications. They may contain code samples in text but do not contain any actual paradox objects. They are either in PDF format (pdf), or plain ascii text (txt).

Santoro, Dennis:

  • Data Normalization:A Primer. (40K)
    This document lays out the basics of normalizing organizational data for building databases. The rules of normalization are presented and a sample contact management system is taken from unstructured through each normal form from first to fifth. Current version from 16 October, 2002
  • Data Base Basics: Getting Started in Paradox (25K)
    This paper describes some general database development issues and some specific basic do's and don't for getting started developing databases in Paradox. This is a work in progress and topic suggestions and other feedback are welcome. Keep an eye out for revisions. Current version from 15 January, 2002
  • Hammering Screws or Designing Databases (13K)
    This is an opinion piece on the need for proper use of tools and proper database designs. It may be useful in thinking about design and also possibly helpful in justifying design time to management.
  • Change Partners: A Technology Dance (15K)
    This document discusses what happens when an organization develops new technology standards. How these standards often are, and how they should be, applied to existing systems and new development are presented including questions which should be asked and answered in this process. The responsibilities of proponents of change and of stake holders in existing systems are also discussed. If you have recently heard the statement "your system no longer conforms to our standards" or "we have decided the organization will switch to [product name here] software" this paper is a must read.
  • Containership on Forms (380K)
    This document describes issues relating to placing fields on forms with and without record containers such as multi record objects. It includes graphics showing how such containers can be embedded in each other and discusses when and why you would want to do this.
  • Apache and Apache-SSL Proxy Setup to Paradox Web Server OCX for Internet Enabled Databases. (15K)
    Paradox makes a wonderful web server for database oriented web sites. You can harness the power of the Object PAL language with your web site through the Web Server OCX included with Paradox. Tony McGuire's "Paradox Web Server" article describes how to use the OCX. This is a how to article which describes how to use Paradox as a database back end proxy from Apache web server or, if you need Secure Socket Layers (SSL), from Apache-ssl to add further functionality and security to your site. Current version from 11 December, 2000

McGuire, Tony:

  • Paradox Web Server. (55K)
    This is a how to article and Q & A on using Paradox as a web server to provide web sites with database capabilities. It contains a step by step process for how to accomplish this. This is currently in draft form and suggestions and feedback are welcome. Keep an eye out for revisions. Current version from 7 November, 2000

McGuire, Liz:

  • Connecting Paradox to ODBC. (9K)
    This is a how to article on using Paradox to connect to and access a variety of ODBC database sources. It specifically addresses connecting to MS Access tables but also covers differences connecting to other sources.

Code Samples

Included here for download are samples of code which have been submitted. They are organized by Author and listed by Title in the order which the author submitted them. These samples show methods of solving common Paradox related problems and how to provide various functions and features. These documents do contain Paradox objects. They are all available here in compressed format and may contain multiple components.

Santoro, Dennis:

  • VCR Record Navigation Control. (4K)
    This document is a zip file which contains a paradox form which contains a VCR style record navigation control which you can copy and paste into your own forms.
  • Widgets (6K)
    This document is a zip file which contains a paradox form with a set of controls which you can copy and paste into your forms. These include a cut, copy and paste control, Edit toggle button with swapping Begin Edit and End Edit label, search and search next buttons and next page and previous page buttons. Updated on 3 October, 2000
  • Trap X: RDA's Action trapper (40K)
    This document is a zip file which contains a paradox form trapx.fsl and a table, constant.db and its associated files. You can drop objects and code into this form and run it to see the action Constant NAMES which are triggered rather than the ID integers. You can also use the table and code, which you can copy and paste into your own forms to get the same effect. This makes determining event model behavior and which constants to trap for and or use much simpler than getting the constants and then enuming them.
  • Basic Password Dialog (4K)
    This document is a zip file which contains a paradox form rdapwdlg.fsl. This is a basic password dialog form which demonstrates substitution of * for keystrokes, backspace deletion of single characters, delete key deletion of the whole password line etc. It is expected you may have to modify the OK and Cancel buttons and manage the way you return the password itself but it will easily for the basis for password handling. If you need more sophisticated password handling you may wish to check out our Security Guard product. Updated on 10 October, 2001
  • Time Calculation Demo (4K)
    This document is a zip file containing a form and a table. The form uses calculated fields to convert datetime values to Hours, Minutes, Seconds and Milliseconds. The formulas are accessible so you can see how this is done.
  • Application Sizing and Titling Demo (4K)
    This document is a zip file containing a form. The Code in this form demonstrates: 1. how to use explicit sizing code to size your Application's desktop on the windows desktop, 2. how to use an application variable to title your application desktop and its button on the start bar 3. how to use a form to specify its own location folder and add an alias to that folder on startup 4. how to attach a form variable to a form

Caple, Steve:

  • Custom Lookup Dialog Form (47K)
    This document is a zip file which contains forms, tables and instructions which can be used to demonstrate custom lookup dialogs and to incorporate custom lookup into your applications. It also includes a short list lookup using a popup menu. Updated on 16 March, 2009
  • Filter Demonstration (21K)
    This form demonstrates a technique to remind users that a filter has been set on the table they are using. Play the script "FilterDemoStart" to establish a project alias FILTERDEMO before opening the form. To use this technique, copy the button FilterCheckBtn and associated text object FilterTxt to your form. Most of the code is in events and custom methods on the FilterCheckBtn object. You do need to add two pieces of code at form level: a constant kFilterObj, set to the name of the uiObject the filter check applies to, and a dynArray variable dyGenFilter.
  • List Demo Form (9K)
    This document is a zip file which contains a small form that demonstrates filling lists from a table and changing the contents of one list based on the selection from another list. It uses tCursors and setRange and list item assignment within a scan loop. Updated on 24 May, 2004
  • Progress Dialog (7K)
    This document is a zip file which contains a Paradox form "ProgDlg.fsl" and a Paradox script "ProgDlgExample.ssl" that demonstrates calling the dialog form. Open the script in design mode and substitute your table for assignment to the variable stTbl. Once the form is opened, you can use the form handle inside a tCursor scan loop, a while loop, or other iterative process, calling the form method ShowPct(nPct number), passing it a numeric value <= 1.00. ShowPct adjusts the size of a colored bar (a box object) to that portion of its full range.

Cronk, Paul:

  • Twain Support in Paradox (52K)
    This document is a zip file which contains a PDF document describing Twain and using twain in Paradox. Also included are 3 Paradox forms, "SelectSourceDlg.fsl," "PictureSaver.fsl" and "AddPicture.fsl" a Paradox script "PictureSaverStartup.ssl" and a table, "Pictuers.db" that demonstrate using Twain in Paradox. Start with the document which also includes the instructions for the forms and script. Updated 15 February, 2002.

Evans, Martin:

  • Table Compare Utility (10K)
    This document is a zip file which contains a readme file and a form, compare.fsl. This form will compare 2 tables identical in structure and indexing, but not identical in contents. It ignores graphic, binary, formatted memo fields and any field names you type as a comma separated list into the Ignore field on the form. Tables must have a primary index. Presently hard-coded for 5 keys max, easily extended. The use of FileBrowserEx() procedure restricts this form to later versions of Paradox. However, switching to the older FileBrowser() procedure will make this work in older versions.

Haines, Randy:

  • File Uploading Via HTTP with Apache, ActivePerl, and Corel Web Server OCX (11K)
    This document is a zip file which contains 4 attachments:, SmplForm.htm, UpLoad.cgi and FileUpld.rtf. FileUpld.rtf contains all the instructions. The other 3 files are required for setup. The file uploading solution described in this document is intended to enhance the capabilities of Paradox and Corel Web Server OCX, which, as of version 9 does not support file uploading. The use of shareware programs Apache Web Server and ActivePerl, allow file uploading to be achieved with minimal or no additional cost.

Kolar, Ivica:

  • Locked Tableframe columns demo (38K)
    A fully working example with Custom Horizontal Scroll bar with lock columns feature, switching a tableframe to an arbitrary arrangement of columns, rearranging columns using drag and drop etc. Documentation is also included in the form by placing it in design mode and right object exploring the aLib text object.

Krieg, Tom:

  • Printing from Dot Matrix Printers (12K)
    This document is a zip file which contains an undelivered Paradox library (lsl) with the code needed to print a report from a table to a dot matrix printer. Also included is a text file documenting how to use the library. You can modify the code to meet your specific needs.

McGuire, Liz:

  • Custom Locate Value dialog (17K)
    This document is a zip file which contains a form a library and instructions which provide a custom locate value dialog to replace the built in dialogs invoked by Ctrl+Z and Ctrl+A. Use of this dialog and corresponding code gives the developer more control over searches performed by the user.
  • Show Users (8K)
    This zip file includes a form which shows the number of users currently in the .NET file. Click on the number to display the user names alphabetically. Also includes instructions and a batch file to run the shareware WHOHAS (not included) program for Novell networks to resolve the problem of certain versions of Client32 occasionally reporting a blank user name (this shows which user the blank really is).
  • Playfair Square Encryption/Decryption Toy (18K)
    This zip file includes a form and tables which will encrypt and decrypt text using the rules of the Playfair Square. The code was used early in World War II. Rules for the code and an example are in the included text file. This form is strictly for fun, however, the encryption/decryption routine may be of some interest (if not use).
  • Calendar Maker (27K)
    The enclosed form, table and reports generate printable calendars - large (2 months/page), medium (6 months/page) or small (2 years/page, formatted like on the back of most personal check registers found in the US). You cannot add additional text or formatting to specific days
  • Type Ahead Demo (15K)
    This zip file includes typea.fsl which is a form which demonstrates various ways of using 'type ahead' code. It demonstrates searching for values in a tableframe using an unbound field to type in search criteria, searching a field in a tableframe (whose table is read-only in the data model) by typing in the field you're searching and populating a field in a new record by searching the same field in the same table for values which start the same as what's been typed thus far.
  • Reorder Keyed Records Demo (18K)
    This zip file includes reorder.fsl contains code which allows one to re-order records in a table without requiring the key value to be changed. This may be useful if records need to be in some order not defined in a logical fashion (such as copied from a paper document).

Millsaps, Gene:

  • Twip to Other Units Calculator (17K)
    This document is a zip file which contains the form TwipCalc.fsl, which performs conversions of dimensions for Paradox objects. When the user enters a dimension in inches, twips or centimeters, the form displays the related equivalent values in the other units. The document contains the form, associated table, and setup notes. Updated on 20, May, 2001

O'Griofa, Padraig:

  • Various Tools (41K)
    This zip file contains FILESTAMP.FSL - Changes the datestamp on file(s), MOVEOBJECT.FSL - Allows runtime users to modify object positions on FSL form, EDITMTHD.FSL - Allows runtime users to edit OPAL code in a FSL form, EDITRPT.FSL - Allows runtime users to edit the text labels in a RSL report, EDIT_TBL.FSL, _TBLVIEW.FSL - Allows runtime users to edit tables. These tools are undocumented and provided as is. Read the included txt file for conditions of use.

Straus, Harald:

  • Paradox Twain (108K)
    This zip file contains a code sample for OPAL (Paradox 7-9) with Twain support using the EZTWAIN.DLL (Freeware for personal use from DOSADI A copy of EZTw32.dll must be in the Windows system directory and a TWAIN scanner (or camera etc.) must be installed. The functionality depends on the Twain version you use.

Wendover, Carolyn:

  • Table Compare Utitlity (16K)
    This document is a zip file which contains a form a script and a report. When the script is run it creates a private table used by the form and report.

Zevenaar, Peter:

  • Generic Custom Dialog Demo (17K)
    This zip file includes a custom dialog form for different kinds of user input for different data types, called CmView. Along with its 4 methods it offers more efficient programmatic control over user's input then Paradox's built-in view( ) method and prevents you from having to make many custom dialog input forms yourself. CmView allows you to pass and return the following data types: Date, Datetime, Time, Small Integer, Long Integer, Number, and String. It works in Paradox versions 7 to 10. Updated on 22, August, 2002

Resource Links

Listed in this section are links to resource sites. They may include freeware, white papers and other database related resources.

  • Diamond Software Group, Inc. This site includes various freeware and documents related to Paradox. It is run by Steve Green who is also a Corel C-tech.
  • Paradox Community Site This site includes tips, articles, hosts the Paradox Newsgroups and more.
  • Hutton, Pascal This site includes tips and freeware demonstrating what it is possible to do with Paradox and Win32 API. It includes a DLL, built with Delphi for copying directories using the API. These tools are designed to make Paradox more powerful and have access to API calls that require structures or arrays.
  • Isberg, Bertil This site includes various freeware and documents. Although much of it is in Swedish some is in English and some is useful regardless. Rebld32 is a utility for automated table repair. Code is also an example on how to use tutil32.dll and tuwwr.dll. Other documents include a regularly updated bug list.
  • Menkin, Vladimir Various Freeware including Proview which is a project viewer replacement, a calendar tool and more.


High Road logo