home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TOTDOC.ZIP / FLASH.TXT < prev    next >
Encoding:
Text File  |  1991-02-11  |  78.8 KB  |  2,017 lines

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