home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / pascal.doc / pas_1-6.doc < prev    next >
Encoding:
Text File  |  1989-11-26  |  99.7 KB  |  2,648 lines

  1.  
  2.                           âïÇéÇ 16
  3.  
  4.  
  5.                 æ»αáó«τ¡¿¬ »« »α«µÑñπαá¼
  6.                 ¿ Σπ¡¬µ¿∩¼ Æπαí«-Åá߬á½∩
  7.  
  8.      é ñá¡¡«⌐ ú½áóÑ «»¿ßδóáεΓß∩ óßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ óÑα-
  9. ß¿¿  5.0 Æπαí«-Åá߬á½∩. ä½∩ πñ«íßΓóá «¡¿ αáß»«½«ªÑ¡δ ó á½Σá-
  10. ó¿Γ¡«¼ »«α∩ñ¬Ñ. ì¿ªÑ »α¿óÑñÑ¡ ¬αáΓ¬¿⌐ Σ«α¼áΓ «»¿ßá¡¿∩ »α«µÑ-
  11. ñπα,  ß »«¼«Θ∞ε ¬«Γ«α«ú« óδ ¼«ªÑΓÑ ½Ñú¬« »«¡∩Γ∞ ßσÑ¼π «»¿ßá-
  12. ¡¿⌐, ß«ñÑαªáΘ¿σß∩ ó ñá¡¡«¼ απ¬«ó«ñßΓóÑ.
  13.  
  14. ------------------------------------------------------------
  15. Åα«µÑñπαá          é ¬á¬¿σ ¼«ñπ½∩σ «¡á ¿ß»«½∞ºπÑΓß∩
  16. ------------------------------------------------------------
  17. öπ¡¬µ¿∩            éδ»«½¡∩ѼδÑ Ñ⌐ ñÑ⌐ßΓó¿∩
  18. Ä»¿ßá¡¿Ñ           æ«ñÑαªá¡¿Ñ «»¿ßá¡¿∩ Σπ¡¬µ¿¿
  19. Æ¿» αѺπ½∞ΓáΓá     èᬫ⌐ αѺπ½∞ΓáΓ ó«ºóαáΘáÑΓß∩, Ñß½¿ φΓ«
  20.                    Σπ¡¬µ¿∩
  21. Åα¿¼Ñτá¡¿∩         ÄíΘá∩ ¿¡Σ«α¼áµ¿∩ « »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿
  22. Äúαá¡¿τÑ¡¿∩        ôτ¿ΓδóáѼδÑ «úαá¡¿τÑ¡¿∩
  23. ÄΓ½¿τ¿∩            ÄΓ½¿τ¿∩ «Γ ñαπú¿σ óÑαß¿⌐ Æπαí«-Åá߬á½∩
  24. Åα«τÑÑ             êß»«½∞ºπѼδÑ »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿ Γ.ñ.
  25. Åα¿¼Ñα             Åα¿¼Ñα »α«úαá¼¼δ ¿½¿ ÑÑ τáßΓ¿
  26. ------------------------------------------------------------
  27.  
  28.       Åα¿¼Ñτá¡¿Ñ: Åα¿ ¬«¼»¿½∩µ¿¿ ó αѪ¿¼Ñ τ¿ß½Ñ¡¡«⌐ «íαáí«Γ-
  29.       ¬¿ (ñ¿αÑ¬Γ¿óá {$N+}) º¡áτÑ¡¿∩, ó«ºóαáΘáѼδÑ »α«úαá¼¼á-
  30.       ¼¿ αáí«Γδ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐ í½«¬á SystѼ (Sqrt,  Éi,
  31.       Sin,  ¿  Γ.ñ.) »αÑñßΓáó½∩εΓ ß«í«⌐ αѺπ½∞ΓáΓ ¡Ñ óÑΘÑßΓ-
  32.       óÑ¡¡«ú« Γ¿»á, á »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ¿.
  33.  
  34. ------------------------------------------------------------
  35.  öπ¡¬µ¿∩ Abs
  36. ------------------------------------------------------------
  37.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá.
  38.      Ä»¿ßá¡¿Ñ: Abs(x)
  39.      Æ¿» αѺπ½∞ΓáΓá: æ««ΓóÑΓßΓóπÑΓ Γ¿»π »áαá¼ÑΓαá.
  40.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x - óδαáªÑ¡¿Ñ µÑ½«ú«  ¿½¿  óÑΘÑßΓ-
  41. óÑ¡¡«ú« Γ¿»á. ÉѺπ½∞ΓáΓ, ¿¼ÑεΘ¿⌐ Γ«Γ ªÑ Γ¿», τΓ« ¿ x, »αÑñß-
  42. Γáó½∩ÑΓ ß«í«⌐ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ x.
  43.      Åα¿¼Ñα:
  44.  
  45.  var
  46.    r : real;
  47.    i : integer;
  48.  begin
  49.    r := Abx(-2.3);                       { 2.3 }
  50.    i := Abs(-157);                       { 157 }
  51.  
  52.  
  53. ------------------------------------------------------------
  54.  öπ¡¬µ¿∩ Addr
  55. ------------------------------------------------------------
  56.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ áñαÑß ºáñá¡¡«ú« «íΩѬΓá.
  57.      Ä»¿ßá¡¿Ñ: Addr(x)
  58.      Æ¿» αѺπ½∞ΓáΓá: ô¬áºáΓѽ∞.
  59.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x - ½εíá∩ »ÑαѼѡ¡á∩, ¿½¿  ¿ñÑ¡Γ¿-
  60. Σ¿¬áΓ«α  »α«µÑñπαδ  ¿½¿ Σπ¡¬µ¿¿. ÉѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ π¬áºá-
  61. Γѽ∞, ßßδ½áεΘ¿⌐ß∩ ¡á x. èᬠ¿  π¬áºáΓѽ∞  Γ¿»á  nil  (»πßΓ«⌐
  62. π¬áºáΓѽ∞), αѺπ½∞ΓáΓ ñá¡¡«⌐ Σπ¡¬µ¿¿ ∩ó½∩ÑΓß∩ ß«ó¼ÑßΓ¿¼δ¼ »«
  63. »α¿ßóá¿óá¡¿ε ß« óßѼ¿ Γ¿»á¼¿ π¬áºáΓѽÑ⌐.
  64.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡µ¿ε Ptr.
  65.      Åα¿¼Ñα:
  66.  
  67.   var
  68.     p : pointer;
  69.   begin
  70.     p : Addr(p);            { π¬áºδóáÑΓ ΓÑ»Ñα∞ ßá¼ ¡á ßÑí∩ }
  71.   end.
  72.  
  73. ------------------------------------------------------------
  74.  Åα«µÑñπαá Append
  75. ------------------------------------------------------------
  76.  
  77.      öπ¡¬µ¿∩: ÄΓ¬αδóáÑΓ ΓѬπΘ¿⌐ Σá⌐½ ñ½∩ »α¿ß«Ññ¿¡Ñ¡¿∩.
  78.      Ä»¿ßá¡¿Ñ: Append(var f : text)
  79.      Æ¿» αѺπ½∞ΓáΓá: Åáαá¼ÑΓα f - Σá⌐½«óá∩  »ÑαѼѡ¡á∩  ΓѬ-
  80. ßΓ«ó«ú« Γ¿»á, ¬«Γ«αá∩ ñ«½ª¡á íδΓ∞ ßó∩ºá¡á ß ó¡ÑΦ¡¿¼ Σá⌐½«¼ ß
  81. »«¼«Θ∞ε »α«µÑñπαδ Çssign. Åα«µÑñπαá ÇppÑnd «Γ¬αδóáÑΓ ßπΘÑßΓ-
  82. óπ-  εΘ¿⌐  ó¡ÑΦ¡¿⌐  Σá⌐½ ß ¿¼Ñ¡Ñ¼, ¡áº¡áτÑ¡¡δ¼ »ÑαѼѡ¡«⌐ f.
  83. àß½¿ ó¡ÑΦ¡Ñú« Σá⌐½á ß π¬áºá¡¡δ¼ ¿¼Ñ¡Ñ¼ ¡Ñ ßπΘÑßΓóπÑΓ, Γ« φΓ«
  84. ∩ó½∩ÑΓß∩ «Φ¿í¬«⌐. àß½¿ Σá⌐½ f πªÑ «Γ¬αδΓ, Γ« «¡ ß¡áτá½á ºá¬-
  85. αδóáÑΓß∩, á ºáΓѼ «Γ¬αδóáÑΓß∩ ºá¡«ó«. ÆÑ¬πΘá∩ »«º¿µ¿∩  πßΓá-
  86. ¡áó½¿óáÑΓß∩ ¡á ¬«¡Ñµ Σá⌐½á.
  87.      àß½¿ ó »«ß½Ññ¡Ñ¼ í½«¬Ñ Σá⌐½á αẼÑα«¼ 128  íá⌐Γ«ó  »α¿-
  88. ßπΓßΓóπÑΓ  ß¿¼ó«½ ætrl-Z (26 ó ¬«ñÑ ÇSæII), Γ« ΓѬπΘá∩ »«º¿-
  89. µ¿∩ πßΓá¡áó½¿óáÑΓß∩ ó Σá⌐½Ñ Γᬿ¼ «íαẫ¼,  τΓ«  »α¿  ºá»¿ß¿
  90. »Ñαóδ¼ ó í½«¬Ñ íπñÑΓ "ºáΓ¿αáΓ∞ß∩" ß¿¼ó«½ ætrl-Z.
  91.      àß½¿ »ÑαѼѡ¡«⌐ f í佫 »α¿ßó«Ñ¡« »πßΓ«Ñ ¿¼∩  (¡á»α¿¼Ñα,
  92. Assign(f,''),  Γ« »«ß½Ñ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ ÇppÑnd f íπñÑΓ
  93. π¬áºδóáΓ∞ ¡á ßΓá¡ñáαΓ¡δ⌐ óδσ«ñ¡«⌐  Σá⌐½  (ßΓá¡ñáαΓ¡δ⌐  ¬á¡á½
  94. ¡«¼Ñα 1). Å«ß½Ñ «íαáΘÑ¡¿∩ ¬ ÇppÑnd Σá⌐½ f ßΓá¡«ó¿Γß∩ ñ«ßΓπ»-
  95. ¡δ¼ Γ«½∞¬« »« ºá»¿ß¿  ¿  à«f(f)  óßÑúñá  »α¿¡¿¼áÑΓ  º¡áτÑ¡¿Ñ
  96. ÆruÑ.
  97.      Åα¿ ¿ß»«½∞º«óá¡¿¿ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá  {$I+}  Σπ¡¬µ¿∩
  98. IÄRÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 »α¿ πß»ÑΦ¡«¼ ºáóÑαΦÑ¡¿¿
  99. «»Ñαᵿ¿ ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  100.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ RÑsÑt ¿ RÑwritÑ.
  101.      Åα¿¼Ñα:
  102.  
  103.   var f : text;
  104.   begin
  105.     Assign(f, 'Test.txt');
  106.     Rewrite(f);                { ß«ºñáΓ∞ ¡«óδ⌐ Σá⌐½ }
  107.     Writeln(f, '¿ßσ«ñ¡δ⌐ ΓѬßΓ');
  108.     Close(f);          { ºá¬αδΓ∞ Σá⌐½, ß«σαá¡¿Γ∞ ¿º¼Ñ¡Ñ¡¿∩ }
  109.     Append(f);         { ñ«íáó¿Γ∞ ΓѬßΓ ó ¬«¡Ñµ Σá⌐½á }
  110.     Writeln(f,'ñ«»«½¡¿Γѽ∞¡δ⌐ ΓѬßΓ');
  111.     Close(f);          { ºá¬αδΓ∞ Σá⌐½, ß«σαá¡¿Γ∞ ¿º¼Ñ¡Ñ¡¿∩ }
  112.   end.
  113.  
  114. ------------------------------------------------------------
  115.  Åα«µÑñπαá Arc                              î«ñπ½∞ Graph
  116. ------------------------------------------------------------
  117.      öπ¡¬µ¿∩: éδτÑατ¿óáÑΓ ñπú𠫬απª¡«ßΓ¿ «Γ ¡áτá½∞¡«ú« πú½á
  118. ñ«  ¬«¡Ñτ¡«ú«  πú½á. Æ«τ¬á (x,y) ¿ß»«½∞ºπÑΓß∩, ¬á¬ µÑ¡Γα «¬-
  119. απª¡«ßΓ¿.
  120.      Ä»¿ßá¡¿Ñ:    Çrß(ò,Y:integer;    ¡áτ_πú«½,    ¬«¡_πú«½,
  121. αáñ¿πß:word)
  122.      Åα¿¼Ñτá¡¿∩: É¿ßπÑΓ ñπú𠫬απª¡«ßΓ¿ ß  µÑ¡Γα«¼  (x,y)  ¿
  123. αáñ¿πß«¼   "αáñ¿πß".   äπúá   α¿ßπÑΓß∩  «Γ  ¡áτá½∞¡«ú«  πú½á
  124. ("¡áτ_πú«½") ñ« ¬«¡Ñτ¡«ú« πú½á ("¬«¡_πú«½").  Åα¿  φΓ«¼  ¿ß-
  125. »«½∞ºπÑΓß∩ ΓѬπΘ¿⌐ µóÑΓ.
  126.      é ¬áªñ«¼ úαáΣ¿τÑ߬«¼  ñαá⌐óÑαÑ  ß«ñÑনΓß∩  ¬«φΣΣ¿µ¿Ñ¡Γ
  127. «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡¡Ñ¡¿∩, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ó »α«µÑñπαáσ
  128. æircle, Çrß ¿ ÉieSlice.
  129.      ìáτá½∞¡δ⌐ πú«½, αáó¡δ⌐ 0 ¿ ¬«¡Ñτ¡δ⌐ πú«½,  αáó¡δ⌐  359,
  130. ºáñáεΓ óδτÑατ¿óá¡¿Ñ »«½¡«⌐ «¬απª¡«ßΓ¿.
  131.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  132.      Åα«τÑÑ: æ¼. ΓᬪѠCircle, Ellipse, GetArcCoords, GetAs-
  133. pectRatio, PieSlice.
  134.      Åα¿¼Ñα:
  135.  
  136.  for f := 1 to 5 do
  137.    Arc(100, 100, 0, 89, r*10);
  138.  
  139. ------------------------------------------------------------
  140.  öπ¡¬µ¿∩ ArcTan
  141. ------------------------------------------------------------
  142.  
  143.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ áα¬Γá¡úѡߠáαúπ¼Ñ¡Γá.
  144.      Ä»¿ßá¡¿Ñ: ArcTan(x : real)
  145.      Æ¿» αѺπ½∞ΓáΓá: éÑΘÑßΓóÑ¡¡δ⌐ (real).
  146.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x - óδαáªÑ¡¿Ñ óÑΘÑßΓóÑ¡¡«ú«  Γ¿»á.
  147. ÉѺπ½∞ΓáΓ  »αÑñßΓáó½∩ÑΓ ß«í«⌐ ú½áó¡«Ñ º¡áτÑ¡¿Ñ áα¬Γá¡úÑ¡ßá x
  148. (ó αáñ¿á¡áσ).
  149.      Åα¿¼Ñα:
  150.  
  151.  var
  152.    r : real;
  153.  begin
  154.    r := ArcTan(Pi);
  155.  end;
  156.  
  157. ------------------------------------------------------------
  158.  Åα«µÑñπαá Assign
  159. ------------------------------------------------------------
  160.      öπ¡¬µ¿∩: Åα¿ßóá¿óáÑΓ ¿¼∩ ó¡ÑΦ¡Ñú« Σá⌐½á Σá⌐½«ó«⌐  »ÑαÑ-
  161. ¼Ñ¡¡«⌐.
  162.      Ä»¿ßá¡¿Ñ: Çssign(f; ¿¼∩ : string)
  163.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f ∩ó½∩ÑΓß∩ Σá⌐½«ó«⌐ »ÑαѼѡ«⌐  ½ε-
  164. í«ú« Γ¿»á Σá⌐½á, á "¿¼∩" ñ«½ª¡« »αÑñßΓáó½∩Γ∞ ß«í«⌐ óδαáªÑ¡¿Ñ
  165. ßΓ᫬«ó«ú« Γ¿»á. äá½∞¡Ñ⌐Φ¿Ñ «»Ñαᵿ¿ ß f íπñπΓ óδ»«½¡∩Γ∞ß∩ ß
  166. ó¡ÑΦ¡¿¼  Σá⌐½«¼  ß  ¿¼Ñ¡Ñ¼, ºáñá¡¡δ¼ »áαá¼ÑΓα«¼ "¿¼∩". Å«ß½Ñ
  167. «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ Çssign ßó∩º∞, πßΓá¡«ó½Ñ¡¡á∩ ¼Ñªñπ  »Ñ-
  168. αѼѡ¡«⌐  f  ¿ ó¡ÑΦ¡¿¼ Σá⌐½«¼ íπñÑΓ ßπΘÑßΓó«óáΓ∞ ñ« ΓÑσ »«α,
  169. »«¬á ¡Ñ íπñÑΓ óδ»«½¡Ñ¡á ñαπúá∩ »α«µÑñπαá Çssign ñ½∩ »ÑαѼѡ-
  170. ¡«⌐ f. ê¼∩ ß«ßΓ«¿Γ ¿º ¼áαΦαπΓá (»πΓ¿ ñ«ßΓπ»á), «»αÑñѽ∩εΘÑú«
  171. ñ«ßΓπ» ¬ 0 ¿½¿ í«½ÑÑ ¬áΓὫú«ó, ¿¼Ñ¡á ¬«Γ«αδσ «ΓñÑ½Ñ¡δ  ñαπú
  172. «Γ ñαπúá ß »«¼«Θ∞ε «íαáΓ¡«⌐ ¬«ß«⌐ τÑαΓδ ¿ ºá ¬«Γ«α묨 ß½Ññπ-
  173. ÑΓ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ ¿¼∩ Σá⌐½á:
  174.  
  175.      ä¿ß¬:\¿¼∩_¬áΓ\¿¼∩_¬áΓ\...\¿¼∩_¬áΓ\¿¼∩_Σá⌐½á
  176.  
  177.      àß½¿ »πΓ∞ ñ«ßΓπ»á ¡áτ¿¡áÑΓß∩ ß «íαáΓ¡«⌐ ¬«ß«⌐ τÑαΓδ, Γ«
  178. »«¿ß¬  ¡áτ¿¡áÑΓß∩ ó ¬«α¡Ñó«¼ ¬áΓὫúÑ, ó »α«Γ¿ó¡«¼ ß½πτáÑ «¡
  179. ¡áτ¿¡áÑΓß∩ ó ΓѬπΘѼ  ¬áΓὫúÑ.  "ä¿ß¬"  »αÑñßΓáó½∩ÑΓ  ß«í«⌐
  180. ¿ñÑ¡Γ¿Σ¿¬áΓ«α  ñ¿ß¬á  (Ç-Z).  àß½¿  "ä¿ß¬" ¿ ñó«ÑΓ«τ¿Ñ íπñπΓ
  181. «»πΘÑ¡δ, Γ« ¿ß»«½∞ºπÑΓß∩ ¡áº¡áτÑ¡¡δ⌐ »« π¼«½τá¡¿ε ñ¿ß¬«ó«ñ.
  182.      èáΓὫú "\¿¼∩_¬áΓ\¿¼∩_¬áΓ\...\¿¼∩_¬áΓ" ∩ó½∩ÑΓß∩  ¬«α¡Ñ-
  183. óδ¼  ¬áΓὫú«¼  ¿ »πΓѼ ñ«ßΓπ»á ¬ »«ñ¬áΓὫúπ, ó ¬«Γ«α«¼ ß«-
  184. ñÑনΓß∩ ¿¼∩ Σá⌐½á. Åáαá¼ÑΓα "¿¼∩_Σá⌐½á" ¼«ªÑΓ ß«ñÑαªáΓ∞  ñ«
  185. ó«ß∞¼¿  ß¿¼ó«½«ó, ºá ¬«Γ«α묨 ¼«úπΓ ß½Ññ«óáΓ∞ Γ«τ¬á ¿ αáßΦ¿-
  186. αÑ¡¿Ñ ¿¼Ñ¡¿ Σá⌐½á, ñ½¿¡«⌐ ñ« ΓαÑσ ß¿¼ó«½«ó. îá¬ß¿¼á½∞¡«  ñ«-
  187. »πßΓ¿¼á∩ ñ½¿¡á óßÑú« ¿¼Ñ¡¿ Σá⌐½á ß«ßΓáó½∩ÑΓ 79 ß¿¼ó«½«ó.
  188.      Äúαá¡¿τÑ¡¿∩: Åα«µÑñπαá Çssign ¡Ñ ñ«½ª¡á  ¿ß»«½∞º«óáΓ∞ß∩
  189. ñ½∩ «Γ¬αδΓ«ú« Σá⌐½á. è«úñá »áαá¼ÑΓα "¿¼∩" »αÑñßΓáó½∩ÑΓ ß«í«⌐
  190. »πßΓπε ßΓ᫬π, ó«º¡¿¬áÑΓ «ß«íδ⌐ ß½πτá⌐, Γ« ÑßΓ∞  Length(¿¼∩)
  191. αáó¡«  ¡π½ε.  é φΓ«¼ ß½πτáÑ »áαá¼ÑΓα f «¬áºδóáÑΓß∩ ßó∩ºá¡¡δ¼
  192. ß« ßΓá¡ñáαΓ¡δ¼ Σá⌐½«¼ óó«ñá ¿½¿ ßΓá¡ñáαΓ¡δ¼  Σá⌐½«¼  óδó«ñá.
  193. ¥Γ¿  ß»Ñµ¿á½∞¡δÑ  Σá⌐½δ  »«ºó«½∩εΓ ¿¡¿µ¿á½¿º¿α«óáΓ∞ ßαÑñßΓó«
  194. ¿º¼Ñ¡Ñ¡¿∩ ¡á»αáó½Ñ¡¿∩ óó«ñá-óδó«ñá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ äÄæ.
  195. àß½¿  »α¿ßó«Ñ¡«  »πßΓ«Ñ ¿¼∩, Γ« »«ß½Ñ «íαáΘÑ¡¿∩ ¬ RÑset(f) f
  196. íπñÑΓ π¬áºδóáΓ∞ ¡á ßΓá¡ñáα¡δ⌐ Σá⌐½ óó«ñá, á »«ß½Ñ  «íαáΘÑ¡¿∩
  197. ¬ RÑwritÑ(f) f íπñÑΓ π¬áºδóáΓ∞ ¡á ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá.
  198.      Åα¿¼Ñα: (äѽáÑΓß∩ »«»δΓ¬á ¡áº¡áτ¿Γ∞ ñ½∩ óδó«ñá »α«úαá¼-
  199. ¼δ ó¼ÑßΓ« äÄæ πßΓα«⌐ßΓó« ÉRN, ñ¿ß¬ ¿ Γ.ñ.)
  200.  
  201.  var f : text;
  202.  begin
  203.    Assign(f,'');                { ßΓá¡ñáαΓ¡δ⌐ óδó«ñ }
  204.    Rewrite(f);
  205.    Writeln(f,'ßΓá¡ñáαΓ¡δ⌐ óδó«ñ...');
  206.    Close(f);
  207.  end;
  208.  
  209. ------------------------------------------------------------
  210.  öπ¡¬µ¿∩ AssignCrt                               î«ñπ½∞ ært
  211. ------------------------------------------------------------
  212.      öπ¡¬µ¿∩: æó∩ºδóáÑΓ ΓѬßΓ«óδ⌐ Σá⌐½  ß  πßΓα«⌐ßΓó«¼  æRÆ.
  213. (ΓÑନ¡á½«¼).
  214.      Ä»¿ßá¡¿Ñ: AssignCrt(var f: Text)
  215.      Åα¿¼Ñτá¡¿∩: Åα«µÑñπαá ÇssignCrt αáí«ΓáÑΓ  Γ«τ¡«  ΓᬪÑ,
  216. ¬á¬  ßΓá¡ñáαΓ¡á∩  »α«µÑñπαá Çssing, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ«
  217. ¿¼Ñ¡¿ Σá⌐½á ¡Ñ π¬áºδóáÑΓß∩. é¼ÑßΓ« φΓ«ú« ΓѬßΓ«óδ⌐ Σá⌐½ ßó∩-
  218. ºδóáÑΓß∩ ß πßΓα«⌐ßΓó«¼ CRÆ (ΓÑନ¡á½«¼).
  219.      ¥Γ« »«ºó«½∩ÑΓ »«ºó«½∩ÑΓ π߬«α¿Γ∞ óδó«ñ  (¿½¿  óó«ñ)  »«
  220. ßαáó¡Ñ¡¿ε  ß Γ«⌐ ß¬«α«ßΓ∞ε, ¬«Γ«αá∩ íδ½á íδ ó«º¼«ª¡á »α¿ ¿ß-
  221. »«½∞º«óá¡¿¿ ßΓá¡ñáαΓ¡«ú« óδó«ñá (¿½¿ óó«ñá).
  222.      Åα¿¼Ñα:
  223.  
  224.  uses Crt;
  225.  var
  226.    f : text;
  227.  begin
  228.  Write('éδóÑßΓ¿ ¡á φ¬αá¡ ¿½¿ ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿? [S, P]');
  229.   if UpCase(ReadKey) = 'P' then
  230.      Assign(f,'PRN')   { óδó«ñ ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿ }
  231.   else
  232.      AssignCrt(f);     { óδó«ñ ¡á φ¬αá¡; ¿ß»«½∞ºπεΓß∩ »«ñ-
  233.                          »α«úαá¼¼δ αáí«Γδ ß φ¬αá¡«¼, «ßπ-
  234.                          ΘÑßΓó½∩εΘ¿Ñ íδßΓαδ⌐ óδó«ñ ¿¡Σ«α¼á-
  235.                          µ¿¿ }
  236.      Rewrite(f);
  237.      Writeln(f,'üδßΓαδ⌐ óδó«ñ τÑαѺ »α«úαá¼¼δ CRT...');
  238.      Close(f)
  239.   end.
  240.  
  241. ------------------------------------------------------------
  242.  Åα«µÑñπαá Bar                                 î«ñπ½∞ Graph
  243. ------------------------------------------------------------
  244.      öπ¡¬µ¿∩: É¿ßπÑΓ ßΓ«½íѵ, ¿ß»«½∞ºπ∩  ßΓá¡ñáαΓ¡δ⌐  Γ¿»  ¿
  245. µóÑΓ ºá¬αá߬¿.
  246.      Ä»¿ßá¡¿Ñ: Bar(x1, y1, x2, y2 : integer)
  247.      Åα¿¼Ñτá¡¿∩: É¿ßπÑΓß∩ ºá¬αáΦÑ¡¡δ⌐ ßΓ«½íѵ (τΓ« ¼«ª¡« ¿ß-
  248. »«½∞º«óáΓ∞, ¡á»α¿¼Ñα, ó ú¿ßΓ«úαá¼¼áσ). Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩
  249. «íαáºÑµ  ¿  µóÑΓ  ºá¬αá߬¿,  ºáñá¡¡δÑ  ß  »«¼«Θ∞ε   »α«µÑñπα
  250. SetFillStyle  ¿  SetFillPattern. àß½¿ »α¿ ºá»«½¡Ñ¡¿¿ »α∩¼«π-
  251. ú«½∞¡¿¬á ó«º¡¿¬áÑΓ «Φ¿í¬á,  Γ«  Σπ¡¬µ¿Ñ⌐  GraphResult  íπñÑΓ
  252. ó«ºóαáΘáΓ∞ß∩ ¬«ñ «Φ¿í¬¿ -6.
  253.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  254.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ: Bar3D,  GraphResult,  Set-
  255. FillStyle, SetFillPattern.
  256.      Åα¿¼Ñα:
  257.  
  258.  for i := 1 to 5 do
  259.    Bar(i*width, i*10, Succ(i)*width+1, 200);
  260.  
  261. ------------------------------------------------------------
  262.  Åα«µÑñπαá Bar3D                               î«ñπ½∞ Graph
  263. ------------------------------------------------------------
  264.      öπ¡¬µ¿∩: êß»«½∞ºπ∩ ΓѬπΘ¿⌐ Γ¿» ¿ µóÑΓ  ºá¬αá߬¿  α¿ßπÑΓ
  265. ΓαÑσ¼Ñα¡δ⌐ »áαá½Ñ½Ñ»¿»Ññ.
  266.      Ä»¿ßá¡¿Ñ: éár3D(σ1, π1,  σ2,  π2:  integer;  ú½πí¿¡á  :
  267. word; óÑαΦ¿¡á : ó««lÑán)
  268.      Åα¿¼Ñτá¡¿∩:     É¿ßπÑΓß∩     ºá»«½¡Ñ¡¡δ⌐     ΓαÑσ¼Ñα¡δ⌐
  269. »áαώѻ¿»Ññ. Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ Γ¿» ¿ µóÑΓ ºá¬αá߬¿, ºá-
  270. ñá¡¡δÑ ß »«¼«Θ∞ε  »α«µÑñπα  SetFillStile  ¿  SetFillPattern.
  271. ÆαÑσ¼Ñα¡δ⌐  ¬«¡Γπα  »áαώѻ¿»Ññá óδτÑατ¿óáÑΓß∩ ΓѼ µóÑΓ«¼ ¿
  272. Γ¿»«¼ ½¿¡¿¿, ¬«Γ«αδÑ πßΓá¡«ó½Ñ¡δ »α«µÑñπαἿ SetLineStyle  ¿
  273. SetColor.  Åáαá¼ÑΓα  "ú½πí¿¡á" »αÑñßΓáó½∩ÑΓ ß«í«⌐ τ¿ß½« φ½Ñ-
  274. ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩, ºáñáεΘ¿σ  ú½πí¿¡π  ΓαÑσ¼Ñα¡«ú«  ¬«¡Γπαá.
  275. àß½¿  »ÑαѼѡ¡á∩,  π¬áºá¡¡á∩  ó ¬áτÑßΓóÑ »áαá¼ÑΓαá "óÑαΦ¿¡á"
  276. »α¿¡¿¼áÑΓ ¿ßΓ¿¡¡«Ñ º¡áτÑ¡¿Ñ (ÆruÑ), Γ« ñ½∩ »áαώѻ¿»Ññá α¿-
  277. ßπÑΓß∩ ΓαÑσ¼Ñα¡á∩ óÑαΦ¿¡á, ó »α«Γ¿ó¡«¼ ß½πτáÑ óÑαΦ¿¡á ¡Ñ α¿-
  278. ßπÑΓß∩ (τΓ«  »«ºó«½∩ÑΓ  α¿ß«óáΓ∞  ¡Ñ߬«½∞¡«  »áαώѻ¿»Ññ«ó,
  279. αáß»«½«ªÑ¡¡δσ «ñ¿¡ ¡á ñαπú«¼).
  280.      Æ¿»¿τ¡δ⌐ »áαá¼ÑΓα ú½πí¿¡δ ¼«ª¡« óδτ¿ß½¿Γ∞, óº∩ó ºá  «ß-
  281. ¡«óπ 25% Φ¿α¿¡δ »áαώѽѻ¿»Ññá:
  282.  
  283.      Bar3D(x1, y1, x2, y2, (x2-x1) div 4, TopOn);
  284.  
  285.      àß½¿ »α¿ ºá»«½¡Ñ¡¿¿ »áαώѻ¿»Ññá »α«¿ßσ«ñ¿Γ «Φ¿í¬á, Γ«
  286. Σπ¡¬µ¿∩ GraphResult ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -6.
  287.      Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  288.  
  289.  const
  290.    TopOn  = True;
  291.    TopOff = False;
  292.  
  293.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  294.      Åα«τÑÑ: æ¼. ΓᬪѠ »α«µÑñπαδ:  Bar,  GraphResult,  Set-
  295. FillStyle, SetFillPattern, SetLineStyle.
  296.      Åα¿¼Ñα:
  297.  
  298.   y0 := 10;
  299.   y1 := 60;
  300.   y2 := 110;
  301.   x1 := 10;
  302.   x2 := 50;
  303.   Bar3D(x1, y0, x2, y1, 10, TopOn);
  304.   Bar3D(x1, y1, x2, y2, 10, TopOff);
  305.  
  306. ------------------------------------------------------------
  307.  Åα«µÑñπαá BlockRead
  308. ------------------------------------------------------------
  309.      öπ¡¬µ¿∩: æτ¿ΓδóáÑΓ «ñ¡π ¿½¿ í«½ÑÑ ºá»¿ßÑ⌐ ó »ÑαѼѡ¡πε.
  310.      Ä»¿ßá¡¿Ñ: él«ßkRÑád(var f : Σá⌐½; var íπΣΣ;  ßτÑΓτ¿¬  :
  311. word [; αѺπ½∞ΓáΓ : word ])
  312.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f »αÑñßΓáó½∩ÑΓ ß«í«⌐ Σá⌐½«óπε  »Ñ-
  313. αѼѡ¡πε,  "íπΣΣ"  -  ½εíá∩  »ÑαѼѡ¡á∩, "ßτÑΓτ¿¬" óδαáªÑ¡¿Ñ
  314. ñ½¿¡«⌐ ó ß½«ó« ¿ "αѺπ½∞ΓáΓ" - φΓ« ΓᬪѠ»ÑαѼѡá∩ ñ½¿¡«⌐  ó
  315. ß½«ó«.
  316.      äá¡¡á∩ »α«µÑñπαá ßτ¿ΓδóáÑΓ ºá»¿ß¿,  ¬«½¿τÑßΓó«  ¬«Γ«αδσ
  317. ¡Ñ »αÑó«ßσ«ñ¿Γ τ¿ß½á, π¬áºá¡¡«ú« ó »ÑαѼѡ¡«⌐ "ßτÑΓτ¿¬", ¡á-
  318. τ¿¡á∩ ß »Ñαó«ú« íá⌐Γá, ºá¡∩Γ«ú« »ÑαѼѡ¡«⌐ "íπΣΣ".  äÑ⌐ßΓó¿-
  319. Γѽ∞¡«Ñ  τ¿ß½«  »«½¡δσ ßτ¿Γá¡¡δσ ºá»¿ßÑ⌐ (¼Ñ¡∞ΦÑÑ ¿½¿ αáó¡«Ñ
  320. º¡áτÑ¡¿ε »ÑαѼѡ¡«⌐ "ßτÑΓτ¿¬") ó«ºóαáΘáÑΓß∩ ó ¡Ñ«í∩ºáΓѽ∞¡«¼
  321. »áαá¼ÑΓαÑ "αѺπ½∞ΓáΓ". àß½¿ φëà»áαá¼ÑΓα ¡Ñ ºáñá¡, Γ« ó Γ«¼
  322. ß½πτáÑ, ¬«úñá τ¿ß½« »α«τ¿Γá¡¡δσ ºá»¿ßÑ⌐ ¡Ñ  íπñÑΓ  ß«ó»áñáΓ∞
  323. ß«  º¡áτÑ¡¿Ñ¼  »ÑαѼѡ¡«⌐  "ßτÑΓτ¿¬", »α«¿º«⌐ñÑΓ «Φ¿í¬á óó«-
  324. ñá-óδó«ñá.
  325.      éÑß∞ αẼÑα »ÑαÑñá¡¡«ú« í½«¬á ¡Ñ »αÑóδΦáÑΓ  τ¿ß½á  íá⌐-
  326. Γ«ó,  «»αÑñѽ∩Ѽδσ  »α«¿ºóÑñÑ¡¿Ñ¼ º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ "ßτÑΓ-
  327. τ¿¬" ¿ ñ½¿¡δ ºá»¿ß¿,  π¬áºδóáѼ«⌐  »α¿  «Γ¬αδΓ¿¿  Σá⌐½á  (»«
  328. π¼«½τá¡¿ε  128).  àß½¿ φΓ« »α«¿ºóÑñÑ¡¿Ñ »αÑóδΦáÑΓ 65535 (64è
  329. íá⌐Γá), Γ« ó«º¡¿¬áÑΓ «Φ¿í¬á.
  330.      Åáαá¼ÑΓα "αѺπ½∞ΓáΓ" ∩ó½∩ÑΓß∩ ¡Ñ«í∩ºáΓѽ∞¡δ¼. Ä¡  αáí«-
  331. ΓáÑΓ  ß½ÑñπεΘ¿¼  «íαẫ¼. àß½¿ íδ½ »ÑαÑñá¡ óÑß∞ í½«¬, Γ« »α¿
  332. ó«ºóαáΓÑ π»αáó½Ñ¡¿∩ ó »áαá¼ÑΓαÑ "αѺπ½∞ΓáΓ" íπñÑΓ ß«ñÑαªáΓ∞-
  333. ß∩ Γ« ªÑ º¡áτÑ¡¿Ñ, τΓ« ¿ ó »ÑαѼѡ¡«⌐ "ßτÑΓτ¿¬". é »α«Γ¿ó¡«¼
  334. ß½πτáÑ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá "αѺπ½∞ΓáΓ" íπñÑΓ ¼Ñ¡∞ΦÑ: ñ« Γ«ú«,
  335. ¬á¬  π߻ѽᠺáóÑαΦ¿Γ∞ß∩ »ÑαÑñáτá, íδ½ «í¡áαπªÑ¡ ß¿¼ó«½ ¬«¡µá
  336. Σá⌐½á. é φΓ«¼ ß½πτáÑ, Ñß½¿  αẼÑα  ºá»¿ß¿  Σá⌐½á  »αÑóδΦáÑΓ
  337. Ññ¿¡¿µπ,  Γ« ó »áαá¼ÑΓαÑ "αѺπ½∞ΓáΓ" ó«ºóαáΘáÑΓß∩ τ¿ß½« »«½-
  338. ¡δσ »α«τ¿Γá¡¡δσ ºá»¿ßÑ⌐. Æá¬¿¼ «íαẫ¼,  ó«º¼«ª¡á∩  ¡Ñ»«½¡á∩
  339. »«ß½Ññ¡∩∩ ºá»¿ß∞ ¡Ñ πτ¿ΓδóáÑΓß∩ ó »áαá¼ÑΓαÑ "αѺπ½∞ΓáΓ".
  340.      é αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ él«ß¬RÑád ΓѬπΘá∩ »«-
  341. º¿µ¿∩  ó Σá⌐½Ñ »α«ñó¿úáÑΓß∩ ¡á τ¿ß½« ºá»¿ßÑ⌐, ºáñá¡¡δσ »ÑαÑ-
  342. ¼Ñ¡¡«⌐ "αѺπ½∞ΓáΓ".
  343.      Åα¿ ¿ß»«½∞º«óá¡¿¿ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá  {$I-}  Σπ¡¬µ¿∩
  344. IÄRÑsult  íπñÑΓ  ó«ºóαáΘáΓ∞ 0, Ñß½¿ «»Ñαᵿ∩ ºáóÑαΦ¿½áß∞ πß-
  345. »ÑΦ¡« ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  346.      Äúαá¡¿τÑ¡¿∩: öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  347.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 ¡Ñ»«½¡δÑ  ºá»¿ß¿  ßτ¿ΓδóáεΓß∩.  é
  348. óÑαß¿∩σ 4.0 ¿ 5.0 «¡¿ «ΓíαáßδóáεΓß∩.
  349.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ él«ßkWritÑ.
  350.      Åα¿¼Ñα:
  351.  
  352.  program CopyFile;
  353.  { Åα«ßΓá∩ »α«úαá¼¼á íδßΓα«ú« ¬«»¿α«óá¡¿∩ Σá⌐½«ó íѺ »α«óÑα-
  354.    ¬¿ ¡á ó«º¡¿¬¡«óÑ¡¿Ñ «Φ¿í«¬ }
  355.  var
  356.    FromF, ToF, : file;
  357.    NumRead, NumWritten : word;
  358.    buf : array[1..2048] of char;
  359.   begin
  360.     Assign(FromF, ParamSrt(1)); { «Γ¬αδΓ∞ óσ«ñ¡«⌐ Σá⌐½ }
  361.     Reset(FromF);               { αẼÑα ºá»¿ß¿ - 1 }
  362.     Assign(ToF, ParamStr(2));   { «Γ¬αδΓ∞ óδσ«ñ¡«⌐ Σá⌐½ }
  363.     Rewrite(ToF, 1);            { αẼÑα ºá»¿ß¿ = 1 }
  364.     Writeln('è«»¿α«óá¡¿Ñ ',FileSize(FromF),' íá⌐Γ«ó...');
  365.     repeat
  366.       BlockRead(FromF, buf, SizeOf(buf), NumberRead);
  367.       BlockWrite(ToF, buf, NumberRead, NumWritten);
  368.     until (NumRead = 0) or (NumWitten <> NumRead);
  369.      Close(FromF);
  370.      Close(ToF);
  371.   end.
  372.  
  373. ------------------------------------------------------------
  374.  Åα«µÑñπαá BlockWrite
  375. ------------------------------------------------------------
  376.      öπ¡¬µ¿∩: çỿßδóáÑΓ «ñ¡π ¿½¿ í«½ÑÑ ºá»¿ßÑ⌐ ¿º  »ÑαѼѡ-
  377. ¡«⌐.
  378.      Ä»¿ßá¡¿Ñ: él«ßkWritÑ(var f : Σá⌐½; var íπΣΣ; ßτÑΓτ¿¬  :
  379. word [; αѺπ½∞ΓáΓ : word ])
  380.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f »αÑñßΓáó½∩ÑΓ ß«í«⌐  ¡ÑΓ¿»¿º«óá¡-
  381. ¡πε  Σá⌐½«óπε  »ÑαѼѡ¡πε, "íπΣΣ" - ½εíá∩ »ÑαѼѡ¡á∩, "ßτÑΓ-
  382. τ¿¬" óδαáªÑ¡¿Ñ ñ½¿¡«⌐ ó ß½«ó« ¿ "αѺπ½∞ΓáΓ" - φΓ« ΓᬪѠ »Ñ-
  383. αѼѡá∩ ñ½¿¡«⌐ ó ß½«ó« (Γ.Ñ. ¿¼ÑÑΓ Γ¿» word).
  384.      äá¡¡á∩ »α«µÑñπαᠺỿßδóáÑΓ ºá»¿ß¿, ¬«½¿τÑßΓó«  ¬«Γ«αδσ
  385. ¡Ñ »αÑó«ßσ«ñ¿Γ τ¿ß½á, π¬áºá¡¡«ú« ó »ÑαѼѡ¡«⌐ "ßτÑΓτ¿¬", ¡á-
  386. τ¿¡á∩ ß »Ñαó«ú« íá⌐Γá, ºá¡∩Γ«ú« »ÑαѼѡ¡«⌐ "íπΣΣ".  äÑ⌐ßΓó¿-
  387. Γѽ∞¡«Ñ  τ¿ß½« »«½¡δσ ºá»¿ßá¡¡δσ ºá»¿ßÑ⌐ (¼Ñ¡∞ΦÑÑ ¿½¿ αáó¡«Ñ
  388. º¡áτÑ¡¿ε »ÑαѼѡ¡«⌐ "ßτÑΓτ¿¬") ó«ºóαáΘáÑΓß∩ ó ¡Ñ«í∩ºáΓѽ∞¡«¼
  389. »áαá¼ÑΓαÑ "αѺπ½∞ΓáΓ". àß½¿ φëà»áαá¼ÑΓα ¡Ñ ºáñá¡, Γ« ó Γ«¼
  390. ß½πτáÑ, ¬«úñá τ¿ß½« ºá»¿ßá¡¡δσ ºá»¿ßÑ⌐ ¡Ñ íπñÑΓ ß«ó»áñáΓ∞ ß«
  391. º¡áτÑ¡¿Ñ¼  »ÑαѼѡ¡«⌐ "ßτÑΓτ¿¬", »α«¿º«⌐ñÑΓ «Φ¿í¬á óó«ñá-óδ-
  392. ó«ñá.
  393.      éÑß∞ αẼÑα »ÑαÑñá¡¡«ú« í½«¬á ¡Ñ »αÑóδΦáÑΓ  τ¿ß½á  íá⌐-
  394. Γ«ó,  «»αÑñѽ∩Ѽδσ  »α«¿ºóÑñÑ¡¿Ñ¼ º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ "ßτÑΓ-
  395. τ¿¬" ¿ ñ½¿¡δ ºá»¿ß¿,  π¬áºδóáѼ«⌐  »α¿  «Γ¬αδΓ¿¿  Σá⌐½á  (»«
  396. π¼«½τá¡¿ε  128).  àß½¿ φΓ« »α«¿ºóÑñÑ¡¿Ñ »αÑóδΦáÑΓ 65535 (64è
  397. íá⌐Γá), Γ« ó«º¡¿¬áÑΓ «Φ¿í¬á.
  398.      Åáαá¼ÑΓα "αѺπ½∞ΓáΓ" ∩ó½∩ÑΓß∩ ¡Ñ«í∩ºáΓѽ∞¡δ¼. Ä¡  αáí«-
  399. ΓáÑΓ  ß½ÑñπεΘ¿¼  «íαẫ¼. àß½¿ íδ½ »ÑαÑñá¡ óÑß∞ í½«¬, Γ« »α¿
  400. ó«ºóαáΓÑ π»αáó½Ñ¡¿∩ ó »áαá¼ÑΓαÑ "αѺπ½∞ΓáΓ" íπñÑΓ ß«ñÑαªáΓ∞-
  401. ß∩ Γ« ªÑ º¡áτÑ¡¿Ñ, τΓ« ¿ ó »ÑαѼѡ¡«⌐ "ßτÑΓτ¿¬". é »α«Γ¿ó¡«¼
  402. ß½πτáÑ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá "αѺπ½∞ΓáΓ" íπñÑΓ ¼Ñ¡∞ΦÑ: ñ« Γ«ú«,
  403. ¬á¬  π߻ѽᠠºáóÑαΦ¿Γ∞ß∩ »ÑαÑñáτá, ñ¿ß¬ »ÑαÑ»«½¡¿½ß∩. é φΓ«¼
  404. ß½πτáÑ, Ñß½¿ αẼÑα ºá»¿ß¿ Σá⌐½á »αÑóδΦáÑΓ Ññ¿¡¿µπ, Γ« ó »á-
  405. αá¼ÑΓαÑ "αѺπ½∞ΓáΓ" ó«ºóαáΘáÑΓß∩ τ¿ß½« »«½¡δσ ºá»¿ßá¡¡δσ ºá-
  406. »¿ßÑ⌐. Æá¬¿¼ «íαẫ¼, ó«º¼«ª¡á∩ ¡Ñ»«½¡á∩ «ßΓáεΘá∩ß∩  »«ß½Ññ-
  407. ¡∩∩ ºá»¿ß∞ ¡Ñ πτ¿ΓδóáÑΓß∩ ó »áαá¼ÑΓαÑ "αѺπ½∞ΓáΓ".
  408.      é αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩  »α«µÑñπαδ  él«ßkWritÑ  ΓѬπΘá∩
  409. »«º¿µ¿∩  ó Σá⌐½Ñ »α«ñó¿úáÑΓß∩ ¡á τ¿ß½« ºá»¿ßÑ⌐, ºáñá¡¡δσ »Ñ-
  410. αѼѡ¡«⌐ "αѺπ½∞ΓáΓ".
  411.      Åα¿ ¿ß»«½∞º«óá¡¿¿ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$I-}  IÄRÑsult
  412. íπñÑΓ  ó«ºóαáΘáΓ∞ 0, Ñß½¿ «»Ñαᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡« ¿ ¡Ñ-
  413. ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  414.      Äúαá¡¿τÑ¡¿∩: öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  415.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 ¡Ñ»«½¡δÑ  ºá»¿ß¿  ßτ¿ΓδóáεΓß∩.  é
  416. óÑαß¿∩σ 4.0 ¿ 5.0 «¡¿ «ΓíαáßδóáεΓß∩.
  417.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ él«ßkWritÑ.
  418.      Åα¿¼Ñα: æ¼. »α¿¼Ñα ñ½∩ »α«µÑñπαδ él«ßkRÑád.
  419.  
  420. ------------------------------------------------------------
  421.  Åα«µÑñπαá æhDir
  422. ------------------------------------------------------------
  423.      öπ¡¬µ¿∩: éδ»«½¡∩ÑΓ ß¼Ñ¡π ΓѬπΘÑú« ¬áΓὫúá.
  424.      Ä»¿ßá¡¿Ñ: ChDir(s : string)
  425.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα  s  »αÑñßΓáó½∩ÑΓ  ß«í«⌐  óδαáªÑ¡¿Ñ
  426. ßΓ᫬«ó«ú«  Γ¿»á. ÆÑ¬πΘ¿⌐ ¬áΓὫú ¿º¼Ñ¡∩ÑΓß∩ ¡á Γ«Γ, ¬«Γ«αδ⌐
  427. ºáñáÑΓß∩ ß »«¼«Θ∞ε ¼áαΦαπΓá, π¬áºá¡¡«ú« ó »áαá¼ÑΓαÑ s.  àß½¿
  428. ó »áαá¼ÑΓαÑ s ºáñáÑΓß∩ íπ¬óÑ¡¡á∩ ¼ÑΓ¬á ñ¿ß¬«ó«ñá, Γ« ΓѬπΘ¿⌐
  429. ñ¿ß¬«ó«ñ ΓᬪѠ¿º¼Ñ¡∩ÑΓß∩.
  430.      Åα¿ ¿ß»«½∞º«óá¡¿¿ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá  {$I-}  Σπ¡¬µ¿∩
  431. IÄRÑsult  íπñÑΓ  ó«ºóαáΘáΓ∞ 0, Ñß½¿ «»Ñαᵿ∩ ºáóÑαΦ¿½áß∞ πß-
  432. »ÑΦ¡« ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  433.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetDir, RmDir, MkDir.
  434.      Åα¿¼Ñα:
  435.  
  436.   begin
  437.    {$I-}
  438.   { Å«½πτ¿Γ∞ ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ¿¼∩ ¬áΓὫúá }
  439.   ChDir(ParamStr(1));
  440.    if IOResult <> 0 then
  441.       Writeln('èáΓὫú ¡Ñ ¡á⌐ñÑ¡');
  442.   end.
  443.  
  444. ------------------------------------------------------------
  445.  Åα«µÑñπαá Chr
  446. ------------------------------------------------------------
  447.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ß¿¼ó«½, ß««ΓóÑΓßΓóπεΘ¿⌐  π¬áºá¡¡«¼π
  448. º¡áτÑ¡¿ε ¬«ñá ASCII.
  449.      Ä»¿ßá¡¿Ñ: Chr(x : byte)
  450.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x - φΓ« óδαáªÑ¡¿Ñ µÑ½«ú« Γ¿»á. ÉÑ-
  451. ºπ½∞ΓáΓ«¼  ∩ó½∩ÑΓß∩ ß¿¼ó«½ ß »«α∩ñ¬«óδ¼ º¡áτÑ¡¿Ñ¼ (º¡áτÑ¡¿Ñ¼
  452. ¬«ñá ÇSæII) x.
  453.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ Ärd.
  454.      Åα¿¼Ñα:
  455.  
  456. uses Printer;
  457.   begin
  458.    Writeln(Lst, Chr(12));  { »ÑαÑñáΓ∞ ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿
  459.                              ß¿¼ó«½ »ÑαÑó«ñá Σ«α¼áΓá }
  460.   end.
  461.  
  462. ------------------------------------------------------------
  463.  Åα«µÑñπαá Circle
  464. ------------------------------------------------------------
  465.      öπ¡¬µ¿∩: É¿ßπÑΓ «¬απª¡«ßΓ∞. Æ«τ¬á (ò,Y) ßτ¿ΓáÑΓß∩  µÑ¡-
  466. Γα«¼ «¬απª¡«ßΓ¿.
  467.      Ä»¿ßá¡¿Ñ: CirclÑ(ò,Y : integer; αáñ¿πß : word)
  468.      Åα¿¼Ñτá¡¿∩: Ä¬απª¡«ßΓ∞ α¿ßπÑΓß∩ ΓѬπΘ¿¼ µóÑΓ«¼. é  ¬áª-
  469. ñ«¼  úαáΣ¿τÑ߬«¼ ñαá⌐óÑαÑ ß«ñÑনΓß∩ ¬«φΣΣ¿µ¿Ñ¡Γ «Γ¡«ß¿Γѽ∞-
  470. ¡«ú« πñ½¿¡¡Ñ¡¿∩, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ó  »α«µÑñπαáσ  æirclÑ,
  471. Çrß ¿ ÉiÑSlißÑ.
  472.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  473.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Arc, Ellipse, GetArcCoords,
  474. GetAspectRatio, PieSlice.
  475.      Åα¿¼Ñα:
  476.  
  477. for r := 1 to 5 do
  478.    Circle(100,100,r*10);
  479.  
  480. ------------------------------------------------------------
  481.  Åα«µÑñπαá ClearDevice
  482. ------------------------------------------------------------
  483.      öπ¡¬µ¿∩: æíαáßδóáÑΓ ß«ßΓ«∩¡¿Ñ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« φ¬-
  484. αá¡á ¿ »«ñú«Γáó½¿óáÑΓ Ñú« ñ½∩ óδó«ñá ñá¡¡δσ.
  485.      Ä»¿ßá¡¿Ñ: ClearDevice
  486.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ »α«µÑñπαá «τ¿ΘáÑΓ πßΓα«⌐ßΓó« ¿ ßíαá-
  487. ßδóáÑΓ  óßÑ  úαáΣ¿τÑ߬¿Ñ  »áαá¼ÑΓαδ, πßΓá¡áó½¿óá∩ ñ½∩ ¡¿σ ΓÑ
  488. º¡áτÑ¡¿∩, ¬«Γ«αδÑ »αÑñπß¼«ΓαÑ¡δ »« π¼«½τá¡¿ε (ΓѬπΘ¿⌐ π¬áºá-
  489. Γѽ∞,  »á½¿Γαπ,  µóÑΓ, «í½áßΓ∞ óδó«ñá). Åα«µÑñπαá »ÑαѼÑΘáÑΓ
  490. ΓѬπΘ¿⌐ π¬áºáΓѽ∞ ó Γ«τ¬π ß ¬««αñ¿¡áΓἿ (0,0).
  491.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  492.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  493.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ ClearViewPort,  CloseGraph,
  494.  
  495. InitGraph, RestoreCrtMode, SetGraphMode.
  496.      Åα¿¼Ñα:
  497.  
  498.   Randomize;
  499.    repeat
  500.     LineTo(Random(200), Random(200));
  501.    until KeyPressed;
  502.   ClearDevice;
  503.   Readln;
  504.  
  505. ------------------------------------------------------------
  506.  Åα«µÑñπαá ClrarViewPort                       î«ñπ½∞ Graph
  507. ------------------------------------------------------------
  508.      öπ¡¬µ¿∩: Äτ¿ΘáÑΓ ΓѬπΘπε «í½áßΓ∞ »α«ß¼«Γαá («¬¡«).
  509.      Ä»¿ßá¡¿Ñ: ClearViewPort
  510.      Åα¿¼Ñτá¡¿∩: Äτ¿ΦáÑΓß∩ ΓѬπΘá∩  «í½áßΓ∞  »α«ß¼«Γαá.  Åα¿
  511. φΓ«¼ ¿ß»«½∞ºπÑΓß∩ µóÑΓ, ß«σαá¡Ñ¡¡δ⌐ ó ÉálettÑ(0), óδºδóáÑΓß∩
  512. »α«µÑñπαá Bar ¿ ΓѬπΘ¿⌐ π¬áºáΓѽ∞ »ÑαѼÑΘáÑΓß∩ ó Γ«τ¬π ß ¬«-
  513. «αñ¿¡áΓἿ  (0,0). àß½¿ »α¿ «τ¿ßΓ¬Ñ «í½áßΓ¿ »α«ß¼«Γαá ó«º¡¿-
  514. ¬áÑΓ «Φ¿í¬á, »α«µÑñπαá GraphResult ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -6.
  515.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  516.      Åα«τÑÑ: æ¼. ΓᬪѠ »α«µÑñπαδ  SetViewPort,  GetViewSet-
  517. tings.
  518.      Åα¿¼Ñα:
  519.  
  520.   begin
  521.    ...
  522.    SetrViewPort(10, 10, 100, 100, ClipOn);
  523.    SetColor(White);
  524.    OutText('ä½∩ «τ¿ßΓ¬¿ «í½áßΓ¿ »α«ß¼«Γαᠡ᪼¿ΓÑ <RETURN>);
  525.    ClearViePort;
  526.    ...
  527.   end;
  528.  
  529. ------------------------------------------------------------
  530.  Åα«µÑñπαá Close
  531. ------------------------------------------------------------
  532.      öπ¡¬µ¿∩: çá¬αδóáÑΓ «Γ¬αδΓδ⌐ Σá⌐½.
  533.      Ä»¿ßá¡¿Ñ: Close(f)
  534.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f »αÑñßΓáó½∩ÑΓ ß«í«⌐ Σá⌐½«óπε  »Ñ-
  535. αѼѡ¡πε  ½εí«ú« Γ¿»á Σá⌐½á, ¬«Γ«αδ⌐ íδ½ »αÑñóáα¿Γѽ∞¡« «Γ¬-
  536. αδΓ ß »«¼«Θ∞ε »α«µÑñπα RÑset, RÑwrite ¿½¿ ÇppÑnd. ä½∩  ó¡ÑΦ-
  537. ¡Ñú«  Σá⌐½á, ßó∩ºá¡¡«ú« ß »ÑαѼѡ¡«⌐ f »«½¡«ßΓ∞ε óδ»«½¡∩ÑΓß∩
  538. Ñú« «í¡«ó½Ñ¡¿Ñ ¿ ºáΓѼ «¡ ºá¬αδóáÑΓß∩, »«ß½Ñ  τÑú«  Σá⌐½«óδ⌐
  539. ¬á¡á½  äÄæ  ñ½∩ ñá¡¡«ú« Σá⌐½á «ßó«í«ªñáÑΓß∩ ñ½∩ »«ß½ÑñπεΘÑú«
  540. ¿ß»«½∞º«óá¡¿∩.
  541.      Åα¿ ¿ß»«½∞º«óá¡¿¿ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$I-}  IÄRÑsult
  542. íπñÑΓ  ó«ºóαáΘáΓ∞ 0, Ñß½¿ «»Ñαᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡« ¿ ¡Ñ-
  543. ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  544.      Åα«τÑÑ: æ¼.  ΓᬪѠ »α«µÑñπαδ  Append,  Assign,  Reset,
  545. Rewrite.
  546.      Åα¿¼Ñα:
  547.  
  548.  var f: file;
  549.  begin
  550.    Assign(f,'\AUTOEXEC.BAT');            { «Γ¬αδΓ∞ Σá⌐½ }
  551.    Reset(f,1);
  552.    Writeln('ÉẼÑα Σá⌐½á = ',FileSize);
  553.    Close(f);                             { ºá¬αδΓ∞ Σá⌐½ }
  554.  end.
  555.  
  556. ------------------------------------------------------------
  557.  Åα«µÑñπαá CloseGraph                          î«ñπ½∞ Graph
  558. ------------------------------------------------------------
  559.      öπ¡¬µ¿∩: ÄßΓá¡áó½¿óáÑΓ αáí«Γπ úαáΣ¿τÑ߬«⌐ ß¿ßΓѼδ.
  560.      Ä»¿ßá¡¿Ñ: CloseGraph
  561.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ »α«µÑñπαá  ó«ßßΓá¡áó½¿óáÑΓ  ¿ßσ«ñ¡δ⌐
  562. αѪ¿¼ φ¬αá¡á (¬«Γ«αδ⌐ íδ½ πßΓá¡«ó½Ñ¡ ñ« ¿¡¿µ¿á½¿ºáµ¿¿ úαáΣ¿-
  563. ¬¿) ¿ «ßó«í«ªñáÑΓ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿  »á-
  564. ¼∩Γ∞, ¿ß»«½∞ºπѼπε úαáΣ¿τÑ߬¿¼ ñαá⌐óÑα«¼.
  565.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  566.      Åα«τÑÑ: æ¼. ΓᬪѠ »α«µÑñπαδ  CloseGraph,  DetectGraph,
  567. InitGraph, RestoreCrtMode, SetGraphMode.
  568.      Åα¿¼Ñα:
  569.  
  570.  grDriver := Detect;  { πßΓá¡«ó¿Γ∞ áóΓ«¼áΓ¿τÑ߬«Ñ αáß»«º¡á-
  571.                         óá¡¿Ñ á»»áαáΓπαδ }
  572.  InitGraph(grDriver,grMode,'');
  573.   ...
  574.  CloseGraph;
  575.  
  576. ------------------------------------------------------------
  577.  Åα«µÑñπαá CrlEol                                î«ñπ½∞ ært
  578. ------------------------------------------------------------
  579.      öπ¡¬µ¿∩: æΓ¿αáÑΓ óßÑ ß¿¼ó«½δ, ¡áτ¿¡á∩ «Γ »«º¿µ¿¿ ¬παß«-
  580. αá, ñ« ¬«¡µá ßΓ᫬¿. èπαß«α »α¿ φΓ«¼ ¡Ñ »ÑαѼÑΘáÑΓß∩.
  581.      Ä»¿ßá¡¿Ñ: ClrEol
  582.      Åα¿¼Ñτá¡¿∩: éßÑ »«º¿µ¿¿ ß¿¼ó«½«ó ºá»«½¡∩εΓß∩ »α«íѽἿ.
  583. Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩  ΓѬπΘÑÑ «»αÑñѽѡ¿Ñ ΓѬßΓ«óδσ áΓα¿íπ-
  584. Γ«ó.  Æá¬¿¼ «íαẫ¼,  Ñß½¿ ó  ÆÑσtéáckground ¡Ñ ºáñá¡ τÑα¡δ⌐
  585. µóÑΓ, Γ« ó »«º¿µ¿∩σ, ¡áτ¿¡á∩ «Γ ¬παß«αá ¿ ñ« »αáó«⌐ úαá¡¿µδ,
  586. φ¬αá¡ »α¿«íαÑΓáÑΓ Σ«¡«óδ⌐ µóÑΓ.
  587.      ¥Γá »α«µÑñπαá ºáó¿ß¿Γ «Γ ¿ß»«½∞ºπѼ«ú« «¬¡á. ìá»α¿¼Ñα:
  588.  
  589.  Window(1,1,60,20);
  590.  ClrEol;
  591.  
  592. πßΓá¡«ó¿Γ ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿¿ ¬παß«αá ó¼ÑßΓ« º¡áτÑ¡¿⌐ (1,1)
  593. º¡áτÑ¡¿∩ (60,1) (Γ« ÑßΓ∞ »αáóá∩ úαá¡¿µá á¬Γ¿ó¡«ú« «¬¡á).
  594.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ ClrScr, Window.
  595.      Åα¿¼Ñα:
  596.  
  597.  uses Crt;
  598.  begin
  599.    TextBackGround(LightGray);
  600.    ClrEol;   { ñ½∩ «τ¿ΘÑ¡¡δσ »«º¿µ¿⌐ πßΓá¡áó½¿óáÑΓß∩ ßóÑΓ½«-
  601.                 ßÑαδ⌐ Σ«¡«óδ⌐ µóÑΓ }
  602.  end.
  603.  
  604. ------------------------------------------------------------
  605.  Åα«µÑñπαá ælrScr                                î«ñπ½∞ ært
  606. ------------------------------------------------------------
  607.      öπ¡¬µ¿∩: Äτ¿ΘáÑΓ φ¬αá¡ ¿ »«¼ÑΘáÑΓ ¬παß«α ó óÑασ¡¿⌐  ½Ñ-
  608. óδ⌐ πú«½ φ¬αá¡á.
  609.      Ä»¿ßá¡¿Ñ: ClrScr
  610.      Åα¿¼Ñτá¡¿∩: éßÑ »«º¿µ¿¿ ß¿¼ó«½«ó ºá»«½¡∩εΓß∩ »α«íѽἿ.
  611. Åα¿  φΓ«¼ ¿ß»«½∞ºπÑΓß∩ ΓѬπΘÑÑ «»αÑñѽѡ¿Ñ ΓѬßΓ«óδσ áΓα¿íπ-
  612. Γ«ó. Æá¬¿¼ «íαẫ¼, Ñß½¿ ñ½∩ ÆÑσtéáßkGround ¡Ñ ºáñá¡  τÑα¡δ⌐
  613. µóÑΓ,  Γ« ñ½∩ óßÑú« φ¬αá¡á πßΓá¡áó½¿óáÑΓß∩ Σ«¡«óδ⌐ µóÑΓ. ¥Γ«
  614. «Γ¡«ß¿Γß∩ ΓᬪѠ¬ »«º¿µ¿∩¼  ß¿¼ó«½«ó,  «τ¿ΘÑ¡¡δσ  ß  »«¼«Θ∞ε
  615. »α«µÑñπα  ælrà«l,  InsLine ¿ DelLine, á ΓᬪѠ¬ »πßΓδ¼ ßΓα«-
  616. ¬á¼, «íαáºπεΘ¿¼ß∩ »α¿ »α«½¿ßΓδóá¡¿¿ φ¬αá¡á.
  617.      ¥Γá »α«µÑñπαá ºáó¿ß¿Γ «Γ ¿ß»«½∞ºπѼ«ú« «¬¡á. ìá»α¿¼Ñα:
  618.  
  619.      Window(1,1,60,20);
  620.      ClrScr;
  621.  
  622. »α¿óÑñπΓ ¬ «τ¿ßΓ¬Ñ »α∩¼«πú«½∞¡«⌐ «í½áßΓ¿ ¡á φ¬αá¡Ñ  αẼÑα«¼
  623. 60σ20 ß ¡áτὫ¼ ó Γ«τ¬Ñ (1,1).
  624.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ ClrEol, Window.
  625.      Åα¿¼Ñα:
  626.  
  627.  uses Crt;
  628.  begin
  629.    TextBackGround(LightGray); { ñ½∩ óßÑú« φ¬αá¡á πßΓá¡áó½¿-
  630.                                 óáÑΓß∩ ßóÑΓ½«ßÑαδ⌐ Σ«¡«óδ⌐
  631.                                 µóÑΓ }
  632.    ClgScr;
  633.  end.
  634.  
  635. ------------------------------------------------------------
  636.  öπ¡¬µ¿∩ Concat
  637. ------------------------------------------------------------
  638.      öπ¡¬µ¿∩:   éδ»«½¡∩ÑΓ   ¬«¡¬áΓÑ¡áµ¿ε  »«ß½Ññ«óáΓѽ∞¡«ßΓ¿
  639. ßΓ᫬.
  640.      Ä»¿ßá¡¿Ñ: Concat(s1, [s2, ..., sn] ; string)
  641.      Æ¿» αѺπ½∞ΓáΓá: æΓ᫬«óδ⌐ (string).
  642.      Åα¿¼Ñτá¡¿∩: èáªñδ⌐ »áαá¼ÑΓα ∩ó½∩ÑΓß∩ óδαáªÑ¡¿Ñ¼ ßΓ᫬«-
  643. ó«ú« Γ¿»á.  ÉѺπ½∞ΓáΓ  »αÑñßΓáó½∩ÑΓ  ß«í«⌐ ¬«¡¬áΓѡᵿε óßÑσ
  644. ßΓ᫬«óδσ »áαá¼ÑΓα«ó.  àß½¿ ñ½¿¡á αѺπ½∞Γ¿απεΘÑ⌐ ßΓ᫬¿ »αÑ-
  645. óδΦáÑΓ 255 ß¿¼ó«½«ó, Γ« «¡á πßѬáÑΓß∩ ñ« 255 ß¿¼ó«½«ó.
  646.      Åα¿¼Ñα:
  647.  
  648.  var
  649.    s : string;
  650.  begin
  651.    s := Concat('ABC','DEF');                    { 'ABCDEF' }
  652.  end.
  653.  
  654. ------------------------------------------------------------
  655.  öπ¡¬µ¿∩ Copy
  656. ------------------------------------------------------------
  657.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñ½∩ ßΓ᫬¿ »«ñßΓ᫬π.
  658.      Ä»¿ßá¡¿Ñ: æ«py(s : string; ¿¡ñѬߠ: integer; ßτÑΓτ¿¬  :
  659. integer)
  660.      Æ¿» αѺπ½∞ΓáΓá: æΓ᫬«óδ⌐ (string).
  661.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα s  -  óδαáªÑ¡¿Ñ  ßΓ᫬«ó«ú«  Γ¿»á.
  662. Åá-αá¼ÑΓαδ  "¿¡ñѬß" ¿ "ßτÑΓτ¿¬" ∩ó½∩εΓß∩ óδαáªÑ¡¿∩¼¿ µÑ½«ú«
  663. Γ¿»á. öπ¡¬µ¿∩ æ«py ó«ºóαáΘáÑΓ ßΓ᫬π, τ¿ß½« ß¿¼ó«½«ó ¬«Γ«α«⌐
  664. ß««ΓóÑΓßΓóπÑΓ  »áαá¼ÑΓαπ  "ßτÑΓτ¿¬"  ¿  ¬«Γ«αá∩ ¡áτ¿¡áÑΓß∩ ß
  665. ß¿¼ó«½á ßΓ᫬¿ s, ¡«¼Ñα ¬«Γ«α«ú« ºáñá¡ »áαá¼ÑΓα«¼  "¿¡ñѬß".
  666. àß½¿  º¡áτÑ¡¿Ñ »áαá¼ÑΓαá "¿¡ñѬß" »αÑóδΦáÑΓ ñ½¿¡π ßΓ᫬¿, Γ«
  667. ó«ºóαáΘáÑΓß∩ »πßΓá∩ ßΓ᫬á. àß½¿ »áαá¼ÑΓα  "ßτÑΓτ¿¬"  ºáñáÑΓ
  668. í«½∞ΦÑ  ß¿¼ó«½«ó,  τѼ  «ßΓáÑΓß∩ ó ßΓ᫬Ñ, ¡áτ¿¡á∩ ß ß¿¼ó«½á
  669. "¿¡ñѬß", Γ« ó«ºóαáΘáÑΓß∩ Γ«½∞¬« «ßΓáΓ«¬ ßΓ᫬¿.
  670.      Åα¿¼Ñα:
  671.  
  672.  var
  673.    s : string;
  674.  begin
  675.    s := 'ABCDEF';
  676.    s := Copy(s,2,3)                             { 'BCD' }
  677. end.
  678.  
  679. ------------------------------------------------------------
  680.  öπ¡¬µ¿∩ Cos
  681. ------------------------------------------------------------
  682.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ¬«ß¿¡πß áαúπ¼Ñ¡Γá.
  683.      Ä»¿ßá¡¿Ñ: Cos(x : real)
  684.      Æ¿» αѺπ½∞ΓáΓá: éÑΘÑßΓóÑ¡¡δ⌐ (real).
  685.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x ∩ó½∩ÑΓß∩ óδαáªÑ¡¿Ñ¼ óÑΘÑßΓóÑ¡¡«-
  686. ú«  Γ¿»á.  ÉѺπ½∞ΓáΓ«¼  íπñÑΓ ¬«ß¿¡πß x. ÅαÑñ»«½áúáÑΓß∩, τΓ«
  687. φΓ« º¡áτÑ¡¿Ñ ºáñáÑΓ πú«½ ó αáñ¿á¡áσ.
  688.      Åα¿¼Ñα:
  689.  
  690.  var
  691.   r : real;
  692.  begin
  693.   r := Cos(Pi);
  694.  end.
  695.  
  696. ------------------------------------------------------------
  697.  öπ¡¬µ¿∩ CSeg
  698. ------------------------------------------------------------
  699.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá æS.
  700.      Ä»¿ßá¡¿Ñ: CSeg
  701.      Æ¿» αѺπ½∞ΓáΓá: ÉѺπ½∞ΓáΓ ¿¼ÑÑΓ ñ½¿¡π ó ß½«ó« (word).
  702.      Åα¿¼Ñτá¡¿∩: ÉѺπ½∞ΓáΓ ñ½¿¡«⌐ ó ß½«ó« »αÑñßΓáó½∩ÑΓ ß«í«⌐
  703. áñαÑß  ßÑú¼Ñ¡Γá ñ½∩ Γ«⌐ τáßΓ¿ »α«úαá¼¼δ, ¿º ¬«Γ«α«⌐ íδ½á óδ-
  704. ºóá¡á Σπ¡¬µ¿∩ æSeg.
  705.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ DSeg, SSeg.
  706.  
  707. ------------------------------------------------------------
  708.  Åα«µÑñπαá Dec
  709. ------------------------------------------------------------
  710.      öπ¡¬µ¿∩: ô¼Ñ¡∞ΦáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐.
  711.      Ä»¿ßá¡¿Ñ: Dec(x[ , n])
  712.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x  »αÑñßΓáó½∩ÑΓ  ß«í«⌐  »ÑαѼѡ¡πε
  713. »ÑαÑτ¿ß½¿¼«ú«  Γ¿»á, á n - µÑ½«τ¿ß½Ñ¡¡«Ñ óδαáªÑ¡¿Ñ. ç¡áτÑ¡¿Ñ
  714. x π¼Ñ¡∞ΦáÑΓß∩ ¡á 1 (¿½¿ ¡á n ó ß½πτáÑ ∩ó¡«ú« ºáñá¡¿∩ n).  Æ«
  715. ÑßΓ∞ DÑß(x) ß««ΓóÑΓßΓóπÑΓ x := x-1, á DÑß(x,n) ß««ΓóÑΓßΓóπÑΓ
  716. x := x-n. öπ¡¬µ¿∩ DÑß »«α«ªñáÑΓ «»Γ¿¼¿º¿α«óá¡¡δ⌐ ¬«ñ ¿  «ß«-
  717. íÑ¡¡« »«½Ñº¡á ó í«½∞Φ¿σ µ¿¬½áσ.
  718.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Inc, Pred.
  719.      Åα¿¼Ñα:
  720.  
  721. var
  722.   IntVar     : integer;
  723.   LongIntVar : longint;
  724. begin
  725.    Dec(IntVar);                     { IntVar := IntVar - 1 }
  726.    Dec(LongIntVar(Var, 5);  { LongIntVar := LongIntVar - 5 }
  727. end.
  728.  
  729. ------------------------------------------------------------
  730.  Åα«µÑñπαá Delay                                 î«ñπ½∞ Crt
  731. ------------------------------------------------------------
  732.      öπ¡¬µ¿∩: éδ»«½¡∩ÑΓ ºáñÑ᪬π ¡á ºáñá¡¡«Ñ τ¿ß½«  ¼¿½½¿ßÑ-
  733. ¬π¡ñ.
  734.      Ä»¿ßá¡¿Ñ: Delay(¼ßѬ : word)
  735.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα ¼ßѬ ºáñáÑΓ τ¿ß½« ¼¿½½¿ßѬπ¡ñ  ¿¡-
  736. ΓÑαóá½á «ª¿ñá¡¿∩.
  737.      äá¡¡á∩ »α«µÑñπαá ∩ó½∩ÑΓß∩ »α¿í½¿º¿Γѽ∞¡«⌐, »«φΓ«¼π  »Ñ-
  738. α¿«ñ  ºáñÑ᪬¿ ¡Ñ íπñÑΓ Γ«τ¡« αáó¡∩Γ∞ß∩ ºáñá¡¡«¼π τ¿ß½π ¼¿½-
  739. ½¿ßѬπ¡ñ.
  740.  
  741. ------------------------------------------------------------
  742.  Åα«µÑñπαá Delete
  743. ------------------------------------------------------------
  744.      öπ¡¬µ¿∩: ôñá½∩ÑΓ ¿º ßΓ᫬¿ »«ñßΓ᫬π.
  745.      Ä»¿ßá¡¿Ñ: Delete(var s  :  string;  ¿¡ñѬߠ :  integer;
  746. ßτÑΓτ¿¬ : integer)
  747.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα  s  »αÑñßΓáó½∩ÑΓ  ß«í«⌐  óδαáªÑ¡¿Ñ
  748. ßΓ᫬«ó«ú« Γ¿»á. Åáαá¼ÑΓαδ "¿¡ñѬß" ¿ "ßτÑΓτ¿¬" ∩ó½∩εΓß∩ óδ-
  749. αáªÑ¡¿∩¼¿ µÑ½«ú« Γ¿»á. öπ¡¬µ¿∩ Delete πñá½∩ÑΓ ß¿¼ó«½δ, ¬«½¿-
  750. τÑßΓó«  ¬«Γ«αδσ ß««ΓóÑΓßΓóπÑΓ »áαá¼ÑΓαπ "ßτÑΓτ¿¬", ¡áτ¿¡á∩ ß
  751. ß¿¼ó«½á ßΓ᫬¿ s, ¡«¼Ñα ¬«Γ«α«ú« ºáñá¡ »áαá¼ÑΓα«¼  "¿¡ñѬß".
  752. àß½¿  º¡áτÑ¡¿Ñ »áαá¼ÑΓαá "¿¡ñѬß" »αÑóδΦáÑΓ ñ½¿¡π ßΓ᫬¿, Γ«
  753. ß¿¼ó«½δ ¡Ñ πñá½∩εΓß∩. àß½¿ »áαá¼ÑΓα "ßτÑΓτ¿¬" ºáñáÑΓ  í«½∞ΦÑ
  754. ß¿¼ó«½«ó, τѼ «ßΓáÑΓß∩ ó ßΓ᫬Ñ, ¡áτ¿¡á∩ ß ß¿¼ó«½á "¿¡ñѬß",
  755. Γ« πñá½∩ÑΓß∩ «ßΓáΓ«¬ ßΓ᫬¿.
  756.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Insert, Copy, Concat, Pos.
  757.  
  758. ------------------------------------------------------------
  759.  Åα«µÑñπαá DelLine                               î«ñπ½∞ ært
  760. ------------------------------------------------------------
  761.      öπ¡¬µ¿∩: ôñá½∩ÑΓ ßΓ᫬π, ¡á ¬«Γ«α«⌐ ¡áσ«ñ¿Γß∩ ¬παß«α.
  762.      Ä»¿ßá¡¿Ñ: DelLine
  763.      Åα¿¼Ñτá¡¿∩: ôñá½∩ÑΓß∩ ßΓ᫬á, ó ¬«Γ«α«⌐ αáß»«½«ªÑ¡ ¬πα-
  764. ß«α.  Åα¿ φΓ«¼ óßÑ ßΓ᫬¿, αáß»«½«ªÑ¡¡δÑ ¡¿ªÑ ñá¡¡«⌐ ßΓ᫬¿,
  765. »ÑαѼÑΘáεΓß∩ ¡á «ñ¡π ßΓ᫬π óóÑασ  (ñ½∩  φΓ«ú«  ¿ß»«½∞ºπÑΓß∩
  766. »α«úαἼᠠ½¿ßΓá¡¿∩  φ¬αá¡á  íẫó«⌐  ß¿ßΓѼδ óó«ñá-óδó«ñá).
  767. é¡¿ºπ φ¬αá¡á ñ«íáó½∩ÑΓß∩ ¡«óá∩ ßΓ᫬á.
  768.      Åα¿¼Ñτá¡¿∩: éßÑ »«º¿µ¿¿ ß¿¼ó«½«ó ºá»«½¡∩εΓß∩ »α«íѽἿ.
  769. Åα¿  φΓ«¼ ¿ß»«½∞ºπÑΓß∩ ΓѬπΘÑÑ «»αÑñѽѡ¿Ñ ΓѬßΓ«óδσ áΓα¿íπ-
  770. Γ«ó. Æá¬¿¼ «íαẫ¼, Ñß½¿ ñ½∩ ÆÑσtéáßkGround ¡Ñ ºáñá¡  τÑα¡δ⌐
  771. µóÑΓ, Γ« ñ½∩ óßÑú« φ¬αá¡á πßΓá¡áó½¿óáÑΓß∩ Σ«¡«óδ⌐ µóÑΓ.
  772.      ¥Γá »α«µÑñπαá ºáó¿ß¿Γ «Γ ΓѬπΘÑú« «¬¡á. ìá»α¿¼Ñα:
  773.  
  774.      Window(1,10,60,20);
  775.      DelLine; »α¿ó«ñ¿Γ ¬ πñá½Ñ¡¿ε »Ñαó«⌐ ßΓ᫬¿ «¬¡á,  ¬«Γ«-
  776. αá∩ ∩ó½∩ÑΓß∩ ñÑß∩Γ«⌐ ßΓ᫬«⌐ φ¬αá¡á.
  777.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ InsLine, Window.
  778.  
  779. ------------------------------------------------------------
  780.  Åα«µÑñπαá DetectGraph                         î«ñπ½∞ Graph
  781. ------------------------------------------------------------
  782.      öπ¡¬µ¿∩: Åα«óÑα∩ÑΓ ¡á½¿τ¿Ñ  ß««ΓóÑΓßΓóπεΘ¿σ  á»»áαáΓ¡δσ
  783. ßαÑñßΓó ¿ «»αÑñѽ∩ÑΓ, ¬á¬«⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼ ¿ ñαá⌐óÑα ß½Ñ-
  784. ñπÑΓ ¿ß»«½∞º«óáΓ∞.
  785.      Ä»¿ßá¡¿Ñ: DetectGraph(var ñαá⌐óÑα, αѪ¿¼ : integer)
  786.      Åα¿¼Ñτá¡¿∩: é«ºóαáΘáÑΓ  º¡áτÑ¡¿∩  óδíαá¡¡«ú«  αѪ¿¼á  ¿
  787. ñαá⌐óÑαá,  ¬«Γ«αδÑ ¼«ª¡« »ÑαÑñáΓ∞ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó »α«-
  788. µÑñπαÑ InitGraph  ñ½∩  ºáúαπº¬¿  ß««ΓóÑΓßΓóπεΘÑú«  ñαá⌐óÑαá.
  789. àß½¿  úαáΣ¿τÑ߬á∩ á»»áαáΓπαá ¡Ñ ¡á⌐ñÑ¡á, Γ« »áαá¼ÑΓαδ "ñαá⌐-
  790. óÑα" ¿ "αѪ¿¼" íπñπΓ ß«ñÑαªáΓ∞ º¡áτÑ¡¿∩ -2.
  791.      Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  792.  
  793.  const
  794.    Detect    = 0;  { ΓαÑí«óá¡¿Ñ áóΓ«¼áΓ¿τÑ߬«ú« αáß»«º¡áóá-
  795.                      ¡¿∩ }
  796.    CGA       = 1;
  797.    MCGA      = 2;
  798.    EGA       = 3;
  799.    EGA64     = 4;
  800.    EgaMono   = 5;
  801.    Reserved  = 6;
  802.    HercMono  = 7;
  803.    ATT400    = 8;
  804.    VGA       = 9;
  805.    PC3270    = 10;
  806.  
  807.      àß½¿ ¡Ñ π¬áºδóáεΓß∩ ñαπú¿Ñ  ñÑ⌐ßΓó¿∩,  »α«µÑñπαá  Init-
  808. Graph  óδºδóáÑΓ  »α«µÑñπαπ  DetectGraph, ¡áσ«ñ¿Γ ¿ ºáúαπªáÑΓ
  809. ß««ΓóÑΓßΓóπεΘ¿⌐ ñαá⌐óÑα ¿ ¿¡¿µ¿á½¿º¿απÑΓ úαáΣ¿τÑ߬πε  ß¿ßΓÑ-
  810. ¼π. àñ¿¡ßΓóÑ¡¡«⌐ »α¿τ¿¡«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« ó맮óá »α«µÑñπαδ
  811. DetectGraph ∩ó½∩ÑΓß∩ ºá¼Ñ¡á óδí¿αáѼ«ú« Ñ⌐ ñαá⌐óÑαá. é  »α¿-
  812. óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ ¿ñÑ¡Γ¿Σ¿µ¿απÑΓß∩ ß¿ßΓѼá ß «íΩѼ«¼ »á-
  813. ¼∩Γ¿ 64 ¿½¿ 256è ¿ úαáΣ¿τÑ߬¿¼ áñá»ΓÑα«¼ àGÇ, ¡« ºáúαπªáÑΓß∩
  814. ñαá⌐óÑα æGÇ. çá¼ÑΓ¿¼, τΓ« ¬«úñá óδ »ÑαÑñáÑΓÑ »α«µÑñπαÑ Init-
  815. Graph »áαá¼ÑΓα  GraphDriver (ºáñáεΘ¿⌐ ñαá⌐óÑα), «Γ½¿τáεΘ¿⌐ß∩
  816. «Γ  Detect, óδ ñ«½ª¡δ ΓᬪѠ»ÑαÑñáΓ∞ ñ½∩ ΓαÑíπѼ«ú« ñαá⌐óÑαá
  817. ó »áαá¼ÑΓαÑ GraphMode ñ«»πßΓ¿¼δ⌐ úαáΣ¿τѬ¿⌐ αѪ¿¼.
  818.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ InitGraph, GraphResult.
  819.      Åα¿¼Ñα:
  820.  
  821.      ....
  822.      GraphDriver := Detect;
  823.      DetectGraph(GraphDriver, GraphMode);
  824.      if (GraphDriver = EGA64) then
  825.    begin
  826.     GraphDriver := CGA;
  827.     GraphMode := CGAHi;
  828.    end;
  829.    InitGraph(GraphDriver, GraphMode, 'C:\BIN');
  830.    ...
  831.  
  832. ------------------------------------------------------------
  833.  Åα«µÑñπαá DiskFree                              î«ñπ½∞ Dos
  834. ------------------------------------------------------------
  835.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ τ¿ß½« ßó«í«ñ¡δσ íá⌐Γ«ó ¡á  ºáñá¡¡«¼
  836. ñ¿ß¬Ñ.
  837.      Ä»¿ßá¡¿Ñ: DiskFree(ñ¿ß¬: word)
  838.      Æ¿» αѺπ½∞ΓáΓá: ä½¿¡¡δ⌐ µÑ½δ⌐ (longint).
  839.      Åα¿¼Ñτá¡¿∩: ç¡áτÑ¡¿Ñ »áαá¼ÑΓαá "ñ¿ß¬", αáó¡«Ñ 0, ºáñáÑΓ
  840. «»αÑñѽѡ¡δ⌐ »« π¼«½τá¡¿ε ñ¿ß¬, º¡áτÑ¡¿Ñ 1 π¬áºδóáÑΓ ¡á ñ¿ß¬
  841. Ç, 2 - ¡á ñ¿ß¬ é ¿ Γ.ñ. àß½¿ ¡«¼Ñα ñ¿ß¬á ¡ÑñÑ⌐ßΓó¿Γѽѡ,  Γ«
  842. ñá¡¡á∩ »α«µÑñπαá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -1.
  843.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ DiskSize, GetDir.
  844.      Åα¿¼Ñα:
  845.  
  846.   uses Dos;
  847.   begin
  848.     Writeln('æó«í«ñ¡« ',DiskFree(0), div 1024,' ¬¿½«íá⌐Γ');
  849.   end.
  850.  
  851. ------------------------------------------------------------
  852.  Åα«µÑñπαá DiskSize                              î«ñπ½∞ Dos
  853. ------------------------------------------------------------
  854.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ τ¿ß½« ßó«í«ñ¡δσ íá⌐Γ«ó ¡á  ºáñá¡¡«¼
  855. ñ¿ß¬Ñ.
  856.      Ä»¿ßá¡¿Ñ: DiskSizÑ(ñ¿ß¬: word)
  857.      Æ¿» αѺπ½∞ΓáΓá: ä½¿¡¡δ⌐ µÑ½δ⌐ (longint).
  858.      Åα¿¼Ñτá¡¿∩: ç¡áτÑ¡¿Ñ »áαá¼ÑΓαá "ñ¿ß¬", αáó¡«Ñ 0, ºáñáÑΓ
  859. «»αÑñѽѡ¡δ⌐ »« π¼«½τá¡¿ε ñ¿ß¬, º¡áτÑ¡¿Ñ 1 π¬áºδóáÑΓ ¡á ñ¿ß¬
  860. Ç, 2 - ¡á ñ¿ß¬ é ¿ Γ.ñ. àß½¿ ¡«¼Ñα ñ¿ß¬á ¡ÑñÑ⌐ßΓó¿Γѽѡ,  Γ«
  861. ñá¡¡á∩ »α«µÑñπαá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -1.
  862.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ DiskFree, GetDir.
  863.      Åα¿¼Ñα:
  864.  
  865.  uses Dos;
  866.   begin
  867.     Writeln(DiskSize(0) div 1024,' ¬¿½«íá⌐Γ ßó«í«ñ¡«');
  868.   end.
  869.  
  870. ------------------------------------------------------------
  871.  Åα«µÑñπαá Dispose
  872. ------------------------------------------------------------
  873.      öπ¡¬µ¿∩: ô¡¿τΓ«ªáÑΓ ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε.
  874.      Ä»¿ßá¡¿Ñ: DisposÑ(var p: pointer)
  875.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα p ∩ó½∩ÑΓß∩ »ÑαѼѡ¡«⌐-π¬áºáΓѽѼ ¿
  876. ¼«ªÑΓ  ¿¼ÑΓ∞ Γ¿», ß««ΓóÑΓßΓóπεΘ¿⌐ ½εí«¼π Γ¿»π π¬áºáΓѽ∩. ä½∩
  877. φΓ«ú« »áαá¼ÑΓαá ñ«½ª¡« íδΓ∞ »αÑñóáα¿Γѽ∞¡« óδ»«½¡Ñ¡« »α¿ßóá-
  878. ¿óá¡¿Ñ ß »«¼«Φ∞ε »α«µÑñπαδ New ¿½¿ Ñ¼π ñ«½ª¡« íδΓ∞ »α¿ßó«Ñ¡«
  879. º¡áτáΘÑÑ º¡áτÑ¡¿Ñ ß »«¼«Θ∞ε «»ÑαáΓ«αá  »α¿ßóá¿óá¡¿∩.  äá¡¡á∩
  880. »α«µÑñπαá  αáºαπΦáÑΓ  »ÑαѼѡ¡πε,  ¡á  ¬«Γ«απε π¬áºδóáÑΓ p ¿
  881. ó«ºóαáΘáÑΓ ºá¡¿¼áѼπε Ñ⌐ »á¼∩Γ∞ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε
  882. «í½áßΓ∞  »á¼∩Γ¿. ç¡áτÑ¡¿Ñ p ßΓá¡«ó¿Γß∩ ¡Ñ«»αÑñѽѡ¡δ¼ ¿ »«ß-
  883. ½ÑñπεΘ¿Ñ ßß佬¿ ó¿ñá p  ∩ó½∩εΓß∩ «Φ¿í¬«⌐.
  884.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Release, FreeMem.
  885.      Åα¿¼Ñα:
  886.  
  887.  type
  888.    Str18 = sting[18];
  889.  var
  890.    p : ^Str18;
  891.  begin
  892.   New(p);
  893.   p^ := 'ΓÑ»Ñα∞ óδ ¼«ªÑΓÑ φΓ« ó¿ñÑΓ∞...';
  894.   Dispose(p);                            { á ΓÑ»Ñα∞ ¡ÑΓ... }
  895.   end.
  896.  
  897. ------------------------------------------------------------
  898.  öπ¡¬µ¿∩ DosExitCode                             î«ñπ½∞ Dos
  899. ------------------------------------------------------------
  900.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñ½∩ »«ñ»α«µÑßßá ¬«ñ ºáóÑαΦÑ¡¿∩.
  901.      Ä»¿ßá¡¿Ñ: DosExitCode
  902.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  903.      Åα¿¼Ñτá¡¿∩: î½áñΦ¿⌐ íá⌐Γ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«ñ,  »ÑαÑ-
  904. ñá¡¡δ⌐  »α«µÑßß«¼  »α¿  ºáóÑαΦÑ¡¿¿.  ç¡áτÑ¡¿Ñ ßΓáαΦÑú« íá⌐Γá
  905. αáó¡« 0 »α¿ ¡«α¼á½∞¡«¼ ºáóÑαΦÑ¡¿¿, 1 - »α¿ ºáóÑαΦÑ¡¿¿ »« ¡á-
  906. ªáΓ¿ε ¬½áó¿Φ ætrl-æ, 2 - »α¿ ºáóÑαΦÑ¡¿¿ ¿º-ºá «Φ¿í¬¿ πßΓα«⌐-
  907. ßΓóá ¿ 3 - Ñß½¿ »α«µÑßß íδ½ ºáóÑαΦÑ¡ »α«µÑñπα«⌐ Keep.
  908.  
  909. ------------------------------------------------------------
  910.  Åα«µÑñπαá DrawPoly                            î«ñπ½∞ Graph
  911. ------------------------------------------------------------
  912.      öπ¡¬µ¿∩: êß»«½∞ºπ∩ ΓѬπΘ¿⌐ Γ¿» »α∩¼«⌐  ¿  ΓѬπΘ¿⌐  µóÑΓ
  913. α¿ßπÑΓ ¬«¡Γπα ¼¡«ú«πú«½∞¡¿¬á.
  914.      Ä»¿ßá¡¿Ñ: DrawPoly(τ¿ß½_¬««αñ : word; var ¬««αñ_óÑαΦ)
  915.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "¬««αñ_óÑαΦ" ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º«óá¡-
  916. ¡δ¼  »áαá¼ÑΓα«¼, ¬«Γ«αδ⌐ ß«ñÑαª¿Γ ¬««αñ¿¡áΓδ ¬áªñ«ú« »ÑαÑßÑ-
  917. τÑ¡¿∩ ó ¼¡«ú«πú«½∞¡¿¬Ñ. Åáαá¼ÑΓα "τ¿ß½_¬««αñ"  ºáñáÑΓ  τ¿ß½«
  918. ¬««αñ¿¡áΓ  ó  "¬««αñ_óÑαΦ". è««αñ¿¡áΓá ß«ßΓ«¿Γ ¿º ñóπσ ß½«ó:
  919. º¡áτÑ¡¿∩ x ¿ º¡áτÑ¡¿∩ y.
  920.      äá¡¡á∩ »α«µÑñπαá ¿ß»«½∞ºπÑΓ ΓѬπΘ¿⌐ Γ¿» ½¿¡¿¿ ¿ ΓѬπΘ¿⌐
  921. µóÑΓ.
  922.      àß½¿ »α¿ óδτÑατ¿óá¡¿¿ ¼¡«ú«πú«½∞¡¿¬á »α«¿ßσ«ñ¿Γ «Φ¿í¬á,
  923. Γ« Σπ¡¬µ¿∩ GraphResult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ -6.
  924.      çá¼ÑΓ¿¼, τΓ« ñ½∩ óδτÑατ¿óá¡¿∩ ºá¼¬¡πΓ«⌐ Σ¿úπαδ ß n óÑα-
  925. Φ¿¡á¼¿ óδ ñ«½ª¡δ »ÑαÑñáΓ∞ »α¿ «íαáΘÑ¡¿¿ ¬ »α«µÑñπαÑ DrawPoly
  926. n + 1 ¬««αñ¿¡áΓπ, úñÑ ¬««αñ¿¡áΓá óÑαΦ¿¡δ ß ¡«¼Ñα«¼  n  íπñÑΓ
  927. αáó¡á  ¬««αñ¿¡áΓÑ  óÑαΦ¿¡δ ß ¡«¼Ñα«¼ 1 (ß¼. »α¿óÑñÑ¡¡δ⌐ ¡¿ªÑ
  928. »α¿¼Ñα).
  929.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  930.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  931.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ FillPoly,  GetLineSettings,
  932. SetColor, SetLineStyle, GraphResult.
  933.      Åα¿¼Ñα:
  934.  
  935.  const Triangle : array[1..4] of PolyPoint =
  936.    ((x: 10; y: 100),
  937.     (x: 100; y: 100),
  938.     (x: 150; y: 150),
  939.     (x: 50; y: 100);
  940.   begin
  941.     ...
  942.     DrawPoly(SizeOf(Triangle)
  943.              div SizeOf(PolyPoint),             { 4 }
  944.              Triangle);
  945.     ...
  946.     end.
  947.  
  948. ------------------------------------------------------------
  949.  öπ¡¬µ¿∩ Dseg
  950. ------------------------------------------------------------
  951.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá DS.
  952.      Ä»¿ßá¡¿Ñ: DSeg
  953.      Æ¿» αѺπ½∞ΓáΓá: ÉѺπ½∞ΓáΓ ¿¼ÑÑΓ ñ½¿¡π ó ß½«ó« (word).
  954.      Åα¿¼Ñτá¡¿∩: ÉѺπ½∞ΓáΓ ñ½¿¡«⌐ ó ß½«ó« »αÑñßΓáó½∩ÑΓ ß«í«⌐
  955. áñαÑß ßÑú¼Ñ¡Γá ñá¡¡δσ.
  956.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ CSeg, SSeg.
  957.  
  958. ------------------------------------------------------------
  959.  Åα«µÑñπαá Ellipse                             î«ñπ½∞ Graph
  960. ------------------------------------------------------------
  961.  
  962.      öπ¡¬µ¿∩: É¿ßπÑΓ φ½½¿»Γ¿τÑ߬πε ñπúπ «Γ  ¡áτá½∞¡«ú«  πú½á
  963. ñ« ¬«¡Ñτ¡«ú« πú½á, ¿ß»«½∞ºπ∩ (ò,Y) ó ¬áτÑßΓóÑ Γ«τ¬¿ µÑ¡Γαá.
  964.      Ä»¿ßá¡¿Ñ: àllipsÑ(ò, Y : integer; ¡áτ_πú«½, ¬«¡_πú«½  :
  965. word; αáñò, αáñô : word)
  966.      Åα¿¼Ñτá¡¿∩: Åα«µÑñπαá α¿ßπÑΓ  φ½½¿»Γ¿τÑ߬πε  ñπúπ,  ¿ß-
  967. »«½∞ºπ∩  (ò,Y), ¬á¬ Γ«τ¬π µÑ¡Γαá, á "αáñò", "αáñô" - ¬á¬ ú«-
  968. ਧ«¡Γá½∞¡πε ¿ óÑαΓ¿¬á½∞¡πε «ß¿. äπúá φ½½¿»ßá  óδτÑατ¿óáÑΓß∩
  969. «Γ  ¡áτá½∞¡«ú«  πú½á (»áαá¼ÑΓα "¡áτ_πú«½") ñ« ¬«¡Ñτ¡«ú« πú½á
  970. (»áαá¼ÑΓα "¬«¡_πú«½") ΓѬπΘ¿¼ µóÑΓ«¼.
  971.      ç¡áτÑ¡¿Ñ ¡áτá½∞¡«ú« πú½á, αáó¡«Ñ 0, ¿  ¬«¡Ñτ¡«ú«  πú½á,
  972. αáó¡«Ñ  359,  »α¿óÑñπΓ  ¬ óδτÑατ¿óá¡¿ε »«½¡«ú« φ½½¿»ßá. ôú½δ
  973. ñ½∩ »α«µÑñπα Arc, Ellipse ¿ PieSlice ºáñáεΓß∩ »« ¡á»αáó½Ñ¡¿ε
  974. τáß«ó«⌐ ßΓαѽ¬¿. Åα¿ φΓ«¼ º¡áτÑ¡¿Ñ (ó úαáñπßáσ) 0 ß««ΓóÑΓßΓ-
  975. óπÑΓ 3 τáßá¼, 90 úαáñπß«¼ - 12 τáßá¼  ¿  Γ.ñ.  ê¡Σ«α¼áµ¿ε  «
  976. »«ß½Ññ¡á¼  ó맮óÑ »α«µÑñπαδ Ellipse ¼«ª¡« »«½πτ¿Γ∞ ß »«¼«Θ∞ε
  977. »α«µÑñπαδ GetArcCoords.
  978.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-ß¿.
  979.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  980.      Åα«τÑÑ: æ¼. ΓᬪѠCircle, Arc, PieSlice,  GetArcCoords,
  981. GetAspectRatio.
  982.      Åα¿¼Ñα:
  983.  
  984.   Uses Graph;
  985.   var
  986.     Gd, Gm: integer;
  987.   begin
  988.     Gd := Detect;
  989.     InitGraph(Gd, Gm, '');
  990.     If GraphResult <> grOk then
  991.     Halt(1);
  992.  Ellipse(100,100,0,20,30,50);
  993.  Ellipse(100,100,90,180,50,30);
  994.  Readln;
  995.  CloseGraph;
  996.  end.
  997.  
  998. ------------------------------------------------------------
  999.  öπ¡¬µ¿∩ EnvCount                                î«ñπ½∞ Dos
  1000. ------------------------------------------------------------
  1001.      öπ¡¬µ¿∩:髺óαáΘáÑΓ τ¿ß½« ßΓ᫬, ß«ñÑαªáΘ¿σß∩ ó «»Ñαᵿ-
  1002. «¡¡«⌐ ßαÑñÑ äÄæ.
  1003.      Ä»¿ßá¡¿Ñ: EnvCount
  1004.      Åα¿¼Ñτá¡¿∩: öπ¡¬µ¿∩ EnvCoun ó«ºóαáΘáÑΓ τ¿ß½« ßΓ᫬, ß«-
  1005. ñÑαªáΘ¿σß∩  ó  «»Ñαᵿ«¡¡«⌐  ßαÑñÑ  äÄæ. èáªñá∩ Γá¬á∩ ßΓ᫬á
  1006. ¿¼ÑÑΓ ó¿ñ 'ÅàÉàîàììǃ = çìÇùàìêà'. ¥Γ¿ ßΓ᫬¿ ¼«ª¡« »α«ß¼«Γ-
  1007. αÑΓ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ EnvStr.
  1008.      ü«½ÑÑ »«½¡á∩ ¿¡Σ«α¼áµ¿∩ «í «»Ñαᵿ«¡¡«⌐ ßαÑñÑ  äÄæ  ß«-
  1009. ñÑনΓß∩ ó απ¬«ó«ñßΓóáσ »« «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠäÄæ.
  1010.      æ¼. ΓᬪѠΣπ¡¬µ¿¿: EnvStr, GetEnv.
  1011.      Åα¿¼Ñα:
  1012.  
  1013.  uses DOS;
  1014.   var
  1015.     I: integer;
  1016.   begin
  1017.     for I := 1 to EnvCount do
  1018.     WriteLn(EnvStr(I));
  1019.   end.
  1020.  
  1021. ------------------------------------------------------------
  1022.  öπ¡¬µ¿∩ EnvStr                                  î«ñπ½∞ Dos
  1023. ------------------------------------------------------------
  1024.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ºáñá¡¡πε ßΓ᫬𠫻Ñαᵿ«¡¡«⌐ ßαÑñδ.
  1025.      Ä»¿ßá¡¿Ñ: EnvStr(¿¡ñѬߠ: integer)
  1026.      Æ¿» αѺá½∞ΓáΓá: æΓ᫬«óδ⌐ (string).
  1027.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ  ºáñá¡¡πε  ßΓ᫬π
  1028. «»Ñαᵿ«¡¡«⌐  ßαÑñδ  äÄæ. ¥Γá ßΓα«¬á ¿¼ÑÑΓ ó¿ñ `ÅàÉàîàììǃ =
  1029. çìÇùàìêà`. ê¡ñѬ߫¼ »Ñαó«⌐  ßΓ᫬¿  ∩ó½∩ÑΓß∩  Ññ¿¡¿µá.  àß½¿
  1030. "¿¡ñѬß"  ¼Ñ¡∞ΦÑ  Ññ¿¡¿µÑ  ¿½¿  í«½∞ΦÑ, τѼ EnvCount, EnvStr
  1031. ó«ºóαáΘáÑΓ »πßΓπε ßΓ᫬π.
  1032.      ü«½ÑÑ »«½¡á∩ ¿¡Σ«α¼áµ¿∩ «í «»Ñαᵿ«¡¡«⌐ ßαÑñÑ  äÄæ  ß«-
  1033. ñÑনΓß∩ ó απ¬«ó«ñßΓóáσ »« «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠäÄæ.
  1034.  
  1035. ------------------------------------------------------------
  1036.  öπ¡¬µ¿∩ à«f (Γ¿»¿º«óá¡¡δÑ ¿ ¡ÑΓ¿»¿º«óá¡¡δÑ Σá⌐½δ)
  1037. ------------------------------------------------------------
  1038.      öπ¡¬µ¿∩: ä½∩  Γ¿»¿º«óá¡¡δσ  ¿½¿  ¡ÑΓ¿»¿º«óá¡¡δσ  Σá⌐½«ó
  1039. ó«ºóαáΘáÑΓ ß«ßΓ«∩¡¿Ñ "¬«¡Ñµ Σá⌐½á".
  1040.      Ä»¿ßá¡¿Ñ: Eof(f)
  1041.      Æ¿» αѺπ½∞ΓáΓá: üπ½Ñó߬¿⌐ (boolean).
  1042.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f »αÑñßΓáó½∩ÑΓ ß«í«⌐ Σá⌐½«óπε  »Ñ-
  1043. αѼѡ¡πε.  àß½¿ ΓѬπΘá∩ »«º¿µ¿∩ ó Σá⌐½Ñ ¡áσ«ñ¿Γß∩ ºá »«ß½Ññ-
  1044. ¡¿¼ φ½Ñ¼Ñ¡Γ«¼ Σá⌐½á ¿½¿ Ñß½¿ Σá⌐½ ¡Ñ ß«ñÑαª¿Γ  ¡¿¬á¬¿σ  φ½Ñ-
  1045. ¼Ñ¡Γ«ó,  Γ«  Σπ¡¬µ¿∩ à«f(f) ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ÆruÑ. é »α«-
  1046. Γ¿ó¡«¼ ß½πτáÑ «¡á ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ False.
  1047.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I+}   Σπ¡¬µ¿∩
  1048. IÄRÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  1049. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  1050. ¡«¼ ß½πτáÑ.
  1051.  
  1052. ------------------------------------------------------------
  1053.  öπ¡¬µ¿∩ à«f (ΓѬßΓ«óδÑ Σá⌐½δ)
  1054. ------------------------------------------------------------
  1055.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ß«ßΓ«∩¡¿Ñ "¬«¡Ñµ Σá⌐½á" ñ½∩ ΓѬßΓ«-
  1056. óδσ Σá⌐½«ó.
  1057.      Ä»¿ßá¡¿Ñ: Eof(f)
  1058.      Æ¿» αѺπ½∞ΓáΓá: üπ½Ñó߬¿⌐.
  1059.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f »αÑñßΓáó½∩ÑΓ ß«í«⌐ Σá⌐½«óπε  »Ñ-
  1060. αѼѡ¡πε,  «»αÑñѽ∩εΘπε  ΓѬßΓ«óδ⌐  Σá⌐½. àß½¿ φëà»áαá¼ÑΓα
  1061. «»πΘÑ¡,  Γ«  ¿ß»«½∞ºπÑΓß∩  ßΓá¡ñáαΓ¡á∩  Σá⌐½«óá∩  »ÑαѼѡ¡á∩
  1062. Input.  àß½¿  ΓѬπΘá∩ »«º¿µ¿∩ ó Σá⌐½Ñ ¡áσ«ñ¿Γß∩ ºá »«ß½Ññ¡¿¼
  1063. φ½Ñ¼Ñ¡Γ«¼ Σá⌐½á ¿½¿ Ñß½¿ Σá⌐½ ¡Ñ ß«ñÑαª¿Γ ¡¿¬á¬¿σ φ½Ñ¼Ñ¡Γ«ó,
  1064. Γ« Σπ¡¬µ¿∩ à«f(f) ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ÆruÑ. é »α«Γ¿ó¡«¼ ß½π-
  1065. τáÑ «¡á ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ False.
  1066.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I+}   Σπ¡¬µ¿∩
  1067. IÄRÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  1068. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  1069. ¡«¼ ß½πτáÑ.
  1070.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε Eoln.
  1071.      Åα¿¼Ñα:
  1072.  
  1073.  var
  1074.    f  : text; ch : char;
  1075.   begin  { »«½πτ¿Γ∞ ¿¼∩ Σá⌐½á ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ }
  1076.    Assign(f, ParamStr(1));
  1077.    Reset(f);
  1078.   while not Eof(f) do
  1079.     begin
  1080.      Read(f,ch);   { óδóÑßΓ¿ ΓѬßΓ«óδ⌐ Σá⌐½ }
  1081.      Write(ch);
  1082.     end;
  1083.  end.
  1084.  
  1085. ------------------------------------------------------------
  1086.  öπ¡¬µ¿∩ à«ln
  1087. ------------------------------------------------------------
  1088.      öπ¡¬µ¿∩: ä½∩ Σá⌐½«ó ó«ºóαáΘáÑΓ ß«ßΓ«∩¡¿Ñ "¬«¡Ñµ ßΓ᫬¿"
  1089. (end-of-line).
  1090.      Ä»¿ßá¡¿Ñ: Eoln [ (var f : text) ]
  1091.      Æ¿» αѺπ½∞ΓáΓá: üπ½Ñó߬¿⌐ (boolean).
  1092.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f »αÑñßΓáó½∩ÑΓ ß«í«⌐ Σá⌐½«óπε  »Ñ-
  1093. αѼѡ¡πε,  «»αÑñѽ∩εΘπε  ΓѬßΓ«óδ⌐  Σá⌐½. àß½¿ φëà»áαá¼ÑΓα
  1094. «»πΘÑ¡, Γ« »«ñαáºπ¼ÑóáÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ßΓá¡ñáαΓ¡«⌐  Σá⌐½«-
  1095. ó«⌐ »ÑαѼѡ¡«⌐ Input. àß½¿ ΓѬπΘá∩ »«º¿µ¿∩ ó Σá⌐½Ñ ¡áσ«ñ¿Γß∩
  1096. ¡á ¼ÑΓ¬Ñ ¬«¡µá ßΓ᫬¿, Γ« Σπ¡¬µ¿∩ à«ln(f) ó«ºóαáΘáÑΓ  º¡áτÑ-
  1097. ¡¿Ñ ÆruÑ. é »α«Γ¿ó¡«¼ ß½πτáÑ «¡á ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ False.
  1098.      Åα¿ »α«óÑન ß«ßΓ«∩¡¿∩ "¬«¡Ñµ ßΓ᫬¿" ñ½∩  ßΓá¡ñáαΓ¡«ú«
  1099. óó«ñá,  ¡á»αáó½Ñ¡¿Ñ  ¬«Γ«α«ú«  ¿º¼Ñ¡Ñ¡«  ¡Ñ  í佫, ß½ÑñπεΘá∩
  1100. »α«úαá¼¼á íπñÑΓ ªñáΓ∞, »«¬á ¡Ñ íπñÑΓ óóÑñÑ¡ ß¿¼ó«½  ó«ºóαáΓá
  1101. ¬áαÑΓ¬¿, á ºáΓѼ »ÑαÑñáßΓ π»αáó½Ñ¡¿Ñ Σπ¡¬µ¿¿ Eoln.
  1102.  
  1103.   begin
  1104.       WriteLn(Eoln);     { ¥Γ« »α¿óÑñÑΓ ¬ Γ«¼π, τΓ« }
  1105.                          { »α«úαá¼¼á íπñÑΓ «ª¿ñáΓ∞ óó«ñá }
  1106.                          { ¬½áó¿áΓπαδ }
  1107.     end.
  1108.  
  1109.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I+}   Σπ¡¬µ¿∩
  1110. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  1111. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  1112. ¡«¼ ß½πτáÑ.
  1113.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε à«f.
  1114.  
  1115. ------------------------------------------------------------
  1116.  Åα«µÑñπαá Erase
  1117. ------------------------------------------------------------
  1118.      öπ¡¬µ¿∩: æΓ¿αáÑΓ ó¡ÑΦ¡¿⌐ Σá⌐½.
  1119.      Ä»¿ßá¡¿Ñ: Erase
  1120.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f »αÑñßΓáó½∩ÑΓ ß«í«⌐ Σá⌐½«óπε  »Ñ-
  1121. αѼѡ¡πε  ½εí«ú«  Σá⌐½«ó«ú«  Γ¿»á. é¡ÑΦ¡¿⌐ Σá⌐½, ßó∩ºá¡¡δ⌐ ß
  1122. »ÑαѼѡ¡«⌐ f, ßΓ¿αáÑΓß∩.
  1123.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  1124. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  1125. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  1126. ¡«¼ ß½πτáÑ.
  1127.      Äúαá¡¿τÑ¡¿∩: Åα«µÑñπαá àrase ¡Ñ  ñ«½ª¡á  ¿ß»«½∞º«óáΓ∞ß∩
  1128. ñ½∩ «Γ¬αδΓ«ú« Σá⌐½á.
  1129.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ Rename.
  1130.      Åα¿¼Ñα:
  1131.  
  1132. var
  1133.   f : file;
  1134.  ch : char;
  1135. begin
  1136.  { »«½πτ¿Γ∞ ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ¿¼∩ »αÑñ¡áº¡áτÑ¡¡«ú« ñ½∩
  1137.    πñá½Ñ¡¿∩ Σá⌐½á }
  1138.  
  1139.    Assign(f, ParamStr(1));
  1140.   {$I-}
  1141.    Reset(f);
  1142.   {$I+}
  1143.    if IOResult <> 0 then
  1144.      Write('öá⌐½ ¡Ñ ¡á⌐ñÑ¡ ' ParamStr(1))
  1145.    else
  1146.    begin
  1147.       Close();
  1148.      Write('æΓÑαÑΓ∞ ', ParamStr(1)),'?');
  1149.      Readln(ch);
  1150.      if UpCase(ch) = 'Y' then
  1151.      Erase(f);
  1152.   end;
  1153.  end.
  1154.  
  1155. ------------------------------------------------------------
  1156.  Åα«µÑñπαá Exec                                  î«ñπ½∞ Dos
  1157. ------------------------------------------------------------
  1158.      öπ¡¬µ¿∩: éδ»«½¡∩ÑΓ π¬áºá¡¡πε »α«úαá¼¼π,  »ÑαÑñáóá∩  ºá-
  1159. ñá¡¡πε ßΓ᫬π »áαá¼ÑΓα«ó.
  1160.      Ä»¿ßá¡¿Ñ: Exec(¼áαΦαπΓ, ¬«¼_ßΓ᫬á : string)
  1161.      Åα¿¼Ñτá¡¿∩: ê¼∩ »α«úαá¼¼δ π¬áºδóáÑΓß∩ ó »áαá¼ÑΓαÑ "¼áα-
  1162. ΦαπΓ",   á   ßΓα«¬á   »áαá¼ÑΓα«ó   ß«ñÑনΓß∩   ó  »áαá¼ÑΓαÑ
  1163. "¬«¼_ßΓ᫬á". ä½∩ óδ»«½¡Ñ¡¿∩ ó¡πΓαÑ¡¡Ñ⌐ ¬«¼á¡ñδ äÄæ ºá»πßΓ¿-
  1164. ΓÑ Σá⌐½ æÄîîÇND.æÄî. ìá»α¿¼Ñα:
  1165.  
  1166.      Exec('COMMAND.COM','/C DIR *.PAS');
  1167.  
  1168.      /æ »ÑαÑñ ¬«¼á¡ñ«⌐ ∩ó½∩ÑΓß∩  ºá»α«ß«¼  ¡á  ºá»π߬  Σá⌐½á
  1169. æÄîîÇND.æÄî  (¡«  ¡Ñ ñαπú¿σ »α«úαá¼¼). é«º¼«ª¡δÑ ¬«ñδ «Φ¿í«¬
  1170. ¼«ª¡« »«½πτ¿Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ DosError. ¥Γ¿¼¿ ¬«ñἿ  ¼«-
  1171. úπΓ  íδΓ∞ 2, 8, 10 ¿ 11. è«ñ ºáóÑαΦÑ¡¿∩ »α«µÑßßá ¼«ª¡« »«½π-
  1172. τ¿Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ DosExitCode.
  1173.      ä« ¡áτá½á óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ »α«µÑñπαá àσÑß ¡Ñ  ¿º¼Ñ-
  1174. ¡∩ÑΓ  αáß»αÑñѽѡ¿Ñ  »á¼∩Γ¿.  Æá¬¿¼  «íαẫ¼, »α¿ ¬«¼»¿½∩µ¿¿
  1175. »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ »α«µÑñπαπ àσÑß,  ¡Ñ«íσ«ñ¿¼«  «íÑß»Ñ-
  1176. τ¿Γ∞  ºáñá¡¿Ñ ¼á¬ß¿¼á½∞¡«ú« αẼÑαá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ñ-
  1177. ¼«⌐ «í½áßΓ¿ »á¼∩Γ¿, ¿¡áτÑ »á¼∩Γ¿ ¼«ªÑΓ ¡Ñ σóáΓ¿Γ∞  (DosError
  1178. = 8).
  1179.  
  1180.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε DosExitCode, SwapVectors.
  1181.      Åα¿¼Ñα:
  1182.  
  1183.  { 16è óδñѽ∩ÑΓß∩ ñ½∩ ßΓѬá, ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩
  1184.    «í½áßΓ∞ ¡Ñ ºá»αáΦ¿óáÑΓß∩ ¿ ¡Ñ αѺÑαó¿απÑΓß∩ }
  1185.   uses Dos;
  1186.   var
  1187.     ProgramName, CmdLine : string;
  1188.   begin
  1189.     Write('Åα«úαá¼¼á, ¬«Γ«απε ¡πª¡« óδ»«½¡¿Γ∞ (ó¬½ετá∩
  1190.            »«½¡«Ñ ¿¼∩ »πΓ¿ ñ«ßΓπ»á): ');
  1191.     Readln(ProgramName);
  1192.     Write('諼á¡ñ¡á∩ ßΓ᫬á, ¬«Γ«απε ¡πª¡« »ÑαÑñáΓ∞ ó »α«ú-
  1193.            αá¼¼π ', ProgramName, ':');
  1194.     Readln(CmdLine);
  1195.     Writeln('ìáτὫ óδ»«½¡Ñ¡¿∩ Exec...');
  1196.     Exec(ProgramName, CmdLine);
  1197.     Writeln('...ó«ºóαáΓ ¿º Exec');
  1198.     if DosError <> 0 then                        { «Φ¿í¬á╝ }
  1199.        Writeln('ÄΦ¿í¬á äÄæ #', DosError)
  1200.     else
  1201.        Writeln('é맮ó Exec »α«Φѽ πß»ÑΦ¡«. è«ñ ºáóÑαΦÑ¡¿∩
  1202.                 »«α«ªñÑ¡¡«ú« »α«µÑßßá = ', DosExitCode);
  1203.   end.
  1204.  
  1205. ------------------------------------------------------------
  1206.  Åα«µÑñπαá Exit
  1207. ------------------------------------------------------------
  1208.      öπ¡¬µ¿∩: éδ»«½¡∩ÑΓ ¡Ñ¼Ññ½Ñ¡¡δ⌐ óδσ«ñ ¿º ΓѬπΘÑú« í½«¬á.
  1209.      Ä»¿ßá¡¿Ñ: Exit
  1210.      Åα¿¼Ñτá¡¿∩: è«úñá »α«µÑñπαá àσit óδ»«½¡∩ÑΓß∩ ó »«ñ»α«ú-
  1211. αἼѠ (»α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿), Γ« »α«¿ßσ«ñ¿Γ ó«ºóαáΓ π»αáó-
  1212. ½Ñ¡¿∩ ¿º »«ñ»α«úαá¼¼δ. è«úñá  φΓá  »α«µÑñπαá  óδ»«½¡∩ÑΓß∩  ó
  1213. «»ÑαáΓ«α¡«⌐ τáßΓ¿ »α«úαá¼¼δ, «¡á óδºδóáÑΓ »αѬαáΘÑ¡¿Ñ αáí«Γδ
  1214. »α«úαá¼¼δ. ÄíαáΘÑ¡¿Ñ ¬ àσit á¡á½«ú¿τ¡« «»ÑαáΓ«απ »ÑαÑσ«ñá ¡á
  1215. «»ÑαáΓ«α  ß ¼ÑΓ¬«⌐, áñαÑß ¬«Γ«α«ú« ¡áσ«ñ¿Γß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
  1216. »«ß½Ñ «»ÑαáΓ«αá end.
  1217.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε ìált.
  1218.  
  1219.      Åα¿¼Ñα:
  1220.  
  1221.   uses Crt;
  1222.   procedure WasteTime;
  1223.   begin
  1224.     repeaat
  1225.       if KeyPressed then Exit;
  1226.       Write('Xx');
  1227.     until False;
  1228.   end;
  1229.   end.
  1230.  
  1231. ------------------------------------------------------------
  1232.  öπ¡¬µ¿∩ Exp
  1233. ------------------------------------------------------------
  1234.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ φ¬ß»«¡Ñ¡µ¿á½∞¡«Ñ º¡áτÑ¡¿Ñ  áαúπ¼Ñ¡-
  1235. Γá.
  1236.      Ä»¿ßá¡¿Ñ: Exp(x : real)
  1237.      Æ¿» αѺπ½∞ΓáΓá: éÑΘÑßΓóÑ¡¡δ⌐ (real).
  1238.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x ∩ó½∩ÑΓß∩ óδαáªÑ¡¿Ñ¼ óÑΘÑßΓóÑ¡¡«-
  1239. ú«  Γ¿»á. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ φ¬ß»«¡Ñ¡Γá x, Γ« ÑßΓ∞ º¡áτÑ¡¿Ñ e
  1240. ó«ºó«ñ¿Γß∩ ó ßΓѻѡ∞ x (e - «ß¡«óá¡¿Ñ ¡áΓπαá½∞¡«ú«  ½«úáα¿Σ-
  1241. ¼á).
  1242.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε Ln.
  1243.  
  1244. ------------------------------------------------------------
  1245.  öπ¡¬µ¿∩ FExpand                                 î«ñπ½∞ Dos
  1246. error in example ................
  1247.  
  1248. ¡«¼ ß½πτáÑ.
  1249.      Äúαá¡¿τÑ¡¿∩: öπ¡¬µ¿∩ ¡Ñ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩  ñ½∩  ΓѬ-
  1250. ßΓ«ó«ú« Σá⌐½á, öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  1251.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε FilePos.
  1252.      Åα¿¼Ñα:
  1253.  
  1254.  var
  1255.    f : file of byte;
  1256.  begin
  1257.   { »«½πτ¿Γ∞ ¿¼∩ Σá⌐½á ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ }
  1258.   Assign(f, ParamStr(1));
  1259.   Reset(f);
  1260.   Writeln('ÉẼÑα Σá⌐½á ó íá⌐Γáσ: ', FileSize(f));
  1261.   Close(f);
  1262.  end.
  1263.  
  1264. ------------------------------------------------------------
  1265.  Åα«µÑñπαá FillChar
  1266. ------------------------------------------------------------
  1267.      öπ¡¬µ¿∩: Å«¼ÑΘáÑΓ ó ºáñá¡¡«Ñ τ¿ß½«  ß½ÑñπεΘ¿σ  ñαπú  ºá
  1268. ñαπú«¼ íá⌐Γ«ó π¬áºá¡¡«Ñ º¡áτÑ¡¿Ñ.
  1269.      Ä»¿ßá¡¿Ñ: FillChar(x; ßτÑΓτ¿¬ : word; º¡áτÑ¡¿Ñ)
  1270.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x ∩ó½∩ÑΓß∩ ßß佬«⌐  ¡á  »ÑαѼѡ¡πε
  1271. ½εí«ú« Γ¿»á, "ßτÑΓτ¿¬" »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ ñ½¿¡«⌐ ó
  1272. ß½«ó«, "º¡áτÑ¡¿Ñ" ∩ó½∩ÑΓß∩  óδαáªÑ¡¿Ñ¼  »ÑαÑτ¿ß½¿¼«ú«  Γ¿»á.
  1273. Åα«µÑñπαᠺỿßδóáÑΓ º¡áτÑ¡¿Ñ, π¬áºá¡¡«Ñ ó »áαá¼ÑΓαÑ "º¡áτÑ-
  1274. ¡¿Ñ", ó Γ« ¬«½¿τÑßΓó« ß½ÑñπεΘ¿σ ñαπú ºá ñαπú«¼ íá⌐Γ«ó  »á¼∩-
  1275. Γ¿, ¡áτ¿¡á∩ ß »Ñαó«ú« íá⌐Γá, ºá¡¿¼áѼ«ú« »ÑαѼѡ¡«⌐ σ, ¬«Γ«-
  1276. α«Ñ «»αÑñѽ∩ÑΓß∩ »áαá¼ÑΓα«¼ "ßτÑΓτ¿¬".
  1277.      Åα«óÑα¬á ¡á ñ«»πßΓ¿¼«ßΓ∞ úαá¡¿µ ¡Ñ óδ»«½¡∩ÑΓß∩, »«φΓ«¼π
  1278. íπñ∞ΓÑ ó¡¿¼áΓѽ∞¡δ.
  1279.  
  1280.      àß½¿ φΓ« ó«º¼«ª¡«, »α¿ ¿ß»«½∞º«óá¡¿¿ »α«µÑñπαδ FillChar
  1281. ºáñáóá⌐ΓÑ  »áαá¼ÑΓα "ßτÑΓτ¿¬". Åα¿ ¿ß»«½∞º«óá¡¿¿ φΓ«⌐ »α«µÑ-
  1282. ñπαδ ñ½∩ ßΓ᫬ ¡Ñ ºáíπñ∞ΓÑ »«ß½Ñ ºá»«½¡Ñ¡¿∩ πßΓá¡«ó¿Γ∞ ñ½¿¡π
  1283. ó íá⌐Γáσ.
  1284.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ î«vÑ.
  1285.      Åα¿¼Ñα:
  1286.  
  1287.  var
  1288.   s : string[80];
  1289.  begin
  1290.   { ºáñáΓ∞ ßΓ᫬π, ß«ßΓ«∩Θπε ¿º »α«íѽ«ó }
  1291.   FillChar(s, SizeOf(s),' ');   { πßΓá¡«ó¿Γ∞ ñ½¿¡π »«ß½Ññ«-
  1292.                                   óáΓѽ∞¡«ßΓ¿ íá⌐Γ«ó }
  1293.   s[0] := #80;
  1294.  end.
  1295.  
  1296. ------------------------------------------------------------
  1297.  öπ¡¬µ¿∩ FillEllipse                             î«ñπ½∞ Dos
  1298. ------------------------------------------------------------
  1299.      öπ¡¬µ¿∩: É¿ßπÑΓ φ½½¿»ß.
  1300.      Ä»¿ßá¡¿Ñ: FillEllipse(X, Y: integer; òαáñ¿πß,  Yαáñ¿πß:
  1301. word)
  1302.      Åα¿¼Ñτá¡¿∩: êß»«½∞ºπ∩ Γ«τ¬π ß ¬««αñ¿¡áΓἿ (X,Y) ó  ¬á-
  1303. τÑßΓóÑ µÑ¡Γαá, á òαáñ¿πß ¿ Yαáñ¿πß - ó ¬áτÑßΓóÑ ú«α¿º«¡Γá½∞-
  1304. ¡«⌐ ¿ óÑαΓ¿¬á½∞¡«⌐ «ßÑ⌐, α¿ßπÑΓ ºá¬αáΦÑ¡¡δ⌐ φ½½¿»ß.
  1305.      Ç¡á½«ú¿τ¡á∩ »α«úαἼᠿ¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1306.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1307.      Åα«τÑÑ:  æ¼. ΓᬪѠ  »α«µÑñπαδ  Arc,  Circle,  Ellipse,
  1308. GetArcCoords, GetAspectRatio, PieSlice.
  1309.      Åα¿¼Ñα:
  1310.  
  1311.   uses
  1312.     Graph;
  1313.   const
  1314.     R = 30;
  1315.   var
  1316.     Driver, Mode: integer;
  1317.     Xasp, Yasp : word;
  1318.  
  1319.   begin
  1320.     Driver := Detect;      { »ÑαÑó«ñ¿Γ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  1321.     InitGraph(Driver, Mode, '');
  1322.     if GraphResult < 0 then
  1323.        Halt(1);
  1324.     { ¡áα¿ß«óáΓ∞ φ½½¿»ß }
  1325.     FillEllipse(GetMaxX div 2, GetMaxY div 2, 50, 50);
  1326.     GetAspectRatio(Xasp, Yasp);
  1327.     { "¬απú½δ⌐" φ½½¿»ß }
  1328.     FillEllipse(R, R, R, R, * LongInt(Xasp) div Yasp);
  1329.    readLn;
  1330.    CloseGraph;
  1331.   end.
  1332.  
  1333. ------------------------------------------------------------
  1334.  Åα«µÑñπαá FillPoly                            î«ñπ½∞ Graph
  1335. ------------------------------------------------------------
  1336.      öπ¡¬µ¿∩: çừ½¡∩ÑΓ ¼¡«ú«πú«½∞¡¿¬.
  1337.      Ä»¿ßá¡¿Ñ: FillPoly((τ¿ß½_¬««αñ : word; var ¬««αñ_óÑαΦ)
  1338.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "¬««αñ_óÑαΦ" ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º«óá¡-
  1339. ¡δ¼  »áαá¼ÑΓα«¼, ¬«Γ«αδ⌐ ß«ñÑαª¿Γ ¬««αñ¿¡áΓδ ¬áªñ«ú« »ÑαÑßÑ-
  1340. τÑ¡¿∩ ßΓ«α«¡ ó ¼¡«ú«πú«½∞¡¿¬Ñ. Åáαá¼ÑΓα "τ¿ß½_¬««αñ"  ºáñáÑΓ
  1341. τ¿ß½«  ¬««αñ¿¡áΓ  ó "¬««αñ_óÑαΦ". è««αñ¿¡áΓá ß«ßΓ«¿Γ ¿º ñóπσ
  1342. ß½«ó: º¡áτÑ¡¿∩ x ¿ º¡áτÑ¡¿∩ y.
  1343.      äá¡¡á∩ »α«µÑñπαá óδτ¿ß½∩ÑΓ óßÑ ú«α¿º«¡Γá½∞¡δÑ »ÑαÑßÑτÑ-
  1344. ¡¿∩ ¿ ºáΓѼ ºá»«½¡∩ÑΓ ¼¡«ú«πú«½∞¡¿¬, ¿ß»«½∞ºπ∩ ΓѬπΘ¿⌐ Γ¿» ¿
  1345. µóÑΓ ºá¬αá߬¿, ¬«Γ«αδÑ ºáñáεΓß∩ »α«µÑñπαἿ  SetFillStyle  ¿
  1346. SetFillPattern.  Åα¿ óδτÑατ¿óá¡¿¿ ¬«¡Γπαá ¼¡«ú«πú«½∞¡¿¬á ¿ß-
  1347. »«½∞ºπÑΓß∩ ΓѬπΘ¿⌐ Γ¿» ½¿¡¿¿ ¿ µóÑΓ, ¬«Γ«αδÑ πßΓá¡áó½¿óáεΓß∩
  1348. »α«µÑñπα«⌐ SetLineStyle.
  1349.      àß½¿ »α¿ ºá»«½¡Ñ¡¿¿ ¼¡«ú«πú«½∞¡¿¬á ó«º¡¿¬áÑΓ «Φ¿í¬á, Γ«
  1350. Σπ¡¬µ¿∩ GraphResult ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -6 (grNoScanMem).
  1351.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1352.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1353.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ: DrawPoly, GetFillSettings,
  1354. GetLineSettings, SetLineStyle, GraphResult.
  1355.      Åα¿¼Ñα:
  1356.  
  1357.   const
  1358.   Pentagon : array[1..6] of PointType =
  1359.     ((x: 50; y: 50),
  1360.      (x: 75; y: 75),
  1361.      (x: 62; y: 100),
  1362.      (x: 48; y: 100),
  1363.      (x: 25, y: 75),
  1364.      (x: 50, y: 50));
  1365.   begin
  1366.    ...
  1367.    DrawPoly(SizeOf(Pentagon)
  1368.            div SizeOf(PointType), Pentagon);
  1369.    FillPoly(SizeOf(Pentagon)
  1370.            div SizeOf(PointType), Pentagon);
  1371.   ...
  1372.   end.
  1373.  
  1374. ------------------------------------------------------------
  1375.  Åα«µÑñπαá FindFirst                             î«ñπ½∞ Dos
  1376. ------------------------------------------------------------
  1377.      öπ¡¬µ¿∩: Åα«¿ºó«ñ¿Γ »«¿ß¬ ó ºáñá¡¡«¼ (¿½¿ ΓѬπΘѼ)  ¬á-
  1378. ΓὫúÑ  »Ñαó«⌐ ºá»¿ß¿, ß««ΓóÑΓßΓóπεΘÑ⌐ ºáñá¡¡«¼π ¿¼Ñ¡¿ Σá⌐½á
  1379. ¿ ¡áí«απ áΓα¿íπΓ«ó Σá⌐½á.
  1380.      Ä»¿ßá¡¿Ñ: FindFirst(¼áαΦαπΓ: string; áΓα¿í : óπtÑ;  var
  1381. S: SearchRec)
  1382.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "¼áαΦαπΓ" «»αÑñѽ∩ÑΓ ¬áΓὫú, ¡á»-
  1383. α¿¼Ñα  "*.*". Åáαá¼ÑΓα "áΓα¿í" «»αÑñѽ∩ÑΓ ó¬½ετÑ¡¿Ñ ó ß»¿ß«¬
  1384. αáßß¼áΓα¿óáѼδσ ß»Ñµ¿á½∞¡δÑ Σá⌐½δ (¡áα∩ñπ ß« óßѼ¿  «íδτ¡δ¼¿
  1385. Σá⌐½á¼¿). Åα¿óÑñѼ ß»¿ß«¬ áΓα¿íπΓ«ó Σá⌐½á, ¬á¬ «¡¿ «»¿ßá¡δ ó
  1386. ¼«ñπ½Ñ Dos:
  1387.  
  1388.   const
  1389.     { ¬«¡ßΓá¡Γδ áΓα¿íπΓ«ó Σá⌐½á }
  1390.    ReadOnly   = $01;  { Γ«½∞¬« τΓÑ¡¿Ñ }
  1391.    Hidden     = $02;  { "߬αδΓδ⌐" Σá⌐½ }
  1392.    SysFile    = $04;  { ß¿ßΓѼ¡δ⌐ Σá⌐½ }
  1393.    VolumeId   = $08;  { ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ«¼á }
  1394.    Directory  = $10;  { ¬áΓὫú }
  1395.    Archive    = $20;  { áασ¿ó¿ºáµ¿∩ }
  1396.    AnyFile    = $3F;  { »α«τ¿⌐ Σá⌐½ }
  1397.  
  1398.      ÉѺπ½∞ΓáΓ »«¿ß¬á »« ¬áΓὫúπ  ó«ºóαáΘáÑΓß∩  ó  ºáñá¡¡«⌐
  1399. ºá»¿ß¿  Γ¿»á  SearchRec, ¬«Γ«αδ⌐ «»¿ßδóáÑΓß∩ ó ¼«ñπ½Ñ Dos:
  1400.  
  1401.   type
  1402.    { Γ¿» SearchRec, ¿ß»«½∞ºπεΘ¿⌐ß∩ ó »α«µÑñπαáσ FindFirst
  1403.      ¿ FindNext }
  1404.     SearchRec = record
  1405.                   Fill : array[1..2] of byte;
  1406.                   Attr : byte;
  1407.                   Time : longint;
  1408.                   Size : longint;
  1409.                   Name : string[12];
  1410.                 end;
  1411.  
  1412.      è«ñδ «Φ¿í¬¿ ¼«ª¡« »«½πτ¿Γ∞ ß »«¼«Θ∞ε DosError.  é«º¼«ª-
  1413. ¡δ¼¿  º¡áτÑ¡¿∩¼¿  ¬«ñ«ó  ∩ó½∩εΓß∩ 2 (¬áΓὫú ¡Ñ ¡á⌐ñÑ¡) ¿ 18
  1414. (í«½∞ΦÑ Σá⌐½«ó ¡ÑΓ).
  1415.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ FindNext.
  1416.      Åα¿¼Ñα:
  1417.  
  1418.   uses Dos;
  1419.   var
  1420.     DirInfo : SearchRec;
  1421.   begin
  1422.     FindFirst('*.PAS', Archive, DirInfo); { Γ« ªÑ, τΓ« ¿
  1423.                                             DIR *.PAS }
  1424.     while DosError = 0 do
  1425.     begin
  1426.       Writeln(DirInfo.Name);
  1427.       FindNext(DirInfo);
  1428.     end;
  1429.   end.
  1430.  
  1431. ------------------------------------------------------------
  1432.  Åα«µÑñπαá FindNext                              î«ñπ½∞ Dos
  1433. ------------------------------------------------------------
  1434.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ  ß½ÑñπεΘπε  ºá»¿ß∞,  ß«ó»áñáεΘπε  ß
  1435. ¿¼Ñ¡Ñ¼ ¿ áΓα¿íπΓἿ Σá⌐½á, π¬áºá¡¡δ¼¿ »α¿ »αÑñδñπΘѼ «íαáΘÑ-
  1436. ¡¿¿ ¬ »α«µÑñπαÑ FindFirst.
  1437.      Ä»¿ßá¡¿Ñ: FindNext(var s : SearchRec)
  1438.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα s ñ«½ªÑ¡ íδΓ∞ Γᬿ¼  ªÑ,  ¬á¬  »α¿
  1439. «íαáΘÑ¡¿¿  ¬  FindFirst  (Γ¿» SearchRec «»¿ßδóáÑΓß∩ ó ¼«ñπ½Ñ
  1440. Dos; ß¼. »α«µÑñπαπ FindFirst). æ »«¼«Θ∞ε DosError ¼«ª¡«  »«-
  1441. ½πτ¿Γ∞  ¬«ñ «Φ¿í¬¿. àñ¿¡ßΓóÑ¡¡« ó«º¼«ª¡δ¼ ¬«ñ«¼ ∩ó½∩ÑΓß∩ ¬«ñ
  1442. 18, π¬áºδóáεΘ¿⌐ ¡á «ΓßπΓßΓó¿Ñ Σá⌐½«ó.
  1443.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ FindFirst.
  1444.      Åα¿¼Ñα: æ¼. »α¿¼Ñα ñ½∩ »α«µÑñπαδ FindFirst.
  1445.  
  1446. ------------------------------------------------------------
  1447.  Åα«µÑñπαá FloodFill                           î«ñπ½∞ Graph
  1448. ------------------------------------------------------------
  1449.      öπ¡¬µ¿∩: çừ½¡∩ÑΓ «úαá¡¿τÑ¡¡πε «í½áΓ∞, ¿ß»«½∞ºπ∩ ΓѬπ-
  1450. Θ¿⌐ ºá»«½¡¿Γѽ∞.
  1451.      Ä»¿ßá¡¿Ñ: FloodFill(x, y, úαá¡¿µá : word)
  1452.      Åα¿¼Ñτá¡¿∩: ¥Γá »α«µÑñπαá ¿ß»«½∞ºπÑΓß∩  ñ½∩  ºá»«½¡Ñ¡¿∩
  1453. ºá¼¬¡πΓ«⌐ «í½áßΓ¿ (ñ½∩ αáßΓα«óδσ πßΓα«⌐ßΓó). Æ«τ¬á (x,y) ∩ó-
  1454. ½∩ÑΓß∩ ó¡πΓαÑ¡¡Ñ⌐ Γ«τ¬«⌐ ºá»«½¡∩Ѽ«⌐ «í½áßΓ¿. ä½∩ ºá»«½¡Ñ¡¿∩
  1455. «í½áßΓ¿,  «úαá¡¿τÑ¡¡«⌐  µóÑΓ«¼,  ¬«Γ«αδ⌐ «»αÑñѽ∩ÑΓ »áαá¼ÑΓα
  1456. "úαá¡¿µá", ¿ß»«½∞ºπÑΓß∩ ΓѬπΘ¿⌐ «íαáºÑµ ºá¬αá߬¿. àß½¿ Γ«τ¬á
  1457. (x,y)  ¡áσ«ñ¿Γß∩  ó¡πΓα¿  ºá¼¬¡πΓ«⌐  «í½áßΓ¿, Γ« ºá»«½¡∩ÑΓß∩
  1458. ó¡πΓαÑ¡¡∩∩ «í½áßΓ∞. àß½¿ φΓá Γ«τ¬á ¡áσ«ñ¿Γß∩  ó¡Ñ  ºá¼¬¡πΓ«⌐
  1459. «í½áßΓ¿,  Γ«  ºá»«½¡∩ÑΓß∩  ÑÑ ó¡ÑΦ¡∩∩ τáßΓ∞ (»«½Ñ φ¬αá¡á, ¡Ñ
  1460. óσ«ñ∩ΘÑÑ ó «í½áßΓ∞).
  1461.      àß½¿ »α¿ ºá»«½¡Ñ¡¿¿ «í½áßΓ¿ »α«¿ßσ«ñ¿Γ «Φ¿í¬á, Γ« Σπ¡¬-
  1462. µ¿∩ GraphResult ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -7 (grNoFloodMem).
  1463.      çá¼ÑΓ¿¼, τΓ« »α«µÑñπαá FloodFill «ßΓá¡áó½¿óáÑΓß∩  »«ß½Ñ
  1464. Γ«ú«,  ¬á¬ óδóÑñÑ¡« ñóÑ »πßΓδσ ßΓ᫬¿. ¥Γ« ¼«ªÑΓ »α«¿º«⌐Γ¿ ó
  1465. Γ«¼ ß½πτáÑ, ¬«úñᠺừ½¡¿Γѽ∞ ¿ ¼á½Ñ¡∞¬¿⌐ »α∩¼«πú«½∞¡¿¬ ß½¿-
  1466. óáεΓß∩.  é  ß½ÑñπεΘÑ⌐  »α«úαἼѠ »α∩¼«πú«½∞¡¿¬ »«½¡«ßΓ∞ε ¡Ñ
  1467. ºá¬αáΦ¿óáÑΓß∩:
  1468.  
  1469.   program StopFill;
  1470.   uses Graph;
  1471.   var
  1472.     Driver, Mode: integer;
  1473.   begin
  1474.     Driver := Detect;
  1475.     InitGraph(Driver, Mode, 'c:\bgi');
  1476.     if GraphResult <> grOk then
  1477.        Halt(1);
  1478.     SetFillStyle(LtSlashFill, GetMaxColor);
  1479.     Rectangle(0, 0, 8, 20);
  1480.     FloodFill(1, 1, GetMaxColor);
  1481.     ReadLn;
  1482.     CloseGraph;
  1483.   end.
  1484.  
  1485.      é φΓ«¼ ß½πτáÑ »α∩¼«πú«½∞¡¿¬ íπñÑΓ »«½¡«ßΓ∞ε  ºá¬½αáΦÑ¡,
  1486. Ñß½¿ ¿ß»«½∞º«óáΓ∞ í«½ÑÑ "úπßΓ«⌐" ºá»«½¡¿Γѽ∞ Γ¿»á SlashFill.
  1487.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1488.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ  SetFloodPattern,  SetFill-
  1489. Pattern.
  1490.      Åα¿¼Ñα:
  1491.  
  1492.   begin
  1493.    ...
  1494.     SetColor(Red);
  1495.     FloodFill(50,50,Blue);
  1496.      ...
  1497.   end.
  1498.  
  1499. ------------------------------------------------------------
  1500.  Åα«µÑñπαá Flush
  1501. ------------------------------------------------------------
  1502.  
  1503.      öπ¡¬µ¿∩: éδó«ñ¿Γ ß«ñÑন¼«Ñ íπΣÑáα «Γ¬αδΓ«ú« ñ½∩ óδó«ñá
  1504. ΓѬßΓ«ó«ú« Σá⌐½á.
  1505.      Ä»¿ßá¡¿Ñ: Flush(var f : text)
  1506.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα  f  ∩ó½∩ÑΓß∩  Σá⌐½«ó«⌐  »ÑαѼѡ¡«⌐
  1507. ΓѬßΓ«ó«ú« Γ¿»á.
  1508.  
  1509.      è«úñá ΓѬßΓ«óδ⌐ Σá⌐½ «Γ¬αδóáÑΓß∩ ñ½∩ óδó«ñá  ß  »«¼«Θ∞ε
  1510. »α«µÑñπα  Rewrite  ¿½¿  ÇppÑnd,  «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ Flush
  1511. »«ºó«½∩ÑΓ «τ¿ßΓ¿Γ∞ íπΣÑα Σá⌐½á. ¥Γ« «íÑß»Ñτ¿óáÑΓ Γ«, τΓ« óßÑ
  1512. ß¿¼ó«½δ,  ºá»¿ßá¡¡δÑ ó φΓ« óαѼ∩ ó Σá⌐½, íπñπΓ ñÑ⌐ßΓó¿Γѽ∞¡«
  1513. ºá»¿ßá¡δ ó« ó¡ÑΦ¡¿⌐ Σá⌐½. ä½∩ Σá⌐½«ó,  «Γ¬αδΓδσ  ñ½∩  óó«ñá,
  1514. ñá¡¡á∩ »α«µÑñπαá ¡¿¬á¬¿σ ñÑ⌐ßΓ¿⌐ ¡Ñ óδ»«½¡∩ÑΓ.
  1515.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  1516. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  1517. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  1518. ¡«¼ ß½πτáÑ.
  1519.  
  1520. ------------------------------------------------------------
  1521.  öπ¡¬µ¿∩ Frac
  1522. ------------------------------------------------------------
  1523.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñα«í¡πε τáßΓ∞ áαúπ¼Ñ¡Γá.
  1524.      Ä»¿ßá¡¿Ñ: Frac(x : real)
  1525.      Æ¿» αѺπ½∞ΓáΓá: éÑΘÑßΓóÑ¡¡δ⌐ (real).
  1526.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα σ ∩ó½∩ÑΓß∩ óδαáªÑ¡¿Ñ¼ óÑΘÑßΓóÑ¡¡«-
  1527. ú«  Γ¿»á.  ÉѺπ½∞ΓáΓ«¼  ∩ó½∩ÑΓß∩  ñα«í¡á∩  τáßΓ∞  x, Γ« ÑßΓ∞
  1528. Fráß(x) = x - Int(x).
  1529.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε Int.
  1530.      Åα¿¼Ñα:
  1531.  
  1532.  var
  1533.    r : real;
  1534.    begin
  1535.     f := Frac(123.456);
  1536.    end.
  1537.  
  1538. ------------------------------------------------------------
  1539.  Åα«µÑñπαá FreeMem
  1540. ------------------------------------------------------------
  1541.      öπ¡¬µ¿∩:  ô¡¿τΓ«ªáÑΓ  ñ¿¡á¼¿τÑ߬πε  »ÑαѼѡ¡πε  ñá¡¡«ú«
  1542. αẼÑαá.
  1543.      Ä»¿ßá¡¿Ñ: FrÑÑîѼ(var : α«inter; αẼÑα : word)
  1544.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα p ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á  »ÑαѼѡ-
  1545. ¡πε  («Γ¡«ß∩Θ¿¼ß∩  ¬  ½εí«¼π  Γ¿»π π¬áºáΓѽÑ⌐), ñ½∩ ¬«Γ«α«ú«
  1546. í佫 »αÑñóáα¿Γѽ∞¡« óδ»«½¡Ñ¡« »α¿ßóá¿óá¡¿Ñ ß »«¼«Θ∞ε  »α«µÑ-
  1547. ñπαδ  GetîѼ ¿½¿ ¬«Γ«α«¼π í佫 »α¿ßó«Ñ¡« º¡áτáΘÑÑ º¡áτÑ¡¿Ñ ß
  1548. »«¼«Θ∞ε «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩. Åáαá¼ÑΓα "αẼÑα"  »αÑñßΓáó-
  1549. ½∩ÑΓ  ß«í«⌐  óδαáªÑ¡¿Ñ ñ½¿¡«⌐ ó ß½«ó«, ¬«Γ«α«Ñ ºáñáÑΓ αẼÑα
  1550. π¡¿τΓ«ªáѼ«⌐ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ (ó íá⌐Γáσ). àú«  º¡áτÑ-
  1551. ¡¿Ñ  ñ«½ª¡«  ó Γ«τ¡«ßΓ¿ ß««ΓóÑΓßΓó«óáΓ∞ τ¿ß½π íá⌐Γ«ó »á¼∩Γ¿,
  1552. «ΓóÑñÑ¡¡δσ αá¡ÑÑ ñ½∩ »ÑαѼѡ¡«⌐ »α«µÑñπα«⌐ GetîѼ. Åα«µÑñπαá
  1553. FrÑÑîѼ  αáºαπΦáÑΓ »ÑαѼѡ¡πε, ¡á ¬«Γ«απε π¬áºδóáÑΓ p, ¿ «ß-
  1554. ó«í«ªñáÑΓ ºá¡∩Γπε Ñ⌐ «í½áßΓ∞ »á¼∩Γ¿ ó ñ¿¡á¼¿τÑ߬¿  αáß»αÑñÑ-
  1555. ½∩Ѽ«⌐ «í½áßΓ¿. àß½¿ π¬áºáΓѽ∞ p ¡Ñ ßßδ½áÑΓß∩ ¡á «í½áßΓ∞ »á-
  1556. ¼∩Γ¿ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, Γ« ó«  óαѼ∩  óδ-
  1557. »«½¡Ñ¡¿∩  »α«úαá¼¼δ ó«º¡¿¬áÑΓ «Φ¿í¬á. Å«ß½Ñ «íαáΘÑ¡¿∩ ¬ »α«-
  1558. µÑñπαÑ FrÑÑîѼ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩ p ßΓá¡«ó¿Γß∩  ¡Ñ«»αÑñѽѡ-
  1559. ¡δ¼, á »«ß½ÑñπεΘ¿Ñ ßß佬¿ ó¿ñá p íπñπΓ »α¿ó«ñ¿Γ∞ ¬ «Φ¿í¬Ñ.
  1560.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 »áαá¼ÑΓα "αẼÑα" íδ½ µÑ½«ú«  Γ¿-
  1561. ȇ.
  1562.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Dispose, GetMem, Release.
  1563.  
  1564. ------------------------------------------------------------
  1565.  öπ¡¬µ¿∩ FSearch                                 î«ñπ½∞ Dos
  1566. ------------------------------------------------------------
  1567.      öπ¡¬µ¿∩: êΘÑΓ Σá⌐½ ó ß»¿ß¬Ñ ¬áΓὫú«ó.
  1568.      Ä»¿ßá¡¿Ñ: FSearch(¼áαΦαπΓ: PathStr; ß»¿ß«¬_¬áΓ: string)
  1569.      Åα¿¼Ñτá¡¿∩: öπ¡¬µ¿∩ óδ»«½¡∩ÑΓ  »«¿ß¬  Σá⌐½á,  ºáñá¡¡«ú«
  1570. »áαá¼ÑΓα«¼  "¼áαΦαπΓ", ó ß»¿ß¬Ñ ¬áΓὫú«ó, ºáñá¡¡δσ »áαá¼ÑΓ-
  1571. α«¼ "ß»¿ß«¬_¬áΓ". èáΓὫú¿ ó ß»¿ß¬Ñ ñ«½ª¡δ αáºñѽ∩Γ∞ß∩  Γ«τ-
  1572. ¬«⌐  ß  ºá»∩Γ«⌐  á¡á½«ú¿τ¡« Γ«¼π, ¬á¬ φΓ« ñѽáÑΓß∩ ó ¬«¼á¡ñÑ
  1573. «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ äÄæ PATH. Å«¿ß¬ ¡áτ¿¡áÑΓß∩ óßÑúñá ß ΓÑ-
  1574. ¬πΘÑú«  ¬áΓὫúá  ¡á  ΓѬπΘѼ  ñ¿ß¬Ñ.  é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ
  1575. »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¡¬áΓÑ¡áµ¿ε «ñ¡«ú« ¿º ¼áαΦαπΓ«ó  ¬áΓὫ-
  1576. ú«ó ¿ ¿¼Ñ¡¿ Σá⌐½á ¿½¿, ó Γ«¼ ß½πτáÑ, Ñß½¿ Σá⌐½ ¡á⌐ñÑ¡ ¡Ñ íπ-
  1577. ñÑΓ, »πßΓπε ßΓ᫬π.
  1578.      Æ¿» PathStr «»¿ßá¡ ó  ¼«ñπ½Ñ  Dos,  ¬á¬  ßΓ᫬«óδ⌐  Γ¿»
  1579. string[79].
  1580.      ä½∩ ¡áσ«ªñÑ¡¿∩ óδ»«½¡∩Ѽδσ Σá⌐½«ó ß »«¼«Θ∞ε ¬«¼á¡ñδ äÄæ
  1581. PATH  ¡πª¡«  óáºóáΓ∞ »α«µÑñπαπ GetEnv('PATH') ¿ »ÑαÑñáΓ∞ αÑ-
  1582. ºπ½∞ΓáΓ Σπ¡¬µ¿¿ FSearch ó ¬áτÑßΓóÑ »áαá¼ÑΓαá "ß»¿ß«¬_¬áΓ".
  1583.      ÉѺπ½∞ΓáΓ  Σπ¡¬µ¿¿  FSearch  ¼«ª¡«   »ÑαÑñáΓ∞   Σπ¡¬µ¿¿
  1584. FExpand  ñ½∩  »αÑ«íαẫóá¡¿∩ Ñú« ó »«½¡«Ñ ¿¼∩ Σá⌐½á, Γ« ÑßΓ∞
  1585. ¿¼∩ Σá⌐½á, ºá»¿ßá¡¡«Ñ »α«»¿ß¡δ¼¿ íπ¬óἿ ó¬½ετáεΘÑÑ  ó  ßÑí∩
  1586. íπ¬óÑ¡¡πε  ¼ÑΓ¬π ñ¿ß¬«ó«ñá ¿ ¼áαΦαπΓ ñ«ßΓπ»á ¬ ¬áΓὫúπ, ¡á-
  1587. τ¿¡á∩ «Γ ¬«α¡Ñó«ú« ¬áΓὫúá. èα«¼Ñ Γ«ú« ñ½∩ αáºñѽѡ¿∩ ¿¼Ñ¡¿
  1588. Σá⌐½á  ¡á  ßΓ᫬π,  «»αÑñѽ∩εΘπε ¬áΓὫú, ¿ ßΓ᫬π, ºáñáεΘπε
  1589. ñ¿ß¬«ó«ñ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε FSplit.
  1590.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ FExpand, Fsplit, GetEnv.
  1591.      Åα¿¼Ñα:
  1592.  
  1593.   uses Dos;
  1594.   var
  1595.     S: PathStr;
  1596.   begin
  1597.     S: := FSearch('TURBO.EXE', GetEv('PATH'));
  1598.     if S = '' then
  1599.        WriteLn('öá⌐½ TURBO.EXE ¡Ñ ¡á⌐ñÑ¡');
  1600.     else
  1601.        WriteLn('ìá⌐ñÑ¡ Σá⌐½ ',FExpand(S));
  1602.   end.
  1603.  
  1604. ------------------------------------------------------------
  1605.  Åα«µÑñπαá FSplit                                î«ñπ½∞ Dos
  1606. ------------------------------------------------------------
  1607.      öπ¡¬µ¿∩: Éáºñѽ∩ÑΓ ¿¼∩ Σá⌐½á ¡á Γα¿ ¬«¼»«¡Ñ¡Γδ.
  1608.      Ä»¿ßá¡¿Ñ: FSplit(¼áαΦαπΓ: PathStr; var ¬áΓὫú: DirStr;
  1609. var ¿¼∩: NameStr; var αáßΦ¿α: ExtStr)
  1610.      Åα¿¼Ñτá¡¿∩: ê¼∩ Σá⌐½á, ºáñá¡¡«Ñ  »áαá¼ÑΓα«¼  "¼áαΦαπΓ",
  1611. αáºñѽ∩ÑΓß∩  ¡á Γα¿ Ñú« ¬«¼»«¡Ñ¡Γδ. ä½∩ »ÑαѼѡ¡«⌐ "¬áΓὫú"
  1612. πßΓá¡áó½¿óáÑΓß∩ º¡áτÑ¡¿Ñ íπ¬óÑ¡¡«⌐ ¼ÑΓ¬¿ ñ¿ß¬«ó«ñá ¿ ¼áαΦαπ-
  1613. Γá  ñ«ßΓπ»á  ¬ ¬áΓὫúπ ß« óßѼ¿ ¡áτá½∞¡δ¼ ¬«¡Ñτ¡δ¼¿ º¡á¬á¼¿
  1614. «íαáΓ¡«⌐ ¬«ß«⌐ τÑαΓδ, »ÑαѼѡ¡«⌐ "¿¼∩" »α¿ßóá¿óáÑΓß∩  º¡áτÑ-
  1615. ¡¿Ñ  ¿¼Ñ¡¿  Σá⌐½á,  á  »ÑαѼѡ¡«⌐ "αáßΦ¿α" - αáßΦ¿αÑ¡¿Ñ ¼Ñ¡¿
  1616. Σá⌐½á ß »αÑñΦÑßΓóπεΘÑ⌐ Γ«τ¬«⌐. èáªñδ⌐ ¿º  φΓ¿σ  ß«ßΓáó½∩εΘ¿σ
  1617. ßΓ᫬π  φ½Ñ¼Ñ¡Γ«ó ¼«ªÑΓ «¬áºáΓ∞ß∩ »πßΓδ¼ (ó Γ«¼ ß½πτáÑ, Ñß½¿
  1618. "¼áαΦαπΓ" ¡Ñ ß«ñÑαª¿Γ ß««ΓóÑΓßΓóπεΘÑú« φ½Ñ¼Ñ¡Γá).
  1619.      Æ¿»δ PathStr, DirStr, ExtStr ¿ NameStr «»αÑñѽѡδ ó ¼«-
  1620. ñπ½Ñ Dos ß½ÑñπεΘ¿¼ «íαẫ¼:
  1621.  
  1622.   type
  1623.     PathStr = string[79];
  1624.     DirStr  = strig[67];
  1625.     NameStr = string[8];
  1626.     ExtStr  = string[4];
  1627.  
  1628.      Åα¿ αáºñѽѡ¿¿ ¿¼Ñ¡¿ Σá⌐½á ¡á ¬«¼»«¡Ñ¡Γδ FSplit ¡Ñ  ñ«-
  1629. íáó½∩ÑΓ ¿ ¡Ñ πñá½∩ÑΓ ¡¿¬á¬¿σ ß¿¼ó«½«ó ¿ »α¿ ¬«¡¬áΓѡᵿ¿ αÑ-
  1630. ºπ½∞Γ¿απεΘ¿σ »ÑαѼѡ¡δσ "¬áΓὫú", "¿¼∩"  ¿  "αáßΦ¿α"  íπñÑΓ
  1631. »«½πτÑ¡ ºáñá¡¡δ⌐ ¼áαΦαπΓ.
  1632.      Åα¿¼Ñα:
  1633.  
  1634.   uses Dos;
  1635.   var
  1636.     P: PathStr;
  1637.     D: DirStr;
  1638.     N: NameStr;
  1639.     E: ExtStr;
  1640.   begin
  1641.     Write('ê¼∩ Σá⌐½á (WORK.PAS) : ')
  1642.     ReadLn(P);
  1643.     FSplit(p, D, N, E);
  1644.     if N = '' then N:='WORK';
  1645.     if E = '' then E:='.PAS';
  1646.     P := D + N + E;
  1647.     WriteLn('ÉѺπ½∞Γ¿απεΘÑÑ ¿¼∩ = ',P);
  1648.   end.
  1649.  
  1650. ------------------------------------------------------------
  1651.  Åα«µÑñπαá GetArcCoords                        î«ñπ½∞ Graph
  1652. ------------------------------------------------------------
  1653.      öπ¡¬µ¿∩: Å«ºó«½∩ÑΓ »«½∞º«óáΓѽε óδñáóáΓ∞ ºá»α«ß « ¬««α-
  1654. ñ¿¡áΓáσ »«ß½Ññ¡Ñ⌐ ¬«¼á¡ñδ Çrß.
  1655.      Ä»¿ßá¡¿Ñ: GetArcCoords(var ¬««αñ¿¡áΓδ : ArcCoordsType)
  1656.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ »α«µÑñπαá ó«ºóαáΘáÑΓ »ÑαѼѡ¡πε Γ¿»á
  1657. CoordType, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ »αÑñ«»¿ßá¡¡δ¼ ¿ «»αÑñѽѡ ß½Ññπ-
  1658. εΘ¿¼ «íαẫ¼:
  1659.  
  1660.      type
  1661.         ArcCoordsType :
  1662.         ò,Y : integer; ò¡áτ, Y¡áτ, ò¬«¡,
  1663.         Y¬«¡ : word;
  1664.  
  1665.      end;
  1666.  
  1667.      Åα«µÑñπαá GetArcCoords ó«ºóαáΘáÑΓ »ÑαѼѡ¡πε,  ß«ñÑαªá-
  1668. Θπε  Γ«τ¬π µÑ¡Γαá (ò,Y), ¡áτá½∞¡πε »«º¿µ¿ε (ò¡áτ,Y¡áτ) ¿ ¬«-
  1669. ¡Ñτ¡πε »«º¿µ¿ε (ò¬«¡,Y¬«¡) »«ß½Ññ¡Ñ⌐ ¬«¼á¡ñδ Çrß. ¥Γ¿ º¡áτÑ-
  1670. ¡¿∩ ¼«úπΓ íδΓ∞ »«½Ñº¡δ¼¿, Ñß½¿ óδ σ«Γ¿ΓÑ, ¡á»α¿¼Ñα, »α«óÑßΓ¿
  1671. »α∩¼πε, ¡áτ¿¡áεΘπεß∩ «Γ ¬«¡µá ñπú¿.
  1672.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1673.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Arc, Ellipse, PieSlice, Pi-
  1674. eSliseXY.
  1675.      Åα¿¼Ñα:
  1676.  
  1677.  var
  1678.   ArcCoords : ArcCoordsType;
  1679.  begin
  1680.   ...
  1681.   Arc(100,100,0,89,30);
  1682.   GetArcCoords(ArcCoorsType);
  1683.   MoveTo(100,100);
  1684.   with ArcCoords do
  1685.         Line(Xstart, Ystart, Xend, Yend);
  1686.   ...
  1687.   end.
  1688.  
  1689. ------------------------------------------------------------
  1690.  Åα«µÑñπαá GetAspectRatio                      î«ñπ½∞ Graph
  1691. ------------------------------------------------------------
  1692.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñÑ⌐ßΓóπεΘπε αáºαÑΦáεΘπε ß»«ß«í¡«ßΓ∞
  1693. úαáΣ¿τÑ߬«ú«  φ¬αá¡á, ß »«¼«Θ∞ε ¬«Γ«α«ú« ¼«ª¡« óδτ¿ß½¿Γ∞ ¬«-
  1694. φΣΣ¿µ¿Ñ¡Γ «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡¡Ñ¡¿∩ (ò¬,Y¬).
  1695.      Ä»¿ßá¡¿Ñ: GetAspectRatio(var ò¬, Y¬ : word)
  1696.      Åα¿¼Ñτá¡¿∩: ä½∩ ¬áªñ«ú« ñαá⌐óÑαá ¿ úαáΣ¿τÑ߬«ú«  αѪ¿¼á
  1697. ¿¼ÑÑΓß∩  ßó∩ºá¡¡δ⌐ ß ¡¿¼ ¬«φΣΣ¿µ¿Ñ¡Γ «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡¡Ñ-
  1698. ¡¿∩ (τáßΓ¡«Ñ «Γ ñѽѡ¿∩ ¼á¬ß¿¼á½∞¡«ú«  αáºαÑΦÑ¡¿∩  »«  y  ¡á
  1699. ¼á¬ß¿¼á½∞¡«Ñ αáºαÑΦÑ¡¿Ñ »« x). ¥Γ« «Γ¡«ΦÑ¡¿Ñ ¼«ª¡« óδτ¿ß½¿Γ∞
  1700. »πΓѼ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ  GetAspectRatio  ¿  »«ß½ÑñπεΘÑú«
  1701. ñѽѡ¿∩ »áαá¼ÑΓαá ò¬ ¡á »áαá¼ÑΓα Y¬. ¥Γ« «Γ¡«ΦÑ¡¿Ñ ¿ß»«½∞ºπ-
  1702. ÑΓß∩ »α¿ óδτÑατ¿óá¡¿¿ «¬απª¡«ßΓÑ⌐, ñπú ¿ ºá¬απú½Ñ¡¿⌐.
  1703.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1704.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1705.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Arc, Circle, GetMaxX,  Get-
  1706. MaxY, PieSlice, SetAspectRatio.
  1707.      Åα¿¼Ñα:
  1708.  
  1709.  var
  1710.   Xasp, Yasp : word;
  1711.   XSideLength, YSideLength : integer;
  1712.  begin
  1713.   ...
  1714.   GetAspectRatio(Xasp,Yasp);
  1715.    XSideLength := 20;
  1716.     { óδα«ó¡∩Γ∞ ñ½¿¡π »« Y ó ß««ΓóÑΓßΓó¿¿ ß ¬«φΣ¿µ¿Ñ¡Γ«¼
  1717.       «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡¡Ñ¡¿∩ }
  1718.    YSideLength := Round((Xasp/Yasp)*XSideLength);
  1719.     { ¡áα¿ß«óáΓ∞ ¡á φ¬αá¡Ñ "¬óáñαáΓ¡δ⌐" »α∩¼«πú«½∞¡¿¬ }
  1720.    Rectangle(0,0,XSideLength,YSideLength);
  1721.    ...
  1722.   end.
  1723.  
  1724. ------------------------------------------------------------
  1725.  öπ¡¬µ¿∩ GetBkColor                            î«ñπ½∞ Graph
  1726. ------------------------------------------------------------
  1727.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ Σ«¡«ó«ú« µóÑΓá.
  1728.      Ä»¿ßá¡¿Ñ: GetBkColor
  1729.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  1730.      Åα¿¼Ñτá¡¿∩: ö«¡«óδ⌐ µóÑΓ ¼«ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ ó ñ¿-
  1731. á»áº«¡Ñ  «Γ  0 ñ« 15 (ó ºáó¿ß¿¼«ßΓ¿ «Γ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú«
  1732. ñαá⌐óÑαá ¿ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á).
  1733.      àß½¿ ºá»¿ß∞ 0 »á½¿Γαδ íδ½á ¿º¼Ñ¡Ñ¡á «íαáΘÑ¡¿Ñ¼ ¬ »α«µÑ-
  1734. ñπαá¼  SetPalette  ¿½¿  SetAllPalette, Γ« Σπ¡¬µ¿∩ GetBkColor
  1735. íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0.
  1736.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1737.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1738.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetColor, GetPalette, Init-
  1739. Graph, SetAllPalette, SetBkColor, SetColor, SetPalette.
  1740.      Åα¿¼Ñα:
  1741.  
  1742.   uses Graph;
  1743.   var
  1744.     GraphDriver, GraphMode : integer;
  1745.     Color : word;
  1746.   begin
  1747.     GraphDriver := Detect;
  1748.     InitGraph(GraphDriver,GraphMode,'');
  1749.     if GraphResult <> grOk then
  1750.       Halt(1);
  1751.     Randomize;
  1752.     repeat
  1753.     Color := Succ(GetBkColor);
  1754.     if Color > PaletteSize then
  1755.       Color := 0;
  1756.     SetBkColor(Color);
  1757.     LineTo(Random(GetMaxX), Random(GetMaxY));
  1758.   until False;                 { ñ½∩ óδσ«ñᠡ᪼¿ΓÑ ^Break }
  1759.  end.
  1760.  
  1761. ------------------------------------------------------------
  1762.  Åα«µÑñπαá GetCBreak                             î«ñπ½∞ Dos
  1763. ------------------------------------------------------------
  1764.      öπ¡¬µ∩: é«ºóαáΘáÑΓ ß«ßΓ«∩¡¿Ñ Ctrl-Break, ¬«Γ«α«Ñ »α«óÑ-
  1765. α∩ÑΓß∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ äÄæ.
  1766.      Ä»¿ßá¡¿Ñ: GetCBreak(var Break: boolean)
  1767.      Åα¿¼Ñτá¡¿∩:  äá¡¡á∩  »α«µÑñπαá   ó«ºóáαΘáÑΓ   ß«ßΓ«∩¡¿Ñ
  1768. Ctrl-Break,  »α«óÑα∩Ѽ«Ñ  ó  äÄæ.  é  ó䬽ετÑ¡¡«¼  ß«ßΓ«∩¡¿¿
  1769. (False) äÄæ »α«óÑα∩ÑΓ Ctrl-Break Γ«½∞¬« »α¿ óδó«ñÑ  ¡á  ¬«¡-
  1770. ß«½∞,  πßΓα«⌐ßΓó«  »ÑτáΓ¿  ¿½¿  ó ¬«¼¼π¡¿¬áµ¿«¡¡δÑ »«αΓδ. é«
  1771. ó¬½ετÑ¡¡«¼ ß«ßΓ«∩¡¿¿ (True) »α«óÑન ñѽáεΓß∩ »α¿ ¬áªñ«¼ «í-
  1772. αáΘÑ¡¿¿ ¬ ß¿ßΓѼÑ.
  1773.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε SetCBreak.
  1774.  
  1775. ------------------------------------------------------------
  1776.  öπ¡¬µ¿∩ GetColor                              î«ñπ½∞ Graph
  1777. ------------------------------------------------------------
  1778.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ  «ß¡«ó¡«ú«  µóÑΓá,
  1779. πßΓá¡«ó½Ñ¡¡«Ñ  »α¿ »αÑñδñπΘѼ πß»ÑΦ¡«¼ «íαáΘÑ¡¿¿ ¬ »α«µÑñπαÑ
  1780. SetColor.
  1781.      Ä»¿ßá¡¿Ñ: GetColor
  1782.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  1783.      Åα¿¼Ñτá¡¿∩: àß½¿ ñá¡¡á∩ »α«µÑñπαá  ó«ºóαáΘáÑΓ  º¡áτÑ¡¿Ñ
  1784. 0, Γ« φΓ« «º¡áτáÑΓ, τΓ« ΓѬπΘ¿¼ µóÑΓ«¼, ¿ß»«½∞ºπÑ¼δ¼ ñ½∩ óδ-
  1785. τÑατ¿óá¡¿∩, ∩ó½∩ÑΓß∩ »Ñαóδ⌐ µóÑΓ »á½¿Γαδ. Äß¡«ó¡«⌐ µóÑΓ  ¼«-
  1786. ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ «Γ 0 ñ« 15, ó ºáó¿ß¿¼«ßΓ¿ «Γ ΓѬπΘÑú«
  1787. úαáΣ¿τÑ߬«ú« αѪ¿¼á ¿ úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá.
  1788.      Ç¡á½«ú¿τ¡á∩ Σπ¡¬µ¿∩ ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1789.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1790.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetBkColor, GetPalette, In-
  1791. itGraph, SetAllPelette, SetColor, SetPalette.
  1792.      Åα¿¼Ñα:
  1793.  
  1794.  var
  1795.   GraphDriver, GraphMode : integer;
  1796.   Color : word;
  1797.  begin
  1798.   GraphDriver := Detect;
  1799.   InitGraph(GraphDriver,GraphMode,'');
  1800.   Randomize;
  1801.  repeat
  1802.     Color := Succ(GetBkColor);
  1803.     if Color > PaletteSize then
  1804.       Color := 0;
  1805.     SetBkColor(Color);
  1806.     LineTo(Random(GetMaxX), Random(GetMaxY));
  1807.   until False;                 { ñ½∩ óδσ«ñᠡ᪼¿ΓÑ ^Break }
  1808.  end.
  1809.  
  1810. ------------------------------------------------------------
  1811.  Åα«µÑñπαá GetDate                               î«ñπ½∞ Dos
  1812. ------------------------------------------------------------
  1813.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘπε ñáΓπ, πßΓá¡«ó½Ñ¡¡πε ó  «»Ñ-
  1814. αᵿ«¡¡«⌐ ß¿ßΓѼÑ.
  1815.      Ä»¿ßá¡¿Ñ: GetDate(var ú«ñ, ¼Ñß∩µ, τ¿ß½«, ñÑ¡∞_¡Ññѽ¿  :
  1816. word)
  1817.      Åα¿¼Ñτá¡¿∩: é«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ ¿¼ÑεΓ ß½ÑñπεΘ¿Ñ  ñ¿á-
  1818. »áº«¡δ:  "ú«ñ" - 1980..2099, "¼Ñß∩µ" - 1..12, "τ¿ß½«" 1..31,
  1819. "ñÑ¡∞_¡Ññѽ¿" - 0..6 (úñÑ º¡áτÑ¡¿Ñ 0 ß««ΓóÑΓßΓóπÑΓ ó«ß¬αÑßÑ-
  1820. ¡∞ε).
  1821.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ SetDate, GetTime, SetTime.
  1822.  
  1823. ------------------------------------------------------------
  1824.  öπ¡¬¿∩ GetDefaultPalette                      î«ñπ½∞ Graph
  1825. ------------------------------------------------------------
  1826.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ºá»¿ß∞ «»¿ßá¡¿∩ »á»½¿Γαδ.
  1827.      Ä»¿ßá¡¿Ñ: GetDefaultPalette(var »á½¿Γαá: PaletteType)
  1828.      Åα¿¼Ñτá¡¿∩:   äá¡¡á∩    Σπ¡¬µ¿∩    ó«ºóαáΘáÑΓ    ºá»¿ß∞
  1829. PaletteType,  ß«ñÑαªáΘπε »á½¿Γαπ, ¿¡¿µ¿á½¿º¿α«óá¡¡πε ñαá⌐óÑ-
  1830. α«¼ »α¿ ó맮óÑ »α«µÑñπαδ InitGraph.
  1831.  
  1832.   const
  1833.      MaxColors = 15;
  1834.   type
  1835.     PaletteType = record
  1836.                     Size : byte;
  1837.                     Colors : array[0..MaxColor] of shortint;
  1838.                   end;
  1839.  
  1840.      Ç¡á½«ú¿τ¡á∩ Σπ¬¡µ¿∩ ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1841.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1842.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿  InitGraph,  GetPalette,  Se-
  1843. tAllPalette, SetPalette.
  1844.      Åα¿¼Ñα:
  1845.  
  1846.   uses
  1847.    Crt, Graph;
  1848.   var
  1849.    Driver, Mode,
  1850.    i : integer;
  1851.    MyPal, OldPal : PletteType;
  1852.   begin
  1853.     DirectVideo := false;
  1854.     Randomize;
  1855.     Driver := Detect;   { »ÑαÑóÑßΓ¿ ó úαá¿τÑ߬¿⌐ αѪ¿¼ }
  1856.     InitGraph(Driver, Mode, '');
  1857.     if GraphResult < 0 then
  1858.        Halt(1);
  1859.     GetDefultPalette(OldPal); { ß«σαá¡¿Γ∞ ßΓáαπε »á½¿Γαπ }
  1860.     MyPal := OldPal; { ß¬«»¿α«óáΓ∞ ¿ ¿º¼Ñ¡¿Γ∞ }
  1861.     { óδóÑßΓ¿ ¿¡«α¼áµ¿ε ¡á φ¬αá¡ }
  1862.     for i = 0 to MyPal.Size - 1 do
  1863.     begin
  1864.       GetColor(i);
  1865.       OutTextXY(10, i * 10, '...¡áª¼¿ΓÑ ½εíπε ¬½áó¿Φπ...');
  1866.     end;
  1867.     repeat      { ¼Ñ¡∩Γ∞ »á½Γαπ, »«¬á ¡áªáΓá ¬½áó¿Φá }
  1868.       with MyPl do
  1869.         Colors[Random(Size)] := Random(Size + 1);
  1870.       SetAllPalette(MyPal);
  1871.     until KeyPressed;
  1872.     SetAllPalette(OldPal); { ó«ßßΓá¡«ó¿Γ∞ ¿ßσ«ñ¡πε »á½¿Γαπ }
  1873.     ClearDevice;
  1874.     OutTextXY(10, 10, 'ì᪼¿ΓÑ RETURN...')
  1875.     ReadLn;
  1876.     CloseGraph;
  1877.  end.
  1878.  
  1879. ------------------------------------------------------------
  1880.  Åα«µÑñπαá GetDir
  1881. ------------------------------------------------------------
  1882.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ ¬áΓὫú ¡á ºáñá¡¡«¼ ñ¿ß¬Ñ.
  1883.      Ä»¿ßá¡¿Ñ: GetDir(d : byte; var s : string)
  1884.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα d »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ µÑ-
  1885. ½«ú«  Γ¿»á, á s - »ÑαѼѡ¡πε ßΓ᫬«ó«ú« Γ¿»á. ç¡áτÑ¡¿Ñ ΓѬπ-
  1886. ΘÑú« ¬áΓὫúá ¡á ñ¿ß¬Ñ, ºáñá¡¡«ú« »áαá¼ÑΓα«¼ d, ó«ºóαáΘáÑΓß∩
  1887. ó  »ÑαѼѡ¡«⌐  s. ç¡áτÑ¡¿Ñ d = 0 π¬áºδóáÑΓ ¡á ΓѬπΘ¿⌐ ñ¿ß¬«-
  1888. ó«ñ, 1 - ºáñáÑΓ ñ¿ß¬«ó«ñ Ç, 2 - é ¿ Γ.ñ.
  1889.  
  1890.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  1891. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  1892. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  1893. ¡«¼ ß½πτáÑ.
  1894.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ ChDir, MkDir, RmDir.
  1895.  
  1896. ------------------------------------------------------------
  1897.  öπ¡¬µ¿∩ GetDriverName                         î«ñπ½∞ Graph
  1898. ------------------------------------------------------------
  1899.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ  ßΓ᫬π,  ß«ñÑαªáΘπε  ¿¼∩  ΓѬπΘÑú«
  1900. ñαá⌐óÑαá.
  1901.      Ä»¿ßá¡¿Ñ: GetDriverName
  1902.      Æ¿» αѺπ½∞ΓáΓá: æΓ᫬«óδ⌐ (string).
  1903.      Åα¿¼Ñτá¡¿∩: Å«ß½Ñ «íαáΘÑ¡¿∩ ¬ InitGraph ñá¡¡á∩  Σπ¡¬µ¿∩
  1904. ó«ºóαáΘáÑΓ ¿¼∩ á¬Γ¿ó¡«ú« ñαá⌐óÑαá.
  1905.      Ç¡á½«úτ¡á∩ Σπ¡¬µ¿∩ ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1906.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1907.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε InitGraph.
  1908.      Åα¿¼Ñα:
  1909.  
  1910.   uses Graph;
  1911.   var
  1912.     Driver, Mode : integer;
  1913.   begin
  1914.     Driver := Detect;  { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  1915.     InitGraph(Driver, Mode, '');
  1916.     if GraphResult < 0 then
  1917.        Halt(1);
  1918.     OutText('êß»«½∞ºπÑΓß∩ ñαá⌐óÑα ' + GetDriverName);
  1919.     ReadLn;
  1920.     CloseGraph;
  1921.   end.
  1922.  
  1923. ------------------------------------------------------------
  1924.  öπ¡¬µ¿∩ GetEnv                                  î«ñπ½∞ Dos
  1925. ------------------------------------------------------------
  1926.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ºáñá¡¡«⌐ »ÑαѼѡ¡«⌐ «»Ñαá-
  1927. µ¿«¡¡«⌐ ßαÑñδ.
  1928.  
  1929.      Ä»¿ßá¡¿Ñ: GetEnv(»ÑαѼ_ßαÑñδ : string)
  1930.      Åα¿¼Ñτá¡¿∩: öπ¡¬µ¿∩ GetEnv ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ºáñá¡¡«⌐
  1931. »ÑαѼѡ¡«⌐.  ê¼∩ »ÑαѼѡ¡«⌐ ¼«ªÑΓ π¬áºδóáΓ∞ß∩ ¬á¬ ßΓα«τ¡δ¼¿,
  1932. Γᬠ¿ »α«»¿ß¡δ¼¿ íπ¬óἿ, ¡« «¡« ¡Ñ ñ«½ª¡« ó¬½ετáΓ∞  ó  ßÑí∩
  1933. º¡á¬  αáóÑ¡ßΓóá  (=).  àß½¿ ºáñá¡¡á∩ »ÑαѼѡ¡á∩ «»Ñαᵿ«¡¡«⌐
  1934. ßαÑñδ ¡Ñ ßπΘÑßΓóπÑΓ, Γ«  Σπ¡¬µ¿∩  GetEnv  ó«ºóαáΘáÑΓ  »πßΓπε
  1935. ßΓ᫬π.
  1936.      ü«½ÑÑ »«ñα«í¡á∩ ¿¡Σ«α¼áµ¿∩ «í  «»Ñαᵿ«¡¡«⌐  ßαÑñÑ  äÄæ
  1937. ß«ñÑনΓß∩ ó ß»αáó«τ¡δσ απ¬«ó«ñßΓóáσ »« äÄæ.
  1938.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ EnvCount, EnvStr.
  1939.      Åα¿¼Ñα:
  1940.  
  1941.   {$M 8192,0,0}
  1942.   uses Dos;
  1943.   var
  1944.     Command: string[79];
  1945.   begin
  1946.     Write('éóóÑñ¿ΓÑ ¬«¼á¡ñπ äÄæ: ');
  1947.     ReadLn(Command);
  1948.     if Command <> '' then
  1949.        Command := '/C/ + Command;
  1950.     SwapVectors;
  1951.     Exec(GetEnv(COMSPEC'), Command);
  1952.     SwapVectors;
  1953.     if DosError <> 0 then
  1954.        Writeln('ìѽ∞º∩ óδ»«½¡¿Γ∞ COMMAND.COM');
  1955.   end.
  1956.  
  1957. ------------------------------------------------------------
  1958.  Åα«µÑñπαá GetFAttr                              î«ñπ½∞ Dos
  1959. ------------------------------------------------------------
  1960.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ áΓα¿íπΓδ Σá⌐½á.
  1961.      Ä»¿ßá¡¿Ñ: GetAttr(var f; var áΓα¿í : byte)
  1962.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f ñ«½ª¡Ñ¡ »αÑñßΓáó½∩ÑΓ∞ ß«í«⌐ Σá⌐-
  1963. ½«óπε  »ÑαѼѡ¡πε  (ß««ΓóÑΓßΓóπεΘπε Γ¿»¿º«óá¡¡«¼π, ¡ÑΓ¿»¿º«-
  1964. óá¡¡«¼π ¿½¿ ΓѬßΓ«ó«¼π Σá⌐½π) ñ½∩ ¬«Γ«α«ú« ñ«½ª¡«  íδΓ∞  óδ-
  1965. »«½¡Ñ¡«  »α¿ßóá¿óá¡¿Ñ Σá⌐½«ó«⌐ »ÑαѼѡ«⌐, ¡« ¬«Γ«αδ⌐ ¡Ñ ñ«½-
  1966. ªÑ¡ íδΓ∞ «Γ¬αδΓ. Åα«óÑα¬á áΓα¿íπΓ«ó óδ»«½¡∩ÑΓß∩ »πΓѼ  ßαáó-
  1967. ¡Ñ¡¿∩ ¿σ ß ¼á߬Ἷ, ºáñá¡¡δ¼¿ ó ó¿ñÑ ¬«¡ßΓá¡Γ ó ¼«ñπ½Ñ Dos:
  1968.  
  1969.   const
  1970.     { ¬«¡ßΓá¡Γδ áΓα¿íπΓ«ó Σá⌐½á }
  1971.    ReadOnly   = $01;  { Γ«½∞¬« τΓÑ¡¿Ñ }
  1972.    Hidden     = $02;  { "߬αδΓδ⌐" Σá⌐½ }
  1973.    SysFile    = $04;  { ß¿ßΓѼ¡δ⌐ Σá⌐½ }
  1974.    VolumeId   = $08;  { ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ«¼á }
  1975.    Directory  = $10;  { ¬áΓὫú }
  1976.    Archive    = $20;  { áασ¿ó¿ºáµ¿∩ }
  1977.    AnyFile    = $3F;  { »α«τ¿⌐ Σá⌐½ }
  1978.  
  1979.      è«ñδ «Φ¿í«¬ ¼«ª¡« »«½πτ¿Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿  DosError.
  1980. 髺¼«ª¡δ¼¿  ¬«ñἿ  «Φ¿í«¬ ∩ó½∩εΓß∩ ¬«ñ 3 (¡Ññ«»πßΓ¿¼δ⌐ ¼áα-
  1981. ΦαπΓ) ¿ ¬«ñ 5 (Σá⌐½ ¡Ññ«ßΓπ»Ñ¡).
  1982.      Äúαá¡¿τÑ¡¿∩: öá⌐½ f ¡Ñ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  1983.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ SetFAttr,  GetFAttr,  SetF-
  1984. Time.
  1985.      Åα¿¼Ñα:
  1986.  
  1987.  uses Dos;
  1988.   var
  1989.     f : file;
  1990.     attr : byte;
  1991.   begin
  1992.  { »«½πτ¿Γ∞ ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ¿¼∩ Σá⌐½á }
  1993.  Assign(f, ParamStr(1));
  1994.  GetFAttr(f, attr);
  1995.  Writeln(ParamStr(1));
  1996.  ifDosError <> 0 then
  1997.     Writeln('è«ñ «Φ¿í¬¿ äÄæ = ', DosError)
  1998.  else
  1999.  begin
  2000.     Writeln('ÇΓα¿íπΓ = ', attr);
  2001.  { «»αÑñѽ¿Γ∞ Γ¿» áΓα¿íπΓá Σá⌐½á ß »«¼«Θ∞ε Σ½áú«ó ó ¼«ñπ½Ñ
  2002.    Dos }
  2003.  if attr and ReadOnly <> 0 then
  2004.     Writeln('öá⌐½ ñ«ßΓπ»Ñ¡ Γ«½∞¬« »« τΓÑ¡¿ε');
  2005.  if attr and Hidden <> 0 then
  2006.     Writeln('"æ¬αδΓδ⌐" Σá⌐½');
  2007.  if attr and SysFile <> 0 then
  2008.     Writeln('æ¿ßΓѼ¡δ⌐ Σá⌐½');
  2009.  if attr and VolumeId <> 0 then
  2010.     Writeln('êñÑ¡Γ¿Σ¿¬áΓ«α Γ«¼á');
  2011.  if attr and Directory <> 0 then
  2012.     Writeln('èáΓὫú');
  2013.  if attr and Archive <> 0 then
  2014.     Writeln('Çασ¿ó¿º¿απѼδ⌐ («íδτ¡δ⌐) Σá⌐½');
  2015.  end; { else }
  2016. end.
  2017.  
  2018. ------------------------------------------------------------
  2019.  Åα«µÑñπαá GetFillPattern                      î«ñπ½∞ Graph
  2020. ------------------------------------------------------------
  2021.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ «íαáºÑµ ºá»«½¡¿Γѽ∩, ºáñá¡-
  2022. ¡δ⌐ »«ß½Ññ¡¿¼ «íαáΘÑ¡¿Ñ¼ ¬ »α«µÑñπαÑ SetFillPattern.
  2023.      Ä»¿ßá¡¿Ñ: GetFillPattern(var «íαáºÑµ_ºá»«½¡¿Γѽ∩: Fill-
  2024. PatternType)
  2025.      Åα¿¼Ñτá¡¿∩: Æ¿» FillPatternType «»¿ßᡠ󠼫ñπ½Ñ Graph:
  2026.  
  2027.   type
  2028.     FillPatternType = array[1..8] of byte;
  2029.  
  2030.      àß½¿   »«½∞º«óáΓѽ∞   ¡Ñ    «íαáΘá½ß∩    ¬    »α«µÑñπαÑ
  2031. SetFillPattern,  Γ«  »α«µÑñπαá GetFillPattern ó«ºóαáΓ¿Γ ¼áß-
  2032. ß¿ó, ºá»«½Ñ¡¡¡δ⌐ $FF.
  2033.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2034.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2035.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ SetFillPattern, GetFillSet-
  2036. tings.
  2037.  
  2038. ------------------------------------------------------------
  2039.  Åα«µÑñπαá GetFillSettings                     î«ñπ½∞ Graph
  2040. ------------------------------------------------------------
  2041.      öπ¡¬µ¿∩: Å«ºó«½∩ÑΓ óδñáóáΓ∞ ºá»α«ß « ΓѬπΘѼ  Γ¿»Ñ  ºá-
  2042. »«½¡¿Γѽ∩  ¿ Ñú« µóÑΓÑ, ¬«Γ«αδÑ πßΓá¡«ó½Ñ¡δ »α«µÑñπαἿ Set-
  2043. FillStyle ¿½¿ SetFillPattern.
  2044.      Ä»¿ßá¡¿Ñ:    GetFillSetings(var     ¿¡Σ«α¼_ºá»«½¡     :
  2045. FillSettingsType)
  2046.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ »α«µÑñπαá ó«ºóαáΘáÑΓ »ÑαѼѡ¡πε Γ¿»á
  2047. FillSettingsType, ¬«Γ«αδ⌐ «»¿ßδóáÑΓß∩ ó ¼«ñπ½Ñ Graph ß½Ññπε-
  2048. Θ¿¼ «íαẫ¼:
  2049.  
  2050.  type
  2051.    FillSettingsType = record
  2052.                         Pattern : word;             { Γ¿» }
  2053.                         Color   : word;             { µóÑΓ }
  2054.                       end;
  2055.  
  2056.      Å«½Ñ Pattern ß«ñÑαª¿Γ óδíαá¡¡δ⌐ ó ¬áτÑßΓóÑ ΓѬπΘÑú« Γ¿»
  2057. ºá»«½¡¿Γѽ∩.  Å«½Ñ Color ß«ñÑαª¿Γ óδíαá¡¡δ⌐ ó ¬áτÑßΓóÑ ΓѬπ-
  2058. ΘÑú« µóÑΓ ºá¬αá߬¿. ê «íαáºÑµ, ¿ µóÑΓ ºá¬αá߬¿  ¼«ª¡«  ¿º¼Ñ-
  2059. ¡¿Γ∞ »πΓѼ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαá¼ SetFillStyle ¿ SetFillPat-
  2060. tern.
  2061.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2062.      Åα«τÑÑ: æ¼.  ΓᬪѠ »α«µÑñπαδ  FillPoly,  SetFillStyle,
  2063. SetFillPattern.
  2064.      Åα¿¼Ñα:
  2065.  
  2066.  var
  2067.    FillInfo : FillSttingsType;
  2068.    CurPattern,
  2069.    CurColor : word;
  2070.  begin
  2071.   ...
  2072.   GetFillSettings(FillInfo);
  2073.   CurPattern := FillInfo.Pattern;
  2074.   CurColort := FillInfo.Color;
  2075.   ...
  2076.  end.
  2077.  
  2078. ------------------------------------------------------------
  2079.  Åα«µÑñπαá GetFTime                               î«ñπ½∞ Dos
  2080. ------------------------------------------------------------
  2081.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñáΓπ ¿ óαѼ∩ »«ß½Ññ¡Ñ⌐ ºá»¿ß¿  Σá⌐-
  2082. ½á.
  2083.      Ä»¿ßá¡¿Ñ: GetFTime(var f; var óαѼ∩)
  2084.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f ñ«½ª¡Ñ¡ »αÑñßΓáó½∩ÑΓ∞ ß«í«⌐ Σá⌐-
  2085. ½«óπε  »ÑαѼѡ¡πε  (ß««ΓóÑΓßΓóπεΘπε Γ¿»¿º«óá¡¡«¼π, ¡ÑΓ¿»¿º«-
  2086. óá¡¡«¼π ¿½¿ ΓѬßΓ«ó«¼π Σá⌐½π) ñ½∩ ¬«Γ«α«ú« ñ«½ª¡«  íδΓ∞  óδ-
  2087. »«½¡Ñ¡« »α¿ßóá¿óá¡¿Ñ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐, ¡« ¬«Γ«αδ⌐ ¡Ñ ñ«½-
  2088. ªÑ¡ íδΓ∞ «Γ¬αδΓ. ç¡áτÑ¡¿Ñ óαѼѡ¿, ó«ºóαáΘáѼ«Ñ ó  »áαá¼ÑΓαÑ
  2089. "óαѼ∩",  ¼«ªÑΓ íδΓ∞ αá߻ᬫóá¡« »πΓѼ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ
  2090. UnpackTime. è«ñδ «Φ¿í«¬ ¼«ª¡«  »«½πτ¿Γ∞  ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿
  2091. DosError. àñ¿¡ßΓóÑ¡¡δ¼ ó«º¼«ª¡δ¼ ¬«ñ«¼ «Φ¿í¬¿ ∩ó½∩ÑΓß∩ ¬«ñ 6
  2092. (¡Ññ«»πßΓ¿¼á∩ «íαáí«Γ¬á Σá⌐½á).
  2093.      Äúαá¡¿τÑ¡¿∩: öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  2094.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ SetFTime, PackTime, UnPack-
  2095. Time.
  2096.  
  2097. -----------------------------------------------------------
  2098.  öπ¡¬µ¿∩ GetGraphMode                         î«ñπ½∞ Graph
  2099. -----------------------------------------------------------
  2100.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2101.      Ä»¿ßá¡¿Ñ: GetGraphMode
  2102.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ »α«µÑñπαá ó«ºóαáΘáÑΓ ΓѬπΘ¿⌐  úαáΣ¿-
  2103. τÑ߬¿⌐  αѪ¿¼,  πßΓá¡«ó½Ñ¡¡δ⌐ ß »«¼«Θ∞ε »α«µÑñπα InitGraph ¿
  2104. SetGraphMode. ç¡áτÑ¡¿∩ αѪ¿¼á »αÑñßΓáó½∩ÑΓ ß«í«⌐ µÑ½«Ñ τ¿ß½«
  2105. ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 5 ¿ ºáó¿ß¿Γ «Γ ΓѬπΘÑú« ñαá⌐óÑαá.
  2106.      Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ αѪ¿¼á:
  2107.  
  2108. ------------------------------------------------------------
  2109. âαáΣ¿τÑ߬¿⌐   ê¼∩     ç¡áτÑ¡¿Ñ   æΓ«½íµ«ó   Å὿Γαá  æΓαá¡¿µ
  2110.   ñαá⌐óÑα  ¬«¡ßΓá¡Γδ              σ ßΓ᫬
  2111. ------------------------------------------------------------
  2112. CGA         CGAC0         0      320x200        C0        1
  2113.             CGAC1         1      320x200        C1        1
  2114.             CGAC2         2      320x200        C2        1
  2115.             CGAC3         3      320x200        C3        1
  2116.             CGAHi         4      640x200     2 µóÑΓá      1
  2117.  
  2118. MCGA        MCGAC0        0      320x200        C0        1
  2119.             MCGAC1        1      320x200        C1        1
  2120.             MCGAC2        2      320x200        C2        1
  2121.             MCGAC3        3      320x200        C3        1
  2122.             MCGAMed       4      640x200     2 µóÑΓá      1
  2123.  
  2124. EGA         EGALo         0      640x200     16 µóÑΓ«ó    1
  2125.             çëä謠        1      640Θ350     16 µóÑΓ«ó    2
  2126.  
  2127. çëä64       çëä64Äα       0      640Θ200     16 µóÑΓ«ó    1
  2128.             çëä64謠      1      640Θ350      4 µóÑΓá     1
  2129.  
  2130. EGA-        EGAMonoHi     3      640x350      2 µóÑΓá     1*
  2131.  
  2132. MONO        EGAMonoHi     3      640x350      2 µóÑΓá    1**
  2133.  
  2134. HERC        HercMonoHi    0      720x348      2 µóÑΓá     2
  2135.  
  2136. ATT400      ATT400C0      0      320x200         C0       1
  2137.             ATT400C1      1      320x200         C1       1
  2138.             ATT400C2      2      320x200         C2       1
  2139.             ATT400C3      3      320x200         C3       1
  2140.             ATT400Med     4      640x200       2 µóÑΓá    1
  2141.             ATT400Hi      5      640x200       2 µóÑΓá    1
  2142.  
  2143. VGA         VGALo         0      640x200      16 µóÑΓ«ó   2
  2144.             VGAMed        1      640x350      16 µóÑΓ«ó   2
  2145.             VGAHi         2      640x480      16 µóÑΓ«ó   1
  2146.  
  2147. PC3270      PC3270Hi      0      640x200       2 µóÑΓá    1
  2148.  
  2149. 8514        IBM8514Lo     0      640x480      256 µóÑΓ«ó  1
  2150. 8514        IBM8514Hi     0     1024x768      256 µóÑΓ«ó  1
  2151.  
  2152. * - 64è ¡á »½áΓÑ EGAMono
  2153. ** - 256è ¡á »½áΓÑ EGAMomo
  2154. ------------------------------------------------------------
  2155.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2156.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2157.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ ClearDevice, DetectGraph,
  2158. InitGraph, RestoreCrtMode, SetGraphMode.
  2159.      Åα¿¼Ñα:
  2160.  
  2161.   uses Graph;
  2162.   var
  2163.     Gd, Gm : integer;
  2164.     Mode : integer;
  2165.   begin
  2166.    Gd := Detect;
  2167.    InitGraph(Gd, Gm, '');
  2168.    if GraphResult <> grOk then
  2169.       Halt(1);
  2170.    OutText('ä½∩ óδσ«ñá ¿º ßαÑñßΓó úαáΣ¿¬¿ ¡áª¼¿ΓÑ RETURN:');
  2171.    Readln;
  2172.    RestoreCRTMode;
  2173.  Writeln('ÆÑ»Ñα∞ óδ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ');
  2174.  Writeln('ä½∩ »ÑαÑσ«ñá ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ ¡áª¼¿ΓÑ RETURN');
  2175.    Readln;
  2176.    SetGraphMode(GetGraphMode);
  2177.    OutTextXY(0, 0, 'éδ ß¡«óá ó úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ');
  2178.  OutTextXY(0, TextHeight('H'), 'ä½∩ óδσ«ñᠡ᪼¿ΓÑ RETURN');
  2179.    Readln;
  2180.    CloseGraph;
  2181.  end.
  2182.  
  2183. ------------------------------------------------------------
  2184.  Åα«µÑñπαá GetImage                            î«ñπ½∞ Graph
  2185. ------------------------------------------------------------
  2186.      öπ¡¬µ¿∩: æ«σαá¡∩ÑΓ ó íπΣÑαÑ ñó«¿τ¡δ⌐ «íαẠºáñá¡¡«⌐ «í-
  2187. ½áßΓ¿ φ¬αá¡á.
  2188.      Ä»¿ßá¡¿Ñ:  GetImage(σ1,  π1,  σ2,  π2,  :   word;   var
  2189. í¿Γ_¼áßß)
  2190.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓαδ σ1, π1, σ2, π2 «»αÑñѽ∩εΓ »α∩¼«π-
  2191. ú«½∞¡πε «í½áßΓ∞ φ¬αá¡á. Åáαá¼ÑΓα "í¿Γ_¼áßß" ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿-
  2192. º«óá¡¡δ¼ »áαá¼ÑΓα«¼, ¬«Γ«αδ⌐ ñ«½ªÑ¡ íδΓ∞ í«½∞ΦÑ ¿½¿ αáóÑ¡ 4,
  2193. »½εß  αẼÑα  »á¼∩Γ¿,  «ΓóÑñÑ¡¡δ⌐ ñ½∩ «í½áßΓ¿ φ¬αá¡á. ÅÑαóδÑ
  2194. ñóá ß½«óá »áαá¼ÑΓαá "í¿Γ_¼áßß" ºáαѺÑαó¿α«óá¡δ ñ½∩ Φ¿α¿¡δ  ¿
  2195. óδß«Γδ «í½áßΓ¿ φ¬αá¡á:
  2196.  
  2197.  width  := x2 - x1 + 1;                        { Φ¿α¿¡á }
  2198.  heignt := y2 - y1 + 1;                        { óδß«Γá }
  2199.  
  2200.      ÄßΓáóΦá∩ß∩ τáßΓ∞ »áαá¼ÑΓαá "í¿Γ_¼áßß" ¿ß»«½∞ºπÑΓß∩  ñ½∩
  2201. ß«σαá¡Ñ¡¿∩  ßἫú« ñó«¿τ¡«ú« «íαáºá. ä½∩ «»αÑñѽѡ¿∩ αẼÑαá
  2202. »á¼∩Γ¿, ¡Ñ«íσ«ñ¿¼«⌐ ñ½∩  »áαá¼ÑΓαá  "í¿Γ_¼áßß",  ¿ß»«½∞ºπ⌐ΓÑ
  2203. Σπ¡µ¿ε ImageSize.
  2204.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2205.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ ImageSize, PutImage.
  2206.      Åα¿¼Ñα:
  2207.  
  2208.  var
  2209.    P    : pointer;
  2210.    Size : word;
  2211.    Gd, Gm : pointer;
  2212.   begin
  2213.    Gd := Detect;
  2214.    InitGraph(Gd, Gm, '');
  2215.    if GraphResult <> grOk then
  2216.       Halt(1);
  2217.   Bar(0, 0, GetMaxX, GetMaxY);
  2218.   Size := ImageSize(10,20,30,40);
  2219.   GetMem(p,Size);         { óδñѽ¿Γ∞ »á¼∩Γ∞ ó ñ¿¡á¼¿τÑ߬¿
  2220.                             αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ }
  2221.   GetImage(10,20,30,40,p^);
  2222.   Readln;
  2223.   ClearDevice;
  2224.   PutImage(100, 100, P^, NormalPut);
  2225.   Readln;
  2226.   CloseGraph;
  2227.  end.
  2228.  
  2229. ------------------------------------------------------------
  2230.  Åα«µÑñπαá GetIntVec                             î«ñπ½∞ Dos
  2231. ------------------------------------------------------------
  2232.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ áñαÑß π¬áºá¡¡«ú«  óÑ¬Γ«αá  »αÑαδóá-
  2233. ¡¿⌐.
  2234.      Ä»¿ßá¡¿Ñ: GetIntVec( ¡«¼_»αÑαδó : byte;  óÑ¬Γ«α  :
  2235. pointer)
  2236.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "¡«¼_»αÑαδó" ºáñáÑΓ ¡«¼Ñα  óÑ¬Γ«αá
  2237. »αÑαδóá¡¿∩  («Γ  0 ñ« 255), á Ñú« áñαÑß ó«ºóαáΘáÑΓß∩ ó »áαá-
  2238. ¼ÑΓαÑ "óÑ¬Γ«α".
  2239.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ SetIntVec.
  2240.  
  2241. ------------------------------------------------------------
  2242.  Åα«µÑñπαá GetLineSettings                     î«ñπ½∞ Graph
  2243. ------------------------------------------------------------
  2244.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ Γ¿» ½¿¡¿¿, «íαáºÑµ ½¿¡¿¿  ¿
  2245. ÑÑ Γ«½Θ¿¡π, πßΓá¡«ó½Ñ¡¡δÑ »α«µÑñπα«⌐ SetLineStyle.
  2246.      Ä»¿ßá¡¿Ñ: GetLineStyle(var LineInfo : LineSettingsType)
  2247.      Åα¿¼Ñτá¡¿∩: Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ ¿ Γ¿»δ:
  2248.  
  2249.   type
  2250.     LineSettingsType = record
  2251.         LineStyle  : word;
  2252.         Pattern    : word;
  2253.         Thickness  : word;
  2254.   end;
  2255.  
  2256.  const
  2257.    { Γ¿»δ ½¿¡¿⌐ }
  2258.    SolidLn   = 0;
  2259.    DottedLn  = 1;
  2260.    CenterLn  = 2;
  2261.    DashedLn  = 3;
  2262.    UserBitLn = 4;     { Γ¿» ½¿¡¿¿, ºáñá¡¡δ⌐ »«½∞º«óáΓѽѼ }
  2263.  
  2264.   { Γ«½Θ¿¡á ½¿¡¿¿ }
  2265.   NormWidth   = 1;         { «íδτ¡á∩ ½¿¡¿∩ }
  2266.   ThickWidth  = 3;         { ª¿α¡á∩ ½¿¡¿∩ }
  2267.  
  2268.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2269.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ SetLineStyle.
  2270.      Åα¿¼Ñα:
  2271.  
  2272.   var
  2273.     LineInfo : LineSettingsType;
  2274.   begin
  2275.    ...
  2276.    GetLineSettings(LineInfo);
  2277.    CurStyle := LineInfo.LineStyle;
  2278.    CurPattern := LineInfoPattern;
  2279.    CurWidth := LineInfo.Thickness;
  2280.    ...
  2281.   end.
  2282.  
  2283. ------------------------------------------------------------
  2284.  Åα«µÑñπαá GetMaxColor                         î«ñπ½∞ Graph
  2285. ------------------------------------------------------------
  2286.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ¡á¿í«½∞ΦÑÑ º¡áτÑ¡¿Ñ µóÑΓá,  ¬«Γ«α«Ñ
  2287. ¼«ª¡« »ÑαÑñáΓ∞ »α«µÑñπαÑ SetColor.
  2288.      Ä»¿ßá¡¿Ñ: GetMaxColor
  2289.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  2290.      Åα¿¼Ñτá¡¿∩: ìá»α¿¼Ñα, »α¿ ¿ß»«½∞º«óá¡¿¿ áñá»ΓÑαá EGA  ß
  2291. 256è  Σπ¡¬µ¿∩ GetMaxColor óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 15. ¥Γ«
  2292. «º¡áτáÑΓ,  τΓ«  ñ«»π߬áÑΓß∩  ½εí«Ñ  «íαáΘÑ¡¿Ñ  ¬   »α«µÑñπαÑ
  2293. SetColor ß« º¡áτÑ¡¿Ñ¼ «Γ 0 ñ« 15. Åα¿ ¿ß»«½∞º«óá¡¿¿ áñá»ΓÑαá
  2294. CGA ó αѪ¿¼Ñ ß óδß«¬¿¼  αáºαÑΦÑ¡¿Ñ¼  ¿½¿  ¼«¡«σα«¼áΓ¿τÑ߬«ú«
  2295. áñá»ΓÑαá Hercules, »«ß¬«½∞¬π φΓ¿ áñá»ΓÑαδ »«ññÑনóáεΓ Γ«½∞-
  2296. ¬« º¡áτÑ¡¿∩ «ß¡«ó¡«ú« µóÑΓá 0 ¿½¿ 1,  »α«µÑñπαá  GetMaxColor
  2297. ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 1.
  2298.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2299.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2300.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ SetColor.
  2301.  
  2302. ------------------------------------------------------------
  2303.  öπ¡¬µ¿∩ GetMaxMode                            î«ñπ½∞ Graph
  2304. ------------------------------------------------------------
  2305.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑú« ºáúαπªÑ¡¡«ú«  ñαá⌐óÑαá
  2306. ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ ¡«¼Ñαá αѪ¿¼á.
  2307.      Ä»¿ßá¡¿Ñ: GetMaxMode
  2308.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  2309.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ Σπ¡¬µ¿∩ »«ºó«½∩ÑΓ óá¼ ¡Ñ»«ßαÑñßΓóÑ¡-
  2310. ¡« ¿º ñαá⌐óÑαá ¡á⌐Γ¿ ñ½∩ ΓѬπΘÑú« ñαá⌐óÑαá ¼á¬ß¿¼á½∞¡«Ñ º¡á-
  2311. τÑ¡¿Ñ ¡«¼Ñαá αѪ¿¼á. (Éá¡ÑÑ Ññ¿¡ßΓóÑ¡¡δ⌐ ß»«ß«í,  ß  »«¼«Θ∞ε
  2312. ¬«Γ«α«ú« óδ ¼«ú½¿ »«½πτ¿Γ∞ φΓ« º¡áτÑ¡¿Ñ, ß«ßΓ«∩½ ó ¿ß»«½∞º«-
  2313. óá¡¿¿ »α«µÑñπαδ GetModeRange.  ÆÑ»Ñα∞  φΓá  »α«µÑñπαá  ΓᬪÑ
  2314. »«ññÑনóáÑΓß∩, ¡« Γ«½∞¬« ñ½∩ ñαá⌐óÑα«ó Σ¿α¼δ ü«α½á¡ñ.) ç¡á-
  2315. τÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐ GetMaxMode, »αÑñßΓáó½∩ÑΓ  ß«í«⌐
  2316. ¼á¬ß¿¼á½∞¡«Ñ  º¡áτÑ¡¿Ñ,  ¬«Γ«α«Ñ  ¼«ª¡«  »ÑαÑñáΓ∞  »α«µÑñπαÑ
  2317. SetGraphMode.  é  ¬áªñ«¼  ñαá⌐óÑαÑ   »«ññÑনóáεΓß∩   αѪ¿¼δ
  2318. 0..GetMaxMode.
  2319.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2320.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2321.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetModeRange, SetGraphMode.
  2322.      Åα¿¼Ñα:
  2323.  
  2324.   uses
  2325.     Graph;
  2326.   var
  2327.     Driver, Mode : integer;
  2328.     i : integer;
  2329.   begin
  2330.     Driver := Detect;  { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  2331.     InitGraph(Driver, Mode, '');
  2332.     if GraphResult < 0 then
  2333.        Halt(1);
  2334.     for i := 0 to GetMaxMode do { óδóÑßΓ¿ ¡á φ¬αá¡ óßÑ
  2335.                                   ¡áºóá¡¿∩ αѪ¿¼«ó }
  2336.       OutTextXY(10, 10 * Succ(i), GetModeName(i));
  2337.     Readln;
  2338.     CloseGraph;
  2339.   end.
  2340.  
  2341. ------------------------------------------------------------
  2342.  öπ¡¬µ¿∩ Getîáσò                               î«ñπ½∞ Graph
  2343. ------------------------------------------------------------
  2344.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á  ¿
  2345. ñαá⌐óÑαá ßá¼δ⌐ »αáóδ⌐ ßΓ«½íѵ (αáºαÑΦÑ¡¿Ñ »« σ).
  2346.      Ä»¿ßá¡¿Ñ: GetMaxX
  2347.      Æ¿» αѺπ½∞ΓáΓá: ûѽδ⌐ (integer).
  2348.      Åα¿¼Ñτá¡¿∩: é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á
  2349. ¿  ñαá⌐óÑαá  ¼á¬ß¿¼á½∞¡«Ñ  º¡áτÑ¡¿Ñ σ. é αѪ¿¼Ñ 320σ200 æGÇ,
  2350. ¡á»α¿¼Ñα, ñá¡¡á∩ »α«µÑñπαá íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 319.
  2351.      Åα«µÑñπαδ Getîáσò ¿  GetîáσY  ταѺóδτá⌐¡«  »«½Ñº¡δ  ñ½∩
  2352. µÑ¡Γα¿α«óá¡¿∩, «»αÑñѽѡ¿∩ úαá¡¿µ «í½áßΓ¿ φ¬αá¡á ¿ Γ.ñ.
  2353.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2354.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetMaxY, GetX, GetY,  Move-
  2355. To.
  2356.      Åα¿¼Ñα:
  2357.  
  2358.   uses
  2359.     Graph;
  2360.   var
  2361.     Driver, Mode : integer;
  2362.     i : integer;
  2363.   begin
  2364.     Driver := Detect;  { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  2365.     InitGraph(Driver, Mode, '');
  2366.     if GraphResult < 0 then
  2367.        Halt(1);
  2368.   Rectangle(0,0,GetMaxX,GetMexY);  { ¡áα¿ß«óáΓ∞ »«½¡πε αἬπ
  2369.  
  2370.                                     φ¬αá¡á }
  2371.     Readln;
  2372.     CloseGraph;
  2373.   end.
  2374.  
  2375. ------------------------------------------------------------
  2376.  öπ¡¬µ¿∩ GetîáσY                               î«ñπ½∞ Graph
  2377. ------------------------------------------------------------
  2378.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á  ¿
  2379. ñαá⌐óÑαá ßá¼πε ¡¿ª¡εε ßΓ᫬π (αáºαÑΦÑ¡¿Ñ »« y).
  2380.      Ä»¿ßá¡¿Ñ: GetMaxY
  2381.      Æ¿» αѺπ½∞ΓáΓá: ûѽδ⌐ (integer).
  2382.  
  2383.      Åα¿¼Ñτá¡¿∩: é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á
  2384. ¿  ñαá⌐óÑαá  ¼á¬ß¿¼á½∞¡«Ñ  º¡áτÑ¡¿Ñ y. é αѪ¿¼Ñ 320σ200 æGÇ,
  2385. ¡á»α¿¼Ñα, ñá¡¡á∩ »α«µÑñπαá íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 199.
  2386.      Åα«µÑñπαδ Getîáσò ¿  GetîáσY  ταѺóδτá⌐¡«  »«½Ñº¡δ  ñ½∩
  2387. µÑ¡Γα«ó¬¿, «»αÑñѽѡ¿∩ úαá¡¿µ «í½áßΓ¿ φ¬αá¡á ¿ Γ.ñ.
  2388.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2389.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetMxX, GetX, GetY, MoveTo.
  2390.      Åα¿¼Ñα:
  2391.  
  2392.   uses
  2393.     Graph;
  2394.   var
  2395.     Driver, Mode : integer;
  2396.     i : integer;
  2397.   begin
  2398.     Driver := Detect;  { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  2399.     InitGraph(Driver, Mode, '');
  2400.     if GraphResult < 0 then
  2401.        Halt(1);
  2402.   Rectangle(0,0,GetMaxX,GetMexY);  { ¡áα¿ß«óáΓ∞ »«½¡πε αἬπ
  2403.  
  2404.                                     φ¬αá¡á }
  2405.     Readln;
  2406.     CloseGraph;
  2407.   end.
  2408.  
  2409. ------------------------------------------------------------
  2410.  Åα«µÑñπαá GetMem
  2411. ------------------------------------------------------------
  2412.      öπ¡¬µ¿∩: æ«ºñáÑΓ ¡«óπε ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε  π¬áºá¡-
  2413. ¡«ú« αẼÑαá ¿ »«¼ÑΘáÑΓ áñαÑß í½«¬á ó »ÑαѼѡ¡πε-π¬áºáΓѽ∞.
  2414.      Ä»¿ßá¡¿Ñ: GetMem(var α : α«inter; αẼÑα : word)
  2415.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα α ∩ó½∩ÑΓß∩ »ÑαѼѡ¡«⌐-π¬áºáΓѽѼ ¿
  2416. ¼«ªÑΓ  «Γ¡«ß¿Γß∩ ¬ ½εí«¼π Γ¿»π π¬áºáΓѽÑ⌐. Åáαá¼ÑΓα "αẼÑα"
  2417. ¿¼ÑÑΓ ñ½¿¡π ó ß½«ó« ¿ ºáñáÑΓ αẼÑα (ó íá⌐Γáσ) «í½áßΓ¿ »á¼∩-
  2418. Γ¿, óδñѽ∩Ѽ«⌐ ñ½∩ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐. ìá ó¡«ó∞ ß«ºñá¡-
  2419. ¡πε »ÑαѼѡ¡πε ¼«ª¡« ßßδ½áΓ∞ß∩ ß »«¼«Θ∞ε α.
  2420.      àß½¿ ñ½∩ óδñѽѡ¿∩ »á¼∩Γ¿ »«ñ ¡«óπε ñ¿¡á¼¿τÑ߬πε  »ÑαÑ-
  2421. ¼Ñ¡¡πε  ó  ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿ ¡Ññ«ßΓáΓ«τ¡«
  2422. ßó«í«ñ¡«⌐ »á¼∩Γ¿, Γ« ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ  »α«¿ßσ«-
  2423. ñ¿Γ  «Φ¿í¬á. (¥Γ«⌐ «Φ¿í¬¿ ¼«ª¡« ¿ºíѪáΓ∞ - ß¼. αáºñѽ "öπ¡¬-
  2424. µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿  »á-
  2425. ¼∩Γ¿" ó â½áóÑ 26.)
  2426.      Äúαá¡¿τÑ¡¿∩: ìá¿í«½∞Φ¿⌐ í½«¬, ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞  óδñÑ-
  2427. ½Ñ¡  ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿, ß«ßΓáó½∩ÑΓ
  2428. 65521 íá⌐Γ (64 è - $F). àß½¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩  «í-
  2429. ½áßΓ∞  ¡Ñ  Σαáú¼Ñ¡Γ¿α«óá¡á,  ¡á»α¿¼Ñα,  ó  ¡áτá½Ñ óδ»«½¡Ñ¡¿∩
  2430. »α«úαá¼¼δ, Γ« »α¿ πß»ÑΦ¡δσ «íαáΘÑ¡¿∩σ ¬ »α«µÑñπαÑ GetîѼ íπ-
  2431. ñπΓ óδñѽ∩Γ∞ß∩ ß«ßÑñ¡¿Ñ í½«¬¿ »á¼∩Γ¿.
  2432.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 »áαá¼ÑΓα "αẼÑα" íδ½ µÑ½«ú«  Γ¿-
  2433. ȇ.
  2434.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ New, FreeMem.
  2435.  
  2436. ------------------------------------------------------------
  2437.  öπ¡¬µ¿∩ GetModeName                           î«ñπ½∞ Graph
  2438. ------------------------------------------------------------
  2439.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ßΓ᫬π,  ß«ñÑαªáΘπε  ¿¼∩  ºáñá¡¡«ú«
  2440. úαáΣ¿τÑ߬«ú« αѪ¿¼á.
  2441.      Ä»¿ßá¡¿Ñ: GetModeName(¡«¼Ñα_αѪ¿¼á: integer)
  2442.      Æ¿» αѺπ½∞ΓáΓá: ßΓ᫬«óδ⌐ (string).
  2443.      Åα¿¼Ñτá¡¿∩: ê¼Ñ¡á αѪ¿¼«ó óßΓα«Ñ¡δ  ó  ¬áªñδ⌐  ñαá⌐óÑα.
  2444. 髺óαáΘáѼδÑ  º¡áτÑ¡¿∩  (320σ200 CGA P1, 640σ200 CGA ¿ Γ.ñ.)
  2445. ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ ß«ºñá¡¿∩ ¼Ñ¡ε, óδó«ñá αѪ¿¼«ó  φ¬αá¡á
  2446. ¿ Γ.ñ.
  2447.      Ç¡á½«ú¿τ¡á∩ Σπ¡¬µ¿∩ ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2448.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2449.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ GetMaxMode, GetModeRange.
  2450.      Åα¿¼Ñα:
  2451.  
  2452.   uses
  2453.     Graph;
  2454.   var
  2455.     Driver, Mode : integer;
  2456.     i : integer;
  2457.   begin
  2458.     Driver := Detect;  { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  2459.     InitGraph(Driver, Mode, '');
  2460.     if GraphResult < 0 then
  2461.        Halt(1);
  2462.   for i := 0 to GetMaxMode do { óδóÑßΓ¿ óßÑ ¿¼Ñ¡á αѪ¿¼«ó }
  2463.       OutText(10, 10 * Succ(i), GetModeName(i));
  2464.     Readln;
  2465.     CloseGraph;
  2466.   end.
  2467.  
  2468. ------------------------------------------------------------
  2469.  Åα«µÑñπαá GetModeRange                        î«ñπ½∞ Graph
  2470. ------------------------------------------------------------
  2471.      öπ¡¬µ¿∩: ä½∩ ñá¡¡«ú« ñαá⌐óÑαá ó«ºóαáΘáÑΓ  ¡á¿¼Ñ¡∞Φ¿⌐  ¿
  2472. ¡á¿í«½∞Φ¿⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2473.      Ä»¿ßá¡¿Ñ: GetModeRange(GraphDriver : integer;  var
  2474. LoMode, HiMode : integer)
  2475.      Åα¿¼Ñτá¡¿∩: éδó«ñ ß½ÑñπεΘÑ⌐ »α«úαá¼¼δ:
  2476.  
  2477.   uses Graph;
  2478.   var
  2479.     Lovest, Highest : integer;
  2480.   begin
  2481.     GetModeRange(EGA64, Lowest, Highest);
  2482.     Write('ìῼѡ∞ΦÑÑ º¡áτÑ¡¿Ñ = ', Lowest);
  2483.     Write('ìá¿í«½∞ΦÑÑ º¡áτÑ¡¿Ñ = ', Highest);
  2484.   end.
  2485.  
  2486. ñáßΓ ¡á¿¼Ñ¡∞ΦÑÑ º¡áτÑ¡¿Ñ = 0 ¿ ¡á¿í«½∞ΦÑÑ º¡áτÑ¡¿Ñ = 1. àß½¿
  2487. º¡áτÑ¡¿Ñ  GraphDriver ∩ó½∩ÑΓß∩ ¡Ññ«»πßΓ¿¼δ¼, Γ« ó«ºóαáΘáѼδ⌐
  2488. »áαá¼ÑΓα íπñÑΓ αáóÑ¡ -1.
  2489.      Ç¡á½«ú¿τ¡á∩ Σπ¡¬µ¿∩ ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2490.      Åα«τÑÑ: æ¼. ΓᬪѠ »α«µÑñπαδ  SetGraphMode,  InitGraph,
  2491. DetectGraph.
  2492.  
  2493. ------------------------------------------------------------
  2494.  Åα«µÑñπαá GetPalette                          î«ñπ½∞ Graph
  2495. ------------------------------------------------------------
  2496.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘπε »á½¿Γαπ ¿ ÑÑ αẼÑα.
  2497.      Ä»¿ßá¡¿Ñ: GetPalette(var »á½¿Γαá :
  2498.      Åα¿¼Ñτá¡¿∩: é«ºóαáΘáÑΓ ó  »ÑαѼѡ¡«⌐  Γ¿»á  PaletteType
  2499. ΓѬπΘπε »á½¿Γαπ ¿ ÑÑ αẼÑα. Æ¿» PaletteType «»¿ßᡠ󠼫ñπ½Ñ
  2500. ß½ÑñπεΘ¿¼ «íαẫ¼:
  2501.  
  2502.  const
  2503.    MaxColor = 15;
  2504.  type
  2505.    PaletteType = record
  2506.      Size   : byte;
  2507.      Colors : array[0..MaxColors] of shortint;
  2508.   end;
  2509.  
  2510.      é »«½Ñ αẼÑαá (size) ß«ñÑনΓß∩ τ¿ß½« µóÑΓ«ó ó »á½¿ΓαÑ
  2511. ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á ¿ ñαá⌐óÑαá. Å«½Ñ Colors ß«-
  2512. ñÑαª¿Γ ñÑ⌐ßΓó¿Γѽ∞¡δÑ º¡áτÑ¡¿∩ µóÑΓ«ó «Γ 0 ñ« SizÑ-1.
  2513.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2514.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2515.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ SetPalette, SetAllPalette.
  2516.      Åα¿¼Ñα:
  2517.  
  2518.   uses
  2519.     Graph;
  2520.   var
  2521.     Driver, Mode : integer;
  2522.     i : integer;
  2523.   begin
  2524.     Driver := Detect;  { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  2525.     InitGraph(Driver, Mode, '');
  2526.     if GraphResult < 0 then
  2527.        Halt(1);
  2528.     GetPalette(Palette);
  2529.     If Palette.Size <> 1 then
  2530.   for i := 0 to Pred(Palette.Size) do
  2531.   begin
  2532.     SetColor(Color);
  2533.     Line(o, Color*5, 100, Color*5);
  2534.     end
  2535.     else
  2536.       Line(0, 0, 100, 0);
  2537.     Readln;
  2538.     CloseGraph;
  2539.     end.
  2540.  
  2541. ------------------------------------------------------------
  2542.  öπ¡¬µ¿∩ GetPaletteSize                        î«ñπ½∞ Graph
  2543. ------------------------------------------------------------
  2544.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ αẼÑα Γáí½¿µδ »á½¿Γαδ µóÑΓ«ó.
  2545.      Ä»¿ßá¡¿Ñ: GetPaletteSize
  2546.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  2547.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ Σπ¡¬µ¿∩ »«¬áºδóáÑΓ, ß¬«½∞¬«  ºá»¿ßÑ⌐
  2548. »á½¿Γαδ  ¼«ª¡« ºáñáΓ∞ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á. ìá»-
  2549. α¿¼Ñα, »α¿ ¿ß»«½∞º«óá¡¿¿  µóÑΓ¡«ú«  αѪ¿¼á  ¿  áñá»ΓÑαá  EGA
  2550. Σπ¡¬µ¿∩ ó«ºóαáΓ¿Γ º¡áτÑ¡¿Ñ 16.
  2551.      Ç¡á½«ú¿τ¡á∩ Σπ¡¬µ¿∩ ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2552.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2553.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε GetMaxColor.
  2554.  
  2555. ------------------------------------------------------------
  2556.  Åα«µÑñπαá GetPixel                            î«ñπ½∞ Graph
  2557. ------------------------------------------------------------
  2558.      öπ¡¬µ¿∩: Å«½πτáÑΓ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ¿º«íαáªÑ¡¿∩ ó Γ«τ¬Ñ
  2559. ò,Y.
  2560.      Ä»¿ßá¡¿Ñ: GetPixel(X,Y :integer)
  2561.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  2562.      Åα¿¼Ñτá¡¿∩: Å«½πτáÑΓ µóÑΓ φ½Ñ¼Ñ¡Γá ¿º«íαáªÑ¡¿∩ ó  Γ«τ¬Ñ
  2563. ò,Y.
  2564.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2565.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ PutPixel, GetImage,  PutIm-
  2566. age.
  2567.      Åα¿¼Ñα:
  2568.  
  2569.   uses
  2570.     Graph;
  2571.   var
  2572.     Gd, Gm : integer;
  2573.     PixelColor: word;
  2574.   begin
  2575.     Gd := Detect;  { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  2576.     InitGraph(Gd, Gm, '');
  2577.     if GraphResult < 0 then
  2578.        Halt(1);
  2579.     PixelColor := GetPixel(10, 10);
  2580.     if PixelColor = 0 then
  2581.     PutPixel(10, 10, GetMaxColor);
  2582.     Readln;
  2583.     CloseGraph;
  2584.   end.
  2585.  
  2586. ------------------------------------------------------------
  2587.  Åα«µÑñπαá GetTextSettings                     î«ñπ½∞ Graph
  2588. ------------------------------------------------------------
  2589.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ Γ¿» ΓѬßΓ«ó«ú« Φα¿ΣΓá,  Ñú«
  2590. ¡á»αáó½Ñ¡¿Ñ,  αẼÑα ¿ óδαáó¡¿óá¡¿Ñ, πßΓá¡«ó½Ñ¡¡δÑ ß »«¼«Θ∞ε
  2591. »α«µÑñπα SetTextStyle ¿ SetTextJustify.
  2592.      Ä»¿ßá¡¿Ñ: GetTextSettings(var TextInfo :  TextSettings-
  2593. Type)
  2594.      Åα¿¼Ñτá¡¿∩: Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ ¿ Γ¿»δ:
  2595.  
  2596.  type
  2597.    CharSizeType = 1..10;
  2598.    TextSettingsType = record
  2599.                         Font            : word;
  2600.                         Direction       : word;
  2601.                         CharSize        : CharSizeType;
  2602.                         Horiz           : word;
  2603.                         Vert            : word;
  2604.                       end;
  2605.  const
  2606.    DefaultFont         = 0; { Φα¿ΣΓ ß ñó«¿τ¡δ¼ «íαẫ¼ 8σ8 }
  2607.  
  2608.    TriplexFont         = 1; { "ΦΓα¿σ«óδÑ" Φα¿ΣΓδ }
  2609.    SmallFont           = 2;
  2610.    SanSerifFont        = 3;
  2611.    GothicFont          = 4;
  2612.    HorizDir    = 0;         { ß½Ñóá ¡á»αáó« }
  2613.    Vertir      = 1;         { ß¡¿ºπ óóÑασ }
  2614.    NormSize    = 1;
  2615.  
  2616.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  2617.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  2618.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ InitGraph,  SetTextJustify,
  2619. SetTextStyle, TextHeight, TextWidth.
  2620.      Åα¿¼Ñα:
  2621.  
  2622.   uses
  2623.     Graph;
  2624.   var
  2625.     Gd, Gm : integer;
  2626.     OldStyle : TextSettingsType;
  2627.   begin
  2628.     Gd := Detect;  { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  2629.     InitGraph(Gd, Gm, '');
  2630.     if GraphResult < 0 then
  2631.        Halt(1);
  2632.   GetTextSettings(OldStyle);
  2633.   SetTextJustify(LeftText, CenterText);
  2634.   SetTextStyle(TriplexFont, VertDir, 4);
  2635.   OutTextXY(GetMaxX, div 2, GetMaxY div 2, 'ì«óδ⌐ Γ¿»');
  2636.   with OldStyle do
  2637.   begin                { ó«ßßΓá¡«ó¿Γ∞ ßΓáαδ⌐ Γ¿» ΓѬßΓá}
  2638.  
  2639.     SetTextJustify(Horiz, Vert);
  2640.     SetTextStyle(Font, Directtion, CharSize);
  2641.   end;
  2642.   OutTextXY(0, TextHeight('H'), 'æ¡«óá ßΓáαδ⌐ Γ¿»');
  2643.   Readln;
  2644.   CloseGraph;
  2645.  end.
  2646.  
  2647.  
  2648.