PowerBASIC Home     Shop Online     Products     Forums     Support     Downloads


We put the Power in Basic!

Get your free email newsletter!
Purchase PowerBASIC products direct and save!
Register today to qualify for upgrades and special offers!
Find what you need!
Got questions? This is the place to look
Check out our support forums!
Tech Notes
More great PowerBASIC sites!
Talk to us! Let us know what you think
Do you have a new address?  Please let us know
Source code and other files you can download
Third-Party Vendor Add-ons for all PowerBASIC Products



PowerBASIC, Inc.
2100 Tamiami Trail S.
Venice, FL 34293 USA

sales@powerbasic.com
support@powerbasic.com

(800) 780-7707 Toll Free Sales
(941) 408-8700 Sales
(941) 408-8700 Support
(941) 408-8820 Fax

Privacy Statement

Labelled with Internet Content Rating Association

Copyright © 2003-2005 PowerBASIC, Inc.
All Rights Reserved.

PowerBASIC Year 2000 Compliance

NOTICE

The information on these pages is provided for informational purposes only and is subject to change without notice. It is provided "as is" and without any warranty. Any risk arising out of the use of the information on these pages shall remain with the reader. In no event shall PowerBASIC, Inc. be liable for any direct, consequential, incidental, special, punitive or other damages whatsoever (including, without limitation, damages for loss of business profits, business interruption or loss of business information), arising out of or in connection with the availability or use of the information contained in these pages, even if PowerBASIC, Inc. has been advised of the possibilities of such damages.

Description

For many computer and software systems, the year 2000 will bring a host of problems related to software programs that record the year using only the last two digits. This document describes the Year 2000 compliance issues with the PowerBASIC product line.

Year 2000 and the BASIC programming language

The BASIC programming language, as defined by PowerBASIC, currently only supports one date related keyword, DATE$. The DATE$ system variable allows a program to retrieve the system current date or change the system date. The system date is the value kept by your computer's hardware.

Using the syntax:

A$ = DATE$

a program can retrieve the current system date. The date is always returned using a 4-digit century, such as "01-01-2000".

Using the syntax:

DATE$ = "01-01-2000"

a program can change the system date. Most BASIC dialects, including PowerBASIC, also allow a two digit date to be used when changing the system date. When used in this fashion, most BASIC's assume the century 1900. This is the only potential Y2K non-compliance in the PowerBASIC language.

Turbo Basic, PowerBASIC 2.x and PowerBASIC 3.0/3.1/3.2 will all assume the century 1900 when using a two digit year to change the system date. In most operating systems such as all versions of DOS and Windows 95/98 a run-time error will occur, causing the program to stop operating. In Windows NT, however, the system date will actually change to dates prior to 1980.

There is no patch available to fix this in early versions of Turbo/PowerBASIC or in applications created by Turbo/PowerBASIC. The only fix is to re-compile your application in PowerBASIC 3.5 for DOS or later. PowerBASIC 3.5 for DOS does not have this problem. All two digit dates less than 80 are assumed to be the 2000 century.

All versions of the PowerBASIC DLL Compiler for Windows are Y2K compliant and assume all two digit dates less than 80 are the 2000 century.

The PowerBASIC Console Compiler for Windows is Y2K compliant and assumes that all two digit dates less than 80 are the 2000 century.





For additional information on Year 2000 issues, visit the following web site: U.S. President's Council on the Year 2000 (reassuringly, as of July 2002, this web site is "in the process of being finalized").