Flash Cards "A car will be built that runs on water - after being developed from newly discovered plans Thomas Edison made before he died." "New gene-engineered pets will appear - the first ones will be tigers the size of kittens" "Cher will end up in hospital with blood infection after getting a new tattoo on her backside" 1991 Predictions, The National Enquirer This section of the documentation is designed to give you a summary of all the objects, methods, procedures and functions in the Toolkit. Think of it as a "detailed" Quick Reference. A common problem with object libraries is the difficulty developers (that's you) have in determining which methods are available for each object; especially when an object is descended from other objects and many of the methods are inherited. In this section, you will find every Toolkit object with a list of all associated "public" methods supported by the object, including inherited methods. The Flash Cards are organized into major topics such as Screen Writing, Window Manipulation, Hardware, Form Input, etc. The next two pages graphically show the Toolkit object structure in the form of two Object Hierarchy diagrams. These diagrams provide a road map for all the objects available. Note that shaded objects are abstract and should not be used directly, i.e. do not declare an instance of the abstract object type. FC-2 Flash Cards -------------------------------------------------------------------------------- Flash Cards FC-3 -------------------------------------------------------------------------------- FC-4 Flash Cards -------------------------------------------------------------------------------- Object Summary Listed below is a comprehensive list (in alphabetical order) of all the public objects available in the Toolkit: AlphabetOBJ totINPUT Controls how the Toolkit determines which characters are upper- and lower-case, and how to change the case of letters. This object is primarily designed for interna- tional users with a non-English alphabet. ArrayIOOBJ totIO2 A scrollable list of options from which the user may select one. The displayed list is based on the contents of a one-dimensional string array. BrowseArrayOBJ totLIST Displays the contents of a string array in a scrollable browse window. BrowseFileOBJ totLIST Displays the contents of a text file in a scrollable browse window. BrowseLinkOBJ totLIST Displays the contents of a DLLOBJ instance in a scrollable browse window. ButtonMessageOB totMSG Displays a multi-line message in a pop-up J moveable window (like MessageOBJ), and uses a box button for the "OK" prompt. ButtonPromptOBJ totMSG Displays a multi-line message with two or three box buttons. ButttonIOOBJ totIO1 A "Norton Utilities-like" box button. CheckIOOBJ totIO1 A check box field, where the user can check any item in the list. ControlKeysIOOB totIO1 Defines which keys are used to move between J fields, and which keys terminate the input session. DateIOOBJ totIO2 Input of dates. The Toolkit supports eight different date formats, and this field will automatically verify that the date entered is valid and, optionally, within a specified range. DateOBJ totDATE Controls the basic date format settings. Use the global instance DATETOT. DirWinOBJ totDIR Displays a file selection dialog box in a moveable window. Flash Cards FC-5 -------------------------------------------------------------------------------- DisplayOBJ totSYS Controls and provides data about the installed video display system. Use the global instance pointer Monitor^. DLLOBJ totLINK A generic doubly-linked list manager. EquipOBJ totSYS Provides data about installed equipment, e.g. number of parallel ports. FixedRealIOOBJ totIO2 Like RealIOOBJ, this object is for the input of real numbers. The object is similar to contemporary database packages - there are a fixed number of decimal places, and when the user presses [KEYCAP] the cursor jumps to the right of the decimal place. FmtNumberOBJ totSTR Provides function methods to format integer and real numbers. FormOBJ totIO1 Full screen input manager for creating input forms and dialog boxes. HexIOOBJ totIO2 Just for the engineers, this accepts the input of hexadecimal numbers! HotKeyIOOBJ totIO1 HotkeyIOOBJ an invisible field, used to trap for special keys. For example, the key [KEYCAP] might terminate the input session. IntIOOBJ totIO2 Whole number input. Use this object when you want to obtain a whole number, i.e. short- int, byte, integer, word, longint. Provides methods to ensure input is within a specified range. KeyOBJ totINPUT Reports information about keyboard and mouse activity. Use the global instance Key. LateralIOOBJ totIO2 String input which supports lateral scrol- ling. For example, the field width can be set to 20 characters wide, but the user might be allowed to enter up to 40 charac- ters. LinkIOOBJ totIO2 A scrollable list based on the contents of a DLLOBJ instance. ListArrayOBJ totLIST Displays a pick list of items from a string array in a stretchable window. ListDirOBJ totLIST Displays a pick list of filenames in a stretchable window. ListLinkOBJ totLIST Displays a pick of items from a DLLOBJ instance in a stretchable window. FC-6 Flash Cards -------------------------------------------------------------------------------- LookOBJ totLOOK Defines default attributes for windows, lists and menus. Use the global instance pointer LookTOT^. MemOBJ totSYS Provides data about the system's installed memory, including base, extended and expanded. MessageOBJ totMSG Displays a multi-line message in a pop-up moveable window. MouseOBJ totINPUT Controls the mouse cursor position and dis- play attributes. Use the global instance Mouse. MoveWinOBJ totWIN Creates user-moveable windows, and includes methods for control the screen area in which the window can be moved. OSOBJ totSYS Providing data about the installed operating system and the country settings. PictureIOOBJ tot102 String input which supports a special field mask or picture to control input. PromptOBJ totMSG Displays a multi-line message with two or three strip buttons. RadioIOOBJ totIO1 A radio button field where the user can select any one item in the list. RealIOOBJ totIO2 Real number input. By using Toolkit compiler directives, this object can get input of single, double, extended and comp reals. Provides methods to ensure input is within a specified range. ScreenOBJ totFAST Provides screen writing and management meth- ods, for both physical and virtual screens. Use the global instance Screen to access the visible display. ScrollOBJ totFAST Controls the appearance of all scroll bars displayed by the Toolkit. Use the global instance ScrollTOT. ScrollWinOBJ totWIN A moveable window which can optionally dis- play vertical and/or horizontal scroll bars. ShadowOBJ totFAST Controls the cosmetic appearance of shadows. Use the global instance ShadowTOT. StrDLLOBJ totLINK A doubly-linked list object for managing strings. Flash Cards FC-7 -------------------------------------------------------------------------------- StretchWinOBJ totWIN Creates flexible windows which can be moved, stretched and zoomed. StringIOOBJ totIO2 Basic string input. Provides methods to force the case of text, and to justify text when the user moves to another field. Strip3dIOOBJ totIO1 The same as StripIOOBJ, except that a small 3-D shadow is drawn behind the strip. StripIOOBJ totIO1 A "Turbo 6.0-like" button which the user can select, e.g. buttons for Edit, Save, Cancel, etc. WinFormOBJ totIO1 A window-based full screen input manager for creating input forms and dialog boxes. WinOBJ totWIN Provides basic window capabilities by saving the underlying screen box, and drawing a shadowed box. WriteOBJ totFAST This object should not be directly accessed. Its methods are called by ScreenOBJ objects. WWArrayIOOBJ totIO3 A multi-line word-wrapping field. A one- dimensional string array is assigned to the field. The contents of the array are updated with the user's input. WWLinkIOOBJ totIO3 A multi-line word-wrapping field. A DLLOBJ instance is assigned to the field. The linked list is updated with the user's input. -------------------------------------------------------------------------------- Important Type Declarations & Global Objects Conditional Compiler Directives FINAL Use when building your final production version. FLOAT Enables extended real types. FLOATEM Instructs compiler to emulate a math co-processor. OVERLAY Makes all Toolkit units overlayable. FC-8 Flash Cards -------------------------------------------------------------------------------- Global Objects The following instances are declared globally and should be used to access the display, mouse and keyboard: Screen Use this ScreenOBJ instance to perform all write operations to the physical screen. Mouse Use this MouseOBJ instance to show and hide the mouse. Key Use this KeyOBJ for all keyboard and mouse checking. Monitor^ Use this DisplayOBJ instance pointer to check the status of the installed display, e.g. Monitor^.ColorOn. Type Declarations totSYS tVideo = (UnKnown, Mono, CGA, MCGAMono, MCGACol, EGAMono, EGACol, VGA- col); tDate = (USA,Europe,Japan); totFAST StrScreen = string[255]; StrVisible = string[80]; Direction = (Up, Down, Left, Right, Vert, Horiz); Coords = record X1,Y1,X2,Y2:shortint; end; ByteCoords = record X1,Y1,X2,Y2:byte; end; ShadowPosition = (UpLeft, UpRight, DownLeft, DownRight); totLink tFileInfo = record Filename: string[12]; Attr: byte; Time: longint; Size:longint; LoadID: longint; end; totList tListAction = (Finish, Refresh, None); Flash Cards FC-9 -------------------------------------------------------------------------------- totInput CharSet = set of char totIO1 tCursPos = (CursLeft, CursRight, CursPrev); tAction = (None, NextField, PrevField, Finished, Escaped, Refresh, Signal, Enter, Help, Stop1, Stop2, Stop3, Stop4, Stop5, Stop6, Stop7, Stop8, Stop9); StringBut = string[MaxButtonWidth]; tSignal = record; ID: word; MsgType: word; case word of 0: (MsgPtr: pointer); 1: (MsgLong: longint); 2: (MsgWord: word); 3: (MsgInt: integer); 4: (MsgByte: byte); 5: (MsgChar: char); end; totSTR tJust = (JustLeft, JustCenter, JustRight); tCase = (Lower, Upper, Proper, Leave); tSign = (PlusMinus, Minus, Brackets, DbCr); Const FmtChars: set of char = ['!','#','@','*']; totDATE tDate = (MMDDYY, MMDDYYY, MMYY, MMYYYY, DDMMYY, DDMMYYYY, YYMMDD, YYYYMMDD); -------------------------------------------------------------------------------- Overall Look & Feel - totLOOK LookTOT^ Controls the default settings for windows, lists and menus. FC-10 Flash Cards -------------------------------------------------------------------------------- procedure SetWindow(Border,Body,Icons:byte); procedure SetWinKeys(Move,Stretch,Zoom:word); procedure SetListKeys(EndKey,Esc,Toggle,Tag,UnTag:word); procedure SetListChars(LeftChar,RightChar, ToggleOnChar,ToggleOffChar:char); procedure SetMenu(Bor,Tit,Icon,HiHot,HiNorm,LoHot,LoNorm,Off:byte); procedure SetDefaults; function WinBorder:byte; function WinBody:byte; function WinTitle:byte; function WinIcons:byte; function WinMoveKey: word; function WinStretchKey: word; function WinZoomKey: word; function ListEndKey: word; function ListEscKey: word; function ListToggleKey: word; function ListTagKey: word; function ListUnTagKey: word; function ListLeftChar: char; function ListRightChar: char; function ListToggleOnChar: char; function ListToggleOffChar: char; function MenuBor:byte; function MenuTit:byte; function MenuIcon:byte; function MenuHiHot:byte; function MenuHiNorm:byte; function MenuLoHot:byte; function MenuLoNorm:byte; function MenuOff:byte; ShadowTOT^ Controls the Toolkit box and window shadow characteristics. procedure SetShadowStyle(ShadP:ShadowPosition;ShadA:byte;ShadC:char); procedure SetShadowSize(ShadW,ShadD:byte); procedure SetDefaults; function ShadWidth:byte; function ShadDepth:byte; function ShadAttr:byte; function ShadChar:char; function ShadPos:ShadowPosition; ScrollTOT^ Controls the characters used to create scroll bars. Flash Cards FC-11 -------------------------------------------------------------------------------- procedure SetScrollChars(U,D,L,R,E,B:char); procedure SetDefaults; function UpChar:char; function DownChar:char; function LeftChar:char; function RightChar:char; function ElevatorChar:char; function BackgroundChar:char; DateTOT^ Controls default date characteristics. function GetLastYearNextCentury: byte; procedure SetLastYearNextCentury(Yr:byte); function GetSeparator: char; procedure SetSeparator(Sep:char); procedure SetMonths(Mth1,Mth2,Mth3,Mth4,Mth5,Mth6, Mth7,Mth8,Mth9,Mth10,Mth11,Mth12:strshort); procedure SetDays(Day0,Day1,Day2,Day3,Day4,Day5,Day6:strshort); function GetLastYearNextCentury:byte; function GetSeparator:char; function GetMonth(Mth:byte):string; function GetDay(Day:byte):string; IOTOT^ Controls default input characteristics. procedure SetDefaults; procedure SetColLabel(Off,OffHot,On,OnHot:byte); procedure SetColButton(Off,OffHot,On,OnHot:byte); procedure SetColGroup(Off,OffHot,On,OnHot:byte); procedure SetColList(Off,OffHot,On,OnHot:byte); procedure SetColField(Off,On,Mask,Inactive:byte); procedure SetColMsg(Col:byte); procedure SetIns(InsOn:boolean); procedure SetRules(Rules:byte); procedure SetPadChar(Pad:char); procedure SetJust(Just:tJust); procedure SetCursor(Curs:tCursPos); procedure SetCase(Cas:tCase); procedure SetForceCase(On:boolean); function LabelCol(Element:byte):byte; function ButtonCol(Element:byte):byte; function GroupCol(Element:byte):byte; function ListCol(Element:byte):byte; function FieldCol(Element:byte):byte; function MessageCol:byte; function InputPad:char; FC-12 Flash Cards -------------------------------------------------------------------------------- function InputIns:boolean; function InputRules:byte; function InputPadChar:char; function InputJust:tJust; function InputCursorLoc:tCursPos; function InputCase:tCase; function InputForceCase:boolean; AlphabetTOT^ Controls how the Toolkit determines upper- and lower-case characters, and how to change the case of a character. procedure AssignUpCaseFunc(Func:caseFunc); procedure AssignLoCaseFunc(Func:caseFunc); procedure SetUpper(Letters:CharSet); procedure SetLower(Letters:CharSet); procedure SetPunctuation(Letters:CharSet); function IsUpper(K:word):boolean; function IsLower(K:word):boolean; function IsLetter(K:word):boolean; function IsPunctuation(K:word):boolean; function GetUpCase(Ch:char):char; function GetLoCase(Ch:char):char; The syntax for the functions to be passed to AssignUpCaseFunc and AssignLoCaseFunc is as follows: function MyConverter(Ch:char):char; Flash Cards FC-13 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Controlling Hardware - totSYS DisplayOBJ Remember that the Toolkit includes the global instance Monitor^ which is a pointer to a DisplayOBJ. Use this instance pointer with the syntax Monitor^.method, rather than creating a new instance. function SnowProne:boolean function GetMode:byte function ColorOn:boolean procedure SetBW(On:boolean) function DisplayType:tVideo function BaseOfScreen:pointer; function Width:byte function Depth:byte function SetCondensed:byte; procedure Set25; EquipOBJ constructor Init; destructor Done; function ParallelPorts:byte; function SerialPorts:byte; function FloppyDrives:byte; function ROMDate:string; function GameAdapter:boolean; function Serialprinter:boolean; function MathChip:boolean; MemOBJ constructor Init; destructor Done; function BaseMemory:integer; function EMMInstalled:boolean; function EMMversionMajor:byte; function EMMversionMinor:byte; function EMMversion:string; function MaxExpMem:word; function ExpMemAvail:word; function ExtMemAvail:word; OSOBJ constructor Init; destructor Done; function OSVersionMajor:byte; FC-14 Flash Cards -------------------------------------------------------------------------------- function OSVersionMinor:byte; function OSVersion:string; function Country:word; function Currency:string; function DateFmt:tDate; function ThousandsSep:char; function DecimalSep:char; function DateSep:char; function TimeSep:char; function TimeFmt:byte; function CurrencyFmt:byte; function CurrencyDecPlaces:byte; -------------------------------------------------------------------------------- Screen Writing - totFAST ScreenOBJ Instance Methods: constructor Init; destructor Done; Screen Writing: procedure Write(Str:string); procedure WriteLn(Str:string); procedure WriteAT(X,Y,Attr:byte;Str:string); procedure SetHiMarker(M:char); procedure WriteHi(X,Y,AttrHi,Attr:byte;Str:string); procedure WriteCap(X,Y,AttrCap,Attr:byte;Str:string); procedure WriteClick(X,Y,Attr:byte;Str:string); procedure WriteCenter(Y,Attr:byte;Str:string); procedure WriteBetween(X1,X2,Y1,Attr:byte;Str:string); procedure WriteRight(X,Y,Attr:byte;Str:string): procedure WriteVert(X,Y,Attr:byte;Str:string); procedure WritePlain(X,Y:byte;Str:string); Screen Clearing: procedure Clear(Attr:byte;Ch:char); procedure PartClear(X1,Y1,X2,Y2,Attr:byte;Ch:char); procedure ClearText(X1,Y1,X2,Y2:byte); Attribute Changing: procedure Attrib(X1,Y1,X2,Y2,Attr:byte); Flash Cards FC-15 -------------------------------------------------------------------------------- Box & Line Drawing: procedure Box(X1,Y1,X2,Y2,attr,style:byte); procedure FillBox(X1,Y1,X2,Y2,attr,style:byte); procedure ShadFillBox(X1,Y1,X2,Y2,attr,style:byte); procedure TitledBox(X1,Y1,X2,Y2,Battr,Tattr, Mattr,style:byte;Title:string); procedure HorizLine(X1,X2,Y,Attr,Style:byte); procedure VertLine(X,Y1,Y2,Attr,Style:byte); procedure SmartHorizLine(X1,X2,Y,Attr,Style:byte); procedure SmartVertLine(X,Y1,Y2,Attr,Style:byte); Screen Reading: function ReadChar(X,Y:byte):char; function ReadAttr(X,Y:byte):byte; function ReadWord(X,Y:byte;varAttr:byte;varCh:char); function ReadStr(X1,X2,Y:byte):string; Scroll Bar Drawing: procedure WriteHScrollBar(X1,X2,Y,Attr:byte;Current,Max:longint); procedure WriteVScrollBar(X,Y1,Y2,Attr:byte;Current,Max:longit); Block Manipulation: procedure Scroll(Way:tDirection;X1,Y1,X2,Y2:byte); procedure CopyScreenBlock(X1,Y1,X2,Y2,X,Y:byte); procedure MoveScreenBlock(X1,Y1,X2,Y2,X,Y:byte); Cursor Control: procedure GotoXY(X,Y:byte); function WhereX:byte; function WhereY:byte; procedure CursOff; procedure CursOn: procedure CursHalf; procedure CursFull; procedure CursReset; function CharHeight:integer; procedure CursSize(T,B:byte); function CursTop:byte; function CursBot:byte; Window management: procedure SetWindow(X1,Y1,X2,Y2:byte); procedure ResetWindow; procedure WindowActive:boolean; procedure WindowOff:boolean; procedure WindowOn; procedure WindowCoords(varCoords:tByteCoords); procedure SetWinIgnore(On:boolean); FC-16 Flash Cards -------------------------------------------------------------------------------- Virtual Screens: procedure Create(Width,Depth,Attr:byte); procedure ScreenPtr:pointer; procedure Width:byte; procedure Depth:byte; procedure Exists:boolean; procedure Display; procedure SlideDisplay(Way:tDirection); procedure PartDisplay(X1,Y1,X2,Y2,X,Y:byte); procedure PartSlideDisplay(X1,Y1,X2,Y2:byte;Way:tDirection); -------------------------------------------------------------------------------- KeyBoard and Mouse Input - totINPUT KeyOBJ To access the keyboard use the global instance Key. Mouse Settings: procedure SetMouseMethod(Method:byte); procedure SetHoriz(Sensitivity:byte); procedure SetVert(Sensitivity:byte); Determining Input: procedure GetInput; procedure GetKey:word; procedure LastKey:word; procedure LastChar:char; procedure LastX:byte; procedure LastY:byte; procedure DelayKey(Mills:longint); procedure Extended:boolean; Alt, Ctrl & Shift: procedure AltPressed:boolean; procedure CtrlPressed:boolean; procedure LeftShiftPressed:boolean; procedure RightShiftPressed:boolean; procedure ShiftPressed:boolean; Caps, Num & Scroll Lock: procedure SetCaps(On:boolean); procedure SetNum(On:boolean); procedure SetScroll(On:boolean); Flash Cards FC-17 -------------------------------------------------------------------------------- procedure GetCaps:boolean; procedure GetNum:boolean; procedure GetScroll:boolean; Buffer Control: procedure StuffBuffer(W:word); procedure StuffBufferStr(Str:string); procedure StuffbufferStr(Str:string); procedure FlushBuffer; procedure KeyPressed:boolean; Hooks: procedure AssignIdleHook(PassedProc:InputIdleProc); procedure AssignPressedHook(PassedProc:InputPressedProc); MouseOBJ procedure Installed:boolean; procedure Visible:boolean; procedure Hide; procedure Show; procedure Move(X,Y;integer); procedure Confine(X1,Y1,X2,Y2:byte); procedure Location(varX,Y:byte); procedure Status(varL,C,R:boolean;varX,Y); function Pressed(Button:integer;varX,Y:byte):byte; function Released(Button:integer;varX,Y:byte):byte; procedure GetButtons:byte; procedure SetMouseCursorStyle(OrdChar,Attr:byte); procedure SetLeft(On:boolean); procedure Reset; Hook Syntax Idle Hook procedure MyIdleHook; Pressed Hook procedure MyPressedHook(var W:word); FC-18 Flash Cards -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Windows - totWIN WinOBJ constructor Init; destructor Done; procedure SetSize(X1,Y1,X2,Y2,Style:byte); procedure SetTitle(Title:string); procedure SetColors(Border,Body,Title,Icons:byte); procedure SetRemove(On:boolean); procedure SetClose(On:boolean); procedure GetSize(var X1,Y1,X2,Y2,Style:byte); function GetX:byte; function GetY:byte; function GetStyle:byte; function GetBorderAttr:byte; function GetBodyAttr:byte; function GetIconsAttr:byte; function GetTitleAttr:byte; function GetRemoveStatus:boolean; procedure Draw; procedure GrowDraw; procedure Remove; procedure WinKey(var K:word;var X,Y:byte); procedure WinGetKey(var K:word;var X,Y:byte); MoveWinOBJ constructor Init; destructor Done; procedure SetBoundary(X1,Y1,X2,Y2:byte); procedure SetSize(X1,Y1,X2,Y2,Style:byte); procedure SetTitle(Title:string); procedure SetColors(Border,Body,Title,Icons:byte); procedure SetRemove(On:boolean); procedure SetClose(On:boolean); procedure SetAllowMove(On:boolean); procedure GetSize(varX1,Y1,X2,Y2,Style:byte); function GetX:byte; function GetY:byte; function GetStyle:byte; function GetBorderAttr:byte; function GetBodyAttr:byte; function GetIconsAttr:byte; function GetTitleAttr:byte; function GetRemoveStatus:boolean; procedure Draw; Flash Cards FC-19 -------------------------------------------------------------------------------- procedure GrowDraw; procedure Remove; procedure WinKey(var K:word;var X,Y:byte); procedure WinGetKey(varK:word;varX,Y:byte); ScrollWinOBJ constructor Init; destructor Done; procedure SetScrollable(Vert,Horiz:boolean); procedure SetBoundary(X1,Y1,X2,Y2:byte); procedure SetSize(X1,Y1,X2,Y2,Style:byte); procedure SetTitle(Title:string); procedure SetColors(Border,Body,Title,Icons:byte); procedure SetRemove(On:boolean); procedure SetClose(On:boolean); procedure SetAllowMove(On:boolean); procedure GetSize(varX1,Y1,X2,Y2,Style:byte); function GetX:byte; function GetY:byte; function GetStyle:byte; function GetBorderAttr:byte; function GetBodyAttr:byte; function GetIconsAttr:byte; function GetTitleAttr:byte; function GetRemoveStatus:boolean; procedure Draw; procedure GrowDraw; procedure Remove; procedure WinKey(var K:word;var X,Y:byte); procedure WinGetKey(varK:word;varX,Y:byte); procedure DrawHorizBar(Current,Max:longint); procedure DrawVertBar(Current,Max:longint); StretchWinOBJ constructor Init; destructor Done; procedure SetMinSize(Width,Depth:byte); procedure SetScrollable(Vert,Horiz:boolean); procedure SetBoundary(X1,Y1,X2,Y2:byte); procedure SetSize(X1,Y1,X2,Y2,Style:byte); procedure SetTitle(Title:string); procedure SetColors(Border,Body,Title,Icons:byte); procedure SetRemove(On:boolean); procedure SetClose(On:boolean); procedure SetAllowMove(On:boolean); procedure SetAllowStretch(On:boolean); procedure GetSize(var X1,Y1,X2,Y2,Style:byte); FC-20 Flash Cards -------------------------------------------------------------------------------- function GetX:byte; function GetY:byte; function GetStyle:byte; function GetBorderAttr:byte; function GetBodyAttr:byte; function GetIconsAttr:byte; function GetTitleAttr:byte; function GetRemoveStatus:boolean; procedure Draw; procedure GrowDraw; procedure Remove; procedure WinKey(var K:word;var X,Y:byte); procedure WinGetKey(var K:word;varX,Y:byte); procedure DrawHorizBar(Current,Max:longint); procedure DrawVertBar(Current,Max:longint); Flash Cards FC-21 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Messages and Prompts - totMSG MessageOBJ constructor Init(Style:byte;Tit:string); destructor Done; procedure AddLine(Str:string); procedure Show; procedure SetOption(Str:string;Hotkey:word); function WinForm: WinFormPtr; ButtonMessageOBJ constructor Init(Style:byte;Tit:string); destructor Done; procedure AddLine(Str:string); procedure Show; procedure SetOption(Str:string;Hotkey:word); function WinForm: WinFormPtr; PromptOBJ constructor Init(Style:byte;Tit:string); destructor Done; procedure AddLine(Str:string); procedure Show:tAction; procedure SetOption(ID:byte;Str:StringBut;Hotkey:word;Act:tAction); function WinForm: WinFormPtr; ButtonPromptOBJ constructor Init(Style:byte;Tit:string); destructor Done; procedure AddLine(Str:string); procedure Show:tAction; procedure SetOption(ID:byte;Str:StringBut;Hotkey:word;Act:tAction); function WinForm: WinFormPtr; Color Control To control the display color of the message dialog box, you must set the window colors and the button colors using the following two meth- ods: MyInstance.WinForm^.Win^.SetColors(Border,Body,Title,Icons:byte); IOTOT^.SetColButton(Off,OffHot,On,OnHot:byte); FC-22 Flash Cards -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Managing Lists - totLINK, totLIST StrDLLOBJ constructor Init; destructor Done; List Addition: function Add(str:string):integer; Node Pointer control function TotalNodes:longint function ActiveNodeNumber:longint; procedure Jump(NodeNumber:longint); procedure Advance(Amount:longint); procedure Retreat(Amount:longint); List Management: function NodePtr(NodeNumber:longint):DLLNodePtr; procedure ActiveNodePtr:DLLNodePtr; procedure EndNodePtr:DLLNodePTr; function Change(Node:DLLNodePtr;Str:string):integer; procedure DelNode(Node:DLLNodePtr); procedure SwapNodes(Node1,Node2:DLLNodePtr); procedure InsertBefore(Node:DLLNodePtr;Str:string); function GetStr(Node:DLLNodePtr;Start,Finish:longint):string; procedure Sort(SortID:shortint;Ascending:boolean); List Clearing: procedure EmptyList; BrowseArrayOBJ constructor Init; destructor Done; procedure SetTopPick(TopPick:longint); procedure SetStartCol(Column:longint); procedure Show; procedure Go; procedure LastKey:word; procedure AssignList(var StrArray;Total:longint;StrLength:byte); function Win:StretchWinPtr; BrowseLinkOBJ constructor Init; destructor Done; procedure SetTopPick(TopPick:longint); procedure SetStartCol(Column:longint); procedure Show; Flash Cards FC-23 -------------------------------------------------------------------------------- procedure Go; procedure LastKey:word; function AssignList(var LinkList:DLLOBJ); function ListPtr:DLLPtr; function Win:StretchWinPtr; BrowseFileOBJ constructor Init; destructor Done; procedure SetTopPick(TopPick:longint); procedure SetStartCol(Column:longint); procedure Show; procedure Go; procedure LastKey:word; function AssignFile(Filename:string):integer; function ListPtr: StrDLLPtr; function Win:StretchWinPtr; Browse Color Control The display colors of the list window are totally controlled by the window display colors, and can be set with the following procedure: MyInstance.Win^.SetColors(Border,Body,Title,Icons:byte); ListArrayOBJ List Management: constructor Init; destructor Done; procedure SetTopPick(TopPick:longint); procedure SetActivePick(ThePick:longint); procedure SetTagging(On:boolean); procedure SetColWidth(Wid:byte); procedure Show; procedure Go; procedure GetHiString:string; procedure LastKey:word; procedure AssignList(var StrArray;Total:longint; StrLength:byte;Taggable:boolean); Status Control: procedure SetStatus(Pick:longint;BitPos:byte;On:boolean); function GetStatus(Pick:longint;BitPos:byte):boolean; procedure DelAllStatus(BitPos:byte;On:boolean); Window Control: function Win:StretchWinPtr; FC-24 Flash Cards -------------------------------------------------------------------------------- Dual Color: procedure SetColors(HAttr,NAttr,SAttr:byte); procedure SetDualColors(On:boolean); Message display: procedure SetMsgState(On:boolean); procedure SetMsgHook(Func:ListMsgFunc); Hooks: procedure SetCharHook(Func:ListCharFunc); ListLinkOBJ List Management: constructor Init; destructor Done; procedure SetTopPick(TopPick:longint); procedure SetActivePick(ThePick:longint); procedure SetTagging(On:boolean); procedure SetColWidth(Wid:byte); procedure Show; procedure Go; procedure GetHiString:string; procedure LastKey:word; procedure AssignList(var LinkList:DLLOBJ); function ListPtr: DLLPtr; Status Control: procedure SetStatus(Pick:longint;BitPos:byte;On:boolean); function GetStatus(Pick:longint;BitPos:byte):boolean; procedure DelAllStatus(BitPos:byte;On:boolean); Dual Color: procedure SetColors(HAttr,NAttr,SAttr:byte); procedure SetDualColors(On:boolean); Window Control: function Win:StretchWinPtr; Message Display: procedure SetMsgState(On:boolean); procedure SetMsgHook(Func:ListMsgFunc); Hooks: procedure SetCharHook(Func:ListCharFunc); Hook Syntax Character Hook - function MyCharHook(var K:word; var X,Y:byte; HiPick:longint): tListAction Message Hook - function MyMsgHook(HiPick:longint):string; Flash Cards FC-25 -------------------------------------------------------------------------------- List Color Control The attributes of the list window and the listed items are controlled with the following three methods: Win^.SetColors(Border,Body,Title,Icons: byte); SetColors(HAttr,NAttr,SAttr:byte); SetDualColors(On:boolean); -------------------------------------------------------------------------------- Displaying Directories - totLIST, totDIR ListDirOBJ constructor Init; destructor Done; procedure ReadFiles(Filemasks:string;FileAttrib:word); procedure FileList^.Sort(SortID:shortint;Ascending:boolean); procedure FileList^.GetFileRecord(var Info:tFileInfo; NodeNumber:longint); function FileList^.GetLongStr(Node:DLLNodePtr):string; procedure FileList^.GetFileMask:string; procedure FileList^.SetFileDetails(FileMasks:string; FileAttrib:word); procedure FileList^.FillList; procedure FileList^.FillNewMask(Filemasks:string); function Win:StretchWinPtr; ListDirSortOBJ constructor Init; destructor Done; procedure ReadFiles(Filemasks:string;FileAttrib:word); procedure FileList^.Sort(SortID:shortint;Ascending:boolean); procedure FileList^.GetFileRecord(var Info:tFileInfo; NodeNumber:longint); function FileList^.GetLongStr(Node:DLLNodePtr):string; procedure FileList^.GetFileMask:string; procedure FileList^.SetFileDetails(FileMasks:string; FileAttrib:word); procedure FileList^.FillList; procedure FileList^.FillNewMask(Filemasks:string); function Win:StretchWinPtr; FC-26 Flash Cards -------------------------------------------------------------------------------- List Directory Color Control The attributes of the list window and the files listed are controlled with the following three methods: Win^.SetColors(Border,Body,Title,Icons: byte); SetColors(HAttr,NAttr,SAttr:byte); SetDualColors(On:boolean); DirWinOBJ constructor Init; destructor Done; procedure Go:tAction; procedure GetChosenFile:string; procedure SetFileDetails(StartDir:string;FileMasks:string; FileAttrib:word); procedure SetSortDetails(SortID:byte;SortOrder:boolean); function Win^:MoveWinPtr; procedure Action^.SetHelpHook(PassedProc:HelpProc); function FileList^: FielsFieldPtr; Directory Window Color Control The following methods control the directory display colors: MyInst.Win^.SetColors (changes bgrnd, title, box border and file details) IOTOT^.SetColLabel (changes the box labels, e.g. Name:) IOTOT^.SetColList (changes the file and dir lists) IOTOT^.SetColField (changes the filename input field IOTOT^.SetColButtons (changes the buttons) Flash Cards FC-27 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Form Input - totIO1, totIO2, totIO3 This category details all the routines related to prompting the user for input, i.e. the units totIO1, totIO2 and totIO3. The colors for all display fields are controlled with IOTOT^ (see page FC-9). StringIOOBJ constructor Init(X,Y,FieldLen: byte); destructor Done; procedure Activate; function GetID: word; function GetValue: string; procedure SetIns(InsOn:boolean); procedure SetRules(Rules:byte); procedure SetDispChar(Ch:char); procedure SetPadChar(Pad:char); procedure SetActiveStatus(Selectable:boolean); procedure SetCase(Cas:tCase); procedure SetCursor(Curs: tCursPos); procedure SetForceCase(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetJust(Just:tJust); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetValue(Str:string); LateralIOOBJ constructor Init(X,Y,FieldLen,MaxLen: byte); destructor Done; procedure Activate; function GetID: word; function GetValue: string; procedure SetIns(InsOn:boolean); procedure SetRules(Rules:byte); procedure SetDispChar(Ch:char); procedure SetPadChar(Pad:char); procedure SetActiveStatus(Selectable:boolean); procedure SetCase(Cas:tCase); procedure SetCursor(Curs: tCursPos); procedure SetForceCase(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetJust(Just:tJust); FC-28 Flash Cards -------------------------------------------------------------------------------- procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetValue(Str:string); PictureIOOBJ constructor Init(X,Y: byte;Pic:string); destructor Done; procedure Activate; function GetID: word; function GetValue: string; procedure SetIns(InsOn:boolean); procedure SetRules(Rules:byte); procedure SetDispChar(Ch:char); procedure SetPadChar(Pad:char); procedure SetActiveStatus(Selectable:boolean); procedure SetAllowChar(Str:string); procedure SetCase(Cas:tCase); procedure SetCursor(Curs: tCursPos); procedure SetDisallowChar(Str:string); procedure SetForceCase(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetJust(Just:tJust); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetValue(Str:string); The picture is comprised of non-editable characters and the following four, pre-defined, format characters: # Allows the input of the characters (0-9 . -) and indicates that only numbers may be input. @ Allows only letters of the English alphabet and punctuation characters. * Allows any character the user can find. ! Converts all alphabetical characters to upper case. Any other characters embedded in the picture are treated as fixed and for display only. IntIOOBJ constructor Init(X,Y,Len:byte); destructor Done; procedure Activate; function FormatPtr: FmtNumberPtr; function GetID: word; function GetValue: longint; Flash Cards FC-29 -------------------------------------------------------------------------------- procedure InitFormat; procedure SetIns(InsOn:boolean); procedure SetRules(Rules:byte); procedure SetDispChar(Ch:char); procedure SetPadChar(Pad:char); procedure SetActiveStatus(Selectable:boolean); procedure SetCursor(Curs: tCursPos); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetJust(Just:tJust); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetMinMax(Min,Max:longint); procedure SetValue(Val:longint); RealIOOBJ constructor Init(X,Y,Len:byte); destructor Done; procedure Activate; function FormatPtr: FmtNumberPtr; function GetID: word; function GetValue: extended; procedure InitFormat; procedure SetIns(InsOn:boolean); procedure SetRules(Rules:byte); procedure SetDispChar(Ch:char); procedure SetPadChar(Pad:char); procedure SetActiveStatus(Selectable:boolean); procedure SetCursor(Curs: tCursPos); procedure SetENotation(On:Boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetJust(Just:tJust); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetMinMax(Min,Max:Extended); procedure SetValue(Val:extended); FixedRealIOOBJ constructor Init(X,Y,Whole,DP:byte); destructor Done; procedure Activate; function FormatPtr: FmtNumberPtr; function GetID: word; function GetValue: extended; procedure InitFormat; procedure SetIns(InsOn:boolean); FC-30 Flash Cards -------------------------------------------------------------------------------- procedure SetRules(Rules:byte); procedure SetDispChar(Ch:char); procedure SetPadChar(Pad:char); procedure SetActiveStatus(Selectable:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetMinMax(Min,Max:Extended); procedure SetValue(Val:extended); HexIOOBJ constructor Init(X,Y,Len:byte); destructor Done; procedure Activate; function GetID: word; function GetValue: longint; procedure SetIns(InsOn:boolean); procedure SetRules(Rules:byte); procedure SetDispChar(Ch:char); procedure SetPadChar(Pad:char); procedure SetActiveStatus(Selectable:boolean); procedure SetCursor(Curs: tCursPos); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetJust(Just:tJust); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetMinMax(Min,Max:longint); procedure SetValue(Val:longint); DateIOOBJ constructor Init(X,Y:byte;DateFmt:tDate); destructor Done; procedure Activate; function GetID: word; function GetValue: longint; procedure SetIns(InsOn:boolean); procedure SetRules(Rules:byte); procedure SetDispChar(Ch:char); procedure SetPadChar(Pad:char); procedure SetActiveStatus(Selectable:boolean); procedure SetCursor(Curs: tCursPos); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetJust(Just:tJust); procedure SetLabel(Lbl:string); Flash Cards FC-31 -------------------------------------------------------------------------------- procedure SetMessage(X,Y:byte; Msg:string); procedure SetMinMax(Min,Max:longint); procedure SetValue(Val:longint); CheckIOOBJ constructor Init(X1,Y1,width,depth:byte;Title:string); destructor Done; procedure AddItem(Str:string;HK:word;Selected:boolean); function GetID: word; function GetValue(Item:byte):boolean; procedure SetActiveStatus(Selectable:boolean); procedure SetBoxOn(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetValue(Item:byte;Selected:boolean); RadioIOOBJ constructor Init(X1,Y1,width,depth:byte;Title:string); destructor Done; procedure AddItem(Str:string;HK:word;Selected:boolean); function GetID: word; function GetValue: byte; procedure SetActiveStatus(Selectable:boolean); procedure SetBoxOn(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure SetValue(Item:byte); ArrayIOOBJ constructor Init(X1,Y1,width,depth:byte;Title:string); destructor Done; procedure AssignList(var StrArray; Total:Longint; StrLength:byte); function GetID: word; function GetSelectedItem: integer; function GetString(Pick:integer): string; procedure SetActiveStatus(Selectable:boolean); procedure SetBoxOn(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); FC-32 Flash Cards -------------------------------------------------------------------------------- LinkIOOBJ constructor Init(X1,Y1,width,depth:byte;Title:string); destructor Done; procedure AssignList(var LinkList: DLLOBJ); function GetID: word; function GetSelectedItem: integer; procedure SetActiveStatus(Selectable:boolean); procedure SetBoxOn(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); WWArrayIOOBJ constructor Init(X1,Y1,width,lines:byte;Title:string); destructor Done; procedure AssignList(var StrArray; Total:Longint; StrLength:byte); function GetID: word; procedure SetActiveStatus(Selectable:boolean); procedure SetBoxOn(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetIns(InsOn:boolean); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure WrapFull; WWLinkIOOBJ constructor Init(X1,Y1,width,lines:byte;Title:string); destructor Done; procedure AssignList(var LinkList: StrDLLOBJ; Max:integer); function GetID: word; procedure SetActiveStatus(Selectable:boolean); procedure SetBoxOn(On:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetIns(InsOn:boolean); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); procedure WrapFull; StripIOOBJ constructor Init(X1,Y1:byte;Tit:string;Act:tAction); destructor Done; function GetID: word; Flash Cards FC-33 -------------------------------------------------------------------------------- procedure SetActiveStatus(Selectable:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); Strip3DIOOBJ constructor Init(X1,Y1:byte;Tit:string;Act:tAction); destructor Done; function GetID: word; procedure SetActiveStatus(Selectable:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); ButtonIOOBJ constructor Init(X1,Y1,width,depth:byte;Tit:string; Act:tAction); destructor Done; function GetID: word; procedure SetActiveStatus(Selectable:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); procedure SetLabel(Lbl:string); procedure SetMessage(X,Y:byte; Msg:string); HotKeyIOOBJ constructor Init(HK:Word;Act:tAction); destructor Done; function GetID: word; procedure SetActiveStatus(Selectable:boolean); procedure SetHotkey(HK:word); procedure SetID(ID:word); ControlKeyIOOBJ constructor Init; destructor Done; procedure SetKeys(Next,Prev,Fin,Esc:word); FormOBJ constructor Init; destructor Done; procedure AddItem(var NewItem: ItemIOOBJ); procedure SetActiveItem(ID:word); procedure DisplayItems; procedure SetCharHook(Func:CharFunc); FC-34 Flash Cards -------------------------------------------------------------------------------- procedure SetLeaveHook(Func:LeaveFieldFunc); procedure SetEnterHook(Func:EnterFieldHook); procedure SetHelpHook(Proc:HelpProc); function Go:tAction; WinFormOBJ constructor Init; destructor Done; procedure Draw; procedure AddItem(var NewItem: ItemIOOBJ); procedure SetActiveItem(ID:word); procedure DisplayItems; procedure SetCharHook(Func:CharFunc); procedure SetLeaveHook(Func:LeaveFieldFunc); procedure SetEnterHook(Func:EnterFieldHook); procedure SetHelpHook(Proc:HelpProc); function Go:tAction; function Win:MoveWinPtr; Hook Syntax Char Hook - function MyCharHook(var K:word;var X,Y:byte; var FieldID:word):tAction; Leave Hook - function MyLeaveHook(vae FieldID:word):tAction; Enter Hook - function MyEnterHook(var NewID:word; OldID:word):tAction; Help Hook - procedure MyHelpHook(ID:word); -------------------------------------------------------------------------------- Menus - totMENU Note the following special menu items for MenuOBJ and MoveMenuOBJ objects: '' a gap in the menu '-' a single line '=' a double line MenuOBJ constructor Init; destructor Done; procedure AddFullItem(Txt:StrVisible;ID,HK:word; Msg:StrVisible;SubM:BaseMenuPtr); procedure AddItem(Txt:StrVisible); procedure SetTopic(Item:byte;Txt:StrVisible); procedure SetHK(Item:byte;HK:word); procedure SetMessage(Item:byte;Msg:StrVisible); Flash Cards FC-35 -------------------------------------------------------------------------------- procedure SetID(Item:byte;ID:word); procedure SetStatus(Item:byte;On:boolean); procedure SetSubMenu(Item:byte;SubMenu:BaseMenuPtr); procedure SetGap(G:byte); procedure SetActiveItem(Item:byte); procedure SetMessageXY(X,Y:byte); procedure SetMenuXY(X,Y:byte); procedure SetHelpKey(K:word); procedure SetHelpHook(Proc:HelpProc); procedure SetAllowEsc(On:boolean); procedure SetColors(HiHot,HiNorm,LoHot,LoNorm,Off:byte); procedure SetStyleTitle(St:byte;Tit:StrVisible); procedure SetForPull; procedure Draw; procedure Remove; function Activate: word; function Win: WinPtr; MoveMenuOBJ constructor Init; destructor Done; procedure AddFullItem(Txt:StrVisible;ID,HK:word; Msg:StrVisible;SubM:BaseMenuPtr); procedure AddItem(Txt:StrVisible); procedure SetTopic(Item:byte;Txt:StrVisible); procedure SetHK(Item:byte;HK:word); procedure SetMessage(Item:byte;Msg:StrVisible); procedure SetID(Item:byte;ID:word); procedure SetStatus(Item:byte;On:boolean); procedure SetSubMenu(Item:byte;SubMenu:BaseMenuPtr); procedure SetGap(G:byte); procedure SetActiveItem(Item:byte); procedure SetMessageXY(X,Y:byte); procedure SetMenuXY(X,Y:byte); procedure SetHelpKey(K:word); procedure SetHelpHook(Proc:HelpProc); procedure SetAllowEsc(On:boolean); procedure SetColors(HiHot,HiNorm,LoHot,LoNorm,Off:byte); procedure SetStyleTitle(St:byte;Tit:StrVisible); procedure SetForPull; procedure Draw; procedure Remove; function Activate: word; function Win: MoveWinPtr; FC-36 Flash Cards -------------------------------------------------------------------------------- LotusMenuOBJ constructor Init; destructor Done; procedure SetSpecialKey(Hk:word;ID:word); procedure AddFullItem(Txt:StrVisible;ID,HK:word; Msg:StrVisible;SubM:BaseMenuPtr); procedure AddItem(Txt:StrVisible); procedure SetTopic(Item:byte;Txt:StrVisible); procedure SetHK(Item:byte;HK:word); procedure SetMessage(Item:byte;Msg:StrVisible); procedure SetID(Item:byte;ID:word); procedure SetStatus(Item:byte;On:boolean); procedure SetSubMenu(Item:byte;SubMenu:BaseMenuPtr); procedure SetGap(G:byte); procedure SetActiveItem(Item:byte); procedure SetMessageXY(X,Y:byte); procedure SetMenuXY(X,Y:byte); procedure SetHelpKey(K:word); procedure SetHelpHook(Proc:HelpProc); procedure SetAllowEsc(On:boolean); procedure SetColors(HiHot,HiNorm,LoHot,LoNorm,Off:byte); procedure Draw; procedure Remove; function MenuKey(K:word; X,Y:byte):boolean; function Activate: word; function Push(K:word;X,Y:byte); PullMenuOBJ constructor Init; destructor Done; procedure SetSpecialKey(Hk:word;ID:word); procedure AddFullItem(Txt:StrVisible;ID,HK:word; Msg:StrVisible;SubM:BaseMenuPtr); procedure AddItem(Txt:StrVisible); procedure SetTopic(Item:byte;Txt:StrVisible); procedure SetHK(Item:byte;HK:word); procedure SetMessage(Item:byte;Msg:StrVisible); procedure SetID(Item:byte;ID:word); procedure SetStatus(Item:byte;On:boolean); procedure SetSubMenu(Item:byte;SubMenu:BaseMenuPtr); procedure SetGap(G:byte); procedure SetActiveItem(Item:byte); procedure SetMessageXY(X,Y:byte); procedure SetMenuXY(X,Y:byte); procedure SetHelpKey(K:word); procedure SetHelpHook(Proc:HelpProc); procedure SetAllowEsc(On:boolean); Flash Cards FC-37 -------------------------------------------------------------------------------- procedure SetColors(HiHot,HiNorm,LoHot,LoNorm,Off:byte); procedure Draw; procedure Remove; function MenuKey(K:word; X,Y:byte):boolean; function Activate: word; function Push(K:word;X,Y:byte); EZPullArrayOBJ Note the following string syntax for EZPullArrayOBJ and EZPullLinkOBJ objects: '"' element separator '_' inactive item '\' new main menu item 'menu text"description"ID"SpecialHK' constructor Init; destructor Done; procedure AssignList(var StrArray;Total:longint;StrLength:byte); function MainMenu: PullMenuPtr; function SubMenu(MenuNumber:byte):SubMenuPtr; function Activate: word; function Push(K:word;X,Y:byte); EZPullLinkOBJ constructor Init; destructor Done; procedure AssignList(var LinkList:DLLOBJ); function MainMenu: PullMenuPtr; function SubMenu(MenuNumber:byte):SubMenuPtr; function Activate: word; function Push(K:word;X,Y:byte); FC-38 Flash Cards -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Managing Dates - totDATE DateOBJ The global instance DateTOT controls the date defaults. function GetLastYearNextCentury: byte; procedure SetLastYearNextCentury(Yr:byte); function GetSeparator: char; procedure SetSeparator(Sep:char); procedure SetMonths(Mth1,Mth2,Mth3,Mth4,Mth5,Mth6, Mth7,Mth8,Mth9,Mth10,Mth11,Mth12:strshort); procedure SetDays(Day0,Day1,Day2,Day3,Day4,Day5,Day6:strshort); function GetLastYearNextCentury:byte; function GetSeparator:char; function GetMonth(Mth:byte):string; function GetDay(Day:byte):string; Date Functions function GregToJul(M,D,Y:longint):longint; function JulToGreg(Jul:longint;var M,D,Y:longint); function GregToStr(M,D,Y:longint;Format:tDate):string; function JulToSTr(Jul:longint;Format:tDate):string; function DOWJul(Jul:longint):byte; function DOWStr(DStr:string;Format:tDate):byte; function Day(DStr:string;Format:tDate):word; function Month(DStr:string;Format:tDate):word; function Year(DStr:string;Format:tDate):word; function ValidDateStr(DStr:string;Format:tDate):boolean; function TodayInJul:longint; function StartOfYear(Jul:longint):longint; function EndOfYear(Jul:longint):longint; function RelativeDate(DStr:string;Format:tDate;Delta:longint):string; function StripDateStr(DStr:string;Fomrat:tDate):string; function FancyDateStr(Jul:longint;Long,day:boolean):string; function DateFormat(Format:tDate):string; Flash Cards FC-39 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- String Handling - totSTR FmtNumberOBJ The global instance FmtNumberTOT (declared in totIO2) controls the default format of number input fields. constructor Init; destructor Done; procedure SetPrefixSuffix(P,S:char); procedure SetSign(S:tSign); procedure SetSeparators(P,T,D:char); procedure SetJustification(J:tJust); function FormattedLong(Val:longint; Width:byte):string; function FormattedReal(Val:extended;DP:byte;Width:byte):string; String Functions String Adjustment: function Squeeze(L:char;Str:string;Width:byte); function PadLeft(Str:string;Size:byte;ChPad:char):string; function PadRight(Str:string;Size:byte;ChPad:char):string; function PadCenter(Str:string;Size:byte;ChPad:char):string; function Pad(PadJust:tJust;Str:string;Size:byte;ChPad:char):string; function SetUpper(Str:string):string; function SetLower(Str:string):string; function SetProper(Str:string):string; function AdjCase(NewCase:tCase;Str:string):string; function Last(N:byte;Str:string):string; function First(N:byte;Str:string):string; function Strip(L,C:char;Str:string):string; function OverType(N:byte;StrS,StrT:string):string; function PicFormat(Input,Picture:string;Pad:char):string; function TruncFormat(Input:string;Start,Len:byte;Pad:char):string; String Searching: function FirstCapital(Str:string):char; function FirstCapitalPost(Str:string):byte; function LastPos(C:char;Str:string):byte; function LastPosBefore(C:char;Str:string;Last:byte):byte; function LastSubPos(C:char;Str:string;Len:byte):byte; function PosAfter(C:char;Str:string;Start:byte):byte; Word Management: function WordCnt(Str:string):byte; function PosWord(WordNo:byte;Str:string):byte; function ExtractWords(StartWord,NoWords:byte;Str:string):string; FC-40 Flash Cards -------------------------------------------------------------------------------- Number Conversions: function ValidInt(Str:string):boolean; function ValidHEXInt(Str:string):boolean; function ValidReal(Str:string):boolean; function StrToInt(Str:string):integer; function StrToLong(Str:string):longint; function StrToReal(Str:string):extended; function HEXStrToLong(Str:strig):longint; function IntToStr(Number:longint):string; function RealToStr(Number:extended;Decimals:byte):string; function IntToHEXStr(Number:longint):string; function RealToSciStr(Number:extended;D:byte):string; function NthNumber(Str:string;Nth:byte):char; -------------------------------------------------------------------------------- Miscellaneous - totMISC procedure Beep; procedure CurrentTime:string; procedure Swap(var A,B:longint); function WithinRange(Min,Max,Test:longint): boolean; function Exist(Filename:string):boolean; function CopyFile(SourceFile,TargetFile:string): byte; function FSize(Filename:string): longint; function FileDrive(Full:string): string; function FileDirectory(Full:string): string; function FileName(Full:string): string; function FileExt(Full:string): string; function SlashedDirectory(Dir:string):string; function PrinterStatus: byte; function AlternatePrinterStatus:byte; function PrinterReady: boolean; procedure ResetPrinter; procedure PrintScreen:boolean; Flash Cards FC-41 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Key Codes Key Norm Shift Alt Ctrl Key Norm Shift Alt Ctrl a 97 65 286 1 F1 315 340 360 350 b 98 66 304 2 F2 316 341 361 351 c 99 67 302 3 F3 317 342 362 352 d 100 68 288 4 F4 318 343 363 353 e 101 69 274 5 F5 319 344 364 354 f 102 70 289 6 F6 320 345 365 355 g 103 71 290 7 F7 321 346 366 356 h 104 72 291 8 F8 322 347 367 357 i 105 73 279 9 F9 323 348 368 358 j 106 74 292 10 F10 324 349 369 359 k 107 75 293 11 F11 389 391 395 393 l 108 76 294 12 F12 390 392 396 394 m 109 77 306 13 n 110 78 305 14 BkSp 8 8 270 127 o 111 79 280 15 Up 328 428 408 397 p 112 80 281 16 Down 336 436 416 401 q 113 81 272 17 Left 331 431 411 371 r 114 82 275 18 Right 333 433 413 372 s 115 83 287 19 End 335 435 415 373 t 116 84 276 20 Home 327 427 407 375 u 117 85 278 21 PgUp 329 429 409 388 v 118 86 303 22 PgDn 337 437 417 374 w 119 87 273 23 Ins 338 261 418 260 x 120 88 301 24 Del 339 263 419 262 y 121 89 277 25 Tab 9 271 421 404 z 122 90 300 26 Esc 27 27 257 27 Enter 13 13 284 10 1 ! 49 33 376 - 2 @ 50 64 377 259 , < 44 60 307 - 3 # 51 35 378 - . > 46 62 308 - 4 $ 52 36 379 - / ? 47 63 309 - 5 % 53 37 380 - ; : 59 58 295 - 6 ^ 54 94 381 30 ' " 39 34 296 - 7 & 55 38 382 - [ { 91 123 282 27 8 * 56 42 383 - ] } 93 125 283 29 9 ( 57 40 384 - \ | 92 124 299 28 0 ) 48 41 385 - - _ 45 95 386 31 = + 61 43 387 - FC-42 Flash Cards -------------------------------------------------------------------------------- Mouse Action Code Window Action Code Left Click 513 Close Icon Selected 600 Right Click 514 Window Moved 601 Middle Click 515 Window Resized 602 Left + Right 516 Scroll Bar Up 610 Left + Middle 517 Scroll Bar Down 611 Middle + Right 518 Scroll Bar Left 612 All three 519 Scroll Bar Right 613 Left Double 523 Vertical Elevator 614 Right Double 524 Horizontal Elevator 615 Middle Double 525 Mouse Up 584 Mouse Down 592 Mouse Left 589 Mouse Right 587 -------------------------------------------------------------------------------- Color Tables The totFAST unit includes the following functions for managing display attributes: function CAttr(F,B:byte):byte; function FAttr(A:byte):byte; function BAttr(A:byte):byte; CRT Color Constants Black 0 DarkGray 8 Blue 1 LightBlue 9 Green 2 LightGreen 10 Cyan 3 LightCyan 11 Red 4 LightRed 12 Magenta 5 LightMagenta 13 Brown 6 Yellow 14 LightGray 7 White 15