Current WCSDK/WCBASIC Version Information:
Summary Update Information: v6.3 Build 452.9
Summary Update Information: v6.3 Build 452.5
Summary Update Information: v6.2 Build 452.4
NEW: New random number generator
functions were added
Randomize() helps seeds the RND() function. It should be called in the beginning of WCX and only need to be called once. The seed parameter is optional. If no seed is pass, one is created automatically using the current system ticks count.
Randomize() /* Seed Randomizer */
print "random number 1 to 52: "; rnd()*52+1
GetRandom() helps get a random number between two numbers min and max.
Randomize() /* Seed Randomizer */
print "random number 1 to 52: "; GetRandom(1,52)
Randomize() was added because it was missing from the WCBASIC language. It is common command in BASIC. It wasn't necessary to have as the RND() could be used to initialize the seed and random number generator. The following would be the default equivalent to calling Randomize():
3rd party developers may wish to use one or both depending on their target version of Wildcat!
Summary Update Information: v6.1 Build 451.9
NEW: New strlib.wch functions
Function JustExtension(byval fn as string) as string
Function ForceExtension(byval fn as string, byval ext as string) as string.
JustExtension() returns the extension of a file. ForceExtension() changes the extension to the given extension.
NEW: New htmlutil.wch functions:
Function GetWctIndex (byval s as string, found as boolean) as string
Function PrepareURL(byval fn as string, url as string) as boolean
GetWctIndex() is a special function to check for WCT files when given a HTM file. Example. if s is "wc:\http\public\mypage.htm", the function will return wc:\http\public\mypage.wct if and only if the wct file exist.
ParseURL() converts a wc:\http file name format to the proper URL formation, "/" function. It also calls GetWCTIndex(). Example, if fn is "wc:\http\public\mypage.htm", then ParseURL() will return "/public/mypage.htrm" or "/public/mypage.wct" if the WCT file exist.
These functions try to perform the same logic the web server for wcBASIC when it looks for HTM vs WCT file to display and/or process. Rather than checking for both redundantly, the functions allows you to specify just one, the htm file, and a WCT will be used if it is found.
Summary Update Information: v6.1 Build 451.8
run a door.wcc
FIX: Fixed GetParam() and NextParam() functions in HTMLUTIL.WCC library to better handle URL name=value pairs with question marks in the value.
NEW: New TrimEol() function removes leading and training CRLF characters.
NEW: See WCODBC.WCH for new functions and types.
NEW: Added new function odbcClearError(conn) in wcodbc.wch.
FIX: WCRUN.EXE now automatically loads the WCODBC.DLL modules.
A new WCXML.DLL API library was added to help support XML/RSS/ATOM Web Services. New files:
Summary Update Information: v6.1 Build 451.6
NEW: New WCC compiler switch,
This switch allows you to set compiler defines statements to compiler condition WCX compilations. For example, you can have a DEBUG blocks of code, such as:
print "debug mode:"
Previously, in order to compile this block you had to add a #define DEBUG statement above the block.
Now you can do this from the command line or via WCDEV project properties.
wcc program.wcc /d:DEBUG
This allows you to avoid having to add or remove a #define statement.
Comment: In the programming world, this concept is known as PRODUCTION or RELEASE vs DEBUG code. You can have a RELEASE version versus a DEBUG version.
FIX: Fixed a few compiler syntax bugs related to using colons in CASE statements and labels.
FIX: XMODEM direct local file without quotes.
Fixed a bug in function DownloadFile() for handling XMODEM downloads for a direct local file.
In general, DownloadFile() required quotes around the file name. However, it wasn't required for protocols other than XMODEM.
The library PROTUTIL.WCC was fixed to solve this XMODEM direct filename without quotes problem.
NEW: New functions added to STRLIB.WCX library.
RemoveQuotes(s) - return unquoted string
InStrSpan(s,set) - return index of any character in set in s
FirstWord(data) - return first word and the remaining data
NEW: New functions added to HTMLUTIL.WCX library.
NextParam(nv,key,data) - return the next key/data from nv pairs.
FIX: Fixed JustFileName() when passing quoted file names.
FIX: Fixed Download Successful recording of multiple files for XMODEM protocol.
The library PROTUTIL.WCC was fixed to solve this multiple file download XMODEM recording.
NEW: New intrinsic functions were added
to delete extended user fields:
For Current User Session:
DeleteUserProfile(key) - delete a key in the "profile" section
DeleteUserVariable(section,key) - delete a key in the specific section
For Other User Record:
Summary Update Information: v6.1 Build 451.5
NEW: New WCSDK Native API Function:
const char *challenge, // input
TConnectionInfo &ci // output
Given a Wildcat! challenge string, retrieve the client connection information record for the specific client connected to the server.
This could be any client connected to the server, however, it is most useful for find a specific user that is logged on. This is used by the web server to login and start new web session who who originally logged in via WcNavigator.
Note: This functions is not needed in WCX application since active authenticated WCX sessions already has access to session information.
New Sysop and User File Manager HTML WCX
modules added to the default WILDCAT.WCL base image library and the
WCBASIC Plus Pack Source Code add-on product:
Summary Update Information: v6.1 Build 451.4
Added New wcBASIC Function:
Function GetConnectedServer() as String
return the Wildcat! Server computer name.
Updated WINDOWS.WCH with additional Windows API functions
Add New wcBASIC Hook -
xxxPostDownload.wcx will be called when a file has been successfully downloaded. Depending on the type of connection the following WCX will be called:
Similar to the scanfile.wcx concept, where scanfile is called after a successful upload of a file, the postdownload.wcx module (if any) is called after a file in the Files Database has been successfully downloaded by the currently logged in user.
The first parameter is the name of the file and the GlobalFileRecord will contain the current file record downloaded. In addition, the GlobalUserRecord is also set for the current logged in user downloading the file.
Note: GlobalResult has no meaning in PostDownload.wcx. When PostDownload returns, nothing more is done by the calling hosting server.
Well, the original reason for this new hook was based on a customer request to be able to log a file download by a user. However, we envision other usages such as:
- System notifications
- Deleting a personal file once downloaded,
Summary Update Information: v6.0 Build 451.2, 451.3
The new MakeDirectory() wcBASIC function now also works for Wildcat! Path Names as well.
Important documentation note about the
wcBASIC MkDir(), Make Directory command.
As documented in the wcBASIC manual, if the MKDIR() command failed, an exception catch error ERR_PATH is signaled. If your code did not use a CATCH ERR_PATH statement, then the wcBASIC application was aborted. A CATCH ERR_PATH block of code would trap the error so that your application can continue running.
In the current version (actually since 450.9), an catch error is thrown for all MkDir() errors except the "DIRECTORY ALREADY EXIST" (Windows Error 18). For example, a bad directory name passe to mkdir() will produce an ERR_PATH catch exception error which is only detectable by using a CATCH ERR_PATH block of code in your application. Otherwise, the application is aborted.
The key issue with the MkDIR() command is that it is not a function. It does not return an error number or TRUE/FALSE value as a functional version of MkDir() would. This is the reason the new MakeDirectory() function was made available. Use MakeDirectory() as a Boolean function to allow you to detect an error without using catch exception trapping.
Summary Update Information: v6.0 Build 451.1
wcBASIC.ZIP (compiler and headers) and wcBASICPP.ZIP (source code) files respectively.
wcSDK, wcBASIC and wcBASIC Plus Pack packages are also available via new v6.0 CD distributions.
For WCSDK and wcBASIC development, the online help files were converted to Windows DHTML help files (CHM).
A listing of wcBASIC library modules and headers are summarized for easy viewing.
The new IDE environment WCDEV.EXE with project management support is now the official IDE for wcBASIC. While the older WCIDE.EXE utility will be made available for customers who still wish to use it, it is now considered obselete and will no longer be updated unless they is a popular need to do so. The wcDEV utility is essentially 100% the same as wcIDE with the addition of project management support similar to Microsoft's Visual Studio.