FlagShip 7 (Visual FlagShip) for MS-Windows ---------------------------- New main features: - Ports for Linux and MS-Windows, cross-compatible source and data - Main directory is \Program Files\FlagShip7, no interference to VFS6 - True graphic primitives and output in GUI - True graphic printing in GUI via PrintGui() same as screen output - Many new commands, functions and class modules - Fully source-code and data backward compatible to VFS6 and VFS5 incl. .dbf, .dbt, .dbv, .idx (database, indices and variable database fields) - Fully source-code and data backward compatible to FS4.48 except indices which needs to be rebuild - Fully source-code and data backward compatible to Clipper ('87 to 5.3) except indices which needs to be rebuild - Extended Foxbase and FoxPro compatibility (with -fox compiler switch), except indices which needs to be rebuild 7.1.8 08-Jul-2010: Add-on's and fixes compared to version 7.1.7 - PACK fixed - fsman position and fonts fixed 7.1.7 28-Jun-2010: Add-on's and fixes compared to version 7.1.6 - Compiler switch -delc removes also *.tds file - Use compiler switch -exp (slower) for large continuation lines - Adding constant to date for typed local's fixed - Seldom incompatibility to Windows-7 fixed - @..SAY/DRAW IMAGE considers now SET DEVICE TO SCREEN - APPEND FROM reports now RTE on field size overflow - REPLACE reports now RTE also on character field size overflow, see Tuning in CMD.REPLACE for backward compatibility. - Adir() and Directory() reports now correct size when > 2GB - DbEdit() consideres additional pictures - RestScreen() tuning added - WebSendMail() returnToAddress option added (source available) - Dbfidx class: check for SET LARGEFILE and report RTE if > 2GB - Font class: CloneTo() fixed - Terminal i/o: size < 56x15 supported by FSTERM_SMALL=1 - FS2:FileSize() fixed to support files > 2GB - FS2:RenameFile() fixed, equivalent to FileRename() - FS2:Rand() and Random() reworked for better randomize - FS2:ShortName() is new - FS2:Wclose() did sometimes not close subwindow, fixed - Tools: fsi.prg syntax fixed 7.1.6 12-Feb-2010: Add-on's and fixes compared to version 7.1.5 - Setup for personal key fixed - PrintGui(.T.) with SET DEVICE TO PRINT fixed - MessageBox class: TimeOut added in Exec() - PushButton class: Bitmap now behaves according to fsman - Tbrowse class: EnableMouseClick is new - system/tbrowsehand.prg and tbrowsedbhand.prg extended - FS2 SetFdati() fixed 7.1.5 20-Jan-2010: Add-on's and fixes compared to version 7.1.4 - ??, Qqout() with PrintGui(.T.) tuning for fonts by assigning _aGlobSetting[GSET_G_L_PRINTER_SIZE_PREF] := .T. - DbEdit() separators and concatenated fields fixed, source is available - Feof() is new - Inkey() and READ, MemoEdit() in GUI reacts mow on key press instead of key release, for old default set _aGlobSetting[GSET_G_N_KEYEVENT] := 2 - PrintGui() SET MARGIN is considered now - MaxCol() and MaxRow() may by user-set also in Terminal i/o mode - SET EJECT default is now OFF - SET MARGIN with PrintGui(.T.) and proportional fonts uses size of 'M' - Application class: Resize() also in Terminal i/o mode - Font class: LineHeight() fixed - Get class: OnClickAction, OnClickKeys added - Printer class: new methods added, - PushButton class: auto scalling in SetImage() is new - Tbrowse class: Display() added == Show() - system/getsys.prg reworked for OnClickAction, OnClickKeys - system/tbrowsehand.prg and tbrowsedbhand.prg extended for left mouse click - examples/printergui.prg extended - tools/dbu/dbuutil.prg added m-> for unaliased private vars 7.1.4 28-Oct-2009: new VFS7 version New in VFS7: - x:\Program Files\FlagShip7 is now the main directory - x:\Program Files\FlagShip7\etc\FS7config replaces previous config file - #define FlagShip7 is set automatically (via FS7config) - Compiler buffer increased to support large continuation by -exp switch - Source-Code-Debugger has now auto save and restore of current status - ?, ?? SPLIT and PRINTCOLOR clauses, considered by PrintGui() - @..DRAW CIRCLE, ELLIPSE, ARC, PIE, POLYGON, LINE, IMMAGE are new, considered also by PrintGui() - @..TO.. GUICOLOR and PRINTCOLOR clauses, considered by PrintGui() - @..SAY PRINTCOLOR clause, considered by PrintGui() - @..SAY SPLIT clause is new - @..UNIT clause (mm, cm, inch, pixel, rowcol) is new - Achoice() in GUI accepts header/footer, scrollbars - Application class: DesktopXDpi, DesktopYDpi, DesktopXmm, DesktopYmm are new - DbEdit() parameter 16...19 added - DbRelCount() is new - DbRelMulti() is new - Col() accepts UNIT - ErrorLevel() considers pre-defined exit codes - Font class accepts also attributes at instantiation - GetReader() optional parameter 2 and 3 - InfoBox(), ErrBox(), TextBox() parameter 3 (time-out) is new - LastKey() allows to set last key value by 3rd param - MaxCol(), MaxRow() accepts UNIT - Memory() fully reworked for meaningful results - PrintGui() is new for graphical printing same as on screen - QUIT accepts optional return code - Qout6(), Qqout6() are for extended ?,?? commands - READ accepts SELECT and CYCLE clauses - ReadGetPos() and ReadSelect() are new - ReadModal() optional parameter 7 and 8 - Row() accepts UNIT - SET COLOR accepts '?' for auto detected background color - SET COLOR ? for standard background - SET [COORDINATE] UNIT is new - SET GUIPRINT and SET PRINTER GUI are new, similar to PrintGui() - SET FONT BASELINE is new - SET RELATION ... MULTIPLE for 1:n relations - SET(_SET_PRINTCOLOR), SET(_SET_FONTUNDERLINE) are new - StatusMessage() optonal parameter 3 (font) added - StatBarMsg() optional parameter 2 and 3 - Application class: ColorBackground, ColorRgbBackground are new - Application class: DesktopXdpi, DesktopYdpi are new - Application class: DesktopXmm, DesktopYmm are new - Application class: DesktopHeight(), DesktopWidth() are new - Font class: AttribChar() is new, Font{} optional parameter 3 - Printer class: GUIabort(), GUIcol(), GUIcolWidth(), GUIdevOut(), GUIdrawBox(), GUIdrawLine(), GUIexec(), GUIfixPage(), GUImaxCol(), GUImaxRow(), GUInewLine(), GUInewPage(), GUIpageNum, GUIrowHeight(), GUIrow(), GUIsetColor(), GUIsetFont(), GUIsetPos(), GUIstart(), GUItestPage(), GUItextOut() are new - PushButton class: DoNext is new - TbColumn class: DataType, DataSize, DataDeci are new - TbColumn class: ColorBlock() and GuiColorBlock() accepts 3rd array to colorize current row - Tbrowse class: SelectedCol, SelectedRow, SelectedRecno, SelectedValue, SetKey(), SetKeyDef(), UserArray, UserArrayPos and TimeOut are new - Time() extended for mm/dd/yy and 12-hour AM/PM - WAIT displays prompt even with SET CONSOLE OFF, user-tunable - new examples: printergui.prg, setsource.prg, relat_one2n.prg, mysignals.prg, testsignals.prg - tools/calendar.prg is new, similar to Outook's calendar Changes, Fixes, Additions: - Public/Declare array via composed macro fixed - LOCAL var AS DATE ; var++ accepted - ^K (abort) in terminal i/o fixed - Fread(), Fwrite() return value according to docu - Fs_set("printfile",newName) extended - INDEX ON..FOR.. fixed for multiple indices - Tbrowse class: ColPos and InsColumn() fixed - FS2 Wopen(), Wselect(), Wclose() menu refresh tunable - fsman (on-line manual) extended for new commands and functions - system/getsys.prg extended for OnClickAction, OnClickKeys, GetSkip - system/tbrowsehand.prg and tbrowsedbhand.prg considers tb:ApplyKey() - system/foxpro_api.prg and include/stdfoxpro.fh extended - examples/tbrowse_ar.prg extended for colorizing by tc:ColorBlock() FlagShip 6 (Visual FlagShip) for MS-Windows ---------------------------- New main features: - Ports for Linux and MS-Windows, cross-compatible source and data - Support for database and index files greater than 2 GB - Extended GUI features - Fully featured source-code debugger in GUI - SQL and additional database drivers (RDDs) by 3rd parties - Integrated Web functions - Fully source-code and data backward compatible to VFS5 - Fully source-code and data backward compatible to FS4 and Clipper ('87 to 5.3) except indices which needs to be rebuild - Almost source-code and data compatible to Foxbase, FoxPro (with -fox compiler switch), except indices which needs to be rebuild - Many new commands, functions and classes - Manual available in .pdf format as well 6.1.19 6-May-2008: Add-on's and fixes compared to version 6.1.18 - @..GET/READ restores original variable content on failure (getsys.prg) - Alert(), MsgBox() in GUI mode does not pass Enter key back to READ anymore - APPEND FROM...DELIMITED considers now also date type according to SET DATE - GET object: VarPut() allows changing also variable type - SET GUICURSOR ON/OFF enables/disables cursor immediately - WAIT in Terminal i/o with SET CONSOLE OFF behaves now as documented - Tbrowse() in terminal i/o considers now user output within codeblocks - getsys.prg slightly extended - fsmake.prg some small fixes 6.1.18 21-Feb-2008: Add-on's and fixes compared to version 6.1.17 - warning STDIN... from compiler removed - GUI debugger invocation fixed - ComboBox item selection fixed - COPY TO with macro fixed in std.fh - InitIoQuit() or user API-UDF-call on click at [X] window button fixed - MemoEdit() handler for GUI with UDF (system\memoedithand.prg) reworked - USE...INDEX... READONLY fixed - ^K and ^O and fs_set("break"|"debug") in GUI mode fixed - Makefile in tools\dbu match to the used bcc/msvc6 compiler 6.1.17 15-Jan-2008: Add-on's and fixes compared to version 6.1.16 - @..GET..DISABLE fixed in std.fh - @..GET..PUSHBUTTON clauses NOTIFY and FONT are new - @..GET..TBROWSE invocation fixed - Achoice() selection by key press repeats now also from begin - Alert() has now optional time-out - COMMIT, COMMIT ALL have additional tuning switches - COMMIT ALL flushes also exclusive open databases, tunable - COPY FILE accepts *? wildcards - COPY TO performs AutoFlock() and AutoUnlock when SET AUTOLOCK is ON - COPY TO..DELIMITED|SDF new clauses FLDSEP,CHARSEP,LINESEP,WITHMEMO - DbCommit() and DbCommitAll() optional parameter for exclusive dbf - DbEdit() the behavior of TAB and shift-TAB key changed - Directory() output fixed - ErrBox(), InfoBox(), TextBox(), WarnBox() have optional time-out - Fopen() does not create new file anymore, except when specified - FS_SET("prset") array elements 8+9 added - HardCr() checks for chr(141,10) or chr(141) only - MemoEdit() behavior of DEL and BSPACE key in Terminal i/o fixed - MENU TO has now optional time-out - Pushbutton instantiation of codeblock fixed, see fsman description - READ (getsys.prg) K_MOUSEWHEELUP + K_MOUSEWHEELDN, CYCLE added - RestScreen() clears now screen region before restoring - SET ORDER TO optionally reset Found() - Tbrowse added properties Data(), Updated, OnUpdate - WebSendMail() parameter 7 is new - message for ^K break key in Terminal i/o extended - GUI debugger access during RTE fixed - FoxPro compatibility increased in stdfoxpro.fh and foxpro_api.prg - ^K break key in Terminal i/o enabled by fs_set("break",.T.) - ^O debug key in Terminal i/o enabled by fs_set("debug",.T.) - FS2 fs2_com.prg extended for com_rts|cts|dcd|dsr() - FS2 FileCopy() comparison of equivalent files fixed - fsmake = IDE for project build is new in tools/fsmake.prg (yet Beta) 6.1.16 29-Jun-2007: Add-on's and fixes compared to version 6.1.15a - compiler optimization for comparing integer/numeric - @..GET/READ in GUI mode: avoids scrolling, editing decimals - @..GET/READ with SET MULTIBYTE ON reworked for Terminal i/o + getsys.prg - @..PROMPT.. with GUICOLOR clause fixed - Alert(), Infobox() etc. have new left/center/right formatting - Browse() with edit fixed - InfoBox(), ErrBox(), TextBox(), WarnBox() are now in boxfunct.prg - Help() for MemoEdit() is in system/memoedithand.prg = MemoEditHelp() - MemoEdit() with SET MULTIBYTE ON reworked for Terminal i/o - FS2 DirName() and dirchange() extended for drive letter - FS2 Rand() return value fixed to meet manual - FS2 Wopen() optimizing - FS2 WmoveUser() and KsetScroll() extended - include/std.fh some fixes and extensions - system/getsys.prg extended for multibyte handling - system/boxfunct.prg is new - addit.support for CP860,CP862,CP863,CP864,CP865,CP866,CP869 6.1.15a 30-Jan-2007: Add-on's and fixes compared to version 6.1.15 - round() was over-optimized, may sometimes report wrong value, fixed - RESTORE FROM... fixed 6.1.15 24-Jan-2007: Add-on's and fixes compared to version 6.1.14 - @..GET/READ numeric input and PICTURE @K for GUI fixed (getsys.prg) - ACHOICE() hot-keys and unselectable items fixed, addit.tuning avail. - COPY TO .. speed-up - DbCommit() or COMMIT may cause failure in spec.cases, fixed - PAD(), PADR(), PADL() may cause memory leak, fixed - ROUND(-0.1,0) and STR(-0.1,,0) displayed -0 in some OS, fixed - RUN detects now Windows internal commands automatically - system/getsys.prg and achoicehand.prg extended 6.1.14 30-Oct-2006: Add-on's and fixes compared to version 6.1.12 - @..GET/READ and MemoEdit() fixed for SET MULTIBYTE ON - MemoEdit() in Terminal i/o sometimes did not get cursor keys - DbSkip() returns now true on success and false on failure - RddSetDefault() and DbSetDefault() fixed for other RDDs - GetEnvArr() and GetEnvArray() are now equivalent - getsys.prg added #define MOUSE_HOME* (for former behavior: disable both) 6.1.12 9-Aug-2006: Add-on's and fixes compared to version 6.1.10 - VFS/BCC32 port allows now up to 2000 open files per application, same as the VFS/MSVC6 port - @..GET LISTBOX GUICOLOR clause added - @..GET LISTBOX mouse handling reworked, mouse wheel suppoort - @..GET CHECKBOX mouse handling reworked - @..GET RADIOGROUP mouse handling reworked - @..GET -> MdiOpen() -> MdiClose() restores cursor now - @..PROMPT/MENU TO supports left/mid/right mouse button and wheel - COPY FILE file1 TO file2 sets now file2 attrib to read/write - Font attributes apply for currently used font - Inkey() in GUI considers mouse wheel up/down (incl. shift/ctrl/alt) - Inkey(n) in terminal i/o: new algorithm for exact timing - KEYBOARD [,] is new - PUBLIC/PRIVATE/DECLARE ¯oArr[len] (array by macro) fixed - Sleep() and SleepMs() w/o parameter fixed - Tbrowse() supports wheel in default handler - getsys.prg, listboxhand.prg, tbrowse*hand.prg changed/extended 6.1.10 23-May-2006: Add-on's and fixes compared to version 6.1.6 - COMMIT and USE (CLOSE) with SET ORDER TO 0 caused error, fixed - COPY FILE..TO.. has set read-only attribute (BCC32 only), fixed - ACCEPT and BackSpace in GUI mode fixed - @..GET..PICTURE avoiding RTE 317 - @..GET..LISTBOX USING obj considers now also GET coordinates - @..GET/READ in GUI mode with SET GUICOLORS ON fixed - @..PROMPT/MENU TO fixed for SET INTENSITY and unknown key - Directory() w/o parameter fixed - Fcreate() does not raise RTE on error but reports -1 - KEYBOARD fixed to avoid buffer overflow - Listbox{} accepts double mouse click - MemoEdit() and F1 in GUI mode considers user's UDF if any - SET TYPEAHEAD default size increased from 80 to 10000 - Tbrowse:Axit() fixed - oAppWindows:NotifyAll, param2 and 3 added - FS2:TriggerUdf() and KeySec() in Terminal i/o mode fixed - FS6config new LIBDIR macro and $(LIBDIR) place holder - FS6config new $(OBJ) place holder - tools/make3 is new 6.1.6 25-Nov-2005: Add-on's and fixes compared to version 6.1.5 - Port for Borland BCC32 compiler available - Code page in MS-Windows port automatically considered when TERM=CP or the code page is set (see terminfo\FSkeymap.cp*) - CurDir() has now compatibility switch to Cliper - DbSetIndex() accepts now any number of parameters - CLEAR MENU is new - InkeyStatus() for MS-Windows extended - NetErr() reports .T. also if one of multiple SET INDEX failed - SaveScreen() with FS_SET("devel",.T.) fixed - SET OPENERROR OFF flag considered - ofont:Dialog() better selection for current font - tbrowse:stabilize() and PgUp/Down displays now waiting cursor and has modifiable [^][v] scrollbar buttons behavior (GUI only) - _oPrompt:ItemCount is new - terminfo\FSkeymap.cp437,850,852,858 are new - examples\Makefile and several new source files 6.1.5 13-Oct-2005: Add-on's and fixes compared to version 6.1.4a - enabled support for large files > 2GB - @..GET.. VALID {|| ..} supports now codeblocks as well, when #define CODEBLOCK_IN_VALID is enabled in ...\include\std.fh - REPLACE with UNIQUE index fixed - SET AUTOCOMMIT is now disabled by default, therefore SELECT and UNLOCK have no speed disadvantages anymore - SET EOFAPPEND is new - SET LARGEFILE is new - SAVE TO/RESTORE FROM with set fs_set("memcompat") fixed - TYPE TO fixed for CR/LF - Tbrowse:ColAdjust ACC/ASS is new - Tbrowse:ColSepEof ACC/ASS is new - Get:Home2char and Get:End2char are new - FSerror.prg has error logging, enabled by FSERRORLOG=1|2|filename - user defined C main() supported - FS2:Week() is now in fs2_udfs.prg and considers ISO8601 - FS2:WeekSetIso() is new - fsman is available also in PDF format. Select \manual and open fsman.html in your browser. - The -fox compiler switch considers FoxPro dot aliases - foxpro_api.prg extended for FoxPro's set() function and ?,?? clauses 6.1.4a 30-May-2005: Add-on's and fixes compared to version 6.1.4 - fix: @..GET ... LISTBOX may caused RTE - fix: CLOSE fixed - add: TempFileName() for MS-Windows returns more sinfull names - add: sys(3) with -fox switch behaves same as FoxPro (foxpro_api.prg) - fix: SELECT(0|1) with -fox switch behaves now as FoxPro - fix: @..SAY with -fox switch fixed in stdfoxpro.fh - add: DevOutPict() w/o picture param behaves now same as DevOut() - add: SaveScreen() and RestScreen() parameter check with Devel.Warning 6.1.4 04-May-2005: Add-on's and fixes compared to version 6.1.3 - add: Aeval() second parameter in code block param list - new: AfillAll() similar to Afill() but for any array type - fix: CLOSE may caused RTE in some occurences - add: dbfidx.fh extended for some access properties - fix: already closed database yet used by SET RELATION will not raise RTE - fix: EJECT checks now for device availability - add: GetFunction() considers now also positive values - fix: InkeyTrap() considers now also SET FUNCTION - new: InkeyStatus() is new - fix: MemoEdit() in GUI did not recognize SET KEY and SET FUNCTION - fix: @..Get/READ did not consider LOCAL array elements - add: @..SAY "abcd" with SET HTML ON sometimes truncates last char; if so, set _aGlobSetting[GSET_G_L_ADD_SP_HTML] := .T. - fix: @..SAY/GET and Transform() with inserted PICTURE char, and @E fixed - fix: REPORT EDIT did run in endless loop (source available) - fix: REPORT FORM behaves now same as FS4.48 - new: RUN WAIT/NOWAIT clause is new - new: Set(_SET_INSERT_INKEY) is new - new: Set(_SET_MEMOEDITWARN) is new - add: Set(_SET_WARN_IGNORE) is now considered also in Terminal i/o - add: _DisplArr*(), _DisplObj*() extended - fix: _oPrinter:SetupAborted was incorrectly always .F. - add: initio.prg extended for additional settings - add: initiomenu.prg extended InitIoFont() API - add: memoedithand.prg reworked, backward compatibility switch available - add: oGet:Display() optional parameter added - add: stdfoxpro.fh for -fox switch extended - add: FS2 Diskname() extended for MS-Windows port - fix: FS2 Wopen() and SaveScreen() has now additional parameter check - add: fsman additional options, see fsman -help 6.1.3 05-Jan-2005: Add-on's and fixes compared to version 6.1.2 - fix: compiler warning at assigning typed var as fixed - add: @..SAY chr(0) is now supported for printer - fix: GET/READ :home() and :delete() behavior for numeric vars - new: GET/READ copy-and-paste available for GUI - add: INDEX ON (key) - i.e. parenthesized key - added in std.fh - fix: SET CURSOR OFF in Terminal i/o may result in wrong output - add: SetKey() w/o parameters ignored now - fix: MemoEdit() in Terminal i/o did not refresh cursor - new: MemoEdit() copy-and-paste available for GUI - fix: Achoice() and ListBox() sometimes did not set select() - fix: Tbrowse:PageUp() and :PageDown() behavior in Terminal i/o - fix: PACK sometimes incorrectly modified database created by Clipper - new: user modifiable window refresh after drawing lines - new: examples for make and different codepages - fix: dbu utility fixed for speed - new: FS2 com*() functions available in fs2_com.prg - fix: FS2 wselect() w/o wopen() raised error - new: distribute.bat for copy re-distributable files to customer - add: cb4rdd package extended for CB6.54 6.1.2 11-Oct-2004: Add-on's and fixes compared to previous release: - common source code, databases + indices and locking for Unix, Linux and MS-Windows, fully backward compatible to FS5.x and FS4.x - new locking algorithm suggested mainly for Windows and files > 2gb and Unix/Linux compatibility to Windows. Auto backward compatible to previous locking scheme. Controlled by SET(_SET_LOCK_MODE) - CLS, CLEAR SCREEN, @..CLEAR [TO].. in GUI mode automatically sets background color from SET COLOR same as in Terminal i/o, when SET GUICOLOR is ON - oAppWindow:Resize() in GUI extended to consider status bar - COMMIT, DbCommit() flushes the buffer more precisely in Windows now - SKIP -n on UNIQUE index fixed - fs_set("prset") has now pre-defined CR+LF for Windows, LF for Unix - Get:Home(), get:End() moves to first/behind last character in buffer, SET KEY/help procedure params fixed in getsys.prg - Get:Insert() considers/set TypeOut flag - @..GET PICTURE new B template, A,N fixed, addit.check for funct.part - Inkey(), @..GET tranlation of accents improved, Inkey() has optional 4th parameter to control it - LastKey() extended for clearing lastkey buffer - MemoEdit() in GUI extended to support national chars same as GET - SET SOURCE significantly extended for your convenience - SET(_SET_PRINTASCII) is active for Terminal i/o too - SET DEFAULT, SET PATH improved for proper Windows support - Tbrowse:GuiColorSpec and TbColumn:GuiColorBlock extended - FoxPro API: function fox_sys() added in fox_api.prg - fsman extended to consider new additions 6.1.1 21-May-2004: Add-on's and fixes compared to previous release: - \examples\images.prg added - VB and VC field types fixed 6.1.1 18-May-2004: Add-on's and fixes compared to previous release: - FlagShip compiler: significant speed increase, buffer for string constants reduced to 2kb = MS-VC6++ limit - PACK may raise RTE, fixed - Printer class and printer.prg example reworked - support for JPEG bitmaps added 6.1.1 12-May-2004: Add-on's and fixes compared to previous release: - FlagShip: -f and -delc and -nodelobj and -nodelc and -outdel switches added. Intermediate files are deleted silently except when -outdel and -v is given. Clean warning message when the execution was aborted in preprocessor or compiler or CL. - FlagShip preprocessor and compiler: size of accepted commands (incl. continuation lines) exceeded to 8kb = approx. 100 lines ea. Note: MS-VC6++ has limit of 2kb only, see also fsman LNG.2.7 - #define's in *.fh files can also be used in .c sources - GUI source debugger fixed to accept commands via preprocessor - Inkey() internationalization extended in FSguikey.* and FSkeymap.* and FSchrmap.* files in \terminfo - WAIT considers SET CONSOLE OFF also in GUI mode - FlagShip_Dir() function is new - fsman section LNG.9.6 and 9.7 (porting step-by-step) added 6.1.1 24-Apr-2004: Add-on's and fixes compared to previous release: - unresolved externals in FS2 Toolbox for drand() fixed - FS2 NtoC() documented - dbu*.prg sources reformated - \examples\umlauts.prg, pc8lines.prg and getvalid.prg - \tools\dbu\*.prg fixed for PC8 characters 6.1.1 15-Apr-2004: Add-on's and fixes compared to previous release: - memoedit() focus in GUI mode fixed - SAVE TO ALL LIKE ... fixed for regex search - RUN ("\path with spaces\myexe") included spaces enabled - unresolved externals in FS2 Toolbox fixed - FS6config macros extended 6.1.1 31-Mar-2004: Add-on's compared to Linux version 5.1.4: - common source code, databases + indices for Unix, Linux and MS-Windows, source fully backward compatible to FS5.x and FS4.x - new: optional, extended .dbf structure, containing also variable and auto-compressed character and binary/blob fields, see the DbCreate() function for details - add: DbCreate(), Type(), Valtype() considers the extended database structure for unlimited, variable/compressed character and binary/blob fields - add: @..BOX can draw sunken, raised or plain GUI boxes - add: @..SAY and ? accepts also RichText and have additional clauses - new: @..SAY IMAGE to display graphic images - add: PICTURE template mask in @..GET the was extended for 'B' - add: @..GET/READ handles now cut & paste in GUI and Terminal i/o - add: @..PROMPT/MENU TO accepts '&' and '\>' for hotkeys, nested PROMPTs are supported to any level, and have additional clauses. The handler behaves now similarly to Achoice() - add: WAIT also has optional clauses for cursor shape etc. - new: SET GOTOP controls movements via GOTOP at dbf or index open - new: SET GUICURSOR changes cursor setting and shape - new: SET HTMLTEXT allows embedded richtext in ?, ??, @..SAY - new: SET NFS for optimizing of remote mounted drives - new: SET ROWADAPT, SET ROWALIGN controls alignments of large fonts - new: ColVisible() and RowVisible() are new - new: ConsoleSize() is new - new: DispImageFile() and DispImageData() are new, see @..SAY IMAGE - new: Doserror2str() and Ferror2str() for clear text messages - fix: FieldLen(n) corresponds now to DbStruct(n,[3]) - new: IsDbMultipleOpen() added - add: LastKey() has addit. parameters to clear buffer - add: MessageBox() supports additional icons - new: OpenConsole() mainly for MS-Windows compatibility is new - new: ProcessEvents() is new for convenience - new: RowAdapt() and RowVisible() are new - new: SetGuiCursor() is similar to SET GUICURSOR - add: StrLen2pix() accepts/consider also RichText - add: Strtran() supports now zero bytes for source and replacement - new: Tbrowse() GuiGrid ACC/ASS properties are new - add: extended i/o handlers for achoice, tbrowse, get etc. are available in source code in .../system directory - add: _aGlobSetting[...] in initio.prg extended for addit.constants - add: automatic conversion from IntVar to NumVar at int overflow - add: extended FoxPro support, available in the stdfoxpro.fh and foxpro_api.prg sources. - add: GUI debugger accepts cut-and-paste - fix: all known (almost minor) problems of FS5.1.4 fixed FlagShip 5 (Visual FlagShip) additions and changes compared to FS4 and Clipper ---------------------------- Main features: - Ports for different Linux and Unix brands, cross-compatible source and data - Four different i/o modes: hybrid, GUI, Textual and Basic - Fully source-code and data backward compatible to FS4 and Clipper ('87 to 5.3) except indices which needs to be rebuild - Almost source-code and data compatible to Foxbase, FoxPro (with -fox compiler switch), except indices which needs to be rebuild - Many new commands, functions and class modules Language: - Additional declaration of PROTECT PUBLIC and CONSTANT types. See details in section CMD - Screen variables are not compatible between Terminal and GUI mode. See more in LNG.2.9 and FUN.SaveScreen() New compiler switches: -io=a|b|g|t compile for hybrid/basic/GUI/terminal i/o mode -iso translates strings in .prg from ISO -> PC8 in preprocessor -fxp handles FoxPro array compatibility -fox same as -fxp, uses additionally stdfox.fh preprocessor file -dyn forces dynamic linking, see /etc/FSconfig -stat forces static linking, see /etc/FSconfig -help displays all available switches Library: - Automatic printer output, see LNG.5.1.6, CMD.SET PRINTER and OBJ.12 - #debug_off and #debug_on directives, disables/enables debugger - ?# and ??# and ??## commands are new - @ r,c [PIXEL|NOPIXEL] = clear the rest of line - @ r,c [GUI|TERM] BOX [string] [PIXEL|NOPIXEL] ... = draw a box - @ r,c CLEAR [TO...] [PIXEL|NOPIXEL] = clear screen partition - @ r1,c1 TO r2,c2 [DOUBLE] draws always in Term mode, in GUI only if SET GUITRANSL LINES is ON - @... DRAW [TO] ... is new - @... GET many additional clauses - @... GET CHECKBOX is new - @... GET COMBOBOX is new - @... GET LISTBOX is new - @... GET PUSHBUTTON is new - @... GET RADIOBUTTON is new - @... GET RADIOGROUP is new - @... GET TBROWSE is new - @... PROMPT many additional clauses - @... TO... additional clauses - Achoice() additional optional parameters - AelemType() is new - Alert() optional parameters 4..6 are new - AllTrim() accepts now string and numeric values - Ansi2oem() is new - Application class is new - AppObject() is new - AppIoMode() is new - At() optional 3rd parameter is new - AtAnyChar() is new - Between() is new - BinAND(), BinOR(), BinXOR() are new - BinLShift() and BinRShift() are new - Browse() extended, source code is available. - Chr2screen() is applicable for terminal i/o only - CheckBox class is new - Col() optional parameter added - Col2Pixel() is new - Color class is new - ColorPair class is new - Color2Rgb() is new - ColorSelect() is new - ComboBox{} class is new - CONSTANT is new - crc32() is new - Dataserver, DbServer, DbfIdx classes: index structures changed - dbedit() fix for user defined skip blocks, see tBrowse - dbfInfo() is new - DECLARE with -foxpro: accepts now also the FoxPro's syntax arr(..) - Default() is new - DevPos() optional parametre 3 - DIMENSION is new, for FoxPro compatibility - Dimension class is new - DispBox() optional parameters 7 and 8 - ErrorBox class is new - FiedPut() otional parameter 3 is new - FindExeFile() is new - Font class is new - Fs2Foxkey() is new - FS_SET("intel") is new - Get class heavy extended - GetNew() optional parameter 7 - Get:Col() new, same as acc/ass COL but can consider pixel - Get:Destroy() new - Get:Row() new, same as acc/ass ROW but can consider pixel - GetAlign() is new - GetEnvArr() is new - GetFunction() is new - GuiDrawLine() is new - Hex2num() is new - InfoBox class is new - INDEX ON... new index structure, 3-10 times faster, but creates incompatible indices to FS4.48 - IndexFilter() is new - InfoBox() is new - Inkey() optional parameter 2 and 3 are new - InkeyFox() is new - InkeyTrap() is new - Inkey2str() is new - Inkey2read() is new - InStdChar() is new - InStdString() is new - Int() considers integer overflow, if so returns numeric w/o decimals - IsGuiMode() is new - IsObjClass() optional parameter 2 - IsObjEquiv() is new - LastKey() optional parameter 2 - ListBox class is new - Ltrim() accepts now string and numeric values - MacroEval() is new - MacroSubst() is new - Max() more than 2 params are accepted now - MaxCol(), MaxRow() optional parameter - Mcol(), Mrow() are new - MemoEdit() optional parameter 14 to 16 - MenuItem class is new - MenuModal() is new - MessageBox class is new - Min() more than 2 params are accepted now - MinMax() is new - Mouse class is new - Mrow() is new - NextKey() optional parameter 1 and 2 - Num2hex() is new - Oem2ansi() is new - ON ERROR is new - ON ESCAPE is new - ON KEY is new - ON KEY LABEL is new - ON KEY CLEAR is new - OnKey() is new - OnKeyLabel() is new - OutStd() is new - Parameters() is new - Param() is new - Pcount() fixed for class method - Pixel2Col(), Pixel2Row(iPix) are new - Point class is new - Popup class is new - POP KEY [ALL] is new - Prompt class is new - PushButton class is new - PUSH KEY [CLEAR] is new - PrintStatus() is new - ProcStack() is new - Proper() is new - PROTECT PUBLIC is new - RadioButton class is new - RadioGroup class is new - READ many additional clauses - ReadModal() optional parameters 2 to 5 - Rectangle class is new - RestScreen() optional parameter 6 - RGB() is new - RGB2colorStr() is new - RGB2num() is new - RGBarr() is new - Row() optional parameter - Row2Pixel() is new - RTrim() accepts now string and numeric values - SaveScreen() optional parameter 5 - ScrDos2unix() is applicable for terminal i/o only - ScrUnix2dos() is applicable for terminal i/o only - Screen2chr() is applicable for terminal i/o only - Scroll() optional parameter 7 - Seconds() returns numeric instead of integer now - SEEK and DbSeek() with SET ANSI ON and SET DBREAD ANSI extended - SET ANSI, SetAnsi() are new - SET CHARSET|KEYTRANSL is new - SET DBREAD/DBWRITE are new - SET EVENTMASK is new - SET FONT is new - SET GUIALIGN is new - SET GUICOLORS is new - SET GUICURSOR enable/disable text cursor in GUI mode - SET GUITRANSL TEXT/BOX/LINES are new - SET HTMLTEXT is new - SET INPUT is new - SET NFS is new - SET PIXEL is new - SET RELATION extended for numeric expression - SET SCRCOMPRESS is new - SET ZEROBYTEOUT is new - Set(_SET_LASTKEYBUFFSIZE) is new - Set(_SET_NOINPUTCHAR) is new - Set(_SET_READAHEAD) is new - Set(_SET_UNIQUE_IGNORE) is new - Set(_SET_WARN_IGNORE) is new - Set(_SET_ZEROBYTEOUT) is new - SetColor() optional parameter - SetCursor() optional parameter - SetGuiCursor() is new - SetPos() optional parameter 3 - SetVarEmpty() is new - Size class is new - SleepMs() is new - StatBarMsg() is new - StatBarUser() is new - StatusBar class is new - StatusMessage() is new - STORE TO with -foxpro switch accepts FoxPro behavior of arrays - Strlen2col() is new - Strlen2pix() is new - StrLen2Space() is new - TbColumn class: many additional properties - TBrowse class:skipblock and tb:pageup() and tb:pagedown() fixed - TBrowseArr() new, uses predefined code blocks, in source code - TBrowseDb() new, uses predefined code blocks, in source code - TbMouse() is new - TextBox class is new - Time() optional parameter - TopBar class is new - Type() optional parameter 2 - Val() accepts also exponential values - ValType() optional parameter 2 - WAIT optional POPUP and TIMEOUT clause - WarningBox class is new - _DisplArr(), _DisplArrStd(), _DisplArrErr() are new - _DisplObj(), _DisplObjStd(), _DisplObjErr() are new Executable, new Command-Line Flags: -io=g|t|b overrides i/o mode detected at run-time.