                              13.

                        .

       ᮤন 䠢 ᯨ᮪  ⠭ ꥪ⮢
Turbo Vision  ᭥  祭  ᯮ짮,  ﬨ,
⮤  ࠬ 梥⮢.
     ⮡   ଠ  । ꥪ ,  
 ᢮⢠ ꥪ⮢  娨 ᫥   ।. 
᪮筮 㡫஢   ᥩ  ଠ樨      뢠
⮫쪮   ⮤,          ⮬
ꥪ.
     ਬ, ᫨     Owner ꥪ  TLabel,  
 ᬮ   TLabel,  ।     Owner.
⥬ ᬮ  ।⢥  ।  TLabel    娨  -
TStaticText.     Owner      .   ᬮ   ᫥饣
।⢥ । TView.      ଠ
 Owner, ஥ ᫥   TLabel.
      ꥪ  ⮩      ᪮  ।⠢
।   ।⢥  ᫥ ⠪,    ᬮ 
 ꥪ,   ᫥   ⮤.
      ꥪ ।⠢  ᫥饬 ଠ:

     ꥪ TSample                                   ꥪ


                  Ŀ
                   TObject 
                  
                  ͻ
                   TSample 
                  ͼ
                Ŀ
                 TDescendant 
                

  

          ࠧ ਢ  ᯨ᮪      ꥪ.  ஬
            ᭥   ᯮ짮 ਢ
         祭 "⮫쪮 ⥭"  "⥭/".  "⮫쪮
           ⥭"  -    ,      ⠭   
         ন  ⮤  ꥪ⮢        
         ᯮ짮     ᢠ.

 AField  AField: SomeType;                            쪮 ⥭
         AField -  ,  ஥ ᮤন   ଠ
          ⮬    ꥪ.      ⥪         
         㭪樮,       砥             
         ᯮ짮.
         . ⠪ :  易 ,  ⮤,  ꥪ, 
         㭪樨  ..

 AnotherField  AnotherField: Word;                    ⥭/
           ᮤন ଠ  ଠ樨   
         AField.


 ⮤ 

          ࠧ ਢ  ⮤,   । 
         ⮬ ꥪ,   ४뢠 㭠᫥ ⮤. 
         㠫 ⮤   㪠뢠,       ॡ
         ४뢠 ⮤:  ,  ।,  ,     
         ᥣ.

 Init    constructor Init(AParameter: SomeType);
         Init ᮧ    ꥪ,  ⠭  
         AField  Parameter.

 Zilch   procedure Zilch; virtual;            ४뢠: 
         楤 Zilch 믮  ⢨.
         . ⠪  TSomethingElse.Zilch


TApplication                                                    App


                  Ŀ
                   TObject  
                  
                  Ŀ
                    TView   
                  
                  Ŀ
                   TGroup   
                  
               Ŀ
     Ŀ  Ŀ  Ŀ
      TWindow    TDeskTop    TProgram 
         
     Ŀ               ͻ
      TDialog                 TApplication 
                    ͼ

         TApplication  ᫥  TProgram    ⫨砥
          TProgram    ⮫쪮    ࠪ஬      ࠪ஬.
         TApplication.Init 樠     ⥬   Turbo
         Vision (ࠢ ,  ,  ᮡﬨ, ⥬묨
         訡    ᯨ᪠   ਩)        ⥬    뢠
         TProgram.Init. 筮     TApplication.Done    砫
         뢠 TProgram.Done,   ⥬ 㭨⮦  ⥬
         Turbo Vision.
         筮    㤥   ᫥   ᢮    ணࠬ    
         TApplication. ᫨              ॡ      㣠
         ᫥⥫쭮 樠樨 ⥬    ,
           ᫥  ணࠬ  TProgram  
         樠஢  뢠 ⥬ Turbo Vision.

 ⮤ 

 Init   constructor Init;
         ᪠ ॠ TApplication.Init  :

     constructor TApplication.Init;
     begin
       InitMemory;
       InitVideo;
       InitEvents;
       InitSysError;
       InitHistory;
       TProgram.Init;
     end;

         . ⠪ : TProgram.Init

 Done    destructor Done; virtual;
          TApplication.Done  :

     destructor TApplication.Done;
     begin
       TProgram.Done;
       DoneHistory;
       DoneSysError;
       DoneEvents;
       DoneVideo;
       DoneMemory;
     end;


TBackground                                                     App


                  Ŀ
                     TObject   
                  
                  Ŀ
                      TView    
                  
                  ͻ
                   TBackGround 
                  ͼ

         TBackground -    ⮩    ,  ᮤঠ騩
         ⮭  אַ㣮쭨. 筮  ਭ
         TDeskTop.

  

 Pattern   Pattern: Char;                             쪮 ⥭
          ⮢ 蠡  䮭  .

 ⮤ 

 Init   constructor Init(var Bounds: TRect; APattern: Char);
          ꥪ  TBackground    ࠭栬  Bounds  뢠
         TView.Init.   GrowMode   ⠭     gfGrowHiX  +
         gfGrowHiY,    Pattern ⠭  APattern. .
         ⠪ : TView.Init, TBackground.Pattern

 Load   constructor Load(var S: TStream);
          ꥪ TBackground  㦠     ⮪  S,
         뢠 TView.Load,  ⥬   Pattern.
         . ⠪ : TView.Load

 Draw   procedure Draw; virtual;               ४뢠: 
          אַ㣮쭨   ⥪騬 蠡
          梥⮬  㬮砭.

 GetPalette   function GetPalette: PPalette; virtual;
                                               ४뢠: 
         頥 㪠⥫    㬮砭 CBackground.

 Store  procedure Store(var S: TStream);
         ࠭     TBackground  ⮪,  뢠
         TView.Store,  ⥬ 뢠  Pattern.
         . ⠪ : TView.Store, TBackground.Load

 

         ꥪ 䮭  ᯮ   㬮砭  CBackground
          ⮡ࠦ     ணࠬ.

                              1
                            ͻ
              CBackground    1 
                            ͼ
                   Color  


TBufStream                                                  Objects


                  Ŀ
                     TObject  
                  
                  Ŀ
                     TStream  
                  
                  Ŀ
                   TDosStream 
                  
                  ͻ
                   TBufStream 
                  ͼ

         TBufStream ॠ  ਧ     TDosStream.
         ⥫  㪠뢠 ࠧ   , 
         ⠪   ⥪    ᫥      .   ஬
         ४ 쬨     ⮤    TDosStream,    TBufStream
         । ࠪ  ⮤  TStream.Flush.  ࠪ
         TBufStream ᮧ          뢠    䠩,    뢠
         TDosStream.Init, ⥬ ᮧ    GetMem.
         TBufStream ⥫쭮  䥪⨢  TDosStream  ࠡ
         讣 ᫠     ⮪,    ⠪    
         ࠭     㧪    ꥪ⮢       ᯮ짮
         TStream.Get  TStream.Put.

  

 Buffer  Buffer: Pointer;                             쪮 ⥭
         ⥫  砫  ⮪.

 BufSize BufSize: Word;                               쪮 ⥭
            .

 BufPtr  BufPtr: Word;                                쪮 ⥭
         饭    㪠⥫  Buffer,  㪠뢠饥    ⥪
           .

 BufEnd  BufEnd: Word;                                쪮 ⥭
         ᫨   ,  BufEnd  ᬥ饭  㪠⥫
         Buffer  ᫥ ᯮ㥬   .


 ⮤ 

 Init    constructor Init(FileName: FNameStr; Mode, Size: Word);
           뢠 䠩  ० 㯠  Mode,  뢠
         TDosStream.Init.    ᮧ  ࠧ஬  SizeBuf,
         뢠 GetMem.  Handle, Buffer  BufSize 樠
         ᮮ⢥⢥.   ࠧ      512   2048
         .
         . ⠪ : TDosStream.Init

 Done    destructor Done; virtual;           ४뢠: 
         뢠   ᢮  䠩  ⮪;  ⠫  
         ᢮  .
         . ⠪ : TBufStream.Flush

 Flush   procedure Flush; virtual;           ४뢠: 
         ⠫  ⮪,  ᯥ稢,   ⮪ 㤥 
         ﭨ stOK.
         . ⠪ : TBufStream.Done

 GetPos  function GetPos: LongInt; virtual;  ४뢠: 
         頥 祭 ⥪饩 樨 ⮪ ( ९⠩
          BufPtr - ⥪饩 樥  ).
         . ⠪ : TBufStream.Seek

 GetSize function GetSize: LongInt; virtual; ४뢠: 
         ⠫ ,    ⥬ 頥 饥 ᫮  
         ⮪.

 Read    procedure Read(var Buf; Count: Word); virtual;
                                             ४뢠: 
         ᫨ stOK,  ⠥ Count        Buf,  稭  
         ⥪饩 樨 ⮪.
         ⨬,  Buf -    ⮪,   譨  ,
         ᮤঠ騩  ⠥  ⮪.
         . ⠪ : TBufStream.Write, stReadError

 Seek    procedure Seek(Pos: LongInt); virtual;
                                             ४뢠: 
         ⠫ ,  ⥬ ⠭ ⥪  
         Pos   砫 ⮪. 砫쭠  ⮪ - 0.
         . ⠪ : TBufStream.GetPos, TBufStream.GetSize

 Truncate procedure Truncate; virtual;       ४뢠: 
         ⠫ ,  ⥬  㤠      ⮪ 
         ⥪饩 樨         ⮪.      
         ⠭    ⮪.
         . ⠪ : TbufStream.GetPos, TBufStream.Seek

 Write   procedure Write(var Buf; Count: Word); virtual;
                                             ४뢠: 
         ᫨ stOK,  뢠 Count    Buf    ⮪,
         稭  ⥪饩 樨.
         ⨬,  Buf -    ⮪,   譨  ,
         ᮤঠ騩 ,   뢠    ⮪.    Write
         뢠, Buf 㪠뢠    ६,    省
         뢠.
         . ⠪ : TBudStream.Read, stWriteError


TButton                                                     Dialogs


                  Ŀ
                    TObject  
                  
                  Ŀ
                     TView   
                  
                  ͻ
                    TButton  
                  ͼ

         ꥪ TBuuton  -   אַ㣮쭨    ⥭,
         騩   ⨨.      ⥭ᨢ
         ᯮ   IDE.       ࠭ ⨥
         ᢥ祭 㪢,  室      Tab  
         ⨥ ஡,   ⨥   Enter,        
         㬮砭 (㪠뢠  ᢥ⪮)    ⬥⪮  
         誮.
          梥⭮  ୮-    嬥
         ,         ⨨.    ஬
         ⥬  뤥 ५  㣨  ASCII ᨬ
         ᯮ  㪠,     㬮砭
         ࠭  ..
            㣨   ࠢ,  ।  㫥
         Dialogs, TButton -  ନ ꥪ.    
         ⠢     㯯  ᯮ짮  ४ 
         ⮤.
          樠    ।祩      TRect   ப
         , ,  㥬    ⨨    
          䫠.   ⮡   ।        
         ⪮ ,  ப     ᮤঠ  "~"
              ᨬ,    ⠭ ᨬ
         ⪮ .   ࠬ   AFlag   㪠뢠,    㤥
          業஢      ࠢ     
         ࠭               㬠稢   (
         ᫥⥫쭮 롨 १ Enter).
           ⠭          ⮫쪮
             㬮砭    ६.  ,
          ࠢ  㯯,      ⤠  㬠稢
         ﭨ १  ᮮ饭 evBroadcast.    
         ࠧ襭  饭  ᯮ짮  ⮤ SetState
          CommandEnabled.

  

 Title  Title: PString;                               쪮 ⥭
         ⥫  ⥪ .

 Command Commnd: Word;                               쪮 ⥭
            ᮡ⨨, 㥬  ⨨ .
         . ⠪ : TButton.Init, TButton.Load

 Flags   Flags: Byte;                                 ⥭/
         Flags -    ,  ᯮ㥬   㪠,  㤥 
         ⥪   業஢     ࠢ   .
         ⤥ 䫠  ᠭ  ࠧ "⠭ 䫠 
         bfXXXX"  14.
         . ⠪ : TButton.Draw, ⠭ bfXXXX

 AmDefault  AmDefault: Boolean;                       쪮 ⥭
         ᫨ True,    -     㬮砭   (   ᫥⥫쭮
         롨ࠥ   ⨨  Enter).   -  "ଠ쭠"
         .
         . ⠪ : ⠭ 䫠  bfXXXX

 ⮤ 

 Init    constructor Init(var Bounds: TRect; ATitle: TTitleStr;
                          ACommand: Word; AFlags: Byte);
          ꥪ TButton   ࠧ஬, 뢠 TView.
         Init. 뢠 NewStr(ATitle)    砥    Title.
         AFlags ᯮ         楫:  ᫨  AFlags  and
         bfDefault -  0,   AmDefault  ⠭    True;
         ஬ ⮣,     AFlags    㪠뢠,    㤥    
         業஢   ࠢ    ஢મ   ᫨
         AFlags and bfLeftJust  0.
         Options ⠭  (ofSelectable +  ofFirstClick  +
         ofPreProcess + ofPostProcess). EventMask ⠭ 
         evBroadast. ᫨  ACommand    ࠧ襭,    
         State ⠭ sfDisabled.
         . ⠪ : TView.Init, ⠭ 䫠  bfXXXX

 Load    constructor Load(var S: TStream);
          ꥪ  TButton   樠   
         ⮪, 뢠 TView.Load(S). 㣨  ⠭
         १ 맮    S.Read,       State   ⠭   
         ᮮ⢥⢨  ⥬,  ࠧ襭      Command.
         ᯮ ᮢ⭮    TButton.Store   ࠭ 
         祭 ꥪ  TButton  TStream.
         . ⠪ : TView.Load, TButton.Store

 Done    destructor Done; virtual;           ४뢠: 
         ᢮ ,  ।      Title,   ⥬
         뢠 TView.Done  ࠧ襭  .
         . ⠪ : TView.Done

 Draw    procedure Draw; virtual;              ४뢠: 
            ᮮ⢥饩  ன     ⥪饣
         ﭨ (ଠ쭠       㬮砭    饭)    
         樮   ᮮ⢥⢨  ⮬ bfLeftJust 
         Flags.

 GetPalette function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫    㬮砭 CButton.

 HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                              ४뢠: 
         ⢥砥   ⨥        ᯮᮡ:  ⬥⪮
          誮,  ⨥  ⪮    ⠭
            㬮砭,    祭  饥   ᮮ饭
         cmDefault.     ,    
         ᮡ⨥    TView.PutEvent,         TButton.Command:
         ⠭      Event.Command,          Event.InfoPtr
         ⠭  @Self.
          ⠪    ᯮ  騥   cmGrabDefault 
         cmReleaseDefault, ⮡   "  "    
         㬮砭   cmCommandSetChanged,    ⠢  
         ஢, ࠧ襭   饭.
         . ⠪ : TView.HandleEvent

 MakeDefault  procedure MakeDefault(Evable: Boolean);
          ⮤ 祣  , ᫨  㦥 㬠稢.
            Owner        ﭨ 
         㬮砭. ᫨  Enable  True,  뤠      
         cmGrebDefault,         cmReleaseDefault.       
         ᮢ뢠, ⮡   .
         . ⠪ : TButton.AmDefault, bfDefault

 SetState procedure   SetState(AState:   Word;   Enable:  Boolean);
         virtual;                              ४뢠: 
         뢠 TView.SetState,  ⥬  , ᫨ 
         ⠫ sfSelected  sfActive. ᫨  ⠫ ⨢ (.
         . ᫨  AState  -  sfFocused)   ࠥ  ⤠
         ﭨ   㬮砭       㬮砭,   뢠
         MakeDefault.
         . ⠪ : TCView.SetState, TButton.MakeDefault

 Store  procedure Store(var S: TStream);
         ࠭ ꥪ TButton  ⮪, 뢠 TView.Store(S),
          ⥬ S.Write  ࠭ 祭 Title    Command.
         ᯮ ᮢ⭮    TButton.Load    ࠭ 
         祭  ꥪ⮢  TButton    ⮪.  .   ⠪   :
         TView.Store, TButton.Load, TStream.Write



         ꥪ   ᯮ   㬮砭 CButton 
         ⮡ࠦ ⮢  10  15   CDialog.


              1    2    3    4    5    6    7    8
           ͻ
CButton     10  11  12  13  14  14  14  15 
           ͼ
ଠ                              
⥪                                  
                           ࠭
㬮砭                                     ⪠ 
࠭                  ⪠ 
⥪                                            㬮砭
饭        ࠭
⥪                                             ଠ쭠
                                                  


TCheckBoxes                                                 Dialogs


                  Ŀ
                     TObject  
                  
                  Ŀ
                      TView   
                  
                  Ŀ
                    TCluster  
                  
                 Ŀ
      Ŀ     ͻ
       TRadioButtons       TCheckBoxes 
           ͼ

         TCheckBoxes -  ,  ᮤঠ騩  1  16 
         ࠢ.   ⫨稥    ᨬ ,   ᫮
         ᨬ       ⠭   ᨬ.
         ⮬   ⮩  㯯      㬮砭.  
          ⬥  誮,          ⪨
         ⨥ Alt-㪢.      ᢥ祭 
         祭/몫祭 (஡).   ᫨       ࠭,
          .   㣨      襩   ணࠬ  筮
         ஢ ﭨ ᨬ      ।,
            ࠭  짮⥫  (ਬ  IDE 樨
            ।   롨   ⠪   ᯮᮡ).
          ᨬ      易    ꥪ⠬
         TLabel.

  

         ᫥  ValueSl  TCluster. Value 
              16   ( 0  15),   1   樨
         砥,  ᮮ⢥騩  ⬥祭.

 ⮤ 

         ⨬,   TCheckBoxes    ४뢠  ࠪ஢,
         ࠪ   ࠡ稪  ᮡ⨩ TCluster.  ஦
         ⨯ ꥪ⮢   ४ .

 Draw    procedure Draw; virtual;              ४뢠: 
          ꥪ   TCheckBoxes   뢠   ᫥㥬  ⮤
         TCluster.DrawBox.  㬮砭  ᨬ    
         : " [ ] "   ࠭  " [X] "  ࠭.
         ⨬,  ᫨  ࠭      筮
         , ᨬ    ⮡ࠦ  ᪮쪮
         .
         . ⠪ : TCluster.DrawBox

 Mark    function Mark(Item: Integer) : Boolean; virtual;
                                               ४뢠: 
         頥 True,  ᫨       Value ⠭,
         .. ᫨   ⬥祭.   ४ ,
         ⠭      Value.   㬮砭
          㬥  0  15.
         . ⠪ : TCheckBoxes.Press

 Press   procedure Press(Item: Integer); virtual;
                                               ४뢠: 
         ⠭    Value.      ४
            㣮  樨    Value.   㬮砭
          㬥  0  15.
         . ⠪ : TCheckBoxes.Mark


 

          㬮砭   ꥪ   ᨬ      ᯮ
         CCluster -             㬮砭          
         ꥪ⮢-஢.


                      1    2    3    4
                   ͻ
      CCluster      16  17  18  18 
                   ͼ
      ଠ               ࠭ ⪠
      ⥪                             
      ࠭          ଠ쭠 ⪠
      ⥪                               


TCluster                                                    Dialogs


                  Ŀ
                     TObject  
                  
                  Ŀ
                      TView   
                  
                  ͻ
                    TCluster  
                  ͼ
                 Ŀ
      Ŀ     Ŀ
       TRadioButtons       TCheckBoxes 
           

          -      㯯   ⮢  ࠢ,  
         ⪫ .  TCluster  -    ࠪ  ⨯
         ꥪ,     ண   ஦   㯯   ⮢
         ࠢ TRadioButtons        TCheckBoxes.     
         ࠢ       樨     ꥪ⠬
         TLabel,   롨   ࠢ, 롨
         ⥫   ᭥.
           ६,    ᯮ  樨 ,
          ப     -    ।஢  ப,  
         ᯮ  ४祭 ⮢ 祭   Value
         (⨯ Word).  ⠭  ᫥  TCluster ᯮ
         ࠧ    Value:  TCheckBoxes  
         ४砥 ,    TRadioButtons  砥      
         頥 ।⥫쭮   ࠭   .       ꥪ
         ᫥   ᢮   TCluster.


  

 Value  Value: Word;                                  쪮 ⥭
         騥 祭      ࠢ.  ⢨⥫쭢
          ⮣  । ⮤,  ࠧࠡ⠭묨  
         ⨯ ꥪ⮢, ஦  TCluster.

 Sel     Sel: Integer;                                쪮 ⥭
         騩 ࠭  .

 Strings Strings: TStringCollection;                  쪮 ⥭
         ᮪ ⮢ .


 ⮤ 

 Init    constructor Init(var Bounds: TRect; AStrings: PSItem);
         頥    Value     Sel.  ࠬ  AStrings  筮
         믮     맮   쭮   㭪樨
         NewSItem.    ࠧ        ᨬ  
         ᨬ        ᮧ      맮
         ࠪ:

      var
        Control: PView;
      ...
      R.Assign(30, 5, 52, 7);
      Control := New(PRadioButtons, Init(R,
        NewSItem('~F~orward',
        NewSItem('~B~ackward', nil))));
      ...

             ⥫  ᨬ  
         ᨬ ,            맮
         NewSItem    ॡ㥬  ⥪⮬.  ⥬
          ⥫쭠  뢠  ᪮  
           ப    㤥 ஢
          ᨭ⠪᪨ 訡.
         . ⠪ : ⨯ TSItem

 Load    constructor Load(var S: TStream);
          ꥪ   TCluster,  뢠  TView.Load(S),  ⥬
         ⠭  Value   Set  맮  S.Read.  
          String      㦠      S     
         Strings.Load(S). ᯮ ᮢ⭮    TCluster.Store
          ࠭  祭 ꥪ⮢ TCluster  ⮪.
         . ⠪ : TCluster.Store, TView.Load

 Done    destructor Done; virtual;            ४뢠: 
         ᢮ ,  ।    ப ,
         ⥬ ࠧ蠥  , 뢠 TView.Done.
         . ⠪ : TView.Done

 DataSize function DataSize: Word; virtual;    ४뢠: 
         頥 ࠧ   Value.        ४뢠    
         ஦ ⨯  ꥪ⮢,      Value 
          㣨    ⮣,  ⮡  ࠡ  
         GetData  SetData.
         . ⠪ : TCluster.GetData, TCluster.SetData

 DrawBox procedure DrawBox(Icon: String; Maker: Char);
         뢠 ⮤ Draw ஦ ⨯,  ⮡ ᮢ
         אַ㣮쭨 । ப    .
         Icon -  ப  5 ᨬ (' [ ] '  ᨬ 
         ' ( )  '    ᨬ  ).  Maker  -    ᨬ,
         ᯮ㥬   㪠,     ⬥祭 ('X' 
         ᨬ  '.'  ᨬ ).
         . ⠪ : TCheckBoxes.Draw, TRadioButtons.Draw

 GetData procedure GetData(var Rec); virtual;  ४뢠: 
         뢠  Value         .
          ४뢠  ஦ ⨯ ꥪ⮢, 
           Value  ⮣,  ⮡ ࠡ  DataSize 
         SetData.
         . ⠪    :    TCluster.DataSize,     TCluster.SetData,
                           TView.DrawView

 GetHelpCtx function GetHelpCtx: Word; virtual; ४뢠:
         頥 祭  Sel        HelpCtx.   
              ⤥  ⥪ ࠢ 
           .  ⨬  ⥪⮢
         ࠢ HelpCtx  ᫮ ⮢   1.

 GetPalette function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫    㬮砭 CCLuster.

 HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                               ४뢠: 
         뢠 TView.HandleEvent,      ࠡ뢠   
         ᮡ   誨    ,  ⭮騥      ⮬
         .   ࠢ  롨  ⬥⪮ 誨
          蠬   (  ஡).  
         ᮢ뢠, ⮡  ࠭ .
         . ⠪ : TView.HandleEvent

 Mark   function Mark(Item: Integer): Boolean; virtual;
                                              ४뢠: ᥣ
         뢠   Draw     ।,      
         ⬥祭.   㬮砭  TCluster.Mark  頥  False.
         Mark  ४뢠,   True,  ᫨  
         ࠢ   ⬥祭,  False.

 MovedTo procedure MovedTo(Item: Integer); virtual;
                                               ४뢠: 
         뢠  HandleEvent  ६饭  롮 
           ࠢ  .

 Press   procedure Press(Item: Integer); virtual;
                                              ४뢠: ᥣ
         뢠   HandleEvent      ࠢ   
              ⬥⪮  誨,    ᮡ⨥  
         .  ࠪ ⮤   ४.

 SetData procedure SetData(var Rec); virtual;  ४뢠: 
         ⠥    Value          ᮢ뢠
         .    ४뢠      ஦    ⨯
         ஢,    ॡ  㣨      ࠡ  
         DataSize  GetData.
         . ⠪     :    TCluster.DataSize,    YCluster.GetData,
                            TView.DrawView

 SetState procedure SetState(AState: Word; Enable: Boolean);
          virtual;                             ४뢠: 
         뢠 TView.SetState, ⥬  , ᫨ AState
         - sfSelected.
         . ⠪ : TView.SetState, TView.DrawView

 Store  procedure Store(var S: TStream);
         ࠭ ꥪ     TCluster          ⮪,    뢠
         TView.Store(S), 뢠 Value   Sel,  ⥬  ࠭
          Strings   ,   ᯮ      ⮤  Store.
         ᯮ ᮢ⭮  TCluster.Load    ࠭  
         祭 ꥪ⮢ TCluster  ⮪.
         . ⠪ : TCluster.Load, TStream.Write

 

         ꥪ TCluster  ᯮ   CCluster   -      
         㬮砭      ꥪ⮢ ,  ⮡ ⮡ࠧ
           16  18      ⠭⭮  
         :

                      1    2    3    4
                   ͻ
      CCluster      16  17  18  18 
                   ͼ
      ଠ               ࠭ ⪠
      ⥪                             
      ࠭          ଠ쭠 ⪠
      ⥪                               


TCollection                                                 Objects


                        Ŀ
                         TObject 
                        
                      ͻ
                       TCollection 
                      ͼ
                   Ŀ
                    TSortedCollection 
                   
                   Ŀ
                    TStringCollection 
                   
                  Ŀ
                   TResourceCollection 
                  

         TCollection -    ࠪ  ⨯   ॠ樨 
         樨 ⮢,   㣨 ꥪ.  TCollection
                楯,  祬  ᨢ,
         ⢮    ᯨ᮪.      ꥪ⮢    TCollection
         ᪨ ⠭       ६   믮   
         TCollection -  ⨯      ᯥ樠஢
         ⨯,  ⠪   TSortedCollection,  TStringCollection 
         TResourceCollection.    ⮤    
         㤠 ⮢   TCollection   ।⠢  ᪮쪮
          ணࠬ,    뢠   楤   
         㭪    樨.

  

 Items  Items: PItemList;                             쪮 ⥭
         ⥫  ᨢ 㪠⥫ ⮢.
         . ⠪ : ⨯ TItemList

 Count   Count: Integer;                              쪮 ⥭
         饥 ᫮   ⮢       樨,    ᨬ쭮
         MaxCollectionSize.
         . ⠪ : ६ MaxCollectionSize

 Limit   Limit: Integer;                              쪮 ⥭
         騩 । ࠧ ( ) ᯨ᪠ Items.
         . ⠪ : Delta, TCollection.Init

 Delta   Delta: Integer;                              쪮 ⥭
         ᫮ ⮢,  ஥ 㢥稢 ᯨ᮪ Items 
         . ᫨ Delta - 0,      
         ࠧ, ⠭  Limit.

         ਬ砭: 祭 ࠧ 樨 筮 ண
          ᫥ ந⥫쭮.  ⮡  ஢  ᫮
         ࠧ   ந室, ⠩ ⠭ 砫쭮
         Limit  ⠪ ⢮,  ஥  㤥  筮  
          ⮢,    ᮡࠥ 樮஢,
          ⠭ Delta ⠪,  ⮡  﫠 ७ 
         ਥ ⢮.
         . ⠪ : Limit, TCollection.Init

 ⮤ 

 Init    constructor Init(ALimit, ADelta: Integer);
            Limit, ⠭  ALimit  Delta,
         ⠭   ADelta.  ࢮ砫쭮  ᫮  ⮢
         㤥 ࠭祭  ALimit,     ,
         㢥稢  ADelta   ,   㤥  筮
                  ᫮    ⮢       ⨣
         MaxCollectionSize.
         . ⠪ : TCollection.Limit, TCollection.Delta.

 Load    constructor Load(var S: TStream);
           㦠    ⮪. TCollection.Load
         뢠 GetItem    樨.
         . ⠪ : TCollection.GetItem

 Done   destructor Done; virtual;              ४뢠: 
            ᢮      樨,  뢠
         TCollection.FreeAll  ⠭ Limit  0.
         . ⠪ : TCollection.FreeAll, TCollection.Init

 At      function At(Index: Integer) : Pointer;
         頥 㪠⥫        ᮬ   Index   
         樨.    ⮤       ஢
           ஢ ᨢ. ᫨   0
              ࠢ  Count,  뢠  ⮤  Error 
         㬥⮬ coIndexError  頥 祭 nil.
         . ⠪ : TCollection.IndexOf

 AtDelete procedure AtDelete(Index: Integer);
            樨  Index    ६頥  ᫥騥
             . Count 㬥蠥  1, 
         ,  ।   (   Limit)
           ᮪頥.  ᫨ Index  0    ࠢ
         Count,  뢠  ⮤ Error  㬥⮬ coIndexError.
         .   ⠪   :   TCollection.FreeItem,  TCollection.Free,
         TCollection.Delete

 AtInsert procedure AtInsert(Index: Integer; Item: Pointer);
         ⠢ Item      Index   । ᫥騥
             .  ᫨ Index    0  
          Count,   뢠   ⮤   Error     㬥⮬
         coIndexError   Item  ⠢. ᫨ Count ࠢ
         Limit  맮 AtInsert,  । ࠧ 樨
           Delta  ⮢,  뢠  SetLimit.  ᫨
         맮 SetLimit      ,  뢠
         ⮤ Error    㬥⮬  coOverflow      Item  
         ⠢.
         . ⠪ : TCollection.At, TCollection.AtPut

 AtPut   procedure AtPut(Index: Integer; Item: Pointer);
              樨  Index ⮬,   
         Item. ᫨ Index  0        ࠢ  Count,
         뢠 ⮤ Error  㬥⮬ coIndexError.
         . ⠪ : TCollection.At, TCollection.AtInsert

 Delete  procedure Delete(Item: Pointer);
              Item        樨.   ⭮
         AtDelete(IndexOf(Item)).
         . ⠪ : TCollection.AtDelete, TCollection.DeleteAll

 DeleteAll procedure DeleteAll;
             樨, ⠭ Count  0.
         . ⠪ : TCollection.Delete, TCollection.AtDelete

 Error   procedure Error(Code, Info: Integer); virtual;
                                              ४뢠: 
         뢠,    砥   訡   樨.   
         㬮砭  ⮤  訡  ६ 믮
         212.
         . ⠪ : ⠭ 樨 coXXXX

 FirstThat function FirstThat(Test: Pointer) : Pointer;
         FirstThat ਬ 㫥 㭪,  㪠⥫
          㭪 Test    樨     ,
           test  頥  True.    -  㪠⥫  
         ,  ண Test 頥 True,   nil, ᫨
         㭪 Test  頥  False    ⮢.  Test
          㪠뢠                㭪,
         ᯮ ⮫쪮      ࠬ   ⨯   Pointer   
          祭 ⨯ Boolean. ਬ

         function Matches(Item: Pointer) : Boolean; far;

         㭪 Test    쭮 㭪樥.
         ।,  List ⨯ TCollection, 

         P := List.FirstThat(@Matches);

         ᮮ⢥

     I := 0;
     while (I < List.Count) and not Matches(List.At(I)) do Inc(I);
     if I < List.Count then P := List.At(I) else P := nil;

         . ⠪ : TCollection.LastThat, TCollection.ForEach

 ForEarch procedure ForEarch(Action: Pointer);
         ForEach ਬ ⢨,  ।  楤ன,  
          㪠뢠 Action,     樨.
         Action  㪠뢠       楤,
         ᯮ  ࠬ ⨯ Pointer. ਬ

         function PrintItem(Item: Pointer);

         楤 Action    쭮 楤ன.
         ᫨ List ⨯ TCollection, 

         List.ForEach(@PrintItem);

         ᮮ⢥

         for I := 0 to List.Count - 1 do PrintItem(List.At(I));

         . ⠪ : TCollection.FirstThat, TCollection.LastThat

 Free    procedure Free(Item: Pointer);
           ᢮ Item. ⭮

         FreeItem(Item);
         Delete(Item);

         . ⠪ : TCollection.FreeItem, TCollection.Delete

 FreeAll procedure FreeAll;
           ᢮   樨.

         . ⠪ : TCollection.DeleteAll

 FreeItem procedure FreeItem(Item: Pointer); virtual;
                                              ४뢠: 
         ⮤ FreeItem     ᢮  Item.    㬮砭
         TCollection.FreeItem ।,      Item   -    
         㪠⥫   ꥪ,  ஦    TObject   ⮬
         뢠 ࠪ Done:

         if Item <> nil then dispopse(PObject(Item), Done);

         FreeItem 뢠   Free    FreeAll,      
          뢠 אַ.

         . ⠪ : TCollection.Free, TCollection.FreeAll

 GetItem function   TCollection.GetItem(var  S:  TStream): Pointer;
                    virtual;                  ४뢠: 
         뢠    TCollection.Load        
         樨.  ⮤   ४,      
         뢠 .      㬮砭  TCollection.GetItem
         ।,   樨 ஦   TObject
          뢠 TString.Get  㧪 :

         GetItem := S.Get;

         . ⠪       :      TStream.Get,      TCollection.Load,
         TCollection.Store

 IndexOf functionIndexOf(Item: Pointer): Integer; virtual;
                                             ४뢠: 
         頥     Item.   ८ࠧ      
         TCollection.At. ᫨   Item  -      樨,  IndexOf
         頥 -1.

         . ⠪ : TCollection.At

 Insert  procedure Insert(Item: Pointer); virtual;
                                             ४뢠: 
         ⠢ Item  ,  ࠨ 㣨  ,
         ᫨ 室.  㬮砭 ⠢ ந  
         樨 맮 AtInsert(Count, Item);

         . ⠪ : TCollection.AtInsert;

 LastThat function LastThat(Test: Pointer): Pointer;
         LastThat ਬ 㫥 㭪,   㪠⥫
          㭪 Test,     樨   ⭮
         浪   ,   Test  ୥ True.  -
         㪠⥫  ,   ண Test 頥  True,
          nil,  ᫨  㭪  Test  頥  False   
         ⮢. Test    㪠뢠      
         㭪, ᯮ      ࠬ   ⨯  Pointer  
          ⨯ Boolean, ਬ

         function Patches(Item: Pointer): Boolean; far;

         㭪 Test    쭮 㭪樥.
         ᫨ List ⨯ TCollection, 

         P := List.LastThat(@Matches);

         ᮮ⢥

         I := List.Count - 1;
         while (I >= 0) and Matches(List.At(I)) do Dec(I);
         if I >= 0 then P := List.At(I) else P := nil;

         . ⠪ : TCollection.FirstThat, TCollection.ForEach;

 Pack    Procedure Pack;
           nil 㪠⥫  樨.

         . ⠪ : TCollection.Delete, TCollection.DeleteAll

 PutItem procedure PutItem(var S: TStream; Item: Pointer); virtual;
                                              ४뢠: 
         뢠   TCollection.Store        
         樨.    ⮤   ४,    
         뢠 אַ.       㬮砭    TCollection.PutItem
         ।,       権   ஦  
         TObject  맮 TString.Put ࠭ :

         S.Put(Item);

         . ⠪   :   TCollection.GetItem,    TCollection.Store,
         TCollection.Load

 SetLimit procedure SetLimit(ALimit: Integer); virtual;
                                               ४뢠: 
           ᮪頥 ,   ।
         ࠧ    ALimit.   ᫨   ALimit      Count,    
         ⠭     Count,        ᫨   ALimit   
         MaxCollectionSize,  ⠭  MaxCollectionSize.
         ஬ ⮣,  ᫨  ALimit   ⫨砥   ⥪饣 Limit,
         ।  ᨢ  Items    Alimit  ⮢,
           ᨢ  Items      ᨢ  
         ᨢ ᢮.

         .⠪ :    TCollection.Limit,    TCollection.Count,
                       ६ MaxCollectionSize

 Store   procedure Store(var S: TStream);
         ࠭              ⮪   S.
         TCollection.Store 뢠 TCollection.PutItem  
          樨.

         . ⠪ : TCollection.PutItem


TDeskTop                                                        App


                    Ŀ
                     TObject 
                    
                    Ŀ
                      TView  
                    
                    Ŀ
                     TGroup  
                    
               Ŀ
      Ŀ   ͻ  Ŀ
       TWindow     TDeskTop    TProgram     
         ͼ  
      Ŀ                 Ŀ
       TDialog                   TApplication 
                       

         TDescTop -    㯯,      
         ⮬ TBackground,  ஬    㣨
           ணࠬ.  TDeskTop ।⠢ 
          ࠭,  ᯮ  孥 ᮩ  
          ப .

⮤ 

 Init    constructor Init(var Bounds: TRect);
          㯯  TDeskTop   ࠧ஬ Bounds.   㬮砭
         GrowMode ⠭  gfGrowHiX + gfGrowHiY.  Init ⠪ 
         뢠 NewBackground      ⠢    
         TBackgroud  㯯.

         . ⠪     :    TDeskTop.NewBackGround,    TGroup.Init,
         TGroup.Insert

 Cascade procedure Cascade(var R: TRect);
          ⮡ࠦ  , ਭ騥  ࠭, 
         ᪠ ଠ.  ࢮ   Z 浪 (ᠬ )
              ࠭,      ᫥饥
           , 稭   ப  
             ࠢ,  祬  ।饥.  ⨢  
           設  ᠬ 襥.

         . ⠪ : ofTileable, TDeskTop.Tile

 NewBackGround function NewBackGround: PView; virtual;
                                              ४뢠: 
         頥 㪠⥫  䮭, ᯮ㥬   ࠭.
          ⮤ 뢠  ⮤  TDeskTop.Init. ᫥㥬
         ꥪ   ⨯ 䮭, ४뢠  ⮤.

         . ⠪ : TDeskTop.Init

 HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                               ४뢠: 
         뢠 TGroup.HandleEvent   ࠡ뢠  cmNext
         (筮     F6)    cmPrevious   横᪨
         室    (稭  ⥪饣 ࠭ 
         ) ਭ騬  ࠭.

         . ⠪ : TGroup.HandleEvent, ⠭  cmXXXX

 Tile    procedure Tile(var R: TRect);
          ⮡ࠦ           ofTileable,
         ਭ騥  ࠭  ९筮 ଠ.

         . ⠪ : TDeskTop.Cascade, ofTileable

 TileError procedure TileError; virtual;      ४뢠: 
         TileError 뢠, ᫨  訡  ६ ࠡ
         TDeskTop.Tile  TDeskTop.Cascade.  㬮砭 祣 
         .         ४    ,   ⮡   㪠
         짮⥫,  ணࠬ   ८࣠ .

         . ⠪ : TDeskTop.File, TDeskTop.Cascade


TDialog                                                     Dialogs


                    Ŀ
                     TObject 
                    
                    Ŀ
                      TView  
                    
                    Ŀ
                     TGroup  
                    
               Ŀ
      Ŀ   Ŀ  Ŀ
       TWindow     TDeskTop    TProgram     
           
      ͻ                 Ŀ
       TDialog                   TApplication 
      ͼ                 

         TDialog -  ⮬ TWindow  ᫥騬 ᢮⢠:
         - GrowMode - 0, ..    㢥稢.
         -  wfMove  wfClose ⠭, ..  
          ६    뢠  (।⠢ 뢠
         ).
         - ࠡ稪  ᮡ⨩ TDialog 뢠 TWindow.HandleEvent
          ⥫쭮 ࠡ뢠  ⪫      Esc  
         Enter.   Esc    cmCancel,   Enter
           cmDefault.
         - TDialog.Valid 頥 True   cmCancel, 
         뢠 TGroup.Valid.


⮤ 

Init     constructor Init(var Bounds: TRect; ATitle: TTitleStr);
              ࠧ஬   ,
         뢠 TWindow.Init(Bounds, ATitle, wnNoNumber). GrowMode
         ⠭  0  Flags  ⠭    wfMove  +
         wfClose.   砥,     㬮砭  
           ६    뢠,        
         ࠧ.
         ⨬,    TDialog        ।    ᮡ⢥
         ࠪ,  ᯮ Close  Done,  ᫥㥬 १
         TWindow, TGroup  TView.

         . ⠪ : TWindow.Init

HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                              ४뢠: 
         뢠 TWindow.HandleEvent(Event),  ⥬   ࠡ뢠
          Enter    Esc.   ⭮ Esc  
         cmCancel,  Enter 뫠 騥 ᮮ饭 cmDeafult. 
         ⮤  ⠪  ࠡ뢠 cmOK,  cmCancel,  cmYes  cmNo,
         稢 쭮  ﭨ     .   
            ᯥ譮 ࠡ⠭ ᮡ⨩  뢠 ⮤
         ClearEvent.

         . ⠪ : TWindow.HandleEvent

GetPalette function GetPalette: PPalette; virtual;
                                               ४뢠: 
          ⮤ 頥 㪠⥫       㬮砭
         CPalette.

Valid function Valid(Command: Word): Boolean; virtual;
                                               ४뢠: 
         頥 True,  ᫨     - cmCancel,  
         ᫨   ࠢ 㯯  True.

         . ⠪ : TGroup.Valid


 

         ꥪ     ᯮ   㬮砭
         CDialog  ⮡ࠦ   32    63      
         ணࠬ.

               1   2   3   4   5   6   7   8   9
             ͻ
CDialog       32 33 34 35 36 37 38 39 40
             ͼ
ᨢ                             ⪠ ⪠
ࠬ                                
⨢                        ᢥ祭
ࠬ                                        ⪠
                  ଠ쭠 ⪠
ࠬ                            
࠭              ᪨ ⥪
஫                     
 ࠢ 
஫



               10  11  12  13  14  15  16  17  18
             ͻ
CDialog       41 42 43 44 45 46 47 48 49
             ͼ
ଠ쭠                             ⪨ 
                               
                          ࠭ 
㬮砭                          
࠭                    ଠ
                                         
饭             
                         
⪠  


                19  20  21  22  23  24  25
              ͻ
CDialog        50 51 52 53 54 55 56
              ͼ
ଠ쭠                        ࠢ
ப                             ਨ
࠭                
ப                      
५              ࠭  ਨ
ப                    
५ ਨ    
                                 ஭ ਨ


                   26  27  28  29  30  31  32
                 ͻ
CDialog           57 58 58 59 60 61 62
                 ͼ
ଠ ᬮ                   १ࢨ஢
ᯨ᪠                             
⨢ ᬮ               १ࢨ஢
ᯨ᪠                           
࠭ ᬮ         ଠ樮 
                               
⥫ ᬮ 


         . ⠪ : ⮤ GetPalette   ⨯ ꥪ.


DosStream                                                   Objects


                  Ŀ
                    TObject   
                  
                  Ŀ
                    TStream   
                  
                  ͻ
                   TDosStream 
                  ͼ
                  Ŀ
                   TBufStream 
                  

         TDosStream -   ᯥ樠஢ TStream,  ॠ騩
         ਧ ⮪ 䠩  DOS.  ࠪ  
          ᮧ     䠩 DOS,      ०
         㯠: stCreate,  stOpenRead,  stOpenWrite    stOpen.
            Handle  - ࠡ稪 ࠤ樮 䠩
         DOS, ᯮ㥬      㯠      ⮬   䠩.
         設⢮  ணࠬ    ᯮ짮  ਧ
         ⮪ TBufStream,  ஦   TDosStream.  TDosStream
         ४뢠  ࠪ ⮤ TStream,  ᪫祭
         TStream.Flush.


 

Handle: Word;                                        쪮 ⥭
         Handle -  ࠡ稪 䠩 DOS ᯮ㥬  ⮫쪮 
         㯠  ⮬ 䠩 ⮪.

⮤ 

Init     constructor Init(FileName: FNameStr; Mode: Word);
          ⮪ 䠩  DOS      FileName    
         ० 㯠. ᫨ ᯥ譮,  Handle ⠭
          ࠡ稪 䠩 DOS. 訡 㪠뢠 맮 Error 
         㬥⮬ stInitError.
         㬥 Mode  ਭ   祭: stCreate,
         stOpenRead, stOpenWrite       stOpen.      ⠭
         ᭥  "⠭ ⮪ stXXXX"  14.

Done     destructor Done; virtual;           ४뢠: 
         뢠  ᢮ ⮪ 䠩 DOS

         . ⠪ : TDosStream.Init

GetPos function GetPos: Longint; virtual;    ४뢠: 
         頥 祭 ⥪饩 樨  ⮪.

         . ⠪ : TDosStream.Seek

GetSize  function GetSize: Longint; virtual; ४뢠: 
         頥 ࠧ ⮪  .

Read     procedure Read(var Buf; Count: Word); virtual;
                                             ४뢠: 
         ⠥ Count     Buf,  稭  ⥪饩 樨
         ⮪.

         . ⠪ : TDosStream.Write, stReadError

Seek     procedure Seek(Pos: Longint); virtual;
                                             ४뢠: 
         ⠭ ⥪   Pos   砫 ⮪.

         . ⠪ : TDosStream.GetPos, TDosStream.GetSize

Truncate procedure Truncate; virtual;        ४뢠: 
              ⥪饣 ⮪  ⥪饩 樨 
          ⮪.

         . ⠪ : TDosStream.GetPos, TDosStream.Seek

Write    procedure Write(var Buf; Count: Word); virtual;
          Count    Buf  ⮪,  稭  ⥪饩
         樨.

         . ⠪ : TDosStream.Read, stWriteError


TEmsStream                                                  Objects


                  Ŀ
                    TObject   
                  
                  Ŀ
                    TStream   
                  
                  ͻ
                   TEmsStream 
                  ͼ

         TEmsStream -    ᯥ樠஢  ⮪,  ॠ騩
         ⮪  Ems , ஦  TStream. ⥫
          ।⠢ ࠡ稪 EMS,  ᫮  ࠭,  ࠧ
         ⮪    ⥪   .   TStreamEms  ४뢠  6
         ࠪ ⮤  TStream,    ⠪      ।⠢
         ᯥ樠 ࠪ  ࠪ.

         ਬ砭:    ⫠   ணࠬ,   ᯮ饩  EMS
         ⮪, IDE          ⠭    EMS    ,
         । 襩   ணࠬ,   ᫨    ணࠬ
         ०६ 訫,         뫨    맢
         ࠪ Done    EMS  ⮪.  쪮 ⮤ Done (
         १㧪)      ᢮      EMS      ࠭,
         ਭ訥 ⮪.

 

Handle   Handle: Word;                               쪮 ⥭
         ࠡ稪 EMS  ⮪.

PageCount PageCount: Word;                           쪮 ⥭
         ᫮ ।      ⮪  ࠭,    16  
         ࠭.

Size     Size: Longint;                              쪮 ⥭
          ⮪  .

Position Position: Longint;                          쪮 ⥭
            ⮪. ࢠ  - 0.


⮤ 

Init     constructor Init(MinSize: Longint);
          EMS  ⮪        ࠧ஬   
         . 뢠 TStream.Init, ⥬ ⠭ Handle,
         Size  PageCount. 뢠 Error  㬥⮬ stInitError,
         ᫨ 樠 㤠筠.

         . ⠪ : TEmsStream.Done

Done     destructor Done; virtual;           ४뢠: 
         ᢮ EMS ⮪  ᯮ㥬 EMS ࠭.

         . ⠪ : TEmsStream.Init

GetPos   function GetPos: Longint; virtual;  ४뢠: 
         頥 祭 ⥪饩 樨  ⮪.

         . ⠪ : TEmsStream.Seek

GetSize  function GetSize: Longint; virtual; ४뢠: 
         頥 騩 ࠧ ⮪.

Read     procedure Read(var Buf; Count: Word); virtual;
                                             ४뢠: 
         ⠥ Count    Buf, 稭  ⥪饩 樨
          ⮪.

         . ⠪ : TEmsStream.Write, stReadError

Seek     procedure Seek(Pos: Longint); virtual;
                                             ४뢠: 
         ⠭ ⥪   Pos   砫 ⮪.

         . ⠪ : TEmsStream.GetPos, TEmsStream.GetSize

Truncate procedure Truncate; virtual;        ४뢠: 
             ⮪,  稭  ⥪饩 樨 
          ⮪.      ⠭    
          ⮪.

         . ⠪ : TDosStream.GetPos, TDosStream.Seek

Write    procedure Write(var Buf; Count: Word); virtual;
                                             ४뢠: 
         뢠 Count    Buf    ⮪,  稭  
         ⥪饩 樨.

         . ⠪    :     TDosStream.Read,     TEmsStream.GetPos,
         TEmsStream.Seek


TFrame                                                        Views


                   Ŀ
                    TObject 
                   
                   Ŀ
                     TView  
                   
                   ͻ
                    TFrame  
                   ͼ

         TFrame ।⠢   ࠧ   ࠬ       
          .  ⭮ 짮⥫     
         ᯮ짮 ꥪ ࠬ ,  ..  
            㬮砭.

⮤ 

Init     constructor Init(var Bounds: TRect);
         뢠 TView.Init,   ⥬   ⠭   GrowMode  
         gfGrowHiX +  gfGrowHiY      ⠭   EventMask   
         EventMask  or  evBroadcast,   ⠪,  ⮡  ꥪ  TFrame
         ࠡ뢠  㬮砭 騥 ᮡ.

         . ⠪ : TView.Init

Draw     procedure Draw; virtual;              ४뢠: 
          ࠬ        梥⮬    ਡ⮢        ,
         ᮮ⢥騬 ⥪騬    䫠    State:     ⨢,
         ⨢    ६頥.      
         ࠧ,   ⠡஢  ᨬ  Flags
          - .   , ᫨ ,  
         Title -.  ⨢       
         ࠬ  ,   ⨢   ୮ ࠬ 
          .

         . ⠪  :  ⠭  䫠  ﭨ  sfXXXX,
         ⠭ 䫠  wfXXX

GetPalette function GetPalette: Palette; virtual;
                                               ४뢠: 
         頥 㪠⥫   ࠬ  㬮砭 CFrame.

HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                               ४뢠: 
         뢠 TView.HandleEvent,  ⥬ ࠡ뢠 ᮡ 
         誨. ᫨ 뢠    ⬥祭  誮,  TFrame
          ᮡ cmClose. ⬥⪠  ⠡஢
           ⬥⪠ 孥  ࠬ  ᮡ⨥
         cmZoom.   ६饭  誮     ப ࠬ
          ६頥,    ६饭       
         ࠧ ।      ࠢ   㣮     
         ᮮ⢥⢥   ࠧ.

         . ⠪ : TView.HandleEvent

SetState procedure SetState(AState: Word; Enable: Boolean);
                            virtual;           ४뢠: 
         뢠 TView.SetState,  ⥬,  ᫨   ﭨ  -
         sfActive  sfDragging, 뢠 DrawView  ᮢ
          .

         . ⠪ : TView.SetState


 

         ꥪ ࠬ  ᯮ    㬮砭 CFrame 
         ⮡ࠦ   ⮢     ⠭⭮
         .

                   1   2   3   4   5
                 ͻ
   CFrame         57 58 58 61 62
                 ͼ
   ᨢ              
   ࠬ                     
   ᨢ        ⨢ 
                  
   ⨢ 
   ࠬ


TGroup                                                        Views


                    Ŀ
                     TObject 
                    
                    Ŀ
                      TView  
                    
                    ͻ
                     TGroup  
                    ͼ
               Ŀ
      Ŀ   Ŀ  Ŀ
       TWindow     TDeskTop    TProgram     
           
      Ŀ                 Ŀ
       TDialog                   TApplication 
                       

         ꥪ TGroup   ஦ (     ⪮
         뢠 㯯)   -  ᭮  ࠢ  ᨫ  Turbo
         Vision. 㯯 -    ᯥ樠   ஦    
         ⮢.          ᥬ       ⮤,
         ஦  TView,  㯯  ⥫   
         ⮤ (   ४뢠騥),   騥  ࠢ
         ᪨ 易묨 ᯨ᪠  ⮢ (
         㣨 㯯)     ꥪ⮬.     ਫ 
          㯯    ᫨         ᠬ
          㯯.
          㯯  אַ㣮 ࠭   ᢮  ।
         TView, 㯯      ⮫쪮  १  ⮡ࠦ  ᢮
         ⮢. 楯㠫쭮  㯯     ᥡ   १
         ⮤ Draw  ᢮  ⮢.  㯯    ᢮
         ⠬          ᯥ稢    ᮢ
         () ᥣ אַ㣮쭨 㯯 Bounds.   ६
         ࠡ ணࠬ        㯯   ᮧ,
         ⠢    㯯      ⮡ࠦ      १
         ⥫쭮 짮⥫        ᮡ⨩,    㥬
         ணࠬ.      ,  㤠
          㯯 ⢨ﬨ  짮⥫  (⠪    ⨥
           室   ).
         3 ஦    TGroup   ⨯:  TWindow,   TDeskTop   
         TApplication (१ TProgram)  楯 㯯
          㯯.   TApplication   筮       ꥪ⠬
         TDeskTop, TStatusLine    TMenuView.  TDeskTop ஦ 
         TGroup  ⠪ ࠧ     ꥪ⠬  TWindow,
             ᢮   ।      ꥪ⠬   TFrame,
         TScrollBar  ..
         ꥪ TGroup  ।  ᮢ    ࠡ  ᮡ⨩
         ᢮ ⠬,     4  5.
            ᭮  ⮤ TView ४뢠  TGroup.
         ਬ, ࠭  ⥭ 㯯  ⮪   
         ⨣  맮 TGroup.Store  TGroup.Load.
         ꥪ TGroup 筮      ஢;    㤥
         ᮧ     ⨯  ꥪ⮢,  ஦ 
         TGroup: TApplication, TDeskTop  TWindow.

 

Last     Last : PView;                               쪮 ⥭
         뢠  ᫥  㯯 (ᠬ 쭨 
         設  Z-浪).    Next  ᫥  
         㪠뢠   ,   Next 㪠뢠 
         ᫥騩   .. ନ 横᪨ ᯨ᮪.

Current  Current: PView;                             쪮 ⥭
         뢠  ࠭   ࠢ nil,  ᫨ 
         ࠭ .

         . ⠪ : sfSelected, TView.Select

Buffer   Buffer: PVideoBuf;                          쪮 ⥭
         뢠  ,  ᯮ㥬  ஢ 権
         ᮢ   ࠢ   nil,   ᫨   㯯      
         -. -     ᮧ         㭨⮦
         ⮬᪨, ᫨ 䫠  ofBuffered      Options  
         饭.

         . ⠪ : TGroup.Draw, TGroup.Lock, TGroup.Unlock

Phase    Phase: (phFocused, phPreProcess, phPostProcess);
                                                     쪮 ⥭
          䠧 ࠡ⪨  ⨢ ᮡ. ,
              ⠭    䫠    ofPreProcess    /
         ofPostProcess     ஢    Owner^.Phase,    ⮡
         ।,     䠧  phPreProcess,  phFocused  
         phPostProcess  맢  HandleEvent.

         . ⠪       :       ofPreProcess,       ofPostProcess,
         TGroup.HandleEvent


⮤ 

Init     constructor Init(var Bounds: TRect);
         뢠 TView.Init,  ⠭  Options ofSelectable
          ofBuffered  ⠭ EventMask  $FFFF.

         . ⠪ : TView.Init, TGroup.Load

Load     constructor Load(var S: TStream);
         㦠    㯯      ⮪,   뢠    砫
         ᫥㥬 TView.Load,   ⥬ ᯮ TStream.Get 
         ⥭    .    ᫥    㧪    
         ⮢ 믮    室      ⠬   
         ⠭   ⠭  㪠⥫      ᯮ짮
         GetPeerViewPtr.
         ᫨ ⨯ ꥪ,  ஦  TGroup  ᮤন  ,
          㪠뢠   ,    ᯮ짮
         GetSubViewPtr  Load, ⮡   .

         . ⠪ : TView.Load, TGroup.Store, TGroup.GetSubViewPtr

Done     destructor Done; virtual;             ४뢠: 
         ४뢠 TView.Done.  뢠 㯯,  ᯮ Hide,
         ᢮    㯯,  ᯮ  Dispose(P,
         Done)   뢠 ᫥㥬 TView.Done.

         . ⠪ : TView.Done

ChangeBounds procedure ChangeBounds(var Bounds: Trect); virtual;
                                             ४뢠: 
         ४뢠 TView.ChangeBounds.   ࠭ 㯯 
         Bounds, ⥬  뢠  CalcBounds    ChangeBounds   
           㯯.

         . ⠪ : TView.CalcBounds, TView.ChangeBounds

DataSize function DataSize: Word; virtual;     ४뢠: 
         ४뢠 TView.DataSize.   頥   騩    ࠧ
         㯯, 뢠         DataSize     
         .

         . ⠪ : TView.DataSize

Delete   procedure Delete(P: PView);
            P    㯯   ᮢ뢠 㣨
         , ᫨  室.    Owner    Next    
         ⠭  nil.

         . ⠪ : TGroup.Insert

Draw     procedure Draw; virtual;            ४뢠: 
         ४뢠 TView.Draw.  ᫨  -    (.
          TGroup.Buffer),              ࠭  
         ᯮ짮 TView.WriteBuf.       
          ᥡ   TGroup.Redraw.

         . ⠪ : TGroup.Buffer, TGroup.Redraw

EndModal procedure EndModal(Command: Word); virtual;
                                             ४뢠: 
         ᫨ 㯯  -    ⥪騩      ,
         쭮 ﭨ   蠥.  Command  ।  
         ExecView,  頥 Command   १.  ᫨
           㯯    ⥪騩     ,  
         뢠 TView.EndModal.

         . ⠪ : TGroup.ExecView, TGroup.Execute

EventError procedure EventError(var Event: TEvent); virtual;
                                              ४뢠: 
         EventError 뢠      横 ࠡ稪 ᮡ
         쭮 TGroup.Execute 砥 ᮡ⨥,  ஥ 
           ࠡ⠭.  ⢨  㬮砭:  ᫨ Owner
         㯯   nil,  EventError  뢠  EventError   ᢮
         . 筮       楯窠   ࠭   
         EventError  TApplication.   ४ EventErrr
          믮 ॡ㥬 ⢨.

         . ⠪ : TGroup.Execute, TGroup.ExecView, sfModal

ExecView function ExecView(P: PView): Word;
         ExecView -      ਠ     ⮤
         Insert    Delete.    ⫨稥    Insert  ᫥  ⠢
               㯯  ExecView     
             믮,  ⥬ 㤠   
         頥 १ 믮.  ExecView ᯮ  
         拉        Turbo  Vision,  ਬ    ॠ樨
         TApplication.Run     믮    
         .
         ExecView ࠭  ⥪騩  ⥪  (࠭  
         ,       ) 
          , 뢠 ^.SetState(sfModal, True), ⠢
             㯯   (᫨         ⠢)    뢠
         P^.Execute.  P^.Execute 頥 ࠢ, 㯯
         ⠭    ।饥   ﭨ    १
         P^.Execute 頥    १  맮  ExecView.
         ᫨ P  -  nil    맮 ExecView,  頥 祭
         cmCancel.

         . ⠪ : TGroup.Execute, sfModal

Execute  function Execute: Word; virtual;      ४뢠: 
         ४뢠 TView.Execute.  Execute  -      横
         ᮡ⨩ 㯯:   ﭭ 砥 ᮡ, ᯮ
         GetEvent   ࠡ뢠  , ᯮ HandleEvent.  
         ᮡ⨩ 蠥 㯯    ⮬    
         맮 EndModal.       Exec 뢠 Valid
          ஢ન,   쭮 ﭨ  ᠬ    뫮
         襭.
           TGroup.Execute    .  ⨬,  
         EndState -       private         TGroup,   ஥
         ⠭ 맮 EndModel.

         function TGroup.Execute: Word;
         var
           E: TEvent;
         begin
           repeat
             EndState := 0;
             repeat
               GetEvent(E);
               HandleEvent(E);
               if E.What <> evNothing then EventError(E);
             until EndState <> 0;
           until Valid(EndState);
           Execute := EndState;
         end;

         . ⠪ :    TGroup.GetEvent, TGroup.HandleEvent,
                        TGroup.EndModal, TGroup.Valid

First    function First: PView;
         頥 㪠⥫        (訩 
         設   Z-浪),    nil,  ᫨      㯯   
         ⮢.

         . ⠪ : TGroup.Last

FirstThat function FirstThat(Test: Pointer): PView;
         FirstThat ਬ 㫥 㭪,  㪠⥫
          㭪  Test      Z-浪  
         ,  Test  ୥ True.   -  㪠⥫  
         ,   ண  Test  頥 True,   nil,
         ᫨ 㭪 Test 頥 False    ⮢.
         Test     㪠뢠          㭪,
         ᯮ ࠬ ⨯ Pointer   祭
         ⨯ Boolean. ਬ:

         function MyTestFunc(P: PView): Boolean; far;

         ⮤ SubViewAt,  ,  頥 㪠⥫ 
          , ᮤঠ騩  .

         function TMyGroup.SubViewAt(Where: TPoint): PView;

           function ContainsPoint(P: PView): Boolean; far;
           var
             Bounds: TRect;
           begin
             P^.GetBounds(Bounds);
             ContainsPoint := (P^.State and sfVisible <> 0) and
               Bounds.Contains(Where);
           end;

         begin
           SubViewAt := FirstThat(@ContainsPoint);
         end;

         . ⠪ : TGroup.ForEach

ForEach  procedure ForEach(Action: Pointer);
         ForEach 믮 ⢨,   㪠⥫ Action 
         楤    㯯  Z-浪. Action
          㪠뢠              楤,
         ᯮ ࠬ ⨯ Pointer, ਬ:

         procedure MyActionProc(P: PView); far;

         ⮤ MoveSubViews  ६頥     㯯 
         祭,   Delta.  ⨬ ᯮ짮 Lock  
         UnLock    ࠭祭  ᫠  믮塞  権  
         ᮢ  ।饭 ⭮ 栭.

         procedure TMyGroup.MoveSubViews(Delta: TPoint);

           procedure DoMoveView(P: PView); far;
           begin
             P^.MoveTo(P^.Origin.X + Delta.X, P^.Origin.Y + Delta.Y);
           end;

         begin
           Lock;
           ForEach(@DoMoveView);
           UnLock;
         end;

         . ⠪ : TGroup.FirstThat

GetData  procedure GetData(var Rec); virtual;  ४뢠: 
         ४뢠 TView.GetData.  뢠 GetData    
            Z-浪 㢥稢 ,   
         Rec  DataSize   .

         . ⠪ : TView.GetData, TGroup.SetData

GetHelpCtx function GetHelpCtx: Word; virtual; ४뢠: 
         頥 ⥪   ᪠     ⥪饣  ⨢
          ,  뢠 ⮤  ࠭  
         GetHelpCtx. ᫨      ⥪   ᪠,  
         ⮬, GetHelpCtx 頥  祭 ᮡ⢥
          HelpCtx.

GetSubViewPtr procedure GetSubViewPtr(var S: TStream; var P);
         㦠 㪠⥫             ⮪   S.
         GetSubViewPtr     ᯮ짮    ⮫쪮    
         ࠪ Load  ⥭ 祭  㪠⥫, 
         뫨 ᠭ 맮 PutSubViewPtr  ⮤ Store.

         . ⠪ : TView.PutSubViewPtr, TGroup.Load, TGroup.Store

HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                               ४뢠: 
         ४뢠 TView.HandleEvent.     㯯     ࠡ뢠
         ᮡ, ।     ⮤  HandleEvent    
          ⮢.   ⢨⥫  
           ᮡ.
          ⨢  ᮡ⨩ ( 㬮砭 evKeyDown  evCommand,
         . ६    FocusedEvents)     ࠡ⪠     ᮡ⨩
         믮     3    䠧:    -,        Phase
         ⠭   phPreProcess    ᮡ⨥  ।  
         HandleEvent   ⮢,    ⠭ 䫠
         ofPreProcess. ⥬ Phase ⠭    phFocused  
         ᮡ⨥ ।      HandleEvent  ⥪饣  ࠭
          .  ,   Phase   ⠭   
         phPostProcess   ᮡ⨥  ।    HandleEvent  
         ⮢,   ⠭ 䫠 ofPostProcess.
          樮஢  ᮡ⨩ ( 㬮砭 evMouse,  .
         ६ PositionalEvents),   ᮡ⨥    ।    
         HandleEvent ࢮ    ,   祩   ࠭稢騩
         אַ㣮쭨 ᮤন ,   Event.Where.
              ᮡ⨩    (..        ⨢        
         樮஢), ᮡ⨥   ।      HandleEvent
           㯯  Z-浪.

         ਬ砭: ᫨     EventMask    ᪨
          ᮡ,   TGroup.HandleEvent         㤥
         뫠 ᮡ  ⮣  .  ਬ,  
         㬮砭 EventMask      TView   頥    evMouseUp,
         evMouseMove    evMouseAuto,   ⮬  TGroup.HandleEvent
            㤥  뫠  ⠪  ᮡ   ⠭⭮
         TView.

         . ⠪  :  FocusedEvents,  PositionalEvents,  ⠭
         ᮡ⨩ evXXXX, TView.EventMask, ⮤ HandleEvent

Insert   procedure Insert(P: PView);
         ⠢     ,             ᯨ᮪
         ⮢ 㯯.   頥  ᥬ
         㣨 묨   ⠬.   ᫨      
         ⠭ 䫠   ofCenterX    /    ofCenterY,    
         業     㯯   ᮮ⢥⢥.   ᫨  
            ⠭  䫠  sfVisible,     㤥
            㯯  -   ⠥    ,
           㤥   ᯥ樠쭮.  ᫨    
          ⠭   䫠   ofSelectable,    ⠭
         ⥪騬 ࠭ ⮬.

InsertBefore procedure InsertBefore(P, Target: PView);
         ⠢    ,    ,  ।  
         ⮬,   Target.  ᫨  Target  nil,   
          ࠧ頥 ᫥   ⮢ 㯯.

         . ⠪ : TGrouup.Unsert, TGroup.Delete

Lock     procedure Lock;
          㯯,  ন    ,   ந
         ⠬   ࠭    ,   㯯  㤥
         ࠧ஢. Lock   䥪,  ᫨  㯯  
         - (.    ofBuffered      TGroup.Buffer).   Lock
         ࠡ⠥, 㢥稢    稪    ஢,     
         ᮮ⢥⢥ 㬥蠥    UnLock.   맮
         UnLock 㬥蠥 稪    0,    㯯    
         ࠭, ᯮ ࠧ, ᮧ  -.
          ⥭ᨢ 樨 ᮢ   맮
         Lock  UnLock,  ᮪    
         ⭮ 栭  ࠭.  ਬ,  TDeskTop.Tile  
         TDeskTop.Cascade ᯮ  Lock   UnLock  ᮪饭
         栭.

         ਬ砭: 맮   Lock        UnLock        
         ᡠ஢,   㯯      ﭭ
         ஢ ﭨ,  ਢ  ⮬,   
         ᬮ 뢥 ᥡ  室.

         . ⠪ : TGroup.Unlock

PutSubViewPtr procedure PutSubViewPtr(var S: TStream; P: PView);
         ࠭ 㪠⥫              ⮪    S.
         PutSubViewPtr   ᯮ짮  ⮫쪮  ⮤
         Store   祭 㪠⥫,    
          맮 GetSubViewPtr  ࠪ Load.

         . ⠪    :     TGroup.GetSubViewPtr,     TGroup.Store,
         TGroup.Load

Redraw   procedure Redraw;
         ᮢ뢠      㯯          Z-浪.
         TGroup.Redraw ⫨砥      TGroup.Draw    ⥬,    
         ᮢ   ந 뢮  -.

         . ⠪ : TGroup.Draw

SelectNext procedure SelectNext(Forwards: Boolean);
         ᫨ Forwards - True,  SelectNext 㤥  롨  (
         ⥪騬) ᫥騩  롨ࠥ   (,  
         ஬ ⠭  ofSelectable) 㯯    Z-浪.
         ᫨ Forwards   -   False,   ⮤   롨ࠥ   ।騩
         롨ࠥ .

         . ⠪ : ⠭ 䫠 権 ofXXXX

SetData  procedure  SetData(var Rec); virtual; ४뢠: 
         ४뢠 TView.SetData.  뢠  SetData   
            浪,  ⭮  Z-浪,   㢥稢
         ,       Rec,    DataSize    
         .

         . ⠪ : TGroup.GetData, TView.SetData

SetState procedure SetState(AState: Word; Enable: Boolean);virtual;
                                               ४뢠: 
         ४뢠 TView.SetState.        砫        뢠
         㭠᫥ TView.State,  ⥬    
         ᫥騬 ࠧ:
         ᫨ AState - sfActive, sfExposed  sfDragging, SetState
         뢠      .
         ᫨ AState  - sfFocused,   뢠 ⥪騩 ࠭
           ᢮ ⨢樨.

         . ⠪ : TView.SetState

Store    procedure Store(var S: TStream);
         ࠭     㯯        ⮪   砫   뢠
         㭠᫥ TView.Store,  ⥬  ᯮ  TStream.Put
          뢮  .
         ᫨ ꥪ ⨯,  ஦  TGroup, ᮤন ,
          㪠뢠   ,    ᯮ짮
         PutSubViewPtr   Store    .

         . ⠪ : TView.Store, TGroup.PutSubViewPtr, TGroup.Load

Unlock   procedure Unlock;
          㯯,  㬥  稪  ஢.  ᫨
         稪 ஢ ⠭ 0,    㯯  뢮
          ࠭, ᯮ ࠧ, ᮧ  -.

         . ⠪ : TGroup.Lock

Valid    function Valid(Command: Word): Boolean; virtual;
         ४뢠 TView.Valid.  頥  True,  ᫨   맮
         Valid    ⮢    True.  TGroup.Valid
         ᯮ        横   ࠡ⪨   ᮡ⨩    
         TGroup.Execute      ⢥ত,        襭
         ࠧ襭. 쭮 ﭨ     襭 
          ,    맮 Valid   True. 
            False,  ᫨    ,  ⮡  ࠢ
         ⠫  .

         . ⠪ : TView.Valid, TGroup.Execute


THistory                                                    Dialogs


                  Ŀ
                   TObject  
                  
                  Ŀ
                    TView   
                  
                  ͻ
                   THistory 
                  ͼ

         ꥪ THistory ॠ ᯨ᮪    ⬥⪨  ।
         祭, ⢨        롮஢.   ꥪ   THistory
         뢠  ꥪ⮬ TInputLine      ᯨ᪮  ਨ.
         ଠ ᯨ᪠  ਨ  ࠭     .
           ,      ਨ
         㤠,   .
         ꥪ THistory    (||)      ப
         .   짮⥫ ⬥砥  ਨ,  Turbo
         Vision 뢠  ਨ  (ᬮ  THistoryWindow)  
         ᬮ஬ ਨ   (ᬮ  THistoryViewer),  ᮤঠ饬
         ᯨ᮪ । ⮢.
          ப      ᯮ짮    ᯨ᮪
         ਨ, ᯮ   ID.


 

 Link: PInputLine;                                   쪮 ⥭
         ⥫  易 ꥪ TInputLine.


 HistoryID HistoryID: Word;                          쪮 ⥭
          ᯨ᮪   ਨ      㭨      ID,
         砥 ணࠬ⮬.    ꥪ  ਩  
         ࠧ   ࠧ ᯨ᮪  ਨ, ᯮ
          ID .


⮤ 

 Init    constructor  Init(var  Bounds: TRect;  ALink: PInputLine;
                        AHistoryID: Word);
          ꥪ   THistry      ࠧ,   뢠
         TView.Init, ⥬  ⠭    Link    HistoryId
         祭ﬨ, 묨      㬥.        Options
         ⠭  ofPostProcess,  EventMask  evBroadcast.

         . ⠪ : TView.Init

 Load    constructor Load(var S: TStream);
            樠  ꥪ  History      TStream,
         뢠  TView.Load(S)   Link  HistoryId  S.

         . ⠪ : TView.Store

 Draw    procedure Draw; virtual;              ४뢠: 
           History    㬮砭.

 GetPalette function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫  㬠稢  CHistory.

 Store   procedure Store(var S:TStream);
         ࠭ ꥪ     THistory         TStream,    뢠
         TView.Store(S), ⥬ 뢠 Link  HistoryId  S.

         . ⠪ : TView.Load




          ਨ  ᯮ     㬮砭 CHistory
          ⮡ࠦ   14      20-   ⮢      
         ⠭⭮  .


                         1    2
                      ͻ
         CHistory      14  20 
                      ͼ
         ५     ஭


THistoryViewer                                              Dialogs


         THistoryViewer -   אַ    ⮬    TListViewer.    
         ᯮ ⥬  ᯨ᪠  ਨ   
          ਨ  ⬥⪥   ਨ.    ⠫쭮
         ᠭ ⢨    THistory,    THistoryWindow   
         THistoryViewer ᬮ  THistory  ⮩ .


 

 HistoryID  HistoryID: Word;                         쪮 ⥭
         HistoryId -  ID  ᯨ᪠ ਨ,  ⮡ࠦ  
         ⮬  .


⮤ 

 Init    constructor Init(var Bounds:TRect;
           AHScrollBar, AVScrollBar: PScrollBar; AHistoryID: Word);
         Init 樠       ᬮ  ᯨ᪠,
         砫 뢠  TListViewer.Init    ⠭  ࠭,
                 ஫,  ।  
         AHScrollBar   AVScrollBar.      뢠
         ⥬    ᯨ᪮    ਨ,            HistoryId,
         ⠭   祭,  ।    AHistory.  
         ᯨ᮪ ஢ ⥬   ⠪,   ᯨ᪠
         ⠭   ᫮  ᯨ᪠.     ᯨ᪥
         ਨ       ⨢.      ਧ⠫쭮
         ஫ ⠭   ᮮ⢥⢨  ᠬ ப
         ⮬ ᯨ᪠.

         . ⠪ : TListViewer.Init

 GetPalette function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫           㬠稢      
         CHistoryViewer.

 GetText  function GetText(Item: Integer; MaxLen: Integer): String;
         virtual;                              ४뢠: 
         頥 ப Item  易 ᯨ᪥ ਨ. GetText
         뢠 㠫 ⮤ Draw     
           ᯨ᪥.

         . ⠪ : TListViewer.Draw, HistoryStr function

 HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                              ४뢠: 
            ᬮ  ਨ ࠢ  
         ᮡ⨩;  㣨 ।   TListViewer.HandleEvent.
          ⬥⪠   ⨥  Enter  
         쭮 ﭨ  ਨ   cmOK.
          ⨨    Esc  祭  ᮡ
         cmCancel, 롮 ᯨ᪠ ਨ 㤥  ⬥.

         . ⠪ : TListViewer.HandleEvent

 HistoryWidth function HistoryWidth: Integer;
         頥   ᠬ    ப  ᯨ᪥ ਨ,
         易  HistoryId.




         ꥪ ᬮ  ਨ ᯮ   㬮砭
         CHistoryViewer  ⮡ࠦ  6   7    
         ⠭⭮  .


                     1   2   3   4   5
                   ͻ
   CHistoryViewer   57 58 58 61 62
                   ͼ
   ⨢              ⥫
   ⨢        ࠭
   䮪஢ 


THistoryWindow                                              Dialogs


         THistoryWindow -      ᯥ樠஢  ᫥  
         TWindow, ᯮ㥬      ꥪ   ᬮ   ᯨ᪠
         ਨ,    짮⥫   ⬥砥    ਨ,
           ப  .    㬮砭      
            .    ਨ  뢠
         , ⮬       ,      
          ࠧ  ⠡஢.
          ⠫  ᯮ짮  ᯨ᪮ ਨ   易
           ꥪ⮢ . THistory  ⮩ .

  

 Viewer  Viewer: PListViewer;
         Viewer 㪠뢠  ᯨ᮪ ᬮ  ਨ.

 ⮤ 

 Init    constructor  Init(var Bounds: TRect; HistoryId: Word);
         뢠 TWindow.Init     ⠭      묨
         ࠭栬, ⮩ ப          
         (wnNoNumber).     TWindow.Flags    ⠭   
         wfClose, ⮡  ᯥ  뢠      ꥪ
         ᬮ ਨ   ᮧ,   ⮡    
         ᯨ᪠ ਨ,  १ HistoryID.

         . ⠪ : TWindow.Init, THistoryWindow.InitViewer

 GetPalette  function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫                  㬮砭
         CHistoryWindow.

 GetSelection  function GetSelection: String; virtual;
                                             ४뢠: 
         頥 ப   祭   ⨢     
         ᬮ ਨ.


         . ⠪ : THistoryViewer.GetText

 InitViewer  procedure InitViewer(HistoryOd: Word); virtual;
                                             ४뢠: 
            ⠢  ꥪ  THistoryViewer  ࠭
          ਨ    ᯨ᪮,      १   HistoryId.
         ⠭   ஫ ࠧ饭  ࠬ  
         ᪮즥  ᯨ.

         . ⠪ : THistoryViewer.Init

  

         ꥪ   ਨ  ᯮ    㬮砭   
         CHistoryWindow   ⮡ࠦ    19  25- 
          ⠭⭮  .

                  1    2    3    4    5    6    7
               ͻ
CHistoryWindow  10  11  12  13  14  14  14 
               ͼ
ᨢ ࠬ                          ࠭ ⥪
⨢ ࠬ                  
 ࠬ              ଠ ⥪
                                     
                                       ࠢ
                                   ࠭


 TInputLine                                                 Dialogs


                  Ŀ
                    TObject    
                  
                  Ŀ
                     TView     
                  
                  ͻ
                    TInputLine 
                  ͼ

         ꥪ TInputLine  ᯥ稢  । ப .  
         ࠢ         誨    ६饭
         祭      ࠧ  㭪  ।஢
         ப (.   TInputLine.HandleEvent).   ࠭   ⥪
         㤠         ⥪⮬.  ᫨
         MaxLen   ࠧ       (Size.X),   ন
         ਧ⠫ ஫,    㪠뢠  ࠢ  
          ५.
         ⮤ GetData  SetData ।祭    ⥭
         ப   (१  㪠⥫ Data)   .
         TInputLine.SetState 頥 ᮢ  
         ᮮ⢥騬 梥⮬,   ﭨ   
          sfActive  sfSelected.
         ப     樨஢      ꥪ
         TLabel / THistory.
         TInputLine       ࠡ⪨  ⨯  
         ⫨  ப.  ⮡ ᤥ ,   
            ४뢠  ⮤  Init,  Load,  Store,  Valid,
         DataSize, GetData   SetData.  ਬ,  ⮡ ।
         ப   ᫠,         쭮   
         ᨬ ⨬     祭,         
         ஢ 㭪樥 Valid.    ᨬ
            㦠    ࠭   ⮪ ⮤
         Load  Store.  Valid   ஢ન ⮣, 
         祭 室      ⨬   .  DataSize
           祭 ࠧ   
         (⭮ SizeOf(Longint)  ).   ⮬ ਬ 
         易⥫쭮          ࠭    ᫮
         祭.      ࠭    ப  祭
         (஥    㦥    ࠡ뢠        TInputLine)    
         ८ࠧ뢠   ப  ᫮ 祭  ⭮
         ⮤ GetData  SetData ᮮ⢥⢥.

  

 Data    Data: PString;                               ⥭/
         ⥫  ப, ᮤঠ ।㥬 ଠ.

 MaxLen  MaxLen: Integer;                             쪮 ⥭
         ᨬ쭠 ,  ⨬  ப,    
         .

         . ⠪ : TInputLine.DataSize

 CurPos  CurPos: Integer;                             ⥭/
            ⠢ (..  ⥪  ).


         . ⠪ : TInputLine.SelectAll
 FirstPos  FirstPos: Integer;                         ⥭/
            ⮡ࠦ ᨬ.

         . ⠪ : TInputLine.SelectAll

 SelStart  SelStat: Integer;                          쪮 ⥭
           砫 ࠭  (..    ᨬ
         ⬥祭 ).

         . ⠪ : TInputLine.SelectAll

 SelEnd  SelEnd: Integer;                             쪮 ⥭
              ࠭    (..    ᫥
         ᨬ ⬥祭 ).

         . ⠪ : TInputLine.SelectAll


 ⮤ 

 Init    constructor Init(var Bounds: TRect; AMaxLen: Integer);
          אַ㣮쭨        묨   祭ﬨ,
         뢠 TInputLine.Init.     State    ⠭    
         sfCursorVis, Options  ⠭    (ofSelectable  +
         ofFirstClick),   MaxLen ⠭  AMaxLen. 
         ।  頥  AMaxLen +  1      
         Data ⠭  㪠 ⮣ ।.

         . ⠪       :      TView.Init,      TView.sfCursorVis,
         TView.ofSelectable, TView.ofFirstClick

 Load    constructor Load(var S: TStream);
           樠 ꥪ TInputLine, 뢠 TView.
         Load(S)   㧪     ⮪,  ⥬
         ⠥ 楫᫥ ,  ᯮ S.Read, ।
         MaxLen+1    १   Data,   뢠   GetMem.  
         ⠭    ப    㦠    
         ⮪    ⥫묨   맮   S.Read.   Load
         ᯮ ᮢ⭮  TInputLine.Store  ࠭ 
         ⠭ ꥪ⮢ TInputLine  TStream.
         ४뢠   ⮤,  ᫨    ।  ⮬,
         ᮤঠ ⥫ .

         . ⠪ : TView.Load, TInputLine.Store, TStream.Read

 Done    destructor Done; virtual;             ४뢠: 
         ᢮  Data,  ⥬  뢠  TView.Done  
         ࠧ襭 ꥪ TInputLine.

         . ⠪ : TView.Done

 DataSize  function DataSize: Word; virtual;  ४뢠: 
         頥 ࠧ         TInputLine.GetData    
         TInputLine.SetData.   㬮砭  頥  MaxLen+1.
         ४ன  ⮤,  ᫨   ।  ⮬  
         ࠡ⪨ 㣨 ⨯ .

         . ⠪ : TInputLine.GetData, TInputLine.SetData

 Draw    procedure Draw; virtual;              ४뢠: 
          אַ㣮쭨       .  אַ㣮쭨
          ᮮ⢥騬 梥⮬    ᨬ    ⮣,
               sfFocused    (..  室  
             )  ५  , ᫨
         ப    ॢ蠥 ࠧ   ( 
             ࠢ).    ࠭  (⬥祭
         ) ᨬ  ᮮ⢥騬 梥⮬.

 GetData procedure GetData(var Rec); virtual; ४뢠: 
         뢠 DataSize        ப  Data^    .
         ᯮ    TInputLine.SetData      拉   ணࠬ,
         ਬ  ६    । ப 
          㣨  .  ४ன  ⮤, ᫨ 
         । ⮬      ࠡ⪨   ப  ⨯
         . ᯮ  ⮤    ८ࠧ  
         ⨯   ப, ।㥬   TInputLine.

         . ⠪ : TInputLine.DataSize, TInputLine.SetData

 GetPalette  function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫    㬮砭 CInputLine.

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                              ४뢠: 
         뢠 TView.HandleEvent,      ࠡ뢠   
         ᮡ  誨  ,  ᫨  אַ㣮쭨  
         ࠭.     ⮤    ॠ   ⠭   㭪樨
         ।஢.
         㭪樨 ।஢  :  ⬥    誮;
         㤠 , ⠢  ४⨥  ࠢ
          ⮬᪨    ; ⮬᪨
          筮  ஫ (    ⭮⥫   ࠧ஢
         ப Data    Size.X);  筮  ਧ⠫ ஫
         १ ⬥ 誮   ५;  筮  
             ५ Home  End;  㤠 ᨬ 
                Del      Ctrl-G.       
         ᮢ뢠    室       TInputLine
         ᮮ⢥⢥ .

         . ⠪      :      sfCursorIns,      TView.HandleEvent,
         TIputLine.SelectAll

 SelectAll  procedure SelectAll(Enable: Boolean);
         ⠭ CurPos, FirstPos  SelStart  0. ᫨ Enable
         ⠭  True,  SelEnd ⠭  Length(Data^)
         롨 ⠪   ࠧ    ப  .  ᫨  Enable
         ⠭  False,  SelEnd  ⠭    0  ᭨
         ⠪ ࠧ 롮 ᥩ ப.  ,  
         ᮢ뢠 맮 DrawView.

         . ⠪ : TView.DrawView

 SetData procedure SetData(var Rec); virtual; ४뢠: 
          㬮砭 ⠥ DataSize     ப Data^
          뢠 SelectAll(True)  ⠭  CurPos, FirstPos
          SelStart  0; SelEnd ⠭  ᫥ ᨬ
         Data^    ᮢ뢠.  ४ன 
         ⮤, ᫨       ।   ⮬      ࠡ⪨
         ப  ⨯  .  ᯮ    ⮤  
         ८ࠧ      ப        ⨯    ᫥
         ।஢   InputLine.

         . ⠪   :   TInputLine.DataSize,   TInputLine.GetData,
         TView.DrawView

 SetState  procedure   AetState(AState:  Word;   Enable:  Boolean);
                               virtual;        ४뢠: 
         뢠,     אַ㣮쭨         
         ᮢ (ਬ         )   ᫥
          State.  맮  TView.SetState  ⠭ 
         頥   State      묨  ⠬
         AState. ⥬,  ᫨ AState - sfSelected  ᫨ AState -
         sfActive  אַ㣮쭨  - sfSelected,  뢠
         SelectAll(Enable).

         . ⠪ : TView.SetState, TView.DrawView

 Store   procedure Store(var S: TStream);
         ࠭               ⮪,     뢠
         TView.Store(S), ⥬  ࠭  5  楫᫥  
         ப Data 맮  S.Write.  ᯮ  ᮢ⭮  
         TInputLine.Load   ࠭    ⥭  ᥣ  ꥪ
         TInputLine. ४ன   ⮤,  ᫨    ।
         ⮬,  ᮤন ⥫ .

         . ⠪ : TView.Store, TInputLine.Load, TStream.Write

 

         ப   ᯮ     㬮砭 CInputLine
          ⮡ࠦ        19    21-     
         ⠭⭮  .

                     1    2    3    4
                  ͻ
      CInputLine   19  19  20  21 
                  ͼ
      ᨢ              ५
      ⨢      ࠭


 TLabel                                                     Dialogs


                  Ŀ
                    TObject    
                  
                  Ŀ
                     TView     
                  
                  ͻ
                   TStaticText 
                  ͼ
                  Ŀ
                    TLabel     
                  

         ꥪ TLabel  -    ⥪    ,  
           ࠭ (ᢥ祭)  ⬥⪮  誨,  蠬
             ⪨  롮஬  Alt-㪢.  ⪠  筮
         ᮥ १  㪠⥫  PView    㣮  
          ࠢ,  ⠪  ப ,  
         ᬮ ᯨ᪠   ᭥  짮⥫.  롮  (
         ⨥) ⪨   㤥   롨  ᮥ  
         ࠢ. ⪠  ⠪    㤥  ᢥ稢,   
         ࠭ 易  ࠢ.

  

 Link    Link: PView;                                 쪮 ⥭
         뢠    ࠢ, 易  ⮩ ⪮.

 Light   Light: Boolean;                              쪮 ⥭
         ᫨ True  -  ⪠,   易    ࠢ
          롨  ᢥ稢.

 ⮤ 

 Init    constructor Init(var Bounds: TRect; AText: String;  ALink:
                          PView);
          ꥪ    TLabel       ࠧ,   뢠
         TStaticText.Init, ⥬ ⠭   Link    ALink
          뢠     ⮬  ࠢ  (  Alink
         ࠢ nil,  ᫨  ࠢ   ॡ).  
         Option ⠭    ofPreProcess    ofPostProcess.
         EventMask ⠭    evBroadcast.        AText
         砥  Text १ TStaticText.Init.  AText 
            ⪮        ⪨,   㦨
         ᮮ⢥ 㪢 "~".

         . ⠪ : TStaticText.Init

 Load    constructor Load(var S: TStream);
            㦠  ꥪ  TLabel    ⮪,  뢠
         TStaticText.Load, GetPeerViewPtr(S,  Link)    ⠭
         裡   樨஢  ⮬  ࠢ  (᫨  
         ).

         . ⠪ : TLabel.Store

 Draw    procedure Draw; virtual;            ४뢠: 
            ᮮ⢥騬 梥⮬    
          㬮砭.

 GetPalette  function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫    㬮砭 CLabel.

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                             ४뢠: 
         ࠡ뢠  ᮡ, 뢠 TStaticText.HandleEvent.
         ᫨ evMouseDown   ᫨  祭  ᮡ⨥    
         ⪮ ,  롨ࠥ 易  ࠢ
         (᫨  ).    ⮤  ⠪    ࠡ뢠  騥
         ᮡ cmReceivedFocus    cmReleasedFocus   易
          ࠢ  ன 祭    Light  
         ᮢ ⪨.

         . ⠪ : TView.HandleEvent, cmXXXX ⠭ 

 Store   procedure Store(var S: TStream);
         ࠭               ⮪,     뢠
         TStaticText.Store, ⥬      뢠            
         樨஢ ⮬       ࠢ,        뢠
         PutPeerViewPtr.

         . ⠪ : TLabel.Load

 

         ⪨ ᯮ         㬮砭   CLabel   
         ⮡ࠦ    7,  8    9    ⠭⭮
         .

                     1    2    3    4
                  ͻ
      CLabel        7   8   9   9 
                  ͼ
    ଠ ⥪              ⪠ ࠭
    ࠭ ⥪      ଠ쭠 ࠭


 TListBox                                                   Dialogs


                  Ŀ
                     TObject   
                  
                  Ŀ
                      TView    
                  
                  Ŀ
                   TListViewer 
                  
                  ͻ
                    TListBox   
                  ͼ

         TListBox, ஦      TListViewer,      
         ᮧ       ᯮ㥬      ᯨ᪮
         ⮡ࠦ 樨  ப  ⠪,      䠩.
         ꥪ TListBox ⮡ࠦ ᯨ᪨ ⠪ ⮢   
                     ⨪쭮  ᮩ
         ஫. ਧ⠫         ஫     
         ন      TListViewer.    ᫥㥬    ⮤
         TListViewer    (  ᢥ) 
         誮    १  .  TListBox    ४뢠
         TListViewer.HandleEvent   TListViewer.Draw,  ⮬   
          ᬮ  ᠭ  ᯮ짮 TListBox 
         ᢮ ணࠬ.
         TListBox  ⥫쭮  List, ஥ 㪠뢠
          ꥪ TCollection,  ᮤঠ騩 뢮   롨ࠥ
         . ⢥⢥   ⠢   TCollection
            ⠪    ⢨, 믮塞  롮
         .
         TListViewer ᫥ ⮤ Done  TView,  ⮬  ⠪
          ⢥砥      ᢮   ᮤন   List  
         砭 ࠡ.  맮 NewList 㤥 ᢮  
         ᯨ᮪, ⮬    맮    NewList(nil)      ᫥饥
         ᢮  ᯨ᪠  ᢮ .

  

 List    List: PCollection;                           쪮 ⥭
         List 㪠뢠    ⮢  ᬮ.  
              PString,  ।⠢  ⥪⮢
         .

 ⮤ 

 Init    constructor   Init(var  Bounds:  TRect;   ANumCols:  Word;
                            AScrollBar: PScrollBar);
           ᯨ᪠   ࠧ஬,  ᫮  
         ⨪쭮 ᮩ  ஫,  㪠뢠  㪠⥫
         AScrollBar.    ⮤   뢠   TListViewer.Init   
         㬥⮬ ਧ⠫쭮  ஫ nil.
          List ࢮ砫쭮 nil (⮩ ᯨ᮪)   ᫥㥬
          Range  ⠭    0.    ணࠬ 
          TCollection,  ᮤঠ ப ( 㣨 ꥪ
          뢮).    List      ⠭  
           ᯮ짮 NewList.

         . ⠪ : TListViewer.Init, TListBox.NewList

 Load    constructor Load(var S: TStream);
          ꥪ  TListBox    㦠    祭ﬨ 
         TStream.  ⮤ 뢠 ⮤ TListViewer.Load, ⥬
         ⠭ List,  㪠⥫ List  S   S.
         Get.

         . ⠪ : TListViewer.Load, TListBox.Store, TStream.Get

 DataSize  function DataSize: Word; virtual;  ४뢠: 
         頥 ࠧ   ⠥    뢠    
         ᥩ, ।            TListBox.GetData       
         TListBox.SetData.   3  ⮤   樠樨
         㯯.  㬮砭  TListBox.DataSize  頥  ࠧ
         㪠⥫    ࠧ   ᫮  (  List    ࠭
         ).   ॡ  ४    ⮤
          襩 ணࠬ.

         . ⠪ : TListBox.GetData, TListBox.SetData

 GetData procedure GetData(var Rec); virtual; ४뢠: 
         뢠  ꥪ TListBox  .   㬮砭
          ⮤     Rec ⥪騥  List  Focused.  
          ॡ  ४     ⮤      襩
         ணࠬ.

         . ⠪ : TListBox.DataSize, TListBox.SetData

 GetText  function GetText(Item: Integer; MaxLen: Integer): String;
                          virtual;            ४뢠: 
         頥 ப    뢠  ꥪ  TListBox.  
         㬮砭 頥  ப 砥   Item
          TCollection,  ᯮ  PString(List^.At(Item))^.  ᫨
         List ᮤন      ப   ꥪ,    室
         ४  ⮤.  ᫨ List - nil, GetText 頥
          ப.

         . ⠪ : TCollection.At

 NewList  procedure NewList(AList: PCollection); virtual;
                                               ४뢠: 
         ᫨ AList    nil,    ᯨ᮪,       AList,
          ⥪騩     List.    ᫥㥬        Range
         ⠭   Count   TCollection    
          ⨢   맮   FocusItem(0).  ,
          ᯨ᮪ ⮡ࠦ 맮 DrawView.  ⨬,  
         ᫨ ।饥    List   nil,   ᢮ 
         祭  ᯨ᪠ 祭.

         . ⠪   :   TListBox.SetData,    TListViewer.SetRange,
         TListViewer.FocusItem, TView.DrawView

 SetData procedure SetData(var Rec); virtual; ४뢠: 
          ⥪騩  ᯨ᮪    祭ﬨ  List   Focused,
         ⠭묨  Rec.  SetData 뢠  NewList  ⠪,  ⮡
          ᯨ᮪  ⮡ࠦ  ४ ⨢ ⮬.
            GetData    DataSize,         ॡ
         ४  ⮤  襩 ணࠬ.

         .   ⠪    :   TListBox.DataSize,    TListBox.GetData,
         TListBox.NewList

 Store   procedure Store(var S:TStream);
         뢠  ᯨ᪠  TStream, 뢠 TListView.Store,
         ⥬ 뢮   ᯨ᮪, 뢠 S.Put(List).

         . ⠪ : TListBox.Load, TListViewer.Store, TStream.Put

 

          ᯨ᪠  ᯮ    㬮砭 CListViewr,
         ⮡ࠦ     26    29      ⠭⭮
         ணࠬ.

                  1   2   3   4   5
                ͻ
   CListViewer   25 26 27 28 29
                ͼ
   ⨢              ⥫
   ⨢        ࠭
   䮪஢ 


 TListViewer                                                  Views


                  Ŀ
                    TObject    
                  
                  Ŀ
                     TView     
                  
                  ͻ
                   TListViewer 
                  ͼ
                  Ŀ
                    TListBox   
                  

          ꥪ  TListViewer  -    ⨯,   ண
         ஦ ᬮ ᯨ᪮ ࠧ筮   ⠪,  
         TListBox. ᭮   ⮤ TListViewer ।⠢
         ᫥騥 㭪樨:
         -         ⮡ࠦ  易  ᯨ᪮
           ⮢ (  ᯨ᪮).
         - ࠢ    ᠬ ஫.
         - ஫ ᯨ᪮   न⠬.
         - 㧪    ࠭        
           ஫    TStream.
         -    롮   ⮢   ᯨ᪠   誮   
           蠬.
         - ⮤ Draw ন騩  ࠧ  ஫.

         TListViewer   ࠪ ⮤ GetText ⠪,   
         ॡ ।⠢ 堭 ᮧ    樨
         ⮡ࠦ ⮢ ⥪.
         TListViewer    ᮡ⢥  堭  
         ᯨ᪠. ᯮ      ⮡ࠦ  ஫㥬
         ᯨ᪮, ᨢ, 易 ᯨ᪮   
         .   ⠪      ᯮ짮   ᫥
         ⠪,   TListBox,    樨     
         ᬮ஬ ᯨ᪠.

  

 HScroolBar  HScrollBar: PScrollBar;                  쪮 ⥭
         ⥫  ਧ⠫  ஫, 易 
         ⨬  ⮬. ᫨ nil,    
         ⠪  ஫.

 VScroolBar  VScrollBar: PScrollBar;                  쪮 ⥭
         ⥫   ⨪  ஫,  易 
         ⨬  ⮬. ᫨ nil,    
         ⠪  ஫.

 NumCols  NumCols: Integer;                           쪮 ⥭
         ᫮    ࠢ ᯨ᪮.

 TopItem  TopItem: Integer;                           ⥭/
          孥 ⮡ࠦ .  㬥
          0  Range-1.    ᫮      ᫠  ,
         ࠧ    祭 Range.

         . ⠪ : Range

 Focused  Focused: Integer;                           쪮 ⥭
          ⨢ .    㬥    0  
         Range-1. ࢮ砫쭮   ⠭     0  -  
         , Focused      ⬥⪮  誨   
         롮஬ १ ஡.

         . ⠪ : Range

 Range   Range: Integer;                              쪮 ⥭
         饥 ᫮ ⮢  ᯨ᪥.   㬥   0
          Range-1.

         TListViewer.SetRange


 ⮤ 

 Init    constructor  Init(var  Bounds:  TRect;  ANumCols: Integer;
                           AHScrollBar, AVScrollBar: PScrollBar);
             樠  ꥪ  TListViewer  
         ࠧ, 뢠 TView.Init.   NumCols ⠭
          ANumCols.  Options  ⠭    (ofFirstClick  +
         ofFirstSelectable) ⠪,   롮 誮  ⮣  
         㤥 ।    TListViewer.HandleEvent.  EventMask
         ⠭  evBroadcast.  砫 祭 Range 
         Focused -    0.    ⥫        ⨪   /
         ਧ⠫   ஫         १
         㬥 AVScrollBar    AHSrollBar.  ᫨    㦭
          ஫,   ⠭      
         nil.   祭 㬥⮢   VScrollBar
          HScrollBar.
         ᫨    ஫,    PgStep  ArStep
          ࠨ  ᮮ⢥⢨   ࠧ஬ TListViewer
          ᫮    .    ਬ,       筮
         TListViewer ⨪   PgStep   ࠢ   Size.Y-1,    
         ⨪ ArStep ࠢ 1.

         . ⠪ : TView.Init, TScrollBar.SetStep

 Load    Load constructor Load(var S: TStream);
          ꥪ  TListViewer,  뢠  TView.Load.  
         ஫, ᫨  ,  ⠪  㦠  ⮪ 
         ᯮ짮 맮 GetPeerViewPtr.    楫᫥
          㦠  ᯮ짮 S.Read.

         . ⠪ : TView.Load, TListViewer.Store

 ChangeBounds  ChangeBounds(var Bounds: TRect); virtual;
                                             ४뢠: 
          ࠧ     ꥪ      TListViewer,      뢠
         TView.ChangeBounds. ᫨  祭  ਧ⠫쭠 
         ஫,   ⮤     室   ࠨ
         PgStep.

         . ⠪ : TView.ChangeBounds, TScrollBar.ChangeStep

 Draw    procedure Draw; virtual;            ४뢠: 
          ꥪ TListViewer ன   㬮砭,  뢠
         GetText     ⮡ࠦ ,  ਭ 
          ⨢    ࠭        
           sfActive.

         . ⠪ : TListViewer.GetText

 FocusItem  procedure FocusItem(Item: Integer); virtual;
                                             ४뢠: 
            ⨢,  ⠭  Focused
          Item.     ⮤  ⠪    ⠭    Value
         ⨪쭮   ஫  (᫨  )    Item   
         ࠨ  TopItem.

         . ⠪ : TListViewer.IsSelected, TScrollBar.SetValue

 GetPalette  function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫    㬮砭.

 GetText  function GetText(Item: Integer; MaxLen: Integer): String;
                          virtual;            ४뢠: ᥣ
          ࠪ ⮤.  ஦ ⨯  ।
         堭  饭 ப,   ॢ饩 MaxLen 
         ,   Item.

         . ⠪ : TListViewer.Draw

 IsSelected  function IsSelected(Item: Integer): Boolean; virtual;
                                             ४뢠: 
         頥 True,  ᫨ Item ⨢,  ..  ᫨  Item  =
         Focused.

         . ⠪ : TListViewer.FocusItem

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                               ४뢠: 
         ࠡ뢠 ᮡ,  뢠 TView.HandleEvent.  ⬥⪨
         誮    "⮬᪨"        ᯨ  
          ⨢ .  ⨢     
         ࠭  ⨥ 誨.  ࠡ뢠 ᮡ 
         : ஡  롨ࠥ  ⥪騩  ⨢   ;
          ५,  PgUp, PgDn, Ctrl-PgUp, Ctrl-PgDn, Home 
         End  ⨢ .   騥 ᮮ饭 
          ஫ ࠡ뢠,   ⨢ 
          ᮢ뢠  .

         . ⠪ : TView.HandleEvent, TListViewer. FocusItem

 SelectItem  procedure SelectItem(Item: Integer); virtual;
                                              ४뢠: 
         ࠪ ⮤     롮  ,  㥬
         १ Item.

         . ⠪ : TListViewer.FocusItem

 SetRange  procedure SetRange(ARange: Integer);
         ⠭    Range    ARange.  ᫨  ⨪쭠
          ஫ 뫠 ,  ࠬ ࠨ.
         ᫨ ⥪騩 ⨢  室   Range, 
         Focused ⠭  0.

         . ⠪ : TListViewer.Range, TScrollBar.SetParams

 SetState  procedure   SetState(AState:  Word;   Enable:  Boolean);
                               virtual;        ४뢠: 
         뢠 TView.SetState      ﭨ ꥪ
         TListViewer, ᫨  Enable  -  True.      ᨬ   
         㬥  AState    ਢ  ⮡ࠦ  
          . ⥫쭮, ᫨ AState - sfSelected
            sfActive,    ஫  ᮢ뢠;  ᫨
         AState - sfSelected,     sfActive,    ஫
         뢠.

         . ⠪      :      TView.SetState,     TScrollBar.Show,
         TScrollBar.Hide

 Store   procedure Store(var S: TStream);
         뢠 TView.Store  ࠭ ꥪ  TListViewer 
         ⮪, ⥬ ࠭ ꥪ  ஫ (᫨ 
         ) ᯮ    PutPeerViewPtr,        ࠭
         楫᫥  १ S.Write.

         . ⠪ : TView.Store, TListViewer.Load

 

         ᪨ ᬮ    ᯮ          㬮砭
         CListViewer, ⮡ࠦ   26    29-    
         ⠭⭮ ணࠬ.


                  1   2   3   4   5
                ͻ
   CListViewer   25 26 27 28 29
                ͼ
   ⨢              ⥫
   ⨢        ࠭
   䮪஢ 


 TMenuBar                                                     Menus


                  Ŀ
                     TObject  
                  
                  Ŀ
                      TView   
                  
                  Ŀ
                   TMenuView  
                  
                 Ŀ
         ͻ        Ŀ
          TMenuBar          TMenuBox 
         ͼ        

         ꥪ TMenuBar ।⠢  ਧ⠫쭮 ,
          ண    ࠭ १:
         -  ⬥.
         - F10   .
         - 롮 (ᢥ)  ⨥ Enter.
         - 稥 .
         롮   ⮡ࠦ  孥    .
          ।⠢    ꥪ⮬    ⨯    TMenuBar    筮
         ਭ饬 ꥪ TApplication.   ⮡ࠦ
          ꥪ ⨯ TMenuBox.  TMenuBar  TMenuBox ஦
          ࠪ⭮ ⨯ TMenuView.
          設⢠  ணࠬ   Turbo Vision   砥
         אַ ꥪ  .  ४뢠  TApplication.InitMenuBar
         ᮮ⢥騬 ஬  맮 New, NewSubMenu,
         NewItem  NewLine, Turbo Vision 믮 .

 ⮤ 

 Init    constructor Init(var Bounds: TRect; AMenu: PMenu);
             ,     १  Bounds,  뢠
         TMenuView.Init. GrowMode  ⠭    gfGrouHiX.  
         Options ⠭   ofPreprocess   ࠡ
          稬  蠬.      ⠭    AMenu,
           .

         . ⠪ : TMenuView.Init, gfXXXX 䫠 grow mode, ofXXXX
         䫠 権, TMenuView.Menu

 Draw    procedure Draw; virtual;              ४뢠: 
            ன    㬮砭.    Name  
         Disabled       TMenuItem    易  ᯨ᪥
         , ⮡  ⠭        ४
         梥. 騩  Current ᢥ稢.

 GetItemRect  procedure GetIteRect(Item: PMenuItem;  var R: TRect);
                                  virtual;   ४뢠: 
         ४뢠 ࠪ  ⮤    TMenuView.   頥
         אַ㣮쭨,  ⮬   R. ᯮ
          ।,  室    ⬥⪠  誨    
          .

         . ⠪ : TMenuView.GetItemRect

 

          ,       ,  ᯮ
           㬮砭 CMenuView   ⮡ࠦ  ⮢
          2  7   ⠭⭮ ணࠬ.

                  1    2    3    4    5    6
               ͻ
CMenuView        2   3   4   5   6   7 
               ͼ
ଠ ⥪                      ⪨ ࠭
饭 ⥪              饭 ࠭
⪨ ⥪      ଠ ࠭


 TMenuBox                                                     Menus


                  Ŀ
                     TObject  
                  
                  Ŀ
                      TView   
                  
                  Ŀ
                   TMenuView  
                  
                 Ŀ
         Ŀ        ͻ
          TMenuBar          TMenuBox 
                 ͼ

         ꥪ MenuBox ।⠢  ⨪  אַ㣮쭨
         .     ᮤঠ ந ᯨ᮪ 롨ࠥ
         ⢨,   .       ,
          㪠   饭  ⮢  ᯮ  梥.
         אַ㣮쭨   ᮧ     
              㣨    אַ㣮쭨         
         ᯮ짮  ⤥ 믠騥 .

 ⮤ 

 Init    constructor   Init(var  Bounds:  TRect;    Amenu:   PMenu;
                            AParentMenu: PMenuView);
         Init ࠨ  ࠬ Bounds  ᮮ⢥⢨  ਭ
           ⮢  AMenu,  ⥬  ᮧ  אַ㣮쭨
         , 뢠 TMenuView.Init.
          ofPreProcess     Options  ⠭  ⠪,  ⮡
          ᯮ짮   稥  .  ⠭  State
         砥 sfShadow.    ⠭  AMenu, ஥
             .     ParentMenu  ⠭  
         AParentMenu.

         . ⠪ : TMenuView.Init, sfXXXX 䫠 ﭨ, ofXXXX
         䫠 権, TMenuView.Menu, TMenuView.ParentMenu

 Draw    procedure Draw; virtual;              ४뢠: 
          ࠬ אַ㣮쭨     梥⮬ 
         㬮砭.

 GetItemRect  procedure  GetItemRect(Item: PMenuItem; var R: TRect;
                                    virtual;   ४뢠: 
         ४뢠 ࠪ   ⮤    TMenuView.  頥
         אַ㣮쭨,  ⮬  .  ᯮ  
         ।, 室      ⬥⪠   誮    
          .

         . ⠪ : TMenuView.GetItemRect

  

         אַ㣮쭨 ,           ,
         ᯮ    㬮砭 CMenuView  ⮡ࠦ
         ⮢  2  7   ⠭⭮ ணࠬ.

                  1    2    3    4    5    6
               ͻ
CMenuView        2   3   4   5   6   7 
               ͼ
ଠ ⥪                      ⪨ ࠭
饭 ⥪              饭 ࠭
⪨ ⥪      ଠ ࠭


 TMenuView                                                    Menus


                  Ŀ
                     TObject  
                  
                  Ŀ
                      TView   
                  
                  ͻ
                   TMenuView  
                  ͼ
                 Ŀ
         Ŀ        Ŀ
          TMenuBar          TMenuBox 
                 

         TMenuView ।⠢ ⨯ ࠪ⭮ ,  ண
         ஦     אַ㣮쭨  .    ⭮
           㤥 ᮧ ஢ TMenuView.

  

 ParentMenu  ParenMenu: PMenuView;                    쪮 ⥭
         ⥫  ꥪ TMenuView ( ஦    ),
            ⨬  .  ⨬,   TMenuView - 
         㯯.   ਭ    ,   祬   
         TGroup,       :   롮    
            "த⥫᪮" .  롮    
         , ਬ,  筮 ਢ  "믠" .  
         ⮬ 砥   - । אַ㣮쭨 .

         . ⠪ : TMenuBox.Init

 Menu    Menu: PMenu;                                 쪮 ⥭
         ⥫   TMenu  ⮣ ,  ᮤন
         易 ᯨ᮪ ⮢ .  ⥫  
           ᥬ  ⮢    
         .

         . ⠪ : TMenuView.FindItem, TMenuView.GetItemRect, ⨯
         TMenu

 Current  Current: PMenuItem;                         쪮 ⥭
         ⥫  ⥪騩 ࠭  .

 ⮤ 

 Init    constructor Init(var Bounds: TRect);
         뢠 TView.Init,  ⮡   ᮧ   ꥪ   TMenuView
         ࠧ Bounds.     㬮砭  EventMask  ⠭  
         evBroadcast.  ⮤  ।祭   ᯮ짮
          ࠬ  ꥪ⮢  TMenuView.    ।祭 
         맮  ஦ ⨯ TMenuBar  TMenuBox.

         . ⠪   :   TView.Init,   evBroadcast,  TMenuBar.Init,
         TMenuBox.Init

 Load    constructor TMenuView.Load(var S: TStream);
          ꥪ  TMenuView    㦠      ⮪ S
         뢠 TView.Load,   ⥬ 㦠      ᯨ᮪
         .

         . ⠪ : TView.Load, TMenuView.Store

 Execute  function Execute: Word; virtual;   ४뢠: 
         믮               ,   
         짮⥫   롥      ⬥ 
         . 頥   ,   祭    ࠭
          ,   0, ᫨  뫮 ⬥.  ⮤
          뢠 ⮫쪮  ExecView.

         . ⠪ : TGroup.ExecView

 FindItem  function FindItem(Ch: Char): PMenuItem);
         頥 㪠⥫   ,   Ch 
            (ᢥ祭  ᨬ).  頥  nil,
         ᫨ ⠪          饭.
         ⨬,   Ch  ࠧ  ய    
         㪢.

 GetItemRect  procedure GetItemRect(Item: PMenuItem; var R: TRect);
                                   virtual;   ४뢠: ᥣ
          ⮤ 頥  R אַ㣮쭨,  
         ⮬ .  ᯮ   ।,    
         ⬥祭   誮. ᫥ TMenuView 
         ४뢠   ⮤    ⮣,  ⮡  ⪫ 
         ᮡ  誨.

         . ⠪ : TMenuBar.GetItemRect, TMenuBox.GetItemRect

 GetHelpCtx  function GetHelpCtx: Word; virtual;
                                              ४뢠: 
          㬮砭    ⮤  頥  ⥪  ᪠
         ⥪饣  .  ᫨  hcNoContext,  롨ࠥ
         ⥪騩 ⥪  த⥫᪮  .  ᫨ த⥫᪮
          , GetHelpCtx 頥 hcNoContext.

         . ⠪ : hcXXXX ⠭ ⥪ help

 GetPalette  function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫    㬮砭 CMenuView.

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                             ४뢠: 
         뢠  ࠡ⪨ ᮡ⨩ .  ।,  
              ࠭  誮  ன (
         稥 )     ᮮ⢥饥  
         ᮡ⨥ १ PutEvent.

         . ⠪ : TView.HandleEvent, TView.PutEvent

 HotKey  function HotKey(KeyCode: Word): PMenuItem;
         頥 㪠⥫   ,  易  祩
         襩,  १ KeyCode.  頥 nil, ᫨ 
          ⠪    ᫨  饭.
         稥   -    筮 㭪樮  
         樨 Alt 祩  । 㬥⠬  맮
         NewItem     NewSubMenu       InitMenuBar.      ⮤
         ᯮ   TMenuView.HandleEvent      ।,
         㤥  ᮡ⨥     .

 Store   procedure Store(var S: TStream);
         ࠭ ꥪ TMenuView (   )    ⮪  S,
         뢠 TView.Store,  ⥬ 뢠   
          ⮪.

         . ⠪ : TMenuView.Load

 

             ᯮ    㬮砭
         CMenuView    ⮡ࠦ  ⮢  2  7  
         ⠭⭮ ணࠬ.

                  1    2    3    4    5    6
               ͻ
CMenuView        2   3   4   5   6   7 
               ͼ
ଠ ⥪                      ⪨ ࠭
饭 ⥪              饭 ࠭
⪨ ⥪      ଠ ࠭


 TObject                                                    Objects


                     ͻ
                       TObject  
                     Ѽ
                 Ŀ
    Ŀ         Ŀ
      TCollection            TResourceFile 
             
               Ŀ
    Ŀ          Ŀ
       TStream                TStringList   
              
             Ŀ
    Ŀ             Ŀ
     TStrListMaster              TView         
                 

         TObjct -   砫쭠  窠  娨  ꥪ⮢  Turbo
         Vision.    ꥪ    ।,   
         ⢮ ⮬.  ஬ TPoint  Rect   ⠭
         ꥪ Turbo   Vision   ஦    筮    
         TObject.  ꥪ,  ᯮ騩 ⮪ Turbo  Vision,
          ந室  TObject.

 ⮤ 

 Init    constructor Init;
         ।      ꥪ      
         ﬨ. 뢠      ࠪ஢    ஦
         ꥪ⮢. ⨬,   TObject.Init 㤥    
           ⮬ ⠪,    맢 TObject.Init 
         樠樨       ࠪ   ஦
         ꥪ⮢.

 Free    procedure Free;
         ᢮ ꥪ  뢠 ࠪ Done.

 Done    destructor Done; virtual;
         믮 室    ᢮ ᪨
         ꥪ⮢.


 TParamText                                                 Dialogs


         TParamText ஦    TStaticText,    ᯮ
         ࠬਧ ப  ⥪    ଠ⭮  뢮,
         ᯮ 楤 FormatStr.

  

 ParamCount  ParamCount: Integer;
         ParamCount 㪠뢠   ᫮  ࠬ஢,  ᮤঠ  
         ParamList.

         . ⠪ : TParamText.ParamList

 ParamList  ParamList: Pointer;
         ParamList -    ⨯஢  㪠⥫   ᨢ 
          㪠⥫  祭 ⨯  LongInt, ᯮ㥬
          ࠬ ଠ஢  ⥪⮢ ப.

 ⮤ 

 Init    constructor    Init(var  Bounds:  TRect;   AText:  String;
                             AParamCount: Integer);
         樠 ꥪ   ᪮    ⥪,    뢠
         TStaticText.Init     Bounds    ⥪⮢ ப
         AText,    ᮤঠ  ᯥ䨪  ଠ  
         ଥ %[-][nnn]X,    㤥   ࠬࠬ,
         ।묨    ६   믮.   ᫮   ࠬ஢,
         ।   ParamCount,  ᢠ   ParamCount.
         䨪 ଠ   ⠫쭮   ᠭ      楤
         FormatStr.

         . ⠪ : TStaticText.Init, FormatStr 楤

 Load    constructor Load(var S: TStream);
         । ꥪ TParamText        㦠  
         祭   ⮪  S,  뢠  TStaticText.Load,  ⥬
           ParamCount  ⮪.

         . ⠪ : TStaticText.Load

 DataSize  function DataSize: Word; virtual;
         頥 ࠧ  ,  ॡ㥬 ࠬࠬ ꥪ,
         .. ParamCount*SizeOf(LongInt).

 GetText  procedure GetText(var S: String); virtual;
          ଠ஢   ப   ⥪    S,  믮
         ꥤ ࠬ஢,    ParamList   ⥪⮢
         ப  Text         맮   FormatStr(S,  Text^,
         ParamList^).

         . ⠪ : FormatStr 楤

 SetData  procedure SetData(var Rec); virtual;
              ⠥ DataSize   ParamList 
         Rec.

         . ⠪ : TView.SetData

 Store   procedure Store(var S: TStream);
         ࠭ ꥪ    ⮪ S,  뢠 TStaticText.Store,
         ⥬ 뢠  ParamCount  ⮪.

         . ⠪ : TStaticText.Store

 

         ꥪ TParamText   ᯮ         㬮砭
         CStaticText    ⮡ࠦ   6-      
         ⠭⭮ .

                               1
                             ͻ
             CStaticText      6 
                             ͼ
                     


 TPoint                                                     Objects


         TPoint -    ⮩  ꥪ,  ।⠢騩    
         ࠭.

  

 X       X: Integer;
          -   窨  ࠭.

 Y       Y: Integer;
         Y -  ப 窨  ࠭.


 TProgram                                                       App


                    Ŀ
                     TObject 
                    
                    Ŀ
                      TView  
                    
                    Ŀ
                     TGroup  
                    
               Ŀ
      Ŀ   Ŀ  ͻ
       TWindow     TDeskTop    TProgram     
           ͼ
      Ŀ                 Ŀ
       TDialog                   TApplication 
                       

         TProgram ᯥ稢        ⮢      
         ⠭ ணࠬ  Turbo Vision.   ⠪ ணࠬ
          ஦        TProgram         ⮬
         TApplication. TApplication ⫨砥   TProgram  ⮫쪮
         ࠪ஬      ࠪ஬.     2    ⨯    ꥪ
         ।⠢    襩          ᮧ
         ⠭   ணࠬ.      設⢥  砥  
         ணࠬ  㤥  ஦    TApplication.  TProgram
         ஦    TGroup,  ᪮     ᮤঠ
         ꥪ TDeskTop, TStatusLine  TMenuBar.

 ⮤ 

 Init    constructor Init;                    ४뢠: 
         ⠭   ६  Application  @Self;
         뢠 TProgram.InitScreen  樠樨 ६,
         । ० ࠭;  뢠 TGroup.Init ।
         אַ㣮쭨 Bounds ࠢ   ࠭; ⠭
          State   sfVisible + sfSelected + sfFocused + sfModal
         + sfExposed; ⠭  Options  0; ⠭
          Buffer         ࠭  ,    
         ScreenBuffer;  뢠 InitDeskTop, InitStatusLine
          InitMenuBar    ⠢      㯯
         TProgram.

         . ⠪     :     TGroup.Init,     TProgram.InitDeskTop,
         TProgram.InitStatusLine, TProgram.InitMenuBar

 Done    destructor Done; virtual;            ४뢠: 
         ᢮ ꥪ   DeskTop,   MenuBar    StatusLine  
         ⠭  ६ Application  nil.

         . ⠪ : TGroup.Done

 GetEvent  procedure GetEvent(var Event: TEvent); virtual;
                                               ४뢠: 
          㬮砭   TView.GetEvent     뢠  GetEvent
         ᢮   ᪮ TProgram ( TApplication) 
         筮 ⮣      楬      
         ,  맮 GetEvent 㤥 ਢ  TProgram.
         GetEvent (᫨   ⮫쪮          ४஥
         GetEvent)
         Trogram.GetEvent 砫  ஢,    ᣥ஢ 
         TProgram.PutEvent ᮡ⨥. ᫨ ,  GetEvent 頥
          ᮡ⨥.   ᫨      襤襣  ᮡ,  GetEvent
         뢠 GetMouseEvent;  ᫨    頥  evNothing,
         뢠 GetKeyEvent,  ᫨      evNothing:
         㪠뢠,     짮⥫, GetEvent 뢠
         TProgram.Idle, ⮡         "䮭"    ,
         믮塞  ६      짮⥫.  
          GetEvent   ।      ᮡ  evKeyDown  
         evMouseDown  StatusLine  ⮡ࠦ  樨஢
         ᮡ    evCommand.

         . ⠪ : TProgram.PutEvent, GetMouseEvent, GetKeyEvent

 GetPalette  function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫  ,  ᮬ 
          쭮 ६ AppPalette.  TProgram ন
         3   :   apColor,   apBlackWhite      apMonochrome.
         ६       AppPalette       樠       
         TProgram.InitScreen.

         . ⠪   :   TProgram.InitScreen,   AppPalette,  apXXXX
         ⠭

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                              ४뢠: ᥣ
         ࠡ뢠 ᮡ⨥        Alt-1    Alt-9
          ᮡ⨥ evBroadcast  祭  Command  ࠢ
         cmSelectWindowNum       祭      InfoInt      1..9.
         TWindow.HandleEvent ॠ  ⠪  ᮮ饭, 롨
            ஬.
         ࠡ뢠 ᮡ⨥ evCommand  祭 Command ࠢ
         cmQuit 뢠   EndModal(cmQuit)   ஥   ਢ   
         襭 ணࠬ.
         TProgram.Handle   ᥣ  ४뢠   
         ࠡ⪨ , ᯥ  襩 ணࠬ.

         . ⠪ : TGroup.HandleEvent

 Idle    procedure Idle; virtual;             ४뢠: 
         Idle 뢠  TProgram.GetEvent  । ᮡ⨩
         ,  ணࠬ  믮  䮭    
            짮⥫.
          㬮砭  TProgram.Idle  뢠  StatusLine^.Update,
         ⮡ ࠧ    ப         ᥡ   
         ᮮ⢥⢨  ⥪騬 ⥪⮬ ᪠.  ⥬, ᫨
                  ᫥    ᫥    맮
         TProgram.Idle,    evBroadcast      祭
         Command ࠢ    cmCommandSetChanged,   ⮡   ࠧ
          ,    ⮣  ,
         ࠧ   ᥡ.
         ᫨  ४뢠 Idle,  ᥣ  뢠  ᫥㥬
         Idle.    㡥,    ,  믮塞 
         襬 Idle,      ᫨誮  讣   ६   
         ணࠬ, ᪮        㤥    ஢   
         짮⥫.

 InitDeskTop procedure InitDeskTop; virtual;   ४뢠: 
           ꥪ   TDeskTop      ணࠬ    ࠭
         㪠⥫        쭮   ६   DeskTop.
         InitDeskTop 뢠  TProgram.Init    
         뢠 אַ.   InitDeskTop          ४
         ᮧ ⮬  TDeskTop.

         . ⠪ : TProgram.Init, TDeskTop, TWindow.Init

 InitMenuBar procedure InitMenuBar; virtual;  ४뢠: ᥣ
          ꥪ  TMenuBar      ணࠬ      ࠭
         㪠⥫       쭮  ६    MenuBar.
         InitMenuBar 뢠  TProgram.Init    
         뢠 אַ.  InitMenuBar   ᥣ ४뢠
         ⮬  TMenuBar, । 짮⥫.

         . ⠪ : TProgram.Init, TMenuBar, TWindow.Init

 InitScreen procedure InitScreen; virtual;    ४뢠: 
         뢠    TProgram.Init      TProgram.SetScreenMode
          ࠧ,    ०  ࠭   樠   
         .   ⮤,    ⢨⥫쭮  믮
            ன  ६,  ।   ०
         ࠭  ࠧ ⥭, થ஢   ணࠬ.

         . ⠪ : TProgram.Init, TProgram.SetScreenMode

 InitStatusLine procedure InitStatusLine; virtual;
                                              ४뢠: ᥣ
          ꥪ   TStatusLine    ணࠬ    ࠭
         㪠⥫    쭮  ६    StatusLine.
         InitStatusLine  뢠    TProgram.Init    
           뢠  אַ.  InitStatusLine     ᥣ
         ४뢠   ⮬      TStatusLine,  ।
         짮⥫.

         . ⠪ : TProgram.Init, TStatusLine

 OutOfMemory procedure OutOfMemory; virtual;   ४뢠: 
         OutOfMemory 뢠         TProgram.ValidView    
         ।,   LowMemory  -  True.  OutOfMemory  
         ᮮ 짮⥫,      筮      
         믮 樨.  ਬ  ᯮ짮  ணࠬ
         MessageBox   StdDlg:

         procedure TMyApp.OutOfMemory;
         begin
           MessageBox('Not enough memory to complete operation.',
                      nil, mfError + mfOKButton);
         end;

         . ⠪ : TProgram.ValidView, LowMemory

 PutEvent procedure PutEvent(var Event: TEvent); virtual;
                                               ४뢠: 
          㬮砭   TView.PutEvent     뢠  PutEvent
         ᢮      ᪮   ꥪ   TProgram   (
         TApplication)   筮   楬 
          ,  맮 PutEvent 㤥 ਢ 
         TProgram.PutEvent (᫨ ⮫쪮    ४
         PutEvent).
         Program.PutEvent ࠭    PutEvent  
          ᫥騩 맮   TPreogram.GetEvent  㤥  
          .

         . ⠪ : TProgram.GetEvent, TView.PutEvent

 Run     procedure Run; virtual;               ४뢠: 
         믮 TProgram,   뢠   ⮤   Execute   (
         TProgram ᫥  TGroup).

         . ⠪ : TGroup.Execute

 SetScreenMode procedure SetScreenMode(Mode: Word);
         ⠭ ०  ࠭.  Mode  -       ⠭
         smCO80, smBW80    smMono  ⥫ smFont8x8 
         롮 43-    50-筮  ०    EGA     VGA.
         SetScreenMode 뢠  ,  뢠  SetVideoMode 
          ०   ࠭,   뢠    InitScreen    
         樠樨 ६    ०    ࠭,    砥
         ScreenBuffer  TProgram.Buffer,  뢠  ChangeBounds  
          אַ㣮쭨 ࠭ , , 뢠 .

         . ⠪   :  TProgram.InitScreen,  SetVideoMode,  smXXXX
         ⠭

 ValidView function TProgram.ValidView(P: PView): PView;
         ஢ ࠢ쭮   ᮧ  ⮢,
          ,  ᫨   ࠢ  nil - ᫨
         . -,  ᫨  - nil,  頥 祭 nil.
         -, ᫨ LowMemory -  True,    맮  ValidView
          ,    ,  ᢮, 뢠
         ⮤ OutOfMemory  頥 祭  nil. -,
         ᫨ 맮  P^.Valid(cmValid)  頥  False,  
          ᢮  頥 祭  nil.  
             ⠥   ࠢ     頥
         㪠⥫     .
         ValidView   ᯮ    ஢ન  ࠢ쭮
               ⠢      .
         ਬ, ᫥騩         뢠    ⨯
         ᫥⥫쭮 ᮧ,  ஢ન    ⠢  
              ࠭ (TProgram.ValidView  TGroup.Insert
             ஢        㪠⥫    nil,
         騥  १ 訡).

         DeskTop^.Insert(ValidView(New(TMyWindow, Init(...))));

         . ⠪ : LowMemory, TProgram.OutOfMemory, Valid ⮤

 

              ꥪ-ணࠬ    ࠢ     
         ⮡ࠦ  梥   ⮢ ணࠬ.  
         ⮡ࠦ 㣨  ਢ    롮    
          ணࠬ,    ਡ ⥪. 
           ᯮ    TBackground    梥⮢   䮭.
           2  7 ᯮ   ப .

               1   2   3   4   5   6   7
             ͻ
CColor       $71$70$78$74$20$28$24
             ͹
             ͹
CBlackWhite  $70$70$78$7F$07$07$0F
             ͹
             ͹
CMonochrome  $70$07$07$0F$70$70$70
             ͼ
                           ⪨ 롮
ଠ ⥪              饭 롮
饭 ⥪        ଠ 롮
⪨ ⥪ 

           8  15 ᯮ 묨 .

               8   9   10  11  12  13  14  15
             ͻ
CColor       $17$1F$1A$31$31$1E$71$00
             ͹
             ͹
CBlackWhite  $07$0F$07$70$70$07$70$00
             ͹
             ͹
CMonochrome  $07$0F$07$70$70$07$70$00
             ͼ
 ᨢ                       १ࢨ஢
 ⨢                 ࠭ ⥪ ஫
 ࠬ           ଠ ⥪ ஫
࠭ ஫     १ࢨ஢


           16  23 ᯮ 묨 .

               16  17  18  19  20  21  22  23
             ͻ
CColor       $37$3F$3A$13$13$3E$21$00
             ͹
             ͹
CBlackWhite  $07$0F$07$70$70$07$70$00
             ͹
             ͹
CMonochrome  $07$0F$07$70$70$07$70$00
             ͼ
 ᨢ                       १ࢨ஢
 ⨢                 ࠭ ⥪ ஫
 ࠬ           ଠ ⥪ ஫
࠭ ஫     १ࢨ஢


           24  31 ᯮ 묨 .

               24  25  26  27  28  29  30  31
             ͻ
CColor       $70$7F$7A$13$13$70$7F$00
             ͹
             ͹
CBlackWhite  $70$7F$7F$70$07$70$07$00
             ͹
             ͹
CMonochrome  $70$70$70$07$07$70$07$00
             ͼ
 ᨢ                       १ࢨ஢
 ⨢                 ࠭ ⥪ ஫
 ࠬ           ଠ ⥪ ஫
࠭ ஫     १ࢨ஢

           32  63 ᯮ 묨  .  .
         TDialog  ⤥ ⮢.

               32  33  34  35  36  37  38  39  40
             ͻ
CColor       $17$1F$1A$31$31$31$1E$71$00
             ͹
             ͹
CBlackWhite  $07$0F$07$70$70$70$07$70$00
             ͹
             ͹
CMonochrome  $07$0F$07$70$70$70$07$70$00
             ͼ
 ᨢ                          ⪠ ⪠
 ⨢                    ᢥ祭 ⪠
 ࠬ              ଠ쭠 ⪠
࠭ ஫        ᪨ ⥪
 ࠢ 
஫



               41  42  43  44  45  46  47  48  49
             ͻ
CColor       $17$1F$1A$31$31$31$1E$71$00
             ͹
             ͹
CBlackWhite  $07$0F$07$70$70$70$07$70$00
             ͹
             ͹
CMonochrome  $07$0F$07$70$70$70$07$70$00
             ͼ
ଠ쭠                         ⪨ 
  㬮砭                   ࠭ 
࠭              ଠ 
饭         
⪠  



                     50  51  52  53  54  55  56
                   ͻ
CColor             $1F$2F$1A$20$72$31$31
                   ͹
                   ͹
CBlackWhite        $0F$70$0F$07$70$70$70
                   ͹
                   ͹
CMonochrome        $07$70$07$07$70$07$07
                   ͼ
ଠ쭠 ப                    ࠢ
                                  ஫  ਨ
࠭ ப                ࠭ ஫
                                         ਨ
५ ப         ஭ ਨ
५ ਨ 


                     57  58  59  60  61  62  63
                   ͻ
CColor             $30$2F$3E$31$13$00$00
                   ͹
                   ͹
CBlackWhite        $07$70$0F$07$07$00$00
                   ͹
                   ͹
CMonochrome        $07$70$0F$07$07$00$00
                   ͼ
ଠ ᬮ                   १ࢨ஢
ᯨ᪠                               
⨢ ᬮ               १ࢨ஢
ᯨ᪠                             
࠭ ᬮ ᯨ᪠        ଠ樮
⥫ ᬮ ᯨ᪠                


TRadioButtons                                               Dialogs


                  Ŀ
                     TObject  
                  
                  Ŀ
                      TView   
                  
                  Ŀ
                    TCluster  
                  
                 Ŀ
       ͻ   Ŀ
        TRadioButtons     TCheckBoxes 
       ͼ   

         ꥪ TRadioButtons -  , ᮤঠ騥  65,536
         ⮢ ࠢ,         ६
            ࠭ ⮫쪮  .  롮 ࠭
          㤥  ⮬᪨   ᢮   ।⥫쭮
         ࠭ .      ꥪ  ᫥    TCluster
            㭪権,    Init,   Load      Done.
         ᨬ   樨஢  ꥪ⮬ TLabel.
         TRadioButtons        ᫥㥬        
         TCluster.Value      "⮩"  .    ஬
         ࢮ   , ࠢ 0.

 ⮤ 

 Draw    procedure Draw; virtual;             ४뢠: 
            ' ( ) ' .

 Mark    function Mark(Item: Integer): Boolean; virtual;
                                             ४뢠: 
         頥 True,  ᫨  Item = Value,  ..  ᫨  
         ஬ Item ।⠢ ⥪騬 祭  Value.

         . ⠪ : TCluster.Value, TCluster.Mark

 MovedTo procedure MovedTo(Item: Integer); virtual;
                                             ४뢠: 
         ᢠ Value 祭 Item.

         . ⠪ : TCluster.MovedTo, TRadioButtons.Mark

 Press   procedure Press(Item: Integer); virtual;
                                             ४뢠: 
         ᢠ Value 祭 Item.  뢠    ⨨
           ஬ Item.

 SetData procedure SetData(var Rec); virtual;  ४뢠: 
         뢠 TCluster.SetData  ⠭   Value, ⥬
         ⠭   Sel ࠢ Value,  ᪮ ࠭
          -  "" .

         . ⠪ : TCluster.SetData


 

         ꥪ TRadioButtons  ᯮ  CCluster  -   
         㬮砭     ꥪ⮢       ⮡ࠦ
         ⮢  16  18   ⠭⭮ .

                     1    2    3    4
                  ͻ
      CCluster     16  17  18  18 
                  ͼ
    ଠ ⥪               ⪠ ࠭
    ࠭ ⥪      ⪠ ଠ쭠


TRect                                                       Objects


 

 A       A: TPoint
          -      窠,   ।   孨      㣮
         אַ㣮쭨  ࠭.

 B       B: Point
          -      窠,   ।      ࠢ   㣮
         אַ㣮쭨  ࠭.

 ⮤ 

 Assign  procedure Assign(XA, YA, XB, YB: Integer);
          ⮤    砥    祭    ࠬ஢    
         אַ㣮쭨.   ⠭  .,    ⠭ . 
         ..

 Copy    procedure Copy(R: TRect);
         Copy ⠭   ࠢ묨 אַ㣮쭨 R.

 Move    procedure Move(ADX, ADY: Integer);
         ६頥 אַ㣮쭨,   ADX    A.X    B.X  
          ADY  A.Y  B.Y.

 Grow    procedure Grow(ADX, ADY: Integer);
          ࠧ  אַ㣮쭨,    ADX      A.X,
          ADX  B.X,  ADY  A.Y   ADY  B.
         Y.

 Intersect procedure Intersect(R: TRect);
              ࠧ  אַ㣮쭨   ,
         । 祭 ⥪饣   R.

 Union   procedure Union(R: TRect);
          אַ㣮쭨               ꥤ    
         אַ㣮쭨 R;  ..    襣  אַ㣮쭨,
         ᮤঠ饣  ꥪ  R.

 Contains function Contains(P: TPoint): Boolean;
         頥 True, ᫨ אַ㣮쭨 ᮤন  P.

 Equals  function Equals(R: TRect): Boolean;
         頥 True, ᫨ R ࠢ  אַ㣮쭨.

 Empty   function Empty: Boolean;
         頥 True,  ᫨  אַ㣮쭨  ⮩,   ..   
         ᮤন ᨬ쭮 ࠭⢠.   ࠧ  A 
         B ࠢ.


TResourceCollection                                         Objects


                  Ŀ
                   TObject 
                  
                Ŀ
                 TCollection 
                
              Ŀ
               TSortedCollection 
              
              Ŀ
               TStringCollection 
              
             ͻ
              TResourceCollection 
             ͼ

         TResourseCollection ஦      TStringCollection    
         ᯮ    TSourseFile      ॠ樨  樨
         ᮢ.  ᮢ -  ⮪,  
         祢묨 ப.  ⥫쭮,   
          楫  Pos    ப    Key.  ४⨥
         ⮤ TResourseCollection     ࠧ  易  
         ࠡ⪮ ⥫ ப   .
         TResourseCollection ᯮ            ꥪ⮢
         TResourseFile  প  䠩 ᮢ.


TResourceFile                                               Objects


                    Ŀ
                     TObject 
                    
                 ͻ
                  TResourceFile 
                 ͼ

         TResourseFile ॠ      ⮪,           
         ஢ 祢묨    ப.        ꥪ
         ࠭  䠩 ,  ᯮ TResourseFile.Put,
          祢  ப,       
         ꥪ. ꥪ        祭 㪠 ⮩
         祢 ப  맮 TResourseFile.Get.
          ᯥ祭   ண      䥪⨢   㯠  
         ꥪ⠬, ࠭騬  䠩 , TResourseFile ࠭
         祢   ப      ஢   樨  ப
         (ᯮ ⨯ TResourseCollection)     樥  
         ࠧ஬    ⮣    䠩 .    
         砥 ⮪,  ⨯ ꥪ⮢, 뢠  ⠥ 
         䠩  ᮢ,      ॣ஢  
         RegisterType.

 

 Stream  Stream: PStream;                            쪮 ⥭
         ⥫  ⮪, 易  ⨬ 䠩 .

 Modified Modified: Boolean;                         ⥭/
         ⠭  True, ᫨ 䠩   ஢.

⮤ 

 Init    constructor Init(AStream: Pstream); ४뢠: 
         樠 䠩  ,  ᯮ  ⮪,  
         १ AStream,   ⠭    Modified    False.
         ਬ:

         ResFile.Init(New(TBufStream, Init("MYAPP.RES', stOpenRead,
                      1024)));

          ६ 樠樨  Init  ᬮ      䠩
         ᮢ ⥪   ⮪.  ଠ  䠩
         ᮢ:

         type
           TResFileHeader = record
             Signature: array[1..4] of Char;
             ResFileSize: Longint;
             IndexOffset: Longint;
           end;

          Signature ᮤন 'FBPR', ResFileSize ᮤন ࠧ
         ᥣ 䠩 ᮢ,   ᪫祭    Signature  
         ResFileSize (..   ࠧ   䠩     -8  )  
         IndexOffset ᮤন ᬥ饭 樨 ᮢ  砫
         .
         ᫨ Init  室   䠩      ⥪饩
         樨 AStream,    ⠥,    ᮧ   䠩
           ᮧ ⮩ .
         ᫨ Init   .EXE 䠩  ⥪饩 樨 ⮪,
          ᬠਢ  ⮪      䠩  .EXE      
          䠩     .  筮  Init  㤥
         ய᪠ ૥ 䠩,    .EXE 䠩 (⠪
           OvrInit ய᪠ 䠩 ).  砥, 
            ૥ 䠩  䠩  ( 
         浪)    .EXE 䠩 襩 ணࠬ.  ( 
         ᤥ  믮 䠩 IDE - TURBO.EXE).

         . ⠪ : TResourceFile.Done

 Done    destructor Done; virtual;           ४뢠: 
         ⠫ 䠩  ,  ᯮ TResourseFile.Flush,
         ⥬ ᢮   ⮪, 㪠  Stream.

         . ⠪ : TResourceFile.Init, TResourceFile.Flush

 Count   function Count: Integer;
         頥 ᫮ ᮢ,   䠩 ᮢ.

         . ⠪ : TResourceFile.KeyOf

 Delete  procedure Delete(Key: String);
          ,  㥬   祬   Key      䠩
         ᮢ. ࠭⢮,  ࠭ ⮥ 㤠 ᮬ,
          ᯮ.    㤠  ,  ᯮ
         SwitchTo   ᮧ  㯠    䠩   
         ⮪.

         . ⠪ : TResourceFile.SwitchTo

 Flush   procedure Flush;
         ᫨ 䠩      ஢  (஢  
         Modified) Flush  ࠭         
         ⮪           砫 ⮪.
         ⥬ Modified ⠭  False.

         . ⠪ : TResourceFile.Done, TResourceFile.Modified

 Get     function Get(Key: String): PObject;
          Key    䠩 ᮢ.  頥 nil,  ᫨
           .  ,  ⠭ ⮪    ,
          ᮬ    뢠  Stream^.Get  ᮧ 
         㧪 ꥪ  ⮬ . ਬ

         DeskTop^.Insert(ValidView(ResFile.Get('EditorWindow')));

         . ⠪ : TResourceFile.KeyAt, TResourceFile.Put

 KeyAt   function KeyAt(I: Integer): String;
         頥 祢 ப    ஬ i  䠩
         .  ࢮ    0      ᫥
          TResourseFile.Count-1.  ᯮ Count  KeyAt 
          ࠡ    䠩 .

         . ⠪ : TResourceFile.Count

 Put     procedure Put(Item: PObject; Key: String);
          ꥪ,    १      䠩    
         祢 ப,    Key.  ᫨    ᮤন
         Key,   ꥪ  頥 .  ꥪ  
           ꥪ⮢ 䠩   ᯮ짮
         Stream^.Put

         . ⠪ : TResourceFile.Get

 SwitchTo  function  SwitchTo(AStream:   PStream;  Pack:  Boolean):
                             PStream;
         ४砥 䠩    ⮪  ⮪, ।
         १ AStream  頥 㪠⥫   ⮪.
         ᫨ ࠬ  Pack  ࠢ  True,  ⮪ 㤥 뢠
         ⮥  ᯮ㥬 ࠭⢮  䠩    
             ⮪.   ⢥ ᯮᮡ ᦠ 䠩
         . ஢    ࠬ஬  Pack  =  False  㤥
         믮 ॥,   ᦠ.


TScrollBar                                                    Views


                   Ŀ
                    TObject 
                   
                    Ŀ
                     TView 
                    
                 ͻ
                  TScrollBar 
                 ͼ


 

 Value   Value : Integer;                             쪮 ⥭
          Value  ।⠢ ⥪   
         ஫.  થ 뤥 梥⮬, ६頥 
             ஫,   㪠뢠   ⭮⥫   
         (ਧ⠫  ⨪  ᨬ    
         ஫)  ⥪ ⭮⥫쭮 ᥣ ⥪, 㯭
          ஫.   ᮡ  אַ    ᢥ
             Value    ⠪,       ⬥⪨   誮   
           ஫,   ࠧ    
          ⥪  ஫. 筮   Value
          ॡ ⮡ࠦ   ᮡ.  TScroolBar.Init
         ⠭ Value  0.

         . ⠪   :  TScrollBar.SetValue,  TScrollBar.SetParams,
         TScrollBar.ScrollDraw,              TScroller.HandleEvent,
         TScrollBar.Init

 Min     Min: Integer;                                쪮 ⥭
         Min ।⠢  쭮  祭    Value.   
         㬮砭 TScrollBar ⠭ Min  0.

         . ⠪ : TScrollBar.SetRange, TScrollBar.SetParams

 Max     Max: Integer;                                쪮 ⥭
         Max ।⠢  ᨬ쭮  祭    Value.  
         㬮砭 TScrollBar ⠭ Max  0.

         . ⠪ : TScrollBar.SetRange, TScrollBar.SetParams

 PgStep  PgStep: Integer;                             쪮 ⥭
         PgStep -  ⢮ 塞  ⠥  
         Value  ஫,   ᮡ⨥  誨 
             ࠭  (sbPageLeft,  sbPageRight,
         sbPageUp, sbPageDown)      㦥   
          (Ctrl-,  Ctrl-,  PgUp,   PgDn).      㬮砭
         TScrollBar.Init ⠭  PgStep    1.  PgStep 
                ᯮ짮      TScrollBar.SetStep,
         TScrollBar.SetParams  TScroller.SetLimit.

         . ⠪  :   TScrollBar.SetStep,   TScrollBar.SetParams,
         TScroller.SetLimit, TScrollBar.ScrollStep

 ArStep  ArStep: Integer;                             쪮 ⥭
         ArStep -  ⢮ 塞  ⠥  
         Value  ஫    ⬥祭    ५
         (sbLeftArrow, sbRightArrow,  sbUpArrow,  sbDownArrow)  
         㦥     .     㬮砭
         TScrollBar,Init ⠭ ArStep  1.

         . ⠪   :   TScrolBar.SetStep,    TScrollBar.SetParam,
         TScrollBarScrollStep


⮤ 

 Init    constructor Init(var Bounds: TRect);
           樠    ஫    ࠭栬
         Bounds, 뢠    TView.Init.    Value,    Max       Min
         ⠭  0.  PgStep  ArStep ⠭  1.
          ⮢        ஫        㬮砭
         ⠭  TScrollChars.
         ᫨ Bounds    Size.X = 1,    ⨪
          ஫,   -  ਧ⠫.  ⨪
          ஫      GrowMode,  ⠭ 
         gfGrowLoX + gfGrowHiX  +  gfGrowHiY;  ⨪  
         ஫   GrowMode,  ⠭ gfGrowLoY +
         gfGrouHiX + gfGrowHiY.

 Load    constructor Load(var S: TStream);
           㦠  ஫  ⮪ S, 뢠
         TView.Load, ⥬    5  楫᫥      १
         S.Read.

         . ⠪ : TScrollBar.Store

 Draw    procedure Draw; virtual;            ४뢠: 
           ஫  ᨬ   ⥪ Bounds,
         Value  .

         . ⠪ : TScrollBar.ScrollDraw, TScrollBar.Value

 GetPalette function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫   CScrollBar,    㬮砭
           ஫.

 HandleEvent procedure HandleEvent(var Event: TEvent); virtual;
                                             ४뢠: 
         ࠡ뢠 ᮡ         ஫,     뢠
         TView.HandleEvent, ⥬  Event.What.  
         誨 -  騥 ᮮ饭      ஫
         (. 㭪   Message),       ࠡ뢠
         묨 ﬨ  ஫, ਬ ஫
         ⥪. TScrollBar.HandleEvent  ⠪   ।,  
           ஫ 稫  ⬥    誨  (
          ).      Value   ࠨ   
         ᮮ⢥⢨   ⥪騬  祭ﬨ  ArStep    PgStep  
           ஫ ᮢ뢠.

         . ⠪ : TView.HandleEvent

 ScrollDraw procedure ScrollDraw; virtual;     ४뢠: 
         ScrollDraw 뢠        Value.   
         ᥢࠪ ⮤   뢠  ।祩  ᮮ饭
         cmScrollBarChanged   ஫:

         Message(Owner, evBoadcast, cmScrollBarChanged, @Self);

         . ⠪ : TScrollBar.Value, Message 㭪

 ScrollStep function ScrollStep(Part: Integer): Integer; virtual;
                                             ४뢠: 
          㬮砭  ScrollStep  頥   ⥫쭮   
         ⥫쭮 祭  蠣  ᨬ   
         ஫,    Part  ⥪ 祭  ArStep  
         PgStep. 㬥 Part     ⠭ sbXXXX
         ᠭ   14.

         . ⠪ : TScrollBar.SetStep, TScrollBar.SetParams

 SetParams procedure SetParams(AValue,AMin, AMax, APgStep, AArStep:
                              Integer);
         SetParams ⠭  Value,  Min,  Max,  PgStep  
         ArStep     祭.  ᫨ 㬥 䫨,
         믮 ᮣᮢ.  ਬ,  Min      
          Max,  ⮬ ᫨ AMax < AMin, Max ⠭
          Min.  Value          [Min,   Max],
         ⮬, ᫨  Value < AMin,  Value ⠭  Min;
         ᫨ AValue > AMax,  Value ⠭  Max. DrawView
         ᮢ뢠   ஫.  ᫨ Value ,
         㤥 맢 ScroolDraw.

         . ⠪   :    TView.DrawView,    TScrollBar.ScrollDraw,
         TScrollBar.SetRange, TScrollBar.SetValue

 SetRange procedure SetRange(AMin, AMax: Integer);
         SetRange   ⨬          Value,
         ⠭ Min    Max  AMin  AMax.  SetRange 뢠
         SetParams, ⮬ DrawView  ScroolBar   뢠,
         ᫨  ॡ ᮢ  ஫.

         . ⠪ : TScrollBar.SetParams

 SetStep procedure SetStep(APgStep, AArStep: Integer);
         SetStep ⠭  PgStep  ASrStep    APgStep  
         AArStep.    ⮤   뢠  SetParams    ⠫묨
         㬥⠬, ࠢ묨  ⥪騬 祭.

         . ⠪ : TScrollBar.SetParams, TScrollBar.ScrollStep

 SetValue procedure SetValue(AValue: Integer);
         SetValue ⠭      Value    AValue,  뢠
         SetParams  ⠫묨 㬥⠬,  ⠭묨    
         ⥪騥 祭.  DrawView  ScrollDraw 뢠,  ᫨
          맮  祭 Value.

         . ⠪   :   TScroll   Bar.SetParams,   TView.DrawView,
         TScrollBar.ScrollDraw, TScroller.ScrollTo

 Store   procedure Store(var S:TStream);
         ࠭ ꥪ   TScrollBar      ⮪   S,    뢠
         TView.Store, ⥬   뢠  5  楫᫥    
         ⮪, ᯮ S.Write.

         . ⠪ : TScrollBar.Load


 

         ꥪ   ஫ ᯮ   㬮砭
         CScrollBar  ⮡ࠦ   4    5-    
         ⠭⭮ ணࠬ.

                        1   2   3
                      ͻ
         CScrollBar    4  5  5 
                      ͼ
         ࠭        
         ५ 


TScroller                                                     Views


                     Ŀ
                      TObject 
                     
                     Ŀ
                       TView  
                     
                    ͻ
                     TScroller 
                    ͼ
                   Ŀ
                    TTextDevice 
                   
                    Ŀ
                     TTerminal 
                    


 

 HScrollBar  HScrollBar:PScrollBar;                  쪮 ⥭
         뢠  ਧ⠫  ஫, 易 
         ⨬ ஫஬.  ᫨  ⠪      ஫   ,
         HScroolBar ࠢ nil.

 VScrollBar  VScrollBar: PScrollBar;                 쪮 ⥭
         뢠  ⨪  ஫,  易  
         ⨬   ஫஬.   ᫨  ⠪    ஫  ,
         VScroolBar ࠢ nil.

 Delta   Delta: TPoint;                              쪮 ⥭
         ন   (ਧ⠫쭠)  Y (⨪쭠) 
         樨 ஫   ⭮⥫쭮   ⠫쭮   
         . ⮬᪨  ஫ ⨣ 
              ⢥,  ਬ,    ᮡ
          ஫,   祭  Value. 筮
         ஫   Delta,  ⮡ࠦ      
         Value     ஫      ਢ      
         ஢  ஫.

         . ⠪ : TScroller.ScrollDraw, TScroller.ScrollTo

 Limit   Limit: TPoint;                              쪮 ⥭
         Limit.X Limit.Y  -  ᨬ쭮 ⨬ 祭 
         Delta.X  Delta.Y.

         . ⠪ : TScroller.Delta


⮤ 

 Init    constructor    Init(var   Bounds:   TRect;   AHScrollBar,
                            AVScrollBar: PScrollBar);
             樠  ꥪ  TScroller    
         ࠧ஬  ᠬ ஫.  뢠  TView.Init  
         ⠭ ࠧ            .     Options
         ⠭      ofSelectabble,            EventMask
         ⠭   evBroadcast.  AHScrollBar    
         nil, ᫨    ਧ⠫    ஫;
         筮 AVScrollBar   nil,  ᫨   
         ⨪쭮  ஫.

         . ⠪ : TView.Init, TView.Options, TView.EventMask

 Load    constructor Load(var S: TStream);
         㦠    ஫  ⮪ S,  뢠
         TView.Load, ⥬  ⠭  㪠⥫     
         ஫, ᯮ GetPeerViewPtr  ⠥  Delta 
         Limit, ᯮ S.Read.

         . ⠪ : TScroller.Store

 ChangeBounds procedure ChangeBounds(var Bounds: TRect); virtual;
                                             ४뢠: 
          ࠧ   ஫,   뢠   SetBounds.   ᫨
         室, ஫    ஫ ᮢ뢠
         맮 DrawView  SetLimit.

         . ⠪     :      TView.SetBounds,      TView.DrawView,
         TScroller.SetLimit

 GetPalette  function GetPalette: PPalette; virtual;
                                              ४뢠: 
         頥 㪠⥫      ஫   㬮砭
         CScroller.

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtual;
                                               ४뢠: 
         ࠡ뢠 設⢮         ᮡ⨩,          뢠
         TView.HandleEvent. 騥      ᮡ            
         cmScrollBarChanged, ᫨    諨    HScrollBar  
         VScrollBar, ਢ  맮 TScroller.ScrollDraw.

         . ⠪ : TView.HandleEvent, TScroller.ScrollDraw

 ScrollDraw  procedure ScrollDraw; virtual;  ४뢠: 
         ஢, ᮮ⢥  Delta ᮮ⢥騬 
          ஫.  ᫨    -  Delta  ⠭  
         ४⭮ 祭  뢠 DrawView   ᮢ
         ஫.

         . ⠪      :      TView.DrawView,     TScroller.Delta,
         TScroller.HscrollBar, TScroller.VScrollBar

 ScrollTo  procedure ScrollTo(X, Y: Integer);
         ⠭    ஫      (X,   Y),  뢠
         HScrollBar^.SetValue(X)     VScrollBar^.SetValue(Y)     
         ᮢ뢠  , 뢠 DrawView.

         . ⠪ : TView.DrawView, TScroller.SetValue

 SetLimit  procedure SetLimit(X, Y: Integer);
         ⠭ Limit.X  X  Limit.Y   Y,  ⥬  뢠
         HScrollBar^.SetParams   VScrollVar^.SetParams  (᫨  
          ஫ ),  ⮡  ந    
         Max.    맮    ਢ    ᮢ  
         ஫.  뢠  DrawView    ᮢ
         ஫, ᫨  室.

         . ⠪    :    TScroller.Limit,    TScroller.HScroller,
         TScroller.VScrollBar, TScrollBar.SetParams

 SetState  procedure   SetState(AState:  Word;   Enable:  Boolean);
         virtual;                              ४뢠: 
          ⮤ 뢠    ﭨ  ஫.
         맮 TView.SetState   ⠭     頥  䫠
         ﭨ  State.  ᫨  ﭨ  -  sfSelected  
         sfActive, SetState ⮡ࠦ  ஫,  
         뢠.

 Store procedure Store(var S: TStream);
         뢠 ஫  ⮪ S,  뢠 TView.Store, ⥬
         ࠭ 뫪         ஫,    ᯮ
         PutPeerViewPtr,  뢠 祭 Delta Limit,
         ᯮ S.rite.

         . ⠪ : TScroller.Load, TStream.Write

 

         ꥪ ஫   ᯮ          㬮砭
         CScroller    ⮡ࠦ    6    7    
         ⠭⭮ ணࠬ.

                       1   2
                     ͻ
         CScroller    6  7 
                     ͼ
         ଠ     ᢥ祭


 TSortedCollection                                         Objects


                  Ŀ
                  TObject 
                  
                Ŀ
                 TCollection 
                
              ͻ
               TSortedCollection 
              ͼ
             Ŀ
               TStringCollction 
              
             Ŀ
              TResourceCollection 
             

         TSortedCollection 宦    TCollection     ॠ娧
         , ஢         㡫஢.
         ஢ ந ⮤ TStringCollection.Compare,
            ४뢠,  ⮡    ᢮ ।
         㯮冷稢 ⮢.               
         ,    ⮬᪨   ⠢    浪,
          ⮤ Compare.      ᯮ,
         ᯮ  ⮤  ᪠ TStringCollectio.Search.
         㠫   ⮤   KeyOf,  騩  㪠⥫  
         Compare,  ⠪    ४, 嫨 Compare ॡ
         ⥫쭮 ଠ樨.


⮤ 

 Compare  function Compare(Key1, Key2: Pointer): Integer; vitual;
                                            ४뢠: ᥣ
         Compare -    ࠪ  ⮤,      
         ४       ஦   ⨯.  Compare  
         堢 2 祢 祭  宧 १:

     
          -1   if Ke1 < Key2
           0   if Key = Key2
           1   if Key1> Key2
     

        Key1   Key2  -    祭 㪠⥫,  祭 
         ᮮ⢥饩 樨         ⮢         ⮤
         TSortedCollection.KeyOf. ⮤    TSortedCollection.Search
         ॠ    ⮢  樨,  ᯮ
         Compare  ࠢ ⮢.

        . ⠪ :    TSortedCollection.KeyOf,
                        TSortedCollection.Compare

 IndexOf  function IndexOf(Item: Pointer): Integer; virtua;
                                            ४뢠: 娪
         ᯮ TSortedCollection.Search  宦孨 
          Item.   ᫨        樨,  IndexOf
         頥 -1.  TSortedCollection.IndexOf:

         if Search(KeyOf(Item), I) then IndeOf := I
         else IndexOf = -1;

         . ⠪ : TSortedCollection.Search

 Insert  procedure Insert(Item: Pointer); virtual;
                                            ४뢠: 
         ᫨         樨,    ⠢ 
         , ।         娭ᮬ,          뢠
         TSortedCollection.Search   ।,    
         . ᫨   ,   㤠   ⠢   .   姠
         TSortedCollection.Insert:

         if nt Search(KeyOf(Item), I) then AtInsert(I, Item)

         . ⠪ : TSortedCollection.Search

 KeyOf   function KeyOf(Item: Pointer): Pointer; virtual;
                                            ४뢠: 
                  樨    KeyOf   
         ᮮ⢥騩       .            宫砭
         TSortedCollection.KeyOf    頥   Item.  KeyOf
         ४뢠  砥,     ᮢ 
         奭⮬.

         . ⠪ : TSortedCollection.IndexOf

 Search function Search(Key: Pointer; var Index: Integer): Boolean;
                       virtual                ४뢠: 奤
         頥 True,  ᫨  ,   祬 Key,  
           ஢ 樨.  ᫨   ,
         Index ⠭      ;    Index
         ⠭  ,  㤠 夥    
         ⠢.

         .⠪           :           TSortedCollection.Compare,
         TSortedCollection.Insert


StaticText                                                Dialogs


                  Ŀ
                   Tbject 
                  
                   Ŀ
                    TVie 
                   
                
                 TStaticTex 
                ͼ
                   Ŀ
                    TLabel
                   

         ꥪ TStaticText   ।⠢   ⥩訥   墨
         :  ᮤঠ  䨪஢  ⥪  
          ᮡ, । .  ᯮ  ᮮ饭
          ᨢ  ⪨.  ᫥  TStaticText  믮
          ⨢ ஫.

 

 Text    Text: PString;                             쪮 ⥭
         ⥫    ப   ⥪,   ⮡ࠦ    娤
         .


⮤ 

 Init    constructor Init(var Bounds: TRect; AText: Strin);
          ꥪ  StticText     ࠧ,  뢠
         TView.Init, ⥬ ⠭ ⥪  NewStr(AText).

         . ⠪ : TView.Init

 Load    constructor Load(varS: TStream);
           樠  ꥪ  TStaticText    
         ⮪. 뢠   TView.Load     ⠭  ⥪ 
          S.ReadStr.      ᯮ      ᮢ⭮     
         TStaticText.Store   ࠭    ⥭  ᪮
         ⥪⮢    ⮪.

         . ⠪ : TViewLoad, TStaticText.Store, TStream.ReadStr

 Done    destructor Done virtual;             ४뢠: 
         ᢮ ப  Text,  ⥬  뢠  TView.Done 
         ࠧ襭 ꥪ.

 Draw    procedure Draw; virtual;              ४뢠: 
          ப  ⥪   ,  ᫮ 
         室 ७.  Ctrl-M  ⥪  㪠뢠  
         砫  ப.  ᫨ ப 稭  Ctrl-C,宭
         業   .

 GetPalette  function GetPalette: PPalette; vrtual;
                                             ४뢠: 
         頥 㪠⥫    㬮砭 CStaticText.

 GetText  procedure GetText(varS: String); vrtual;
                                             ४뢠: 
         頥  S ப,   㪠뢠 Text.

 Store   procedure TStaticText.Store(var S: TStream)
         ࠭ ꥪ TStaticText  ⮪, 뢠 TViewStore
          S.WriteStr.  ᯮ ᮢ⭮   TStaticText.Store
          ࠭    ⥭ ᪮ ⥪⮢ 
           ⮪.

         . ⠪ : TStaticText.Load, TView.Store, TStream.WriteStr


 

         ᪨ ⥪   ᯮ         㬮砭
         CStaticText   ⮡ࠦ      6-      
         ⠭⭮ .

                            1
                           ͻ
              CtaticText   6 
                          ͼ
               ⥪ 


TStatusine                                                  Menus


                     Ŀ
                      TOject 
                     
                     Ŀ
                      TView  
                     
                   ͻ
                    TStatusLine 
                  ͼ

         ꥪ TStatusLine   -         ,   
         ⮡ࠦ   ࠭.   筠   ப   
         ⮡ࠦ ᯨ᮪   㯭    ,  ᢮
         , 奬  ,   ⥪騩   ०   ।஢   
         ᪠ 짮⥫.        ⮡妠       
        ⠭      易     ᯨ᮪,      ᯮ
         InitStatusLine    TApplication     ⮡ࠦ  
           ⥪ ᪠ ⥪饣  .
                ࠭,  ப  筮
         ਭ 㯯 TApplication.
         嫥 ப    -     ⨯ TStatusItem,
          ᮤঠ   ⮢ ப, ⮡ࠦ 
         ப ,     ,   뢠    祩
         襩 (筮 㭪樮쭠    Alt
         -)  , 㥬, ᫨ ⮡ࠦ ⥪
         ⬥祭誮    .
         ப     ⮡ࠦ    ⥪⭮-ਥ客
         ᪠.  ꥪ ப  ᮤন 易
         ᯨ᮪ ப     Defs  (⨯  TStatusDef),  
         ।    ⥪  寮᪠      ᯨ᮪
        ⮢ ,  ⮡ࠦ,    ⥪騩 ⥪
         ᪠ 室  ⮬ .  ஬  ⮣,  
         ⮡ࠦ ।夥   ப    ᮮ⢥娨  
         ⥪騬 ⥪⮬ ᪠.


 

 Items   Items: PStatusItem;                        쪮 ⥭
        ⥫   ⥪騩  易   ᯨ᮪   ᥩ   ⨯
         TStatusItem.

         . ⠪ : TStatusItem

 Defs    Defs: PStatusDef;                          쪮 ⥭
         ⥫   ⥪騩  易   ᯨ᮪   ᥩ  ⨯
         TStatusDef. ᮪   ᯮ짮 । ⥪騬
         ⥪⮬ ᪠.

         . ⠪     :      TStatusDef,      TStatusLine.Update,
         TStatusLine.Hint


⮤ 

 Init    constructor Init(var Bounds: TRect; ADefs: PStatusDef);
          ꥪ  TStatusLine    ࠧ஬  Bounds,  뢠
         TView.Init.  ofPreProcess    Options  ⠭,
         EventMask ⠭,   evBroadcast GrowMode
         ⠭  gfGrowLoY + gfGrowHiX +  gfGrowHiY. 
         Defs ⠭    ADefs.  ᫨  ADefs - nil,  Items
         ⠭     nil,     Items ⠭ 
         ADefs^.Items.

         . ⠪ : TView.Init

 Load    onstructor Load(var S: TStream)
          ꥪ TStatusLine  㦠       S,
         뢠 TView.Load, ⥬  Defs  Items  ⮪.

         . ⠪ : TView.Load, TStatusLine.Store

 Done    destructor Done; virtal;           ४뢠: 宣
         ᢮  Items  Defs  ꥪ  TStatusLine, ⥬
         뢠 TView.Done.

         . ⠪ : TView.Done

 Draw    procedure Draw; virtual;              ४뢠: 
          ப ,  뢮  宪  Text    
         ,  ⥬  寮᪠,  । 
          ⥪饣   ⥪    ᪠        
         ࠧ⥫.

        . ⠪ : TStatusLine.Hint

 GetPalette  function GetPalette: PPalette; virtual;
                                             ४뢠: 
         頥 㪠⥫    㬮砭 CStatusLine.

 HandleEvent  procedure HandleEvent(var Event: TEvent); vrtual;
                                              ४뢠: 
         ࠡ뢠 ᮡ, । ப , 뢠
         TView.HandleEvent, ⥬ ஢  3    ᯥ樠
         ᮡ⨩. ⬥⪨    誮,          
         אַ㣮쭨,  ⮬  , 
          ᮡ⨥  Eent.What,  ⠭  Comand,
          ⮣     .         
         ࠢ         KeyCode        ;
         ᮮ⢥⢨ 뢠  ᮡ⨥    Command  ⮣
         . 騥  ᮡ   cmCommand,  SetChanged
         ⠢ ப    ᮢ뢠   ᥡ,   ⮡
        ࠧ    稥   ,       
         ࠧ襭  饭.

         . ⠪ : TView.HandleEvent

 Hint    function Hint(AHelpCtx: Word): String; virtual;
                                              뢠: 
         ᥢࠪ ⮤    ப. 
               ४          ᯥ祭    ப
         ⥪⭮-ਥ஢寮᪠          㬥
         AHelpCtx.    ப   㤥  ᮢ    ப
          ᫥  ࠧ⥫.

         . ⠪ : TStatusLine.Draw

 Store   procedure Store(var S: TSream);
         ࠭ ꥪ   TStatusLine      ⮪   S,   뢠
         TView.Stoe, ⥬ 뢠  ।    
         娨஢ ᯨ᪨   ⮢    ⮪.  ࠭
         ꥪ   ⠭ ᯮ TStatusLine.Load.

        . ⠪ : TView.Store, TStatusLine.Load

 Update  procedure Update;
         롨ࠥ ४ Items  ᯨ᪠ Defs.  ᨬ 
         ⥪饣 ⥪ ᪠,  ⥬ 뢠 DrawView 
         ᮢ ப , ᫨  뫨 .

         . ⠪ : TStatusLine.Defs


 

         ப  ᯮ   㬮砭 CStatusLine
          ⮡ࠦ          2    7-    
        ⠭⭮ ணࠬ.


                  1    2    3   4    5    6
               ͻ
CtatusLine      2   3   4      6   7 
               ͼ
ଠ ⥪                      ࠭ ⪨
饭 ⥪              ࠭ 饭
⪨ ⥪      ࠭ ଠ


TStream                                                   Objects


                  Ŀ
                    TObject  
                  
                    
                     TStream
                    ͼ
                  Ŀ
          Ŀ    Ŀ
           TDosStream      TEmsStream 
              
          Ŀ
           TBufStream 
          

         TStream -    騩  ࠪ  ,  ᯥ稢
         ᪨ /    / ன⢠ .   宦
         ᮧ ஦ ꥪ ⮪,  ४뢠 㠫
         ⮤ GetPos,  GetSize,  Read,  Seek,  Truncate   Write.
         TurboVision    ஦ ⮪ TDosStream 
         EmsStream.   ஦  ਧ  ⮪  
         ⠪  ४ TStream.Flush.

 

 Status  Status: Integer;                             ⥭/
         뢠 ⥪騩  :

              13.1.  訡 ⮪.

     
      訡 TStream
     
     stOk           訡
     stError       訡 㯠
     stInitError    樠஢ ⮪
     stReadError   ⥭  殬 䠩
     stWriteError    ⮪
     stGetError    Get  ॣ஢ ⨯
     stPutError    Put  ॣ஢ ⨯
     

         嫨 Status  <>  stOK,    樨    ⮪  
         饭   ,   㤥 맢 Reset.

 ErrorInfo  ErrorInfo: Integer;                      ⥭/
        ন ⥫쭨⥫ ଠ   Status  
         stOK.     祭    Status:   stError,   stInitrror,
         stReadError, striteError,  ErrorInfo ᮤন   訡
         DOS    MS,   ᫨   ⠪   .    Status
         stGetError, ErrorInfo  ᮤন  IDE  ⨯  ꥪ  (
         ObjType  TStreamRec)  ॣ஢ ⨯ ꥪ.
          Status - stPutError, ErrorInfo ᮤন ᬥ饭 VMT
          ᥣ      (   VmtLink     TStreamRec) 
         ॣ஢ ⨯ ꥪ.


⮤ 

 CopyFrom  procedure CopyFrom(var S: TStream; Count: Longint);
          Count      ⮪  S    뢠騩  ⮪.
         ਬ:

         NewStream := New(TEmsStream, Init(OldStream^.GetSize));
         OldStream^.Seek(0);
         NewStream^.CopyFrom(OldStream, OldStream^.GetSize);

         . ⠪ : TStream.GetSize, TObject.Init

 Error   procedure rror(Code, Info: Integer); virtal;
                                             ४뢠: 
         뢠, ᫨    訡  ⮪.    㬮砭
         TStreamError ࠭ Code    Info      Status  
         ErrorInfo. ⥬,  ᫨  쭠 ६ StreamError
         nil,  뢠 楤,   StreamError. ᫥
          訡,    樨  ⮪ 
           ,  㤥 맢 Reset.

         . ⠪ : TStream.Reset, StreamError ६

 Flush   procedure Flush; virtual;            ४뢠: 
         ࠪ ⮤,   宫  ४, ᫨ 
        ஦ ⨯  ॠ   .      ⮤   
         ⠫  ,    ⥭  寨뢠
          뢮.  㬮砭 TStream.Flush 祣  .

         . ⠪ : TDosStream.Flush

 Get    function Get: PObject;
         ⠥ ꥪ  ⮪. ꥪ   ।⥫쭮
         ᠭ  ⮪ १ Ttream.Put.  Get 砫 ⠥ ID
         ⨯ ꥪ   (墮)      ⮪.   ⥬   孠室
         ᮮ⢥騩 ⨯ ꥪ,  ࠢ ID   ObjType
          ॣ஢    ⨯    ꥪ⮢    (.   ⨯
         TSteamRec).  뢠 堪 Load  ⮣ ⨯
         ꥪ   ᮧ    㧪  ꥪ.  ᫨ ID ⨯
         ꥪ, ⠭  ⮪,  ࠢ  0,  Get  頥
         㪠⥫ nil;  ᫨ ID  ⨯  ꥪ  ॣ஢
         (ᯮ RegisterType)  Get  뢠  TStream.Error   
         頥㪠⥫  nil;   Get 頥 㪠⥫
           ᮧ ꥪ.

         . ⠪ :  TStream.Put,  RegsterType,  TStreamRec, Load
         ⮤

 GetPos  function GetPos: Longint; virtual;   ४뢠: ᥣ
         頥 ⥪      ⮪.    ࠪ
         ⮤  ᥣ ४.

         . ⠪ : TStream.Seek

 GetSize  function GetSize: Longint; virtual; 뢠: ᥣ
         頥 ࠧ ⮪.   ࠪ ⮤   
         ४뢠.

 Put     procedure Put(P: PObject);
         뢠 ꥪ  ⮪.  ꥪ     
         ⮪, ᯮ   TStream.Get.   Put   砫   室
         ॣ樮   ⨯  ⮣   ꥪ,   孨
         ᬥ饭 VMT    ꥪ             VmtLink    
         ॣ஢ ⨯ ꥪ⮢  (.  ⨯  TStreamRec).
         ⥬姠뢠    ID    ⨯      (   ObjType
         ॣ樮 )  ⮪,   뢠 ⮤
         Store ⮣ ⨯ ꥪ   ꥪ. ᫨ 㬥
         , ।  Put - il,  Put 뢠  ⮪  墮,
         ᮤঠ饥 0.  ᫨  ⨯  ꥪ      ॣ஢
         (ᯮ RegisterType),  Put  뢠  TSteam.Error   
         祣    ⮪.

         . ⠪ :  TStream.Get,  RegisterType, TStreamRec, Store
         ⮤

 Read    procedure Read(var Buf; Count: Word); virtal;
                                             ४뢠: ᥣ
          ࠪ  ⮤      ४뢠    
         ஦ ⨯. Read   Count   ⮪
          Buf  ६ ⥪ 寮⮪   Count  .
         ᫨  ந諠  訡,  Read    뢠  Error  
          Buf Count ⠬, ࠢ묨 0.

         . ⠪ : TStream,Write, TStream.Error

 ReadStr  function ReadStr: PString;
         ⠥ 宪      ⥪饩   樨  ⮪,  
         㪠⥫ PString.  TStream.ReadStr  뢠  GetMem  
         । (Length+1)   ப.

         . ⠪ : TStream.WriteStr

 Reset   procedure Reset;
         뢠 訡筮 ᫮ ⮪, ⠭ Status 
         rrorInfo    0.     ⮤      த
         ࠡ ⮪  ᫥  訡筮  樨,    
         ᪮४஢.

         . ⠪ : TStream.Status, TStream.ErrorInfo, sfXXXX 
         訡

 Seek  procedure Seek(Pos: Longint); virtual; ४뢠: ᥣ
          ࠪ  ⮤      ४뢠    
         ⮬. TStream.Seek ⠭ ⥪   os
         , 稭  砫 ⮪. 砫 ⮪ -  0.

         . ⠪ : TStream.GetPos

 Truncate  procedure Truncate; virtual;       ४뢠: ᥣ
          ࠪ  ⮤      ४뢠    
         ⮬. TStream.Truncate  㤠    ⮪ 
         ⥪饩 樨  .

         . ⠪ : TStream.GetPos, TStream.Seek

 Write   procedure Write(var Buf; Count: Word); virtual;
                                             ४뢠: ᥣ
          ࠪ  ⮤      ४뢠    
         ⮬. Write  뢠  Count     Buf   
         ६頥 ⥪   ⮪    Count  .  ᫨
          訡, Write  뢠 Error

         . ⠪ : TStream.Read, TStream.Error

 WriteStr  procedure WriteStr(P: PStrin);
         뢠 ப ^  ⮪, 稭  ⥪饩 樨.

         . ⠪ : TStream.ReadStr


TStringColletion                                          Objects


                 Ŀ
                  TObject 
                 
               Ŀ
                TCollection 
               
             Ŀ
               TSortedCollction 
              
              ͻ
               TStringCollection 
              ͼ
             
              TResourceCollction 
             

         TStringCollection ஦        TSortedCollection    
         ॠ ஢    ᯨ   ASCII   ப.   ⮤
         TStringCollection.Compare ४뢠         
         筮 ᨪ᪮  㯮冷祭 ப ASCII 
          ४ ompare   㣮 㯮央祭,
         ⠪   ᪨ ஢ ᨬ

⮤ 

 Compare  function Copare(Key1, Key2: Pointer): Integer; virtual;
                                             뢠: 
         ࠢ ப Key1^  Key2^ : 頥 -1, ᫨ Key1
         < Key2; 0, ᫨ Key1 = Key2  +1, ᫨ Key1 > Key2.

         . ⠪ : nTStringCollectionSearch

 FreeItem  procedure FreeItem(Item: Pointer); virtual
                                              ४뢠:吥
          ப Item^    ஢   樨   
         ᢮ ப.

 GetItem  function etItem(var S: TStream): Pointer; virtual;
                                              ४뢠: 
          㬮砭 ⠥ ப  TStream, 뢠 SReadStr.

         . ⠪ : TStream.ReadStr

 PutItem  procedure PutItem(var S: TStream; Item: Pointer);
                          virtual;            ४뢠: 
         㬮砭 뢠 ப Item^  TStream, 뢠S.
         WriteStr.

        . ⠪ : TStream.WriteStr


TStringList                                                Objects


                   Ŀ
                     TObject  
                   
                   Ŀ
         ͻ   Ŀ
          TStringList     TStrListMaker 
         ͼ   

         TStringList 央⠢ 堭  㯠   ப,
         ࠭騬   ⮪.   ப,  ࠭  ᯨ᪥
         ப  㭨 ஬ (祬)  0
          65,535. ᪨ ப   , 祬 
         ப, ᪮ ப ࠭  ⮪,    .
         ஬ ⮣,  ᯨ᪨  ப   ஡ 宩
         ணࠬ   모,  ᪮  ப    "஥"   
         ணࠬ.
         TStringList  ⮤ ⮫쪮  㯠  ப;夫
         ᮧ ᯨ᪠    ப             짮
         TStrListMake.
         ⨬,   TStringList    TStrListMaker   夨 ID
         ⨯ ꥪ ( ObjType  TStreamRec)   ᫥⥫쭮,
            ॣ஢  ᯮ짮 ६ 
          ணࠬ.


⮤ 

 Load    constructor Load(var S:TStream)
         㦠  ᯨ᪠ ப  ⮪ S   ࠭ 뫪
          S ⠪,  TStringLis.Get    ⮪ 
         ⥭ .
         ,   TStrigList    ॣ஢,  寮
         RegisterType(RStringList),    ,    
         ᯨ᮪ ப  (ᮧ   ᯮ짮 TStrListMaker 
         TResourseFile.Put)  䠩 

         ResFile.Init(New(TBufStream, Init('MYAPP.RES', stOenRead,
                  1024));
         Strings := PStringList(ResFile.Get('Strings'));

         . ⠪ : TStrListMaker.Init, TStringList.Get

 Done    destructor Done; virtual;           ४뢠: 
         ᢮ , ।  ᯨ᮪ ப.

         . ⠪ : TStrListMaker.Init, TStringList.Done

 Get     function Get(Key: Word): String;
         頥 ப,   १ Key,   ப,
         ᫨  ப   Key. ਬ

         P := @FileName;
         FormatStr(S, Strings^.Get(sLoadingFile), P);

         . ⠪ : TStringListMaker.Put


TStrListMaker                                              Objects


                   Ŀ
                     TObject  
                   
                 Ŀ
       ͻ   Ŀ
        TStrListMaker     TStringList 
       ͼ   

         TStrListMaker -  ⮩ ⨯ ꥪ,  ᯮ 
         ᮧ ᯨ᪠ ப,  ᯮ  TStringList.
         騩 ࠣ    뢠     ᮧ   
         ࠭ ᯨ᮪ ப  䠩 

         const
           sInformation = 100;
           Warning     = 101;
           Error       = 102;
           sLoadingFile = 200;
           SavingFile  = 201;

         ar
           ResFile: TResoureFile;
           S: TStrListMker;

         begin
           RegisterType(RStrListMaker);
           ResFile.Init(New(TBufStream, Init('MYAPP.RES', stCrate,
                        124)));
           S.Init(16384 256);
           S.Put(sInformation, 'Information');
           S.Put(sWarning, 'Warning');
           S.Put(sError, 'Error);
           S.Put(sLoadingFile, 'Loading file #s.');
           S.Put(sSavingFile, 'Saving file #s.');
           ResFile.Put(@S,'Strings');
           SDone;
           ResFile.Done;
         end;


⮤ 

 Init    constructor Init(AStrSize, AIndexSize: Word);
             ᯨ᮪ ப ࠧ AStrSize  ᮬ
          AIndexSize ⮢.   ப      ᮢ
          ࠧ ।  .
         AStrSize   筮     ࠭  
         ப, 塞  ᯨ᮪ ப   ப 
         ᢮   1 .
              ப       ᯨ᮪   ப   (ᯮ
         TStrListMaker.Put) ந      ப.   ப  
         ᫥⥫묨媫砬    (⠪      sInfrmation,
         sWarning  sError   ।饬  ਬ)  寨뢠  
          奪       16.  AIndexSize    
         筮 訬        ᣥ஢
          ᥩ.  奭   6 .

         . ⠪ : TStringList.Load, TStrListMaker.Done

 Done    destructor Done; virtual;
         ᢮ , । ⨬ ꥪ⮬.

         . ⠪ : TStrListMakr.Init

 Put     procedure Put(Key: Word; S: String);
          String  ᯨ ப (  ᫮ Key).

 Store   procedure Store(var S: TStream);
         뢠 ᯨ᮪ ப  ⮪.


TTermnal                                                 TextView


                  Ŀ
                   TObjec 
                  
                   Ŀ
                    TView 
                  
                Ŀ
                 TScroller 
                
               Ŀ
                TTextDevice 
               
                 ͻ
                  TTerminal 
                 ͼ

         TTerminal ॠ  ""  ନ     ਧ堭
         ⥭     ப.   㬮砭 -  横᪨
          ࠧ஬ 64 .


 

 BufSize  BufSize: Word;                             쪮 ⥭
           ନ  .

 Buffer  Buffer: PTerminalBuffer;                     쪮 ⥭
         뢠     ନ.

 QueFront  QueFront: Wod;                            쪮 ⥭
         饭 ( ) ࢮ       
         ନ.

 QueBack  QueBack: Wor;                              쪮 ⥭
         饭 (  )  ᫥  ,     
          ନ.


⮤ 

 Init    constructor    Init(var    Bounds:  TRect;    AHScrollBar,
                         AVScrollBar: PScrollBar; ABufSize: Word;
                                             ४뢠:刭
          ꥪ TTerminal   Bounds, ਧ⠫쭮 
         ⨪쭮 ᠬ  ஫      ஬,   뢠
         TTextDevice.Init  㬥⠬ Bound  ஫ࠬ, ⥬
         ᮧ  (㪠뢠  Buffer)   BufSize ࠢ
         ABufSize. GrowMode    堢       gfGrowHiX   +
         gfGrowHiY. QueFront    QueBack  樠     0,
         㪠뢠    ⮩  .    뢮    砫
           (0, 0).

         . ⠪ : TScroller.Init

 Done    destructor Done; virtual;            ४뢠: 
         ᢮        뢠   TTextDevice.Done   
         ᢮ ꥪ

         . ⠪ : TScroller.Done, TTextDevice.Done

 BufDec  procedure BufDec(var Val:Word);
         ᯮ  樨 ᬥ饭 ।  楢
         ७ᮬ: ᫨ Val = 0,  Val ⠭  BufSize-1;
          Val 㬥蠥.

         . ⠪ : TTerminal.BufInc

 BufInc  procedure BufInc(var Val Word);
         ᯮ  樨 ᬥ饭 ।  楢
         ७: 㢥稢  Val    1,  ᫨  Val >= BufSize,
         Val⠭  0.

         . ⠪ : TTerminal.BufDec

 CalcWidth  function CalcWidth: Integer;
         頥 嫨 ᠬ  ப  ⥪⮢ .

 CanInsert  function CanInsert(Amount: Word): oolean:
         頥 True, ᫨ ᫮ ,   Amount, 
         ⠢    㭨⮦ 孥 ப.

 Draw    procedure Draw; virtual;              ४뢠: 
         뢠    ஫    TTerminal        
         ᮢ. ਬ,    ⬥祭  ஫,
           ࠧ    ,    
        祭 Delta        ⥪  ਢ 
         ஫.

 NextLine  function NextLine(Pos: Word): Word;
         頥ᬥ饭        砫  ப,  ஥
         ᫥  樥 Pos.

         . ⠪ : TTerminal.PrevLines

 PrevLines  function PrevLines(Pos: Word; Lines: Word): Word;
                                             ४뢠: 宣
         頥 ᬥ饭        砫  ப,  ஥
         ⮨ । 樥 Pos.

 StrRead function StrRead(var S: TextBuf) : Byte; virtual;
                                             ४뢠: 
         ࠪ ⮤,  騩  0.     ४
        奣,  ᫨ , ⮡ ஦ ⨯   ப
          ⥪⮢ .

 StrWrite  procedure StrWrite(varS:TextBuf; Count: Byte); virtua;
                                              ४뢠 
         ⠢ Coun   ப   ⥪,         S,   
         ନ .   ⮤ ࠢ   ॡ㥬
         嫨, ᮢ뢠         
         DrawView.

         . ⠪ : TView.DrawView

 QueEmpty  function QueEmpty: Boolean;
        頥 True, ᫨ QueFront ࠢ QueBack.

         . ⠪ : TTerminal,QueFront, TTerminal.QueBack


 

         ਬ ꥪ  ᯮ         㬮砭
         CScroller   ⮡ࠦ  ⮢  6    7    嫨
         ⠭⭮ ணࠬ.


                      1   2
                     ͻ
         CScroller    6  7 
                     ͼ
         ଠ     ᢥ祭


TTxtDevice                                               TextView


                  Ŀ
                   TObect 
                  
                   Ŀ
                    TView 
                   
                 Ŀ
                  TScroller 
                 
                ͻ
                 TTextDevice 
                
                 
                  TTerminal
                 

         TTextDevice -  ஫㥬 TTY ⨯ ᬮ ⥪/
         ࠩ ன⢠. ஬   ⮤, ᫥㥬 
         TScroller, TTextDevice  ।  㠫 ⮤ 
         ⥭    ப        ன⢠.  TTextDevice
                     ஦  ॠ
         ନ ࠩ஢. TextDevice ᯮ ࠪ
          ࠪ TScroller.


⮤ 

 StrRead  function StrRead(var S:TextBuf): Byte;virtual;
                                              ४뢠: 
         ࠪ ⮤,  騩  㬮砭 0.  
         奪      ஦ ⨯  ⥭ ப
         ⥪⮢ ன⢠  S.    ⮤  頥  ᫮
         ⠭ ப.

 StrWrite  procedure StrWrite(var : TextBuf; Count: Byte);
                            virtual;        ४뢠: ᥣ
         ࠪ ⮤   姠  ப   ன⢮. 厭
          ४뢠      ஦   ⨯.   ਬ,
         TTerminal.StrWrite ⠢  Count ப ⥪, 
          S  ନ   ᮢ뢠  .


 

         ꥪ ⥪⮢  ன⢠   ᯮ      
         㬮砭 CScroller   ⮡ࠦ    6    7 奬
          ⠭⭮ ணࠬ.


                      1   2
                     ͻ
         CScroller    6  7 
                     ͼ
         ଠ     ᢥ祭


TView                                                        Views


                        Ŀ
                        TObject 
                       
                      ͻ
                         TView    
                      Ѽ
        ٳĿ
                ٳĿ        
                ٳĿ        
    Ŀ   ٳĿ    Ŀ
     TGroup    ٳĿ     Frame 
       ٳĿ    
         ٳ  Ŀ  Ŀ
    Ŀ     TButton      Ŀ
     TCluste           THistory 
      Ŀ           
          ٳ Ŀ  Ŀ
    Ŀ    TScroller     Ŀ
     TMenuiew        TScrollBar 
             ٳ  
           ٳ Ŀ  Ŀ
    Ŀ   TInputLine     Ŀ
     TBacGround        TListViewer 
                        
             Ŀ   Ŀ
              TStatusLine     TStatcText 
                

          

         uses Views;

          ணࠬ,   ᯮ  ꥪ  TView,  TFrame,
         ScrollBar, TScroller,   TListViewer,   TGroup,   TWindow.
        㤭 ।⠢ ணࠬ  Turbo Vision,    
         ᯮ  ꥪ
          ணࠬ  Turbo Vision  ।  ᮧ  寫
         ꥪ⮢ TView.    ꥪ  TView ᯥ稢 ᭮
           ⮤ ᢮ ⮬.


 

 Owner   Owner: PGroup;                              쪮 ⥭
         뢠  ꥪ TGroup,    ⨬  娤
         ⮬. ᫨  nil,      .
            ⮡ࠦ       
           㤥 ᥪ  אַ㣮쭨 .

 Next    Next: PView;                                쪮 ⥭
         뢠  ᫥騩 ࠢ    Z-浪
         ᫨   ᫥  ,  Next  㪠뢠 Owner
         ࢮ .

 Origin  Origin: TPoint                              쪮 ⥭
         न (X,  Y)  孥  㣫  
         ⭮⥫쭮 Origin .

         . ⠪ : MovTo, Locate

 Size    Size: TPoint;                               쪮⥭
           .

         . ⠪ : GrowTo, Locate

 Cursor  CurSor: TPoint;                             쪮 ⥭
          ⭮       .
            ⮫쪮   ᫨         奭
         (sfFocused)   祭 (sfCursorVis).  ଠ
          ન   (। sfCursoIns).

         . ⠪    :    SetCursor,    ShowCursor,    HideCursor,
         NormalCursor, BlockCursor

 GrowMode  GrowMode: Byte;                            ⥭/
         ।,    㤥 㢥稢, 
           ࠧ.  GrowMode । 
           ᪠:

            . 13.1. ⮡奭   GrowMode.

              GrowMode Ŀ
            msb           lsb
                      gfGrowll = $0F
             ϻ
             Ѽ
                   gfGrowLoX = $01
                      gfGrowLoY = $02
       ।    gfGrowHiX = $04
                      gfGrowHiY = $08
                     gfGrowRel = 10


         ਬ: GrowMode := gfGrowLoX or gfGrowLoY;

         . ⠪ : gfXXXX  ⠭ grow mode

 DragMode  DragMode: Byte;                            ⥭/
         ।         ६饭
         誮.
          DragMode ।:

             . 13.2. ⮡ࠦ   DragMode.

              DragMode Ŀ
             msb           lsb
               dmLimitAll = $F0
             ͻ
             Ѽ
                        dmDragMove = $01
                      dmDragGrow  $02
                  dmLimitLoX = $10
                dmLimitLoY = $20
                dmLimitHiX = $40
             dmLimitHiY = $80

         ᪨ DragMode ।   "⠭  DragMode  dmXXXX"
          14.

         . ⠪ : TView.DragView

 HelpCtx  HelpCtx: Word;                             ⥭/
         ⥪ ᪠     .      
          ⨢,   宫 ।⠢ ⥪ 姪
         ணࠬ, ᫨  ⥪ ᪠    hcoContext
         ( ⮬ 砥  ⥪ ᪠).

         . ⠪ : TView.GetHelpCtx

 State   State: Word;                                쪮 ⥭
         ﭨ    ।⠢  ஬    
          State.    ⮤ TView ஢ / 
          State,   뢠    TView.etState.    TView.GetState
         (AState) 頥  True,  ᫨  State   
         ࠢ AState.      State   ᪨   ।嫥
         ⠭⠬, 堭묨     "⠭  䫠  ﭨ
         sfXXXX"  14.

 Options  Options: Wor;                              ⥭/
          Options ।  壮 .
          Options ।:

                      . 13.3.   Optins.

     TView.Options Ŀ
    msb                          lsb
                  ofentered    = $0300
    ͻ
    Ѽ
                ofSelectable  = $0001
                         ofTopSelect   = $0002
   ।          ofFirstClick  = $0004
                       ofFramed      = $0008
                      ofPreProcess  = $0010
                     ofPostProcess = $0020
                    ofBuffered    = $0040
                   ofTileable    = $0080
                  ofCenterX     = $0100
                 ofCenterY     = $0200

         ⠫쭮 ᠭ 䫠 . "⠭ 䫠 権
         ofXXXX"  14.

 EventMask  EventMask: Word;                         ⥭/
         EventMask -   ᪠,   ।, 媠
          ᮡ⨩   ᯮ  ⮬. 
         㬮砭 ventMask  ࠧ蠥  evMouseDown,  evKeyDown  
         evCommand. 祭  EventMask  ࠢ  $FFFF ⠢
            ॠ஢        ᮡ⨩;  
         祭  0  ਢ    ⮬,        
         ॠ     ᮡ.     ⠫쭮   孨
         ᮢ ᮡ⨩ . "⠭ ᮡ⨩ evXXXX"  14.

         . ⠪ : andleEvent ⮤


⮤ 

 Init    constructor Init(var Bouns: TRect);  ४뢠: 
          ꥪ   TView     אַ㣮쭨  Bounds. Init
         뢠 TObject.Init    ᮧ      TView  
         祭ﬨ:

     
     Owner      nil
    Next       nil
     Origin     (Bounds.A.X, Bounds.A.Y)
    Size       (Bounds.B.X - Bounds.A.X, Bounds.B.Y - Bounds.A.Y)
    Cursor     (0, 0)
     GroMode   0
     DragMode   dmLimtLoY
     HelpCtx    heNoContext
     State      sfVisible
    Options    0
     EventMask  evMouseDown + evKeyDown + evComand
     

         ⨬,    TObject.Init     ﬨ    
         ⮬ TView.    ᥣ    뢠    TView.Init    
         樠樨  .

        . ⠪ : TObject.Init

 Load    constructor Load(var S: TStream);     ४뢠: 
          ꥪ TView  㦠   ⮪  S.  
         , ⠥    ⮪   筮 ᮮ⢥⢮
         ࠧ ,  ᠭ  ⮪  ⮤  Store.  ᫨
             ᮤন  㪠奫    ࠢ  
         , Load    ᯮ짮  GetPeerViewPtr   
         ⥭  㪠⥫.句४ ࠪ Load 夠
          뢠 ࠪ Load ᢮ ।.
          㬮砭  TView.Load⠭  Owner  Next
         nil  ⠥ ⠢訥   ⮪.

         . ⠪ : TView.Store, TStream.Get, TStream.Put

 Done    destructor Done; virtual;             ४뢠: 
         뢠    ⥬, ᫨   ,
        㤠   㯯.

 HandleEvent  procedure HandleEvent(var Event: TEvent); virtul;
                                             ४뢠 ᥣ
         ࠫ ⮤,   १       ॠ    
         ࠡ⪠ ᮡ⨩ Turbo Vision.   Wht ࠬ Event
         ᮤন  ᮡ (evXXXX)   ⠢訥    Event
        뢠 ᮡ⨥.  㪠,   ࠡ⠫ ᮡ⨥,
         HandleEvent  뢠 ClearEvent.  HandleEvent 
         ᥣ ४뢠  ஦ ꥪ ⨯.
         TView.HandleEvent 뢠     ᮡ     evMouseown
         ᫥騬 ࠧ:   ᫨           ࠭
         (sfSelected)   饭  (sfDisabled)    ᫨  
          -  롨ࠥ  (ofSelectable),   
         롨ࠥ ᥡ,   뢠   Select.  㣨   ᮡ    
         TView.HandleEvent  ࠡ.

         . ⠪ : TView.ClearEvent

 BlckCursor procedure BlckCursor;         ४뢠: 
         ⠭ sfCursorIns,  ⮡     
        .    㤥      ⮫쪮  ᫨  ⠭
         sfCursorVis (   ⠪  ).

        . ⠪ :  sfCursorIns, sfCursorVis, TView.NormalCursor,
         TView.ShowCursor, TView.HideCursor

 CalcBounds procedure CalcBounds(var Bounds: TRct; Delta: TPoint);
                               virtual;       ४뢠: 
                   ࠧ,  
         뢠 CalcBounds  CangeBounds    .
         CalcBounds         ࠭   娤
           ᭮ Delta,   ஥  ࠧ 
         ,  頥  ࠭  ounds.
         TView.CalcBounds   ࠭, ᯮ 䫠,
            TView.GrowMode.

         . ⠪ :  TView.GetBounds,  TView.ChangeBounds,  gfXXXX
         ⠭  grow mode

 ChangeBounds  procedure ChangeBounds(var Bounds: TRect); virtua;
                                              ४뢠 
           ࠭   (  Origin  
         Size)  אַ㣮쭨,   ࠬ宬 Bounds. ᫥
          ࠭ ChangeBounds  ᮢ 
         . ChangeBounds   뢠   ࠧ묨   ⮤
         TView,    뢠 אַ.

         . ⠪ : TView.Locate, TView.MoveTo, TView.GrowTo

 ClearEvent  procedure ClearEvent(var Event: TEvnt);
         ⠭ ⮤ ᯮ  HandleEvent  㪠,
                 ᯥ譮    ࠡ⠫    ᮡ⨥.
         ⠭ Event.What    evNthing    Event.InfoPtr 
         @elf.

         . ⠪ : HandleEvent ⮤

 CommandEnabled  function CommandEnabled(Command: Word): Boolean;
         頥 True,  ᫨  Command ࠧ襭,   -
        False. ⨬,               쭮
         ﭨ,       ࠧ 室
         ;  ,     頥    奤饥
         쭮 ﭨ, ਣ    
         ⠭墫.

         . ⠪  :  TView.DisableCommand,   TView.EnableCommand,
         TView.SetCommands

 DataSize  function DataSize: Word; virtual;   ४뢠: 
         DataSize   ࠧ    ⠥    
         뢠       SetData  GetData.
         堭     筮  ᯮ   ⮫쪮   
          ,    ॠ  ࠢ孨
           .

         . ⠪ : TView.GetData, TView.SetData

 DisableCommands  procedure DisableCommands(Commands: TCommandSet);
         頥 , 㪠  㬥 Commands.

         . ⠪  :  TView.CommandEnabled,  TView.EnableCommans,
         TView.SetCommands

 DragView procedure DragView(Event: TEvent; Mode: Byte; var Lmits:
                            TRect; MinSize, MaxSize: TPint);
         ६頥 誮      ,   ᯮ   ०
         ६饭,     䫠  dmXXXX    Mode.  Limits
         㪠뢠 אַ㣮쭨 ( न⭮ ⥬ )
          ண  ६  ,   Min
          Max  㪠뢠       ᨬ   ࠧ
           ,     ਭ.  娥,
         ਢ饥   樨  ६饭  誮,    
         Event    ࠧ祭 ६饭 誮  ᯮ짮
          .

         . ⠪ : TView.DragMode, dmXXXX  ⠭ drag mode

 Draw    procedure Draw; virtual;             ४뢠: ᥣ
         뢠,          ᮢ
         ᥡ. Draw  뢠    .
          ⮤  ᮮ⢥⢥ ४뢠  
         ஦ ꥪ.   Draw   ।   뢠  אַ,
         ᪮   䥪⨢ ᯮ짮 DrawView, 
          ⮫쪮   ,..  
                          ࠭.   
         室 Draw  맢 GetClipRect  祭
         אַ㣮쭨,   室  ᮢ   ⥬
         ᮢ ⮫쪮  嫠.  ᫮  ⮢
           ⥫쭮  ந⥫쭮.

         . ⠪ : TView.DrawView

 DrawView  procedure DrawView;
         뢠 Daw,   ᫨   TView.Exposed   頥   True,
         㪠뢠,      (.  sfExposed).
            맢  DrawView  (    Draw),      
         室 ᮢ     ᫥ ,
         ஥     ⮡ࠦ.

         . ⠪ : TView.Draw, TGroup.ReDraw, TView.Exposed

 EnableCommands  procedure EnableCommands(Commands: TCommandSet);
         蠥    㬥 Commands.

        . ⠪   :   TView.DisableCommands,  TView.GetCommands,
         TView.CommandEnabled, TView.SetCommands

 EndModal  procedure EndModal(Command: Word);virtual;
                                            ४뢠: 
          ⥪饥   쭮   ﭨ      頥
         Comand,   १  맮 㭪樨 ExecView,  
         ᮧ  쭮 .

         . ⠪     :      TGroup.ExecView,      TGroup.Execute,
         TGroup.EndModal

 EventAvail  function EventAvail: Boolean;
         頥 True, ᫨ ᮡ⨥ 㯭  GetEvent.

         . ⠪     :     TView.MouseEvent,      TView.KeyEvent,
         TView.GetEvent

 Execute  function Execute: Word; virtual;     ४뢠: 
         뢠   TGroup.ExecVie         
         ⠭ .   ᫨       ࠧ
         쭮 믮,      ४  Execue  
         믮 横  ᮡ⨩.  ⮬ Execute ⠭
         祭, 頥  TGroup.ExecView
         TView.ExecView  頥 cmCancel.

         . ⠪ : sfModal, TGroup.Execute, TGroup.ExecView

 Exposed  function Exposed: Boolean;
         頥 True,  ᫨     夭
          ࠭.

        . ⠪ : sfExposed, TView.DrawView

 GetBounds  procedure GetBounds(var Bounds: TRect;
         頥   ६  Bounds  ࠭  אַ宫쭨
              न⭮  ⥬  .
         Bounds.A ⠭        Origin,         Bounds.B
         堢  Origin + Size.

         . ⠪ :  TView.  Origin, TView.Size, TView.CalcBouns,
         TView.ChangeBounds, TView.SetBounds, TView.GetExtent

 GetClipRect  procedure GetClipRect(var Clip: TRect);
        頥   ६  lip   אַ㣮쭨,
          ॡ ᮢ  맮 Draw.   妭
          ⮢  Draw  ᯮ짮 GetClipRect 
         ⥫쭮 襭 ந⥫쭮.

         . ⠪ : TView.Draw

 GetColor  function GetColor(Color: Word): Word;
         ⮡ࠦ   襣  襣  Color
          䨧᪨  ਡ  ᨬ,  室  १   
               楢.

         . ⠪ : TView.GetPalette

 GetCommands  procedure GetCommands(var Commands: TCommndSet);
         頥  Commands ⥪騩  .

         . ⠪ :  TView.CommandsEnabled,  TView.EnableCommnds,
         TView.DisableCommands, TView.SetCommands

 GetData  procedure GetData(var Rec); virtual; ४뢠: 
          ஢ DataSize         
             Rec.   堭   ᥩ     筮
         ᯮ ⮫쪮   ,  ॠ
          ࠢ   
          㬮砭 TView.GetData 祣  .

         . ⠪ : TView.DataSize, TView.SetData

 GetEvent  procedure GetEvent(var Event: TEvent); virtual;
                                              뢠: 
         頥 ᫥饥   㯭   ⨥        TEvent.
        傮頥 evNothing,    ᫨   ᮡ⨥   㯭.   
        㬮砭    뢠   GetEvent       
         .

        呬. ⠪     :      TView.EvenAvail,      TProgram.Idle,
         TView.HandleEvent, TView.PtEvent

 GetExtent  procedure GetExtent(var Extent: TRect);
         頥    ६  Extent  אַ㣮쭨  壮
         . Extent.A⠭    (0,0),    xtent.B
         ⠭  Size.

         . ⠪ :  TView.Origin,  TView.Size,  TView.CalcBounds,
         TView.ChangeBounds, TView.SetBounds, TView.GetBounds

 GetHelpCtx  function GetHelpCtx: Word; virtal;
                                              ४뢠: 
           ⥪ ᪠  .
          㬮砭  TView.GetHelpCtx  頥 祭  
         HelpCx  頥 hcDragging,  ᫨    
         ६頥 誮 (. sfDraggng).

         . ⠪ : HelpCtx

 GetPalette  function GetPalette: PPalette; virtual;
                                            ४뢠: ᥣ
            㪠⥫     奬
          nil, ᫨     . GetPalette
         뢠    GetColor,   WriteChar     WriteStr   
         ८ࠧ ᮢ     䨧᪨   ਡ
         ᨬ.   頥  祭 nil ࠭ 梥
         ⨬  ⮬  ந.  GetPalette  
         ᥣ ४뢠  ஦ ⨯ ꥪ⮢.

         . ⠪ : TView.GetColor, TView.WriteXXXX

 GetPeerViewPtr  procedure GetPeerViewPtr(var S: TStream; var P);
        㦠 㪠⥫  ࠢ     ⮪
         S.     嬥 -      
         楬,     ⮣    ; 孠ਬ
         TScroller ন  2 ࠢ   HScrollBar 
         VScrollBar. GetPeerViewPtr    짮  ⮫쪮
          ࠪ  Load   ⥭ 祭 㪠⥫,
          뫨 ᠭ  맮 PutPeerViewPtr   ⮤
         Store. 㦥   祭   ⢨⥫
           ,         墥
           Load; ᫥⥫쭮 뫪  㪠⥫
          ࠢ    ࠪ Load  
         ४⭮ 祭.

         . ⠪ : TView.PutPeerViewPtr, TGroup.Load, TGroup.Store

 GetState  function GetState(AState: Word): Boolean;
         頥 True,  ᫨ ﭨ   State  ⠭  
          State.

         . ⠪妥: State, TView.SetState

 GrowTo  procedure GrowTo(X, Y: Ineger);
         稢   㬥蠥          
         ࠧ, ᯮ 맮 TView.Locate.

         . ⠪ : TView.Origin, TView.Locate, TView.MoveTo

 Hide    procedure Hide;
           , 뢠 SetState  ⪨ 䫠
        sf Visible  State.

         . ⠪ : sfVisible, TView.SetState, TView.Show

 HideCursor  procedure HideCursor;
          ,   sfCursorVis  State.

        . ⠪ : sfCursorVis, TView.ShowCursor

 KeyEvent  procedure KeyEvent(var Event: TEvet);
         頥  ६ Event ᫥饥 ᮡ⨥ eKeyDown.
             㣨 ᮡ    ,  
         ᮡ⨥    㤥 㯭

         . ⠪ : TView.GetEvent, TView.EventAvail

 Locate  procedure Locate(var Bounds: TRect);
          ࠭        Bounds.  
          ᮢ뢠       .  Locate
         뢠 SizeLimits        墥ન,          
        Bounds ࠢ,    ⥬  뢠   ChangeBounds   
          ࠭  ᮢ뢠  .

         . ⠪ : TView.GrowTo, TView.MoveTo, TView.ChangeBounds

 MakeFirst  procedure MakFirst;
         ६頥     設 ᯨ᪠ ⮢
          맮          MakeFirst          ᮮ⢥
         PutInFrontOf(Owner^.First).

        . ⠪ : TView.PutInFrontOf

 MakeGlobal  procedure MakeGlobal(Source: TPoint; var DestTPoint);
         ஡ࠧ 宮न    窥   Soure      
         ( )        (࠭)    頥
         १   Dest.  Source    Des         
         ६.

         . ⠪ : TView.MakeGlobal, TView.MouseInView

 MakeLocal procedure MakeLocal(Source: TPoint; var Dest:TPoint);
         ८ࠧ न 窨 Source  士 (࠭)
            (  )    頥 १ 
         Dest.     ८ࠧ堭     Event.Where   
         ᮡ⨨ evMouse       न    .
         ਬ MakeLocal(Event.Where, MouseLoc).

        . ⠪ : TView.MakeGlobal, TView.MouseInView

 MouseEvent  function  MouseEvent(var  Event: TEvent;  Mask: Word):
                                Booean;
         頥 ᫥饥 ᮡ⨥  誨   Event. 頥
         True, ᫨  饭 ᮡ⨥   㬥 Mask,  
         False, ᫨    ᮡ⨥   evMouseUp.      ⮤
           ஢ ,     ,
        ਬ    ⬥⪨    誮    ⥪⮢
         ।.
         ਢ ࠣ ணࠬ HandleEvent,  ᫥ 
         誮  ஬  .

         procedure TMyView.HandleEvent(var Event: TEent);
         begin
           TView.HandleEvent(Event);
           case Event.What of
             evMouseDown:
               begin
                 rpeat
                   MakeLocal(Event.Where, Mouse);
                  SetCursor(Mouse.X, ouse.Y);
                 until not MouseEvent(Event, evMouseMve);
                 ClearEvent(Event);
               end;
               ...
           nd;
         end;

         . ⠪ : EventMasks, TView.KeyEvent, TView.GetEvent

 MouseInView  function MouseInView(Mouse: TPoint): Boolean;
         頥 True,   ᫨   㬥   Mouse   (   
          न)   .

         . ⠪ : TView.MakeLocal

 MoveTo  procedure MoveTo(X, Y: Integer);
         ६頥 Origin   (X,  Y)  ⭮⥫쭮  
         壮 . Size    .

         . ⠪ : Origin, Size, TView.Locate, TView.GrowTo

 NextVie  function NextView: PView;
        頥 㪠⥫   ᫥騩      ᯨ
         ⮢ .  頥  nil,  ᫨  夨
          ᫥  ᯨ᪥ .

         . ⠪ : TView.PRevView, TView.Prev, TView.Next

 NormalCursor  procedure NormalCursor;
         頥   sfCursorIs  State,  ॢ   妨
         ન. ᫨ sfCursorVis ⠭,    
         㤥 ⮡.

         . ⠪ :  sfCursorIns,  sfCursorVis,  TView.HideCursor,
         TView.BockCursor, TView.HideCursor

 Prev    function Prev: PView;
         頥 㪠⥫    ।騩     ᯨ媥
         ⮢ .  ᫨        
         ᯨ᪥ ,   Prev   頥   ᫥  
           ᯨ᪥.  ⨬,   TView.Prev 
         ᯨ᮪    楢,      ६    TView.PrevView
            .

         . ⠪ : TView.NextView, TView.PrevView, TView.Next

 PrevView  function PrevView: PView;
         頥 㪠⥫    ।騩     ᯨ᪥
         ⮢ .  頥  nil,  ᫨  
         -         ᯨ  .  ⨬,  
         TView.Prev   ᯨ᮪      楢,    
         TView.PrevView -  .

         . ⠪ : TView.NextView, TView.Prev

 PutEvent  procedure PutEvent(var Event: TEvent); virtual;
                                             ४뢠: 
         頥 ᮡ⨥,    Event,   । ᮡ, 
         १ 祣    ᮡ⨥  㤥  ᫥騬  ᮡ⨥,
         頥 GetEvent.  ⨬ ᯮᮡ  ।  
         饭 ⮫쪮    ᮡ⨥.       ᯮ
         묨 ⠬,   騬     ᮡ,
        ਬ:

         Event.What := evCommand;
         Evet. Command := cmSaveAll;
         Event.InfoPtr := nil;
         PutEvent(Event);

          㬮砭  TView.PutEvent  뢠  PutEvent 
          .

         . ⠪     :     TView.EentAvail,      TView.GetEvent,
         TView.HandleEvent

 utInFontOf  procedure PutInFontOf(Target: PView);
         頥   ।  ⮬  Target 
         ᯨ᪥ ⮢ .맮

         TView.PutInFontOf(Owner^.First);

         ⥭ TView.MakeFirst.  ⮤ ࠡ⠥, 
         㪠⥫  ᯨ᪥ ⮢.   ᨬ  樨
         㣨    ⮢     ﭨ,  PutInFrotOf
          ᥪ 뢠  .   
           -  롨ࠥ  (.  ofSelectable)    頥
         ᢥ  㣨 ⮢,    
         ⠭ ࠭.

         . ⠪ : TView.MakeFirst

 PutPeerViewPtr   procedure  PutPeerVieewPtr(var   S:   TStream;
                                            P: PView);
         ࠭ 㪠⥫  P   ࠢ    ⮪
         S.    -      ⥬  
         楬,        .  PutPeeriewPtr
          ᯮ짮  ⮫쪮    ⮤  Store   
          祭   㪠⥫,    姦    
         ⠭   GetPeerViewPtr  ࠪ Load.

         . ⠪     :     TView.PutPeerVewPtr,     TGroup.Load,
         TGroup.Store

 Select  procedure Select;
         롨ࠥ   (.  sfSelected).  ᫨ 
            ⨢,    ⠪
          ⨢ (.  sfFocued).  ᫨   
          ⠭  䫠  ofTopSelect   Options,  
              ६頥        設    寨᪠
         ⮢  (ᯮ 맮 TView.MakeFirst).

         . ⠪    :    sfSelected,    sfFocused,   ofTopSelect,
         TView.MakeFirst

 SetBounds  procedure SetBounds(var Bounds: TRect;
         ⠭ ࠭  אַ㣮쭨  奭 
         祭 ࠬ Bounds.   Origin ⠭  
         Bounds.A       Size   ⠭    Bounds.B  -
         Bouns.A. ⮤ SetBounds 뢠 ⮫쪮  ४⮣
         ⮤ ChangeBounds  -        뢠 SetBounds
         אַ.

         . ⠪ :  TView.Origin,  TView.Size,  TView.CalcBounds,
         TView.ChangeBounds, TView.GetBounds, TView.GetExtent

 SetCommands  procedure SetCommands(Commands: TCommandSet);
          ⥪騩       姠   㬥⮬
         Commnds.

         . ⠪ : TView.EnableCommands, TView.DisableCommands

 SetCursor  procedure SetCursor(X, Y: Integer)
         ६頥         (X,Y)   
         ⭮⥫ न      ().
         (0,0) -  孨  㣮.

        . ⠪     :     TView.MakeLocal,     TView.HideCursor,
         TView.ShowCursor

 SetData  procedure SetData(var Rec); virtual; ४뢠: 
         SetData  ஢ DataSize      
         Rec     嬥.  堭     筮
         ᯮ ⮫쪮   ,  ॠ
         ࠢ   .
          㬮砭 TView.SetData 祣  .

        . ⠪ : TView.DataSize, TView.GetData

 SetState  procedure  SetState(AState:   Word;  Enable:   Boolean);
                                virtual;     ४뢠: 
         ⠭    頥   䫠   ﭨ       
         TView.State. ࠬ  State    䫠  ﭨ 
         䨪樨 (.  fXXXX),   ࠬ  Enable  뢠,
         㤥   䫠  ⠭  (True)   몫
         (False). TView.SetState  ⥬  믮  ᮮ⢥騥
         ⢨    ࠦ     ﭨ,  ⠪  
         ᮢ  ⮢,   ,  
                 뢠   (sfVisible)   
         ९ணࠬ஢ ,     ଠ
          (sfCursorVis  sfCursorIns).
         SetState      ४뢠            믮
         ⥫ ⢨,  ᭮   䫠 ﭨ.
         ਬ, ⨯  TFrame  ४뢠  SetState      宥
         ᮢ,       롨ࠥ     嬥頥
         誮.

         procedure TFrame.SetState(AState: Word; Enable: Boolean)
         begin
           TView.SetState(AState, Enable);
           if AState and (sfActive + sfDragging) <> 0 then
             DrawView;
         end;

         㣠 稭  ४  SetState  -    ࠧ 
          ,    ࠡ뢠   ।
          ⮬.

         procedure TMyView.SetState(AState: Word; Enable: Boolean);
         const
           MyCommands = [cmOut, cmCopy, cmPaste, cmClear]
         begin
           TView.SetState(AState, Enable);
           if AState = sfSelected then
             if Enable then
              EnableCommands(MyCommands) else
               DisableCommands(MyCommands);
         end;

         . ⠪ :  TView.GetState, TView.State, sXXXX ⠭
         state flag

 Show    procedure Show;
         뢠  , 뢠 SetState  客
         䫠 sfVisible   State.

         . ⠪ : TView.SetState

 ShowCursor  procedure ShowCursor;
         砥   ,   ⠭   sfCursorVis.
         ⨬,   㬮砭  .

         . ⠪ : sfCursorVis, TView.HideCursor

 SizeLimits  procedure SizeLimits(var Min, Max: TPoint); virtual;
                                             ४뢠: 
         頥,    ६   Min     Max,  쭮  
         ᨬ쭮 祭,   ਭ  Size.

         . ⠪ : TView.Size

 Store   procedure Store(var S: TStream);      ४뢠:嗠
         ࠭       ⮪  S.    ,
         뢠  ⮪,  筮 ᮮ⢥⢮ ࠧ
         , ⠥    ⮪  ࠪ஬  Load 
         .  ᫨      ᮤন  㪠⥫  
        ࠢ      ,   Store    ᯮ짮
         PutPeerViewPtr    寨    㪠⥫.  ४
         ⮤  Store  奭  ᥣ  뢠  த⥫娩 ⮤
         Store.   㬮砭 TView.Store      ,  ஬
         Owner  Next  ⮪.

         . ⠪ : TView.Load, TStream.Get, TStream.Put

 TopView  functin TopView: PView;
         頥 㪠⥫  ⥪騩   .

 Valid   function Valid(Commands: Word): Boolean; virtual;
                                             ४뢠: 
          ⮤ ᯮ ஢ન ࠢ쭮 
          ᫥  ᮧ  (  ᯮ짮  Init 娫
         Load)       ,      稢  室쭮
         ﭨ ( 맮 EndModal).
         祭 ࠬ   Command,   ࠢ   cmValid   (),
         㪠뢠,      ஢ १
         ᢮ ᮧ:  Valid(cmValid)     Tre,
         ᫨       ᯥ譮  ᮧ     ⮢   
         ᯮ짮;  - False.
          㣮  (   )   祭  ࠬ   Command
         㪠뢠,   ⥪饥  쭮  ﭨ  (⠪  
         쭮                
         १騬 祭  Command.    ⮬  砥  Vlid
          ஢ ࠢ쭮  .
         Valid   ᮮ 짮⥫,  ᫨  奭
         ࠢ, ਬ ᯮ  ணࠬ  MessgeBox  
         㫥 StdDl.
          ꥪ⮢,  夥  㫥 StdDlg ᮤ  
         ਬ஢ ४ Valid.
          㬮砭 TView.Valid  頥 True.

         . ⠪ : TGroup.Valid, TDialog.Valid, TProgram.ValidView

 WriteBuf  procedure TView.WriteBuf(X, Y, W, : Integer; var Buf);
         뢠     ࠭,  稭   न (X,Y) 
            ਭ   W      ⮩   H.   
         ᯮ짮 ⮫쪮  ⮤ Draw.  筮 ६Buf
         ⨯ DrawBuffer,      ᨢ 客,  
          ᫮ ᮤন  ᨬ  襬   ਡ 
         襬塠.

         . ⠪ : TView.Draw

 WriteChar  procedure  TView.WriteChar(X,  Y:  Intger;  Ch:  Char;
                                     Color: Byte; Count: Integer);
        占稭  窨 (X,Y) 뢠 Count   ᨬ  Ch
         梥⮬, । ⮬  ஬ Color,   
         ⥪饣  .  ᯮ짮 ⮫媮 
         ⮤ Draw.

         . ⠪ : TView>draw

 WriteLine procedure TView.WiteLine(X, Y, W, H: Integer; va Buf);
         뢠 ப,  ᮤঠ    Buf    ࠭,
         稭    窨    (X,Y)         אַ㣮쭨,
         । ਭ W  ⮩  H  ᫨  H    1,
         ப 㤥      .    ᯮ짮
         ⮫쪮    ⮤   Draw.  ࠬ   Buf   筮   ⨯
         TDrawBuffer,    ᨢ ᫮,  妤
         ᫮ ᮤন ᨬ    襬      ਡ  -  
         襬 .

         . ⠪ : TView.Draw

 WriteStr  procedure  TView.WriteStr(X, Y:  Integer;  Str:  String;
                                    Color: Byte)
         뢠 ப  Sr c 梥⮬   ஬ Clor 
           ,  稭  窨 (X,Y).  
         ᯮ짮 ⮫쪮  ⮤ Draw.

         . ⠪ : TView.Draw


TWindow                                                      Views


                    Ŀ
                     TObject 
                    
                    Ŀ
                      TView  
                    
                    Ŀ
                    TGroup  
                   
               Ŀ
      ͻ   Ŀ  Ŀ
       Window     TDeskTop    TProgram     
      ͼ     
      Ŀ                 Ŀ
       TDiaog                   TApplicaion 
                       

         ꥪ TWindow  -    㯯,    筮   
         ꥪ⮬ TFrame,  奪⮬  TScroller   
          ꥪ⠬ TScrollBar.  ꥪ TFrame   
         ࠬ, ࠧ頥   易⥫         
         㭪樮      (,      ⠡஢,
         ६饭). ꥪ TWibdow  ஥ 
         ६饭    ⠡஢         誨    
         .       ⠡஢    뢠
         ⬥⪮ 誨 ᮮ⢥ .   ⠪  ""
          ࠡ    ᠬ  ஫  嫥.   
         ࠬ  1  9  롨 蠬 Alt-n  (n 
         1  9).


 

 Flags  Flags:Byte;                                  ⥭/
          Flags ᮤন  ᫥ :

           TWindow.Flags 
                        
          msb          lsb
          ͻ
          Ѽ
                wfMove  = $01
                     wfGrow  = $02
      ।   wfClose = $0
                    wfZoom  = $08

         ᠭ 䫠  .   "⠭ 嫠  wfXXXX"
          14.

 ZoomRect  ZoomRect: Rect;                           쪮 ⥭
         ଠ ᬠ⠡஢ ࠭ .

 Number  Number: Intege;                             ⥭/
          ⮣  .  ᫨ TWindow.Number   1 - 9,
          㤥    嬪    
        ࠭ 蠬 Alt-n (n  1央 9).

 Palette  Palette: Ineger;                           ⥭/
         ।          㤥  ᯮ짮:
         wplueWindow, wpCyanWindow,   wpGryWindow.      
         㬮砭 wpBlueWindow.

         . ⠪ : TWindow.GetPalette, wpXXXX ⠭

 Frame   Frame: PFrame;                              쪮 ⥭
         Frame -  㪠⥫  ꥪ TFrame, 易  .

         . ⠪ : TWindow.InitFrame

 Title   Title:RString;                              ⥭/
         ப ᨬ,  । (易⥫) ,
           ࠬ.


⮤ 

 Init    constructor  Init(var  Bounds: TRect;  ATitle:  TTitleStr;
                           ANumber: Integer);
         뢠 TGroup.Init(Bounds).    ⠭   State  
         sfShadow. ⠭堥        㬮砭    Optios    
         (ofSelectable +  ofTopSelect).  ⠭  GrowMode  
         gfGrowAll + gfGrowRel.  ⠭ Flags    (wfMove  +
         wfGrow +  wfClose  +  wfZoom).  ⠭  Title 
         NewStr(ATitle),  Number  ANumber. 뢠 InitFrame,
          ᫨    Frame   nil,  ⠢   㯯 .
         , ⠭ ZoomRect  Bounds.

         . ⠪ : TFrame.InitFrame

 Load    constructor Load(var S: TStream);
           㦠   ⮪ S, 뢠 TGroup.Load,
         ⥬  ⥫ ,   TWindow.

         . ⠪ : TGroup.Load

 Done   destructor Done; virtual;           ४뢠: 
         ᢮   .

 Close   procedure Clos; virtual;             ४뢠: 
         뢠 ᢮  筮      
         ᮡ⨥ cmClose. ⢥ 맮 ࠪ Done.

 GetPalette  function GetPalette: PPalette; virtual;
                                             ४뢠: 
         頥 㪠⥫  ,  ᮬ 
           Palette.

         . ⠪ : TWindow.Palette

 GetTitle  function GetTitle(MaxSize: Integer): TTitleStr; virtual;
                                             ४뢠: 媮
            ப    .  ᫨  ப
          ,  祬  MaxSize ᨬ,  GetTitle 
         ᮪  ;         㤥   ᥪ
         뢠 ⥪      ᫥     MaxSize     ᨬ.
         TFrame.Draw 뢠 Owner^.GeTitle   祭 ப
         ⥪, ⮡ࠦ  媥.
          㬮砭 GetWndow.Title 頥 ப  Ttle^ 
          ப, ᫨  Title ࠢ nil.

         . ⠪ : TWindow.Title, TFrame.Draw

 HandleEvent procedure HandleEvent(var Even: TEvent); virtual;
                                              ४뢠: 
        砫 뢠  TGroup.HandleEvent,  ⥬  ࠡ뢠
         ᯥ᪨  TWindow ᮡ:
         ᮡ evommand ࠡ뢠,  ᫨  TWindow.Flags
         ࠧ蠥  : cmResize (६  
         ࠧ ,   ᯮ  ⮤  TView.DrawView),  cmClose
         ( ,  ᯮ ⮤  TWindow.Close)    cmZoom
         (⠡஢ , ᯮ ⮤ TWindow.Zoom).
          evKeyDown  祭 KeyCode,  ࠢ kbTab  嫨
         kbShiftTab ࠡ墠,     롨    ᫥    
         ।騩 롨ࠥ  (᫨  ).
         ⨥ evBroadcast      祭    Command,    ࠢ
         cmSelecWindowNum,  ࠡ뢠 롮஬ , ᫨ 
         Evnt.InfoInt ࠢ TWindow.Number

         . ⠪ : TGroup.HandleEvent, wfXXXX  ⠭

 InitFrame  procedure InitFrame; virtual;      ४뢠:吥
          ꥪ TFrame     ࠭  㪠⥫  
          ࠬ     TWindow.Frame.  InitFrame 뢠 
         TWindow.Init           뢠   אַ.
         InitFrame     ४    ᮧ  
        ꥪ, ஦  TFame.

         . ⠪ : TWindow.Init

 SetState  procedure   SetState(AState:  Word;   Enable:  Boolean);
                              virtual;        ४뢠: 
         砫 뢠 TGroup.SetState. ⥬, ᫨ AState ࠢ
         sfSelected, ⨢  ⨢    
         , ᯮ 맮 SetState(sfActive,  Enabe) 
         맮 TView.EnebeCommands    TView.DisableCommands 
         cmNext, cmPrev, cmResize, cmClose  cmZoom.

         . ⠪      :      TGroup.SetState,     EnableComands,
         DisableCommands

 SizeLimits  procedure SizeLimits(var Min, Max: TPoint); vitual;
                                              ४뢠: 
         ४뢠 TView.SizeLimits.  뢠  TView.SizeLimits,
         ⥬  Min    祭,  ࠭    쭮
         ६ MinWindowSize.

        . ⠪  :  TView.SizeLimits, MinVinSize ६

 StandardScrollBar  function   StandardScrollBar(AOptions:   Word:
                                                PScrollBar;
         , ⠢          頥    㪠⥫   
         "⠭"  ஫    .  "⠭"
         砥,     ஫ ⠢  ࠬ 
          뢠 㣫   ⠡墠.
         ࠬ AOptins           sbGorizontal  
         ᮧ ਧ⠫쭮  ஫  , 
         sbVetical   ᮧ  ⨪쭮  ஫ 
        ࠢ ஭ ,        ᪮஢  
         sbHandleKeyboard, ⮡   ࠧ      ஫
         ⪫   ५    ࠭,      쪮
         ⬥⮪  誨

         . ⠪ : sbXXXX ⠭ scroll bar

 Store   procedure TWindow.Store(var S: TStream);
         ࠭   ⮪  S,  뢠  TGroup.Store,  ⥬
         뢠 ⥫ , ।  TWindow.

         . ⠪ : TGroup.Store

 Zoom    procedure TWindow.Zoom; virtul;      ४뢠: 
         ⠡ .  ⮤ 筮 뢠  ⢥ 
          cmZoom    (㥬        ⬥⪥  媭
         ⠡஢). Zoom ਭ   ⭮⥫
         ࠧ    ,  祭 ZoomRect.

         . ⠪ : cmZoom, ZoomRect


 

         ꥪ   ᯮ    㬮砭 CBlueWindw
         (  ⥪⮢  ),  CCyanWindow  (  ᮮ饭)   
         CGrayWindow (  ).


              1   2   3   4   5   6  7   8
             ͻ
CGrayWindow   24 25 26 27 28 29 3 31
             ͹
             ͹
CCyanWindow   16 17 18 19 20 21 22 23
             ͹
             ͹
CBlueWindow   8  9  10 11 12 13 1 15
             ͼ
ᨢ                           १ࢨ஢
ࠬ                             
⨢ ࠬ                 ࠭ ⥪
                                       ஫
 ࠬ           ଠ ⥪
                                         ஫
࠭      १ࢨ஢
஫
