                              6.

                     .

     ࠡ⪠ 訡  ࠪ⨢  짮⥫᪮  䥩
 ᫮, 祬  ⨫  ப.  ࠪ⨢
ணࠬ ᮢ襭 ਥ,    訡  ணࠬ  ਢ  
뢮 ᮮ饭    訡    襭  ணࠬ.  ,  
ࠪ⨢ ணࠬ 室  ⠭  ﭨ  ᫥
訡   ⠢  짮⥫  ਥ ﭨ.  訡 
 ਢ  ࠧ襭 ଠ樨 짮⥫      
 ணࠬ    ᨬ      த.  ணࠬ,
㤮⢮ ⨬ , ⠥ "".
     Turbo Vision             ணࠬ.   
ন ⨫ ணࠬ஢,    
㦨 訡    ⠭  ﭨ,  ᮡ  
 訡  Out  of  memory.      ᯥ稢   প
楯樨 ⮬ 権.


                            祣.

     ⮬ୠ  -    ,        
ࠧ       樨.      ⥪,  
,    訡筠,    ᯥ譠.
 ⮬  権  ᮡ      ।
.
     筮 ணࠬ  ।    訬  窠.
ਬ  ᮧ    ।   
 ,   ⥬    ࠢ.   
 ।  ⥭樠쭮      㤠    
 訡   ॡ   ஢ન,         த
।    ⠭.  ᫨    ।
訡筮,     室   ᢮   ,      뫠
। ᯥ譮.          ஢  ᫥
 ।.   .


                           .

     Turbo Vision ⠭ 䨪஢ ⢮  (
㬮砭 4)      ,  뢠  㫮 .  ᫨
।      ⨣  㫠  ,  㭪
Turbo Vision   LowMemory   頥   True.     砥,  
᫥騥 ।    ਢ  訡.
     ⮡ ᯮ짮 㫠   䥪,   
 ,  祬  ᨬ쭮  ⮬୮  ।.  㣨
᫮,    筮 訬, ⮡  ।
 ஢ઠ LowMemory 뫨 ᯥ묨;  4  㤮⢮
設⢮ ணࠬ.   (   㫠    ⠭
६ LowMemSize).
     ᯮ짮 ࠤ樮  室   । 
ᮧ  :

     OK := True;
     R.Assign(20,3,60,10);
     D := New(Dialog, Init(R, 'My dialog'));
     if D <> nil then
     begin
       with D^ do
       begin
         R.Assign(2,2,32,3);
         Control := New(PStaticText, Init(R,
           'Do you really wish to do this?'));
         if Control <> nil then Insert(Control)
         else OK := False;
         R.Assign(5,5,14,7);
         Control := New(PButton, Init(R, '~Y~es', cmYes));
         if Control <> nil then Insert(Control)
         else OK := False;
         R.Assign(16,6,25,7);
         Control := New(PButton, Init(R, '~N~o', cmNo));
         if Control <> nil then Insert(Control)
         else OK := False;
         R.Assign(27,5,36,7);
         Control := New(PButton, Init(R, '~C~ancel', cmCancel));
         if Control <> nil then Insert(Control)
         else OK := False;
       end;
       if not OK then Dispose(D, Done);
     end;

     ⨬,  ६ OK ᯮ  㪠 訡
।. ᫨  ந諠  訡,     
 㤠.  ᯮ,    㤠      ⠪  
㤠   .   㣮 ஭,   㫮 
     ஢  ⮬ୠ 
  :

     R.Assign(20,3,60,10);
     D := New(Dialog, Init(R, 'My dialog'));
     with D^ do
     begin
       R.Assign(2,2,32,3);
       Insert(New(PStaticText, Init(R,
         'Do you really wish to do this?')));
       R.Assign(5,5,14,7);
       Insert(New(PButton, Init(R, '~Y~es', cmYes)));
       R.Assign(16,6,25,7);
       Insert(New(PButton, Init(R, '~N~o', cmNo)));
       R.Assign(27,5,36,7);
       Insert(New(PButton, Init(R, '~C~ancel', cmCancel)));
     end;
     if LowMemory then
     begin
       Dispose(D, Done);
       OutOfMemory;
       DoIt := False;
     end;
     else
       DoIt := DeskTop^.ExecView(D) = cmYes;

     ᪮   筮      ।
ᥣ   ,  ஥ ॡ  4,    
।,     ।  ᯥ.  ᫥  ⮣,   
     ।,  ஢  ६
LowMemory,  ᫨  True,        㭨⮦;
 ᯮ.


                         ⮤ ValidView.

     ᪮ LowMemory ஢ 筮 , TApplication
 ⮤  ValidView,      뢠   믮
室 ஢ન.  ᯮ ValidView, ஢ઠ if  ᫥
8 ப     2 ப:

     DoIt := (ValidView(D) <> nil) and
       (DeskTop^.ExecView(D) = cmYes;

     ValidView 頥    㪠⥫    ।  
,   nil,  ᫨    ७.  ᫨ LowMemory
頥 True,  ValidView ᢮     뢠
OutOfMemory.


                          㣨 訡.

     筮   訡  易    .  ਬ  
   ᪮ 䠩,  䠩     
ࠧ襭.   ⨯  訡      㪠  짮⥫.  
 ValidView    ᯮ짮 ஥ ࠡ 訡,
 易  , 뢠 ⮤ Valid  .
     TView.Valid 頥   True      㬮砭.   TGroup.Valid
頥 True ⮫쪮 ᫨  ,  ਭ騥 㯯,
 True      㭪権  Valid.  㣨  ᫮,  㯯
ࠢ쭠, ᫨   ⮩  㯯  ࠢ.    
ᮧ    ,        訡,  
易  ,    室  ४  Valid    ⮣
  ⠪,  ⮡  頫 True ⮫쪮  ᯥ譮
ᮧ.
     Valid   ᯮ짮  㪠,    
   ᯮ짮    -  稭;  ਬ,   ᫨
      䠩.  ⨬,   ,   Valid
஢    ஢   .   ⮤  Valid
 :

     function TMyView.Valid(Command: Word): Boolean;
     begin
       Valid := True;
       if Command = cmValid then
       begin
         if ErrorEncountered then
         begin
           ReportError;
           Valid := False;
         end;
       end;
     end;

      ᮧ    ,  ⮤  Valid    
맢   ࠬ஬  Command,  ࠢ  cmValid   ஢ப 
訡,  易  ,      ᮧ  
. ValidView(X)  뢠 .Valid(cmValid) ⮬᪨,  
⠪ ஢   ,  ⠪    맮  ValidView  ।
ᯮ짮     -   .
     Valid ⠪  뢠  襭 쭮  ﭨ 
ࠬ஬ Command  , 饩 쭮 ﭨ. (.
 4.)     墠뢠 ⠪ ᫮, 
࠭ ⥪   ।  襭 襩 ணࠬ.
     ErrorEnountered         筮   뢠   㫥᪮
६   ꥪ⭮  ⨯,    㪠   맮
Init.


                       饭  訡.

       ⮣,    ⮤  Valid  ୥  False,    뤠
짮⥫ ଠ  訡,  ᪮      
   ࠭.      ReportError  ।饬 ਬ.
筮  뢠    ᮮ饭.    ⤥
   ⢥砥    뤠  ᮮ饭     訡,
᪮ ணࠬ      ஢      
権.
       ⨦   孨  ணࠬ஢,  ᪮
 襩 ணࠬ ࠡ,   ᫨   뫮 ࠢ쭮
 ⮣,  ⮡ ᥣ ᬮ       ࠢ.
㯯 ꥪ,    ணࠬ,    ᯮ  ஢થ
訡  ᪫祭  ஢ન,  ᫨  -      
⮢   ७.   ⮬ 砥 㯯  㤠 ᥡ 
᢮       㪠뢠   ᢮   ,      뫠
ࠢ쭮. 㯯      ।,      ࠢ
 㦥 ᮮ騫 짮⥫  ஡.
     ᯮ짮 Valid    ᮧ      
, ᬠਢ   ⮬  樨.    ,
 ᮧ  ,      ᮧ  ஢ન  訡;
᫨ ࠪ ७,    ⠭ Valid  False.  ᫨
     ७,      頥  False  
஢થ. ValidView 㤥 ᢮     nil.  ,
 ॡ ᤥ -  ஢ १ ValidView.


                       ᭮ ॡ⥫.

     㭪 Valid   ⠪           ࠡ뢠    "᭮
ॡ⥫",  ..   ,  । 
,  祬 ࠧ 㫠 ,   ਬ  ⥭ ᥣ
䠩    .  ᭮  ॡ⥫  ஢ LowMemory
ᠬ  ⮣,  ⮡      ᮧ, 
᫥ ⮣    ValidView ᤥ   .  ᫨ ᭮
ॡ⥫ 室  墠⪨     ᢮ ᮧ,
 ⠭  ᢮  䫠,    㪠뢠,   ⨫
訡 ( ਬ 䫠 ErrorEncountered  ।饬  ਬ) 
  ⠥ । .  䫠 㤥 ஢
 Valid    㤥 뢠 Application^.OutOfMemory 
 False  맮 Valid.
     祢,       ।        ࠡ    
ࠪ஢ -    訩 ਠ,    ⢥ ᯮᮡ
ࠢ ᮧ  ⮢,  ॢ ࠧ 㫠
.
     ணࠬ FILEVIEW.PAS      ᯮ짮    ⮩
孨  ॠ樨  ᬮ 䠩.

