welcome to...

Jeff Luther's OpenText Gupta Team Developer
Information and TD Samples Code Page

If you are looking for information and code samples for Team Developer
(and Gupta's original SQLWindows and Centura TD product), you have come to the right place.
For my contact information, go to the bottom of this page.

(Note that these web pages are in no way associated with Gupta Technologies.
I am keeping this information and code samples available as my way of assisting TD coders everywhere.)

*** March 1st, 2017: OpenText/Gupta's Support Forum is now read-only. But...

Dave Rabelink has begun a new Team Developer Forum for ALL USERS:  tdforum.daverabelink.net


Click on these links below for:
  Online Remote Development Tools

talkto.guptaworld.com Newsgroup Archive

  History of Gupta Technologies & SQLWindows Utilities from PC Design
  Articles and Information Gupta & Other Utilities
  Information about UNICODE Team Developer Code Samples

Products I Have Used for Remote Work

In working remotely on several Team Developer projects as an independent consultatn, I have used several online products that have greatly assisted in my consulting, training and coding effort. While this information may be of value to you, and I am providing it to you with that in mind, I recommend you read my DISCLAIMER notice below.

And to clarify terminology, the company I helped is the 'server' (i.e., remote) side; my own PC here in my office is the 'client' (i.e., local) side.
What it does:

A free (calling Skype-to-Skype) service for making telephone calls directly through your internet connection to other Skype users! Their motto: "The whole world can talk for free." Additional info. on what the product can do is available on their Windows-version download page: Download Skype

How it works: Once you have downloaded their software, set up a couple parameters, connected a headset to your computer and tried out their test call to the UK to make sure you can hear and speak ok, you simply use their system tray icon to call anyone using Skype on your contact list. Features also include online chat mode and video calling (with a webcam), transferring files, and for a fee you can also choose conference calling, voicemail, calling to a land-line (very inexpensively priced for unlimited U.S./Canada calling), receiving a land-line phone call, call forwarding, & SMS messaging.

The online phone call multiplexes on your 'net connection, so sharing PCs via a net meeting, browsing the internet, etc. can all be done at the same time. I would guess that you need a fast (DSL, broadband, etc.) internet connection. (And Skype verifies that by saying: "broadband is best".)

My comments: It's amazing and I'm still waiting to find out what the 'catch' is. (There isn't one that I can see.) And all I needed to buy was a headset (speakers and microphone) that could connect to a USB v2.0 port. And have someone online to talk with. Skype took care of the rest! If you have or get Skype, you can add me to your contact list and contact me using my email address as my ID.
In working remotely on several Team Developer projects as an independent consultant, I have used several online products that have greatly assisted in my consulting, training and coding effort. While this information may be of value to you, and I am providing it to you with that in mind, I recommend you read my DISCLAIMER notice below.

And to clarify terminology, the company I helped is the 'server' (i.e., remote) side; my own PC here in my office is the 'client' (i.e., local) side.
What it does:

Allows a free (when used for  NON-commercial purposes only) remote access link to or from your PC to another PC, aka "Remote Desktop Sharing." What appears is a sizeable window on the client side (the user 'sharing' his or her PC) representing the entire screen of the server side (the 'viewer' or 'controller') PC, accessed by the client-side user using the keyboard and mouse.

  The person wishing to be the Viewer (of my PC) sent me an email with a link to a small piece of software available for download on TeamViewer's site. I downloaded it, ran it and the utility generated and displayed a unique 9-digit PIN number. It also allowed me to specify the Viewer's level of control of my PC:
* View & control my PC using the mouse
* Download  files

The Sharer I am connected to via Skype or phone line, tells the Vierwer the PIN #. The Viewer then used that PIN with his side of the TeamViewer software to establish the connection. You can always right-click on the Zolved taskbar icon anytime you want or need to disconnect.

TeamViewer's window allows you to define your PC as either the Sharer  (the left-hand side of the window's "Allow Remote Control" side) or the Viewer (the right-hand "Control Remote Computer") side. TeamViewer calls the 'other' PC the Partner.

My comments: It's a very good, easy to set up, solution for taking control of or viewing another PC over the internet. TeamViewer is what I use (for non-commercial usage only!) when I want to occasionally help a friend or family member with his or her PC issue(s).

Downside: My very personal opinion is that the causal user of TeamViewer benefits in that this fine product is 'free,' but for commercial or business use TeamViewer's current fee of  US$749 (as of January, 2015) is just too expensive (in my view) for even a part-time commercial user.
I would imagine they are having to 'police' the casual user's usage frequency too strictly. If they lowered the price to a couple hundred dollars, I would be quite likely to support and sign up to pay for what is otherwise a very good product.



Click on this icon Get Adobe's Acrobat Reader... to obtain a free copy of Adobe's Acrobat Reader

Team Developer Articles (PDF), Links, Utils. & Code Samples (ZIP)

History of Gupta Technologies & SQLWindows: I am providing these reprints and sales literature in the interest of the early history of SQLWindows and Gupta Technologies, Inc. All materials are copyrighted by their respective copyright holders.
Microsoft® Systems Journal article about SQLWindows v1 - May, 1988
(Note: SQLWindows v1.0 - a "Developers' Release" - shipped September, 1988)
MSJ May, 1988
SQLWindows v1 Technical Summary - July, 1988 Tech Summary July, 1988
DBMS Magazine article interviewing Umang Gupta - February, 1990 DBMS February, 1990
Gupta Corporation 6-page Marketing Sheet for SQLWindows v4 - 1993 Marketing Literature 1993
Snapshot of Gupta's 16-bit version of SQLWindows™ - as of 1995 SQLWindows v5.0.4 PTF5


Articles & Information:
Gupta™ Pro Technical Newsletters: ran from 1996 to 2000
This was originally called
GuptaPro and was later changed to CenturaPro
Tech. Newsletter Archives
Book: "Using SQLWindows and Centura" shown as available on Amazon and on eBay as of 03/2017 - The copyright for this book is 1996, so I would consider this an Introdutroy book only, specific for early versions of Gupta's SQLWindows + early Centura Team Developer only.

However, if you are new to (now called) Team Developer and are looking for a basic introduction  to the fundamentals of this product, this book may meet your needs. And be sure to click on the Gupta Documentation link below for current PDF version of the product books.
Amazon SQLwindows/Centura Book

eBay SQLWindows/Centure Book
UNICODE INFORMATION - background information from Unify, Unicode.org, Microsoft's Dev. Network site, etc.
1. Unify Team Dev. v5.1 white paper: TDv5.1 Unicode Paper in PDF format
2. Overview web page about TD v5.2 and later TDs Strings
3. TD Unicode Code Samples below
4. Unicode web site:  www.unicode.org
5. MSDN's Unicode Reference Web Site
SQLBase Recovery article by Mike Vandine SQLBase Recovery
SQLBase Backup & Recovery article - an older article from the late 1990s SQLBase Backup & Recovery
SQLBase "Performance Toolkit" - a series of DOC, PPT and Team Developer samples from Gupta/Centura and other 3rd parties on such topics as: Backup & Recovery, Tuning & Performance, SQLBase FAQs & Issues, and other such topics. Some info. is dated, but still may be valuable to you. (file size: 1.1meg)

Note: Information and samples are provided on an "as is", "no warranties" basis.

SQLBase Perform. Toolkit
SQLBase FAQs from SQLDirect SQLBase FAQs from SQLDirect
MSDN - Microsoft Developers' Network Library MSDN Library
MSDN - Windows API Functions in alphabetical order MSDN Functions
ENTERPRISE TIMES© article on Gupta LLC - November 11, 2005
Revived, restored and raring to go!"
Enterprise Times© 2005-11-11.PDF
OLD Gupta Developers' Community newsgroup - newsgroup.guptaworldwide.com
OLDer Gupta Developers' Community newsgroup - talkto.guptaworldwide.com
This newsgroup should still contain messages and attachments from 09/2000 - 04/2005.
Web Links:
03/2017 - OLD Gupta Technologies Home Page. Now part of Open Text  
Open Text  Gupta Home Page Open Text Gupta Tools
03/2017 - Open Text  Gupta Support Home Page -- NOW only available with a support contract. See Dave Rabelink's TD Forum as of ** MARCH, 2017 Read-Only Gupta Support Forum
Gupta Documentation - Team Dev., ReportBuilder & SQLBase Gupta Documentation
03/2017 - Open Text  Gupta Product Downloads -- NOW only available with a support contract.  
** MARCH, 2017: Dave Rabelink's Gupta Team Developer Open Forum   tdforum.daverabelink.net
Dave Rabelink's Gupta Team Developer WIKI - Team Developer Tips & Tricks
Microsoft Windows SysInternals Tools home page - RECOMMENDED!! Microsoft Sysinternals Tools


TD Utilities - What's New for 03/2008:
-- Some code cleanup and now both utilities can be launched with a right mouse click on a TD file in File Explorer.

-- TD-Analyzer can now read in a Unify TD v5.1/Unicode file, though it first converts to TD v4.2, then analyzes.

-- TD-Converter will now convert back starting from Unify TD v5.1/Unicode --> TD v4.2 and earlier.

-- TD v4.2 version only now being released. If you do not have v4.2, download the Team Developer v4.2 minimum deployment files zip shown below and unzip in the same directory as the utility.

NOTE: BE SURE TO READ the TERMS OF USE below and the DISCLAIMER in the About box for each utility.

** TD-ANALYZER.EXE v1.0.E (03/2008): PC Design's SW/TD application code analyzer utility
(Click on Help/Overview... for details.)

This utility came about as the start of the solution to analyzing and displaying the details of an application that might be corrupted and unreadable directly by TD.

  Version for Team Developer2005.2/v4.2.

If you need v4.2 runtime DLLs, download TDv42-deploy.zip
Click for TD-Analyzer
** TD-CONVERTER.EXE v2.0.D (05/2010): PC Design's SW/TD version and binary --> text convert utility - now converts Gupta TD v5.2 back to TD v4.2 and earlier.
(Click on
Help/Overview... for details. And if you are missing any CBCVTxxx.exe files from Gupta, see below.)

Now TD-Converter converts back to CTD v1.1, but I do not have a copy of that version of CTD so if you find a problem after the conversion, read the file into v1.1 (keep clicking 'Ok' in the warning msg.), then save the file out using v1.1, zip it and email it to me. I will fix the convert error and email you a corrected utility. Thanks!

This utility came about as a workaround to analyzing an application using the CDK and the CDK's InitFromFile() function converting all include files to your current version of the CDK.
  Version for TD v4.2 but converts back from TD v5.2

If you need v4.2 runtime DLLs, download TDv42-deploy.zip
Click for TD-Converter
Team Developer v4.2 minimum deployment files. If you do not have v4.2 installed and want to use these TD utilities, download and unzip the v4.2 deployment files where you saved the utility. (file size: 2.9meg) TDv42-deploy.zip

Other Utilities

From Centura/Gupta (now Unify) Corp:

 CBCVTxxx.EXE Conversion Files (310, 402-426, 502)  (file size: 2.3m) gupta_cbcvt.zip
 CVT2APT utility - Team Developer v4.0 text version of source code released by Gupta. gupta_cvt2apt.zip

(If you don't have TD v4 for the Cvt2Apt utility, use TD-Converter above to back-convert to your version.)


From Other Sites:

M!Table from MICSTO in Germany - useful Table Window & Imaging routines M!Table Home Page
Window SPY Utility Winspector Download Page
Code Samples + Useful Routines - saved in text version, TD v1.5, unless otherwise noted. I have also tested these samples work with TD v5.1 SP2 -- the most recent version as of 04/2008 -- and if the sample does work, I note this with "OK with TDv5.1". If it does not, I note that it does not or provide a zip of a modified version that will work with v5.1.
ANALOG & DIGITAL CLOCKS - demo of both types. Special thanks to Thomas Lauzi for his original analog clocks demonstration. OK with TDv5.2 (01/2010) AnalogDigitalClocks.zip
ATL CONTAINER Sample - demo of using Microsoft's Active Template Library (ATL) for COM objects. Original sample by Christian Astor. This sample shows how an ATL container can display a DOC, HTML, PDF or TXT object. OK with TDv5.2 (01/2010) ATL_Container.zip
BINARY READ/WRITE Sample - demo of using  SqlSetLongBindDatatype() to insert and fetch a long/binary file to and from SQLBase. REQUIRES TDv5.1 (10/2008) TDv51-binaryTest-SetLong.zip
CDK TUTORIAL - demo of analyzing/parsing major code sections of a TD application.  Includes a text file, showing the mapping between the appl. outline sections and the corresponding CDK class and function.  05/2017: Also shows how to display comments in Paremeters & other section items at runtime. Use older version in ZIP for CTD v1.5 to TD v4.2.
OK with TDv5.2 (05/2017)
CNUI - George Panov's CNUI.DLL routines in all CTD and TD versions from v1.1 --> v7.0. Originally from www.SQLWindows.RU, though it appears George is no longer supporting that site. ZIP includes his BMPs, the APL and list of functions. Modify the DLL declaration for your version of TD. OK with TDv5.2 (05/2017) CNUI-AllVersions.zip
COM - for Team Developer v2.1 (or 2.0?) and later. (COM not available in CTD v1) A "how-to" demo, describing the steps to creating a simple COM server application and generating its output (DLL & APL) files, and how to access that COM server from a COM client app.
NOT TESTED WITH TDv5.1 (12/2007)
COMPRESS/DECOMPRESS STRINGS - Demo of calling compress() and decompress() functions in a public domain library called ZLIB.DLL. OK with TDv5.2 (01/2010) ZLIB_Demo.zip
* Samples 1 & 2 require CryptoSys API, a DLL of cryptographic routines available from http://www.cryptosys.net/
and DI Management's Cryptography code page: http://www.cryptosys.net/api.html.
More information is available in each sample's description. 12/2007 - Samples tested using v4.0
1. CRC-32 checksum, and MD5, SHA-1 & SHA-256 hash - calculations' demo. on a string or a file. This sample requires CryptoSys API. OK with TDv5.2 (01/2010) CRC-MD5-SHA-Demo.zip
2. Encrypt/Decrypt - demo using the DATA ENCRYPTION STANDARD (DES) block cipher method. This sample requires CryptoSys API. OK with TDv5.2 (01/2010) Crypto-Demo.zip
3. Base64 Encoding/Decoding - demo of converting 8-bit bytes to 6-bit characters. Could be used with other cryptographic samples. OK with TDv5.2 (01/2010) Base64Encoding-Demo.zip
4. Encryption & Decryption - demo. Converted to TD from C. Does not use CryptoSys API. OK with TDv5.2 (01/2010) Encrypt-Decrypt.zip
5. RIPEMD-160 (supports from CTD v1.5 --> TD v6.1) demo using a Team Developer APD implementation of the one-time RIPEMD160 message hash. Sample description has more details with several links for more information on RIPEMD.
OK with TDv6.1
CSV - demos writing a CSV file from SQL data. Hard-coded SQL and dynamically-built SQL queries are shown. OK with TDv5.2 (01/2010) CSV-writing_table_data.zip
EM_GETSEL & EM_SETSEL - demo of text Retrieval/Selection & positioning the cursor in a field using these Windows SDK Messages. OK with TDv5.2 (01/2010) Emgetsetsel.zip
EVENT LOGGING - demo. of writing debug log entries to the Window Event log for TD users with < TD v4.0. View with the Event Viewer. OK with TDv5.2 (01/2010) WinEventLogging.zip
GENERATE RANDOM PASSWORDS example. OK with TDv5.2 Now supports upper- (A-Z) and lowercase (a-z) chars and allows you to save the list of password to a file. (09/2015) genPassword.zip
JULIAN DATE <--> CALENDAR DATE CONVERSIONS example. OK with TDv5.2 (01/2010) Date2Julian2Date.zip
MEMORY USAGE/LEAKAGE test with calls to SqlImmediate(). OK with TDv5.2 (01/2010) test-SqlImmediateCalls.zip
MENU MANIPULATIONS - using Window's SDK functions and messages. Also uses the CDK to find out if the form has Accessories Enabled = Yes.
MENU MANIPULATIONS v5.x - Requires TDv5.1 or later and demo using Window's SDK functions and messages and new SalMenuUpdate() call.
Works for either Accessories Enabled = Yes or  No without using the CDK to find out.
SEE ABOVE FOR < v5.x VERSION (01/2010)
PDF DOCUMENT DISPLAYER: After being removed because of an Adobe ActiveX error in the APL, this demo. is once again working, thanks to Dave Rabelink and Jean-Marc!

The demo displays an Adobe Acrobat PDF document in a TD form window.  Since the APL is patched (info. in the zip) I have separate dirs. and version for CTD v1.5 to TD v5.1
OK with TDv5.x

REGEXP - sample shows how to do 'regular expression' pattern matching in TD.
NOTE: Be sure to see the change comments if running >= CTD v2.1.
             Also, if running TDv5.2 use the ZIP sample: RegExp-JLDemo-usesVBScript55.app

OK with TDv5.2 (01/2015)
1. ReportBuilder - Page X of Y demo. adding a "Page X of Y" to your report. OK with TDv5.1 (12/2007) ReportPageXofY.zip
2. ReportBuilder - User-Defined Preview Window sample. OK with TDv5.1  (12/2007) RptUserDefPreview.zip
3. ReportBuilder - How to list fonts/sizes in a QRP sample. OK with TDv5.2.
Sample uploaded to Gupta Forum thread: QRP File Information  ( (05/2015)
List QRP Fonts&Sizes .zip
TD-RBS - Retrieve Build Target & Version Settings - uses a TD Dynalib (.APD) to read in and parse out any pre-defined + custom build settings for CTD v2.1 and later EXE files. (CTD v1.x did not support build settings.) Demos include the APD, sample demo + sample APP/EXE with settings.
1. TD-RBS Demo for CTD v2.1 (03/2008) TD-RBS-v21.zip
- TD-RBS Demo for TD v3.0 (03/2008) TD-RBS-v30.zip
- TD-RBS Demo for TD v4.0 (03/2008) TD-RBS-v40.zip
- TD-RBS Demo for TD v4.1/v4.2 NOT WORKING FOR TDv5.1 (03/2008) TD-RBS-v42.zip
2. TD-RBS-RetrieveSettings v4.1/4.2 - this full source code version uses the CDK to parse the build info. for a TD v4.x APP/APT/EXE, but has some limitations. See the appl. description for details. OK with TDv5.1 (12/2007) TD-RBS-RtrvSettings-v42.zip
SOUNDEX ALGORITHM sample shows how to implement this using TD. OK with TDv5.2 (12/2010) Soundex32-bit.zip
SqlGet/SetParameterAll() Constants - APL of constants from SQLBASE.H OK with TDv5.1 (04/2008) SqlGetSetParameterConstants.zip
TABLE WINDOW - Binary Search in a table window column. OK with TDv5.1 (12/2007) TWsearch.zip
TABLE WINDOW - 2 Column Sorting example. OK with TDv5.2 (12/2010) TWsortBy2Columns.zip
UNICODE SAMPLES - Demos and more information about ANSI & Unicode strings.
OK with TDv5.2
- Writing ANSI & Unicode formatted files with TD v5.2 & later - samples in TD v5.1/v5.2 (07/2015) Writing ANSI & Unicode.zip
- Writing a Unicode-formatted file before TD v5.1/v5.2 - sample in CTD v1.5 (07/2015) Writing Unicode before v5.1.zip
- Unicode Overview web page  
URL - demo of adding a URL link to your form or dialog. OK with TDv5.2 (03/2010) URL-LinkSample.zip
1A XML Demo-v15 - for Team Developer v1.5. How to write XML, XSL & HTML files prior to TD v4's SAL support for XML. (12/2007) XML-Demo-v15.zip
1B XML Demo-v21 or later - for Team Developer v2.1 (or 2.0?) and later. Includes XML-v15 functionality above, but since TD v2.1 and later support the COM Proxy Class, this demo includes creating an HTML + XSL (HTML/eXtended Stylesheet Language) file.
NOT TESTED WITH TDv5.1 (12/2007)
SALExtension v2.07 - lots of useful additions to the SAL language from Thomas Lauzi and many others. For TD v5.1, 5.2, 6.0 & 6.1. Includes WINAPI32.zip v1.5 below. (03/2012) SALExtensionW-v207-TD51-61.zip
SALExtension v2.04 - earlier NON-Unicode version of SALExtension. For TD v1.5 - v4.2. (05/2006) SALExtension-v204.zip
WINAPI32 v1.5 - Windowstm declarations from Jörg Ellinghaus (05/2006) WINAPI32.zip
TERMS OF USE - I hope you find these software utilities, information and code samples useful! However, all materials and information on this web page are provided on an 'AS IS' basis without warranty of any kind, either expressly or implied, including, but not limited to, the implied warranties of fitness for a particular purpose. In no event, shall Jeffrey Luther/PC Design be liable for any damages whatsoever including special, indirect or consequential damages, arising out of or in connection with the use or performance of these utilities and samples, or any software derived from these samples. Your downloading and use of these materials means you fully understand and agree with this Terms of Use. For more information on this issue, see GNU's General Public License for details: www.gnu.org/licenses/gpl.html

Web Pages Copyright © 1997-2015 Jeffrey Luther/PC Design.

Click to send me email...

 mailing and phone information
Jeff Luther,  P.O. Box 4336,  Palm Springs, California 92263  U.S.A.
fax: +1 (888) 389-5667

Last update 05/2017