home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-12-18 | 29.7 KB | 1,091 lines |
- ****************************************************************************
- *
- * STD.UDC
- *
- * CA-Visual Objects Standard UDCs
- *
- * Copyright (C) 1991, 1992, 1993 Computer Associates
- *
- *
- * COMMENTS:
- *
- * - UDC_STD.NEF is required for #error/#warn facility
- *
- * - Sequence is important, e.g. DELETED has to follow DELETE in the
- * UDC file, otherwise DELETE is assumed to be a shortform of DELETED
- * same with READ , READONLY
- *
- ****************************************************************************
-
-
- NOTE <*x*> =>
-
- ASSERT <exp> => #ifdef _assert;; ;
- if !(<exp>) ;; ;
- MessageBox(0, String2psz(<$exp$>), ;
- String2psz("Failed in " + RTrim(__ENTITY)+ ", " +NTRIM(__LINE)), 48);; ;
- endif;; #endif
-
- SET PROCLINE ON => ~"PROCLINE+"
- SET PROCLINE OFF => ~"PROCLINE-"
-
- SET PROCNAME ON => ~"PROCNAME+"
- SET PROCNAME OFF => ~"PROCNAME-"
-
- ***
- * Basic statement synonyms
- *
-
- STORE <value> TO <var1> [, <varN> ] => <var1> := [ <varN> := ] <value>
-
- DEFAULT <var1> TO <value1> [, <varN> TO <valueN>] => ;
- DEFAULT(@<var1>, <value1>);
- [;; DEFAULT(@<varN>, <valueN>)]
-
- ***
- * Compatibility
- *
- SET PROCEDURE TO => #warn 54001, "SET PROCEDURE TO"
- SET PROCEDURE TO <f> =>#error 54011, <$f$>
-
- SET EXACT OFF => #warn 54001, "SET EXACT"
- SET EXACT <*x*> => #error 54010
-
- ANNOUNCE <prc1> [, <prcN>] => #warn 54001, "ANNOUNCE"
-
- REQUEST <prc1> [, <prcN>] => IIF(.F.,.F.,NIL) ;
- [;; IIF(.F., .F., NIL)]
-
- EXTERNAL <prc1> [, <prcN>] => IIF(.F.,<%prc1%>(),NIL) ;
- [;; IIF(.F.,<%prcN%>(),NIL)]
-
- INIT PROCEDURE <*x*> =>#error 54012
-
- ***
- * DOS file commands
- *
-
- ERASE </file/> => FERASE(<(file)>)
- DELETE FILE </file/> => FERASE(<(file)>)
- RENAME </oldFile/> TO </newFile/> => FRENAME(<(oldFile)>, <(newFile)>)
-
-
- DIR => DIR()
- DIR (<exp1> [,<exp2>]) => DIR(<exp1> [,<exp2>])
- DIR <*x*> => DIR(<$x$>)
-
- ***
- * Process
- *
-
- CANCEL => _QUIT()
- QUIT => _QUIT()
-
- RUN (<c>) => _RUN(<c>)
- RUN = <xpr> => (run := <xpr>)
- RUN := <xpr> => (run := <xpr>)
- RUN <*cmd*> => _RUN(<#cmd#>)
-
-
-
- ***
- * System SETs
- *
-
- SET PATH TO => SETPATH("")
- SET PATH TO <*pathlist*>=> SETPATH(<#pathlist#>) // use ",", not ";"
-
- SET DEFAULT TO </path/>=> SETDEFAULT(<(path)>)
- SET DEFAULT TO => SETDEFAULT("")
-
- SET DECIMALS TO <x> => SETDECIMAL(<x>)
- SET DECIMALS TO => SETDECIMAL(0)
-
- SET DIGITS TO <x> => SETDIGIT(<x>)
- SET DIGITS TO => SETDIGIT(10)
-
- SET FIXED ON => SETFIXED(.T.)
- SET FIXED OFF => SETFIXED(.F.)
- SET FIXED <x> => SETFIXED(_OnOff(<x>))
-
- SET DIGITFIXED ON => SETDIGITFIXED (.T.)
- SET DIGITFIXED OFF => SETDIGITFIXED (.F.)
- SET DIGITFIXED <x> => SETDIGITFIXED (_OnOff(<x>))
-
- SET UNIQUE ON => SETUNIQUE(.T.)
- SET UNIQUE OFF => SETUNIQUE(.F.)
- SET UNIQUE <x> => SETUNIQUE(_OnOff(<x>))
-
- SET SOFTSEEK ON => SETSOFTSEEK(.T.)
- SET SOFTSEEK OFF => SETSOFTSEEK(.F.)
- SET SOFTSEEK <x> => SETSOFTSEEK(_OnOff(<x>))
-
- SET DELETED ON => SETDELETED(.T.)
- SET DELETED OFF => SETDELETED(.F.)
-
- SET DELETED <x> => SETDELETED(_OnOff(<x>))
-
- SET EXCLUSIVE ON => SETEXCLUSIVE(.T.)
- SET EXCLUSIVE OFF => SETEXCLUSIVE(.F.)
- SET EXCLUSIVE <x> => SETEXCLUSIVE(_OnOff(<x>))
-
- SET ANSI ON => SETANSI(.T.)
- SET ANSI OFF => SETANSI(.F.)
- SET ANSI <x> => SETANSI(_OnOff(<x>))
-
- SET YIELD ON => SETYIELD(.T.)
- SET YIELD OFF => SETYIELD(.F.)
- SET YIELD <x> => SETYIELD(_OnOff(<x>))
-
-
- ***
- * New RDD settings
- *
-
- SET OPTIMIZE ON => RDDInfo(_SET_OPTIMIZE, .T.)
- SET OPTIMIZE OFF => RDDInfo(_SET_OPTIMIZE, .F.)
- SET OPTIMIZE <x> => RDDInfo( _SET_OPTIMIZE, _OnOff(<x>) )
-
-
- SET MEMOBLOCKSIZE TO <x> => RDDInfo(_SET_MEMOBLOCKSIZE, <x>)
- SET MEMOBLOCKSIZE TO => RDDInfo(_SET_MEMOBLOCKSIZE, 512)
-
- SET DEFAULTRDD TO <x> => RDDInfo(_SET_DEFAULTRDD, <x>)
- SET DEFAULTRDD TO => RDDInfo(_SET_DEFAULTRDD, "DBFNTX")
-
- SET MEMOEXT TO <x> => RDDInfo(_SET_MEMOEXT, <x>)
- SET MEMOEXT TO => RDDInfo(_SET_MEMOEXT, ".DBT")
-
- SET AUTOORDER TO <x> => RDDInfo(_SET_AUTOORDER, <x>)
- SET AUTOORDER TO => RDDInfo(_SET_AUTOORDER, 0)
-
- SET AUTOOPEN ON => RDDInfo(_SET_AUTOOPEN, .T.)
- SET AUTOOPEN OFF => RDDInfo(_SET_AUTOOPEN, .F.)
- SET AUTOOPEN <x> => RDDInfo(_SET_AUTOOPEN, _OnOff(<x>) )
-
- SET HPLOCKING ON => RDDInfo(_SET_HPLOCKING, .T.)
- SET HPLOCKING OFF => RDDInfo(_SET_HPLOCKING, .F.)
- SET HPLOCKING <x> => RDDInfo(_SET_HPLOCKING, _OnOff(<x>) )
-
- SET NEWINDEXLOCK ON => RDDInfo(_SET_NEWINDEXLOCK, .T.)
- SET NEWINDEXLOCK OFF => RDDInfo(_SET_NEWINDEXLOCK, .F.)
- SET NEWINDEXLOCK <x> => RDDInfo( _SET_NEWINDEXLOCK, _OnOff(<x>) )
-
- SET AUTOSHARE ON => RDDInfo(_SET_AUTOSHARE, .T.)
- SET AUTOSHARE OFF => RDDInfo(_SET_AUTOSHARE, .F.)
- SET AUTOSHARE <x> => RDDInfo(_SET_AUTOSHARE, _OnOff(<x>) )
-
- SET STRICTREAD ON => RDDInfo(_SET_STRICTREAD, .T.)
- SET STRICTREAD OFF => RDDInfo(_SET_STRICTREAD, .F.)
- SET STRICTREAD <x> => RDDInfo(_SET_STRICTREAD, _OnOff(<x>) )
-
- SET CONVERSION ON => RDDInfo(_SET_CONVERSION, .T.)
- SET CONVERSION OFF => RDDInfo(_SET_CONVERSION, .F.)
- SET CONVERSION <x> => RDDInfo( _SET_CONVERSION, _OnOff(<x>) )
-
-
- ***
- * Date format SETs
- *
-
- SET CENTURY ON => SETCENTURY(.T.)
- SET CENTURY OFF => SETCENTURY(.F.)
-
- SET CENTURY <x> => SETCENTURY(_OnOff(<x>))
-
- SET EPOCH TO <year> => SETEPOCH(<year>)
- SET EPOCH TO => SETEPOCH(1900)
-
- SET DATE [TO] <country> => SETDATECOUNTRY(<country>)
-
- SET DATE FORMAT [TO] <c> => SETDATEFORMAT(<c>)
-
-
-
- ***
- * New SETs for international stuff
- *
-
- SET INTERNATIONAL TO <id> => SetInternational(#<id>)
-
- SET COLLATION TO <id> => SetCollation(#<id>)
-
-
-
- ***
- * MEMVAR variables
- *
-
- CLEAR MEMORY => #ifincl terminal ;; ;
- _MCLEAR() ;; ;
- _initTermPublics() ;; ;
- #else ;; ;
- _MCLEAR() ;; ;
- #endif
-
- RELEASE ALL => #ifincl terminal ;; ;
- _MRELEASE("*", .t.) ;; ;
- _initTermPublics() ;; ;
- #else ;; ;
- _MRELEASE("*", .t.) ;; ;
- #endif
-
- RELEASE ALL LIKE <*skel*> => _MRELEASE(<skel>, .t.)
- RELEASE ALL EXCEPT <*skel*> => _MRELEASE(<skel>, .f.)
- RELEASE <var1> [, <varN> ] => _MXRELEASE(#<var1> [, #<varN> ])
-
- SAVE ALL LIKE <skel> TO </file/> ;
- => _MSave(<(file)>, <(skel)>, .t.)
-
- SAVE TO </file/> ALL LIKE <*skel*> ;
- => _MSave(<(file)>, <(skel)>, .t.)
-
- SAVE ALL EXCEPT <skel> TO </file/> ;
- => _MSave(<(file)>, <(skel)>, .f.)
-
- SAVE TO </file/> ALL EXCEPT <*skel*> ;
- => _MSave(<(file)>, <(skel)>, .f.)
-
- SAVE [TO </file/>] [ALL] ;
- => _MSave(<(file)>, "*", .t.)
-
-
- ***
- * Terminal UDC
-
-
- CLEAR ALL => DBCloseAll();; ;
- __SetFormat(NIL);; ;
- SetAltFile("");; ;
- SetAlternate(.f.);; ;
- _MClear() ;; ;
- _initTermPublics()
-
- CLOSE FORMAT => __SetFormat(NIL)
-
- CLOSE ALTERNATE => SetAltFile("");; SetAlternate(.f.)
-
- TYPE </file/> => TYPEFILE(<(file)>)
-
- TYPE </file/> TO PRINTER => TYPEFILE(<(file)>);; ;
- COPYFILE(<(file)> , "PRN")
-
- TYPE </file/> TO FILE </dest/> => TYPEFILE(<(file)>);; ;
- COPYFILE(<(file)> , <(dest)>)
-
- COPY FILE </src/> TO </dest/> => COPYFILE(<(src)>, <(dest)>)
-
- SET WRAP ON => SETWRAP(.T.)
- SET WRAP OFF => SETWRAP(.F.)
-
- SET WRAP <x> => SETWRAP(_OnOff(<x>))
-
- SET CONFIRM ON => SETCONFIRM(.T.)
- SET CONFIRM OFF => SETCONFIRM(.F.)
- SET CONFIRM <x> => SETCONFIRM(_OnOff(<x>))
-
- SET SCROLLBREAK ON => SETSCROLLBREAK(.T.)
- SET SCROLLBREAK OFF => SETSCROLLBREAK(.F.)
- SET SCROLLBREAK <x> => SETSCROLLBREAK(_OnOff(<x>))
-
- SET BELL ON => SETBELL(.T.)
- SET BELL OFF => SETBELL(.F.)
- SET BELL <x> => SETBELL(_OnOff(<x>))
-
- SET SCOREBOARD ON => SETSCOREBOARD(.T.)
- SET SCOREBOARD OFF => SETSCOREBOARD(.F.)
- SET SCOREBOARD <x> => SETSCOREBOARD(_OnOff(<x>))
-
- SET MESSAGE TO <n> [<cent: CENTER,CENTRE>] => ;
- setmessage(<n>);; ;
- setmCenter(<.cent.>)
-
- SET MESSAGE TO => setmessage(0);; ;
- setmCenter(.f.)
-
- SET CONSOLE ON => SETCONSOLE(.T.)
- SET CONSOLE OFF => SETCONSOLE(.F.)
- SET CONSOLE <x> => SETCONSOLE(_OnOff(<x>))
-
- SET CANCEL ON => SETCANCEL(.T.)
- SET CANCEL OFF => SETCANCEL(.F.)
- SET CANCEL <x> => SETCANCEL(_OnOff(<x>))
-
- SET TYPEAHEAD TO <n> => settypeahead(<n>)
-
- SET ALTERNATE ON => SETALTERNATE(.T.)
- SET ALTERNATE OFF => SETALTERNATE(.F.)
- SET ALTERNATE <x> => SETALTERNATE(_OnOff(<x>))
- SET ALTERNATE TO => setalternate(.f.,"")
- SET ALTERNATE TO </file/> [<add: ADDITIVE>] ;
- => Setalternate(.t.,<(file)>, <.add.> )
-
- SET PRINTER ON => SETPRINTER(.T.)
- SET PRINTER OFF => SETPRINTER(.F.)
- SET PRINTER <x> => SETPRINTER(_OnOff(<x>))
- SET PRINTER TO => Setprinter(.F.,"")
- SET PRINTER TO </file/> [<add: ADDITIVE>] ;
- => Setprinter(.T.,<(file)>, <.add.> )
-
- SET DEVICE TO SCREEN => Setdevice("SCREEN" )
- SET DEVICE TO PRINTER => Setdevice("PRINTER" )
-
- SET ESCAPE ON => SETESCAPE(.T.)
- SET ESCAPE OFF => SETESCAPE(.F.)
- SET ESCAPE <x> => SETESCAPE(_OnOff(<x>))
-
- SET INTENSITY ON => SETINTENSITY(.T.)
- SET INTENSITY OFF => SETINTENSITY(.F.)
- SET INTENSITY <x> => SETINTENSITY(_OnOff(<x>))
-
- SET DELIMITERS ON => SETDELIMITERS(.T.)
- SET DELIMITERS OFF => SETDELIMITERS(.F.)
- SET DELIMITERS <x> => SETDELIMITERS(_OnOff(<x>))
- SET DELIMITERS TO <c> => Setdelimchars( <c> )
- SET DELIMITERS TO DEFAULT => Setdelimchars( "::" )
- SET DELIMITERS TO => Setdelimchars( "::" )
-
- SET FORMAT TO <prc> => __SetFormat( {|| <%prc%>()} )
-
- SET MARGIN TO <x> => setmargin(<x>)
- SET MARGIN TO => setmargin(0)
-
-
- SET COLOR TO [<*col*>] => setcolor(<#col>)
-
- SET COLOUR TO <*col*> => setcolor(<#col>)
-
- CLS => cls()
- CLEAR SCREEN => cls()
- CLEAR => cls()
-
- SET CURSOR ON => SETCURSOR(1)
- SET CURSOR OFF => SETCURSOR(0)
- SET CURSOR <x> => SETCURSOR(if(_OnOff(<x>),1,0))
-
-
- @ <row>,<col> => Scroll(<row>,<col>,<row>);; ;
- SetPos(<row>,<col>)
-
- @ <top>,<left> CLEAR => Scroll(<top>,<left>);; ;
- SetPos(<top>,<left>)
-
- @ <top>,<left> CLEAR TO <bottom>,<right> => ;
- Scroll(<top>,<left>,<bottom>,<right>);; ;
- SetPos(<top>,<left>)
-
- @ <t>,<l>,<b>,<r> BOX <str> [COLOR <color>] => ;
- DispBox(<t>,<l>,<b>,<r>,<str>[,<color>])
-
- @ <t>,<l> TO <b>,<r> DOUBLE [COLOR <color>] => ;
- DispBox(<t>,<l>,<b>,<r>,2,[<color>])
-
- @ <t>,<l> TO <b>,<r> [COLOR <color>] => ;
- DispBox(<t>,<l>,<b>,<r>,1,[<color>])
-
- @ <y>,<x> SAY <xpr> [PICTURE <pic>][COLOR <col>] => ;
- DEVPOS(<y>,<x>);;DevOutPict(<xpr>,<pic>[,<col>])
-
- @ <y>,<x> SAY <xpr> [COLOR <col>] => DEVPOS(<y>,<x>);
- DevOut(<xpr>[,<col>])
-
- @ <y>,<x> GET <var> [PICTURE <pic>] [WHENBLOCK <when>] ;
- [SEND <msg>] [COLOR <col>] RANGE <lo>,<hi> =>;
- SetPos(<y>,<x>);; ;
- AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
- {|_x_|_RangeCheck(<var>,<lo>,<hi>)},<{when}>,;
- {|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col>));
- [ ;; ATail(getlist):<msg>]
-
- @ <y>,<x> GET <var> [PICTURE <pic>] [VALIDBLOCK <valid>] ;
- [WHENBLOCK <when>] [COLOR <col>] [SEND <msg>] =>;
- SetPos(<y>,<x>);; ;
- AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
- <{valid}>,<{when}>,;
- {|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col>));
- [ ;; ATail(getlist):<msg>]
-
- @ <y>,<x> SAY <str> [PICTURE <pic1>] [COLOR <col>] GET <var> [PICTURE <pic>] ;
- [VALIDBLOCK <valid>] [WHENBLOCK <when>] [COLOR <col2>] [SEND <msg>] =>;
- DevPos(<y>,<x>);; ;
- DevOutPict(<str>,<pic1>,<col>);; ;
- SetPos(row(),col()+1);; ;
- AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
- <{valid}>,<{when}>,;
- {|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col2>)) ;
- [;; ATail(getlist):<msg>]
-
- @ <y>,<x> SAY <str> [PICTURE <pic1>] [COLOR <col>] GET <var> [PICTURE <pic>] ;
- RANGE <lo>,<hi> [WHENBLOCK <when>] [COLOR <col2>] [SEND <msg>] =>;
- DevPos(<y>,<x>);; ;
- DevOutPict(<str>,<pic1>,<col>);; ;
- SetPos(row(),col()+1);; ;
- AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
- {|_x_|_RangeCheck(<var>,<lo>,<hi>)},<{when}>,;
- {|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col2>)) ;
- [;; ATail(getlist):<msg>]
-
-
- // same as above set, but without whenblock/validblock
- @ <y>,<x> GET <var> [PICTURE <pic>] [WHEN <when>] ;
- [SEND <msg>] [COLOR <col>] RANGE <lo>,<hi> =>;
- SetPos(<y>,<x>);; ;
- AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
- {|_x_|_RangeCheck(<var>,<lo>,<hi>)},<{when}>,;
- {|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col>));
- [ ;; ATail(getlist):<msg>]
-
-
- @ <y>,<x> GET <var> [PICTURE <pic>] [VALID <valid>] ;
- [WHEN <when>] [COLOR <col>] [SEND <msg>] =>;
- SetPos(<y>,<x>);; ;
- AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
- <{valid}>,<{when}>,;
- {|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col>));
- [ ;; ATail(getlist):<msg>]
-
-
- @ <y>,<x> SAY <str> [PICTURE <pic1>] [COLOR <col>] GET <var> [PICTURE <pic>] ;
- [VALID <valid>] [WHEN <when>] [COLOR <col2>] [SEND <msg>] =>;
- DevPos(<y>,<x>);; ;
- DevOutPict(<str>,<pic1>,<col>);; ;
- SetPos(row(),col()+1);; ;
- AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
- <{valid}>,<{when}>,;
- {|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col2>)) ;
- [;; ATail(getlist):<msg>]
-
-
- @ <y>,<x> SAY <str> [PICTURE <pic1>] [COLOR <col>] GET <var> [PICTURE <pic>] ;
- RANGE <lo>,<hi> [WHEN <when>] [COLOR <col2>] [SEND <msg>] =>;
- DevPos(<y>,<x>);; ;
- DevOutPict(<str>,<pic1>,<col>);; ;
- SetPos(row(),col()+1);; ;
- AADD(Getlist,_GET_(<var>,<#var>,<pic>,;
- {|_x_|_RangeCheck(<var>,<lo>,<hi>)},<{when}>,;
- {|_x_|iif(_x_==NIL,<var>,<var>:=_x_)},<col2>)) ;
- [;; ATail(getlist):<msg>]
-
-
-
- READ SAVE => readmodal(getlist)
-
- READ => readmodal(getlist);; ;
- _initTermPublics()
-
- CLEAR GETS => _initTermPublics()
-
- @ <y>,<x> PROMPT <pmt> [MESSAGE <msg>] => __AtPrompt(<y>,<x>,<pmt>,<msg>)
-
- MENU TO <v> => <v>:=__MenuTo(<#v>,<v>)
-
- SAVE SCREEN => __XSaveScreen()
-
- SAVE SCREEN TO <v> => <v>:=__XSaveScreenBuffered()
-
- WAIT [<c>] => _wait(<c>)
-
- WAIT [<c>] TO <v> => <v>:=_wait(<c>)
-
- ACCEPT [<c>] TO <v> => <v>:=_Accept(<c>)
-
- INPUT [<c>] TO <v> => <v>:=_Input(<c>)
-
- KEYBOARD <c> => keyboard(<c>)
-
- CLEAR TYPEAHEAD => keyboard()
-
- SET KEY <n> TO <prc> => setkey(<n>,{|a,b,c| <%prc%>(a,b,c)})
-
- SET KEY <n> TO => setkey(<n>,NIL)
-
- SET FUNCTION <n> [TO] [<str>] => __setFunction(<n>,<str>)
- SET FUNCTION <n> [TO] => __setFunction(<n>)
-
- EJECT => eject()
-
- REPORT FORM <frm> [HEADING <heading>] [<plain: PLAIN>] [<noeject: NOEJECT>] ;
- [<summ: SUMMARY>] [<nocon: NOCONSOLE>] [<prnt: TO PRINTER>] ;
- [TO FILE </toFile/>] [FOR <fr>] [WHILE <whle>] [NEXT <nxt>];
- [RECORD <rec>] [<rst:REST>] [ALL] => ;
- __ReportForm( ;
- <(frm)>, <.prnt.>, <(toFile)>, <.nocon.>, ;
- <{fr}>, <{whle}>, <nxt>, <rec>, <.rst.>,;
- <.plain.>, <heading>, ;
- <.noeject.>, <.summ.> ;
- )
-
- LABEL FORM <lbl> [<smple: SAMPLE>] [<nocon: NOCONSOLE>] ;
- [<prnt: TO PRINTER>] [TO FILE </toFile)/] [FOR <fr>] ;
- [WHILE <whle>] [NEXT <nxt>] [RECORD <rec>] [<rst:REST>] [ALL] =>;
- __LabelForm( ;
- <(lbl)>, <.prnt.>, <(toFile)>, <.nocon.>, ;
- <{fr}>, <{whle}>, <nxt>, <rec>, <.rst.>, ;
- <.smple.> ;
- )
-
- * ADDITIONAL FUNCTION SET
-
- ADD MENU <aMenu> TO <var> => <var>:=CRTAddMenu(<aMenu>)
-
- REMOVE MENU <v> => CRTDeleteMenu(<v>)
-
- SET WINDOWTITLE TO <v> => CRTSetCaption(<v>)
-
- @ <y>,<x> TO <dy>,<dx> ADD BUTTON <txt> STYLE <style> KEY <key> TO <v>=>;
- <v>:=_CRTAddButton(<key>,<txt>,;
- <y>,<x>,<dy>,<dx>,<style>)
-
- REMOVE BUTTON <v> => CRTRemoveButton(<v>)
-
- INIT QUEUE TO <v> => CRTSetQ(<v>)
-
- RESIZE QUEUE TO <v> => CRTResizeQ(<v>)
-
- DESTROY QUEUE => CRTDestroyQ()
-
- ZAP QUEUE => CRTZAPQ()
-
- ERASE QUEUE ELEMENT <v> => CRTEraseQElement(<v>)
-
- FLUSH QUEUE => CRTFlushQ()
-
- @ <y>,<x> LINETO <dy>,<dx> STYLE <style> PENWIDTH <width> COLOR <color> =>;
- CRTLine(<y>,<x>,<dy>,<dx>,<style>,<width>,<color>)
-
- @ <y>,<x> RECTANGLE TO <dy>,<dx> STYLE <style> PENWIDTH <width> COLOR <color> BRUSH <brush> =>;
- CRTRectangle(<y>,<x>,<dy>,<dx>,<style>,<width>,<color>,<brush>)
-
- @ <y>,<x> ROUNDRECTANGLE TO <dy>,<dx> BOW <bow> STYLE <style> PENWIDTH <width> COLOR <color> BRUSH <brush> =>;
- CRTRoundRect(<y>,<x>,<dy>,<dx>,<bow>,<style>,<width>,<color>,<brush>)
-
- @ <y>,<x> CHORD TO <dy>,<dx> START <sy>,<sx> END <ey>,<ex> STYLE <style> PENWIDTH <width> COLOR <color> BRUSH <brush> =>;
- CRTChord(<y>,<x>,<dy>,<dx>,<sy>,<sx>,<ey>,<ex>,<style>,<width>,<color>,<brush>)
-
- @ <y>,<x> ARC TO <dy>,<dx> START <sy>,<sx> END <ey>,<ex> STYLE <style> PENWIDTH <width> COLOR <color> =>;
- CRTarc(<y>,<x>,<dy>,<dx>,<sy>,<sx>,<ey>,<ex>,<style>,<width>,<color>)
-
- @ <y>,<x> ELLIPSE TO <dy>,<dx> STYLE <style> PENWIDTH <width> COLOR <color> BRUSH <brush> =>;
- CRTEllipse(<y>,<x>,<dy>,<dx>,<style>,<width>,<color>,<brush>)
-
- @ <y>,<x> PIE TO <dy>,<dx> START <sy>,<sx> END <ey>,<ex> STYLE <style> PENWIDTH <width> COLOR <color> BRUSH <brush> =>;
- CRTPie(<y>,<x>,<dy>,<dx>,<sy>,<sx>,<ey>,<ex>,<style>,<width>,<color>,<brush>)
-
- @ <y>,<x> FLOOD BOUND <bcol> BRUSH <brcol> => CRTFlood(<y>,<x>,<bcol>,<brcol>)
-
- @ <y>,<x> GET PIXEL TO <v> => <v>:=CRTGetPixel(<y>,<x>)
-
- @ <y>,<x>SET PIXEL TO <color> => CRTSetPixel(<y>,<x>,<color>)
-
- @ <y>,<x> SAY <txt> WITH FONT <font> PARMLIST <list,...> =>;
- CRTWriteFont(<list>,<font>,<y>,<x>,<txt>)
-
- ADD EVENT <cBlock> TRUE TO <v> => <v>:=EventAdd(<{cBlock}>,.T.)
- ADD EVENT <cBlock> FALSE TO <v> => <v>:=EventAdd(<{cBlock}>,.F.)
-
- REMOVE EVENT <v> => EventDel(<v>)
-
- ***
- * DML UDCs
- *
-
- APPEND BLANK => DBAppend(.T.)
-
- APPEND [FROM </src/>] ;
- [FIELDS <list,...>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [VIA <rdd>] ;
- [ALL] ;
- ;
- => DBAPP(<(src)>, { <(list)> }, <{fo}>, <{wh}>, <nx>, ;
- <rec>, <.rs.>, <rdd>)
-
-
- APPEND [FROM </src/>] [DELIMITED [WITH <*dlm*>]] ;
- [FIELDS <list,...>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBAPPDELIM(<(src)>, <dlm>, { <(list)> }, <{fo}>, <{wh}>, ;
- <nx>, <rec>, <.rs.>)
-
-
-
- APPEND [FROM </src/>] [SDF] ;
- [FIELDS <list,...>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBAPPSDF(<(src)>, { <(list)> }, <{fo}>, <{wh}>, <nx>, ;
- <rec>, <.rs.>)
-
-
- AVERAGE <fld1> [,<fldn>] [TO <var1> [,<varn>]] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => __DBAvg(0) ;; ;
- <var1> [:= <varn>] := 0 ;; ;
- DBEVAL( {|| <var1>:=<var1>+<fld1> [,<varn>:=<varn>+<fldn>], __DBAvg(1)}, ;
- <{fo}>, <{wh}>, <nx>, <rec>, <.rs.> ) ;; ;
- <var1> := <var1>/__DBAvg(2) [;; <varn> := <varn>/__DBAvg(2)]
-
-
-
- CLOSE => DBCloseArea()
-
- CLOSE ALL => DBCloseAll() ;; ;
- SELECT(1)
-
-
- CLOSE DATABASES => DBCloseAll()
-
- CLOSE INDEXES => DBCLEARINDEX()
-
- CLOSE <alias> => <alias>->( DBCloseArea() )
-
- COMMIT => DBCommit()
-
- COMMIT ALL => DBCommitAll()
-
- CONTINUE => DBContinue()
-
-
- COPY [TO </dest/>] ;
- [FIELDS <list,...>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [VIA <rdd>] ;
- [ALL] ;
- ;
- => DBCOPY(<(dest)>, { <(list)> }, <{fo}>, <{wh}>, <nx>, ;
- <rec>, <.rs.>, <rdd>)
-
-
-
- COPY [TO </dest/>] [DELIMITED [WITH <dlm>]] ;
- [FIELDS <flds,...>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBCOPYDELIM(<(dest)>, <dlm>, { <(flds)> }, <{fo}>, <{wh}>, ;
- <nx>, <rec>, <.rs.>)
-
-
-
- COPY [TO </dest/>] [SDF] ;
- [FIELDS <flds,...>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBCOPYSDF(<(dest)>, { <(flds)> }, <{fo}>, <{wh}>, <nx>, ;
- <rec>, <.rs.>)
-
-
- COPY [STRUCTURE] [TO </file/>] [FIELDS <flds,...>] ;
- => DBCOPYSTRUCT( <(file)>, { <(flds)> } )
-
-
- COPY [STRUCTURE] [EXTENDED] [TO </file/>] ;
- => DBCOPYXSTRUCT( <(file)> )
-
-
-
-
- COUNT [TO <var>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => <var> := 0 ;; ;
- DBEVAL( {|| <var>:=<var> + 1 }, <{fo}>, <{wh}>, <nx>, <rec>, <.rs.> )
-
-
- CREATE </file1/> ;
- [FROM </file2/>] ;
- [VIA <rdd>] ;
- [ALIAS <a>] ;
- [<nw:NEW>] ;
- ;
- => _DBCREATE( <(file1)>, <(file2)>, <rdd>, <.nw.>, <(a)> )
-
-
-
- DELETE TAG <cOrd1> [IN </file1/>] [,<cOrdN> [IN </fileN/>]] ;
- => ORDDESTROY(<(cOrd1)> ,<(file1)>) ;
- [;; ORDDESTROY(<(cOrdN)> ,<(fileN)>)]
-
-
- DELETE => DBDelete()
-
-
- DELETE ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBEVAL( {|| DBDelete()}, <{fo}>, <{wh}>, <nx>, <rec>, <.rs.> )
-
-
-
- DISPLAY [<list,...>] ;
- [<oxf:OFF>] ;
- [TO <toPrn:PRINTER>] ;
- [TO FILE </toFile/>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [<all:ALL>] ;
- ;
- => DBLIST(<.oxf.>, { <{list}> }, <.all.>, <{fo}>, <{wh}>, <nx>, ;
- <rec>, <.rs.>, <.toPrn.>, <(toFile)>)
-
-
-
-
- GO TOP => DBGoTop()
- GOTO TOP => DBGoTop()
- GOTO BOTTOM => DBGoBottom()
- GO BOTTOM => DBGoBottom()
-
- GOTO <n> => DBGoto(<n>)
- GO <n> => DBGoto(<n>)
-
- FIND <*txt*> => DBSEEK( <(txt)> )
- FIND := <xpr> => ( find := <xpr> )
- FIND = <xpr> => ( find := <xpr> )
-
-
- INDEX ON <key> TO </file/> [<u:UNIQUE>] ;
- => DBCREATEINDEX(<(file)>,<(key)>,<{key}>,IF(<.u.>, .T., NIL))
-
-
- INDEX ON <key> ;
- [TAG <order>] ;
- [TO </file/>] ;
- [FOR <fo>] ;
- [<all:ALL>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [EVAL <ev>] ;
- [EVERY <evr>] ;
- [<u:UNIQUE>] ;
- [<asd:ASCENDING>] ;
- [<dsd:DESCENDING>] ;
- [<lCur:USECURRENT>] ;
- [<lAdd:ADDITIVE>] ;
- [<lCus:CUSTOM>] ;
- [<lNop:NOOPTIMIZE>] ;
- ;
- => ORDCONDSET( <$fo$>, <{fo}>, ;
- [<.all.>], ;
- <{wh}>, ;
- <{ev}>, <evr>, ;
- RECNO(), <nx>, <rec>, ;
- [<.rs.>], [<.dsd.>], ;
- [<.lAdd.>], [<.lCur.>], [<.lCus.>], [<.lNop.>] ) ;
- ;; ;
- ORDCREATE(<(file)>,<(order)>,<(key)>,<{key}>,IF(<.u.>,.T., NIL))
-
-
-
- JOIN [WITH <alias>] [TO </file/>] ;
- [FIELDS <fields,...>] ;
- [FOR <fo>] ;
- ;
- => DBJOIN( <(alias)>, <(file)>, {<(fields)>}, <{fo}>)
-
-
-
-
- LOCATE [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBLOCATE(<{fo}>, <{wh}>, <nx>, <rec>, <.rs.>)
-
-
-
-
- LIST [<list,...>] ;
- [<oxf:OFF>] ;
- [TO <toPrn:PRINTER>] ;
- [TO FILE </toFile/>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBLIST(<.oxf.>, { <{list}> }, .T., <{fo}>, <{wh}>, <nx>, ;
- <rec>, <.rs.>, <.toPrn.>, <(toFile)>)
-
-
-
- PACK => DBPack()
-
- RECALL => DBRecall()
-
- RECALL ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBEVAL( {|| DBRecall()}, <{fo}>, <{wh}>, <nx>, <rec>, <.rs.> )
-
-
- REINDEX => ORDLISTREBUILD()
-
-
- REINDEX [EVAL <ev>] [EVERY <evr>] ;
- => ORDCONDSET(,,,, <{ev}>, <evr>,,,,,,,) ;; ;
- ORDLISTREBUILD()
-
-
- REPLACE <f1> WITH <v1> [, <fN> WITH <vN> ] ;
- => _FIELD-><f1> := <v1> ;
- [;; _FIELD-><fN> := <vN> ]
-
- REPLACE [<f1> WITH <v1> [, <fN> WITH <vN>] ] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBEVAL( ;
- {|| _FIELD-><f1> := <v1> [, _FIELD-><fN> := <vN>] }, ;
- <{fo}>, <{wh}>, <nx>, <rec>, <.rs.> ;
- )
-
-
- SEEK <xValue> ;
- [<lSoft:SOFTSEEK>] ;
- [<lLast:LAST>] ;
- => DBSEEK(<xValue>, IIF(<.lSoft.>, .T., NIL), IIF(<.lLast.>,.T., NIL))
-
-
- SELECT(<whatever>) => _SELECT(<whatever>)
- SELECT <whatever> => DBSELECTAREA(<$whatever$>)
-
- SET DRIVER TO <drv> => DBSetDriver(<$drv$>)
-
- SET FILTER TO => DBClearFilter()
- SET FILTER TO <xpr> => DBSetFilter(<{xpr}>, <$xpr$>)
-
-
- SET INDEX TO [</index1/> [,</indexn/>]] [<adt:ADDITIVE>] ;
- ;
- => IF !<.adt.> ;; ;
- ORDLISTCLEAR() ;; ;
- ENDIF ;; ;
- ;; ;
- [;;ORDLISTADD(<(index1)>)] ;
- [;;ORDLISTADD(<(indexn)>)]
-
-
- SET ORDER TO <xOrder> [IN </file/>] ;
- => ORDSETFOCUS( <xOrder> [,<(file)>] )
-
-
- SET ORDER TO TAG <cOrder> [IN </file/>] ;
- => ORDSETFOCUS( <(cOrder)> [,<(file)>] )
-
-
- SET ORDER TO => ORDSETFOCUS(0)
-
-
- SET RELATION TO => DBCLEARRELATION()
-
- SET RELATION ;
- [<adt:ADDITIVE>] ;
- [TO <key1> INTO <alias1>] [, [TO <keyn> INTO <aliasn>]] ;
- ;
- => IF !<.adt.> ;; ;
- DBCLEARRELATION() ;; ;
- ENDIF ;; ;
- ;; ;
- DBSETRELATION( <(alias1)>, <{key1}>, <$key1$> ) ;
- [;; DBSETRELATION( <(aliasn)>, <{keyn}>, <$keyn$> )]
-
- SET RELATION ;
- [<adt:ADDITIVE>] ;
- [TO <key1> INTO <alias1>] [, [TO <keyn> INTO <aliasn>]] ;
- SCOPED ;
- => IF !<.adt.> ;; ;
- DBCLEARRELATION() ;; ;
- ENDIF ;; ;
- ;; ;
- OrdSetRelation( <(alias1)>, <{key1}>, <$key1$> ) ;
- [;; OrdSetRelation( <(aliasn)>, <{keyn}>, <$keyn$> )]
-
- SET SCOPE TO ;
- => OrdScope(0) ;
- ;; OrdScope(1)
-
- SET SCOPE TO <xValue> ;
- => OrdScope(0, <xValue>) ;
- ;; OrdScope(1, <xValue>)
-
- SET SCOPE TO <xVal1>, <xVal2> ;
- => OrdScope(0, <xVal1>) ;
- ;; OrdScope(1, <xVal2>)
-
- SET SCOPETOP TO ;
- => OrdScope(0)
-
- SET SCOPETOP TO <xValue> ;
- => OrdScope(0, <xValue>)
-
- SET SCOPEBOTTOM TO ;
- => OrdScope(1)
-
- SET SCOPEBOTTOM TO <xValue> ;
- => OrdScope(1, <xValue>)
-
- SET DESCENDING ON ;
- => OrdDescend(,, .T.)
-
- SET DESCENDING OFF ;
- => OrdDescend(,, .F.)
-
- SET MEMOBLOCK TO <nSize> ;
- => RDDInfo(_SET_MEMOBLOCKSIZE, <nSize>)
-
-
- SKIP => DBSkip(1)
- SKIP ALIAS <a> => <a> -> (dbSkip(1))
-
- SKIP <n> => DBSkip(<n>)
- SKIP <n> ALIAS <a> => <a> -> (dbSkip(<n>))
-
- SORT [TO </dest/>] ;
- [ON <flds,...>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBSORT(<(dest)>, { <(flds)> }, <{fo}>, <{wh}>, <nx>, ;
- <rec>, <.rs.>)
-
-
- SUM [<x1> [,<xn>]] TO [<v1> [,<vn>]] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- =><v1> := [<vn>:=] 0 ;
- ;; DBEVAL( {|| <v1>:=<v1>+<x1> [,<vn>:=<vn>+<xn>] }, <{fo}>, <{wh}>, <nx>, <rec>, <.rs.> )
-
-
-
- TOTAL [TO </dest/>] ;
- [ON <key>] ;
- [FIELDS <flds,...>] ;
- [FOR <fo>] ;
- [WHILE <wh>] ;
- [NEXT <nx>] ;
- [RECORD <rec>] ;
- [<rs:REST>] ;
- [ALL] ;
- ;
- => DBTOTAL(<(dest)>, <{key}>, { <(flds)> }, <{fo}>, <{wh}>, <nx>, ;
- <rec>, <.rs.>)
-
-
- UNLOCK => DBUnlock()
- UNLOCK ALL => DBUnlockAll()
-
-
- UPDATE [FROM <alias>] [ON <key>] ;
- [REPLACE <f1> WITH <v1>] ;
- [<rand:RANDOM>] ;
- ;
- => DBUPDATE(<(alias)>, <{key}>, <.rand.>, {|| _FIELD-><f1> := <v1> })
-
-
-
- USE => DBCloseArea()
-
- USE </db/> ;
- [VIA <rdd>] ;
- [ALIAS <a>] ;
- [<sh:SHARED>] ;
- [<ex:EXCLUSIVE>] ;
- [<ro:READONLY>] ;
- [<nw:NEW>] ;
- [FIELDS <flds>] ;
- [INDEX </index1/> [,</indexn/>]] ;
- [INHERIT FROM <rdds,...>] ;
- ;
- => DBUSEAREA(<.nw.>, <rdd>, <(db)>, <(a)>, IF(<.sh.> .or. <.ex.>, !<.ex.>, NIL), <.ro.>, <flds>,, { <(rdds)> });
- [;;DBSETINDEX(<(index1)>)] ;
- [;;DBSETINDEX(<(indexn)>)]
-
-
- ZAP => DBZap()
-
- RESTORE [FROM </file/>] [<add: ADDITIVE>] ;
- => _MRestore(<(file)>, <.add.>)
-
- RESTORE SCREEN => __XRestScreen()
-
- RESTORE SCREEN FROM <v> => __XRestScreenBuffered(<v>)
-
-
- *
- * end of file
- *
- * NO ^Z (eof) may be in STD.UDC!
-