FutureBASIC^3 R6 Notes

These notes highlight the keywords, constants, and functions of FutureBASIC^3 Release 6. These notes were developed for quick review. The concept is that is you are looking for something and reading through the manual is too slow and index is not organized by topic.
Continuation character (¬) Option-L
Block structure statements should be alone on the line
Quadruple click - select entire block structure
Statement labels "string"
Comments - REM, ‘, //, /* ... */
MENU FUNCTIONS
APPLE MENU - _AppleMenu or _AppleResMenu
EDIT MENU
ON MENU FN
selectedMenu = MENU(_menuID)
selectedItem = MENU(_itemID)
_kHMHelpMenuID - Help Menu ID
FN HMGETHELPMENUHANDLE, FN COUNTMITEMS, & CALL APPENDMENU to add items to the Help Menu
_FBEnableMenuChoice - related to hierachical menus
MENU menuID, itemID, state [,string$]
MENU resID%, {_resMenu | _resSubMenu}, state [,resType$]
MENU - unhighlight the menu bar
CALL DELETEMENU
CALL DELMENUITEM(FN GETMHANDLE(menuID), itemID)
DIALOG(0) -> _cntxtMenuClick -> build contextial menu - see example in ref. manual
APPLE EVENTS
str$ = APPLEEVENTMESSAGE$ (for _"TEXT" events)
action=FINDERINFO(countVar%, nameVar$, typeVar&, dirRefNumVar% )
countVar=maxAcceptableEntries - move all waiting items to arrays (>1) or simple variables (1)
countVar=0 - find out how many items are waiting
countVar=negativeIndex - pick up indexed item from list
(0) _finderInfoOpen, (1) _finderInfoPrint, (2) _finderInfoErr
action = FINDERINFO( countVar%, filespec[(array)], fType[(array)] )
dim as FSSpec filespec
dim as OSType fType
FN CLEARFINDERINFO - clear list
GETPROCESSINFO index%, processName$ [, PSN]
ON APPLEVENT(eventtype&, eventClass&) FN userfnt
_coreEventType | _"core"
_kAEOpenDocuments | _"odoc"
gFBAEType&
KILL APPLEEVENT eventType&, eventClass&
SEND APPLEVENT eventtype&, eventClass&, dataAddress&, dataSize&, processName$
ON FINDERINFO FN
gFBFndrInfoCount - number of files pending in the queue
gFBInfoSpec(1024) as FSSPec - array of file spec records, one record for each file that needs to be opened or printed
gFBInfoAction%(1024) - (0) open, (not 0) print
RUN path$ [,refNum% [,dirID&]]
EVENTS
active = SYSTEM(_aplActive) - positive if application is active/foreground
HANDLEEVENTS
FLUSHEVENTS
FLUSHWINDOWBUFFER (OS X)
ON BREAK FN - handle and override cmd-.
ON STOP FN - called just before the program ends, including in response to cmd-.
ON OVERFLOWS FN - overflow handling
ON EDIT FN - note some other comment about this somewhere, obsolete in appearance
ON TIMER(interval) FN - routine called periodically, positive interval is seconds, negative is ticks (1/60 sec.)
TIMER END, TIMER OFF - flushes timer queue
TIMER = interval - change ON TIMER setting
TIMER(0) OFF - flush timer event queue
TIMER(0) END
THREADBEGIN FName, parameter&, stackMin&
abortBoolean = THREADSTATUS(ticks&)
ON DIALOG FN
evnt%|& = DIALOG(0) - longs for appearance runtime
id%|& = DIALOG(evnt)
_wndclick, _wndClose, _wndRefresh, _wndDocWillMove, _wndActivate,_wndZoomIn, _wndZoomOut, _wndResized, _evDiskInsert, _btnClick, _cntxtMenuClick,_efClick, _efReturn, _efTab, _efShiftTab, _efClear, _efLeftArrow, _efRightArrow, _efUpArrow, _efDownArrow, _efSelected, _pfClick, _evCmdKey, _evKey, _cursOverBtn, _cursOverEF, _cursOverPF, _cusrOverNothing, _cursEvent, _cursOver, _mfEvent (_mfResume, _mfSuspend, _mfClipboard, _mfMOuse), _FBQuitEvent, _preview (_premenuclick, _prewndgrow, _wndmoved, _wndsized, _efchanged, _preefclick, _prewndzomin, _prewndzoomout,_wnddocwillmove), _userDialog
DIALOG = expr% (_userDialog)
ON EVENT FN
eventRecPtr& = EVENT
type% = eventRecPtr&.evtNum% - _nullEvt, _mButDwnEvt, _mButUpEvt, _keyDwnEvt, _keyUpEvt, _autoKeyEvt, _updateEvt, _diskInsertEvt, _activateEvt, _osEvt, _kHighLevelEvent
message& = eventRecPtr&.evtMessage&
ticks& = eventRecPtr&.evtTicks&
mousePt;4 = eventRecPtr& + evtMouse
highLevelEvtID& = eventRecPtr&.evtMouse&
modKeys% = eventRecPtr&.evtMeta% - modifier keys
if act on these events need to clear it before leaving the "ON EVENT" routine
EventInfo& = EVENT& - call in most event handling routines to get time of event (not ON EVENT or ON EDIT)
for _userDialog it gives a long-integer that was associated with this by the EVENT& statement
eventInfo% = EVENT% - call in most event-handling routines to get status of mouse button and modifier keys
for _userDialog it gives a short-integer that was associated with this by the EVENT% statement
EVENT% | EVENT& = intvalue%|& - _userDialog event info to be passed
ON MOUSE
clickType = MOUSE(0)
locationInfo = MOUSE(_lastMHorz | _lastMVert | _releaseHorz | _releaseVert )
wndNum = MOUSE(_mouseWindow) - appearance
position = MOUSE(_horiz | _vert) position when MOUSE(0) accessed
CONTROL STRUTUCTURES
DO .. UNTIL expr - EXIT DO or EXIT UNTIL
WHILE expr ... WEND - EXIT WHILE or EXIT WEND
FOR expr = from TO last STEP step ... NEXT - EXIT FOR or EXIT NEXT - always executed once (f66)
IF expr THEN ...: .... ELSE ... : ...
LONG IF epxr .... XELSE ... ENDIF
SELECT CASE expr : CASE expr [,expr2 ...] : [statement] : ... [CASE ELSE] ... END SELECT - EXIT CASE
EXIT FN - causes a jump to the END FN of a LOCAL FN
EXIT "label" - makes sure any loops, etc. get properly closed
WINDOWS
MAXWINDOW h,v
MINWINDOW h,v
SETZOOM [#]windowID [,(h1,v1)-(h2,v2)]
width = SYSTEM(_scrnWidth) - width of main monitor in pixels
hght = SYSTEM(_scrnHeight) - height of main monitor in pixels
windowID% = USR WPTR2WNUM(windowPtr&) - inverse of GET WINDOW & WINDOW(_wndPointer) function
WINDOW CLOSE [#]id
WINDOW FILL [[#]id] use with FN INVALIDRECT - rarely needed
WINDOW OUTPUT [#]id - current output window, does not activate window
WINDOW(-ID) - returns a nonzero value if window ID exists
WINDOW(_activeWnd) - currently active window
WINDOW(_activeDoc) - currently active document window, ignores palettes
WINDOW(_activePlt) - ID of frontmost palette
WINDOW(_outputWnd) - ID of current output window
WINDOW(_width) - width of content region of current output window
WINDOW(_height) - height of content region of current output window
WINDOW(_penH) - horizontal position in pixels of the pen in current output window
WINDOW(_penV) - vertical position in pixels of the pen in current output window
WINDOW(_wndPointer or _wndRef) - pointer to Window record of current output window
WINDOW(_wndPort) - current grafport being used for output
WINDOW(_textClip) - nonzero value if information of type “TEXT” in the clipboard
WINDOW(_pictClip) - nonzero value if information of type “PICT” on the clipboard
WINDOW(_outputWClass) - “class number” assigned to current output window
WINDOW(_activeWClass) - “class number” assigned to current active window
WINDOW(_efNum) - ID number of currently active edit field or picture, zero if none
WINDOW(_selStart) - character position of beginning of selected text or insertation point in currently active edit field
WINDOW(_selEnd) - character position of end of selected text of insertation point in currently active edit field
WINDOW(_efHandle) - handle to TextEdit record of currently active edit field, same as TEHANDLE(WINDOW(_efNum))
WINDOW(_lastEfNum) - ID number of previously active edit field, zero if none
WINDOW(_efTextLen) - number of characters in currently active edit field
WINDOW(_teBlock) - handle to Edit Field Descriptor for currently active edit field or pictur efield
WINDOW(_efClass) - efClass parameter assigned to currently active edit field, or negative of just parameter assigned..
APPEARANCE WINDOW [#][-]id& [,[title$][,[rect][,[windowClass][,[windowAttirbutes][,[FBAttributes]]]]]]
DIM wc AS WindowClass - _kAlertWindowClass, _kMovableAlertWindowClass, _kModalWindowClass, _kMovableModalWindowClass, _kFloatingWindowClass, _kDocumentWindowClass, _kDesktopWindowClass, _kHelpWindowClass, _kSheetWindowClass, _kToolbarWindowClass, _kPlainWindowClass, _kOverlayWindowClass, _kSheetAlertWindowClass, _kAltPlainWindowClass
DIM wa AS WindowAttributes - _kWindowNoAttributes, _kWindowCloseBoxAttribute, _kWindowHorizontalZoomAttribute, _kWindowVerticalZoomAttribute, _kWindowFullZoomAttribute, _kWindowCollapseBoxAttribute, _kWindowResizableAttribute, _kWindowSideTitlebarAttribute, _kWindowNoUpdatesAttribute, _kWindowNoActivatesAttribute, _kWindowToolbarButtonAttribute, _kWindowNoShadowAttribute, _kWindowLiveResizeAttribute, _kWindowStandardDocumentAttributes, _kWindowStandardFloatingAttributes
FBAttributes = _updateVisRgn, _clickThru, _noAutoFocus, _keepInactive
DEF TRANSITIONRECT
DEF WINDWCATEGORY( wNum&, category& )
ign = FN FBGETSCREENRECT(rect)- content rectangle of a window
GET WINDOW #wndID, windPtrVar& - get pointer to window record
DEF NEWWINDOWPOSITIONMETHOD(..)
0,_kWindowCenterOnMainScreen,_kWindowCascadeOnMainScreen,_kWindowAlertPositionOnMainScreen
DEF SETWINDOWBACKGROUND(_kThemeActiveDialogBackgroundBrush,_zTrue)
_kThemeActiveDialogBackgroundBrush, _kThemeInactiveDialogBackgroundBrush, _kThemeActiveAlertBackgroundBrush, _kThemeInactiveAlertBackgroundBrush, _kThemeActiveModelessDialogBackgroundBrush, _kThemeInactiveModelessDialogBackgroundBrush, _kThemeActiveUtilityWindowBackgroundBrush, _kThemeInactiveUtilityWindowBackgroundBrush, _kThemeListViewSortColumnBackgroundBrush, _kThemeListViewBackgroundBrush, _kThemeIconLabelBackgroundBrush, _kThemeListViewSeparatorBrush, _kThemeChasingArrowsBrush, _kThemeDragHiliteBrush, _kThemeDocumentWindowBackgroundBrush, _kThemeFinderWindowBackgroundBrush
FN SETTHEMEWINDOWBACKGROUND( window, _kThemeActiveDialogBackgroundBrush, _zTrue)
DEF WINDOWREPOSITION - _kWindowCenterOnMainScreen _kWindowCenterOnParentWindow _kWindowCenterOnParentWindowScreen _kWindowCascadeOnMainScreen _kWindowCascadeOnParentWindow _kWindowCascadeOnParentWindowScreen _kWindowAlertPositionOnMainScreen _kWindowAlertPositionOnParentWindow _kWindowAlertPositionOnParentWindowScreen
WINDOW(_kFBstructureTop) - distance from top of screen to top of structure region of the window
WINDOW(_kFBstructureLeft) - distance from left of screen to left of structure region of the window
WINDOW(_kFBstructureWidth) - width of winodw’s structure region
WINDOW(_kFBstructureHeight) - height of window’s structure region
WINDOW(_kFBcontentTop) - distance from top of screen to top of content region of the window
WINDOW(_kFBcontentLeft) - distance from left of screen to left of content region of the window
WINDOW(_kFBcontentWidth) - width of winodw’s content region, normally same as WINDOW(_width)
WINDOW(_kFBcontentHeight) - height of window’s content region, normally same as WINDOW(_height)
WINDOW(_outputWCategory) - “class number” assigned to current output window (appearance)
WINDOW(_activeWCategory) - “class number” assigned to current active window (appearance)
WINDOW(_kFBMacWClass) - toolbox window class, i.e. _kDocumentWindowClass, etc.
WINDOW(_kFBMacWAttributes) - toolbox attributes about a winodw, i.e. _kWindowResizeableAttribute
WINODW(_kFBwDescHandle) - handle to FBWindowDescription record stored in window’s refcon.
WINDOW(_kFBwClickThru) - returns non-zero if this attribute is set
WINDOW(_kFBFloatingWndPtr) - returns reference number of frontmost floating window
WINDOW(_toLeft) - horizontal pixel position of screen’s left edge, in local coordinate system of current output window
WINDOW(_toTop) - vertical pixel position of screen’s right edge...
WINDOW(_toRight) - horizontal pixel position of screen’s right edge...
WINDOW(_toBottom) - vertical pixel position of bottom of screen....
EDIT FIELDS
EDIT = 1
Str$|Ctr$$ = EDIT$(id) | EDIT$(id,line) | EDIT$(id,-1) | EDIT$(id,start,end)
EDIT$(id,...) = Str$ | &ZTXThandle& | %TEXTresID% | #ctr$$, font, size, style, mode, red, green, blue
EDIT FIELD id, text, rect, type, efclass - if id<0 a multistyled edit field is created
EDIT FIELD id, text, rect, type, efclass, keyfilterproc - appearance
text is str$, &ZTXThandle&, %TEXTresID%, #ctr$$
type = _framedNoCR, _ framed, _noFrameNoCR, _ noFramed, _statFramed, _statNoFramed, _statFramedGray, _statNoFramedGray, _statFramedInvert, _statNoFramedInvert, _statFramedInvert+hilite, _stateNoFramedInvert+hilite, _noDrawFocus, _noAutoGray, _autoGray, _copyOnlyFramed, _copyOnlyNoFramed, _framed_usePlainFrame, _framedNoCR_usePlainFrame
type modifiers = _round, _rounder, _roundest, _boldBox
efClass MOD 4 = (0,3) _rightJust, (1) _leftJust, (2) _centerJust
efClass - userdefined class number, returned by WINDOW(_efClass) 0-255 or 0-536,870,912 (appearance)
EDIT FIELD -id - appearance, disable/gray out
EDIT FIELD 0 - deactivate all in a window
EDIT FIELD CLOSE
EDIT TEXT optID%, font, size, style, mode, red, green, blue
EDIT TEXT optID%, font, size, style, mode,foreRGB, backRGB
GET FIELD ZTXThdnle&, efID - creates a "ZTXT"-formatted block
WRITE FIELD
KILL FIELD - dispose of ZTXThandle when finished (or use DEF DISPOSEH)
READ FIELD
WINDOW(_efNum)
SCROLL BUTTON - used with negative ID to link edit field and scroll button
SETSELECT start,end - selects range of text in field & scrolls it into view
teH& = TEHANDLE(fieldID) - edit field handle
teH&..teLength% = total number of characters
teH&..teTextH& - handle to field’s text
teH&..teNLines% - number of lines of text
fieldInfo = TEHANDLE(-fieldID) - (+1) editable text, (-1) static text, (+2) clickable picture, (-2) non-clickable picture, (0) does not exist
char$ = TEKEY$ - use with ON EDIT FN
TEKEY$ = string$ - replaces highlited text or inserts at insertation point & text is scrolled into view
BUTTONS (CONTROLS)
BUTTON or APPEARANCE BUTTON
BUTTON CLOSE
value = BUTTON(id) or BUTTON(id,_FBGetCtlRawValue)
_grayBtn, _activeBtn, _markedBtn
_FBGetCtlMinimum, _FBGetCtlMaximum, _FBGetCtlPage
_FBGetRootControl, _FBcontrolSubControls, _FBGetSuperControl, _FBgetControlTEHandle
DEF BTNRECT(rect,btnID%)
DEF SHOWPOP(rect) - obsolete?
DEF TITLERECT - obsolete?
SCROLL BUTTON [#]idExpr [,[current][,[min][,[max][,[page][,[rect][,type]]]]]] - obsolete?
buttonID% = USR HANDLE2BTN(ctrlRecHandle&)
ign = FN FBGETCONTROLRECT(cHndl&, rect) - content rectangle of a button
buttonhandle& = BUTTON&(btnID&)
actualSize = FN BUTTONDATASIZE( btnID, part, tagName )
theString = FN BUTTONTEXTSTRING$( btnID )
DEF SETBUTTONFOCUS( btnID& )
DEF SETBUTTONFONTSTYLE( btnID&, controlFontRecord )
DIM cfsr AS ControlFontStyleRec
BEGIN RECORD ControlFontStyleRec
DIM flags AS SHORT
DIM font AS SHORT
DIM size AS SHORT
DIM style AS SHORT
DIM mode AS SHORT
DIM just AS SHORT
DIM foreColor AS RGBCOLOR
DIM backColor AS RGBCOLOR
END RECORD
flags = _kControlUseFontMask _kControlUseFaceMask _kControlUseSizeMask _kControlUseForeColorMask _kControlUseBackColorMask _kControlUseModeMask _kControlUseJustMask
DEF SETBUTTONTEXTSTRING( btnID&, str$ )
DEF GETBUTTONTEXTSELECTION( btnID&, selStart%, selEnd% )
DEF SETBUTTONTEXTSELECTION( btnID&, selStart%, selEnd% )
DEF EMBEDBUTTON
DEF GETBUTTONDATA( btnId&, part%, tagName&, maxSize&, dataPtr&, actualSize& )
DEF SETBUTTONDATA( btnID&, part%, tagType&, size&, dataPtr&)
_kControlNoPart, _kControlLabelPart, _kControlMenuPart, _kControlTrianglePart, _kControlEditTextPart, _kControlPicturePart, _kControlIconPart, _kControlClockPart, _kControlListBoxPart, _kControlListBoxDoubleClickPart, _kControlImageWellPart, _kControlRadioGroupPart, _kControlButtonPart, _kControlCheckBoxPart, _kControlRadioButtonPart, _kControlUpButtonPart, _kControlDownButtonPart, _kControlPageUpPart, _kControlPageDownPart, _kControlIndicatorPart, _kControlDisabledPart, _kControlInactivePart
tagType& - _kControlBevelButtonContentTag, _kControlBevelButtonGraphicAlignTag, _kControlBevelButtonGraphicOffsetTag, _kControlBevelButtonLastMenuTag, _kControlBevelButtonMenuDelayTag, _kControlBevelButtonMenuHandleTag, _kControlBevelButtonMenuValueTag, _kControlBevelButtonTextAlignTag, _kControlBevelButtonTextOffsetTag, _kControlBevelButtonTextPlaceTag, _kControlBevelButtonTransformTag, _kControlEditTextKeyFilterTag, _kControlEditTextPasswordTag, _kControlEditTextSelectionTag, _kControlEditTextStyleTag, _kControlEditTextTEHandleTag, _kControlEditTextTextTag, _kControlFontStyleTag, _kControlGroupBoxFontStyleTag, _kControlGroupBoxMenuHandleTag, _kControlGroupBoxTitleRectTag, _kControlIconAlignmentTag, _kControlIconTransformTag, _kControlImageWellContentTag, _kControlImageWellTransformTag, _kControlKeyFilterTag, _kControlListBoxDoubleClickTag, _kControlListBoxFontStyleTag, _kControlListBoxKeyFilterTag, _kControlListBoxLDEFTag, _kControlListBoxListHandleTag, _kControlPopupButtonExtraHeightTag, _kControlPopupButtonMenuHandleTag, _kControlPopupButtonMenuIDTag, _kControlPushButtonCancelTag, _kControlPushButtonDefaultTag, _kControlStaticTextStyleTag, _kControlStaticTextTextHeightTag, _kControlStaticTextTextTag, _kControlTabContentRectTag, _kControlTabEnabledFlagTag, _kControlTabFontStyleTag, _kControlTabInfoTag
PUSH BUTTON TYPES - _kControlPushButtonProc, _kControlPushButRightIconProc, _kControlPushButLeftIconProc, _kControlBevelButtonSmallBevelProc, _kControlBevelButtonNormalBevelProc, _kControlBevelButtonLargeBevelProc, _kControlBevelButtonSmallBevelProc + _kControlBevelButtonMenuOnRight, _kControlBevelButtonLargeBevelProc + _kControlBevelButtonMenuOnRight, _kControlIconProc, _kControlIconNoTrackProc, _kControlIconSuiteProc, _kControlIconSuiteNoTrackProc, _kControlPictureProc, _kControlPictureNoTrackProc, _kControlPopUpButtonProc
VALUES FROM BEVEL POPUP BUTTONS
handle = BUTTON(bRef, _FBgetBevelControlMenuHandle)
currentItem = BUTTON(bRef, _FBgetBevelControlMenuVal)
previousItem= BUTTON(bRef, _FBgetBevelControlLastMenu)
VALUES FROM STANDARD POPUP BUTTONS
menuhandle = BUTTON(bRef, _FBgetControlMenuHandle)
_FBgetControlMenuID
mItem = BUTTON(bref)
Other Controls - _kControlRadioButtonProc, _kControlCheckBoxProc, _kControlChasingArrowsProc, _kControlProgressBarProc, _kControlSliderProc, _kControlLittleArrowsProc
DEF CHECKONEITEM
SPECIAL VALUES FOR CONTROLS - _kControlProgressBarIndeterminateTag, _kControlSliderLiveFeedback, _kControlSliderHasTickMarks, _kControlSliderReverseDirection, _kControlSliderNonDirectional
CONTROL GROUPS & SEPARATORS - _kControlGroupBoxTextTitleProc, _kControlGroupBoxSecondaryTextTitleProc, _kControlGroupBoxCheckBoxProc, _kControlGroupBoxSecondaryCheckBoxProc, _kControlGroupBoxPopUpButtonProc, _kControlGroupBoxSecondaryPopUpButtonProc, _kControlRadioGroupProc, _kControlPlacardProc, _kControlSeparatorLineProc
CONTROL VALUES - _kControlCheckBoxUncheckedValue, _kControlCheckBoxCheckedValue, _kControlCheckBoxMixedValue
TIME & DATE BUTTONS - _kControlClockTimeProc, _kControlClockTimeSecondsProc, _kControlClockDateProc, _kControlClockMonthYearProc, _kControlClockTimeSecondsProc
INITIAL VALUES
_kControlClockNoFlags, _kControlClockIsDisplayOnly, _kControlClockIsLive, _kControlClockIsLive_kControlClockIsDisplayOnly
GETTING VALUES OUT
err=BUTTON(bRef,_FBGetControlDate) ; gFBControlText (pStr) holds control's date
err=BUTTON(bRef,_FBGetControlTime) ; here it holds control's time
both fill gFBControlLongDate (a LongDateRec) & gFBControlSeconds (signed 64 bit var.)
LIST BOXES
_kControlListBoxProc, _kControlListBoxLDEF, _kControlListBoxHandleTag
cH = BUTTON&(bRef)
err = FN GETCONTROLDATA(...)
DEF SETBUTTONDATA
TAB BUTTONS
DEF SETBUTTONDATA & DEF EMBEDBUTTON
_kControlTabLargeProc, _kControlTabSmallProc, _kControlTabLargeNorthProc, _kControlTabSmallNorthProc, _kControlTabLargeSouthProc, _kControlTabSmallSouthProc, _kControlTabLargeEastProc, _kControlTabSmallEastProc, _kControlTabLargeWestProc, _kControlTabSmallWestProc, _kControlUseSizeMask
DEF SETBUTTONFONTSTYLE
CURSORS
CURSOR = _arrowCursor, _iBeamCursor, _crossCursor, _plusCursor, _watchcursor (standard)
CURSOR cursorID, [type] where type = _themeCursorStatic or _themeCursorAnimate
_kThemeArrowCursor, _kThemeCopyArrowCursor, _kThemeAliasArrowCursor, _kThemeContextualMenuArrowCursor, _kThemeIBeamCursor, _kThemeCrossCursor, _kThemePlusCursor,
_kThemeWatchCursor, _kThemeClosedHandCursor, _kThemeOpenHandCursor, _kThemePointingHandCursor, _kThemeCountingUpHandCursor, _kThemeCountingDownHandCursor, _kThemeCountingUpAndDownHandCursor, _kThemeSpinningCursor, _kThemeResizeLeftCursor, _kThemeResizeRightCursor, _kThemeResizeLeftRightCursor
negative ID generates _cursEvent (see DIALOG)
DEF CYCLE
info = SYSTEM(_lastCurs) - “CURS” ID of current cursor
info = SYSTEM(_lastCursType) - appearance - 0=plain, _themeCursorStat, or _themeCursorAnimate
active = SYSTEM(_aplActive) - positive if application is active/foreground
VARIABLES
#DEFINE name AS type
#DEFINE name AS {POINTER TO|@|^|.} type
#DEFINE name AS {HANDLE TO|@@|^^|..} type
BEGIN RECORD ... END RECORD
byteOffset = OFFSETOF( fieldName IN {recordType | trueRecVar})
BEGIN UNION ... END UNION
CLEAR, CLEAR LOCAL
DEC(intVar), DEF CYCLE, INT(intVar)
! = single, #=double, $=string, %=integer,&=long
DIM AS LONG ...
POINTER TO | ^ | @ | .
HANDLE TO | ^^ | @@ | ..
@var or VARPTR(var) - address of variable, can not be used with register variables
DYNAMIC ARRAYS
COMPRESS DYNAMIC, gFBDynamicGrowInc&, READ DYNAMIC, WRITE DYNAMIC
DIM DYNAMIC or DYNAMIC name(_maxInt or _maxLong)
gFBDynamicGrowInc& (default value=10)
KILL DYNAMIC arrayName - release excess memory in a dynamic array
READ DYNAMIC deviceID, arrayName - read from disk file into dynamic array
FONTS
DEF SETDOUBLEBYTE
DEF SETSINGLEBYTE
USR GETDOUBLEBYTE
USR GETSINGLEBYTE
boolean = USR GETDOUBLEBYTE
boolean = USR GETSINGLEBYTE
GRAPHICS
AUTOCLIP = true or false
BOX, BOX FILL, CIRCLE, CIRCLE FILL, CLS, CLS LINE, CLS PAGE
COLOR, LONG COLOR - change pen’s color
DEF BORDER
DEF DRAWIMAGEFILE
DEF GETIMAGEFILERECT( fname$, vRef%, r AS RECT) (requires Subs Image Files.Incl)
DEF FLASH
DEF CBOX|LBOX|RBOX(rect,string$) - usually use an EDIT FIELD instead
DEF ORSICN, DEF PLOTSICN
DEF SHADOWBOX(rect)
DEF TITLERECT
FILL h,v
ign = FN INVALRECT - mark a portion of window to be refreshed
LONG COLOR bluePart, greenPart, redPart [, foregroundFlag] - set fore or backgnd color for drawing/text
USR GETPICT
PEN [penWidth][,[penHeight][,[visible][,[mode][,pattern]]]]
PICTURE ON [(h1,v1)][-(h2,v2)]
PICTURE OFF [,pictHandleVar&]
pictureHandle& = PICTURE - handle to picture recorded with PICTURE ON/PICTURE OFF
PICTURE [(h1,v1)][-(h2,v2)] [,pictureHandle&] - draws picture to current output window or printer
KILL PICTURE pictHandle&
PICTURE FIELD [#]pfID [,[pict][,[rect][,[type][,just]]]] - displays a auto refreshed picture which can respond to mouse clicks - pict can be resName$, %resID%, &pictHandle&
type = _PFframed, _pfClickable, _pfInvertsOnClick, _pfTransparent, _framed, _framedNoCR, _noFramed, _noFramedNOCR, _statFramed, _statNoFramed, _statFrameGray, _statNoFrameGray, _statFramedInvert, _statNoFramedInvert, _statFramedInvert+hilite
just = _scaledPict, _centerPict, _cropPict
PLOT h,v - draw point
PLOT TO h,v - draw line from previous location
PLOT h1,v1 TO h2,v3 [TO h3,v3 ...] - draw line or series of lines
RATIO h,v - affects CIRCLE statement
SCROLL (h1,v1)-(h2,v2),hPixels%,vPixels%
bits = SYSTEM( _maxColors ) - 2^bits for number of colors on main monitor
bits = SYSTEM(_crntDepth) - current bit depth on active monitor
TEXT [font%] [,[size%][,[face%][.copyMode%]]] - affects new edit fields & buttons using _useWFont modifier
CALL GETFNUM(fontName$, font%) - use to get font number
USR CONVERTIMAGEFILE(srcName$,srcRef%,destName$,destRef%,newTypeIn&,newCreator&)
USR FONTHEIGHT - get pixel of a line of text
pictHandle& = USR GETPICT({rect|#rectAddr&})
pictHandle& = USR IMAGEFILETOPICT(fileName$,vRef%)
err% = USR SAVEIMAGEFILEASPICT(srcName$,srcVol%,destName$,destVol%)
RECTANGLES FOR GRAPHICS, BUTTON, ETC.
SETRECT(r,0,0,w,h) with "DIM r as rect"
OFFSETRECT(r,-r.left,-r.top)
FN VALIDRECT(rect) - replaces VALIDRECT toolbox
SOUND
BEEP
SOUND END - stops sound & releases “snd” resource if that is what is playing
SOUND pitch, duration [,[volume][,async]]
SOUND soundIDstring$
SOUND %resIDNumber
SOUND &sooundHandle&
soundIsPlaying = SOUND%
DEBUGGING
DEF DEBUGNUMBER
DEF DEBUGSTRING
SYSTEM(_aplFlag) is false if project was run, true if project was built
TRON [ALL]
TRON BREAK
TROFF
TRON X
ERRORS
errorInfo% = ERROR - disk i/o errors - _noErr, _endOfFile, _diskFull, _fileNotFound, _fileNotOpen, _badFileNamee, _badFileNum, _writeOnly, _readOnly, _posErr, _diskErr, _systemErr, _openTypeErr
if "_systemErr" use SYSERROR
after reading error, reset using ERROR = _noErr
ON ERROR FN
ON ERROR END
ON ERROR RETURN
SHUTDOWN [msg$] - displays message in alert box before program quits
STOP [string$] - clicking stop activates ON STOP FN routine
systemErrorCode% = SYSERROR - used for MacOS result codes from disk i/o operations
SYSERROR = OSErrorCode% - typically set to _noErr after dealing with the problem
LIBRARIES
result& = FN FBTESTFORLIBRARY("Library Name") - examine _"cfrg"
LIBRARY "name" TOOLBOX FN ... LIBRARY
CALL <toolbox>
result = FN <toolbox>
TBALIAS oldName, newName
TOOLBOX [FN] functionName [(arg1 [,arg2...])] [=returnParam] [`0x0000,0x0000...]
returnVar = UNIVERSALFN(procPtr&,flags[,parm1[,parm2...]])
UNIVERSALPROC(procPtr&,flags[,parm1[,parm2..]])
PREFERENCES
GET PREFERENCES prefFileName$, prefRecord - see example, pg 451
PUT PREFERENCES prefFileName$, prefRecord - writes preferences record
KILL PREFERENCES - locates and deletes the named file in the preferences folder
MENU PREFERENCES menuID, itemID - must be last item of edit menu
INCLUDE “Subs PrefsFile.Incl”
BEGIN RECORD : ... : END RECORD
DATE & TIME
dateString$ = DATE$ - MM/DD/YY
currentTime$ = TIME$ - hh:mm:ss
CALL IUDATESTRING(...) - Date&Time preferences format
CALL IUTIMESTRING([_time], _false, t$) - Date&Time preferences format
secondsSinceMidnight& = TIMER
TICKCOUNT - ticks since startup
MICROSECONDS - microseconds since startup
DATA IN MEMORY
BLOCKMOVE
DEC LONG, DEC WORD, DEC BYTE
DEF BLOCKFILL
DEF CLEARHANDLE
DIM SYSTEM - increase memory allocation
lineaddress& = LINE "label"
ENTERPROC ... EXITPROC
procAddress& = PROC “label” - used with ENTERPROC
var;length = address&
info& = MEM(_maxAvail | _freeBytes )
free = SYSTEM(_memAvail) - same as MEM(_freeBytes) - free bytes in application heap
PEEK [BYTE](address&) or |address&|
PEEK WORD(address&) or {address&}
PEEK LONG(address&) or [address&]
POKE [BYTE] address&, byteExpr or | address&, byteExpr
POKE WORD address&, shortIntExpr or % address&, shortIntExpr
POKE LONG address&, longIntExpr or & address&, longIntExpr
string$ = PSTR$(address&) - get Pascal string from address
PSTR$(addressVar&) = string$ - equivalent to “addressVar& = @string$), only way to get address of literal quoted string
dataSize = SIZEOF( { var | typeName | ptrType^ | hdlType^^ } )
dataType = TYPEOF({variable|typeName})
ResID = SYSTEM(_aplRes) - reference number for application’s resource fork
USR _allocLockBlk(size&) - same as FN NEWPTR _clear(size&)
USE _releaseBlk(ptr&) - same as CALL DISPOSPTR(ptr&)
VARPTR({var|FN userfunction}) or @var | @FN userfunction
STR# RESOURCES
DEF APNDSTR(str$, STR#resourceHndl&)
DEF REMOVESTR(str#Handle&, item%)
stringFromList$ = STR#(resourceID%, index%)
LOCAL FN GetSTRcount(resID%)
resHndl& = FN GETRESOURCE(_"STR#",resID%)
IF resHndl& THEN resCount% = {[resHndl&]} ELSE resCount% = 0
END FN = resCount%
stringFromHandle$ = STR&(handle&, index%)
STRINGLIST ON - begin storing strings in a STR# resource
STRINGLIST OFF - stop storing strings in a STR# resource
STRINGLIST - restores the STRINGLIST state to what is was before a STRINGLIST ON/OFF/=
STRINGLIST = resID [,ResourceName$] - locataion to store strings
STRINGLIST OPT - optimizes the string list
STRINGLIST NOPT
STRINGLIST END - closes out addition of strings to current STR# resouce & creates a new STR# at next ID
offset& = USR STROFFSET(element%,resID%|handle&)
ASSEMBLY LANGUAGE
POP(var)
POP {BYTE|WORD|LONG}(address&)
PUSH(var)
PUSH {BYTE|WORD|LONG}(address&)
HANDLE FUNCTIONS
DEF APNDLNG(handle&, longExpr)
CALLCHANGEDRESOURCE(str#handle&)
GETHANDLESIZE - size of relocatable block - toolbox function
myHandle& = FN NEWHANDLE _clear (2)
DEF DISPOSEH
FNCOMPAREHANDLES(a&,b&) - (-) is "<", (0) is "=", (+) is ">", | | gives byte position
ROUTE _tobuffer - print to a handle
stringFromHandle$ = STR&(handle&, index%)
USR _lockBlk(hndl&) - same CALL HLOCK(hndl&)
USR _allocRelBlk(size&) - same as FN NEWHANDLE(size&)
USR _disposeBlk(hndl&) - same as CALL DISPOSHANDLE(hndl&)
USR _unlockBlk(hndl&) - same as CALL HUNLOCK(hndl&)
FUNCTIONS
fnaddress& = @FN userfunction | VARPTR(FN userfunction)
DEF FN name(...) USING fnaddress&
BEGIN GLOBALS ... END GLOBALS
DEF FN name(...) = expr
DEF FN name(...) - prototyping
@var or VARPTR(var) - address of a variable
[CLEAR] LOCAL [MODE] begins scope of a local function, CLEAR initializes all local variables,
MODE prevents use of global variables in the function
[CLEAR] LOCAL FN name (args) .. END FN - note can pass arrays into local functions.
COMPLIATION
#IF … #ELSE … #ENDIF
COMPILEFLAGS
COMPILERVERSION
KILL RESOURCE "resType", resID% - prevent named resource from being added to application
OUTPUT [FILE] “filePath”
OVERRIDE LOCAL FN
OVERRIDE RUNTIME
OVERRIDE ENTERPROC
OVERRIDE _constantName = NewValue
REGISTER ON/OFF - use or not use CPU registers for variables
any operation that makes reference to a variable’s address must use a RAM-based variable, i.e. VARPTR(myVar) or @myVar, passing variable to statements and functions which need to return a value into the variable
floating point registers - define variable between LOCAL and LOCAL FN, double-precision only
Bool = _registerVars
RESOURCES “[pathname]” [,”ttttcccc”] - set type & creator & add resources (use project manager instead)
resources in the 32512-32767 range are renumbered in case of conflict.
RUNTIME routineNmae ... END FN & END RUNTIME - discussion of how compiler works
MacOS = SYSTEM( _sysVers) - 761 for Mac OS 7.6.1
MachineType = SYSTEM(_machType)
MachineName = STR#(-16395,SYSTEM(_machType))
cpuSpeed = SYSTEM(_cpuSpeed)
clockSpeed = SYSTEM(_clockSpeed)
DIM SYSTEM plusMemory& [, preferredSize& [, version& [, release& [ aboutStringWith4CharPrefix$]]]]
SPECIAL FILE FUNCTIONS
CLOSE FOLDER
KILL path$ [,refNum% [.dirID%]] - delete a closed, unlocked file or folder
folderRefNum% = FOLDER(path$, refNum%) - return num% or create folder or change directory
parentFolderVRef% = FOLDER(":",refNum%) - return reference number of parent directory
RENAME oldPath$ {TO|,} newPath$ [,refNum% [,dirID&]]
folderRefNum = SYSTEM(_aplVol) - working directory reference number for folder containing application
folderRefNum = SYSTEM(_sysVol) - wdr number for System folder - use toolbox FINDFOLDER
volRefNum = SYSTEM(_aplvRefNum) - appearance
volParentIDNum = SYSTEM(_aplparID) - appearance
DEF CREATERESFILE(fileName$) - creates a resource file in the current directory or adds a resource to an existing file (replaces CALL CREATERESFILE)
resRef = USR OPENRFPERM( fileName$, vRef%, permission ) - replaces FN OPENRFPERM
FILE FUNCTIONS
OPEN “method[fork]”, fileID,path$ [,[recLen][,refNum%[,dirID&]]]
OPEN “method[fork]”, fileID,@FSSpec [,recLen]
"R" random access, “I” read only, “O” write only, “A” append, “N” non-exclusive random write
“D” data fork, “R” resource fork
fileID = 1-255, recLen - default 256
APPEND #
WRITE #deviceID,{var|strngVar$;len} [,{...} - binary file format - use with READ
READ# deviceID,{recVar|numVar|strVar$;len} [,{....}...]
READ DYNAMIC deviceID, arrayName - read from disk file into dynamic array
WRITE DYNAMIC deviceID, arrayName
WRITE FIELD [#] deviceID, handle& - write relocatable block specified by handle&
READ FIELD [#]deviceID, handleVar - creates new relocatable block in memory, reads data from file into block
first 4 bytes must be long integer which indicates the size of the block
KILL FIELD - dispose of READ FIELD handle (or use DEF DISPOSEH)
WRITE FILE [#] deviceID, address&, numBytes& - fastest way to write large amount of data to a file
READ FILE [#]deviceID,address&,numBytes& - read numBytes& bytes into block of memory
PRINT # match with INPUT# - ASCII file format
INPUT# deviceID, var1 [,var2...] - slowest way to read from disk
LINE INPUT# deviceID, str$
str$ = INKEY$(deviceID) similar to READ#deviceID, str$;1 handles EOF differently
CLOSE #
CLOSE - close all files and devices
EOF(fileID)
result = LOC(deviceID) - location of file mark as offset from beginning of current record
numRecords = LOF(deviceID [,recordLength]) - total number of records in file
currentRecord = REC(fileID) - record number of the record where “file mark” is currently
RECORD [#]fileID,recordNum [,positionInRecord] - sets the “file mark” position
CVI, MKI$
gFBUseNavServices = _zTrue | _false (assumed true with FSSpec versions of FILES$ function)
DEF OPEN typeCreatorString$ (only affect "O" opened files)
fileType$ = FILES$ - file type of last file returned by FILES$(_fOpen) function as 4-character string
folderName$ = FILES$(_fFolder,[prompt$],,refNumVar%)
folderName$ = FILE$(_FSSpecFolder,[prompt$],,FSSpec)
fileName$ = FILES$(_fOpen,[typeListString$],[promptString$],refNumVar%)
fileName$ = FILES$(_fOpenPreview,[typeListString$],[promptString$],refNumVar%)
fileName$ = FILES$(_FSSpecOpen,[typeListString$],[promptString$],fileSpecRecord)
fileName$ = FILES$(_FSSpecOpenPreview,[typeListString$],[promptString$],fileSpecRecord)
fileName$ = FILES$(_fSave,[prompt$],[defaultName$],refNumVar%)
fileName$ = FILES$(_FSSpecSave,[prompt$],[defaultName$],fileSpecRecord)
USR _fileAddr(fileID) - address to i/o parameter block for an open file
USR COPYFILE(srcName$,srcVol%,SrcDir&,DestName$,DstVol%,DstDir&)
USR FILEEXISTS(fileName$,vRefNum%,dirID&)
error= USR SENDFILETOTRASH(fileName$,vRefNum%)
boolean = USR FSFILEEXISTS(fsSpec)
error = USR FSSENDFILETOTRASH(FSSpec)
err = USR MOVEFILE(SrcName$,ScrVol%,SrcDir&,DstVol%,DstDir&)
result Code = USR SCANFOLDER(FileScanRecord)
resultCode = USR GETFOLDER(vRef%,dirID&,folderName$)
resultCode = USR FSGETFOLDER( fsSpec, folderName$ ) - returns name of folder that contains fsSpec
resultCode = USR GETFULLPATHNAME(vRef%,dirID&,pathName$)
resultCode = USR FSGETFULLPATHNAME( fsSpec, pathName$) - returns full path name for fsSpec
refNum% - Directory Reference Number - signed short-integer - identifies a volume or a specific directory
dirID& - Direcotry ID number - unique on each volume, assigned with a directory is created
preferred to use a fileSpec or an alias record for an item that may be moved
DIM fs AS FSSPEC
FN GetRealVolAndDir(vRefNum%,parentID&) - extracts true volume reference number & parent ID from FB’s indexed table
FN FBMakeFSSpec(inVol%,inDir&,name$,fs) - build a file spec from parts
INCLUDE “Util_Files.incl” to use these & others
PRINTING
ROUTE _toScreen, ROUTE _toPrinter - watch for _wndActivate, it causes a ROUTE _toScreen
CLEAR LPRINT - eject a page or CLOSE LPRINT - terminate printing - AFTER ROUTE _toScreen
DEF LCOPY - sends bit-mapped copy of visible portion of current output window to the printer
DEF LPRINT - initializes print driver
DEF PAGE - “Page Setup...” menu item
DEF PRINTEDITFIELD(efNum&|%) - extracts contents of edit field and fits it to printed page
DEF TAB = field width (also for PRINT & PRINT#)
DEF USING=[[FN IUGETINTL(0)]] - numeric format
ign = FN FBPRINTEDITFIELD(efNum%|&) - print contents of edit field
ON LPRINT FN - idle routine called by the print driver during printing, check for cmd-. & update status
lineCount = PAGE
PAGE LPRINT - prints the content area of current output window to printer, is a bit mapped copy of screen pixels
numChars = POS(_printerDev) - number of characters printed on the line
PRCANCEL - examine after DEF LPRINT and after DEF PAGE
PRHANDLE - handle to print record, page rectangle, first & last pages to print, number of copies (
ROUTE _toPrinter : pageWidth = WINDOW(_width) : pageHeight = WINDOW(_height) : ROUTE _toScreen
WINDOW 1 : EDIT FIELD 1, “a test” : ROUTE _toPrinter : EDIT FIELD 1 : ROUTE _toScreen
CONTAINER FUNCTIONS
result% = FN FBCOMPARECONTAINERS(a$$,b$$) - (-) is "<", (0) is "=", (+) is ">", | | gives position
pos = INSTR( startPos, target$$, search$$ )
LEFT$$, MID$$, RIGHT$$, STRING$$, UCASE$$
(can SWAP work with $$?)
hndl& = [@a$$] - stored in the application heap as relocatable blocks
a$$ = %resID% - fill container with TEXT res ID resID%
a$$ = &hndl& - fill container with contents of hndl&
STRING FUNCTIONS
CHR$, DATE$, TIME$, DEF LCASE, DEF LEN, DEF TRUNCATE, INSTR, LEFT$, LEN, MID$, RIGHT$, SPACE$, SPC(#), STR$, STRING$, SWAP, UCASE$, UNS$, VAL, VAL&
string$ = USING format$;expr
_NumberLeadingSpace
stringFromList$ = STR#(resourceID%, index%)
stringFromHandle$ = STR&(handle&, index%)
caseless comparisions - << & >>
LOGICAL FUNCTIONS
AND | &&, BIT, MAYBE, NOT, OR ||, XOR ^^
NAND ^&, NOR ^| - nonstandard
INTEGER FUNCTIONS
DEC(intVar) --, INC(intVar) ++, DEF TOGGLE, DEF CYCLE, MOD, +=, -=, \\ - integer division
<< & >> bit shifts
/ & \ - does integer division or floating point division depending on preference settings
DEFSTR LONG/WORD/BYTE, BIN$, HEX$, OCT$, UNS$, MKI$, SWAP
USR EVEN(expr)
USR ROUND(expr), USR ROUNDUP(expr), USR ROUNDDOWN(expr)
myUnsLong&` = mySignedLong& - convert signed to unsigned
MATHEMATICAL FUNCTIONS
ABS, ACOS, ACOSH, ASC, ASIN, ASINH, ATAN, ATANH, ATN, COS, COSH, ERF#, ERFC#, EXP, FIX, FRAC, INT, LOG
LOG10, LOG2, MOD, RANDOM[IZE] expr, RND(expr%), SGN, SIN, SINH, SQR, TAN,
ON OVERFLOWS FN - division by zero or any floating point math operation resulting in too large a number
USR _sqRoot(expr&)
USR _sine(expr%)
USR _cosine(expr%)
FINATIONAL FUNCTIONS
FN ANNUITY, COMPOUND
CONSTANTS
BEGIN ENUM ... END ENUM
HARDWARE & I/O
EJECT driveExpr
HANDSHAKE portID, handshakeType
OPEN "C",portID,baud[,[parity][,[stopbit][,[wordLength][,buffer]]]
gFBHasComTB%, gFBSerialPortCount%, gFBSerialName$(n),gFBSerialInName$(n),gFBSerialOutName$(n)
LOF
result = LOC(deviceID) - _zTrue if carrier detected
str$ = INKEY$(_modemPort or _printerPort)
INPUT# deviceID, var1 [,var2]
READ# deviceID,...
OPEN “UNIX”,fileID,UNIXcommand$
INDEX STRING ARRAYS
str$ = INDEX$( element [,indexID])
INDEX$(element [,indexID]) = str$
INDEX$ D (element [,indexID]) - deletes an element from an INDEX$ array
INDEX$ I (element [,indexID]) = str$ - inserts an element in a INDEX$ array
foundelement = INDEXF(string$ [,startElement [,indexID]])
CLEAR <index>
info& = MEM(expr) INDEX array unused bytes, highest element, bytes used, total bytes, memory address, size
CARBON CONVERSION NOTES
watch out for records & predefined constants from the Apple headers, see Apple Carbondocumentation “Functions for Accessing Opaque Data Structures”
convert to FileSpec for best results
FN GETMENUBARHEIGHT replaces {_mBarHeight}
FN GETMENUTITLE(menuRef,title$) replaces use of _menuData or MenuInfo
FN GETMENUWIDTH(menuHandle) replaces use of _menuWidth
FN INVALIDRECT(r) replaces CALL InvalRect(r) (or w/o CALL)
FN GETCONTROLVALUE(btnHndl&) replaces btnHndl&..contrlValue% when getting the value (SET for setting)
FN GETCONTROLMINIMUM(btnHndl&) replaces btnHndl&..contrlMin% when getting the value (SET for setting)
FN GETCONTROLMAXIMUM(btnHndl&) replaces btnHndl&..contrlMax% when getting the value (SET for setting)
replace TEKEY with ?
replace TEAUTOVIEW with ?
#IF CarbonLib ‘ when feeding parameter blocks to Toolbox calls
FN FBWDtoPBWD(parameterBlock)
#END IF
Screen updates - updates only at HANDLEEVENTS unless add FLUSHWINDOWBUFFER calls
Window pointers and Window GrafPorts are separate - WINDOW(_wndRef) & WINDOW(_wndPort)
For debugging, add KILL RESOURCES “plsT”,0 to force a carbon program to run in Classic for leak finding
APPEARANCE CONVERSION NOTES
APPEARANCE BUTTON - id is long(&)
#IF def _appearanceRuntime ‘ for condition appearance blocks
APPEARANCE WINDOW ...
CURSOR newCursorID, _themeCursorStatic or _themeCursorAnimate
DEF SETBUTTONFOCUS - similar to _shadow in BUTTON statement
DIALOG returns long integers (&)
EDIT FIELD / SCROLL BUTTON - make EDIT FIELD 16 pixels smaller to fit in the scroll bar
WINDOW(_width) changes after adding SCROLL BUTTON
PICTURE FIELD - totally new constants replace old constants, _pfNoFramed _pfTransparent _pfInvert
WINDOW(_activeWnd) may need to be replaced by WINDOW(_outputWnd) in some cases, i.e. _kFloatingWindowClass
OBSOLETE or NOT RECOMMENDED or REDUNDANT
DEF<type>, DELAY, DIM RECORD, END
itemName$ = FILES$(negIndex,,[path$],vRefNumVar%) - obsolete, use USR SCANFOLDER
GLOBALS, GOSUB, GOTO, INCLUDE, INKEY$, LONG FN
INPUT [@(col,row) | %(h,v)] ["prompt";] var1 [,var2...]
LINE INPUT [@(col,row) | %(h,v)] ["prompt";] var$
LOCATE h,v
LPRINT [@(col,row)|%(h,v)] [itemlist]
MACHLG
MOUSE(_down)
ON expr GOSUB {“label1”|lineNum1},[{“label2”|lineNum2}...}
ON expr GOTO {“label1”|lineNum1},[{“label2”|lineNum2}...}
PAGE (same as CLEAR LPRINT)
PARENTID = directoryID& - default dirID& in next OPEN, KILL, or RENAME statement, set to zero afterwards
POS( _anyDev | _printerDev | _diskDev )
PRINT [@(col,row)|%(h,v)][printItem[{,|;}[printItem]...]]
PRINT[@(col,row)|%(h,v)][POINT [{,|;}[POINT]...]]
READ {var|PSTR$(addressVar&)}[,...]
currentA5& = REGISTER(A5) - 68K only
RESET - closes all files and devices, equivalent to CLOSE without any parameters
RESTORE [expr] - used with DATA & READ
RETURN [“label”] - used with GOSUB
WIDTH [LPRINT] [=] {_noTextWrap | _textWrap | numChars } - used with PRINT & LPRINT
WINDOW [#]idExpr [,[title$][,[rect][,[type][,class]]]]
if idExpr<0 window created invisibly
type = _doc, _dialogFrame, _dialogPlain, _dialogShadow, _docNoGrow, _dialogMovable, _docZoom, _docRound, _WDEFbaseID
plus any of the following _keepCtrlsActive, _noAutoClip, _updateVisRgn, _clickThru, _keepInBack, _keepWndfActive
WINDOW PICTURE [#]id, pictHandle& - use PICTURE FIELD instead
ptr& = WNDBLK - pointer to FB’s internal Window Descriptor board - includes APPEARANCE WINDOW????
XREF arrayName(maxSub[,maxSub2 ... ]) AS dataType - dynamically create an array
XREF@ arrayName(maxSub1[,maxSub2 ... ]) [AS dataType] - link variable is interpreted as handle