home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TTT405.ZIP / DIRTTT.PAS next >
Encoding:
Pascal/Delphi Source File  |  1988-07-17  |  16.5 KB  |  502 lines

  1. {S-,R-,V-,D-,T-}
  2. {\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}
  3. {         TechnoJocks Turbo Toolkit v4.05           Released: Jul 18, 1988    }
  4. {                                                                             }
  5. {         Module: DirTTT   --   a directory displying unit                    }
  6. {                                                                             }
  7. {                  Copyright R. D. Ainsbury (c) 1986-88                       }
  8. {\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}
  9.  
  10. Unit DirTTT;
  11.  
  12. Interface
  13.  
  14. Uses CRT, FastTTT, DOS, KeyTTT, WinTTT;
  15.  
  16. Function Display_Directory(var PathName:string; FileMask:string): string;
  17. Procedure Default_Settings;
  18.  
  19. Type
  20.    DirDisplay = record
  21.                      TopX    : byte;
  22.                      TopY    : Byte;
  23.                      Cols    : byte;
  24.                      Rows    : byte;
  25.                      DateTime: boolean;
  26.                      CDir    : boolean;
  27.                      Attrib  : byte;
  28.                      BoxType : byte;
  29.                      BoxCol  : byte;
  30.                      BacCol  : byte;
  31.                      NorCol  : byte;
  32.                      DirCol  : byte;
  33.                      HiFCol  : byte;
  34.                      HiBCol  : byte;
  35.                      AllowEsc : boolean;
  36.                  end;
  37.  
  38. Var
  39.    D : DirDisplay;
  40.  
  41. Implementation
  42.  
  43. Procedure Default_Settings;
  44. begin
  45.     With  D  do
  46.     begin
  47.         TopX    := 15;
  48.         TopY    := 5;
  49.         Cols    := 4;
  50.         Rows    := 15;
  51.         DateTime:= true;
  52.         CDir    := true;
  53.         AllowEsc := true;
  54.         Attrib := AnyFile;
  55.         BoxType := 1;      {single lined box}
  56.         If BaseOfScreen = $b000 then
  57.         begin
  58.             BoxCol := white;
  59.             BacCol := black;
  60.             NorCol := white;
  61.             DirCol := lightgray;
  62.             HiFcol := black;
  63.             HiBcol := lightgray;
  64.         end
  65.         else
  66.         begin
  67.             BoxCol := red;
  68.             BacCol := lightgray;
  69.             NorCol := black;
  70.             DirCol := yellow;
  71.             HiFcol := white;
  72.             HiBcol := blue;
  73.         end;
  74.     end; {with}
  75. end;
  76.  
  77. Function Display_Directory(var PathName:string; FileMask:string): string;
  78.  
  79. Const
  80. Mcols = 6;       {lower these settings to reduce the amount of}
  81. Mrows = 23;      {memory used - if necessary}
  82. Lchar = #16;
  83. Rchar = #17;
  84. Null  = #0;
  85. HomeKey = #199;   EndKey = #207;   Esc = #027;   Enter = #13;
  86. Cursup  = #200;   CursDown = #208; CursLeft = #203; CursRight = #205;
  87. PgDn    = #209;   PgUp     = #201;
  88.  
  89. Type
  90. Filerecord = record
  91.                Name : string[12];
  92.                Size : LongInt;
  93.                Time : LongInt;
  94.                Attr : byte;
  95.              end;
  96. DirBox =  array[1..Mcols,1..Mrows] of ^Filerecord;
  97. DirectoryData = record
  98.                    CurrEntry : byte;    { the number of the highlighted file }
  99.                    TotFiles  : byte;    { the total number of files in cur. box }
  100.                    CurrPage  : integer; { current directory page number}
  101.                    FileData  : DirBox;  { name and attrib info }
  102.                    MoreFiles : boolean; { true if not end of directory }
  103.                 end;
  104. Var
  105. Dbox : DirectoryData;        {array of files and attributes}
  106. X2 : byte;                   {right hand box coord}
  107. I,J : integer;               {misc}
  108.  
  109. {\\\\\\\\\\\\\\\\\\\\\\    Miscellaneous procedures   \\\\\\\\\\\\\\\\\\\\\}
  110.  
  111. FUNCTION Copies (ch:char; n:integer) : String;
  112. begin
  113. InLine (   $16 /$07 /$8B /$4E /$04 /$88 /$4E /$08 /$8B
  114.        /$46 /$06 /$8D /$7E /$09 /$FC /$F3 /$AA );
  115. end;  { Copies }
  116.  
  117.  
  118. Function Left(S : string;Size : byte; Pad : char):string;
  119. var temp : string;
  120. begin
  121.     Fillchar(Temp[1],Size,Pad);
  122.     Temp[0] := chr(Size);
  123.     If Length(S) <= Size then
  124.        Move(S[1],Temp[1],length(S))
  125.     else
  126.        Move(S[1],Temp[1],size);
  127.     Left := Temp;
  128. end;
  129.  
  130. Function Center(S : string;Size : byte; Pad : char):string;
  131. var
  132.   temp : string;
  133.   L : byte;
  134. begin
  135.     Fillchar(Temp[1],Size,Pad);
  136.     Temp[0] := chr(Size);
  137.     L := length(S);
  138.     If L <= Size then
  139.        Move(S[1],Temp[((Size - L) div 2) + 1],L)
  140.     else
  141.        Move(S[((L - Size) div 2) + 1],Temp[1],Size);
  142.     Center := temp;
  143. end; {center}
  144.  
  145. Function Int_to_Str(I : Longint):string;
  146. var S : string[11];
  147. begin
  148.     Str(I,S);
  149.     Int_to_Str := S;
  150. end;
  151.  
  152. Function CalcCol(Entry : byte) : byte;
  153. { returns the display column of the file}
  154. begin
  155.     CalcCol := Succ(Pred(Entry) MOD D.cols);
  156. end;
  157.  
  158. Function CalcRow(Entry : byte) : byte;
  159. { returns the display row of the file}
  160. begin
  161.     CalcRow := Pred(Entry + D.cols) DIV D.cols;
  162. end;
  163.  
  164. Function Subdirectory(Attrib:byte): boolean;
  165. begin
  166.     Subdirectory := ((Attrib and 16) = 16);
  167. end;
  168.  
  169. Function ValidPathName:Boolean;
  170. begin
  171.     If PathName[Length(PathName)] <> '\' then
  172.        PathName := PathName + '\';
  173.     {$I-}
  174.     If (length(PathName) = 3) and (PathName[2] = ':') then
  175.        Chdir(PathName)
  176.     else
  177.        ChDir(copy(Pathname,1,length(Pathname) - 1));
  178.     {$I+}
  179.     ValidPathName := (IoResult = 0);
  180. end;  {ValidPathName}
  181.  
  182. Function FileDetails(F:FileRecord):string;
  183. var
  184.   DT : DateTime;
  185.   Str: string;
  186. begin
  187.     UnPackTime(F.Time,DT);
  188.     Str := Int_to_Str(F.Size)+'  '
  189.            +Int_to_Str(DT.Month)+'-'+Int_to_Str(DT.Day)+'-'
  190.            +copy(Int_to_Str(DT.Year),3,2)
  191.            +'  '+Int_To_Str(DT.Hour)+':'+Int_to_Str(DT.Min);
  192.     FileDetails := Str;
  193. end;
  194.  
  195. Function ExtractPrevDir(Path : string): string;
  196. begin
  197.  Repeat
  198.   Delete(Path,length(Path),1);
  199.  Until ( copy(Path,length(Path),1) = '\') or (length(Path) = 0);
  200.  Delete(Path,length(Path),1);
  201.  If length(Path) > 2 then
  202.   ExtractPrevDir := Path0)string;string;sd d d;
  203.       ;
  204.       ;wswsw((L((L(FUFUFeft(chrchar(mp[mp[m 'r r r                     TLef┬TITITY imto_Se -cur /$4 /$4 B B B;
  205. v;
  206. v;AnAnAed Xtra : byte;
  207. begin
  208.     If D.DateTime then
  209.        
  210.        
  211. ra := 1
  212.     else
  213.              a := 0;
  214.     If D.
  215.     IfTime and (D.cols < 4) then n ns := 4;ss.colsolso 1) or (D(D( 1)  > 6)  then D.cols := 6;:= 0:= 0:Rows  or1)s   := 6 := 6 FUFxt (D> 23) then D. D. := 23 -  -  a;
  216.     If 1)sTopX a) o or1D.D.D > (79 - 6) *13)6;: en:= 06)  =  6  (D>6  opXD.col else
  217.        
  218.        pX := 40  - ( 1)scolsp or1D+ 2 ) div 2*1 D. (D>6X aD.D*1 X := 1:= 1:3)6opY1)sRa;or or opY6  o(24 lse.1)sT- 4)))
  219.     IfT    If D.D.D 4) = 79cols.T
  220.     IfT := 12 )se
  221.        *1 Y := ( 23 .T3 .- 6))p 26  o(6  o(6    Ilse.6  o(6 4- 4
  222. end; {Xt
  223. beer
  224.     If neDateoxime oc
  225.     elserned Xrocedure De -ce -cex := 1r
  226.   Y2,4): byte;
  227. begincols := 4ateTime then
  228.        3 .-:= 1 <
  229.        
  230.        = n n
  231.     X2 := .1FUF2 + 13*6) ;
  232.     6) ;=6) ;=6neY + 1FUF 23owsFUF4);
  233.     FBox:= 12 X,D,D,n n
  234. = n6) ;=6) ;=6boxcolcolcBacBacBD.Boxtype)chrcDeroc Dthen
  235.  Box
  236. beginc;re LoDisplayFileName(Entry :byte; DPage : DirectoryData);
  237. var C,Rn n
  238. 1,YYYColor X2  and agin
  239.     C := CalcCol(Entry);
  240.     RRRalcRow,Y);
  241.     X1n n
  242. = (D>6chrcDb+ (pX  *- 6Bred(C))oxi.D2 +e 3*      cRoe 3
  243.     IfT + *-+ls 
  244.     string;s
  245.        
  246.        
  247. := ime oime oi6  o(Subdirectory(Dpage.FileData[C,R]^.attr)*1 Y      ,Y)r :=0;ircol6) ;=6
  248.        Col);
  249.     X= D.NorColD.Bastwrite(.D2alcchrcDb+aolD
  250.     s
  251.     s
  252. rre LacCol),
  253.              ' '+left      ,age0;iileData
  254.        Co);
  255.     X=D.Nname,pX ,,,
  256.        
  257. edurnd; {var isplayn n
  258. 1ameyDtra re Hi C,laylaylme,Y :chrcDb+aCDor X : Director    C col6CalcCar ol)RRRage,col);
  259.     X byte;
  260.     text : string;
  261. begin
  262.     C- 6BrlcCol))o;
  263.     *-:= CalcRC)pX  ;
  264.     .D2tory( D.       c (
  265.     IfT +*-+pred(string;s
  266. );
  267.     := ( := iteolsos6  o(S     C,re La= n6FUFge.FileDa    a[               (2(Dp R.aubr)*ory(;
  268.     t {visplaledcol6ameyR= DNorCottr40n
  269.        := Cte(.:= 4irCololD
  270.                n n
  271. =HiFColoxior X6  o(6tFiles > D.D*ubr ba :        Te.D2t:= #16 + D,Y)rvar iirctan n
  272. =HColore H  ;  {place arrchrcDBat each end}
  273.         ce at := Left(Text,13,ector mFUF#17;
  274.         Fast'+lite(      ,acRo,0;iiritchrcDHiBCol),;
  275.     .t);
  276.         (2(4;D.re H        If Sub and ag*1 Y := 4ir :=0nd}6) ;=6
  277. lcColColoolD6  o(6t
  278.                  c              := ( h loen n
  279. 1an n
  280. 1antra rame = '..'              :             st' := 'enory '+ mp[m;
  281.       ;ewswr(Pathname)
  282.                ameyR                       a:=                   irectory                   i                  i e achirColame =    c;
  283.       ;eme;
  284.                ;
  285.                ;= CentercRo,0;iirX2-.1-= nector m;
  286.                If BaseOfScreen = $b000 )
  287.             ;
  288.         (t4;Dte(.1.FchrcDTopYYY0;iiD.HiBcol);
  289.     X=DcCname,Text    c;               ;
  290.                ;                name,xt e(               ;chrcDb+a- 4e( ttr(colo
  291.        Co)playFD.Nnl),st');
  292.  
  293.            endendelse   {must  ; a file
  294.         F      st'             OfS DenoFile        }
  295.      mp[m;.Name+'  '+
  296.                        FileDetails(D+ D,ector m;mp[m;);
  297.                ls(reenter $btroc )
  298.  neX;
  299.         (tlayl ' '           .1.aseTopY            ;Yen = $b00Color 1)  >roc )    F' 'lefende 1)  >r;
  300.                ;    {me0uschrcDb+a-iBDisp.BacClo
  301. st'  lo
  302. s),s               );
  303. ),s ype),s y= n6mutr(s >ttr(nd}6
  304.        Co)pColooOfS nd;
  305. col6and <    {no  'es}
  306.     FileDetaFas,0'+li Cen = 'No File(s)'00C            ;t4lefe;
  307.          < D.rOfS l                nopY}
  308.     Fr(*1 Y : fil(col
  309.         F  Cen);
  310.     end;
  311. re Dol)Ror X yFileNamecol6C:= 4ae RRayDiror X(var '.tX2  cRo,0g;
  312. bta   C-r I : integer;
  313. begin
  314.     For or o= 1 to DenoTotfiles do
  315.         Dosplayage,e(I,I,I {vory(;(13131r :=0TotFiles > a;and (length(PathNaame = 6  o or1Dand D.Cdirastw     files=.CurrEntry := 2a :              ntry := 1;
  316.     cRo,0gPathNaa   C-ramelayl irColirColitry,Dor X);
  317. end; {ger;    C iror X AnA┬T Array filli /$4 +lData)es     }
  318.  
  319. B BCalcCae Readin
  320.     {vFoColo {vxt gin
  321.  Data; Newtex: byte);
  322. const
  323. ReadMessMewswrcondi /$4       a:ry...';
  324.  
  325. var
  326.   If SCounter X1  Msg : string;
  327.   I,J : integer;
  328.  
  329.      Xt: i RIf SCdi xttgeeadfiles=essMtory := C;
  330.      Const
  331.          CurrFile : SearchRec= (Fill:(0,,,ende                           Attr:0;TimeTimeT;SizezezName:'');
  332.      Va <
  333.        Firsvar iileMs : boolean;
  334.      t4l    FirstFileRIf SC := False;
  335.          with ill> a
  336.          
  337.                 TotFiles hen;
  338.              repeavar
  339.  ;
  340.       ;em                 FUF#.1.a red(Col(Succ(T(T(irct)),lo
  341. s                 := itw(Succ(files=.files=.f)= D do do   b;  {p                     if 
  342.     surrtex= 1) and = 1)hen;es Y +D.Nnl                     and not otFred(Cilerep             );
  343.     X=Dc               w(                   Findndn      ,aca :  .1-}
  344.     FreMaskchrcDAttrib,                      ile     t     t .1.a rchrcDArep:= True;
  345.                       end;
  346. t4l Name := ( :.1.a rc Filels(rameamea      AttrchrcDb+chrcDb+cile.AttrAttrA     Size Size SrrrrrSizeSizeSFasD.D.DrrrTimeTimeT   Name :darc      ,acAttrAle     S              if  (Name <> ',J              : es Y               otFrles := SnotaskcFilesFilesF         re D with }
  347.              until ( ( Attribf 1chrcDB*-+6)        *D.DDOSError = 1888   Morec(f;Siz;Siz;SSSror *-+618 ( ec;  {p S Fild; { Ms }
  348.  Rec=e }
  349.  
  350. 1nin in iIf SCIf SCI  DDirecox
  351.              '(2(4    {nileN- 4Sub = n6m.Dubr ,0'lo
  352. Msuntessage);
  353.     ubr ,lo
  354. s a;a    end;
  355. tage,eTotf+ 2to Mco 1)                   :DOfor J     Il    Il 1)sT1)sT1st') := FNCharzezlen n
  356. 1aI,J= D, SizeOfOfO'+ s >ns >ns= D), 0);
  357.         if di       a:rMe orCurrPMe;
  358.                 end;
  359. t    C.1.a rc ry.or X
  360.             0); Co: i te(.2 +eto Pred(((Data)e             )DODOD       ss;
  361.          ge)ay flenFasDlenFge := rtc(c(cy :b
  362.             ,J  rD.DNo                 :=  :=   {v;
  363.         ;
  364.         ;chRB BC
  365. Refiles=);                   { : Sad c.1.a rc ent directory h Totf+     or X y    c; );
  366. )lse Der               ;cnd}6
  367. oxCol), sor X();
  368.     X=Dc  left('
  369.         F  length( := FNCer Xlen,#205me,
  370.         If (2aathre H) + 1FUFlength(FileMask       * or 23o.T (D>6;
  371.                 re D lo
  372. s)yFi) + NamecpYJ  tr(DFileMxCol       * e,pDO         ' : stringy '+-.+Filemaskter ')
  373.         e) dives Y athr               )6;: e  'ename,xname,xnr(Dr(Drk ayD'+li ,,,,,ileileisksks     SRea}                   { eft(';
  374.         {now add the mearz {vs}
  375.         xttgeewswrirectorsc-quit : intxCof ToT.C             )DPathNaa                   :=  :=  + ' $bt+),;),;)217ter to select 'olD6f Der CurrECurrEC       Mtgtgt PgUpUpU
  376.         If If SCIFiles 
  377.         e)di xdi xd:= If I '  PgDnDnD
  378.         = DN]^6;: e chrcDB+ 1= DN]0;ime oiD.D= DNsutex=cRo     SIf length(17t) <  asktNorCot D. ) <  Fes Y are H)meachrcDb+aIf Slength(FBoxCoe( twswrilo
  379. lo
  380. l;
  381.     e :c{ ubr ,}
  382. e}
  383. e}length( dage,eTubr ,l                     TL\\\\\\\\\\\\\\\\\\\  Cursor Movement Xt  'enAAnA}
  384. Function SeDnDchrcDA(Fi
  385.         I: D to := C:string;
  386. Col(EChS : char;
  387.  
  388.          CurrFdure Pcols :arzUp;
  389.          ;
  390.          ;hoice s dnteo
  391. := itww(            WitFUF#astw e  orC            B BC;
  392.       Filme:Col(ECubr the   M &es}mbtra rFunc      or ok:snam),s y=   :=- 6)lo
  393. s lo
  394. ;     't_tAA           .0.0.yFiyFiy2 )2 )2dPadPad 2ge.ge.g.D2t = 7 = 7 NNN;
  395.     e;
  396.     e; 'ididiYe00 )
  397.        
  398.        
  399. yryry*1 Y : : byte;
  400. = #209= #209=it  H H ) div) div)   : St^.me,es Y  es Y  eL)L)LJJJ   C   C lse Dlse Dl   :   : \\\\\\\\\\\\\\\\\\\\\    c; )BaBaB),;)7E7E7D /$I$I$e( te( teDTDTD(2(+Int+Int+) <) <)ck;FunctFunctF;
  401.         CursCursCt4lt4lt;     ;     ;LefLefL┬┬┬ 19 19  Haaa5;
  402. 5;
  403. 5astw e= #20= #20=;
  404.     e;
  405.     e;0;ix cx cxisisiununute(te(t := 2 Len Len e }e }eme me m└└└es  es  eletletltex=ctex=ctastw n
  406.     D D );
  407.    aaae( tI-I-I or1Danta   : BaPr{wßßßNeNeNn
  408.     8;8;8s)e ae ae BaP}
  409.  
  410. F}
  411.  
  412. F}: st╫╫╫e; e; e6;: e var iivar iiv orC h orC h }
  413.      m}
  414.      m}'+ sSize)+Size)+S,l,l, se Re Reááá :c :c 0;0;0 H H L)L)L the tX,X,X00 ):= 12 X:= 12 X:FaFaFs }s }sor X H FUF#a;
  415.     e;;
  416.     e;;geewgeewg'0ΓΓΓ6;: e 6;: e 6: by: by:Long$Ió
  417. {
  418. {
  419. LopXolsolsotiotiotnta the he he hv 2*v 2*v);
  420.    .aution'  '  'gingingDon Cn Cnile  H '.tlo
  421. MchRB2ath i*1 
  422. C
  423. C
  424. Totf+ Totf+ T           Wtring;
  425. tring;
  426. tcRocRoccol6col6cend;
  427. end;
  428. e:= 12 XoR-}-}-lselsel    a
  429.        
  430.        
  431. S);S);Segin
  432. egin
  433. eegin
  434. egin
  435. eoRoRo└
  436.     If 
  437.     If 
  438. If SCIIf SCII.N.N.5;
  439. whiwhiw(0(0( := (<> <> <Γ;
  440.     e;;
  441.     e;;rororBa      Dalylylrr/$7/$7/ Ba,,Name+Name+N1)s1)s1er
  442. yte;eadeadecrcrcQh T
  443. b
  444. b
  445. lsecCalc
  446.     Ivar iilevar iilevcRo 3,               er
  447. essMessMelettribnsnsnirct)= n6molD6folD6foMe) div)) div))),s y=Int_teyeyenotah}h}hor X()     fidchrcDb+achrcDb+aceyg;}
  448. I}
  449. I}En}
  450.  
  451. 1}
  452.  
  453. 1}gth(gth(góóó6) ;=6
  454. r(Fr(Frte(te(tw(  w(  wCalc:= 1 := 1 :6) ;=6
  455. := Tr Co: Co: 0; 0; 0;
  456.                ;''        LeFunctFoRoRoFunctFoFunctFoFnotaessMeh}h}hM00 )s tto_Stto_Stt, K, K,CalcessM\\\\\\\\\\\}I,olD6folD6foCol               u             u irct)irct)iny }irCola a23 F23 F2ile '+ sS'+ sS'ring;
  457. ring;
  458. r) div)bdi D.D D.D  ' ' pl0,  : bre La=re La=ri;     ;;     ;;""");
  459.    D.CeMaegerNN Fe Fe '0'0'isisiHiBCyiyiyCge.ge.gououo6 +6 +6.C p : ardir ( e]^HiBC+l+l+23 F223 F22@er lt                      a                     a olD6fo Su Su EntrEntrE}
  460.  
  461. }
  462.  
  463. }t4Uto sto st= nJ=J=Jor X6li li lTem  Da0;ii0;ii0stria[ ::D.Dasasa- 6- 6-otFrchRBchRBcateTchrcDb+ac chrcDb+ac cMsunowenowenlo
  464. );
  465. vor X yor X yo;
  466.  
  467.  ;
  468.  
  469.  ;nota ( e](colInt_to) divovovowswriwswriwTopTopT    : TTT,TTT,ThNhNhName(Name(Nééék:sk:sk  : g;Col(ECítionCol(ECí < D < D .D2tú St^¢D-til= $   T Top\\\\\\\\\\\} $faS te(.2te(.2t
  470.  
  471. P
  472.  
  473. P bo bo := lns..MpX  : by&ame =Calcols
  474.  
  475. Fu
  476.  
  477. Fuy}I,tr(y :=y :=y then then Lef                   R = 0)olsosolsosoath)'  ''  ''r(DZZZ }
  478.   }
  479.   Li
  480. beg 1)  >r $ $ Col(ECí 
  481.        C2 +ettru+Intσσσ           Wªªª  :   :  nuColor Color Cg
  482.         x
  483.         xntntnEn} or1Dan or1Dan f PBD
  484.        C2'
  485.        C2'
  486.        et ot otisies   es   e.M.M.2)2)2X1;;
  487.     e;;
  488.     e;;X aD,,,,,ring;
  489. rring;
  490. rr:str\\\\0)isdi 
  491. I[1.rector6  o(S by by y :=echar(mchar(mcV-V-VtRRPgeewgeewgEn}En}EFileRI   {menuileDileDi:= 12 := 12 :6;: e v6;: e v6var ivar ivName Name Na;aa;aae( tee( tee2length(FBlength(FBlLef┬ := (<8Btory( tory( tName(+l A A Mcol6Ccol6Cck: := (<lay.CCalcoCalcoCre D lray[';';' : in : in ;
  492.                 ;
  493.                 ;y}I;y}I;yY +                  }
  494.  R }
  495.  R Fun or1Danime o1)sR);
  496. v or1Danie( twe( twe@@@chrcDb+aCchrcDb+aCcp[p[p(SizeRow();
  497.     X);
  498.     X)to to t A cond''+l (l (l6) ;=6seOseOs'\')Path)Path)P;
  499.   );
  500.  D);
  501.  D)ººº'+ sS'+ sS'20202me:Circt)iirct)ii^.m^.m^*1 Y*1 Y*neYny (S[((S[((namenamenInt_to_plastasta,0'l ,0'l ,),s y=00C00C0sar :=0Tr :=0Tr- 6By} then Der CDer CDFileMxFileMxF],],]nd;nd;nCalcRCCalcRCCrorrorr and ag*);
  502.