                              12.

                        .

       ⪮ 뢠 ᮤন   㫥 Turbo
Vision. 砫    㫥 Turbo Vision,   ⥬ 
⠫쭮 襬  .
     Turbo Vision ᮤন 9 㫥:

                 12.1. 㫨 Turbo Vision.

     
               ন
     
     App           । ꥪ⮢  ᠭ ணࠬ,
                  ࠢ塞  ᮡ⨩.

     Dialogs      㬥   ࠢ, ᯮ㥬
                    .

     Drivers      প 誨, ࠡ稪 ,
                  ࠡ稪 ⥬ 訡  ..

     HistList     ᪨ ਩  ப .

     Memory       ⥬ ࠢ .

     Menus        ꥪ     ப .

     Objects      ᭮ । ꥪ⮢,   ⨯
                  ꥪ⮢  ⮪, 権  ᮢ.

     TextView        ।⠢ ⥪.

     Views        ᭮ ꥪ  ᯮ짮  
                  ணࠬ:  ,  , ࠬ, 
                  ஫  ..
     

                           Objects.

      Objects  ᮤন  ᭮  । ꥪ⮢ Turbo
Vision,   ꥪ 娨 Turbo Vision TObject,  ⠪
        Turbo  Vision:  ⮪,  樨  
.


                               .

                    ८ࠧ ᥩ.

     
                 ᯮ짮
     
     FNameStr       ப  䠩 DOS
     LongRec        ८ࠧ Longint  襥  襥 ᫮
     PChar          ⥫  ᪮ ।
                    ᨬ
     PString        ⥫  ᪨ ப
     PtrRec         ८ࠧ Pointer  ᥣ  ᬥ饭
     TByteArray     ᨢ 祭 Byte, ᯮ㥬 
                    ਢ ⨯
     TWordArray     ᨢ 祭 Word, ᯮ㥬 
                    ਢ ⨯
     WordRec        ८ࠧ Word  訩  訩 
     

                      Objects.

     
                        ᯮ짮
     
     TBufStream            ਧ ⮪ DOS Turbo Vision
     TCollection              ᨢ
     TDosStream            ⮪ Turbo Vision  䠩 DOS
     TEmsStream            ⮪ Turbo Vision  EMS 
     TItemList             ᨢ 㪠⥫, ᯮ㥬
                           ﬨ
     TObject                ꥪ 娨 Turbo Vision
     TPoint                ꥪ  ஥ 窨  ࠭
     TRect                 ꥪ   祪  ।
                             ࠭
     TResourceCollection   樠஢ TCollection 
                           ᮢ
     TResourceFile         ꥪ  ࠭ ᮢ  ᪥
     TSortedCollection     樠஢ TCollection 
                           ⮬᪮ ஢
     TStream                ⨯ । ⮪
                           Turbo Vision
     TStreamRec             ॣ樨 ⮪
     TStrIndex             ᨢ TStrIndexRec
     TStrIndexRec           ப ᮢ, ᯮ㥬
                           TStrIndex
     TStringCollection     樠஢ TSortedCollection 
                            ப
     TStringList           ꥪ ᯨ᪠, ᯮ㥬  ᮢ
                           ப
     TStrListMaker         樠 ꥪ  ᮧ ᯨ᪮
                           ப
     

                            ⠭.

                      㯠  ⮪.

     
     ⠭   祭     祭
     
     stCreate       $3C00       䠩
     stOpenRead     $3D00      ⮫쪮  ⥭
     stOpenWrite    $3D01      ⮫쪮  
     StOpen         $3D02       ⥭  
     

                         訡 ⮪.

     
      訡  祭     祭
     
     stOk             0        訡
     stError         -1       訡 㯠
     stInitError     -2         樠஢ ⮪
     stReadError     -3       ⥭  殬 ⮪
     stWriteError    -4          ⮪
     stGetError      -5       ⥭ ॣ஢ ⨯
                              ꥪ
     stPutError      -6        ॣ஢ ⨯
                              ꥪ
     

                  ᨬ ࠧ 樨.

     
     ⠭        祭     祭
     
     MaxCollectionSize  16380      ᨬ ࠧ TCollection
     

                       訡 樨.

     
      訡  祭     祭
     
     coIndexError    -1         
     coOverflow      -2       ९
     

                            ६.

     
     ६        砫쭮  祭
                          祭
     
     EmsCurHandle   Word    $FFFF    騩 ࠡ稪 EMS
     EmsCurPage     Word    $FFFF     ࠭ EMS
     

                       楤  㭪樨.

     
     楤        
     
     Abstract         楤  㬮砭  ⮤, 
                        ४
     DisposeStr        ப, ᮧ   NewStr
     RegisterType      ⨯ ꥪ  ⮪
                      Turbo Vision
     

     
     㭪          
     
     LongDiv            楫  楫
     LongMul            楫   楫
     NewStr           । ப  
     


                            Views.

      Views ᮤন ᭮     ⮢.
   ࠪ  ⨯,  ⠪    TView   TGroup  
  ᫮ 㯯,  ⠪    ࠬ      
஫.   ᫮      室   
Dialogs  TextView.


                               .

     
                 ᯮ짮
     
     TCommandSet    蠥  頥 㯯 
     TDrawBuffer    , ᯮ㥬  ⮤ ᮢ
     TFrame          ꥪ, ᯮ㥬 
     TGroup         ࠪ ꥪ  ᫮ 
                    ⮢
     TListViewer     ⨯   ᯨ᪮  ..
     TPalette        , ᯮ㥬 ᥬ 묨
                    ⠬
     TScrollBar     ꥪ ।騩  ஫
     TScrollChars      ஫
     TScroller       ꥪ  ஫ ⥪  
     TTitleStr      ப , ᯮ㥬 TFrame
     TVideoBuf      , ᯮ㥬 ஬ ࠭
     TView          ࠪ ꥪ; ᭮   ꥪ⮢
     TWindow         ꥪ    ࠧ
     

                            ⠭.

                      ᪨ State  TView.

     
     ⠭     祭   祭
     
     sfVisible      $0001       
     sfCursorVis    $0002         
     sfCursorIns    $0004        - 
                               ० ⠢
     sfShadow       $0008        ⥭
     sfActive       $0010          -
                              ⨢ 
     sfSelected     $0020       -  ࠭
                               
     sfFocused      $0040       ⨢
     sfDragging     $0080       - ६頥
     sfDisabled     $0100       饭
     sfModal        $0200        쭮 ﭨ
     sfExposed      $0800       ᮥ
                               ணࠬ
     

                      ⠭  Views.

     
     ⠭   祭   祭
     
     heNoContext     0      ।  ⥪ ᪠
     heDragging      1      ⥪⭠ ᪠  ꥪ
                            ६頥
     MaxViewWidth   132     ᨬ쭠   
                             ᨬ
     wnNoNumber      0       TWindow
     

                      ᪨ Option  TView.

     
     ⠭      祭     祭
     
     ofSelectable     $0001         ࠭
     ofTopSelect      $0002     롨ࠥ  
                                ६頥  設 
     ofFirstClick     $0004     ⬥⪠ 誮 롨ࠥ 
                                ந ⢨
     ofFramed         $0008        
                                ࠬ
     ofPreProcess     $0010       ⨫ ⨢
                                ᮡ ࠭ ⨢
                                 
     ofPostProcess    $0020       ⨫ ⨢
                                ᮡ  ⨢
                                 
     ofBuffered       $0040     㯯    
     ofTileable       $0080        ᯮ
                                ९楩   ࠭
     ofCenterX        $0100        ᯮ
                                ਧ⠫쭮  
     ofCenterY        $0200        ᯮ
                                ⨪쭮  
     ofCentered       $0300        ᯮ
                                ਧ⠫쭮  ⨪쭮
                                 
     

                     ᪨ GrowMode  TView.

     
     ⠭    祭     祭
     
     gfGrowLoX       $01      ஭ ⢥ ࠢ
                             ஭ 
     gfGrowLoY       $02      ⢥  
     gfGrowHiX       $04     ࠢ ஭ ⢥ ࠢ
                             ஭ 
     gfGrowHiY       $08      ⢥  
     gfGrowAll       $0F       ᫥ 
                             ࠢ 㣫 
     gfGrowRel       $10     ࠭ ⭮⥫ ࠧ,
                               ࠧ ࠭
     

                     ᪨ DragMode  TView.

     
     ⠭    祭     祭
     
     dmDragMove      $01        ६
     dmDragGrow      $02         ࠧ
     dmLimitLoX      $10      ஭   
                              室  Limits
     dmLimitLoY      $20        
                              室  Limits
     dmLimitHiX      $40     ࠢ ஭   
                              室  Limits
     dmLimitHiY      $80        
                              室  Limits
     dmLimitAll      $F0          
                              室  Limits
     

                        ஫.

     
     ⠭   祭     祭
     
     sbLeftArrow      0      ਧ⠫쭠 ५ 
     sbRightArrow     1     ࠢ ਧ⠫쭠 ५ 
     sbPageLeft       2      ਧ⠫쭠 ࠭筠
                             
     sbPageRight      3     ࠢ ਧ⠫쭠 ࠭筠
                             
     sbUpArrow        4     ⨪쭠 ५  
     sbDownArrow      5     ⨪쭠 ५  
     sbPageUp         6     ⨪쭮 ࠢ 
                            ࠭筮  
     sbPageDown       7     ⨪쭮 ࠢ 
                            ࠭筮  
     sbIndicator      8       ஫
     

                     ᪨ 䫠 .

     
     ⠭   祭     祭
     
     wfMove       $01       ப ࠬ 
                           ६ 
     wfGrow       $02         㣮 
                           ࠧ
     wfClose      $04         뢠 
     wfZoom       $08          ⠡஢
     

                       TWindow.

     
     ⠭   祭     祭
     
     wpBlueWindow     0         ᨭ
     wpCyanWindow     1       ᨭ  
     wpGrayWindow     2         ஬
     

              ⠭   .

     
     ⠭        祭     祭
     
     cmReceivedFocus      50     砥 ⨢
     cmReleasedFocus      51     ᢮
                               ⨢
     cmCommandSetChanged  52   ⢮  
     cmScrollBarChanged   53    ஫  祭
     cmScrollBarClicked   54    ஫ 뫠 ⬥祭
     cmSelectWindowNum    55   짮⥫  롨ࠥ  
                               
     cmRecordHistory 56        ᮪ ਨ  ࠭
                               ᮤন ப 
     

                            ६.

     
     ६       砫쭮      祭
                          祭
     
     MinMinSize   TPoint  (X: 16; Y: 6)  ࠧ 
     ShadowSize   TPoint  (X: 2; Y: 1)   ⥭ 
     ShadowAttr   Byte       $08        ਡ 
     

                             㭪樨.

     
     㭪          
     
     Message    뫠 ᮮ饭, । 짮⥫
                 묨 ⠬
     

                           Dialogs.

      Dialogs । 設⢮ ⮢  
ᯮ㥬    ᮧ    .    砥  ᠬ
  (    ᯥ樠஢묨  )  
ࠧ  ࠢ, ⠪  , ⪨, ᨬ 
ᨬ , ப   ᯨ᪨ ਨ.

                               .

     
                 ᯮ짮
     
     TButton           樨 
     TCheckBoxes      祭  몫祭 
     TCluster       ࠪ ⨯  ᨬ  ᨬ
                    
     TDialog        樠஢    
     THistory       ᮪ । ⮢  ப 
     TInputLine      ⥪⮢ 
     TLabel         ⪠    ப 
     TListBox       ஫㥬 ᯨ᮪  롮
                    짮⥫
     TParamText     ଠ஢ ᪨ ⥪
     TRadioButtons    , ⮫쪮   
                      
     TSItem          ப  易 ᯨ᪥,
                    ᯮ㥬 ࠬ
     TStaticText    ⮩ ⥪
     

                            ⠭.

                            .

     
     ⠭   祭     祭
     
     bfNormal        $00    筠 
     bfDefault       $01      㬮砭
     bfLeftJust      $02     ⥪   ஢
                            
     

                       楤  㭪樨.

     
     㭪        
     
     NewSItem          ப   ᯨ᪠
     

     
     楤          
     
     RegistersDialogs    ꥪ  㫥 Dialogs
                        ᯮ짮  ⮪
     


                             App.

      App  (।⠢    室   )   ᯥ稢
 窨  Turbo  Vision.  4  祭    ꥪ ⨯
।  App,   ꥪ TApplication  TProgram, 
㦠   ⢥  ணࠬ  Turbo  Vision  ꥪ  ࠭,
 ࠢ 設⢮ ⮢   ணࠬ.

                               .

     
                 ᯮ짮
     
     TApplication   ꥪ-ணࠬ  ஬ ᮡ⨩,
                    ஬ ࠭, ࠡ⪮ 訡 
                    ࠢ 
     TBackGround     䮭   ࠭
     TDeskTop       㯯 ꥪ     
     TProgram       ࠪ ꥪ-ணࠬ
     

                            ६.

     
     ६        砫쭮  祭
                          祭
     
     Application  PProgram     nil   ⥫  ⥪
                                     ணࠬ
     DeskTop      PDeskTop     nil   ⥫  ⥪
                                      ࠭
     StatusLine   PStatusLine  nil   ⥫  ⥪
                                     ப 
     MenuBar      PMenuView    nil   ⥫  ⥪
                                      
     

                            Menus.

      Menus  ᯥ稢  ꥪ  楤  ⥬
 Turbo Vision,   믠騥      ⨢  
ப .

                               .

     
                 ᯮ짮
     
     TMenu          易 ᯨ᮪ ᥩ TMenuItem
     TMenuBar       易   ਧ⠫ 
     TMenuBox       믠騥  
     TMenuItem      , 뢠  ⥪, 
                    ,   ⥪ ᪠
     TMenuStr       ப ⨯  ⮪ 
     TMenuView      ࠪ ꥪ ⨯    
                    
     TStatusDef     , 뢠 ⥪ ᪠
                     ᯨ᪮ ⮢ ப 
     TStatusItem    ப ᮮ饭  ࠭ ணࠬ,
                     ᯨ᮪ ᥩ TStatusDef
     TStatusLine
     

                       楤  㭪樨.

                        㭪樨 TMenuItem.

     
     㭪          
     
     NewItem             
     NewLine           ப  
     NewSubMenu             
     

                         楤 TMenu.

     
     楤               
     
     NewMenu function        ।   
     DisposeMenu procedure      
     

                       㭪樨 TStatusLine.

     
     㭪          
     
     NewStatusDef     ।  ⥪ ᪠
                       㪠⥫  ᯨ᮪ ⮢ 
     NewStatusKey     ।  ப   뢠
                          祩 襩
     


                           Drivers.

      Drivers ᮤন  ᯥ樠஢  ࠩ Turbo
Vision,   ࠩ  誨   ,  প ࠭ 
⥬ ࠡ⪨  訡    ஬   ᮡ⨩      ணࠬ,
ࠢ塞 ᮡﬨ.

                               .

     
                 ᯮ짮
     
     TEvent           ᮡ
     TSysErrorFunc  㭪樮 ⨯ ࠡ稪 ⥬
                    訡
     

                            ⠭.

                   ᪨ ﭨ  誨.

     
     ⠭     祭     祭
     
     mbLeftButton     $01         誨
     mbRightButton    $02       ࠢ  誨
     

                            ᮡ⨩.

     
     ⠭     祭     祭
     
     evMouseDown     $0001       誨 
     evMouseUp       $0002       誨 ᢮
     evMouseMove     $0004      誠  
     evMouseAuto     $0008      ⮬᪨  ᮡ
                                 誨
     evKeyDown       $0010      ⨥ - ⨥ 
     evCommand       $0100      ⨥ - 
     evBroadcast     $0200      ⨥ - 饥 ᮮ饭
     

                          ᪨ ᮡ⨩.

     
     ⠭   祭     祭
     
     evNothing      $0000     ⨥ 饭
     evKeyboard     $0010     ⨥ 諮  
     evMouse        $000F     ⨥ 諮  誨
     evMessage      $FF00     ⨥ - ᮮ饭  
     

                         ᪨ .

     
     ⠭     祭     祭
     
     kbRightShift    $0001       ࠢ Shift
     kbLeftShift     $0002        Shift
     kbCtrlShift     $0004       Ctrl  Shift
     kbAltShift      $0008       Alt  Shift
     kbScrollState   $0010      ⠭ Scroll lock
     kbNumState      $0020      ⠭ Num lock
     kbCapsState     $0040      ⠭ Caps lock
     kbInsState      $0080      祭 ० Insert
     

                      ⠭ .

     
           祭      祭
     
     cmValid          0     ஢ઠ ࠢ쭮  
     cmQuit           1     襭 ணࠬ
     cmError          2     ।
     cmMenu           3     ⨢  
     cmClose          4     뢠 ⥪饥 
     cmZoom           5     ⠡ 
     cmResize         6      ࠧ 
     cmNext           7      ⨢ ᫥饥 
     cmPrev           8      ⨢ ।饥 
     

                   ⠭  TDialog.

     
           祭      祭
     
     cmOK            10         OK
     cmCanced        11         Cancel  Esc
     cmYes           12         Yes
     cmNo            13         No
     cmDefault       14          㬮砭  Enter
     

                           ࠭.

     
     ⠭   祭     祭
     
     smBW80         $0002     ୮- ०
     smCO80         $0003     ⭮ ०
     smMono         $0007     ஬ ०
     smFont8x8      $0100      43  50 ப (EGA/VGA)
     

                            ६.

                  樠஢ ६.

     
     ६        砫쭮  祭
                          祭
     
     ButtonCount   Byte       0      ᫮  誨
     MouseEvents   Boolean  False    뢠  롮 誮
     DoubleDelay   Word       8      ᨬ쭮 ६ প
                                      묨 ﬨ
     RepeatDelay   Word       8      প  ⮬᪨
                                     ஬ ᮡ  誨
     


                  樠஢ ६.

     
     ६              祭
     
     MouseIntFlag    Byte     쪮  ७ ᯮ짮
     MouseButtons    Byte       뫠 
     MouseWhere      TPoint     誨
     StartupMode     Word      ࠭  ᪥ ணࠬ
     ScreenMode      Word     騩 ० ࠭
     ScreenWidth     Byte     ਭ ࠭  
     ScreenHeight    Byte      ࠭  ப
     CheckSnow       Boolean  । "᭥"  CGA
     HiResScreen     Boolean  ࠭  ⮡ࠦ 43  50
                              ப (EGA/VGA)
     ScreenBuffer    Pointer  ⥫   ࠭
     CursorLines     Word     砫  砭 ப ᬮ
                               ⠭ ⨯ 
     

             ६ ࠡ稪 ⥬ 訡.

     
     ६               砫쭮    祭
                                 祭
     
     SysErrorFunc   SysErrorFunc  SystemError 㭪, 뢠
                                              ஬ ⥬
                                              訡  
                                              
     SysColorAttr   Word          $4E4F       ਡ 
                                              ᮮ饭  訡
                                               梥⭮ ࠭
     SysMonoAttr    Word          $7070       ਡ 
                                              ᮮ饭  訡
                                               ஬ ࠭
     CtrlBreakHit   Boolean       False       뢠,  
                                              짮⥫
                                              Ctrl-Break
     SaveCtrlBreak  Boolean       False        ஢ન
                                              Ctrl-Break 
                                              ᪥ ணࠬ
     

                       楤  㭪樨.

                    楤  ᮡ⨩.

     
     楤        
     
     InitEvents       樠  ᮡ⨩
     DoneEvents       뢠  ᮡ⨩
     ShowMouse        ⮡ࠦ  誨
     HideMouse        ࠥ  誨
     GetMouseEvent      ᮡ  誨
     GetKeyEvent        ᮡ  


                   楤 ࠢ ࠭.

     
     楤        
     
     InitVideo        樠  ࠭
     DoneVideo        뢠  ࠭
     SetVideoMode     롨ࠥ ० ࠭ (梥⭮, ୮-,
                      ஬, ᮪ ࠧ襭)
     ClearScreen      頥 ࠭    ०
     

        㭪  㬮砭 ࠡ稪 ⥬ 訡.

     
     㭪          
     
     SystemError      ⮡ࠦ ᮮ饭  訡  
                      ப ࠭  ᪠  襭
                       
     

              楤 ࠡ稪 ⥬ 訡.

     
     楤        
     
     InitSysError     樠  ⥬ 訡
     DoneSysError     뢠  ⥬ 訡
     

                   㭪樨 প .

     
     㭪          
     
     GetAltChar       頥 ᨬ  
     GetAltCode       頥 ᪠-  
     

                    楤   ଠ஢ ப.

     
     楤        
     
     FormatStr        ଠ ப
     

                   楤 ஢ .

     
     楤        
     
     MoveBuf             㣮 
     MoveChar              ᨬ  
     MoveCStr          ப ࠢ  
     MoveStr           ப  
     

                       㭪  ப.

     
     㭪          
     
     CStrLen          頥  ப,  "~"
     

                      樠 ࠩ.

     
     楤        
     
     InitDrivers      樠 ࠩ 
     


                          TextView.

      TextView ᮤন ᪮쪮  ᯥ樠஢ 
⮢  ⮡ࠦ ⥪   ஫.

                               .

     
                   ᯮ짮
     
     TTerminal        TTY  ⥪⮢ ன⢠
     TTerminalBuffer  㣮 ⥪⮢   TTerminal
     TTextDevice      ࠪ ꥪ ⥪⮢ ன⢠
     

                            楤.

     
     楤        
     
     AssignDevice     砥 ன⢮ ⥪⮢ 䠩
                        / 뢮
     


                           Memory.

      Memory ᮤন 楤   Turbo Vision,
 ᯥ稢 㭪樨 ࠢ 祩.

                            ६.

     
     ६        砫쭮  祭
                          祭
     
     LowMemSize   Word   4096 div 16  㫠 
     

                       楤  㭪樨.

     
     楤        
     
     InitMemory       樠  
     DoneMemory       뢠  
     GetBufMem        । -  㯯
     FreeBufMem        -  㯯
     

     
     㭪          
     
     LowMemory        뢠 ।   
     MemAlloc         ।   ஢મ 
                      
     


                          HistList.

      HistList  ᮤন  ६,  楤  㭪樨
室  ॠ樨 ᯨ᪮ ਨ.

                            ६.

     
     ६        砫쭮  祭
                          祭
     
     HistoryBlock   Pointer   nil       
                                     ⮢ ᯨ᪠ ਨ
     HistorySize    Word      1024     ਨ
     HistoryUsed    Word       0     饭   ਨ,
                                     㪠뢠饥 ᫮
                                     ᯮ짮 
     

                       楤  㭪樨.

     
     楤        
     
     HistoryAdd      ப  ᯨ᮪ ਨ
     ClearHistory   頥  ᯨ᪨ ਨ
     InitHistory    樠  ᯨ᪮ ਨ
     DoneHistory    뢠  ᯨ᪮ ਨ
     

     
     㭪          
     
     HistoryCount   頥 ᫮ ப  ᯨ᪥ ਨ
     HistoryStr     頥 ⤥ ப  ᯨ᪠ ਨ
     

