home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / msdos / pascal / totdoc11 / flash.txt < prev    next >
Text File  |  1991-02-11  |  81KB  |  2,017 lines

  1.                                                                      Flash Cards
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.          "A car will be built that runs on water - after being developed from
  11.          newly discovered plans Thomas Edison made before he died."
  12.  
  13.          "New gene-engineered pets will appear - the first ones will be tigers
  14.          the size of kittens"
  15.  
  16.          "Cher will end up in hospital with blood infection after getting a new
  17.          tattoo on her backside"
  18.                                          1991 Predictions, The National Enquirer
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.          This section of the documentation is designed to give you a summary of
  30.          all the objects, methods, procedures and functions in the Toolkit.
  31.          Think of it as a "detailed" Quick Reference.
  32.          A common problem with object libraries is the difficulty developers
  33.          (that's you) have in determining which methods are available for each
  34.          object; especially when an object is descended from other objects and
  35.          many of the methods are inherited. In this section, you will find every
  36.          Toolkit object with a list of all associated "public" methods supported
  37.          by the object, including inherited methods.
  38.  
  39.          The Flash Cards are organized into major topics such as Screen Writing,
  40.          Window Manipulation, Hardware, Form Input, etc. The next two pages
  41.          graphically show the Toolkit object structure in the form of two Object
  42.          Hierarchy diagrams. These diagrams provide a road map for all the
  43.          objects available. Note that shaded objects are abstract and should not
  44.          be used directly, i.e. do not declare an instance of the abstract
  45.          object type.
  46.  
  47.  
  48. FC-2                                                                 Flash Cards
  49. --------------------------------------------------------------------------------
  50.  
  51.  
  52.  
  53.  
  54. Flash Cards                                                                 FC-3
  55. --------------------------------------------------------------------------------
  56.  
  57.  
  58.  
  59.  
  60. FC-4                                                                 Flash Cards
  61. --------------------------------------------------------------------------------
  62.  
  63. Object Summary
  64.  
  65.          Listed below is a comprehensive list (in alphabetical order) of all the
  66.          public objects available in the Toolkit:
  67.  
  68.  
  69.          AlphabetOBJ     totINPUT   Controls how the Toolkit determines which
  70.                                     characters are upper- and lower-case, and
  71.                                     how to change the case of letters. This
  72.                                     object is primarily designed for interna-
  73.                                     tional users with a non-English alphabet.
  74.          ArrayIOOBJ      totIO2     A scrollable list of options from which the
  75.                                     user may select one. The displayed list is
  76.                                     based on the contents of a one-dimensional
  77.                                     string array.
  78.  
  79.          BrowseArrayOBJ  totLIST    Displays the contents of a string array in a
  80.                                     scrollable browse window.
  81.          BrowseFileOBJ   totLIST    Displays the contents of a text file in a
  82.                                     scrollable browse window.
  83.  
  84.          BrowseLinkOBJ   totLIST    Displays the contents of a DLLOBJ instance
  85.                                     in a scrollable browse window.
  86.          ButtonMessageOB totMSG     Displays a multi-line message in a pop-up
  87.          J                          moveable window (like MessageOBJ), and uses
  88.                                     a box button for the "OK" prompt.
  89.  
  90.          ButtonPromptOBJ totMSG     Displays a multi-line message with two or
  91.                                     three box buttons.
  92.          ButttonIOOBJ    totIO1     A "Norton Utilities-like" box button.
  93.  
  94.          CheckIOOBJ      totIO1     A check box field, where the user can check
  95.                                     any item in the list.
  96.          ControlKeysIOOB totIO1     Defines which keys are used to move between
  97.          J                          fields, and which keys terminate the input
  98.                                     session.
  99.  
  100.          DateIOOBJ       totIO2     Input of dates. The Toolkit supports eight
  101.                                     different date formats, and this field will
  102.                                     automatically verify that the date entered
  103.                                     is valid and, optionally, within a specified
  104.                                     range.
  105.          DateOBJ         totDATE    Controls the basic date format settings. Use
  106.                                     the global instance DATETOT.
  107.  
  108.          DirWinOBJ       totDIR     Displays a file selection dialog box in a
  109.                                     moveable window.
  110.  
  111.  
  112. Flash Cards                                                                 FC-5
  113. --------------------------------------------------------------------------------
  114.  
  115.          DisplayOBJ      totSYS     Controls and provides data about the
  116.                                     installed video display system. Use the
  117.                                     global instance pointer Monitor^.
  118.  
  119.          DLLOBJ          totLINK    A generic doubly-linked list manager.
  120.          EquipOBJ        totSYS     Provides data about installed equipment,
  121.                                     e.g. number of parallel ports.
  122.  
  123.          FixedRealIOOBJ  totIO2     Like RealIOOBJ, this object is for the input
  124.                                     of real numbers. The object is similar to
  125.                                     contemporary database packages - there are a
  126.                                     fixed number of decimal places, and when the
  127.                                     user presses [KEYCAP] the cursor jumps to
  128.                                     the right of the decimal place.
  129.          FmtNumberOBJ    totSTR     Provides function methods to format integer
  130.                                     and real numbers.
  131.  
  132.          FormOBJ         totIO1     Full screen input manager for creating input
  133.                                     forms and dialog boxes.
  134.          HexIOOBJ        totIO2     Just for the engineers, this accepts the
  135.                                     input of hexadecimal numbers!
  136.  
  137.          HotKeyIOOBJ     totIO1     HotkeyIOOBJ an invisible field, used to trap
  138.                                     for special keys. For example, the key
  139.                                     [KEYCAP] might terminate the input session.
  140.          IntIOOBJ        totIO2     Whole number input. Use this object when you
  141.                                     want to obtain a whole number, i.e. short-
  142.                                     int, byte, integer, word, longint. Provides
  143.                                     methods to ensure input is within a
  144.                                     specified range.
  145.  
  146.          KeyOBJ          totINPUT   Reports information about keyboard and mouse
  147.                                     activity. Use the global instance Key.
  148.          LateralIOOBJ    totIO2     String input which supports lateral scrol-
  149.                                     ling. For example, the field width can be
  150.                                     set to 20 characters wide, but the user
  151.                                     might be allowed to enter up to 40 charac-
  152.                                     ters.
  153.  
  154.          LinkIOOBJ       totIO2     A scrollable list based on the contents of a
  155.                                     DLLOBJ instance.
  156.          ListArrayOBJ    totLIST    Displays a pick list of items from a string
  157.                                     array in a stretchable window.
  158.  
  159.          ListDirOBJ      totLIST    Displays a pick list of filenames in a
  160.                                     stretchable window.
  161.          ListLinkOBJ     totLIST    Displays a pick of items from a DLLOBJ
  162.                                     instance in a stretchable window.
  163.  
  164. FC-6                                                                 Flash Cards
  165. --------------------------------------------------------------------------------
  166.  
  167.          LookOBJ         totLOOK    Defines default attributes for windows,
  168.                                     lists and menus. Use the global instance
  169.                                     pointer LookTOT^.
  170.  
  171.          MemOBJ          totSYS     Provides data about the system's installed
  172.                                     memory, including base, extended and
  173.                                     expanded.
  174.          MessageOBJ      totMSG     Displays a multi-line message in a pop-up
  175.                                     moveable window.
  176.  
  177.          MouseOBJ        totINPUT   Controls the mouse cursor position and dis-
  178.                                     play attributes. Use the global instance
  179.                                     Mouse.
  180.          MoveWinOBJ      totWIN     Creates user-moveable windows, and includes
  181.                                     methods for control the screen area in which
  182.                                     the window can be moved.
  183.  
  184.          OSOBJ           totSYS     Providing data about the installed operating
  185.                                     system and the country settings.
  186.          PictureIOOBJ    tot102     String input which supports a special field
  187.                                     mask or picture to control input.
  188.  
  189.          PromptOBJ       totMSG     Displays a multi-line message with two or
  190.                                     three strip buttons.
  191.          RadioIOOBJ      totIO1     A radio button field where the user can
  192.                                     select any one item in the list.
  193.  
  194.          RealIOOBJ       totIO2     Real number input. By using Toolkit compiler
  195.                                     directives, this object can get input of
  196.                                     single, double, extended and comp reals.
  197.                                     Provides methods to ensure input is within a
  198.                                     specified range.
  199.          ScreenOBJ       totFAST    Provides screen writing and management meth-
  200.                                     ods, for both physical and virtual screens.
  201.                                     Use the global instance Screen to access the
  202.                                     visible display.
  203.  
  204.          ScrollOBJ       totFAST    Controls the appearance of all scroll bars
  205.                                     displayed by the Toolkit. Use the global
  206.                                     instance ScrollTOT.
  207.          ScrollWinOBJ    totWIN     A moveable window which can optionally dis-
  208.                                     play vertical and/or horizontal scroll bars.
  209.  
  210.          ShadowOBJ       totFAST    Controls the cosmetic appearance of shadows.
  211.                                     Use the global instance ShadowTOT.
  212.          StrDLLOBJ       totLINK    A doubly-linked list object for managing
  213.                                     strings.
  214.  
  215.  
  216. Flash Cards                                                                 FC-7
  217. --------------------------------------------------------------------------------
  218.  
  219.          StretchWinOBJ   totWIN     Creates flexible windows which can be moved,
  220.                                     stretched and zoomed.
  221.  
  222.          StringIOOBJ     totIO2     Basic string input. Provides methods to
  223.                                     force the case of text, and to justify text
  224.                                     when the user moves to another field.
  225.          Strip3dIOOBJ    totIO1     The same as StripIOOBJ, except that a small
  226.                                     3-D shadow is drawn behind the strip.
  227.  
  228.          StripIOOBJ      totIO1     A "Turbo 6.0-like" button which the user can
  229.                                     select, e.g. buttons for Edit, Save, Cancel,
  230.                                     etc.
  231.          WinFormOBJ      totIO1     A window-based full screen input manager for
  232.                                     creating input forms and dialog boxes.
  233.  
  234.          WinOBJ          totWIN     Provides basic window capabilities by saving
  235.                                     the underlying screen box, and drawing a
  236.                                     shadowed box.
  237.          WriteOBJ        totFAST    This object should not be directly accessed.
  238.                                     Its methods are called by ScreenOBJ objects.
  239.  
  240.          WWArrayIOOBJ    totIO3     A multi-line word-wrapping field. A one-
  241.                                     dimensional string array is assigned to the
  242.                                     field. The contents of the array are updated
  243.                                     with the user's input.
  244.          WWLinkIOOBJ     totIO3     A multi-line word-wrapping field. A DLLOBJ
  245.                                     instance is assigned to the field. The
  246.                                     linked list is updated with the user's
  247.                                     input.
  248.  
  249.  
  250. --------------------------------------------------------------------------------
  251. Important Type Declarations & Global Objects
  252.  
  253.  
  254. Conditional Compiler Directives
  255.  
  256.  
  257.          FINAL         Use when building your final production version.
  258.  
  259.          FLOAT         Enables extended real types.
  260.          FLOATEM       Instructs compiler to emulate a math co-processor.
  261.  
  262.          OVERLAY       Makes all Toolkit units overlayable.
  263.  
  264.  
  265.  
  266. FC-8                                                                 Flash Cards
  267. --------------------------------------------------------------------------------
  268.  
  269. Global Objects
  270.  
  271.          The following instances are declared globally and should be used to
  272.          access the display, mouse and keyboard:
  273.          Screen     Use this ScreenOBJ instance to perform all write operations
  274.                     to the physical screen.
  275.  
  276.          Mouse      Use this MouseOBJ instance to show and hide the mouse.
  277.          Key        Use this KeyOBJ for all keyboard and mouse checking.
  278.  
  279.          Monitor^   Use this DisplayOBJ instance pointer to check the status of
  280.                     the installed display, e.g. Monitor^.ColorOn.
  281.  
  282.  
  283. Type Declarations
  284.  
  285. totSYS
  286.          tVideo = (UnKnown, Mono, CGA, MCGAMono, MCGACol, EGAMono, EGACol, VGA-
  287.          col);
  288.          tDate = (USA,Europe,Japan);
  289.  
  290. totFAST
  291.  
  292.          StrScreen = string[255];
  293.          StrVisible = string[80];
  294.          Direction = (Up, Down, Left, Right, Vert, Horiz);
  295.          Coords = record
  296.             X1,Y1,X2,Y2:shortint;
  297.          end;
  298.          ByteCoords = record
  299.             X1,Y1,X2,Y2:byte;
  300.          end;
  301.          ShadowPosition = (UpLeft, UpRight, DownLeft, DownRight);
  302.  
  303. totLink
  304.          tFileInfo = record
  305.             Filename: string[12];
  306.             Attr: byte;
  307.             Time: longint;
  308.             Size:longint;
  309.             LoadID: longint;
  310.          end;
  311.  
  312. totList
  313.  
  314.          tListAction = (Finish, Refresh, None);
  315.  
  316.  
  317.  
  318.  
  319. Flash Cards                                                                 FC-9
  320. --------------------------------------------------------------------------------
  321.  
  322. totInput
  323.  
  324.          CharSet = set of char
  325.  
  326. totIO1
  327.          tCursPos = (CursLeft, CursRight, CursPrev);
  328.          tAction = (None, NextField, PrevField, Finished, Escaped,
  329.                     Refresh, Signal, Enter, Help, Stop1, Stop2,
  330.                     Stop3, Stop4, Stop5, Stop6, Stop7, Stop8, Stop9);
  331.          StringBut = string[MaxButtonWidth];
  332.          tSignal = record;
  333.             ID: word;
  334.             MsgType: word;
  335.             case word of
  336.             0: (MsgPtr: pointer);
  337.             1: (MsgLong: longint);
  338.             2: (MsgWord: word);
  339.             3: (MsgInt: integer);
  340.             4: (MsgByte: byte);
  341.             5: (MsgChar: char);
  342.          end;
  343.  
  344. totSTR
  345.  
  346.          tJust = (JustLeft, JustCenter, JustRight);
  347.          tCase = (Lower, Upper, Proper, Leave);
  348.          tSign = (PlusMinus, Minus, Brackets, DbCr);
  349.          Const
  350.  
  351.          FmtChars: set of char = ['!','#','@','*'];
  352.  
  353. totDATE
  354.          tDate = (MMDDYY, MMDDYYY, MMYY, MMYYYY, DDMMYY, DDMMYYYY,
  355.                   YYMMDD, YYYYMMDD);
  356.  
  357.  
  358. --------------------------------------------------------------------------------
  359. Overall Look & Feel - totLOOK
  360.  
  361.  
  362. LookTOT^
  363.  
  364.          Controls the default settings for windows, lists and menus.
  365.  
  366.  
  367.  
  368.  
  369. FC-10                                                                Flash Cards
  370. --------------------------------------------------------------------------------
  371.  
  372.          procedure SetWindow(Border,Body,Icons:byte);
  373.          procedure SetWinKeys(Move,Stretch,Zoom:word);
  374.          procedure SetListKeys(EndKey,Esc,Toggle,Tag,UnTag:word);
  375.          procedure SetListChars(LeftChar,RightChar,
  376.                                 ToggleOnChar,ToggleOffChar:char);
  377.          procedure SetMenu(Bor,Tit,Icon,HiHot,HiNorm,LoHot,LoNorm,Off:byte);
  378.          procedure SetDefaults;
  379.          function  WinBorder:byte;
  380.          function  WinBody:byte;
  381.          function  WinTitle:byte;
  382.          function  WinIcons:byte;
  383.          function  WinMoveKey: word;
  384.          function  WinStretchKey: word;
  385.          function  WinZoomKey: word;
  386.          function  ListEndKey: word;
  387.          function  ListEscKey: word;
  388.          function  ListToggleKey: word;
  389.          function  ListTagKey: word;
  390.          function  ListUnTagKey: word;
  391.          function  ListLeftChar: char;
  392.          function  ListRightChar: char;
  393.          function  ListToggleOnChar: char;
  394.          function  ListToggleOffChar: char;
  395.          function  MenuBor:byte;
  396.          function  MenuTit:byte;
  397.          function  MenuIcon:byte;
  398.          function  MenuHiHot:byte;
  399.          function  MenuHiNorm:byte;
  400.          function  MenuLoHot:byte;
  401.          function  MenuLoNorm:byte;
  402.          function  MenuOff:byte;
  403.  
  404. ShadowTOT^
  405.  
  406.          Controls the Toolkit box and window shadow characteristics.
  407.          procedure SetShadowStyle(ShadP:ShadowPosition;ShadA:byte;ShadC:char);
  408.          procedure SetShadowSize(ShadW,ShadD:byte);
  409.          procedure SetDefaults;
  410.          function  ShadWidth:byte;
  411.          function  ShadDepth:byte;
  412.          function  ShadAttr:byte;
  413.          function  ShadChar:char;
  414.          function  ShadPos:ShadowPosition;
  415.  
  416. ScrollTOT^
  417.  
  418.          Controls the characters used to create scroll bars.
  419.  
  420.  
  421.  
  422. Flash Cards                                                                FC-11
  423. --------------------------------------------------------------------------------
  424.  
  425.          procedure SetScrollChars(U,D,L,R,E,B:char);
  426.          procedure SetDefaults;
  427.          function  UpChar:char;
  428.          function  DownChar:char;
  429.          function  LeftChar:char;
  430.          function  RightChar:char;
  431.          function  ElevatorChar:char;
  432.          function  BackgroundChar:char;
  433.  
  434. DateTOT^
  435.  
  436.          Controls default date characteristics.
  437.          function  GetLastYearNextCentury: byte;
  438.          procedure SetLastYearNextCentury(Yr:byte);
  439.          function  GetSeparator: char;
  440.          procedure SetSeparator(Sep:char);
  441.          procedure SetMonths(Mth1,Mth2,Mth3,Mth4,Mth5,Mth6,
  442.                              Mth7,Mth8,Mth9,Mth10,Mth11,Mth12:strshort);
  443.          procedure SetDays(Day0,Day1,Day2,Day3,Day4,Day5,Day6:strshort);
  444.          function  GetLastYearNextCentury:byte;
  445.          function  GetSeparator:char;
  446.          function  GetMonth(Mth:byte):string;
  447.          function  GetDay(Day:byte):string;
  448.  
  449. IOTOT^
  450.  
  451.          Controls default input characteristics.
  452.          procedure SetDefaults;
  453.          procedure SetColLabel(Off,OffHot,On,OnHot:byte);
  454.          procedure SetColButton(Off,OffHot,On,OnHot:byte);
  455.          procedure SetColGroup(Off,OffHot,On,OnHot:byte);
  456.          procedure SetColList(Off,OffHot,On,OnHot:byte);
  457.          procedure SetColField(Off,On,Mask,Inactive:byte);
  458.          procedure SetColMsg(Col:byte);
  459.          procedure SetIns(InsOn:boolean);
  460.          procedure SetRules(Rules:byte);
  461.          procedure SetPadChar(Pad:char);
  462.          procedure SetJust(Just:tJust);
  463.          procedure SetCursor(Curs:tCursPos);
  464.          procedure SetCase(Cas:tCase);
  465.          procedure SetForceCase(On:boolean);
  466.          function  LabelCol(Element:byte):byte;
  467.          function  ButtonCol(Element:byte):byte;
  468.          function  GroupCol(Element:byte):byte;
  469.          function  ListCol(Element:byte):byte;
  470.          function  FieldCol(Element:byte):byte;
  471.          function  MessageCol:byte;
  472.          function  InputPad:char;
  473.  
  474.  
  475.  
  476.  
  477. FC-12                                                                Flash Cards
  478. --------------------------------------------------------------------------------
  479.  
  480.          function  InputIns:boolean;
  481.          function  InputRules:byte;
  482.          function  InputPadChar:char;
  483.          function  InputJust:tJust;
  484.          function  InputCursorLoc:tCursPos;
  485.          function  InputCase:tCase;
  486.          function  InputForceCase:boolean;
  487.  
  488. AlphabetTOT^
  489.  
  490.          Controls how the Toolkit determines upper- and lower-case characters,
  491.          and how to change the case of a character.
  492.          procedure AssignUpCaseFunc(Func:caseFunc);
  493.          procedure AssignLoCaseFunc(Func:caseFunc);
  494.          procedure SetUpper(Letters:CharSet);
  495.          procedure SetLower(Letters:CharSet);
  496.          procedure SetPunctuation(Letters:CharSet);
  497.          function  IsUpper(K:word):boolean;
  498.          function  IsLower(K:word):boolean;
  499.          function  IsLetter(K:word):boolean;
  500.          function  IsPunctuation(K:word):boolean;
  501.          function  GetUpCase(Ch:char):char;
  502.          function  GetLoCase(Ch:char):char;
  503.  
  504.          The syntax for the functions to be passed to AssignUpCaseFunc and
  505.          AssignLoCaseFunc is as follows:
  506.          function MyConverter(Ch:char):char;
  507.  
  508.  
  509.  
  510.  
  511. Flash Cards                                                                FC-13
  512. --------------------------------------------------------------------------------
  513.  
  514. --------------------------------------------------------------------------------
  515. Controlling Hardware - totSYS
  516.  
  517.  
  518. DisplayOBJ
  519.  
  520.          Remember that the Toolkit includes the global instance Monitor^ which
  521.          is a pointer to a DisplayOBJ. Use this instance pointer with the syntax
  522.          Monitor^.method, rather than creating a new instance.
  523.          function  SnowProne:boolean
  524.          function  GetMode:byte
  525.          function  ColorOn:boolean
  526.          procedure SetBW(On:boolean)
  527.          function  DisplayType:tVideo
  528.          function  BaseOfScreen:pointer;
  529.          function  Width:byte
  530.          function  Depth:byte
  531.          function  SetCondensed:byte;
  532.          procedure Set25;
  533.  
  534. EquipOBJ
  535.  
  536.          constructor Init;
  537.          destructor  Done;
  538.          function    ParallelPorts:byte;
  539.          function    SerialPorts:byte;
  540.          function    FloppyDrives:byte;
  541.          function    ROMDate:string;
  542.          function    GameAdapter:boolean;
  543.          function    Serialprinter:boolean;
  544.          function    MathChip:boolean;
  545.  
  546. MemOBJ
  547.          constructor Init;
  548.          destructor  Done;
  549.          function    BaseMemory:integer;
  550.          function    EMMInstalled:boolean;
  551.          function    EMMversionMajor:byte;
  552.          function    EMMversionMinor:byte;
  553.          function    EMMversion:string;
  554.          function    MaxExpMem:word;
  555.          function    ExpMemAvail:word;
  556.          function    ExtMemAvail:word;
  557.  
  558. OSOBJ
  559.  
  560.          constructor Init;
  561.          destructor  Done;
  562.          function    OSVersionMajor:byte;
  563.  
  564.  
  565.  
  566. FC-14                                                                Flash Cards
  567. --------------------------------------------------------------------------------
  568.  
  569.          function    OSVersionMinor:byte;
  570.          function    OSVersion:string;
  571.          function    Country:word;
  572.          function    Currency:string;
  573.          function    DateFmt:tDate;
  574.          function    ThousandsSep:char;
  575.          function    DecimalSep:char;
  576.          function    DateSep:char;
  577.          function    TimeSep:char;
  578.          function    TimeFmt:byte;
  579.          function    CurrencyFmt:byte;
  580.          function    CurrencyDecPlaces:byte;
  581.  
  582.  
  583. --------------------------------------------------------------------------------
  584. Screen Writing - totFAST
  585.  
  586.  
  587. ScreenOBJ
  588.  
  589.          Instance Methods:
  590.          constructor Init;
  591.          destructor  Done;
  592.          Screen Writing:
  593.          procedure Write(Str:string);
  594.          procedure WriteLn(Str:string);
  595.          procedure WriteAT(X,Y,Attr:byte;Str:string);
  596.          procedure SetHiMarker(M:char);
  597.          procedure WriteHi(X,Y,AttrHi,Attr:byte;Str:string);
  598.          procedure WriteCap(X,Y,AttrCap,Attr:byte;Str:string);
  599.          procedure WriteClick(X,Y,Attr:byte;Str:string);
  600.          procedure WriteCenter(Y,Attr:byte;Str:string);
  601.          procedure WriteBetween(X1,X2,Y1,Attr:byte;Str:string);
  602.          procedure WriteRight(X,Y,Attr:byte;Str:string):
  603.          procedure WriteVert(X,Y,Attr:byte;Str:string);
  604.          procedure WritePlain(X,Y:byte;Str:string);
  605.  
  606.          Screen Clearing:
  607.          procedure Clear(Attr:byte;Ch:char);
  608.          procedure PartClear(X1,Y1,X2,Y2,Attr:byte;Ch:char);
  609.          procedure ClearText(X1,Y1,X2,Y2:byte);
  610.          Attribute Changing:
  611.          procedure Attrib(X1,Y1,X2,Y2,Attr:byte);
  612.  
  613.  
  614.  
  615.  
  616. Flash Cards                                                                FC-15
  617. --------------------------------------------------------------------------------
  618.  
  619.          Box & Line Drawing:
  620.          procedure Box(X1,Y1,X2,Y2,attr,style:byte);
  621.          procedure FillBox(X1,Y1,X2,Y2,attr,style:byte);
  622.          procedure ShadFillBox(X1,Y1,X2,Y2,attr,style:byte);
  623.          procedure TitledBox(X1,Y1,X2,Y2,Battr,Tattr,
  624.                              Mattr,style:byte;Title:string);
  625.          procedure HorizLine(X1,X2,Y,Attr,Style:byte);
  626.          procedure VertLine(X,Y1,Y2,Attr,Style:byte);
  627.          procedure SmartHorizLine(X1,X2,Y,Attr,Style:byte);
  628.          procedure SmartVertLine(X,Y1,Y2,Attr,Style:byte);
  629.  
  630.          Screen Reading:
  631.          function  ReadChar(X,Y:byte):char;
  632.          function  ReadAttr(X,Y:byte):byte;
  633.          function  ReadWord(X,Y:byte;varAttr:byte;varCh:char);
  634.          function  ReadStr(X1,X2,Y:byte):string;
  635.          Scroll Bar Drawing:
  636.          procedure WriteHScrollBar(X1,X2,Y,Attr:byte;Current,Max:longint);
  637.          procedure WriteVScrollBar(X,Y1,Y2,Attr:byte;Current,Max:longit);
  638.  
  639.          Block Manipulation:
  640.          procedure Scroll(Way:tDirection;X1,Y1,X2,Y2:byte);
  641.          procedure CopyScreenBlock(X1,Y1,X2,Y2,X,Y:byte);
  642.          procedure MoveScreenBlock(X1,Y1,X2,Y2,X,Y:byte);
  643.          Cursor Control:
  644.          procedure GotoXY(X,Y:byte);
  645.          function  WhereX:byte;
  646.          function  WhereY:byte;
  647.          procedure CursOff;
  648.          procedure CursOn:
  649.          procedure CursHalf;
  650.          procedure CursFull;
  651.          procedure CursReset;
  652.          function  CharHeight:integer;
  653.          procedure CursSize(T,B:byte);
  654.          function  CursTop:byte;
  655.          function  CursBot:byte;
  656.  
  657.          Window management:
  658.          procedure SetWindow(X1,Y1,X2,Y2:byte);
  659.          procedure ResetWindow;
  660.          procedure WindowActive:boolean;
  661.          procedure WindowOff:boolean;
  662.          procedure WindowOn;
  663.          procedure WindowCoords(varCoords:tByteCoords);
  664.          procedure SetWinIgnore(On:boolean);
  665.  
  666.  
  667.  
  668.  
  669. FC-16                                                                Flash Cards
  670. --------------------------------------------------------------------------------
  671.  
  672.          Virtual Screens:
  673.          procedure Create(Width,Depth,Attr:byte);
  674.          procedure ScreenPtr:pointer;
  675.          procedure Width:byte;
  676.          procedure Depth:byte;
  677.          procedure Exists:boolean;
  678.          procedure Display;
  679.          procedure SlideDisplay(Way:tDirection);
  680.          procedure PartDisplay(X1,Y1,X2,Y2,X,Y:byte);
  681.          procedure PartSlideDisplay(X1,Y1,X2,Y2:byte;Way:tDirection);
  682.  
  683.  
  684. --------------------------------------------------------------------------------
  685. KeyBoard and Mouse Input - totINPUT
  686.  
  687.  
  688. KeyOBJ
  689.  
  690.          To access the keyboard use the global instance Key.
  691.          Mouse Settings:
  692.          procedure SetMouseMethod(Method:byte);
  693.          procedure SetHoriz(Sensitivity:byte);
  694.          procedure SetVert(Sensitivity:byte);
  695.  
  696.          Determining Input:
  697.          procedure GetInput;
  698.          procedure GetKey:word;
  699.          procedure LastKey:word;
  700.          procedure LastChar:char;
  701.          procedure LastX:byte;
  702.          procedure LastY:byte;
  703.          procedure DelayKey(Mills:longint);
  704.          procedure Extended:boolean;
  705.          Alt, Ctrl & Shift:
  706.          procedure AltPressed:boolean;
  707.          procedure CtrlPressed:boolean;
  708.          procedure LeftShiftPressed:boolean;
  709.          procedure RightShiftPressed:boolean;
  710.          procedure ShiftPressed:boolean;
  711.  
  712.          Caps, Num & Scroll Lock:
  713.          procedure SetCaps(On:boolean);
  714.          procedure SetNum(On:boolean);
  715.          procedure SetScroll(On:boolean);
  716.  
  717.  
  718.  
  719.  
  720. Flash Cards                                                                FC-17
  721. --------------------------------------------------------------------------------
  722.  
  723.          procedure GetCaps:boolean;
  724.          procedure GetNum:boolean;
  725.          procedure GetScroll:boolean;
  726.  
  727.          Buffer Control:
  728.          procedure StuffBuffer(W:word);
  729.          procedure StuffBufferStr(Str:string);
  730.          procedure StuffbufferStr(Str:string);
  731.          procedure FlushBuffer;
  732.          procedure KeyPressed:boolean;
  733.          Hooks:
  734.          procedure AssignIdleHook(PassedProc:InputIdleProc);
  735.          procedure AssignPressedHook(PassedProc:InputPressedProc);
  736.  
  737. MouseOBJ
  738.  
  739.          procedure Installed:boolean;
  740.          procedure Visible:boolean;
  741.          procedure Hide;
  742.          procedure Show;
  743.          procedure Move(X,Y;integer);
  744.          procedure Confine(X1,Y1,X2,Y2:byte);
  745.          procedure Location(varX,Y:byte);
  746.          procedure Status(varL,C,R:boolean;varX,Y);
  747.          function  Pressed(Button:integer;varX,Y:byte):byte;
  748.          function  Released(Button:integer;varX,Y:byte):byte;
  749.          procedure GetButtons:byte;
  750.          procedure SetMouseCursorStyle(OrdChar,Attr:byte);
  751.          procedure SetLeft(On:boolean);
  752.          procedure Reset;
  753.  
  754. Hook Syntax
  755.          Idle Hook       procedure MyIdleHook;
  756.  
  757.          Pressed Hook    procedure MyPressedHook(var W:word);
  758.  
  759.  
  760.  
  761.  
  762. FC-18                                                                Flash Cards
  763. --------------------------------------------------------------------------------
  764.  
  765. --------------------------------------------------------------------------------
  766. Windows - totWIN
  767.  
  768.  
  769. WinOBJ
  770.  
  771.          constructor Init;
  772.          destructor  Done;
  773.          procedure   SetSize(X1,Y1,X2,Y2,Style:byte);
  774.          procedure   SetTitle(Title:string);
  775.          procedure   SetColors(Border,Body,Title,Icons:byte);
  776.          procedure   SetRemove(On:boolean);
  777.          procedure   SetClose(On:boolean);
  778.          procedure   GetSize(var X1,Y1,X2,Y2,Style:byte);
  779.          function    GetX:byte;
  780.          function    GetY:byte;
  781.          function    GetStyle:byte;
  782.          function    GetBorderAttr:byte;
  783.          function    GetBodyAttr:byte;
  784.          function    GetIconsAttr:byte;
  785.          function    GetTitleAttr:byte;
  786.          function    GetRemoveStatus:boolean;
  787.          procedure   Draw;
  788.          procedure   GrowDraw;
  789.          procedure   Remove;
  790.          procedure   WinKey(var K:word;var X,Y:byte);
  791.          procedure   WinGetKey(var K:word;var X,Y:byte);
  792.  
  793. MoveWinOBJ
  794.          constructor Init;
  795.          destructor  Done;
  796.          procedure   SetBoundary(X1,Y1,X2,Y2:byte);
  797.          procedure   SetSize(X1,Y1,X2,Y2,Style:byte);
  798.          procedure   SetTitle(Title:string);
  799.          procedure   SetColors(Border,Body,Title,Icons:byte);
  800.          procedure   SetRemove(On:boolean);
  801.          procedure   SetClose(On:boolean);
  802.          procedure   SetAllowMove(On:boolean);
  803.          procedure   GetSize(varX1,Y1,X2,Y2,Style:byte);
  804.          function    GetX:byte;
  805.          function    GetY:byte;
  806.          function    GetStyle:byte;
  807.          function    GetBorderAttr:byte;
  808.          function    GetBodyAttr:byte;
  809.          function    GetIconsAttr:byte;
  810.          function    GetTitleAttr:byte;
  811.          function    GetRemoveStatus:boolean;
  812.          procedure   Draw;
  813.  
  814.  
  815.  
  816.  
  817. Flash Cards                                                                FC-19
  818. --------------------------------------------------------------------------------
  819.  
  820.          procedure   GrowDraw;
  821.          procedure   Remove;
  822.          procedure   WinKey(var K:word;var X,Y:byte);
  823.          procedure   WinGetKey(varK:word;varX,Y:byte);
  824.  
  825. ScrollWinOBJ
  826.  
  827.          constructor Init;
  828.          destructor  Done;
  829.          procedure   SetScrollable(Vert,Horiz:boolean);
  830.          procedure   SetBoundary(X1,Y1,X2,Y2:byte);
  831.          procedure   SetSize(X1,Y1,X2,Y2,Style:byte);
  832.          procedure   SetTitle(Title:string);
  833.          procedure   SetColors(Border,Body,Title,Icons:byte);
  834.          procedure   SetRemove(On:boolean);
  835.          procedure   SetClose(On:boolean);
  836.          procedure   SetAllowMove(On:boolean);
  837.          procedure   GetSize(varX1,Y1,X2,Y2,Style:byte);
  838.          function    GetX:byte;
  839.          function    GetY:byte;
  840.          function    GetStyle:byte;
  841.          function    GetBorderAttr:byte;
  842.          function    GetBodyAttr:byte;
  843.          function    GetIconsAttr:byte;
  844.          function    GetTitleAttr:byte;
  845.          function    GetRemoveStatus:boolean;
  846.          procedure   Draw;
  847.          procedure   GrowDraw;
  848.          procedure   Remove;
  849.          procedure   WinKey(var K:word;var X,Y:byte);
  850.          procedure   WinGetKey(varK:word;varX,Y:byte);
  851.          procedure   DrawHorizBar(Current,Max:longint);
  852.          procedure   DrawVertBar(Current,Max:longint);
  853.  
  854. StretchWinOBJ
  855.          constructor Init;
  856.          destructor  Done;
  857.          procedure   SetMinSize(Width,Depth:byte);
  858.          procedure   SetScrollable(Vert,Horiz:boolean);
  859.          procedure   SetBoundary(X1,Y1,X2,Y2:byte);
  860.          procedure   SetSize(X1,Y1,X2,Y2,Style:byte);
  861.          procedure   SetTitle(Title:string);
  862.          procedure   SetColors(Border,Body,Title,Icons:byte);
  863.          procedure   SetRemove(On:boolean);
  864.          procedure   SetClose(On:boolean);
  865.          procedure   SetAllowMove(On:boolean);
  866.          procedure   SetAllowStretch(On:boolean);
  867.          procedure   GetSize(var X1,Y1,X2,Y2,Style:byte);
  868.  
  869.  
  870.  
  871.  
  872. FC-20                                                                Flash Cards
  873. --------------------------------------------------------------------------------
  874.  
  875.          function    GetX:byte;
  876.          function    GetY:byte;
  877.          function    GetStyle:byte;
  878.          function    GetBorderAttr:byte;
  879.          function    GetBodyAttr:byte;
  880.          function    GetIconsAttr:byte;
  881.          function    GetTitleAttr:byte;
  882.          function    GetRemoveStatus:boolean;
  883.          procedure   Draw;
  884.          procedure   GrowDraw;
  885.          procedure   Remove;
  886.          procedure   WinKey(var K:word;var X,Y:byte);
  887.          procedure   WinGetKey(var K:word;varX,Y:byte);
  888.          procedure   DrawHorizBar(Current,Max:longint);
  889.          procedure   DrawVertBar(Current,Max:longint);
  890.  
  891.  
  892.  
  893.  
  894. Flash Cards                                                                FC-21
  895. --------------------------------------------------------------------------------
  896.  
  897. --------------------------------------------------------------------------------
  898. Messages and Prompts - totMSG
  899.  
  900.  
  901. MessageOBJ
  902.  
  903.          constructor Init(Style:byte;Tit:string);
  904.          destructor  Done;
  905.          procedure   AddLine(Str:string);
  906.          procedure   Show;
  907.          procedure   SetOption(Str:string;Hotkey:word);
  908.          function    WinForm: WinFormPtr;
  909.  
  910. ButtonMessageOBJ
  911.          constructor Init(Style:byte;Tit:string);
  912.          destructor  Done;
  913.          procedure   AddLine(Str:string);
  914.          procedure   Show;
  915.          procedure   SetOption(Str:string;Hotkey:word);
  916.          function    WinForm: WinFormPtr;
  917.  
  918. PromptOBJ
  919.  
  920.          constructor Init(Style:byte;Tit:string);
  921.          destructor  Done;
  922.          procedure   AddLine(Str:string);
  923.          procedure   Show:tAction;
  924.          procedure   SetOption(ID:byte;Str:StringBut;Hotkey:word;Act:tAction);
  925.          function    WinForm: WinFormPtr;
  926.  
  927. ButtonPromptOBJ
  928.          constructor Init(Style:byte;Tit:string);
  929.          destructor  Done;
  930.          procedure   AddLine(Str:string);
  931.          procedure   Show:tAction;
  932.          procedure   SetOption(ID:byte;Str:StringBut;Hotkey:word;Act:tAction);
  933.          function    WinForm: WinFormPtr;
  934.  
  935. Color Control
  936.  
  937.          To control the display color of the message dialog box, you must set
  938.          the window colors and the button colors using the following two meth-
  939.          ods:
  940.          MyInstance.WinForm^.Win^.SetColors(Border,Body,Title,Icons:byte);
  941.          IOTOT^.SetColButton(Off,OffHot,On,OnHot:byte);
  942.  
  943.  
  944.  
  945.  
  946. FC-22                                                                Flash Cards
  947. --------------------------------------------------------------------------------
  948.  
  949. --------------------------------------------------------------------------------
  950. Managing Lists - totLINK, totLIST
  951.  
  952.  
  953. StrDLLOBJ
  954.  
  955.          constructor Init;
  956.          destructor  Done;
  957.          List Addition:
  958.          function    Add(str:string):integer;
  959.  
  960.          Node Pointer control
  961.          function    TotalNodes:longint
  962.          function    ActiveNodeNumber:longint;
  963.          procedure   Jump(NodeNumber:longint);
  964.          procedure   Advance(Amount:longint);
  965.          procedure   Retreat(Amount:longint);
  966.          List Management:
  967.          function    NodePtr(NodeNumber:longint):DLLNodePtr;
  968.          procedure   ActiveNodePtr:DLLNodePtr;
  969.          procedure   EndNodePtr:DLLNodePTr;
  970.          function    Change(Node:DLLNodePtr;Str:string):integer;
  971.          procedure   DelNode(Node:DLLNodePtr);
  972.          procedure   SwapNodes(Node1,Node2:DLLNodePtr);
  973.          procedure   InsertBefore(Node:DLLNodePtr;Str:string);
  974.          function    GetStr(Node:DLLNodePtr;Start,Finish:longint):string;
  975.          procedure   Sort(SortID:shortint;Ascending:boolean);
  976.  
  977.          List Clearing:
  978.          procedure   EmptyList;
  979.  
  980. BrowseArrayOBJ
  981.          constructor Init;
  982.          destructor  Done;
  983.          procedure   SetTopPick(TopPick:longint);
  984.          procedure   SetStartCol(Column:longint);
  985.          procedure   Show;
  986.          procedure   Go;
  987.          procedure   LastKey:word;
  988.          procedure   AssignList(var StrArray;Total:longint;StrLength:byte);
  989.          function    Win:StretchWinPtr;
  990.  
  991. BrowseLinkOBJ
  992.  
  993.          constructor Init;
  994.          destructor  Done;
  995.          procedure   SetTopPick(TopPick:longint);
  996.          procedure   SetStartCol(Column:longint);
  997.          procedure   Show;
  998.  
  999.  
  1000.  
  1001. Flash Cards                                                                FC-23
  1002. --------------------------------------------------------------------------------
  1003.  
  1004.          procedure   Go;
  1005.          procedure   LastKey:word;
  1006.          function    AssignList(var LinkList:DLLOBJ);
  1007.          function    ListPtr:DLLPtr;
  1008.          function    Win:StretchWinPtr;
  1009.  
  1010. BrowseFileOBJ
  1011.  
  1012.          constructor Init;
  1013.          destructor  Done;
  1014.          procedure   SetTopPick(TopPick:longint);
  1015.          procedure   SetStartCol(Column:longint);
  1016.          procedure   Show;
  1017.          procedure   Go;
  1018.          procedure   LastKey:word;
  1019.          function    AssignFile(Filename:string):integer;
  1020.          function    ListPtr: StrDLLPtr;
  1021.          function    Win:StretchWinPtr;
  1022.  
  1023. Browse Color Control
  1024.          The display colors of the list window are totally controlled by the
  1025.          window display colors, and can be set with the following procedure:
  1026.  
  1027.          MyInstance.Win^.SetColors(Border,Body,Title,Icons:byte);
  1028.  
  1029. ListArrayOBJ
  1030.          List Management:
  1031.          constructor Init;
  1032.          destructor  Done;
  1033.          procedure   SetTopPick(TopPick:longint);
  1034.          procedure   SetActivePick(ThePick:longint);
  1035.          procedure   SetTagging(On:boolean);
  1036.          procedure   SetColWidth(Wid:byte);
  1037.          procedure   Show;
  1038.          procedure   Go;
  1039.          procedure   GetHiString:string;
  1040.          procedure   LastKey:word;
  1041.          procedure   AssignList(var StrArray;Total:longint;
  1042.                                 StrLength:byte;Taggable:boolean);
  1043.  
  1044.          Status Control:
  1045.          procedure   SetStatus(Pick:longint;BitPos:byte;On:boolean);
  1046.          function    GetStatus(Pick:longint;BitPos:byte):boolean;
  1047.          procedure   DelAllStatus(BitPos:byte;On:boolean);
  1048.          Window Control:
  1049.          function    Win:StretchWinPtr;
  1050.  
  1051.  
  1052.  
  1053.  
  1054. FC-24                                                                Flash Cards
  1055. --------------------------------------------------------------------------------
  1056.  
  1057.          Dual Color:
  1058.          procedure   SetColors(HAttr,NAttr,SAttr:byte);
  1059.          procedure   SetDualColors(On:boolean);
  1060.  
  1061.          Message display:
  1062.          procedure   SetMsgState(On:boolean);
  1063.          procedure   SetMsgHook(Func:ListMsgFunc);
  1064.          Hooks:
  1065.          procedure   SetCharHook(Func:ListCharFunc);
  1066.  
  1067. ListLinkOBJ
  1068.  
  1069.          List Management:
  1070.          constructor Init;
  1071.          destructor  Done;
  1072.          procedure   SetTopPick(TopPick:longint);
  1073.          procedure   SetActivePick(ThePick:longint);
  1074.          procedure   SetTagging(On:boolean);
  1075.          procedure   SetColWidth(Wid:byte);
  1076.          procedure   Show;
  1077.          procedure   Go;
  1078.          procedure   GetHiString:string;
  1079.          procedure   LastKey:word;
  1080.          procedure   AssignList(var LinkList:DLLOBJ);
  1081.          function    ListPtr: DLLPtr;
  1082.          Status Control:
  1083.          procedure   SetStatus(Pick:longint;BitPos:byte;On:boolean);
  1084.          function    GetStatus(Pick:longint;BitPos:byte):boolean;
  1085.          procedure   DelAllStatus(BitPos:byte;On:boolean);
  1086.  
  1087.          Dual Color:
  1088.          procedure   SetColors(HAttr,NAttr,SAttr:byte);
  1089.          procedure   SetDualColors(On:boolean);
  1090.          Window Control:
  1091.          function    Win:StretchWinPtr;
  1092.  
  1093.          Message Display:
  1094.          procedure   SetMsgState(On:boolean);
  1095.          procedure   SetMsgHook(Func:ListMsgFunc);
  1096.          Hooks:
  1097.          procedure   SetCharHook(Func:ListCharFunc);
  1098.  
  1099. Hook Syntax
  1100.  
  1101.          Character Hook - function MyCharHook(var K:word; var X,Y:byte;
  1102.                                               HiPick:longint): tListAction
  1103.          Message Hook - function MyMsgHook(HiPick:longint):string;
  1104.  
  1105.  
  1106.  
  1107.  
  1108. Flash Cards                                                                FC-25
  1109. --------------------------------------------------------------------------------
  1110.  
  1111. List Color Control
  1112.  
  1113.          The attributes of the list window and the listed items are controlled
  1114.          with the following three methods:
  1115.          Win^.SetColors(Border,Body,Title,Icons: byte);
  1116.          SetColors(HAttr,NAttr,SAttr:byte);
  1117.          SetDualColors(On:boolean);
  1118.  
  1119.  
  1120. --------------------------------------------------------------------------------
  1121. Displaying Directories - totLIST, totDIR
  1122.  
  1123.  
  1124. ListDirOBJ
  1125.  
  1126.          constructor Init;
  1127.          destructor  Done;
  1128.          procedure   ReadFiles(Filemasks:string;FileAttrib:word);
  1129.          procedure   FileList^.Sort(SortID:shortint;Ascending:boolean);
  1130.          procedure   FileList^.GetFileRecord(var Info:tFileInfo;
  1131.                                              NodeNumber:longint);
  1132.          function    FileList^.GetLongStr(Node:DLLNodePtr):string;
  1133.          procedure   FileList^.GetFileMask:string;
  1134.          procedure   FileList^.SetFileDetails(FileMasks:string;
  1135.                                               FileAttrib:word);
  1136.          procedure   FileList^.FillList;
  1137.          procedure   FileList^.FillNewMask(Filemasks:string);
  1138.          function    Win:StretchWinPtr;
  1139.  
  1140. ListDirSortOBJ
  1141.          constructor Init;
  1142.          destructor  Done;
  1143.          procedure   ReadFiles(Filemasks:string;FileAttrib:word);
  1144.          procedure   FileList^.Sort(SortID:shortint;Ascending:boolean);
  1145.          procedure   FileList^.GetFileRecord(var Info:tFileInfo;
  1146.                                              NodeNumber:longint);
  1147.          function    FileList^.GetLongStr(Node:DLLNodePtr):string;
  1148.          procedure   FileList^.GetFileMask:string;
  1149.          procedure   FileList^.SetFileDetails(FileMasks:string;
  1150.                                               FileAttrib:word);
  1151.          procedure   FileList^.FillList;
  1152.          procedure   FileList^.FillNewMask(Filemasks:string);
  1153.          function    Win:StretchWinPtr;
  1154.  
  1155.  
  1156.  
  1157. FC-26                                                                Flash Cards
  1158. --------------------------------------------------------------------------------
  1159.  
  1160. List Directory Color Control
  1161.  
  1162.          The attributes of the list window and the files listed are controlled
  1163.          with the following three methods:
  1164.          Win^.SetColors(Border,Body,Title,Icons: byte);
  1165.          SetColors(HAttr,NAttr,SAttr:byte);
  1166.          SetDualColors(On:boolean);
  1167.  
  1168. DirWinOBJ
  1169.  
  1170.          constructor Init;
  1171.          destructor  Done;
  1172.          procedure   Go:tAction;
  1173.          procedure   GetChosenFile:string;
  1174.          procedure   SetFileDetails(StartDir:string;FileMasks:string;
  1175.                                     FileAttrib:word);
  1176.          procedure   SetSortDetails(SortID:byte;SortOrder:boolean);
  1177.          function    Win^:MoveWinPtr;
  1178.          procedure   Action^.SetHelpHook(PassedProc:HelpProc);
  1179.          function    FileList^: FielsFieldPtr;
  1180.  
  1181. Directory Window Color Control
  1182.          The following methods control the directory display colors:
  1183.  
  1184.          MyInst.Win^.SetColors (changes bgrnd, title, box border and file
  1185.          details)
  1186.          IOTOT^.SetColLabel    (changes the box labels, e.g. Name:)
  1187.          IOTOT^.SetColList     (changes the file and dir lists)
  1188.          IOTOT^.SetColField    (changes the filename input field
  1189.          IOTOT^.SetColButtons  (changes the buttons)
  1190.  
  1191.  
  1192.  
  1193.  
  1194. Flash Cards                                                                FC-27
  1195. --------------------------------------------------------------------------------
  1196.  
  1197. --------------------------------------------------------------------------------
  1198. Form Input - totIO1, totIO2, totIO3
  1199.  
  1200.          This category details all the routines related to prompting the user
  1201.          for input, i.e. the units totIO1, totIO2 and totIO3.
  1202.          The colors for all display fields are controlled with IOTOT^ (see page
  1203.          FC-9).
  1204.  
  1205. StringIOOBJ
  1206.          constructor  Init(X,Y,FieldLen: byte);
  1207.          destructor   Done;
  1208.          procedure    Activate;
  1209.          function     GetID: word;
  1210.          function     GetValue: string;
  1211.          procedure    SetIns(InsOn:boolean);
  1212.          procedure    SetRules(Rules:byte);
  1213.          procedure    SetDispChar(Ch:char);
  1214.          procedure    SetPadChar(Pad:char);
  1215.          procedure    SetActiveStatus(Selectable:boolean);
  1216.          procedure    SetCase(Cas:tCase);
  1217.          procedure    SetCursor(Curs: tCursPos);
  1218.          procedure    SetForceCase(On:boolean);
  1219.          procedure    SetHotkey(HK:word);
  1220.          procedure    SetID(ID:word);
  1221.          procedure    SetJust(Just:tJust);
  1222.          procedure    SetLabel(Lbl:string);
  1223.          procedure    SetMessage(X,Y:byte; Msg:string);
  1224.          procedure    SetValue(Str:string);
  1225.  
  1226. LateralIOOBJ
  1227.  
  1228.          constructor  Init(X,Y,FieldLen,MaxLen: byte);
  1229.          destructor   Done;
  1230.          procedure    Activate;
  1231.          function     GetID: word;
  1232.          function     GetValue: string;
  1233.          procedure    SetIns(InsOn:boolean);
  1234.          procedure    SetRules(Rules:byte);
  1235.          procedure    SetDispChar(Ch:char);
  1236.          procedure    SetPadChar(Pad:char);
  1237.          procedure    SetActiveStatus(Selectable:boolean);
  1238.          procedure    SetCase(Cas:tCase);
  1239.          procedure    SetCursor(Curs: tCursPos);
  1240.          procedure    SetForceCase(On:boolean);
  1241.          procedure    SetHotkey(HK:word);
  1242.          procedure    SetID(ID:word);
  1243.          procedure    SetJust(Just:tJust);
  1244.  
  1245.  
  1246.  
  1247.  
  1248. FC-28                                                                Flash Cards
  1249. --------------------------------------------------------------------------------
  1250.  
  1251.          procedure    SetLabel(Lbl:string);
  1252.          procedure    SetMessage(X,Y:byte; Msg:string);
  1253.          procedure    SetValue(Str:string);
  1254.  
  1255. PictureIOOBJ
  1256.  
  1257.          constructor  Init(X,Y: byte;Pic:string);
  1258.          destructor   Done;
  1259.          procedure    Activate;
  1260.          function     GetID: word;
  1261.          function     GetValue: string;
  1262.          procedure    SetIns(InsOn:boolean);
  1263.          procedure    SetRules(Rules:byte);
  1264.          procedure    SetDispChar(Ch:char);
  1265.          procedure    SetPadChar(Pad:char);
  1266.          procedure    SetActiveStatus(Selectable:boolean);
  1267.          procedure    SetAllowChar(Str:string);
  1268.          procedure    SetCase(Cas:tCase);
  1269.          procedure    SetCursor(Curs: tCursPos);
  1270.          procedure    SetDisallowChar(Str:string);
  1271.          procedure    SetForceCase(On:boolean);
  1272.          procedure    SetHotkey(HK:word);
  1273.          procedure    SetID(ID:word);
  1274.          procedure    SetJust(Just:tJust);
  1275.          procedure    SetLabel(Lbl:string);
  1276.          procedure    SetMessage(X,Y:byte; Msg:string);
  1277.          procedure    SetValue(Str:string);
  1278.          The picture is comprised of non-editable characters and the following
  1279.          four, pre-defined, format characters:
  1280.  
  1281.             #     Allows the input of the characters (0-9 . -) and indicates
  1282.                   that only numbers may be input.
  1283.             @     Allows only letters of the English alphabet and punctuation
  1284.                   characters.
  1285.  
  1286.             *     Allows any character the user can find.
  1287.             !     Converts all alphabetical characters to upper case.
  1288.  
  1289.          Any other characters embedded in the picture are treated as fixed and
  1290.          for display only.
  1291.  
  1292. IntIOOBJ
  1293.          constructor  Init(X,Y,Len:byte);
  1294.          destructor   Done;
  1295.          procedure    Activate;
  1296.          function     FormatPtr: FmtNumberPtr;
  1297.          function     GetID: word;
  1298.          function     GetValue: longint;
  1299.  
  1300.  
  1301.  
  1302.  
  1303. Flash Cards                                                                FC-29
  1304. --------------------------------------------------------------------------------
  1305.  
  1306.          procedure    InitFormat;
  1307.          procedure    SetIns(InsOn:boolean);
  1308.          procedure    SetRules(Rules:byte);
  1309.          procedure    SetDispChar(Ch:char);
  1310.          procedure    SetPadChar(Pad:char);
  1311.          procedure    SetActiveStatus(Selectable:boolean);
  1312.          procedure    SetCursor(Curs: tCursPos);
  1313.          procedure    SetHotkey(HK:word);
  1314.          procedure    SetID(ID:word);
  1315.          procedure    SetJust(Just:tJust);
  1316.          procedure    SetLabel(Lbl:string);
  1317.          procedure    SetMessage(X,Y:byte; Msg:string);
  1318.          procedure    SetMinMax(Min,Max:longint);
  1319.          procedure    SetValue(Val:longint);
  1320.  
  1321. RealIOOBJ
  1322.  
  1323.          constructor  Init(X,Y,Len:byte);
  1324.          destructor   Done;
  1325.          procedure    Activate;
  1326.          function     FormatPtr: FmtNumberPtr;
  1327.          function     GetID: word;
  1328.          function     GetValue: extended;
  1329.          procedure    InitFormat;
  1330.          procedure    SetIns(InsOn:boolean);
  1331.          procedure    SetRules(Rules:byte);
  1332.          procedure    SetDispChar(Ch:char);
  1333.          procedure    SetPadChar(Pad:char);
  1334.          procedure    SetActiveStatus(Selectable:boolean);
  1335.          procedure    SetCursor(Curs: tCursPos);
  1336.          procedure    SetENotation(On:Boolean);
  1337.          procedure    SetHotkey(HK:word);
  1338.          procedure    SetID(ID:word);
  1339.          procedure    SetJust(Just:tJust);
  1340.          procedure    SetLabel(Lbl:string);
  1341.          procedure    SetMessage(X,Y:byte; Msg:string);
  1342.          procedure    SetMinMax(Min,Max:Extended);
  1343.          procedure    SetValue(Val:extended);
  1344.  
  1345. FixedRealIOOBJ
  1346.          constructor  Init(X,Y,Whole,DP:byte);
  1347.          destructor   Done;
  1348.          procedure    Activate;
  1349.          function     FormatPtr: FmtNumberPtr;
  1350.          function     GetID: word;
  1351.          function     GetValue: extended;
  1352.          procedure    InitFormat;
  1353.          procedure    SetIns(InsOn:boolean);
  1354.  
  1355.  
  1356.  
  1357.  
  1358. FC-30                                                                Flash Cards
  1359. --------------------------------------------------------------------------------
  1360.  
  1361.          procedure    SetRules(Rules:byte);
  1362.          procedure    SetDispChar(Ch:char);
  1363.          procedure    SetPadChar(Pad:char);
  1364.          procedure    SetActiveStatus(Selectable:boolean);
  1365.          procedure    SetHotkey(HK:word);
  1366.          procedure    SetID(ID:word);
  1367.          procedure    SetLabel(Lbl:string);
  1368.          procedure    SetMessage(X,Y:byte; Msg:string);
  1369.          procedure    SetMinMax(Min,Max:Extended);
  1370.          procedure    SetValue(Val:extended);
  1371.  
  1372. HexIOOBJ
  1373.  
  1374.          constructor  Init(X,Y,Len:byte);
  1375.          destructor   Done;
  1376.          procedure    Activate;
  1377.          function     GetID: word;
  1378.          function     GetValue: longint;
  1379.          procedure    SetIns(InsOn:boolean);
  1380.          procedure    SetRules(Rules:byte);
  1381.          procedure    SetDispChar(Ch:char);
  1382.          procedure    SetPadChar(Pad:char);
  1383.          procedure    SetActiveStatus(Selectable:boolean);
  1384.          procedure    SetCursor(Curs: tCursPos);
  1385.          procedure    SetHotkey(HK:word);
  1386.          procedure    SetID(ID:word);
  1387.          procedure    SetJust(Just:tJust);
  1388.          procedure    SetLabel(Lbl:string);
  1389.          procedure    SetMessage(X,Y:byte; Msg:string);
  1390.          procedure    SetMinMax(Min,Max:longint);
  1391.          procedure    SetValue(Val:longint);
  1392.  
  1393. DateIOOBJ
  1394.          constructor  Init(X,Y:byte;DateFmt:tDate);
  1395.          destructor   Done;
  1396.          procedure    Activate;
  1397.          function     GetID: word;
  1398.          function     GetValue: longint;
  1399.          procedure    SetIns(InsOn:boolean);
  1400.          procedure    SetRules(Rules:byte);
  1401.          procedure    SetDispChar(Ch:char);
  1402.          procedure    SetPadChar(Pad:char);
  1403.          procedure    SetActiveStatus(Selectable:boolean);
  1404.          procedure    SetCursor(Curs: tCursPos);
  1405.          procedure    SetHotkey(HK:word);
  1406.          procedure    SetID(ID:word);
  1407.          procedure    SetJust(Just:tJust);
  1408.          procedure    SetLabel(Lbl:string);
  1409.  
  1410.  
  1411.  
  1412.  
  1413. Flash Cards                                                                FC-31
  1414. --------------------------------------------------------------------------------
  1415.  
  1416.          procedure    SetMessage(X,Y:byte; Msg:string);
  1417.          procedure    SetMinMax(Min,Max:longint);
  1418.          procedure    SetValue(Val:longint);
  1419.  
  1420. CheckIOOBJ
  1421.  
  1422.          constructor  Init(X1,Y1,width,depth:byte;Title:string);
  1423.          destructor   Done;
  1424.          procedure    AddItem(Str:string;HK:word;Selected:boolean);
  1425.          function     GetID: word;
  1426.          function     GetValue(Item:byte):boolean;
  1427.          procedure    SetActiveStatus(Selectable:boolean);
  1428.          procedure    SetBoxOn(On:boolean);
  1429.          procedure    SetHotkey(HK:word);
  1430.          procedure    SetID(ID:word);
  1431.          procedure    SetLabel(Lbl:string);
  1432.          procedure    SetMessage(X,Y:byte; Msg:string);
  1433.          procedure    SetValue(Item:byte;Selected:boolean);
  1434.  
  1435. RadioIOOBJ
  1436.          constructor  Init(X1,Y1,width,depth:byte;Title:string);
  1437.          destructor   Done;
  1438.          procedure    AddItem(Str:string;HK:word;Selected:boolean);
  1439.          function     GetID: word;
  1440.          function     GetValue: byte;
  1441.          procedure    SetActiveStatus(Selectable:boolean);
  1442.          procedure    SetBoxOn(On:boolean);
  1443.          procedure    SetHotkey(HK:word);
  1444.          procedure    SetID(ID:word);
  1445.          procedure    SetLabel(Lbl:string);
  1446.          procedure    SetMessage(X,Y:byte; Msg:string);
  1447.          procedure    SetValue(Item:byte);
  1448.  
  1449. ArrayIOOBJ
  1450.  
  1451.          constructor  Init(X1,Y1,width,depth:byte;Title:string);
  1452.          destructor   Done;
  1453.          procedure    AssignList(var StrArray; Total:Longint; StrLength:byte);
  1454.          function     GetID: word;
  1455.          function     GetSelectedItem: integer;
  1456.          function     GetString(Pick:integer): string;
  1457.          procedure    SetActiveStatus(Selectable:boolean);
  1458.          procedure    SetBoxOn(On:boolean);
  1459.          procedure    SetHotkey(HK:word);
  1460.          procedure    SetID(ID:word);
  1461.          procedure    SetLabel(Lbl:string);
  1462.          procedure    SetMessage(X,Y:byte; Msg:string);
  1463.  
  1464.  
  1465.  
  1466.  
  1467. FC-32                                                                Flash Cards
  1468. --------------------------------------------------------------------------------
  1469.  
  1470. LinkIOOBJ
  1471.  
  1472.          constructor  Init(X1,Y1,width,depth:byte;Title:string);
  1473.          destructor   Done;
  1474.          procedure    AssignList(var LinkList: DLLOBJ);
  1475.          function     GetID: word;
  1476.          function     GetSelectedItem: integer;
  1477.          procedure    SetActiveStatus(Selectable:boolean);
  1478.          procedure    SetBoxOn(On:boolean);
  1479.          procedure    SetHotkey(HK:word);
  1480.          procedure    SetID(ID:word);
  1481.          procedure    SetLabel(Lbl:string);
  1482.          procedure    SetMessage(X,Y:byte; Msg:string);
  1483.  
  1484. WWArrayIOOBJ
  1485.          constructor  Init(X1,Y1,width,lines:byte;Title:string);
  1486.          destructor   Done;
  1487.          procedure    AssignList(var StrArray; Total:Longint; StrLength:byte);
  1488.          function     GetID: word;
  1489.          procedure    SetActiveStatus(Selectable:boolean);
  1490.          procedure    SetBoxOn(On:boolean);
  1491.          procedure    SetHotkey(HK:word);
  1492.          procedure    SetID(ID:word);
  1493.          procedure    SetIns(InsOn:boolean);
  1494.          procedure    SetLabel(Lbl:string);
  1495.          procedure    SetMessage(X,Y:byte; Msg:string);
  1496.          procedure    WrapFull;
  1497.  
  1498. WWLinkIOOBJ
  1499.  
  1500.          constructor  Init(X1,Y1,width,lines:byte;Title:string);
  1501.          destructor   Done;
  1502.          procedure    AssignList(var LinkList: StrDLLOBJ; Max:integer);
  1503.          function     GetID: word;
  1504.          procedure    SetActiveStatus(Selectable:boolean);
  1505.          procedure    SetBoxOn(On:boolean);
  1506.          procedure    SetHotkey(HK:word);
  1507.          procedure    SetID(ID:word);
  1508.          procedure    SetIns(InsOn:boolean);
  1509.          procedure    SetLabel(Lbl:string);
  1510.          procedure    SetMessage(X,Y:byte; Msg:string);
  1511.          procedure    WrapFull;
  1512.  
  1513.  
  1514. StripIOOBJ
  1515.  
  1516.          constructor  Init(X1,Y1:byte;Tit:string;Act:tAction);
  1517.          destructor   Done;
  1518.          function     GetID: word;
  1519.  
  1520.  
  1521.  
  1522. Flash Cards                                                                FC-33
  1523. --------------------------------------------------------------------------------
  1524.  
  1525.          procedure    SetActiveStatus(Selectable:boolean);
  1526.          procedure    SetHotkey(HK:word);
  1527.          procedure    SetID(ID:word);
  1528.          procedure    SetLabel(Lbl:string);
  1529.          procedure    SetMessage(X,Y:byte; Msg:string);
  1530.  
  1531. Strip3DIOOBJ
  1532.  
  1533.          constructor  Init(X1,Y1:byte;Tit:string;Act:tAction);
  1534.          destructor   Done;
  1535.          function     GetID: word;
  1536.          procedure    SetActiveStatus(Selectable:boolean);
  1537.          procedure    SetHotkey(HK:word);
  1538.          procedure    SetID(ID:word);
  1539.          procedure    SetLabel(Lbl:string);
  1540.          procedure    SetMessage(X,Y:byte; Msg:string);
  1541.  
  1542. ButtonIOOBJ
  1543.          constructor  Init(X1,Y1,width,depth:byte;Tit:string; Act:tAction);
  1544.          destructor   Done;
  1545.          function     GetID: word;
  1546.          procedure    SetActiveStatus(Selectable:boolean);
  1547.          procedure    SetHotkey(HK:word);
  1548.          procedure    SetID(ID:word);
  1549.          procedure    SetLabel(Lbl:string);
  1550.          procedure    SetMessage(X,Y:byte; Msg:string);
  1551.  
  1552. HotKeyIOOBJ
  1553.  
  1554.          constructor  Init(HK:Word;Act:tAction);
  1555.          destructor   Done;
  1556.          function     GetID: word;
  1557.          procedure    SetActiveStatus(Selectable:boolean);
  1558.          procedure    SetHotkey(HK:word);
  1559.          procedure    SetID(ID:word);
  1560.  
  1561. ControlKeyIOOBJ
  1562.          constructor Init;
  1563.          destructor  Done;
  1564.          procedure   SetKeys(Next,Prev,Fin,Esc:word);
  1565.  
  1566. FormOBJ
  1567.  
  1568.          constructor Init;
  1569.          destructor  Done;
  1570.          procedure   AddItem(var NewItem: ItemIOOBJ);
  1571.          procedure   SetActiveItem(ID:word);
  1572.          procedure   DisplayItems;
  1573.          procedure   SetCharHook(Func:CharFunc);
  1574.  
  1575.  
  1576.  
  1577. FC-34                                                                Flash Cards
  1578. --------------------------------------------------------------------------------
  1579.  
  1580.          procedure   SetLeaveHook(Func:LeaveFieldFunc);
  1581.          procedure   SetEnterHook(Func:EnterFieldHook);
  1582.          procedure   SetHelpHook(Proc:HelpProc);
  1583.          function    Go:tAction;
  1584.  
  1585. WinFormOBJ
  1586.  
  1587.          constructor Init;
  1588.          destructor  Done;
  1589.          procedure   Draw;
  1590.          procedure   AddItem(var NewItem: ItemIOOBJ);
  1591.          procedure   SetActiveItem(ID:word);
  1592.          procedure   DisplayItems;
  1593.          procedure   SetCharHook(Func:CharFunc);
  1594.          procedure   SetLeaveHook(Func:LeaveFieldFunc);
  1595.          procedure   SetEnterHook(Func:EnterFieldHook);
  1596.          procedure   SetHelpHook(Proc:HelpProc);
  1597.          function    Go:tAction;
  1598.          function    Win:MoveWinPtr;
  1599.  
  1600. Hook Syntax
  1601.          Char  Hook - function MyCharHook(var K:word;var X,Y:byte;
  1602.                                           var FieldID:word):tAction;
  1603.          Leave Hook - function MyLeaveHook(vae FieldID:word):tAction;
  1604.          Enter Hook - function MyEnterHook(var NewID:word; OldID:word):tAction;
  1605.          Help  Hook - procedure MyHelpHook(ID:word);
  1606.  
  1607.  
  1608. --------------------------------------------------------------------------------
  1609. Menus - totMENU
  1610.  
  1611.          Note the following special menu items for MenuOBJ and MoveMenuOBJ
  1612.          objects:
  1613.                   ''      a gap in the menu
  1614.                   '-'     a single line
  1615.                   '='     a double line
  1616.  
  1617. MenuOBJ
  1618.          constructor Init;
  1619.          destructor  Done;
  1620.          procedure   AddFullItem(Txt:StrVisible;ID,HK:word;
  1621.                                  Msg:StrVisible;SubM:BaseMenuPtr);
  1622.          procedure   AddItem(Txt:StrVisible);
  1623.          procedure   SetTopic(Item:byte;Txt:StrVisible);
  1624.          procedure   SetHK(Item:byte;HK:word);
  1625.          procedure   SetMessage(Item:byte;Msg:StrVisible);
  1626.  
  1627.  
  1628.  
  1629.  
  1630. Flash Cards                                                                FC-35
  1631. --------------------------------------------------------------------------------
  1632.  
  1633.          procedure   SetID(Item:byte;ID:word);
  1634.          procedure   SetStatus(Item:byte;On:boolean);
  1635.          procedure   SetSubMenu(Item:byte;SubMenu:BaseMenuPtr);
  1636.          procedure   SetGap(G:byte);
  1637.          procedure   SetActiveItem(Item:byte);
  1638.          procedure   SetMessageXY(X,Y:byte);
  1639.          procedure   SetMenuXY(X,Y:byte);
  1640.          procedure   SetHelpKey(K:word);
  1641.          procedure   SetHelpHook(Proc:HelpProc);
  1642.          procedure   SetAllowEsc(On:boolean);
  1643.          procedure   SetColors(HiHot,HiNorm,LoHot,LoNorm,Off:byte);
  1644.          procedure   SetStyleTitle(St:byte;Tit:StrVisible);
  1645.          procedure   SetForPull;
  1646.          procedure   Draw;
  1647.          procedure   Remove;
  1648.          function    Activate: word;
  1649.          function    Win: WinPtr;
  1650.  
  1651. MoveMenuOBJ
  1652.  
  1653.          constructor Init;
  1654.          destructor  Done;
  1655.          procedure   AddFullItem(Txt:StrVisible;ID,HK:word;
  1656.                                  Msg:StrVisible;SubM:BaseMenuPtr);
  1657.          procedure   AddItem(Txt:StrVisible);
  1658.          procedure   SetTopic(Item:byte;Txt:StrVisible);
  1659.          procedure   SetHK(Item:byte;HK:word);
  1660.          procedure   SetMessage(Item:byte;Msg:StrVisible);
  1661.          procedure   SetID(Item:byte;ID:word);
  1662.          procedure   SetStatus(Item:byte;On:boolean);
  1663.          procedure   SetSubMenu(Item:byte;SubMenu:BaseMenuPtr);
  1664.          procedure   SetGap(G:byte);
  1665.          procedure   SetActiveItem(Item:byte);
  1666.          procedure   SetMessageXY(X,Y:byte);
  1667.          procedure   SetMenuXY(X,Y:byte);
  1668.          procedure   SetHelpKey(K:word);
  1669.          procedure   SetHelpHook(Proc:HelpProc);
  1670.          procedure   SetAllowEsc(On:boolean);
  1671.          procedure   SetColors(HiHot,HiNorm,LoHot,LoNorm,Off:byte);
  1672.          procedure   SetStyleTitle(St:byte;Tit:StrVisible);
  1673.          procedure   SetForPull;
  1674.          procedure   Draw;
  1675.          procedure   Remove;
  1676.          function    Activate: word;
  1677.          function    Win: MoveWinPtr;
  1678.  
  1679.  
  1680.  
  1681.  
  1682. FC-36                                                                Flash Cards
  1683. --------------------------------------------------------------------------------
  1684.  
  1685. LotusMenuOBJ
  1686.  
  1687.          constructor Init;
  1688.          destructor  Done;
  1689.          procedure   SetSpecialKey(Hk:word;ID:word);
  1690.          procedure   AddFullItem(Txt:StrVisible;ID,HK:word;
  1691.                                  Msg:StrVisible;SubM:BaseMenuPtr);
  1692.          procedure   AddItem(Txt:StrVisible);
  1693.          procedure   SetTopic(Item:byte;Txt:StrVisible);
  1694.          procedure   SetHK(Item:byte;HK:word);
  1695.          procedure   SetMessage(Item:byte;Msg:StrVisible);
  1696.          procedure   SetID(Item:byte;ID:word);
  1697.          procedure   SetStatus(Item:byte;On:boolean);
  1698.          procedure   SetSubMenu(Item:byte;SubMenu:BaseMenuPtr);
  1699.          procedure   SetGap(G:byte);
  1700.          procedure   SetActiveItem(Item:byte);
  1701.          procedure   SetMessageXY(X,Y:byte);
  1702.          procedure   SetMenuXY(X,Y:byte);
  1703.          procedure   SetHelpKey(K:word);
  1704.          procedure   SetHelpHook(Proc:HelpProc);
  1705.          procedure   SetAllowEsc(On:boolean);
  1706.          procedure   SetColors(HiHot,HiNorm,LoHot,LoNorm,Off:byte);
  1707.          procedure   Draw;
  1708.          procedure   Remove;
  1709.          function    MenuKey(K:word; X,Y:byte):boolean;
  1710.          function    Activate: word;
  1711.          function    Push(K:word;X,Y:byte);
  1712.  
  1713. PullMenuOBJ
  1714.          constructor Init;
  1715.          destructor  Done;
  1716.          procedure   SetSpecialKey(Hk:word;ID:word);
  1717.          procedure   AddFullItem(Txt:StrVisible;ID,HK:word;
  1718.                                  Msg:StrVisible;SubM:BaseMenuPtr);
  1719.          procedure   AddItem(Txt:StrVisible);
  1720.          procedure   SetTopic(Item:byte;Txt:StrVisible);
  1721.          procedure   SetHK(Item:byte;HK:word);
  1722.          procedure   SetMessage(Item:byte;Msg:StrVisible);
  1723.          procedure   SetID(Item:byte;ID:word);
  1724.          procedure   SetStatus(Item:byte;On:boolean);
  1725.          procedure   SetSubMenu(Item:byte;SubMenu:BaseMenuPtr);
  1726.          procedure   SetGap(G:byte);
  1727.          procedure   SetActiveItem(Item:byte);
  1728.          procedure   SetMessageXY(X,Y:byte);
  1729.          procedure   SetMenuXY(X,Y:byte);
  1730.          procedure   SetHelpKey(K:word);
  1731.          procedure   SetHelpHook(Proc:HelpProc);
  1732.          procedure   SetAllowEsc(On:boolean);
  1733.  
  1734.  
  1735.  
  1736.  
  1737. Flash Cards                                                                FC-37
  1738. --------------------------------------------------------------------------------
  1739.  
  1740.          procedure   SetColors(HiHot,HiNorm,LoHot,LoNorm,Off:byte);
  1741.          procedure   Draw;
  1742.          procedure   Remove;
  1743.          function    MenuKey(K:word; X,Y:byte):boolean;
  1744.          function    Activate: word;
  1745.          function    Push(K:word;X,Y:byte);
  1746.  
  1747. EZPullArrayOBJ
  1748.  
  1749.          Note the following string syntax for EZPullArrayOBJ and EZPullLinkOBJ
  1750.          objects:
  1751.                   '"'     element separator
  1752.                   '_'     inactive item
  1753.                   '\'     new main menu item
  1754.  
  1755.                   'menu text"description"ID"SpecialHK'
  1756.          constructor Init;
  1757.          destructor  Done;
  1758.          procedure   AssignList(var StrArray;Total:longint;StrLength:byte);
  1759.          function    MainMenu: PullMenuPtr;
  1760.          function    SubMenu(MenuNumber:byte):SubMenuPtr;
  1761.          function    Activate: word;
  1762.          function    Push(K:word;X,Y:byte);
  1763.  
  1764. EZPullLinkOBJ
  1765.  
  1766.          constructor Init;
  1767.          destructor  Done;
  1768.          procedure   AssignList(var LinkList:DLLOBJ);
  1769.          function    MainMenu: PullMenuPtr;
  1770.          function    SubMenu(MenuNumber:byte):SubMenuPtr;
  1771.          function    Activate: word;
  1772.          function    Push(K:word;X,Y:byte);
  1773.  
  1774.  
  1775.  
  1776.  
  1777. FC-38                                                                Flash Cards
  1778. --------------------------------------------------------------------------------
  1779.  
  1780. --------------------------------------------------------------------------------
  1781. Managing Dates - totDATE
  1782.  
  1783.  
  1784. DateOBJ
  1785.  
  1786.          The global instance DateTOT controls the date defaults.
  1787.          function  GetLastYearNextCentury: byte;
  1788.          procedure SetLastYearNextCentury(Yr:byte);
  1789.          function  GetSeparator: char;
  1790.          procedure SetSeparator(Sep:char);
  1791.          procedure SetMonths(Mth1,Mth2,Mth3,Mth4,Mth5,Mth6,
  1792.                              Mth7,Mth8,Mth9,Mth10,Mth11,Mth12:strshort);
  1793.          procedure SetDays(Day0,Day1,Day2,Day3,Day4,Day5,Day6:strshort);
  1794.          function  GetLastYearNextCentury:byte;
  1795.          function  GetSeparator:char;
  1796.          function  GetMonth(Mth:byte):string;
  1797.          function  GetDay(Day:byte):string;
  1798.  
  1799. Date Functions
  1800.  
  1801.          function GregToJul(M,D,Y:longint):longint;
  1802.          function JulToGreg(Jul:longint;var M,D,Y:longint);
  1803.          function GregToStr(M,D,Y:longint;Format:tDate):string;
  1804.          function JulToSTr(Jul:longint;Format:tDate):string;
  1805.          function DOWJul(Jul:longint):byte;
  1806.          function DOWStr(DStr:string;Format:tDate):byte;
  1807.          function Day(DStr:string;Format:tDate):word;
  1808.          function Month(DStr:string;Format:tDate):word;
  1809.          function Year(DStr:string;Format:tDate):word;
  1810.          function ValidDateStr(DStr:string;Format:tDate):boolean;
  1811.          function TodayInJul:longint;
  1812.          function StartOfYear(Jul:longint):longint;
  1813.          function EndOfYear(Jul:longint):longint;
  1814.          function RelativeDate(DStr:string;Format:tDate;Delta:longint):string;
  1815.          function StripDateStr(DStr:string;Fomrat:tDate):string;
  1816.          function FancyDateStr(Jul:longint;Long,day:boolean):string;
  1817.          function DateFormat(Format:tDate):string;
  1818.  
  1819.  
  1820.  
  1821.  
  1822. Flash Cards                                                                FC-39
  1823. --------------------------------------------------------------------------------
  1824.  
  1825. --------------------------------------------------------------------------------
  1826. String Handling - totSTR
  1827.  
  1828.  
  1829. FmtNumberOBJ
  1830.  
  1831.          The global instance FmtNumberTOT (declared in totIO2) controls the
  1832.          default format of number input fields.
  1833.          constructor Init;
  1834.          destructor  Done;
  1835.          procedure   SetPrefixSuffix(P,S:char);
  1836.          procedure   SetSign(S:tSign);
  1837.          procedure   SetSeparators(P,T,D:char);
  1838.          procedure   SetJustification(J:tJust);
  1839.          function    FormattedLong(Val:longint; Width:byte):string;
  1840.          function    FormattedReal(Val:extended;DP:byte;Width:byte):string;
  1841.  
  1842. String Functions
  1843.  
  1844.          String Adjustment:
  1845.          function Squeeze(L:char;Str:string;Width:byte);
  1846.          function PadLeft(Str:string;Size:byte;ChPad:char):string;
  1847.          function PadRight(Str:string;Size:byte;ChPad:char):string;
  1848.          function PadCenter(Str:string;Size:byte;ChPad:char):string;
  1849.          function Pad(PadJust:tJust;Str:string;Size:byte;ChPad:char):string;
  1850.          function SetUpper(Str:string):string;
  1851.          function SetLower(Str:string):string;
  1852.          function SetProper(Str:string):string;
  1853.          function AdjCase(NewCase:tCase;Str:string):string;
  1854.          function Last(N:byte;Str:string):string;
  1855.          function First(N:byte;Str:string):string;
  1856.          function Strip(L,C:char;Str:string):string;
  1857.          function OverType(N:byte;StrS,StrT:string):string;
  1858.          function PicFormat(Input,Picture:string;Pad:char):string;
  1859.          function TruncFormat(Input:string;Start,Len:byte;Pad:char):string;
  1860.          String Searching:
  1861.          function FirstCapital(Str:string):char;
  1862.          function FirstCapitalPost(Str:string):byte;
  1863.          function LastPos(C:char;Str:string):byte;
  1864.          function LastPosBefore(C:char;Str:string;Last:byte):byte;
  1865.          function LastSubPos(C:char;Str:string;Len:byte):byte;
  1866.          function PosAfter(C:char;Str:string;Start:byte):byte;
  1867.  
  1868.          Word Management:
  1869.          function WordCnt(Str:string):byte;
  1870.          function PosWord(WordNo:byte;Str:string):byte;
  1871.          function ExtractWords(StartWord,NoWords:byte;Str:string):string;
  1872.  
  1873.  
  1874.  
  1875.  
  1876. FC-40                                                                Flash Cards
  1877. --------------------------------------------------------------------------------
  1878.  
  1879.          Number Conversions:
  1880.          function ValidInt(Str:string):boolean;
  1881.          function ValidHEXInt(Str:string):boolean;
  1882.          function ValidReal(Str:string):boolean;
  1883.          function StrToInt(Str:string):integer;
  1884.          function StrToLong(Str:string):longint;
  1885.          function StrToReal(Str:string):extended;
  1886.          function HEXStrToLong(Str:strig):longint;
  1887.          function IntToStr(Number:longint):string;
  1888.          function RealToStr(Number:extended;Decimals:byte):string;
  1889.          function IntToHEXStr(Number:longint):string;
  1890.          function RealToSciStr(Number:extended;D:byte):string;
  1891.          function NthNumber(Str:string;Nth:byte):char;
  1892.  
  1893.  
  1894. --------------------------------------------------------------------------------
  1895. Miscellaneous - totMISC
  1896.          procedure Beep;
  1897.          procedure CurrentTime:string;
  1898.          procedure Swap(var A,B:longint);
  1899.          function  WithinRange(Min,Max,Test:longint): boolean;
  1900.          function  Exist(Filename:string):boolean;
  1901.          function  CopyFile(SourceFile,TargetFile:string): byte;
  1902.          function  FSize(Filename:string): longint;
  1903.          function  FileDrive(Full:string): string;
  1904.          function  FileDirectory(Full:string): string;
  1905.          function  FileName(Full:string): string;
  1906.          function  FileExt(Full:string): string;
  1907.          function  SlashedDirectory(Dir:string):string;
  1908.          function  PrinterStatus: byte;
  1909.          function  AlternatePrinterStatus:byte;
  1910.          function  PrinterReady: boolean;
  1911.          procedure ResetPrinter;
  1912.          procedure PrintScreen:boolean;
  1913.  
  1914.  
  1915.  
  1916.  
  1917. Flash Cards                                                                FC-41
  1918. --------------------------------------------------------------------------------
  1919.  
  1920. --------------------------------------------------------------------------------
  1921. Key Codes
  1922.  
  1923.  
  1924.            Key  Norm   Shift  Alt    Ctrl     Key   Norm   Shift  Alt    Ctrl
  1925.            a    97     65     286    1        F1    315    340    360    350
  1926.            b    98     66     304    2        F2    316    341    361    351
  1927.            c    99     67     302    3        F3    317    342    362    352
  1928.            d    100    68     288    4        F4    318    343    363    353
  1929.            e    101    69     274    5        F5    319    344    364    354
  1930.            f    102    70     289    6        F6    320    345    365    355
  1931.            g    103    71     290    7        F7    321    346    366    356
  1932.            h    104    72     291    8        F8    322    347    367    357
  1933.            i    105    73     279    9        F9    323    348    368    358
  1934.            j    106    74     292    10       F10   324    349    369    359
  1935.            k    107    75     293    11       F11   389    391    395    393
  1936.            l    108    76     294    12       F12   390    392    396    394
  1937.            m    109    77     306    13
  1938.            n    110    78     305    14       BkSp  8      8      270    127
  1939.            o    111    79     280    15       Up    328    428    408    397
  1940.            p    112    80     281    16       Down  336    436    416    401
  1941.            q    113    81     272    17       Left  331    431    411    371
  1942.            r    114    82     275    18       Right 333    433    413    372
  1943.            s    115    83     287    19       End   335    435    415    373
  1944.            t    116    84     276    20       Home  327    427    407    375
  1945.            u    117    85     278    21       PgUp  329    429    409    388
  1946.            v    118    86     303    22       PgDn  337    437    417    374
  1947.            w    119    87     273    23       Ins   338    261    418    260
  1948.            x    120    88     301    24       Del   339    263    419    262
  1949.            y    121    89     277    25       Tab   9      271    421    404
  1950.            z    122    90     300    26       Esc   27     27     257    27
  1951.                                               Enter 13     13     284    10
  1952.            1 !  49     33     376    -
  1953.            2 @  50     64     377    259      , <   44     60     307    -
  1954.            3 #  51     35     378    -        . >   46     62     308    -
  1955.            4 $  52     36     379    -        / ?   47     63     309    -
  1956.            5 %  53     37     380    -        ; :   59     58     295    -
  1957.            6 ^  54     94     381    30       ' "   39     34     296    -
  1958.            7 &  55     38     382    -        [ {   91     123    282    27
  1959.            8 *  56     42     383    -        ] }   93     125    283    29
  1960.            9 (  57     40     384    -        \ |   92     124    299    28
  1961.            0 )  48     41     385    -
  1962.            - _  45     95     386    31
  1963.            = +  61     43     387    -
  1964.  
  1965.  
  1966.  
  1967.  
  1968. FC-42                                                                Flash Cards
  1969. --------------------------------------------------------------------------------
  1970.  
  1971.            Mouse Action     Code           Window Action           Code
  1972.            Left Click       513            Close Icon Selected     600
  1973.            Right Click      514            Window Moved            601
  1974.            Middle Click     515            Window Resized          602
  1975.            Left + Right     516            Scroll Bar Up           610
  1976.            Left + Middle    517            Scroll Bar Down         611
  1977.            Middle + Right   518            Scroll Bar Left         612
  1978.            All three        519            Scroll Bar Right        613
  1979.            Left Double      523            Vertical Elevator       614
  1980.            Right Double     524            Horizontal Elevator     615
  1981.            Middle Double    525
  1982.  
  1983.            Mouse Up         584
  1984.            Mouse Down       592
  1985.            Mouse Left       589
  1986.            Mouse Right      587
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992. --------------------------------------------------------------------------------
  1993. Color Tables
  1994.  
  1995.  
  1996.          The totFAST unit includes the following functions for managing display
  1997.          attributes:
  1998.  
  1999.                        function CAttr(F,B:byte):byte;
  2000.                        function FAttr(A:byte):byte;
  2001.                        function BAttr(A:byte):byte;
  2002.  
  2003.  
  2004.  
  2005.                              CRT Color Constants
  2006.  
  2007.                   Black           0     DarkGray        8
  2008.                   Blue            1     LightBlue       9
  2009.                   Green           2     LightGreen      10
  2010.                   Cyan            3     LightCyan       11
  2011.                   Red             4     LightRed        12
  2012.                   Magenta         5     LightMagenta    13
  2013.                   Brown           6     Yellow          14
  2014.                   LightGray       7     White           15
  2015.  
  2016.  
  2017.