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

  1.  
  2.   {$I-}
  3.   Assign(f, FileName);
  4.   Reset(f);
  5.   Close(f);
  6.   {I+}
  7.   FileExists := (IOResult = 0) and (FileName <> '');
  8.  end; { FileExists };
  9.   begin
  10.    if FileExists(ParamStr(1)) then { »«½πτ¿Γ∞ ¿º ¬«¼á¡ñ¡«⌐
  11.                                      ßΓ᫬¿ ¿¼∩ Σá⌐½á }
  12.    Writeln('öá⌐½ ßπΘÑßΓóπÑΓ');
  13.    else
  14.    Writeln('öá⌐½ ¡Ñ ¡á⌐ñÑ¡');
  15.  end.
  16.  
  17. ------------------------------------------------------------
  18.  Åα«µÑñπαá RestoreCrtMode                      î«ñπ½∞ Graph
  19. ------------------------------------------------------------
  20.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ αѪ¿¼ φ¬αá¡á ó  ¿ßσ«ñ¡«Ñ  ß«ßΓ«∩¡¿Ñ
  21. (Γ«, ¬á¬«Ñ ßπΘÑßΓó«óὫ ñ« ¿¡¿µ¿á½¿ºáµ¿¿ úαáΣ¿¬¿).
  22.      Ä»¿ßá¡¿Ñ: RestoreCrtMode
  23.      Åα¿¼Ñτá¡¿∩: é«ßßΓá¡áó½¿óáÑΓ ¿ßσ«ñ¡δ⌐ ó¿ñÑ«αѪ¿¼,  «í¡á-
  24. απªÑ¡¡δ⌐  »α«µÑñπα«⌐  InitGraph.  äá¡¡á∩ »α«µÑñπαá ¼«ªÑΓ ¿ß-
  25. »«½∞º«óáΓ∞ß∩ ó¼ÑßΓÑ ß »α«µÑñπα«⌐ SetGraphMode ñ½∩ »ÑαѬ½ετÑ-
  26. ¡¿∩ ¼Ñªñπ ΓѬßΓ«óδ¼ ¿ úαáΣ¿τÑ߬¿¼ αѪ¿¼«¼.
  27.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  28.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  29.      Åα«τÑÑ: æ¼.  ΓᬪѠ »α«µÑñπαδ  DetectGraph,  InitGraph,
  30. SetGraphMode.
  31.      Åα¿¼Ñα:
  32.  
  33.  uses Graph;
  34.  var
  35.    GraphDriver, GraphMode : integer;
  36.  begin
  37.    GraphDriver := Detect;
  38.    InitGraph(GraphDriver,GraphMode,'');
  39.    if GraphResult <> grOk then
  40.       Halt(1);
  41.    OutText('ä½∩ óδσ«ñá ¿º úαáΣ¿¬¿ ¡áª¼¿ΓÑ RETURN:');
  42.    Readln;
  43.    RestoreCrtMode;
  44.    Writeln('ÆÑ»Ñα∞ óδ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ');
  45.    Readln;
  46.    SetGraphMode(GetGraphMode);
  47.    OutTextXY(0, 0, 'éδ ß¡«óá ó úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ');
  48. OutText(0, TextHeight('H'), 'ä½∩ óδσ«ñᠡ᪼¿ΓÑ RETURN');
  49.  Readln;
  50.  CloseGraph;
  51.  end.
  52.  
  53. ------------------------------------------------------------
  54.  Åα«µÑñπαá Rewrite
  55. ------------------------------------------------------------
  56.      öπ¡¬µ¿∩: æ«ºñáÑΓ ¿ «Γ¬αδóáÑΓ ¡«óδ⌐ Σá⌐½.
  57.      Ä»¿ßá¡¿Ñ: Rewrite(f [ : file; αẼ_ºá»¿ß¿ : word ] )
  58.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f  ∩ó½∩ÑΓß∩  Σá⌐½«ó«⌐  »ÑαѼѡ¡«⌐,
  59. ß««ΓóÑΓßΓóπεΘÑ⌐  ½εí«¼π  Γ¿»π Σá⌐½á. Ä¡ ñ«½ªÑ¡ íδΓ∞ ßó∩ºá¡ ß
  60. ó¡ÑΦ¡¿¼  Σá⌐½«¼  ß  »«¼«Θ∞ε   »α«µÑñπαδ   Assign.   Åáαá¼ÑΓα
  61. "αẼ_ºá»¿ß¿"  »αÑñßΓáó½∩ÑΓ  ß«í«⌐  ¡Ñ«í∩ºáΓѽ∞¡«Ñ óδαáªÑ¡¿Ñ
  62. ñ½¿¡«⌐ ó ß½«ó« ¿ ¼«ªÑΓ π¬áºδóáΓ∞ß∩ Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿
  63. f ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º«óá¡¡δ¼ Σá⌐½«¼.
  64.      Åα«µÑñπαá Rewrite ß«ºñáÑΓ ¡«óδ⌐ ó¡ÑΦ¡¿⌐ Σá⌐½, ¿¼∩ ¬«Γ«-
  65. α«ú«  »α¿ßó«Ñ¡«  f. àß½¿ ó¡ÑΦ¡¿⌐ Σá⌐½ ß π¬áºá¡¡δ¼ ¿¼Ñ¡Ñ¼ πªÑ
  66. ßπΘÑßΓóπÑΓ, Γ« «¡ πñá½∩ÑΓß∩ ¿ ¡á Ñú« ¼ÑßΓÑ  ß«ºñáÑΓß∩  ¡«óδ⌐
  67. »πßΓ«⌐  Σá⌐½. àß½¿ Σá⌐½ f πªÑ «Γ¬αδΓ, Γ« «¡ ß¡áτá½á ºá¬αδóá-
  68. ÑΓß∩, á ºáΓѼ «Γ¬αδóáÑΓß∩ ó¡«ó∞. ÆÑ¬πΘá∩ »«º¿µ¿∩ ó Σá⌐½Ñ πß-
  69. Γá¡áó½¿óáÑΓß∩  ¡á ¡áτὫ Σá⌐½á. àß½¿ f í佫 »α¿ßó«Ñ¡« »πßΓ«Ñ
  70. ¿¼∩  (¡á»α¿¼Ñα,    Assign(f,'')),  Γ«  »«ß½Ñ   «íαáΘÑ¡¿∩   ¬
  71. »α«µÑñπαÑ  Reset(f)  íπñÑΓ ßß佬«⌐ ¡á ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óó«ñá
  72. (ßΓá¡ñáαΓ¡δ⌐ ¬á¡á½ ¡«¼Ñα 1).
  73.      àß½¿ f - ΓѬßΓ«óδ⌐ Σá⌐½,  Γ«  «¡  ßΓá¡«ó¿Γß∩  ñ«ßΓπ»¡δ¼
  74. Γ«½∞¬« »« ºá»¿ß¿. Å«ß½Ñ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ Rewrite à«f(f)
  75. »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ ÆruÑ, Ñß½¿ Σá⌐½ »πßΓ, ¿ º¡áτÑ¡¿Ñ False  ó
  76. »α«Γ¿ó¡«¼ ß½πτáÑ.
  77.      àß½¿ f  ∩ó½∩ÑΓß∩  ¡ÑΓ¿»¿º«óá¡¡δ¼  Σá⌐½«¼,  Γ«  »áαá¼ÑΓα
  78. "αẼ_ºá»¿ß¿"  «»αÑñѽ∩ÑΓ  αẼÑα ºá»¿ß¿, ¬«Γ«αδ⌐ ñ«½ªÑ¡ ¿ß-
  79. »«½∞º«óáΓ∞ß∩ »α¿ »ÑαÑñáτÑ ñá¡¡δσ. àß½¿ φëà»áαá¼ÑΓα «»πΘÑ¡,
  80. Γ« «¡ »«ñαáºπ¼ÑóáÑΓß∩ αáó¡δ¼ »« π¼«½τá¡¿ε 128 íá⌐Γá¼.
  81.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  82. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  83. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  84. ¡«¼ ß½πτáÑ.
  85.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 Æπαí«-Åá߬á½∩  »πßΓ«Ñ  ¿¼∩  Σá⌐½á
  86. í佫 ¡Ññ«»πßΓ¿¼«.
  87.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Reset, Append, Assign.
  88.      Åα¿¼Ñα:
  89.  
  90.  var f : text;
  91.  begin
  92.  Assign(f,'NEWFILE,$$$');
  93.   Writeln(f,'櫺ñáÑΓß∩ Σá⌐½, ó ¬«Γ«αδ⌐ ºá»¿ßδóáÑΓß∩ φΓá
  94.              ßΓ᫬á');
  95.  Close(f);
  96.  end.
  97.  
  98. ------------------------------------------------------------
  99.  Åα«µÑñπαá RmDir
  100. ------------------------------------------------------------
  101.      öπ¡¬µ¿∩: ôñá½∩ÑΓ »πßΓ«⌐ »«ñ¬áΓὫú.
  102.      Ä»¿ßá¡¿Ñ: RmDir(s : string)
  103.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα s ∩ó½∩ÑΓß∩  óδαáªÑ¡¿Ñ¼  ßΓ᫬«ó«ú«
  104. Γ¿»á. ôñá½∩ÑΓß∩ »«ñ¬áΓὫú ß »πΓѼ ñ«ßΓπ»á, ºáñá¡¡δ¼ ßΓ᫬«⌐
  105. s. àß½¿ »πΓ∞ ñ«ßΓπ»á ¡Ñ ßπΘÑßΓóπÑΓ,  ∩ó½∩ÑΓß∩  ¡Ñ»πßΓδ¼  ¿½¿
  106. Ñß½¿  «¡  ºáñáÑΓ  ΓѬπΘ¿⌐ ¬áΓ«½«ú, Γ« »α«¿ßσ«ñ¿Γ «Φ¿í¬á óó«-
  107. ñá-óδó«ñá.
  108.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  109. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  110. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  111. ¡«¼ ß½πτáÑ.
  112.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ MkDir, ChDir, GetDir.
  113.      Åα¿¼Ñα:
  114.  
  115.  begin
  116.  
  117.    {$I-}
  118.  { »«½πτ¿Γ∞ ¿¼∩ ¬áΓὫúá ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ }
  119.  RmDir(ParamStr(1));
  120.  if IOResult <> 0 then
  121.     Writeln('èáΓὫú πñ὿Γ∞ ¡Ñ½∞º∩');
  122.  else
  123.     Writeln('èáΓὫú πñá½Ñ¡');
  124.  
  125. ------------------------------------------------------------
  126.  öπ¡¬µ¿∩ Round
  127. ------------------------------------------------------------
  128.      öπ¡¬µ¿∩: Ä¬απú½∩ÑΓ º¡áτÑ¡¿Ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ñ«  º¡á-
  129. τÑ¡¿∩ µÑ½«ú« Γ¿»á.
  130.      Ä»¿ßá¡¿Ñ: Round(x : real)
  131.      Æ¿» αѺπ½∞ΓáΓá: ä½¿¡¡δ⌐ µÑ½δ⌐ (longint).
  132.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ óÑ-
  133. ΘÑßΓóÑ¡¡«ú« Γ¿»á. öπ¡¬µ¿∩ Round ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ñ½¿¡¡«ú«
  134. µÑ½«ú« Γ¿»á, ¬«Γ«α«Ñ ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ¼  x,  «¬απú½Ñ¡¡δ¼  ñ«
  135. í½¿ªá⌐ΦÑú« µÑ½«ú« τ¿ß½á. àß½¿ º¡áτÑ¡¿Ñ x ¡áσ«ñ¿Γß∩ Γ«τ¡« »«-
  136. ßÑαÑñ¿¡Ñ ¼Ñªñπ ñóπ¼∩ µÑ½δ¼¿ τ¿ß½á¼¿,  Γ«  αѺπ½∞ΓáΓ«¼  íπñÑΓ
  137. τ¿ß½«  ß í«½∞Φ¿¼ «íß«½εΓ¡δ¼ º¡áτÑ¡¿Ñ¼. àß½¿ «¬απú½Ñ¡¡«Ñ º¡á-
  138. τÑ¡¿Ñ x ¡Ñ ß««ΓóÑΓßΓóπÑΓ  ñ¿á»áº«¡π  »αÑñßΓáó½Ñ¡¿∩  ñ½¿¡¡«ú«
  139. µÑ½«ú« Γ¿»á, Γ« ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«¿ßσ«ñ¿Γ «Φ¿í¬á.
  140.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 Æπαí«-Åá߬á½∩ Σπ¡¬µ¿∩ Round ó«ºó-
  141. αáΘáÑΓ µÑ½«Ñ º¡áτÑ¡¿Ñ.
  142.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Trunc, Int.
  143.  
  144. ------------------------------------------------------------
  145.  Åα«µÑñπαá RunError
  146. ------------------------------------------------------------
  147.      öπ¡¬µ¿∩: ÄßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ úÑ¡Ñα¿απ-
  148. ÑΓ «Φ¿í¬π óαѼѡ¿ óδ»«½¡Ñ¡¿∩.
  149.      Ä»¿ßá¡¿Ñ: RunError [ (¬«ñ_«Φ¿í¬¿ : word ) ]
  150.      Åα¿¼Ñτá¡¿∩:  Åα«µÑñπαá  RunError  á¡á½«ú¿τ¡á  »α«µÑñπαÑ
  151. Halt,  ¡«  ó ñ«»«½¡Ñ¡¿Ñ ¬ «ßΓá¡«ó¬Ñ »α«úαá¼¼δ «¡á úÑ¡Ñα¿απÑΓ
  152. ¡á ΓѬπΘѼ «»ÑαáΓ«αÑ  «Φ¿í¬π  óαѼѡ¿  óδ»«½¡Ñ¡¿∩.  Åáαó¼ÑΓα
  153. "¬«ñ_«Φ¿í¬¿"  »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡«¼Ñα «Φ¿í¬¿ óαѼѡ¿ óδ»«½-
  154. ¡Ñ¡¿∩ (0 «»πΘÑ¡). àß½¿ ΓѬπΘ¿⌐ ¼«ñπ½∞  íδ½  ß¬«¼»¿½¿α«óá¡  ß
  155. πßΓá¡«ó½Ñ¡¡«⌐  «»µ¿Ñ⌐ Debug Information (ÄΓ½áñ«τ¡á∩ ¿¡Σ«α¼á-
  156. µ¿∩), ¿ óδ ºá»π߬áÑΓÑ »α«úαá¼¼π ¿º ßαÑñδ  ¿¡ΓÑαá¬Γ¿ó¡«⌐  «Γ-
  157. ½áñ¬¿,  Γ«  Æπαí«-Åá߬á½∞ «íαáíáΓδóáÑΓ «íαáΘÑ¡¿Ñ ¬ RunErrorá
  158. ¬á¬ «íδτ¡πε «Φ¿í¬π óαѼѡ¿ óδ»«½¡Ñ¡¿∩.
  159.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ Halt.
  160.      Åα¿¼Ñα:
  161.  
  162.   {$IFDEF Debug}
  163.      if P = nil then RunError(204);
  164.   {$EDNIF}
  165.  
  166. ------------------------------------------------------------
  167.  Åα«µÑñπαá Sector                              î«ñπ½∞ Graph
  168. ------------------------------------------------------------
  169.      öπ¡¬µ¿∩: éδτÑατ¿óáÑΓ ¿ ºá»«½¡∩ÑΓ φ½½¿»Γ¿τÑ߬¿⌐ ßÑ¬Γ«α.
  170.      Ä»¿ßá¡¿Ñ: Sector(x, y  :  integer;  ¡áτ_πú«½,  ¬«¡_πú«½
  171. XÉáñ¿πß, YÉáñ¿πß : word)
  172.      Åα¿¼Ñτá¡¿∩: Åα«µÑñπαá ¿ß»«½∞ºπÑΓ (X,Y), ¬á¬ Γ«τ¬π  µÑ¡-
  173. Γαá, »áα¼ÑΓαδ "XÉáñ¿πß", "YÉáñ¿πß" «»αÑñѽ∩εΓ, ß««ΓóÑΓßΓóÑ¡-
  174. ¡«, ú«α¿º«¡Γá½∞¡δ⌐ ¿ óÑαΓ¿¬á½∞¡δ⌐ αáñ¿πßδ. æÑ¬Γ«α óδτÑατ¿óá-
  175. ÑΓß∩   «Γ  ¡áτá½∞¡«ú«  πú½á  "¡áτ_πú«½"  ñ«  ¬«¡Ñτ¡«ú«  πú½á
  176. "¬«¡_πú«½". æÑ¬Γ«α α¿ßπÑΓß∩ ΓѬπΘ¿¼ µóÑΓ«¼ ¿ ºá¬αáΦ¿óáÑΓß∩ ß
  177. ¿ß»«½∞º«ó᡿Ѽ  «íαẵᠺá¬αẬ¿ ¿ µóÑΓá, ºáñá¡¡δσ ß »«¼«Θ∞ε
  178. »α«µÑñπα SetFillStyle ¿½¿ SetFillPattern.
  179.      àß½¿ ºáñá¡ ¡áτá½∞¡δ⌐ πú«½ 0 ¿ ¬«¡Ñτ¡δ⌐ πú«½ 360, Γ« íπ-
  180. ñÑΓ  ¡áα¿ß«óá¡  ¿  ºá¬αáΦÑ¡ »«½¡δ⌐ φ½½¿»ß. ôú½δ ñ½∩ »α«µÑñπα
  181. Arc, Ellipse, FillEllipse, PieSlice ºáñáεΓß∩ »α«Γ¿ó  τáß«ó«⌐
  182. ßΓαѽ¬¿, »α¿ φΓ«¼ πú½π 0 ß««ΓóÑΓßΓóπÑΓ 3 τáßá, 90 úαáñπß«ó -
  183. 12 τá߫󠿠Γ.ñ.
  184.      àß½¿ »α¿ ºá»«½Ñ¡¿¿ ßÑ¬Γ«αá »α«¿ßσ«ñ¿Γ «Φ¿í¬á, Γ«  Σπ¡¬-
  185. µ¿∩ GraphResult ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -6 (grNoScanMem).
  186.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  187.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  188.      Åα¿¼Ñα:
  189.  
  190.   uses
  191.     Graph;
  192.   const
  193.     R = 50;
  194.   var
  195.     Driver, Mode : integer;
  196.     Xasp, Yasp : word;
  197.   begin
  198.     Driver := Detect;   { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  199.     InitGraph(Driver, Mode, '');
  200.     if GraphResult < 0 then
  201.        Halt(1);
  202.     Sector(GetMaxX div 2, GetMaxY div 2, 0, 45, R, R);
  203.     GetAspectRatio(Xasp, Yasp); { ¡áα¿ß«óáΓ∞ ßÑ¬Γ«α ¬απúá }
  204.     Sector(GetMAxX div 2, GetMaxY div 2,  { Γ«τ¬á µÑ¡Γαá }
  205.               180, 135,   { ºÑα¬á½∞¡«Ñ «ΓαáªÑ¡¿Ñ óδíαá¡¡«ú«
  206.                             αá¡ÑÑ πú½á }
  207.               R, R * LongInt(Xasp) div Yasp);
  208.     Readln;
  209.     CloseGraph;
  210.   end.
  211.  
  212. ------------------------------------------------------------
  213.  Åα«µÑñπαá Seek
  214. ------------------------------------------------------------
  215.      öπ¡¬µ¿∩: ÅÑαѼÑΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ ¬ ºáñá¡¡«¼π
  216. φ½Ñ¼Ñ¡Γπ.
  217.      Ä»¿ßá¡¿Ñ: Seek(f, n : longint)
  218.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f ∩ó½∩ÑΓß∩ ½εí«⌐ Σá⌐½«ó«⌐ »ÑαѼѡ-
  219. ¡«⌐, ¬α«¼Ñ ΓѬßΓ«ó«⌐, á n »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ µÑ½«-
  220. ú« Γ¿»á. ÆÑ¬πΘá∩ »«º¿µ¿∩ ó Σá⌐½Ñ f »ÑαѼÑΘáÑΓß∩ ¬ φ½Ñ¼Ñ¡Γπ ß
  221. ¡«¼Ñα«¼  n.  ì«¼Ñα »Ñαó«ú« φ½Ñ¼Ñ¡Γá Σá⌐½á αáóÑ¡ 0. ä½∩ Γ«ú«,
  222. τΓ«íδ αáßΦ¿α¿Γ∞ Σá⌐½, ¼«ª¡« óδ»«½¡¿Γ∞ »«¿ß¬ φ½Ñ¼Ñ¡Γá  Σá⌐½á,
  223. αáß»«½«ªÑ¡¡«ú«  ºá  »«ß½Ññ¡¿¼  φ½Ñ¼Ñ¡Γ«¼.  Æ«  ÑßΓ∞ «»ÑαáΓ«α
  224. SÑÑk(f,FileSize(f)) »ÑαѼÑΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ ó ¬«-
  225. ¡Ñµ Σá⌐½á.
  226.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  227. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  228. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  229. ¡«¼ ß½πτáÑ.
  230.      Äúαá¡¿τÑ¡¿∩: Åα«µÑñπαπ ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞ ñ½∩  ΓѬßΓ«-
  231. óδσ Σá⌐½«ó. öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  232.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 Æπαí«-Åá߬á½∩ n í佫  µÑ½δ¼  τ¿ß-
  233. ½«¼. é »α«µÑñπαÑ LongSeek ¼«ª¡« ºáñáóáΓ∞ óÑΘÑßΓóÑ¡¡«Ñ º¡áτÑ-
  234. ¡¿Ñ ¡«¼Ñαá n.
  235.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ FilePos.
  236.  
  237. ------------------------------------------------------------
  238.  öπ¡¬µ¿∩ SeekEof
  239. ------------------------------------------------------------
  240.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ  ñ½∩  Σá⌐½á  ßΓáΓπß  "¬«¡Ñµ  Σá⌐½á"
  241. (end-of-file).
  242.      Ä»¿ßá¡¿Ñ: SeeEof [ (var f : text) ]
  243.      Æ¿» αѺπ½∞ΓáΓá: üπ½Ñó߬¿⌐ (boolean).
  244.      Åα¿¼Ñτá¡¿∩: çᠿ߬½ετÑ¡¿Ñ¼ Γ«ú«,  τΓ«  Σπ¡¬µ¿∩  SÑѬà«f
  245. »α«»π߬áÑΓ  óßÑ »α«íѽδ, º¡á¬¿ Γáíπ½∩µ¿¿ ¿ ¼ÑΓ¬¿ ¬«¡µá ßΓα«-
  246. ¬¿, «¡á »«½¡«ßΓ∞ε ß««ΓóÑΓßΓóπÑΓ Σπ¡¬µ¿¿ à«f. àÑ »«½Ñº¡«  ¿ß-
  247. »«½∞º«óáΓ∞  »α¿  ßτ¿Γδóá¡¿¿  τ¿ß½«óδσ º¡áτÑ¡¿⌐ ¿º ΓѬßΓ«ó«ú«
  248. Σá⌐½á.
  249.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  250. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  251. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  252. ¡«¼ ß½πτáÑ.
  253.      Äúαá¡¿τÑ¡¿∩: öπ¡¬µ¿ε ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Γ«½∞¬« ñ½∩ ΓѬ-
  254. ßΓ«óδσ Σá⌐½«ó. öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  255.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Eof, SeekEoln.
  256.  
  257. ------------------------------------------------------------
  258.  öπ¡¬µ¿∩ SeekEoln
  259. ------------------------------------------------------------
  260.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñ½∩ Σá⌐½á ß«Γ«∩¡¿Ñ  "¬«¡Ñµ  ßΓ᫬¿"
  261. (end-of-line).
  262.      Ä»¿ßá¡¿Ñ: SeekEoln [ (var f : text) ]
  263.      Æ¿» αѺπ½∞ΓáΓá: üπ½Ñó߬¿⌐ (boolean).
  264.      Åα¿¼Ñτá¡¿∩: çᠿ߬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ«  Σπ¡¬µ¿∩  SÑѬà«ln
  265. »α«»π߬áÑΓ  óßÑ »α«íÑ½δ ¿ º¡á¬¿ Γáíπ½∩µ¿¿, «¡á »«½¡«ßΓ∞ε ß«-
  266. «ΓóÑΓßΓóπÑΓ Σπ¡¬µ¿¿ à«ln. àÑ »«½Ñº¡« ¿ß»«½∞º«óáΓ∞ »α¿ ßτ¿Γδ-
  267. óá¡¿¿ τ¿ß½«óδσ º¡áτÑ¡¿⌐ ¿º ΓѬßΓ«ó«ú« Σá⌐½á.
  268.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  269. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  270. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  271. ¡«¼ ß½πτáÑ.
  272.      Äúαá¡¿τÑ¡¿∩: öπ¡¬µ¿ε ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Γ«½∞¬« ñ½∩ ΓѬ-
  273. ßΓ«óδσ Σá⌐½«ó. öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  274.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Eoln, SeekEof.
  275.  
  276. ------------------------------------------------------------
  277.  öπ¡¬µ¿∩ Seg
  278. ------------------------------------------------------------
  279.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ßÑú¼Ñ¡Γ ñ½∩ π¬áºá¡¡«ú« «íΩѬΓá.
  280.      Ä»¿ßá¡¿Ñ: Seg(x)
  281.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  282.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x »αÑñßΓáó½∩ÑΓ ß«í«⌐  ½εíπε  »ÑαÑ-
  283. ¼Ñ¡¡πε  ¿½¿  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. ÉѺπ½∞ΓáΓ
  284. ñ½¿¡«⌐ ó ß½«ó« ∩ó½∩ÑΓß∩ áñαÑß«¼ ßÑú¼Ñ¡Γá ñ½∩ x.
  285.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Ofs, Addr.
  286.  
  287. ------------------------------------------------------------
  288.  Åα«µÑñπαá SetActivePage                       î«ñπ½∞ Graph
  289. ------------------------------------------------------------
  290.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ ñ½∩ úαáΣ¿τÑ߬«ú« óδó«ñá á¬Γ¿ó¡πε
  291. ßΓαá¡¿µπ.
  292.      Ä»¿ßá¡¿Ñ: SetActivePage(ßΓαá¡¿µá : word)
  293.      Åα¿¼Ñτá¡¿∩: æΓαá¡¿µá, ºáñá¡¡á∩  »áαá¼ÑΓα«¼  "ßΓαá¡¿µá",
  294. ßΓá¡«ó¿Γß∩  á¬Γ¿ó¡«⌐.  éÑß∞  úαáΣ¿τÑ߬¿⌐  óδó«ñ íπñÑΓ ΓÑ»Ñα∞
  295. ¡á»αáó½∩Γ∞ß∩ ó φΓπ ßΓαá¡¿µπ.
  296.      é«º¼«ª¡«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ ¡Ñ߬«½∞¬¿σ ßΓαá¡¿µ  »«ññÑন-
  297. óáÑΓß∩  Γ«½∞¬«  ó úαáΣ¿τÑ߬¿σ áñá»ΓÑαáσ àGÇ, VGÇ ¿ ìÑrcules.
  298. Åα¿ ¿ß»«½∞º«óá¡¿¿ ¡Ñ߬«½∞¬¿σ úαáΣ¿τÑ߬¿σ  ßΓαá¡¿µ  »α«úαá¼¼á
  299. ¼«ªÑΓ óδó«ñ¿Γ∞ úαáΣ¿τÑ߬πε ¿¡Σ«α¼áµ¿ε ó ßΓαá¡¿µπ, ¡Ñ óδó«ñ¿-
  300. ¼πε ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ ¡á φ¬αá¡, á ºáΓѼ íδßΓα« óδóÑßΓ¿ ¡á  φ¬-
  301. αá¡  φëàñó«¿τ¡δ⌐ «íαáº, ß¼Ñ¡¿ó «Γ«íαáªáѼπε ßΓαá¡¿µπ ß »«-
  302. ¼«Θ∞ε »α«µÑñπαδ SetVisualPage. ¥Γ«Γ ¼ÑΓ«ñ  «ß«íÑ¡¡«  »«½ÑºÑ¡
  303. »α¿ »α«úαá¼¼¿α«óá¡¿¿ ¼π½∞Γ¿»½¿¬áµ¿¿.
  304.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  305.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  306.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ SetVisualPage.
  307.  
  308.      Åα¿¼Ñα:
  309.  
  310.  uses Graph;
  311.  var
  312.    GraphDriver, GraphMode : integer;
  313.  begin
  314.    GraphDriver := Detect;
  315.    InitGraph(GraphDriver,GraphMode,'');
  316.    if GraphResult <> grOk then
  317.       Halt(1);
  318.   begin
  319.    ClearDivice;
  320.    SetVisualPage(0);
  321.    SetActivePage(1);
  322.    Rectangle(10,20,30,40);
  323.    SetVisualPage(1);
  324.   end;
  325.   else
  326.     OutText('æΓαá¡¿τ¡δ⌐ αѪ¿¼ ¡Ñ »«ññÑনóáÑΓß∩');
  327.     Readln;
  328.     CloseGraph;
  329.   end.
  330.  
  331. ------------------------------------------------------------
  332.  Åα«µÑñπαá SetAllPalette                       î«ñπ½∞ Graph
  333. ------------------------------------------------------------
  334.      öπ¡¬µ¿∩: êº¼Ñ¡∩ÑΓ óßÑ µóÑΓᠻ὿Γαδ ¡á π¬áºá¡¡δÑ.
  335.      Ä»¿ßá¡¿Ñ: SetAllPalette(var »á½¿Γαá)
  336.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "»á½¿Γαá" ∩ó½∩ÑΓß∩  ¡ÑΓ¿»¿º«óá¡¡δ¼
  337. »áαá¼ÑΓα«¼. ÅÑαó«Ñ Ñú« ß½«ó« »αÑñßΓáó½∩ÑΓ ß«í«⌐ ñ½¿¡π »á½¿Γ-
  338. αδ. æ½ÑñπεΘ¿Ñ n íá⌐Γ«ó ºá¼Ñ¡∩εΓ ΓѬπΘ¿Ñ µóÑΓᠻ὿Γαδ.  èáª-
  339. ñδ⌐  µóÑΓ  ¼«ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿Ñ «Γ -1 ñ« 15. ç¡áτÑ¡¿Ñ -1
  340. ¡Ñ ¿º¼Ñ¡∩ÑΓ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ ºá»¿ß¿.
  341.      ê¼Ñ⌐ΓÑ ó ó¿ñπ, τΓ« ñ«»πßΓ¿¼δÑ µóÑΓá ºáó¿ß∩Γ «Γ ΓѬπΘÑú«
  342. úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá ¿ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á.
  343.      êº¼Ñ¡Ñ¡¿∩, ó¡«ß¿¼δÑ ó »á½¿Γαπ, ¡Ñ¼Ññ½Ñ¡¡«  «Γ«íαáªáεΓß∩
  344. ¡á  φ¬αá¡Ñ.  Åα¿  ½εí«¼ ¿º¼Ñ¡Ñ¡¿¿ µóÑΓᠻ὿Γαδ óßÑ ¼ÑßΓá ¡á
  345. φ¬αá¡Ñ, úñÑ φëàµóÑΓ ¿ß»«½∞ºπÑΓß∩, íπñπΓ ¿º¼Ñ¡Ñ¡δ  ó  ß««Γ-
  346. óÑΓßΓó¿¿ ß ó¡«ó∞ ºáñá¡¡δ¼ º¡áτÑ¡¿Ñ¼.
  347.      Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ ¿ Γ¿»δ:
  348.  
  349.      { µóÑΓá ñ½∩ »α«µÑñπα SetÉálette ¿ SetÇllÉálette }
  350.      Black = 0; { τÑα¡δ⌐ }
  351.      Blue = 1; { ß¿¡¿⌐ }
  352.      Green = 2; { ºÑ½Ñ¡δ⌐ }
  353.      Cyan = 3; { í¿αóδ⌐ }
  354.      Red = 4; { ¬αáß¡δ⌐ }
  355.      Magenta = 5; { ¼á½¿¡«óδ⌐ }
  356.      Brown = 6; { ¬«α¿τ¡Ñóδ⌐ }
  357.      LightGray = 7; { ßóÑΓ½«-ßÑαδ⌐ }
  358.      DarkGray = 8; { ΓѼ¡«-ßÑαδ⌐ }
  359.      LightBlue = 9; { ßóÑΓ½«-ú«½πí«⌐ }
  360.      LightGreen = 10; { ßóÑΓ½«-ºÑ½Ñ¡δ⌐ }
  361.      LightCyan = 11; { ßóÑΓ½«-í¿αóδ⌐ }
  362.      LightRed = 12; { ßóÑΓ½«-¬αáß¡δ⌐ }
  363.      LightMagenta = 13; { ßóÑΓ½«-¼á½¿¡«óδ⌐ }
  364.      Yellow = 14; { ªÑ½Γδ⌐ }
  365.      White = 15; { íѽδ⌐ }
  366.      MaxColors = 15;
  367.      type
  368.      PaletteType = record
  369.      Size : byte;
  370.      Colors : array[0..MaxColors] of shortint;
  371.      end.
  372.  
  373.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  374.      Åα«τÑÑ:   æ¼.  ΓᬪѠ »α«µÑñπαδ  GetBkColor,  GetColor,
  375. GetPalette, SetBkColor, SetColor, SetPalette.
  376.      Åα¿¼Ñα:
  377.  
  378.  uses Graph;
  379.  var
  380.    GraphDriver, GraphMode : integer;
  381.    Palette : PaletteType;
  382.  begin
  383.    GraphDriver := Detect;
  384.    InitGraph(GraphDriver,GraphMode,'');
  385.    if GraphResult <> grOk then
  386.       Halt(1);
  387.  begin
  388.       Line(0, 0, GetMaxX, GetMaxY);
  389.   with Palette do
  390.   begin
  391.     Size        := 4;
  392.   Colors[0]     := LightCyan; { ßóÑΓ½«-ú«½πí«⌐ }
  393.   Colors[1]     := Red;       { ¬αáß¡δ⌐ }
  394.   Colors[2]     := Yellow;    { ªÑ½Γδ⌐ }
  395.   Colors[3]     := White;     { íѽδ⌐ }
  396.   SetAllPalette(Palette);
  397.    end;
  398.   Readln;
  399.   CloseGraph;
  400. end.
  401.  
  402. ------------------------------------------------------------
  403.  Åα«µÑñπαá SetAspectRatio                      î«ñπ½∞ Graph
  404. ------------------------------------------------------------
  405.      öπ¡¬µ¿∩: êº¼Ñ¡∩ÑΓ »α¿¡∩Γ«Ñ »« π¼«½τá¡¿ε º¡áτÑ¡¿Ñ  ¬«φΣ-
  406. Σ¿µ¿Ñ¡Γá «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡¡Ñ¡¿∩.
  407.      Ä»¿ßá¡¿Ñ: SetAspectRatio(Xasp, Yasp, : word)
  408.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  409.      Åα¿¼Ñτá¡¿∩: Åα«µÑñπαá  SetAspectRatio  »α¿¼Ñ¡∩ÑΓß∩  ñ½∩
  410. ¿º¼Ñ¡Ñ¡¿∩  »α¿¡∩Γ«ú«  »« π¼«½τá¡¿ε ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú«
  411. αѪ¿¼á ¬«φΣΣ¿µ¿Ñ¡Γá «Γ¡«ß¿Γѽ∞¡«ú«  πñ½¿¡¡Ñ¡¿∩.  è«φΣΣ¿µ¿Ñ¡Γ
  412. «Γ¡«ß¿Γѽ∞¡«ú«  πñ½¿¡¡Ñ¡¿∩ ¿ß»«½∞ºπÑΓß∩ »α¿ óδτÑατ¿óá¡¿¿ «¬-
  413. απª¡«ßΓÑ⌐. àß½¿ «¬απª¡«ßΓ∞  óδú½∩ñ¿Γ  φ½½¿»Γ¿τÑ߬«⌐,  º¡áτ¿Γ
  414. ¼«¡¿Γ«α  ¡Ñ  ¡áßΓα«Ñ¡ ñ«½ª¡δ¼ «íαẫ¼. àú« ¼«ª¡« ¡áßΓα«¿Γ∞ ß
  415. »«¼«Θ∞ε á»»αáΓ¡δσ ßαÑñßΓó ¿½¿ »α«úαá¼¼¡δ¼ »πΓѼ,  ¿º¼Ñ¡¿ó  ß
  416. »«¼«Θ∞ε  »α«µÑñπαδ SetAspectRatio ¬«φΣΣ¿µ¿Ñ¡Γ «Γ¡«ß¿Γѽ∞¡«ú«
  417. πñ½¿¡¡Ñ¡¿∩. ä½∩ »«½πτÑ¡¿∩ ΓѬπΘÑú« ¬«φΣΣ¿µ¿Ñ¡Γá  «Γ¡«ß¿Γѽ∞-
  418. ¡«ú« πñ½¿¡¡Ñ¡¿∩ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ GetAspectRatio.
  419.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  420.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  421.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ GetAspectRatio.
  422.  
  423.      Åα¿¼Ñα:
  424.  
  425.   uses
  426.     Crt, Graph;
  427.   const
  428.     R = 50;
  429.   var
  430.     Driver, Mode: integer;
  431.     Xasp, Yasp: word;
  432.   begin
  433.     DirectVideo := false;
  434.     Driver := Detect; { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  435.     InitGraph(Driver, Mode, '');
  436.     if GraphResult <> 0 then
  437.        Halt(1)
  438.     GetAspectRatio(Xasp, Yasp); { »«½πτ¿Γ∞ ¿ß»«½∞ºπѼδ⌐ »«
  439.                                  π¼«½τá¡¿ε ¬«φΣΣ¿µ¿Ñ¡Γ
  440.                                  «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡¡Ñ¡¿∩ }
  441.     { ìáßΓα«¿Γ∞ ¡á VGA ¿ 8514. Åα¿ φΓ«¼ ¬«φΣΣ¿µ¿Ñ¡Γ
  442.       «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡¡Ñ¡¿∩ = 1.1 }
  443.     if Xasp = Yasp then
  444.        Xasp := 5 * Xasp;
  445.     { Åα«ñ«½ª¿Γ∞ ¿º¼Ñ¡Ñ¡¿Ñ º¡áτÑ¡¿∩ ¬«φΣΣ¿µ¿Ñ¡Γá
  446.       «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡¡Ñ¡¿∩ ñ« »«½πτÑ¡¿∩ 1:1 ¿½¿ »«¬á
  447.       ¡Ñ íπñÑΓ ¡áªáΓá ¬½áó¿Φá }
  448.      while (Xasp < Yasp) and not KeyPreaaed do
  449.      begin
  450.        GetAspectRatio(Xasp, Yasp);
  451.        Circle(GatMaxX div 2, GetMaxY div 2, R);
  452.        Inc(Xasp, 20);
  453.      end;
  454.      SetTextJustify(CenterText, CenterText);
  455.      OutTextXY(GetMaxX div 2, GetMaxY div 2, 'éδ»«½¡Ñ¡«!');
  456.      Readln;
  457.      CloseGraph;
  458.    end.
  459.  
  460. ------------------------------------------------------------
  461.  Åα«µÑñπαá SetBkColor                          î«ñπ½∞ Graph
  462. ------------------------------------------------------------
  463.      öπ¡¬µ¿∩: êß»«½∞ºπ∩ »á½¿Γαπ πßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐  Σ«¡«-
  464. óδ⌐ µóÑΓ.
  465.      Ä»¿ßá¡¿Ñ: SetBkColor(µóÑΓ : word)
  466.      Åα¿¼Ñτá¡¿∩: SetBkColor(0) ºáñáÑΓ ¿ß»«½∞º«óá¡¿Ñ  »Ñαó«ú«
  467. µóÑΓá  »á½¿Γαδ  ó  ¬áτÑßΓóÑ ΓѬπΘÑú« Σ«¡«ó«ú« µóÑΓá. ö«¡«óδÑ
  468. µóÑΓá ¼«úπΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 15, ó ºá-
  469. ó¿ß¿¼«ßΓ¿  «Γ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá ¿ ΓѬπΘÑú« úαá-
  470. Σ¿τÑ߬«ú« αѪ¿¼á. ä½∩ áñá»ΓÑαá æGÇ ñá¡¡á∩  »α«µÑñπαá  ºáñáÑΓ
  471. µóÑΓ αáºóÑαΓ¬¿.
  472.      ìá»α¿¼Ñα, ó αѪ¿¼Ñ æGÇæ1 »á½¿Γαá ß«ñÑαª¿Γ τÑΓδαÑ µóÑΓá:
  473. τÑα¡δ⌐,  ¬αáß¡δ⌐, ªÑ½Γδ⌐ ¿ ºÑ½Ñ¡δ⌐. SetBkColor(0) óδí¿αáÑΓ ó
  474. ¬áτÑßΓóÑ Σ«¡«ó«ú« µóÑΓá τÑα¡δ⌐, º¡áτÑ¡¿Ñ  1  ºáñáÑΓ  ¬αáß¡δ⌐
  475. µóÑΓ ¿ Γ.ñ.
  476.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  477.      Åα«τÑÑ:   æ¼.  ΓᬪѠ »α«µÑñπαδ  GetBkColor,  GetColor,
  478. GetPalette, SetAllPalette, SetColor, SetPalette.
  479.      Åα¿¼Ñα:
  480.  
  481.   uses Crt, Graph;
  482.  var
  483.    GraphDriver, GraphMode : integer;
  484.    Palette : PaletteType
  485.  begin
  486.    GraphDriver := Detect;
  487.    InitGraph(GraphDriver,GraphMode,'');
  488.    Randomize;
  489.    If GraphResult <> grOk then
  490.       Halt(1);
  491.    GetPalette(Palette);
  492.    repeat
  493.      SetBkColor(Random(Palette.Size));
  494.      LineTo(Random(GetMatX),Random(GetMatY));
  495.    until KeyPressed { ñ½∩ óδσ«ñᠡ᪼¿ΓÑ ¬½áó¿Φπ érÑák }
  496.    CloseGraph;
  497.   end.
  498.  
  499. ------------------------------------------------------------
  500.  Åα«µÑñπαá SetCBreak                             î«ñπ½∞ Dos
  501. ------------------------------------------------------------
  502.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ »α«óÑα∩Ѽ«Ñ «»Ñαᵿ«¡¡«⌐  ß¿ßΓÑ-
  503. ¼«⌐ äÄæ ß«ßΓ«∩¡¿Ñ Ctrl-Break.
  504.      Ä»¿ßá¡¿Ñ: SetCBreak(Break : boolean)
  505.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ »α«µÑñπαá πßΓá¡áó½¿óáÑΓ  »α«óÑα∩Ѽ«Ñ
  506. äÄæ  ß«ßΓ«∩¡¿Ñ  Ctrl-Break.  è«úñá  φΓ«  ß«ßΓ«∩¡¿Ñ ó䬽ετÑ¡«
  507. (False), äÄæ »α«óÑα∩ÑΓ Ctrl-Break Γ«½∞¬« ó« óαѼ∩ óδ»«½¡Ñ¡¿∩
  508. óó«ñá-óδó«ñá  ¡á  ¬«¡ß«½∞,  πßΓα«⌐ßΓó«  »ÑτáΓ¿ ¿½¿ »«αΓδ. é«
  509. ó¬½ετÑ¡¡«¼ ß«ßΓ«∩¡¿¿ (True) »α«óÑન óδ»«½¡∩εΓß∩ »α¿  ¬áªñ«¼
  510. ß¿ßΓѼ¡«¼ óδó«ñÑ.
  511.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ GetCBreak.
  512.  
  513. ------------------------------------------------------------
  514.  Åα«µÑñπαá SetColor                            î«ñπ½∞ Graph
  515. ------------------------------------------------------------
  516.      öπ¡¬µ¿∩: êß»«½∞ºπ∩ »á½¿Γαπ πßΓá¡áó½¿óáÑΓ  ΓѬπΘ¿⌐  µóÑΓ
  517. α¿ßπ¡¬á.
  518.      Ä»¿ßá¡¿Ñ: SetColor(µóÑΓ : word)
  519.      Åα¿¼Ñτá¡¿∩: SetColor(0)  ºáñáÑΓ  ¿ß»«½∞º«óá¡¿Ñ  »Ñαó«ú«
  520. µóÑΓá  »á½¿Γαδ  ó ¬áτÑßΓóÑ ΓѬπΘÑú« µóÑΓá α¿ßπ¡¬á. ûóÑΓá α¿-
  521. ßπ¡¬á ¼«úπΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ « 0 ñ« 15, ó  ºá-
  522. ó¿ß¿¼«ßΓ¿ «Γ ¿ß»«½∞ºπѼ«ú« úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá ¿ úαáΣ¿τÑß-
  523. ¬«ú« αѪ¿¼á. ä½∩ áñá»ΓÑαá æGÇ ñá¡¡á∩ »α«µÑñπαá  ºáñáÑΓ  µóÑΓ
  524. αáºóÑαΓ¬¿.
  525.      ìá»α¿¼Ñα, ó αѪ¿¼Ñ æGÇæ1 »á½¿Γαá ß«ñÑαª¿Γ τÑΓδαÑ µóÑΓá:
  526. τÑα¡δ⌐,  ¬αáß¡δ⌐, ªÑ½Γδ⌐ ¿ ºÑ½Ñ¡δ⌐. SetBkColor(0) óδí¿αáÑΓ ó
  527. ¬áτÑßΓóÑ µóÑΓá α¿ßπ¡¬á τÑα¡δ⌐,  º¡áτÑ¡¿Ñ  1  ºáñáÑΓ  ¬αáß¡δ⌐
  528. µóÑΓ ¿ Γ. ñ.
  529.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  530.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetBkColor, GetColor,  Get-
  531. Palette, SetAllPalette, GetColor, SetPalette.
  532.      Åα¿¼Ñα:
  533.  
  534.  uses Crt, Graph;
  535.  var
  536.    GraphDriver, GraphMode : integer;
  537.    Palette : PaletteType
  538.  begin
  539.    GraphDriver := Detect;
  540.    InitGraph(GraphDriver,GraphMode,'');
  541.    Randomize;
  542.    If GraphResult <> grOk then
  543.       Halt(1);
  544.    GetPalette(Palette);
  545.    repeat
  546.      SetBkColor(Random(Palette.Size));
  547.      LineTo(Random(GetMatX),Random(GetMatY));
  548.    until KeyPressed;
  549.   end.
  550.  
  551. ------------------------------------------------------------
  552.  Åα«µÑñπαá SetDate                               î«ñπ½∞ Dos
  553. ------------------------------------------------------------
  554.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ ΓѬπΘπε ñáΓπ ó «»Ñαᵿ«¡¡«⌐ ß¿ß-
  555. ΓѼÑ.
  556.      Ä»¿ßá¡¿Ñ: SetDate(var ú«ñ, ¼Ñß∩µ, τ¿ß½«, ñÑ¡∞_¡Ññѽ¿  :
  557. word)
  558.      Åα¿¼Ñτá¡¿∩: é«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ ¿¼ÑεΓ  ß½ÑñπεΘ¿Ñ  ñ«-
  559. »πßΓ¿¼δÑ  º¡áτÑ¡¿∩:  "ú«ñ"  -  1980..2099,  "¼Ñß∩µ" - 1..12,
  560. "τ¿ß½«" 1..31, "ñÑ¡∞_¡Ññѽ¿" - 0..6 (úñÑ  º¡áτÑ¡¿Ñ  0  ß««Γ-
  561. óÑΓßΓóπÑΓ ó«ß¬αÑßÑ¡∞ε). àß½¿ ñáΓá π¬áºá¡á ¡ÑóÑα¡«, Γ« ºá»α«ß
  562. ¿ú¡«α¿απÑΓß∩.
  563.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetDate, GetTime, SetTime.
  564.  
  565. ------------------------------------------------------------
  566.  Åα«µÑñπαá SetFAttr                              î«ñπ½∞ Dos
  567. ------------------------------------------------------------
  568.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ áΓα¿íπΓδ Σá⌐½á.
  569.      Ä»¿ßá¡¿Ñ: SetAttr(var f; var áΓα¿í : byte)
  570.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f ñ«½ª¡Ñ¡ »αÑñßΓáó½∩ÑΓ∞ ß«í«⌐ Σá⌐-
  571. ½«óπε  »ÑαѼѡ¡πε  (ß««ΓóÑΓßΓóπεΘπε Γ¿»¿º«óá¡¡«¼π, ¡ÑΓ¿»¿º«-
  572. óá¡¡«¼π ¿½¿ ΓѬßΓ«ó«¼π Σá⌐½π) ñ½∩ ¬«Γ«α«ú« ñ«½ª¡«  íδΓ∞  óδ-
  573. »«½¡Ñ¡«  »α¿ßóá¿óá¡¿Ñ Σá⌐½«ó«⌐ »ÑαѼѡ«⌐, ¡« ¬«Γ«αδ⌐ ¡Ñ ñ«½-
  574. ªÑ¡ íδΓ∞ «Γ¬αδΓ. ö«α¼¿α«óá¡¿Ñ  áΓα¿íπΓ«ó  óδ»«½¡∩ÑΓß∩  »πΓѼ
  575. ñ«íáó½Ñ¡¿∩ ß««ΓóÑΓßΓóπεΘ¿σ ¼áß«¬, ºáñá¡¡δσ ó ó¿ñÑ ¬«¡ßΓá¡Γ ó
  576. ¼«ñπ½Ñ Dos:
  577.  
  578.    const
  579.     { ¬«¡ßΓá¡Γδ áΓα¿íπΓ«ó Σá⌐½á }
  580.    ReadOnly   = $01;  { Γ«½∞¬« τΓÑ¡¿Ñ }
  581.    Hidden     = $02;  { "߬αδΓδ⌐" Σá⌐½ }
  582.    SysFile    = $04;  { ß¿ßΓѼ¡δ⌐ Σá⌐½ }
  583.    VolumeId   = $08;  { ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ«¼á }
  584.    Directory  = $10;  { ¬áΓὫú }
  585.    Archive    = $20;  { áασ¿ó¿ºáµ¿∩ }
  586.    AnyFile    = $3F;  { »α«τ¿⌐ Σá⌐½ }
  587.  
  588.      è«ñδ «Φ¿í«¬ ¼«ª¡« »«½πτ¿Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿  DosError.
  589. 髺¼«ª¡δ¼¿  ¬«ñἿ «Φ¿í«¬ ∩ó½∩εΓß∩ ¬«ñ 3 (¡Ññ«»πßΓ¿¼δ⌐ ¼áαΦ-
  590. απΓ) ¿ ¬«ñ 5 (ñ«ßΓπ» ¬ Σá⌐½π «ΓóÑαú¡πΓ).
  591.      Äúαá¡¿τÑ¡¿∩: öá⌐½ ¡Ñ ¼«ªÑΓ íδΓ∞ «Γ¬αδΓ.
  592.      Åα«τÑÑ:   æ¼.  ΓᬪѠ  »α«µÑñπαδ  GetFAttr,   GetFTime,
  593. SetFTime.
  594.      Åα¿¼Ñα:
  595.  
  596.  uses Dos;
  597.   var
  598.     f : file;
  599.  begin
  600.    Assign(f,'C:\AUTOEXEC.BAT');
  601.    SetFAttr(f, Hidden);
  602.    Readln;
  603.    SetFAttr(f, Archive);
  604.  end.
  605.  
  606. ------------------------------------------------------------
  607.  Åα«µÑñπαá SetFillPattern
  608. ------------------------------------------------------------
  609.      öπ¡¬µ¿∩: éδí¿αáÑΓ ºáñá¡¡δ⌐ »«½∞º«óáΓѽѼ  «íαáºÑµ  ºá¬-
  610. αá߬¿.
  611.      Ä»¿ßá¡¿Ñ:  SetFillPattern(Pattern  :   FillPatternType;
  612. Color : word)
  613.  
  614.      Åα¿¼Ñτá¡¿∩: ôßΓá¡áó½¿óáÑΓ Γ¿» ºá¬αá߬¿ ¿  ÑÑ  µóÑΓ  ñ½∩
  615. óßÑσ  Γ¿»«ó ºá¬αá߬¿, óδ»«½¡∩Ѽδσ »α«µÑñπαἿ FillPoly, Bar,
  616. FloodFill, Bar3D ¿ PieSlice, í¿Γ«óδ⌐ «íαáºÑµ ºá¬αá߬¿, ºáñá-
  617. óáѼδ⌐  »α«µÑñπα«⌐  Pattern,  ¿  µóÑΓ, ºáñáóáѼδ⌐ »α«µÑñπα«⌐
  618. Color. Æ¿» FillPatternType »αÑñóáα¿Γѽ∞¡« «»αÑñѽ∩ÑΓß∩  ß½Ñ-
  619. ñπεΘ¿¼ «íαẫ¼:
  620.  
  621.  type
  622.    FillPatternType = array[1..8] of byte;
  623.  
  624. ÄíαáºÑµ ºá¬αá߬¿ «ß¡«óδóáÑΓß∩ ¡á ó¡πΓαÑ¡¡¿σ íá⌐Γ«óδσ  º¡áτÑ-
  625. ¡¿∩σ, ß«ñÑαªáΘ¿σß∩ ó ¼áßß¿óÑ Pattern. ¥Γ«Γ ¼áß߿󠿼ÑÑΓ ñ½¿-
  626. ¡π 8 íá⌐Γ«ó ¿ ¬áªñδ⌐ íá⌐Γ 8 φ½Ñ¼Ñ¡Γá¼ ¿º«íαáªÑ¡¿∩ ó  «íαẵÑ
  627. ºá¬αá߬¿. àß½¿ í¿Γ ó íá⌐ΓÑ «íαẵᠺá¬αá߬¿ »α¿¡¿¼áÑΓ º¡áτÑ-
  628. ¡¿Ñ 1, Γ« φ½Ñ¼Ñ¡Γ ¿º«íαáªÑ¡¿∩ íπñÑΓ »«ßΓα«Ñ¡. æ½ÑñπεΘ¿⌐  «í-
  629. αáºÑµ ºá¬αá߬¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐, ¡á»α¿¼Ñα, ºá¬αá߬π ó ó¿ñÑ
  630. "Φáσ¼áΓ¡«⌐ ñ«ß¬¿" (50% »«½πΓ«¡):
  631.  
  632. ----------------------------------------------------------
  633.      äó«¿τ¡δ⌐ ó¿ñ        ÿÑßΓ¡áñµáΓ¿α¿τ¡δ⌐ ó¿ñ
  634. ----------------------------------------------------------
  635.    10101010         =         $AA            (»Ñαóδ⌐ íá⌐Γ)
  636.    01010101         =         $55            (óΓ«α«⌐ íá⌐Γ)
  637.    10101010         =         $AA            (ΓαÑΓ¿⌐ íá⌐Γ)
  638.    01010101         =         $55         (τÑΓóÑαΓδ⌐ íá⌐Γ)
  639.    10101010         =         $AA             (»∩Γδ⌐ íá⌐Γ)
  640.    01010101         =         $55            (ΦÑßΓ«⌐ íá⌐Γ)
  641.    10101010         =         $AA           (ßÑñ∞¼«⌐ íá⌐Γ)
  642.    01010101         =         $55           (ó«ß∞¼«⌐ íá⌐Γ)
  643. ----------------------------------------------------------
  644.  
  645.      Ä»αÑñѽѡ¡δÑ »«½∞º«óáΓѽѼ Γ¿»δ ºá¬αá߬¿ »«ºó«½∩εΓ  óá¼
  646. ß«ºñáóáΓ∞    Γ¿»δ    ºá¬αá߬¿,   «Γ½¿τáεΘ¿Ñß∩   «Γ   ºáαá¡ÑÑ
  647. «»αÑñѽѡ¡δσ, ¬«Γ«αδÑ ¼«úπΓ óδí¿αáΓ∞ß∩ ß  »«¼«Θ∞ε  »α«µÑñπαδ
  648. SetFillStyle.  éß∩¬¿⌐  αáº, ¬«úñá óδ óδí¿αáÑΓÑ ¡«óδ⌐ «íαáºÑµ
  649. ºá¬αá߬¿ ß »«¼«Θ∞ε »α«µÑñπα SetFillPattern ¿½¿  SetFillStyle
  650. óßÑ  «»Ñαᵿ¿  ºá¬αá߬¿  íπñπΓ  óδ»«½¡∩Γ∞ß∩ ß ¿ß»«½∞º«ó᡿Ѽ
  651. φΓ«ú«     Γ¿»á     ºá¬αá߬¿.     Åα¿     «íαáΘÑ¡¿¿      ó¿ñá
  652. SetFillStyle(UserField,  SomeColor)  óßÑúñá íπñÑΓ óδí¿αáΓ∞ß∩
  653. «íαáºÑµ, ºáñá¡¡δ⌐ »«½∞º«óáΓѽѼ. ¥Γ« »«ºó«½∩ÑΓ  óá¼  «»αÑñÑ-
  654. ½∩Γ∞ ¿ ¿ß»«½∞º«óáΓ∞ ß »«¼«Θ∞ε »α«µÑñπαδ SetFillPattern ¡«óδ⌐
  655. «íαáºÑ⌐ ºá¬αá߬¿, á ºáΓѼ »ÑαÑσ«ñ¿Γ∞ «Γ  óßΓα«Ñ¡¡«ú«  «íαáµá
  656. ºá¬αá߬¿  ¬  ¡«ó«¼π,  ºáñá¡¡«¼π  óἿ, «íαáΘá∩ß∞ ¬ »α«µÑñπαÑ
  657. YetTextStyle.
  658.      Ç¡á½«ú¿τ¡á∩ »α«úαἼᠿ¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  659.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  660.      Åα¿¼Ñα:
  661.  
  662.  uses
  663.   Graph;
  664.  const
  665.    Gray50 : FillPatternType = ($AA, $55, $AA, $55, $AA, $55,
  666.                                $AA, $55);
  667.     var
  668.     Driver, Mode: integer;
  669.   begin
  670.     Driver := Detect; { »ÑαÑóÑßΓ¿ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  671.     InitGraph(Driver, Mode, '');
  672.     if GraphResult <> 0 then
  673.        Halt(1)
  674.   SetFillPattern(Gray50, White);
  675.   Bar(0, 0, 100, 100);  { ¡áα¿ß«óáΓ∞ ßΓ«½íѵ, ¿ß»«½∞ºπ∩ 50%
  676.                           »«½πΓ«¡ }
  677.   Readln;
  678.   CloseGraph;
  679.  end.
  680.  
  681. ------------------------------------------------------------
  682.  Åα«µÑñπαá SetFillStyle                        î«ñπ½∞ Graph
  683. ------------------------------------------------------------
  684.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ Γ¿» ºá¬αá߬¿ ¿ ÑÑ µóÑΓ.
  685.      Ä»¿ßá¡¿Ñ: SetFillStyle(«íαáºÑµ : word; µóÑΓ : word)
  686.      Åα¿¼Ñτá¡¿∩: ôßΓá¡áó½¿óáÑΓ «íαáºÑµ ¿ µóÑΓ  ºá¬αá߬¿  ñ½∩
  687. óßÑσ  Γ¿»«ó ºá¬αá߬¿, óδ»«½¡∩Ѽδσ »α«µÑñπαἿ FillPoly, Bar,
  688. Bar3D, ¿ PieSlice. î«ª¡« ¿ß»«½∞º«óáΓ∞ ¼¡«ªÑßΓó«  Γ¿»«ó  ºá¬-
  689. αá߬¿. Å« π¼«½τá¡¿ε óδí¿αáÑΓß∩ ß»½«Φ¡á∩ ºá¬αá߬á íѽ«ú« µóÑ-
  690. Γá. Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  691.  
  692.   { «íαáºµδ ºá»«½¡¿ΓѽÑ⌐ ñ½∩ »α«µÑñπα Get/SetFill/Style }
  693.    EmptyFill     = 0;   { ºá»«½¡¿Γ∞ «í½áßΓ∞ Σ«¡«óδ¼ µóÑΓ«¼ }
  694.    SolidFill     = 1;   { ¡Ñ»αÑαδó¡«Ñ ºá»«½¡Ñ¡¿Ñ «í½áßΓ  ºá-
  695.                           ñá¡¡δ¼ µóÑΓ«¼ }
  696.    LineFill      = 2;   { ºá»«½¡¿Γ∞ --- }
  697.    LtSlashFill   = 3;   { ºá»«½¡¿Γ∞ /// }
  698.    SlashFill     = 4;   { ºá»«½¡¿Γ∞ ª¿α¡δ¼¿ ½¿¡¿∩¼¿ ///}
  699.    BkSlashFill   = 5;   { ºá»«½¡¿Γ∞ \\\ (ª¿α¡δ¼¿ ½¿¡¿∩¼¿) }
  700.    LtBkSlashFill = 6;   { ºá»«½¡¿Γ∞ \\\ }
  701.    HatchFill     = 7;   { ºá»«½¡¿Γ∞ αÑñ¬«⌐ ΦΓα¿σ«ó¬«⌐ }
  702.    XHatchFill    = 8;   { ºá»«½¡¿Γ∞ τáßΓ«⌐ »ÑαÑßѬáεΘÑ⌐ß∩
  703.                           ΦΓα¿σ«ó¬«⌐ }
  704.    InterLeaveFill = 9;  { ºá»«½¡¿Γ∞ »αÑαδó¿ßΓ«⌐ ½¿¡¿Ñ⌐ }
  705.    WideDotFill   = 10;  { ºá»«½¡¿Γ∞ αÑñ¬¿¼¿ Γ«τ¬á¼¿ }
  706.    CloseDotFill  = 11;  { ºá»«½¡¿Γ∞ τáßΓ묨 Γ«τ¬á¼¿ }
  707.  
  708.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  709.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Bar, Bar3D, FillPoly,  Get-
  710. FillSettings, PieSlice.
  711.      Åα¿¼Ñα:
  712.  
  713.  SetFillStyle(SolidFill,0);
  714.  Bar(x1, y1, x2, y2);
  715.  SetFillStyle(XHatchFill,0);
  716.  Bar(x1, y1, x2, y2);
  717.  
  718. ------------------------------------------------------------
  719.  Åα«µÑñπαá SetFTime                              î«ñπ½∞ Dos
  720. ------------------------------------------------------------
  721.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ ñáΓπ ¿  óαѼ∩  »«ß½Ññ¡Ñ⌐  ºá»¿ß¿
  722. Σá⌐½á.
  723.      Ä»¿ßá¡¿Ñ: SetTime(var f; óαѼ∩ : longint)
  724.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f ñ«½ªÑ¡ íδΓ∞ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐,
  725. ß««ΓóÑΓßΓóπεΘÑ⌐ Γ¿»¿º«óá¡¡«¼π, ¡ÑΓ¿»¿º«óá¡¡«¼π ¿½¿ ΓѬßΓ«ó«-
  726. ¼π Σá⌐½π. Åáαá¼ÑΓα "óαѼ∩" ¼«ª¡« ßΣ«α¼¿α«óáΓ∞ ß »«¼«Θ∞ε  «í-
  727. αáΘÑ¡¿∩  ¬  »α«µÑñπαÑ  ÉáßkÆi¼Ñ. ÄΦ¿í¬¿ ¼«ª¡« »«½πτ¿Γ∞ ß »«-
  728. ¼«Θ∞ε Σπ¡¬µ¿¿ DosError. àñ¿¡ßΓóÑ¡¡« ó«º¼«ª¡δ¼  ¬«ñ«¼  «Φ¿í¬¿
  729. ∩ó½∩ÑΓß∩ ¬«ñ 6 (¡Ññ«»πßΓ¿¼á∩ «íαáí«Γá Σá⌐½á).
  730.      Äúαá¡¿τÑ¡¿∩: öá⌐½ f ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  731.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetFTime, PackTime, UnPack-
  732. Time.
  733.  
  734. ------------------------------------------------------------
  735.  Åα«µÑñπαá SetGraphMode                        î«ñπ½∞ Graph
  736. ------------------------------------------------------------
  737.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ ñ½∩ ß¿ßΓѼδ úαáΣ¿τÑ߬¿⌐  αѪ¿¼ ¿
  738.  «τ¿ΘáÑΓ φ¬αá¡.
  739.      Ä»¿ßá¡¿Ñ: SetGraphMode(αѪ¿¼ : integer)
  740.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "αѪ¿¼" ñ«½ªÑ¡ ºáñáóáΓ∞  ñ½∩ ΓѬπ-
  741. ΘÑú« ñαá⌐óÑαá πßΓα«⌐ßΓóá ñ«»πßΓ¿¼δ⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  742. äá¡¡á∩ »α«µÑñπαá ¿ß»«½∞ºπÑΓß∩ ñ½∩  óδí«αá  úαáΣ¿τÑ߬«ú«  αÑ-
  743. ª¿¼á, «Γ½¿τ¡«ú« «Γ Γ«ú«, ¬«Γ«αδ⌐  »« π¼«½τá¡¿ε  πßΓá¡áó½¿óá-
  744. ÑΓß∩ »α«µÑñπα«⌐ InitGraph.
  745.      Åα«µÑñπαá SetGraphMode ¼«ªÑΓ ΓᬪѠ¿ß»«½∞º«óáΓ∞ß∩ ó¼Ñß-
  746. ΓÑ ß »α«µÑñπα«⌐  RestoreCrtMode ñ½∩ »ÑαѬ½ετÑ¡¿∩ ¼Ñªñπ  ΓѬ-
  747. ßΓ«óδ¼ ¿ úαáΣ¿τÑ߬¿¼ αѪ¿¼á¼¿.
  748.      Åα«µÑñπαá SetGraphMode ßíαáßδóáÑΓ óßÑ úαáΣ¿τÑ߬¿Ñ »áαá-
  749. ¼ÑΓαδ (ΓѬπΘ¿⌐ π¬áºáÑΓѽ∞, »á½¿Γαπ, µóÑΓ, «í½áßΓ∞ »α«ß¼«Γαá,
  750. ¿ Γ. ñ.) ó ΓÑ º¡áτÑ¡¿∩, ¬«Γ«αδÑ ¡áº¡áτáεΓß∩ ñ½∩ ¡¿σ »« π¼«½-
  751. τá¡¿ε.
  752.      àß½¿  ñѽáÑΓß∩  »«»δΓ¬á  óδíαáΓ∞ ñ½∩ ΓѬπΘÑú«  ñαá⌐óÑαá
  753. πßΓα«⌐ßΓóá ¡Ññ«»πßΓ¿¼δ⌐ αѪ¿¼, Γ« Σπ¡¬µ¿∩  GraphResult
  754. ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -10 (grInvalidMode).
  755.      Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  756.  
  757. ------------------------------------------------------------
  758. âαáΣ¿τÑ߬¿⌐   ê¼∩     ç¡áτÑ¡¿Ñ   æΓ«½íµ«ó    Å὿Γαá  æΓαá¡¿µ
  759.   ñαá⌐óÑα  ¬«¡ßΓá¡Γδ              σ ßΓ᫬
  760. ------------------------------------------------------------
  761. CGA         CGAC0         0      320x200        C0        1
  762.             CGAC1         1      320x200        C1        1
  763.             CGAC2         2      320x200        C2        1
  764.             CGAC3         3      320x200        C3        1
  765.             CGAHi         4      640x200     2 µóÑΓá      1
  766.                                                           
  767. MCGA        MCGAC0        0      320x200        C0        1
  768.             MCGAC1        1      320x200        C1        1
  769.             MCGAC2        2      320x200        C2        1
  770.             MCGAC3        3      320x200        C3        1
  771.             MCGAMed       4      640x200     2 µóÑΓá      1
  772.  
  773. EGA         EGALo         0      640x200     16 µóÑΓ«ó    1
  774.             çëä謠        1      640Θ350     16 µóÑΓ«ó    2
  775.  
  776. çëä64       çëä64Äα       0      640Θ200     16 µóÑΓ«ó    1
  777.             çëä64謠      1      640Θ350      4 µóÑΓá     1
  778.  
  779. EGA-        EGAMonoHi     3      640x350      2 µóÑΓá     1*
  780.  
  781. MONO        EGAMonoHi     3      640x350      2 µóÑΓá    1**
  782.  
  783. HERC        HercMonoHi    0      720x348      2 µóÑΓá     2
  784.  
  785. ATT400      ATT400C0      0      320x200         C0       1
  786.             ATT400C1      1      320x200         C1       1
  787.             ATT400C2      2      320x200         C2       1
  788.             ATT400C3      3      320x200         C3       1
  789.             ATT400Med     4      640x200       2 µóÑΓá    1
  790.             ATT400Hi      5      640x200       2 µóÑΓá    1
  791.  
  792. VGA         VGALo         0      640x200      16 µóÑΓ«ó   2
  793.             VGAMed        1      640x350      16 µóÑΓ«ó   2
  794.             VGAHi         2      640x480      16 µóÑΓ«ó   1
  795.  
  796. PC3270      PC3270Hi      0      640x200       2 µóÑΓá    1
  797.  
  798. 8514        IBM8514Lo     0      640x480      256 µóÑΓ«ó  1
  799. 8514        IBM8514Hi     0     1024x768      256 µóÑΓ«ó  1
  800.  
  801. ------------------------------------------------------------
  802. * - 64è ¡á »½áΓÑ EGAMono
  803. ** - 256è ¡á »½áΓÑ EGAMomo
  804.  
  805.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  806.      Äúαá¡¿τÑ¡¿∩: ÅÑαÑñ «íαáΘÑ¡¿Ñ¼ ¬ ñá¡¡«⌐ »α«µÑñπαÑ  ¡Ñ«í-
  807. σ«ñ¿¼«  óδ»«½¡¿Γ∞ (ß ¡«α¼á½∞¡δ¼ ºáóÑαΦÑ¡¿Ñ¼) ó맮ó »α«µÑñπαδ
  808. InitGraph.
  809.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ ClrearDevice,  DetectGraph,
  810. GetGraphMode, InitGraph, RestoreCrtMode.
  811.      Åα¿¼Ñα:
  812.  
  813. uses Graph;
  814.  var
  815.    GraphDriver : integer;
  816.    GraphMode   : integer;
  817.    LowMode     : integer;
  818.    HighMode    : integer;
  819.  begin
  820.  GraphDriver := Detect;
  821.  InitGraph(GraphDriver, GraphMode, '');
  822.  if GraphResult <> grOk then
  823.     Halt(1);
  824.  GetModeRange(GraphDriver, LowMode, HighMode);
  825.  SetGraphMode(LowMode); { óδíαáΓ∞ αѪ¿¼ ß ¡¿º¬¿¼ αáºαÑΦÑ¡¿Ñ¼
  826.  }
  827.  Line(0, 0, GetMaxX, GetMaxY);
  828.  Readln;
  829.  CloseGraph;
  830.  end.
  831.  
  832. ------------------------------------------------------------
  833.  Åα«µÑñπαá SetIntVec                             î«ñπ½∞ Dos
  834. ------------------------------------------------------------
  835.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ  »«  ºáñá¡¡«¼π  áñαÑßπ  ºáñá¡¡δ⌐
  836. óÑ¬Γ«α »αÑαδóá¡¿∩.
  837.      Ä»¿ßá¡¿Ñ: SetIntVec(¡«¼_»αÑα : byte; óÑ¬Γ«α : pointer)
  838.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "¡«¼_»αÑα"  ºáñáÑΓ  ¡«¼Ñα  óÑ¬Γ«αá
  839. »αÑαδóá¡¿∩  (0...255), á »áαá¼ÑΓα "óÑ¬Γ«α" ºáñáÑΓ Ñú« áñαÑß.
  840. ùΓ«íδ »«½πτ¿Γ∞ áñαÑß »α«µÑñπαδ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ »áαá¼ÑΓα
  841. "óÑ¬Γ«α"  τáßΓ« ºáñáÑΓß∩ ß ¿ß»«½∞º«ó᡿Ѽ «»ÑαáΓ«αá @. ÅαÑñ-
  842. »«½«ª¿¼, τΓ« Int1BSave ∩ó½∩ÑΓß∩ »ÑαѼѡ¡«⌐ Γ¿»á π¬áºáΓѽ∞  ¿
  843. Int1BHandler - ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐.
  844. Æ«úñá ß½ÑñπεΘá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ «»ÑαáΓ«α«ó ¡«óδ⌐ «íαáí«Γ-
  845. τ¿¬  »αÑαδóá¡¿∩  $é1, á ºáΓѼ ó«ßßΓá¡áó½¿óáÑΓ ¿ßσ«ñ¡δ⌐ «íαá-
  846. í«Γτ¿¬ »αÑαδóá¡¿∩:
  847.  
  848.   GetIntVec($1B,Int1BSave);
  849.   SetIntVec($1b,@Int1BHandler);
  850.         .
  851.         .
  852.         .
  853.   SetIntVec($1B,Int1BSave);
  854.  
  855.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ GetIntVec.
  856.  
  857. -----------------------------------------------------------
  858.  Åα«µÑñπαá SetLineStyle                       î«ñπ½∞ Graph
  859. -----------------------------------------------------------
  860.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ ΓѬπΘπε Γ«½Θ¿¡π ¿ Γ¿» ½¿¡¿¿.
  861.      Ä»¿ßá¡¿Ñ: SetLineStyle(Γ¿»_ßΓ᫬¿  :  word;  «íαáºÑµ  :
  862. word; Γ«½Θ¿¡á : word)
  863.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ »α«µÑñπαá ó½¿∩ÑΓ ¡á óßÑ Γ¿»δ  ½¿¡¿⌐,
  864. óδτÑατ¿óáѼδÑ »α«µÑñπαἿ Line, LineTo, RecTangle, DrawPoly,
  865. Arc, Circle ¿ ñα.
  866.      î«úπΓ óδτÑατ¿óáΓ∞ß∩ ¡Ñ»αÑαδó¡δÑ, »π¡¬Γ¿α¡δÑ ½¿¡¿¿,  ½¿-
  867. ¡¿¿, ß«ßΓ«∩Θ¿Ñ ¿º Γ«τѬ ¿½¿ Γ«τѬ ¿ Γ¿αÑ.
  868.      àß½¿ »α«µÑñπαÑ SetLineStyle ¿ÑαÑñáεΓß∩  ¡ÑóÑα¡δÑ  »áαá-
  869. ¼ÑΓαδ,   Γ«   GraphResult   íπñÑΓ  ó«ºóαáΘáΓ∞  º¡áτÑ¡¿Ñ  -11
  870. (grError) ¿ ΓѬπΘ¿Ñ πßΓᡫ󬿠«ßΓá¡πΓß∩ ¡Ñ¿º¼Ñ¡Ñ¡¡δ¼¿.  Ä»¿-
  871. ßá¡δ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  872.  
  873.  const
  874.     SolidLn    =  0;     { ¡Ñ»αÑαδó¡δ∩ ½¿¡¿∩ }
  875.     DottedLn   =  1;     { ½¿¡¿∩ ¿º Γ«τѬ }
  876.     CenterLn   =  2;     { ½¿¡¿∩ ¿º Γ«τѬ ¿ Γ¿αÑ }
  877.     DashedLn   =  3;     { »π¡¬Γ¿α¡á∩ ½¿¡¿∩ }
  878.     UserDilLn  =  4;     { Γ¿», «»αÑñѽ∩Ѽδ⌐ »«½∞º«óáΓѽѼ }
  879.     NormWidth  =  1;     { ¡«α¼á½∞¡á∩ Γ«½Θ¿¡á }
  880.     ThickWidth =  3;     { ª¿α¡á∩ ½¿¡¿∩ }
  881.  
  882.      è«úñá ó ¬áτÑßΓóÑ »áαá¼ÑΓαá »α«µÑñπαπ LineStyle  »ÑαÑñá-
  883. ÑΓß∩  UserBitLn,  Γ«  ó ¬áτÑßΓóÑ BitPattern ñ½∩ ßΓ᫬¿ íπñÑΓ
  884. ¿ß»«½∞º«óáΓ∞ß∩ »áαá¼ÑΓα "«íαáºÑµ".
  885.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  886.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ GetLineStyle,  Line,  Line-
  887. Rel, LineTo, SetWriteMode, GraphResult.
  888.      Åα¿¼Ñα:
  889.  
  890.  uses Graph;
  891.  var
  892.    GraphDriver, GraphMode : integer;
  893.    x1, y1, x2, y2 : integer;
  894.  begin
  895.    GraphDriver := Detect;
  896.    InitGraph(GraphDriver,GraphMode,'');
  897.    if GraphResult <> grOk then
  898.       Halt(1);
  899.        x1 := 10;
  900.        y1 := 10;
  901.        x2 := 200;
  902.        y2 := 150;
  903.  SetLineStyle(DottedLn,0,NormVidth);
  904.  Rectangle)x1,y1,x2,y2);
  905.  SetLineStyle(UserBitLn,$C3,ThickWidth);
  906.  Rectangle(Pred(x1), Pred(y1), Succ(x2), Succ(y2));
  907.     öªúÑ¡»;
  908.     à¡αΣªëπúß⌐;
  909. ʻȄ.
  910.  
  911. ------------------------------------------------------------
  912.  Åα«µÑñπαá SetPalette                          î«ñπ½∞ Graph
  913. ------------------------------------------------------------
  914.      öπ¡¬µ¿∩: êº¼Ñ¡∩ÑΓ «ñ¿¡ ¿º µóÑΓ«ó »á½¿Γαδ ó ß««ΓóÑΓßΓó¿¿
  915. ß »áαá¼ÑΓαἿ "¡«¼_µóÑΓá" ¿ "µóÑΓ".
  916.      Ä»¿ßá¡¿Ñ: SetPalette(¡«¼_µóÑΓá : word; µóÑΓ : byte)
  917.  
  918.      Åα¿¼Ñτá¡¿∩: êº¼Ñ¡∩ÑΓ ó »á½¿ΓαÑ  ºá»¿ß∞  "¡«¼_µóÑΓá"  ¡á
  919. "µóÑΓ".  SetPalette(0,LightCyan)  πßΓá¡áó½¿óáÑΓ  ó  ¬áτÑßΓóÑ
  920. »Ñαó«ú« µóÑΓᠻ὿Γαδ ßóÑΓ½«-í¿αóδ⌐. é ºáó¿ß¿¼«ßΓ¿ «Γ ΓÑ-
  921. ¬πΘÑú«  úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá ¿ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« αѪ¿¼á
  922. »áαá¼ÑΓα "¡«¼-µóÑΓá" ¼«ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ «Γ 0 ñ« 15.
  923.      é¡ÑßÑ¡¡δ⌐ ó »á½¿Γαπ ¿º¼Ñ¡Ñ¡¿∩  ¡Ñ¼Ññ½Ñ¡¡«  «Γ«íαáªáεΓß∩
  924. ¡á  φ¬αá¡Ñ.  é  »α¿óÑñÑ¡¡«¼ ñá½ÑÑ »α¿¼ÑαÑ ¡á φ¬αá¡Ñ α¿ßπÑΓß∩
  925. ¡Ñ߬«½∞¬« ßΓ᫬, ºáΓѼ »á½¿Γαá ß½πτá⌐¡δ¼ «íαẫ¼ ¿º¼Ñ¡∩ÑΓß∩.
  926. èáªñδ⌐  αáº, ¬«úñá ¿º¼Ñ¡∩ÑΓß∩ µóÑΓ »á½¿Γαδ, óßÑ ¼ÑßΓá ¡á φ¬-
  927. αá¡Ñ, úñÑ ¿ß»«½∞ºπÑΓß∩ ñá¡¡δ⌐ µóÑΓ, íπñπΓ ¿º¼Ñ¡∩Γ∞ß∩ ó ß««Γ-
  928. óÑΓßΓó¿¿ ß ¡«óδ¼ º¡áτÑ¡¿Ñ¼.
  929.      Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  930.  
  931.    Black          = 0;      { τÑα¡δ⌐ }
  932.    Blue           = 1;      { ß¿¡¿⌐  }
  933.    Green          = 2;      { ºÑ½Ñ¡δ⌐ }
  934.    Cyan           = 3;      { í¿αóδ⌐ }
  935.    Red            = 4;      { ¬αáß¡δ⌐ }
  936.    Magenta        = 5;      { ¼á½¿¡«óδ⌐ }
  937.    Brown          = 6;      { ¬«α¿τ¡Ñóδ⌐ }
  938.    LightGray      = 7;      { ßóÑΓ½«-ßÑαδ⌐ }
  939.    DarkGray       = 8;      { ΓѼ¡«-ßÑαδ⌐ }
  940.    LightBlue      = 9;      { ßóÑΓ½«-ú«½πí«⌐ }
  941.    LightGreen     = 10;     { ßóÑΓ½«-ºÑ½Ñ¡δ⌐ }
  942.    LightCyan      = 11;     { ßóÑΓ½«-í¿αóδ⌐ }
  943.    LightRed       = 12;     { ßóÑΓ½«-¬αáß¡δ⌐ }
  944.    LightMagenta   = 13;     { ßóÑΓ½«-¼á½¿¡«óδ⌐ }
  945.    Yellow         = 14;     { ªÑ½Γδ⌐ }
  946.    White          = 15;     { íѽδ⌐ }
  947.  
  948.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  949.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  950.      Åα«τÑÑ:   æ¼.  ΓᬪѠ  »α«µÑñπαδ  GetBkColor,   GetColor,
  951. SetAllPalette,  SetBkColor,  CetColor, SetRGBPalette, GraphRe-
  952. sult.  ╝╝╝
  953.      Åα¿¼Ñα:
  954.  
  955.   uses Crt, Graph;
  956.  var
  957.    Graphriver, GraphMode : integer;
  958.    Color : word;
  959.    Palette : PaletteType;
  960.  begin
  961.    GraphDriver := Detect;
  962.    InitGraph(GraphDriver, GraphMode,'');
  963.    if GraphResult <> grOk then
  964.       Halt(1);
  965.    SetPalette(Palette);
  966.    for Color := 0 to Pred(Palette.Size) do
  967.    begin
  968.      SetColor(Color);
  969.      Line(Color, Color, Color*5, Color*5);
  970.    end;
  971.    Randomize;
  972.    repeat;
  973.      SetPalette(Random(Palette.Size),
  974.                 Random(Palette.Size));
  975.    until KeyPressed;
  976.   end;
  977.   else
  978.   Line(0, 0, 100, 0);
  979.      Readln;
  980.      CloseGraph;
  981.    end.
  982.  
  983. ------------------------------------------------------------
  984.  Åα«µÑñπαá SetRGBPalette                       î«ñπ½∞ Graph
  985. ------------------------------------------------------------
  986.      öπ¡¬µ¿∩: Å«ºó«½∩ÑΓ ¿º¼Ñ¡¿Γ∞ ºá»¿ß¿ »á½¿Γαδ ñ½∩  ñαá⌐óÑ-
  987. α«ó IBM 8514 ¿ VGA.
  988.      Ä»¿ßá¡¿Ñ: SetRGBPalette(¡«¼Ñα_µóÑΓá, RedVavue, GreenVa-
  989. lue, BlueValue : integer)
  990.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "¡«¼Ñα_µóÑΓá" ºáñáÑΓ ºá»¿ß∞ »á½¿Γ-
  991. αδ,  ¬«Γ«απε  ¡πª¡«  ºáúαπº¿Γ∞,  á  RedValue,  GreenValue  ¿
  992. BlueValue - µóÑΓá, ß«ßΓáó½∩εΘ¿Ñ ºá»¿ß∞ »á½¿Γαδ.
  993.      ä½∩ ñ¿ß»½Ñ∩ IBM-8514 "¡«¼Ñα-µóÑΓá" »α¿¡¿óáÑΓ º¡áτÑ¡¿∩ ó
  994. ñ¿á»áº«¡Ñ   0..255.   ä½∩   VGA  ó  µóÑΓ¡«¼  αѪ¿¼Ñ  ¿  256è
  995. "¡«¼Ñα_µóÑΓá" »α¿¡¿¼áÑΓ º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ 0..15.  êß»«½∞-
  996. ºπÑΓß∩  Γ«½∞¬« ¼½áñΦ¿⌐ íá⌐Γ RedValue, GreenValue ¿ BlueValue
  997. ¿ Γ«½∞¬« 6 ßΓáαΦ¿σ í¿Γ«ó φΓ«ú« íá⌐Γá ºáúαπªáεΓß∩ ó »á½¿Γαπ.
  998.  
  999.            çá¼Ñτá¡¿Ñ: é µÑ½∩σ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß ñαπú¿¼¿ úαáΣ¿-
  1000.       τÑ߬¿¼¿  áñá»ΓÑαἿ  Σ¿α¼δ  IBM ñαá⌐óÑα BGI «»αÑñѽ∩ÑΓ
  1001.       »ÑαóδÑ  16  ºá»¿ßÑ⌐  »á½¿Γαδ  IBM-8514  ñ½∩  áñá»ΓÑα«ó
  1002.       EGA/VGA. ¥Γ¿ º¡áτÑ¡¿∩ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ¡Ñ»«ßαÑñßΓ-
  1003.       óÑ¡¡«   ¿½¿    ¿º¼Ñ¡∩Γ∞ß∩    ß    »«¼«Θ∞ε    »α«µÑñπαδ
  1004.       SetRGBPalette.
  1005.  
  1006.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1007.      Äúαá¡¿τÑ¡¿∩: Åα«µÑñπαá  SetGRBPalette  ¼«ªÑΓ  ¿ß»«½∞º«-
  1008. óáΓ∞ß∩  Γ«½∞¬« »α¿ ¡á½¿τ¿¿ úαáΣ¿τÑ߬«ú« áñá»ΓÑαá VGA ¿ ñαá⌐-
  1009. óÑαá IBM-8514.
  1010.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ SetPalette.
  1011.      Åα¿¼Ñα:
  1012.  
  1013.         uses Graph;
  1014.         type
  1015.           GRBRec = record
  1016.           RedVal, GreenVal, BlueVal : integer;
  1017.             end;
  1018.         const
  1019.           EGAColors : array[0..MaxColors] of
  1020.     GRBRec =(                              { ìáºó. ûóÑΓ }
  1021.         (RedVal:$00;GreenVal:$00;BlueVal:$00), {τÑα¡δ⌐ EGA 0}
  1022.         (RedVal:$00;GreenVal:$00;BlueVal:$FC), {ú«½πí. EGA 1}
  1023.         (RedVal:$24;GreenVal:$FC;BlueVal:$24), {ºÑ½Ñ¡. EGA 2}
  1024.         (RedVal:$00;GreenVal:$FC;BlueVal:$FC), {í¿αεº. EGA 3}
  1025.         (RedVal:$FC;GreenVal:$14;BlueVal:$14), {¬αáß¡. EGA 4}
  1026.         (RedVal:$B0;GreenVal:$00;BlueVal:$FC), {¼á½¿¡. EGA 5}
  1027.         (RedVal:$70;GreenVal:$48;BlueVal:$FC), {¬«α¿τ. EGA 20}
  1028.         (RedVal:$C4;GreenVal:$C4;BlueVal:$C4), {íѽδ⌐  EGA 7 }
  1029.         (RedVal:$34;GreenVal:$34;BlueVal:$34), {ßÑαδ⌐  EGA 56}
  1030.         (RedVal:$00;GreenVal:$00;BlueVal:$70), {ßó.ú«½.EGA 57}
  1031.         (RedVal:$00;GreenVal:$70;BlueVal:$00), {ßó.ºÑ½.EGA 58}
  1032.         (RedVal:$00;GreenVal:$70;BlueVal:$70), {ßó.í¿α.EGA 59}
  1033.         (RedVal:$70;GreenVal:$00;BlueVal:$00), {ßó.¬α. EGA 60}
  1034.         (RedVal:$70;GreenVal:$00;BlueVal:$70), {ßó.¼á½.EGA 61}
  1035.         (RedVal:$FC;GreenVal:$FC;BlueVal:$24), {ªÑ½Γδ⌐ EGA 62}
  1036.         (RedVal:$FC;GreenVal:$FC;BlueVal:$FC), {Γ.íѽδ⌐EGA 63}
  1037.         );
  1038.         var
  1039.           Driver, Mode,
  1040.           i : integer;
  1041.         bagin
  1042.           Driver := IBM8514;      { «Γ¼Ñ¡¿Γ∞ áóΓ««í¡áαπªÑ¡¿Ñ }
  1043.           Mode := IBM8514Hi;
  1044.           InitGraph(Driver, Mode, ''); { »ÑαÑóÑßΓ¿ ó
  1045.                                          úαáΣ¿τÑ߬¿⌐ αѪ¿¼ }
  1046.           if GraphResult < 0 then
  1047.              Halt(1);
  1048.           { ¡π½Ñóá∩ »á½¿Γα∩, óÑß∞ úαáΣ¿τÑ߬¿⌐ óδó«ñ ¡Ñó¿ñ¿¼ }
  1049.           for i := 0 to MaxColors do
  1050.               with EGAColors[i] do
  1051.                  SetRGBPalette(i, 0, 0, 0);
  1052.           { óδóÑßΓ¿ τΓ«-¡¿íπñ∞ ¡á φ¬αá¡ }
  1053.           { ¿º¼Ñ¡¿Γ∞ »Ñαóδ⌐ 16 ºá»¿ßÑ⌐ »á½¿Γαδ ñ½∩ 8514 }
  1054.           for i := 1 to MaxColors do
  1055.             begin
  1056.               SetColor(i);
  1057.               OutText(10, i*10, '...ì᪼¿ΓÑ ½εíπε ¬½áó¿Φπ..');
  1058.             end;
  1059.           { ó«ßßΓá¡«ó¿Γ∞ »α¿¡∩ΓδÑ »« π¼«½τá¡¿ε µóÑΓá EGA ó
  1060.             »á½¿Γαπ 8514 }
  1061.           for i := 0 to MaxColors do
  1062.              with EGAColors[i] do
  1063.                   SetRGBPalette(i, RedVal, GreenVal,
  1064.        BlueVal);
  1065.           Readln;
  1066.           CloseGraph;
  1067.         end.
  1068.  
  1069. ------------------------------------------------------------
  1070.  Åα«µÑñπαá SetTextBuf
  1071. ------------------------------------------------------------
  1072.  
  1073.      öπ¡¬µ¿∩: ìạáτáÑΓ ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á íπΣÑα óó«ñá-óδ-
  1074. ó«ñá.
  1075.      Ä»¿ßá¡¿Ñ: SetTextBuf(var f : text; var íπΣÑα [ ; αẼÑα
  1076. : word ] )
  1077.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f »αÑñßΓáó½∩ÑΓ ß«í«⌐ Σá⌐½«óπε  »Ñ-
  1078. αѼѡ¡πε, ß««ΓóÑΓßΓóπεΘπε ΓѬßΓ«ó«¼π Σá⌐½π. Åáαá¼ÑΓα "íπΣÑα"
  1079. - ½εíá∩ »ÑαѼѡ¡á∩, á »áαá¼ÑΓα "αẼÑα" - ¡Ñ«í∩ºáΓѽ∞¡«Ñ óδ-
  1080. αáªÑ¡¿Ñ ñ½¿¡«⌐ ó ß½«ó«.
  1081.      èáªñá∩ Σá⌐½«óá∩ »ÑαѼѡ¡á∩ ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á
  1082.      ¿¼ÑÑΓ ó¡πΓαÑ¡¡¿⌐ íπΣÑα αẼÑα«¼ ó 128 íá⌐Γ«ó, τΓ« »«
  1083.      π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ ñ½∩ íπΣÑα¿ºáµ¿¿ «»Ñαᵿ⌐ τΓÑ¡¿∩
  1084.      ¿ ºá»¿ß¿. ¥Γ«Γ íπΣÑα »«ñσ«ñ¿Γ ñ½∩ ¿ß»«½∞º«óá¡¿∩ ó«
  1085.      ¼¡«ú¿σ »α¿¬½áñ¡δσ ºáñáτáσ, «ñ¡á¬« »α«úαá¼¼δ,  óδ»«½¡∩ε-
  1086. Θ¿Ñ ¼¡«ú« «»Ñαᵿ⌐ óó«ñá-óδó«ñá (¡á»α¿¼Ñα, ºáñáτ¿, óδ»«½¡∩ε-
  1087. Θ¿Ñ ¬«»¿α«óá¡¿Ñ ¿½¿ »αÑ«íαẫóá¡¿Ñ ΓѬßΓ«óδσ  Σá⌐½«ó)  íπñπΓ
  1088. ½πτΦÑ  αáí«ΓáΓ∞  ß  íπΣÑα«¼  í«½∞ΦÑú« αẼÑαá, »«ß¬«½∞¬π φΓ«
  1089. π¼Ñ¡∞ΦáÑΓ »ÑαѼÑΘÑ¡¿Ñ ú«½«ó¬¿ »« »«óÑασ¡«ßΓ¿ ñ¿ß¬á  ¿  ¿ºíδ-
  1090. Γ«τ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ.
  1091.      Åα«µÑñπαá SetTextBuf »ÑαѡạáτáÑΓ íπΣÑα,  ¿ß»«½∞ºπѼδ⌐
  1092. ñ½∩  ΓѬßΓ«ó«ú«  Σá⌐½á  f: ó¼ÑßΓ« ó¡πΓαÑ¡¡Ñú« íπΣÑαá Σá⌐½á f
  1093. ¿ß»«½∞ºπÑΓß∩ íπΣÑα, ºáñá¡¡δ⌐  »áαá¼ÑΓα«¼  "íπΣÑα".  Åáαá¼ÑΓα
  1094. "αẼÑα"  ºáñáÑΓ  αẼÑα íπΣÑαá ó íá⌐Γáσ. àß½¿ φëà»áαá¼ÑΓα
  1095. «»πΘÑ¡, Γ« »«ñαáºπ¼ÑóáÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ  SizeOf(íπΣÑα),  Γ«
  1096. ÑßΓ∞ »« π¼«½τá¡¿ε ó ¬áτÑßΓóÑ íπΣÑαá ¿ß»«½∞ºπÑΓß∩ óß∩ «í½áßΓ∞
  1097. »á¼∩Γ¿, ºá¡∩Γá∩ íπΣÑα«¼. ì«óδ⌐ íπΣÑα ñÑ⌐ßΓóπÑΓ ñ«  ΓÑσ  »«α,
  1098. »«¬á ñ½∩ f ó¡«ó∞ ¡Ñ óδ»«½¡∩ÑΓß∩ »α«µÑñπαá Assign.
  1099.      Äúαá¡¿τÑ¡¿∩: äá¡¡á∩ »α«µÑñπαá ¡¿¬«úñá ¡Ñ ñ«½ª¡á  »α¿¼Ñ-
  1100. ¡∩Γ∞ß∩ ñ½∩ «Γ¬αδΓ«ú« Σá⌐½á, σ«Γ∩ óδºδóáΓ∞ ÑÑ ¼«ª¡« ¡Ñ¼Ññ½Ñ¡-
  1101. ¡« óß½Ññ ºá «íαáΘÑ¡¿Ñ¼ ¬ »α«µÑñπαá¼ Reset, Rewrite ¿ ÇppÑnd.
  1102. éδº«ó  »α«µÑñπαδ SetTextBuf ñ½∩ «Γ¬αδΓ«ú« Σá⌐½á ó« óαѼ∩ óδ-
  1103. »«½¡Ñ¡¿∩ «»Ñαᵿ⌐ óó«ñá-óδó«ñá ¼«ªÑΓ ¿º-ºá ß¼Ñ¡δ íπΣÑαá »α¿-
  1104. óÑßΓ¿ ¬ »«ΓÑαÑ ñá¡¡δσ.
  1105.      Æπαí«-Åá߬á½∞ ¡Ñ «íÑß»Ñτ¿óáÑΓ ßπΘÑßΓó«óá¡¿Ñ  íπΣÑαá  ¡á
  1106. óßÑ  óαѼ∩ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ óó«ñá-óδó«ñá ñ½∩ Σá⌐½á. ÄíΘÑ⌐
  1107. «Φ¿í¬«⌐, ó τáßΓ¡«ßΓ¿, ∩ó½∩ÑΓß∩ óóÑñÑ¡¿Ñ ¬áτÑßΓóÑ íπΣÑαá  ½«-
  1108. ¬á½∞¡«⌐  »ÑαѼѡ¡«⌐ ¿ ºáΓѼ ¿ß»«½∞º«óá¡¿Ñ Σá⌐½á ó¡Ñ »α«µÑñπ-
  1109. αδ, ó ¬«Γ«α«⌐ «»¿ßδóáÑΓß∩ íπΣÑα.
  1110.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 Æπαí«-Åá߬á½∩ ¿ß»«½∞º«óá½ß∩
  1111.      ñαπú«⌐ ß¿¡Γá¬ß¿ß - var f:text[2048].
  1112.      Åα¿¼Ñα:
  1113.  
  1114.         var
  1115.           f : text;
  1116.          ch : char;
  1117.         buf : char;                   { íπΣÑα 10 è }
  1118.        begin
  1119.        { ¡áº¡áτ¿Γ∞ ñ½∩ Σá⌐½á ßτ¿Γδóá¡¿Ñ ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ }
  1120.        Assign(f, ParamStr(1));
  1121.        { óóÑßΓ¿ ñ½∩ í«½ÑÑ íδßΓα«ú« τΓÑ¡¿∩ íπΣÑα í«½∞ΦÑú«
  1122.        αẼÑαá }
  1123.        SetTextBuffer(f, buf);
  1124.        Reset(f);
  1125.        { óδóÑßΓ¿ ΓѬßΓ«óδ⌐ Σá⌐½ ¡á φ¬αá¡ }
  1126.        while not Eof(f) do
  1127.        begin
  1128.          Read(f, ch);
  1129.          Write(ch);
  1130.        end;
  1131.        end.
  1132.  
  1133. ------------------------------------------------------------
  1134.  Åα«µÑñπαá SetTextJustify                      î«ñπ½∞ Graph
  1135. ------------------------------------------------------------
  1136.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ  º¡áτÑ¡¿∩  óδαáó¡¿óá¡¿∩  ΓѬßΓá,
  1137. ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ »α«µÑñπαἿ OutText ¿ OutTextXY.
  1138.      Ä»¿ßá¡¿Ñ: SetTextJustify(ú«α¿º, óÑαΓ : word)
  1139.      Åα¿¼Ñτá¡¿∩: Å«ß½Ñ »α«µÑñπαδ SetTextJustify óδó«ñ
  1140.      ΓѬßΓá íπñÑΓ óδαáó¡¿óáΓ∞ß∩ »« ΓѬπΘѼπ π¬áºáΓÑ½ε ºáñá¡-
  1141. ¡δ¼ ß»«ß«í«¼. Åα¿ ¿ß»«½∞º«óá¡¿¿ ñóπσ ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó
  1142.  
  1143.            SetTextJustify(CenterText, CenterText);
  1144.            OutTextXY(100, 100, 'ABC');
  1145.  
  1146. ó ßÑαÑñ¿¡Ñ Γ«τ¬¿ ß ¬««αñ¿¡áΓἿ (100,100) »«∩ó¿Γß∩ íπ¬óá  é.
  1147. ôßΓá¡«ó½Ñ¡¡δÑ »« π¼«½τá¡¿ε »áαá¼ÑΓαδ óδαáó¡¿óá¡¿∩ ¼«ª¡« ó«ß-
  1148. ßΓá¡«ó¿Γ∞ ß »«¼«Θ∞ε ó맮óá SetTextJustify(LeftText,TopText).
  1149. àß½¿  »α«µÑñπαÑ SetTextJustify »ÑαÑñáεΓß∩ ¡Ññ«»πßΓ¿¼δÑ »áαá-
  1150. ¼ÑΓαδ, Σπ¡¬µ¿∩ GraphResult  íπñÑΓ  ó«ºóαáΘáΓ∞  º¡áτÑ¡¿Ñ  -11
  1151. (grError), á ΓѬπΘ¿Ñ »áαá¼ÑΓαδ óδαáó¡¿óá¡¿∩ ΓѬßΓá «ßΓá¡πΓß∩
  1152. ¡Ñ¿º¼Ñ¡Ñ¡¡δ¼¿.
  1153.      Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  1154.  
  1155.        const
  1156.          { ú«α¿º«¡Γá½∞¡«Ñ óδαáó¡¿óá¡¿Ñ }
  1157.          LeftText    = 0;   { óδα«ó¡∩Γ∞ ó½Ñó« }
  1158.          CenterText  = 1;   { µÑ¡Γα¿α«óáΓ∞ }
  1159.          RightText   = 2;   { óδα«ó¡∩Γ∞ ó»αáó« }
  1160.          { óÑαΓ¿¬á½∞¡«Ñ óδαáó¡¿óá¡¿Ñ }
  1161.          BottomText  = 0;   { »ÑαѼÑßΓ¿Γ∞ ó¡¿º }
  1162.          CenterText  = 1;   { µÑ¡Γα¿α«óáΓ∞ }
  1163.          TopText     = 2;   { »ÑαѼÑßΓ¿Γ∞ óóÑασ }
  1164.  
  1165.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1166.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐
  1167.      αѪ¿¼.
  1168.      Åα«τÑÑ: æ¼. ΓᬪѠ »α«µÑñπαδ  SetLineStyle,  OutTextXY,
  1169. GetTextSettings,  OutText,  TextHeight,  TextWidth, SetUser-
  1170. CharSize, GraphResult.
  1171.      Åα¿¼Ñα:
  1172.  
  1173.         uses Graph;
  1174.         var
  1175.           Gd, Gm : integer;
  1176.         begin
  1177.           Gd := Detect;
  1178.           InitGraph(Gd, Gm, '');
  1179.           if GraphResult <> grOk then
  1180.              Halt(1);
  1181.        { óδαáó¡¿óá¡¿Ñ ΓѬßΓá «Γ¡«ß¿Γѽ∞¡« µÑ¡Γαá φ¬αá¡á }
  1182.        SetTextJustify(CenterText, CenterText);
  1183.        OutTextXY(Succ(GetMaxX) div 2,
  1184.                  Succ(GetMaxY) div 2,
  1185.                  'ïÑú¬« µÑ¡Γα¿απÑΓß∩');
  1186.          öªúÑ¡»;
  1187.          à¡αΣªëπúß⌐;
  1188.         ª»Ñ.
  1189.  
  1190. ------------------------------------------------------------
  1191.  Åα«µÑñπαá SetTextStyle                        î«ñπ½∞ Graph
  1192. ------------------------------------------------------------
  1193.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐ Φα¿ΣΓ, Γ¿» ¿ ¬«φΣΣ¿µ¿Ñ¡Γ
  1194. αẼÑαá ß¿¼ó«½á.
  1195.      Ä»¿ßá¡¿Ñ:  SetTextStyle(Φα¿ΣΓ  :  word;  ¡á»αáó½Ñ¡¿Ñ  :
  1196. word; αẼ_ß¿¼ó«½á : CharSizeType)
  1197.      Åα¿¼Ñτá¡¿∩: Åα«µÑñπαá ó½¿∩ÑΓ ¡á óÑß∞  ΓѬßΓ«óδ⌐  óδó«ñ,
  1198. óδ»«½¡∩Ѽδ⌐ »α«µÑñπαἿ OutText ¿ OutTextXY. î«ª¡« ¿ß»«½∞º«-
  1199. óáΓ∞ «ñ¿¡ Φα¿ΣΓ ß ñó«¿τ¡δ¼ «íαẫ¼ 8σ8 ¿ ¡Ñ߬«½∞¬«  "ΦΓα¿σ«-
  1200. óδσ" Φα¿ΣΓ«ó. Å«ññÑনóáÑΓß∩ ¡«α¼á½∞¡«Ñ (ß½Ñóá ¡á»αáó«) αáß-
  1201. »«½«ªÑ¡¿Ñ Φα¿ΣΓá ¿ óÑαΓ¿¬á½∞¡«Ñ (αáºóÑα¡πΓ«Ñ ¡á 90  úαáñπß«ó
  1202. «Γ¡«ß¿Γѽ∞¡«  ¡«α¼á½∞¡«ú«  αáß»«½«ªÑ¡¿∩),  »α¿ ¬«Γ«α«¼ ΓѬßΓ
  1203. ¡áτ¿¡áÑΓß∩ ß ¡¿ª¡Ñ⌐ úαá¡¿µδ  φ¬αá¡á  ¿  »α«ñ«½ªáÑΓß∩  óóÑασ.
  1204. ÉẼÑα  ¬áªñ«ú«  ß¿¼ó«½á ¼«ªÑΓ πóѽ¿τ¿óáΓ∞ß∩ ¡á ¬«φΣΣ¿µ¿Ñ¡Γ,
  1205. ºáñáóáѼδ⌐ »áαá¼ÑΓα«¼ "αẼ_ß¿¼ó«½á". ç¡áτÑ¡¿Ñ αẼÑαá  ß¿¼-
  1206. ó«½á,  αáó¡«Ñ  Ññ¿¡¿µÑ,  »α¿ó«ñ¿Γ  ¬ óδó«ñπ ñó«¿τ¡«ú« «íαáºá
  1207. Φα¿ΣΓá 8σ8 ó »α∩¼«πú«½∞¡πε «í½áßΓ∞  φ¬αá¡á,  ß«ñÑαªáΘπε  8σ8
  1208. φ½Ñ¼Ñ¡Γ«ó  ¿º«íαáªÑ¡¿∩,  »áαá¼ÑΓα  "αẼ_ß¿¼ó«½á",  αáó¡δ⌐ 2
  1209. »α¿óÑñÑΓ ¬ óδó«ñπ ¡á φ¬αá¡ ñó«¿τ¡«ú«  «íαáºá  Φα¿ΣΓá  8σ8  ó
  1210. »α∩¼πú«½∞¡πε  «í½áßΓ∞ φ½Ñ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩ αẼÑα«¼ 16σ16 ¿
  1211. Γ. ñ. (󻽫Γ∞ ñ« ñÑß∩Γ¿¬αáΓ¡«ú« πóѽ¿τÑ¡¿∩ ¡«α¼á½∞¡«ú«  αáº-
  1212. ¼Ñαá). ä½∩ «»αÑñѽѡ¿∩ ñÑ⌐ßΓó¿Γѽ∞¡δσ αẼÑα«ó Φα¿ΣΓá óßÑúñá
  1213. ¿ß»«½∞ºπ⌐ΓÑ »α«µÑñπαδ TextHeight ¿ TextWidth.
  1214.      ì«α¼á½∞¡δ¼¿ º¡áτÑ¡¿∩¼¿ αẼÑαá ñ½∩  Φα¿ΣΓá  ∩ó½∩εΓß∩  1
  1215. ñ½∩ »α¿¡∩Γ«ú« »« π¼«½τá¡¿ε Φα¿ΣΓá ¿ 4 ñ½∩ "ΦΓα¿σ«ó«ú«" Φα¿Σ-
  1216. Γá. ¥Γ¿ º¡áτÑ¡¿∩ ¼«ª¡« »ÑαÑñáóáΓ∞ »α«µÑñπαÑ SetTextStyle   ó
  1217. »áαá¼ÑΓαá "αẼ_ß¿¼ó«½á". ä½∩ ¡áßΓα«⌐¬¿ αẼÑαá "ΦΓα¿σ«ó«ú«"
  1218. ΓѬßΓ«ó«ú« Φα¿ΣΓá ¼«ª¡« ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ SetUserFont.
  1219.      Äíδτ¡« "ΦΓα¿σ«óδÑ" Φα¿ΣΓδ  »α¿  «íαáΘÑ¡¿¿  ¬  »α«µÑñπαÑ
  1220. SetTextStyle  "ΦΓα¿σ«óδÑ" Φα¿ΣΓδ ºáúαπªáεΓß∩ ß ñ¿ß¬á ó ñ¿¡á-
  1221. ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞ »á¼∩Γ¿. Äñ¡á¬«, óδ ßἿ ¼«ªÑ-
  1222. ΓÑ  ºáúαπº¿Γ∞  Φα¿ΣΓδ  ¿½¿ ß¬«¼»«¡«óáΓ∞ ¿σ ¡Ñ»«ßαÑñßΓóÑ¡¡« ß
  1223. óáΦ¿¼ Σá⌐½«¼ .EXE. é φΓ«¼ ß½πτáÑ ñ½∩ αÑú¿ßΓαᵿ¿ Φα¿ΣΓá  ¼«-
  1224. ñπ½Ñ¼ Graph ¿ß»«½∞ºπ⌐ΓÑ »α«µÑñπαπ RegisterBGIfont.
  1225.      è«úñá "ΦΓα¿σ«óδÑ" Φα¿ΣΓδ σαá¡∩Γß∩ ¡á ñ¿ß¬Ñ, »α¿ »«»δΓ¬Ñ
  1226. ¿σ  ºáúαπº¬¿  ¼«úπΓ  »α«¿ßσ«ñ¿Γ∞  «Φ¿í¬¿. Åα¿ ¡á½¿τ¿¿ «Φ¿í«¬
  1227. Σπ¡¬µ¿∩ GraphResult ó«ºóαáΘáÑΓ «ñ¡« ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
  1228.  
  1229.      -8 - Σá⌐½ ¡Ñ ¡á⌐ñÑ¡;
  1230.      -9 - ¡Ñ σóáΓáÑΓ »á¼∩Γ¿ ñ½∩ ºáúαπº¬¿ óδíαá¡¡«ú« Φα¿ΣΓá;
  1231.      -11 - «Φ¿í¬¿ úαáΣ¿¬¿;
  1232.      -12 - úαáΣ¿τÑ߬á∩ «Φ¿í¬á óó«ñá-óδó«ñá;
  1233. error in text ..................
  1234. óñó«Ñ óδΦÑ, ¿ß»«½∞ºπ⌐ΓÑ ñ½∩ MultX º¡áτÑ¡¿Ñ 2, á DivX ºáñá⌐ΓÑ
  1235. αáó¡δ¼ 1 (2 div 1 = 2).
  1236.      Å«ß½Ñ ó맮óá »α«µÑñπαδ SetUserCharSize ñ½∩ Γ«ú«,  τΓ«íδ
  1237. Φα¿ΣΓ »«½πτ¿½ ¡«óδ⌐ αẼÑα, óá¼ ¡Ñ ¡πª¡« ßαáºπ óδºδóáΓ∞ »α«-
  1238. µÑñπαπ   SetTextStyle.    Åα¿    «íαáΘÑ¡¿¿    ¬    »α«µÑñπαÑ
  1239. SetUserCharSize  ñ½∩ ΓѬπΘÑú« ß¿¼ó«½á πßΓá¡áó½¿óáÑΓß∩ ºáñá¡-
  1240. ¡δ⌐ αẼÑα.
  1241.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1242.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1243.      Åα¿¼Ñα: é ñá¡¡«¼ »α¿¼ÑαÑ »«¬áºá¡«, ¬á¬  ¼«ª¡«  ¿º¼Ñ¡¿Γ∞
  1244. óδß«Γπ ¿ Φ¿α¿¡π Φα¿ΣΓá.
  1245.  
  1246.         uses Graph;
  1247.         var
  1248.           Gd, Gm : integer;
  1249.         begin
  1250.           Gd := Detect;
  1251.           InitGraph(Gd, Gm, '');
  1252.           if GraphResult <> grOk then
  1253.              Halt(1);
  1254.          SetTextStyle(TriplexFont, HorizDir, 4);
  1255.          OutText(ì«α¼á½∞¡δ⌐ αẼÑα');
  1256.          SetUserCharSize(1, 3, 1, 1);
  1257.          OutText(ô¼Ñ¡∞ΦÑ¡¡δ⌐ »« óδß«ΓÑ αẼÑα');
  1258.          SetUserCharSize(3, 1, 1, 1);
  1259.          OutText(ÿ¿α«¬¿⌐ Φα¿ΣΓ');
  1260.        Readln;
  1261.        CloseGraph;
  1262.        end.
  1263.  
  1264. ------------------------------------------------------------
  1265.  Åα«µÑñπαá SetVerify                             î«ñπ½∞ Dos
  1266. ------------------------------------------------------------
  1267.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ ó äÄæ ß«ßΓ«∩¡¿Ñ Σ½áúá »α«óÑન.
  1268.      Ä»¿ßá¡¿Ñ: SetVerify(Verify : boolean)
  1269.      Åα¿¼Ñτá¡¿∩: Åα«µÑñπαá SetVerify πßΓá¡áó½¿óáÑΓ ó  «»Ñαá-
  1270. µ¿«¡¡«⌐  ß¿ßΓѼѠ äÄæ ß«ßΓ«∩¡¿Ñ Σ½áúá »α«óÑન. é ßíα«ΦÑ¡¡«¼
  1271. ß«ßΓ«∩¡¿¿ (False) »α«óÑα¬á «»Ñαᵿ⌐ ºá»¿ß¿ ¡á ñ¿ß¬ ¡Ñ óδ»«½-
  1272. ¡∩ÑΓß∩. é πßΓá¡«ó½Ñ¡¡«¼ ß«ßΓ«∩¡¿¿ Σ½áúá (True) »α¿ «»Ñαᵿ∩σ
  1273. ºá»¿ß¿ ¡á ñ¿ß¬ óδ»«½¡∩ÑΓß∩ »«óÑન  »αáó¿½∞¡«ßΓ¿  óδ»«½¡Ñ¡¿∩
  1274. «»Ñαᵿ¿.
  1275.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ GetVerify.
  1276.  
  1277. ------------------------------------------------------------
  1278.  Åα«µÑñπαá SetVievPort                         î«ñπ½∞ Graph
  1279. ------------------------------------------------------------
  1280.            öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ  ñ½∩  úαáΣ¿τÑ߬«ú«  óδó«ñá
  1281. ΓѬπΘπε «í½áßΓ∞ »α«ß¼«Γαá ¿½¿ «¬¡«.
  1282.            Ä»¿ßá¡¿Ñ: SetViewPort(σ1, π1, σ2, π2 : word;
  1283.            Åα¿¼Ñτá¡¿∩: Æ«τ¬á (x1,y1)  ºáñáÑΓ  óÑασ¡¿⌐  ½Ñóδ⌐
  1284. πú«½ «í½áßΓ¿ »α«ß¼«Γαá, á Γ«τ¬á ß ¬««αñ¿¡áΓἿ (x2,y2)
  1285. «»αÑñѽ∩ÑΓ ¡¿ª¡¿⌐ »αáóδ⌐ πú«½ (0 <= y1 < x2 ¿ 0 <=  y1
  1286. < y2).  ïÑóδ⌐  óÑασ¡¿⌐  πú«½  φ¬αá¡á  ºáñáÑΓß∩  ¬««αñ¿¡áΓἿ
  1287. (0,0).
  1288.         üπ½Ñó߬á∩ »ÑαѼѡ¡á∩ æliα «»αÑñѽ∩ÑΓ íπñÑΓ ½¿  ¿º«í-
  1289. αáªÑ¡¿Ñ «ΓßѬáΓ∞ß∩  ΓѬπΘ¿¼¿  úαá¡¿µá¼¿  «í½áßΓ¿  »α«ß¼«Γαá.
  1290. Åα«µÑñπαá SetVievPort(0,0,GetMaxX,GetMaxY,True)  óßÑúñá  ºá-
  1291. ñáÑΓ ó ¬áτÑßΓóÑ «í½áßΓ¿ »α«ß¼«Γαá óßÑ »«½Ñ úαáΣ¿τÑ߬«ú«  φ¬-
  1292. αá¡á. Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  1293.  
  1294.            const
  1295.            ClipOn := true;
  1296.            ClipOff := false;
  1297.  
  1298.      éßÑ úαáΣ¿τÑ߬¿Ñ ¬«¼á¡ñδ (¡á»α¿¼Ñα, GetX, ÄutÆÑσt,  Rec-
  1299. tangle,  î«vÑÆ« ¿ Γ. ñ.) ºáó¿ß∩Γ «Γ ΓѬπΘÑ⌐ «í½áßΓ¿ »α«ß¼«Γ-
  1300. αá. é ¬áτÑßΓóÑ »α¿¼Ñαá ºá¼ÑΓ¿¼, τΓ« »α«µÑñπαá î«vÑÆ« »ÑαѼÑ-
  1301. ΘáÑΓ ΓѬπΘ¿⌐ π¬áºáΓѽ∞ ó Γ«τ¬π (5,5) ó¡πΓα¿ «í½áßΓ¿ »α«ß¼«Γ-
  1302. αá (áíß«½εΓ¡δ¼¿ ¬««αñ¿¡áΓἿ ñá¡¡«⌐ Γ«τ¬¿ í뫨 íδ ¬««αñ¿¡áΓδ
  1303. (15,25)).
  1304.  
  1305.        (0,0)                           (GetMaxX,0)
  1306.          -------------------------------------
  1307.          !                                   !
  1308.          !                                   !
  1309.          !           ---------               !
  1310.          !           !       !               !
  1311.          !           !   .   !               !
  1312.          !           !       !               !
  1313.          !           ---------               !
  1314.          !                                   !
  1315.          !                                   !
  1316.          -------------------------------------
  1317.        (0,GetMaxY)                   (GetMaxX,GetMaxY)
  1318.  
  1319.      àß½¿ íπ½Ñó߬á∩ »ÑαѼѡ¡á∩ æliα πßΓá¡«ó½Ñ¡á  ó  º¡áτÑ¡¿Ñ
  1320. ÆruÑ,  Γ«, ¬«úñá óδ»«½¡∩ÑΓß∩ «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ SetViewP-
  1321. ort, óßÑ α¿ßπ¡¬¿ íπñπΓ «íαѺáΓ∞ß∩ ¡á úαá¡¿µáσ ΓѬπΘÑ⌐ «í½áß-
  1322. Γ¿  »α«ß¼«Γαá.  çá¼ÑΓ¿¼,  τΓ« "ΓѬπΘ¿⌐ π¬áºáΓѽ∞" ¡¿¬«úñá ¡Ñ
  1323. «ΓßѬáÑΓß∩. é ß½ÑñπεΘѼ »α¿¼ÑαÑ »α∩¼á∩ ½¿¡¿∩ ¡Ñ íπñÑΓ  ¡áα¿-
  1324. ß«óá¡á  »«½¡«ßΓ∞ε,  »«ß¬«½∞¬π  «¡á íπñÑΓ «íαѺá¡á ¡á úαá¡¿µÑ
  1325. «í½áßΓ¿ »α«ß¼«Γαá:
  1326.  
  1327.            SetWiewPort(10, 10, 20, 20, ClipOn);
  1328.            Line(0, 5, 15, 5);
  1329.  
  1330.      àß½¿ íδ ¡Ñ óδ»«½¡∩½«ß∞ «ΓßÑτÑ¡¿Ñ, Γ« »α∩¼á∩ ñ«½ª¡á íδ½á
  1331. íδ  ¡áτ¿¡áΓ∞ß∩  ó Γ«τ¬Ñ ß áíß«½εΓ¡δ¼¿ ¬««αñ¿¡áΓἿ (10,15) ¿
  1332. ºá¬á¡τ¿óáΓ∞ß∩ ó Γ«τ¬Ñ ß  áíß«½εΓ¡δ¼¿  ¬««αñ¿¡áΓἿ  (25,15).
  1333. ì«,  »«ß¬«½∞¬π  óδ»«½¡∩½«ß∞ «ΓßÑτÑ¡¿Ñ, Γ« ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿
  1334. »α∩¼á∩ íπñÑΓ óδτÑατ¿óáΓ∞ß∩, ¡áτ¿¡á∩ ß  Γ«τ¬¿  ß  áíß«½εΓ¡δ¼¿
  1335. ¬««αñ¿¡áΓἿ (10,15), ¿ ºá¬á¡τ¿óáΓß∩ ó Γ«τ¬Ñ (20,15).
  1336.      Åα«µÑñπαδ InitGraph, ClearDevice ¿ SetGraphMode ßíαáßδ-
  1337. óáεΓ «»αÑñѽѡ¿Ñ ΓѬπΘÑ⌐ «í½áßΓ¿ »α«ß¼«Γαá ¿ πßΓá¡áó½¿óáεΓ ó
  1338. ¬áτÑßΓóÑ «í½áßΓ¿ »α«ß¼«Γαá óÑß∞ φ¬αá¡.  ÆÑ¬πΘÑÑ  «»αÑñѽѡ¿Ñ
  1339. «í½áßΓ¿  »α«ß¼«Γαá  ¼«ª¡«  »«½πτ¿Γ∞ ß »«¼«Θ∞ε »α«µÑñπαδ Get-
  1340. ViewSettings, ¬«Γ«αá∩ ó«ß»α¿¡¿¼áÑΓ »áαá¼ÑΓαδ ß½ÑñπεΘÑú« ú½«-
  1341. íá½∞¡«ú« Γ¿»á:
  1342.  
  1343.        type
  1344.          ViewPortType = record
  1345.                           x1, y1, x2, y2 : word;
  1346.                           Clip           : boolean;
  1347.                         end;
  1348.  
  1349.      Åα«µÑñπαá SetViewPort »ÑαѼÑΘáÑΓ  ΓѬπΘ¿⌐  π¬áºáΓѽ∞  ó
  1350. Γ«τ¬π ß ¬««αñ¿¡áΓἿ (0,0).
  1351.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1352.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1353.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ ClearViewPort,  GetViewSet-
  1354. tings, GraphResult.
  1355.      Åα¿¼Ñα:
  1356.  
  1357.          uses Graph;
  1358.         var
  1359.           Gd, Gm : integer;
  1360.         begin
  1361.           Gd := Detect;
  1362.           InitGraph(Gd, Gm, '');
  1363.           if GraphResult <> grOk then
  1364.              Halt(1);
  1365.           if (gd = HercMono)
  1366.               or (gd = EGA or (Gd = EGA64) or (Gd = VGA)
  1367.        then
  1368.         begin
  1369.         SetVisualPage(0);
  1370.         SetActivePAge(1);
  1371.         Rectangle(10, 20, 30, 40);
  1372.         SetVisualPage(1);
  1373.         end;
  1374.         else
  1375.          OutText('æΓαá¡¿τ¡δ⌐ αѪ¿¼ ¡Ñ »«ññÑনóáÑΓß∩');
  1376.         Readln;
  1377.         CloseGraph;
  1378.         end.
  1379.  
  1380.            Åα¿¼Ñα 2:
  1381.  
  1382.         const
  1383.         vp1 : ViewPortType =
  1384.           (x1 : 10; y1 : 80; x2 : 100; y2 : 150; Clip :
  1385.        ClipOn);
  1386.         vp2 : ViewPortType =
  1387.           (x1 : 110; y1 : 0; x2 : 150; x2 : 70; Clip :
  1388.        ClipOn);
  1389.         var
  1390.           GraphDriver, GraphMode : integer;
  1391.         begin
  1392.           GraphDriver := Detect;
  1393.           InitGparh(GraphDrivet,GraphMode,'');
  1394.           if GraphRasult <> grOk then
  1395.              Halt(1);
  1396.           with vp1 do
  1397.           begin
  1398.  
  1399.             Rectangle(Succ(x1), Succ(y1),  { ¡áα¿ß«óáΓ∞
  1400.        ¬«¡Γπα
  1401.                                              «í½áßΓ¿
  1402.        »α«ß¼«Γαá }
  1403.                       Pred(x2), Pred(y2));
  1404.             SetViewPort(x1, y1, x2, y2, ClipOn);
  1405.             OutText('Äí½áßΓ∞ »α«ß¼«Γαá');
  1406.           end;
  1407.           { »«½¡δ⌐ φ¬αá¡ }
  1408.           SetViewPort(0, 0, GetMaxX, GetMaxY, ClipOn);
  1409.           with vp2 do
  1410.           begin
  1411.           { ¡áα¿ß«óáΓ∞ ¬«¡Γπα óΓ«α«⌐ «í½áßΓ¿ »α«ß¼«Γαá }
  1412.             Rectangle(Succ(x1), Succ(y1),  { ¡áα¿ß«óáΓ∞
  1413.                                              ¬«¡Γπα
  1414.                                              «í½áßΓ¿
  1415.                                              »α«ß¼«Γαá }
  1416.                       Pred(x2), Pred(y2));
  1417.             SetViewPort(x1, y1, x2, y2, ClipOn);
  1418.             OutText('Äí½áßΓ∞ »α«ß¼«Γαá 2');
  1419.           end;
  1420.           Readln;
  1421.           CloseGraph;
  1422.         end.
  1423.  
  1424. ------------------------------------------------------------
  1425.  Åα«µÑñπαá SetVisualPage                       î«ñπ½∞ Graph
  1426. ------------------------------------------------------------
  1427.      öπ¡¬µ¿∩: çáñáÑΓ ¡«¼Ñα  «Γ«íαáªáѼ«⌐  úαáΣ¿τÑ߬«⌐  ßΓαá-
  1428. ¡¿µδ.
  1429.      Ä»¿ßá¡¿Ñ: SetVisualPage(ßΓαá¡¿µá : word)
  1430.      Åα¿¼Ñτá¡¿∩: æΓαá¡¿µá, «»αÑñѽ∩Ѽá∩ »áαá¼ÑΓα«¼  "ßΓαá¡¿-
  1431. µá", ßΓá¡«ó¿Γß∩ «Γ«íαáªáѼ«⌐ úαáΣ¿τÑ߬«⌐ ßΓαá¡¿µÑ⌐.
  1432.      êß»«½∞º«óá¡¿Ñ ¡Ñ߬«½∞¬¿σ úαáΣ¿τÑ߬¿σ ßΓαá¡¿µ  »«ññÑন-
  1433. óáÑΓß∩  Γ«½∞¬«  úαáΣ¿τÑ߬¿¼¿ áñá»ΓÑαἿ àGÇ, VGÇ ¿ ìÑrcules.
  1434. Åα¿ ¿ß»«½∞º«óá¡¿¿ ¡Ñ߬«½∞¬¿σ úαáΣ¿τÑ߬¿σ  ßΓαá¡¿µ  »α«úαá¼¼á
  1435. ¼«ªÑΓ óδó«ñ¿Γ∞ úαáΣ¿τÑ߬πε ¿¡Σ«α¼áµ¿ε ó ßΓαá¡¿µπ, ¡Ñ óδó«ñ¿-
  1436. ¼πε ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ ¡á φ¬αá¡, á ºáΓѼ íδßΓα« óδóÑßΓ¿ ¡á  φ¬-
  1437. αá¡  φëàñó«¿τ¡δ⌐ «íαáº, ß¼Ñ¡¿ó «Γ«íαáªáѼπε ßΓαá¡¿µπ ß »«-
  1438. ¼«Θ∞ε »α«µÑñπαδ SetVisualPage. ¥Γ«Γ ¼ÑΓ«ñ «ß«íÑ¡¡« »«½ÑºÑ¡ ó
  1439. ¼π½∞Γ¿»½¿¬áµ¿¿.
  1440.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1441.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ SetActivePage.
  1442.      Åα¿¼Ñα:
  1443.  
  1444.          uses Graph;
  1445.         var
  1446.           Gd, Gm : integer;
  1447.         begin
  1448.           Gd := Detect;
  1449.           InitGraph(Gd, Gm, '');
  1450.           if GraphResult <> grOk then
  1451.              Halt(1);
  1452.           if (gd = HercMono)
  1453.               or (gd = EGA or (Gd = EGA64) or (Gd = VGA)
  1454.        then
  1455.         begin
  1456.         SetVisualPage(0);
  1457.         SetActivePAge(1);
  1458.         Rectangle(10, 20, 30, 40);
  1459.         SetVisualPage(1);
  1460.         end;
  1461.         else
  1462.          OutText('æΓαá¡¿τ¡δ⌐ αѪ¿¼ ¡Ñ »«ññÑনóáÑΓß∩');
  1463.         Readln;
  1464.         CloseGraph;
  1465.         end.
  1466.  
  1467. ------------------------------------------------------------
  1468.  Åα«µÑñπαá SetWriteMode                        î«ñπ½∞ Graph
  1469. ------------------------------------------------------------
  1470.      öπ¡¬µ¿∩: ôßΓá¡áó½¿óáÑΓ αѪ¿¼  ºá»¿ß¿  »α¿  óδτѬτ¿óá¡¿¿
  1471. ½¿¡¿¿.
  1472.  
  1473.      Ä»¿ßá¡¿Ñ: SetWriteMode(αѪ_ºá»¿ß¿ : integer)
  1474.      Åα¿¼Ñτá¡¿∩: Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓ᡽δ:
  1475.  
  1476.             const
  1477.               CopyPut  = 0;     { MOV }
  1478.               XORPut   = 1;     { XOR }
  1479.  
  1480.      èáªñá∩ ¬«¡ßΓá¡Γá ß««ΓóÑΓßΓóπÑΓ ñó«¿τ¡«⌐ «»Ñαᵿ¿  ¼Ñªñπ
  1481. ¬áªñδ¼  íá⌐Γ«¼  ßΓ᫬¿  ¿ ß««ΓóÑΓßΓóπεΘ¿¼ íá⌐Γ«¼ φ¬αá¡á. ä½∩
  1482. ¬«¡ßΓá¡Γδ CopyPut ¿ß»«½∞ºπÑΓß∩  ¿¡ßΓαπ¬µ¿∩  áßßѼí½Ñαá  MOV.
  1483. Åα¿  φΓ«¼ óδτÑατ¿óáѼá∩ ½¿¡¿∩ "ºáΓ¿αáÑΓ" Γ«, τΓ« í佫 ¡á φ¬-
  1484. αá¡Ñ. ä½∩ ¬«¡ßΓá¡Γδ XORPut ñ½∩ ¬«¼í¿¡¿α«óá¡¿∩ ½¿¡¿¿ ß  ¿º«í-
  1485. αáªÑ¡¿Ñ¼ ¡á φ¬αá¡Ñ ¿ß»«½∞ºπÑΓß∩ ¿¡ßΓαπ¬µ¿∩ XOR. äóÑ »«ß½Ññ«-
  1486. óáΓѽ∞¡δÑ «»Ñαᵿ¿ XOR »α¿óÑñπΓ ¬ ßΓ¿αá¡¿σ ½¿¡¿¿  ¿  ó«ßßΓá-
  1487. ¡«ó½Ñ¡¿ε ¿ßσ«ñ¡«ú« ¿º«íαáªÑ¡¿∩ ¡á φ¬αá¡Ñ.
  1488.  
  1489.            çá¼Ñτá¡¿Ñ: Åα«µÑñπαá SetWriteMode  ó½¿∩ÑΓ  Γ«½∞¬«
  1490.       ¡á  «íαáΘÑ¡¿Ñ  ¬ ß½ÑñπεΘ¿¼ »α«µÑñπαá¼: DrowPoly, Line,
  1491.       LineRel, LineTo ¿ Rectangle.
  1492.  
  1493.      Ç¡á½«ú¿τ¡á∩ »α«µÑñπαá ¿¼ÑÑΓß∩ ó óÑαß¿¿ 2.0 Æπαí«-æ¿.
  1494.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ PutImage ¿ SetLinkStyle.
  1495.      Åα¿¼Ñα:
  1496.  
  1497.          uses Graph;
  1498.         var
  1499.           Gd, Gm : integer;
  1500.                i : integer;
  1501.           x1, y1, dx, dy : integer;
  1502.           FillInfo : FillSettingsType;
  1503.         begin
  1504.           DirectVideo := false; { "ó䬽ετ¿Γ∞" ºá»¿ß∞ ¡á
  1505.                                    φ¬αá¡ }
  1506.           Randomize;
  1507.           Gd := Detect;
  1508.           InitGraph(Gd, Gm, '');
  1509.           if GraphResult <> grOk then
  1510.              Halt(1);
  1511.          { ºá»«½¡¿Γ∞ φ¬αá¡ ¿ß»«½∞ºπÑ¼δ¼ »« π¼«½τá¡¿ε
  1512.            «íαẵ«¼ }
  1513.          GetFillSettings(FillInfo); { »«½πτ¿Γ∞ ΓѬπΘ¿Ñ
  1514.                                       »áαá¼ÑΓαδ }
  1515.          SetFillStyle(WideDotFill, FillInfo.Color);
  1516.          Bar(0, 0, GetMaxX, GetMaxY);
  1517.          dx := GetMAxX div 4; { ºáñáΓ∞ αẼÑα¡«ßΓ∞
  1518.                                 »α∩¼«πú«½¿¡¿¬á }
  1519.          dy := GetMaxY div 4;
  1520.          SetLineStyle(SolidLn, 0, ThickWidth);
  1521.          SetWriteMode(XORPut);  { αѪ¿¼ XOR ñ½∩
  1522.                                   »α∩¼«πú«½∞¡¿¬á }
  1523.          repeat
  1524.            x1 := Random(GetMaxX - dx);
  1525.            y1 := Random(GetMaxY - dy); { ¡áα¿ß«óáΓ∞ Ñú« }
  1526.            Delay(0);   { ¬«α«Γ¬á∩ »áπºá }
  1527.            Rectangle(x1, y1, x1 + dx, y1 + dy) { ßΓÑαÑΓ∞
  1528.                                                  Ñú« }
  1529.          until KeyPressed;
  1530.          Readln;
  1531.          CloseGraph;
  1532.        end.
  1533.  
  1534. ------------------------------------------------------------
  1535.  öπ¡¬µ¿∩ Sin
  1536. ------------------------------------------------------------
  1537.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ß¿¡πß áαúπ¼Ñ¡Γá.
  1538.      Ä»¿ßá¡¿Ñ: Sin(x : real)
  1539.      Æ¿» αѺπ½∞ΓáΓá: éÑΘÑßΓóÑ¡¡δ⌐ (real).
  1540.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x ∩ó½∩ÑΓß∩ óδαáªÑ¡¿Ñ¼ óÑΘÑßΓóÑ¡¡«-
  1541. ú«  Γ¿»á. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ß¿¡πß x. ÅαÑñ»«½áúáÑΓß∩, τΓ« φΓ«
  1542. º¡áτÑ¡¿Ñ ºáñáÑΓ πú«½ ó αáñ¿á¡áσ.
  1543.      Åα¿¼Ñα:
  1544.  
  1545.        var
  1546.          r : real;
  1547.        begin
  1548.          π :Ç ò¬»(Ƭ);
  1549.        end.
  1550.  
  1551. ------------------------------------------------------------
  1552.  öπ¡¬µ¿∩ SizeOf
  1553. ------------------------------------------------------------
  1554.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ τ¿ß½« íá⌐Γ«ó,  ºá¡¿¼áѼδσ  áαúπ¼Ñ¡-
  1555. Γ«¼.
  1556.      Ä»¿ßá¡¿Ñ: SizeOf(x)
  1557.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  1558.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x ∩ó½∩ÑΓß∩ ßß佬«⌐  ¡á  »ÑαѼѡ¡πε
  1559. ¿½¿  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼  Γ¿»á.  äá¡¡á∩  Σπ¡µ¿∩ ó«ºóαáΘáÑΓ τ¿ß½«
  1560. íá⌐Γ«ó »á¼∩Γ¿, ºá¡¿¼áѼδσ x.
  1561.      Åα¿ »ÑαÑñáτÑ º¡áτÑ¡¿⌐ Σπ¡¬µ¿∩¼ FillChar,  î«vÑ,  GetîѼ
  1562. óßÑúñá ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε SizeOf:
  1563.  
  1564.            FillChar(s, SizeOf(s), 0);
  1565.            GetMem(p, SizeOf(RecordType));
  1566.  
  1567.       Åα¿¼Ñα:
  1568.  
  1569.         type
  1570.           CustRec = record
  1571.                       Name  : string[30];
  1572.                       Phone : string[14];
  1573.                     end;
  1574.           var
  1575.             p : ^CustRec;
  1576.           begin
  1577.             GetMem(p, SizeOf(CustRec));
  1578.           end.
  1579.  
  1580. ------------------------------------------------------------
  1581.  Åα«µÑñπαá Sound                                 î«ñπ½∞ ært
  1582. ------------------------------------------------------------
  1583.      öπ¡¬µ¿∩: é¬½ετáÑΓ ó¡πΓαÑ¡¡¿⌐ ñ¿¡á¼¿¬.
  1584.      Ä»¿ßá¡¿Ñ: Sound(úÑαµ : word)
  1585.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "úÑαµ" ºáñáÑΓ τáßΓ«Γπ úÑ¡Ñα¿απѼ«-
  1586. ú«  ß¿ú¡á½á  ó  úÑαµáσ. çóπ¬«ó«⌐ ß¿ú¡á½ íπñÑΓ ºóπτáΓ∞ ñ« ΓÑσ
  1587. »«α, »«¬á «¡ ¡Ñ íπñÑΓ ∩ó¡δ¼ «íαẫ¼  ó䬽ετÑ¡  «íαáΘÑ¡¿Ñ¼  ¬
  1588. »α«µÑñπαÑ NoSound.
  1589.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ NoSound.
  1590.      Åα¿¼Ñα:
  1591.  
  1592.        uses Crt;
  1593.        begin
  1594.          Sound(220);                              { ß¿ú¡á½ }
  1595.          Delay(200);                              { »áπºá }
  1596.          NoSound;                                 {
  1597.        ó䬽ετ¿Γ∞ }
  1598.  
  1599. ------------------------------------------------------------
  1600.  öπ¡¬µ¿∩ SPtr
  1601. ------------------------------------------------------------
  1602.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá SÉ.
  1603.      Ä»¿ßá¡¿Ñ: SPtr : word;
  1604.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  1605.      Åα¿¼Ñτá¡¿∩: ÉѺπ½∞ΓáΓ ñ½¿¡«⌐ ó ß½«ó« »αÑñßΓáó½∩ÑΓ ß«í«⌐
  1606. ß¼ÑΘÑ¡¿Ñ π¬áºáΓѽ∩ ßΓѬá ó¡πΓα¿ ßÑú¼Ñ¡Γá ßΓѬá.
  1607.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿ε Sseg.
  1608.  
  1609. ------------------------------------------------------------
  1610.  öπ¡¬µ¿∩ Sqr
  1611. ------------------------------------------------------------
  1612.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ¬óáñαáΓ áαúπ¼Ñ¡Γá.
  1613.      Ä»¿ßá¡¿Ñ: Sqr(x)
  1614.      Æ¿» αѺπ½∞ΓáΓá: æ«ó»áñáÑΓ ß Γ¿»«¼ »áαá¼ÑΓαá.
  1615.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ µÑ-
  1616. ½«ú«  ¿½¿ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á. ÉѺπ½∞ΓáΓ, ¿¼ÑεΘ¿⌐ Γ«Γ ªÑ Γ¿»,
  1617. τΓ« ¿ x, »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬óáñαáΓ x, Γ« ÑßΓ∞ x*x.
  1618.  
  1619. ------------------------------------------------------------
  1620.  öπ¡¬µ¿∩ Sqrt
  1621. ------------------------------------------------------------
  1622.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ áαúπ¼Ñ¡Γá.
  1623.  
  1624.      Ä»¿ßá¡¿Ñ: Sqrt(x : real)
  1625.      Æ¿» αѺπ½∞ΓáΓá: éÑΘÑßΓóÑ¡¡δ⌐ ( Ñá ).
  1626.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ óÑ-
  1627. ΘÑßΓóÑ¡¡«ú« Γ¿»á. ÉѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ x.
  1628.  
  1629. ------------------------------------------------------------
  1630.  öπ¡¬µ¿∩ SSeg
  1631. ------------------------------------------------------------
  1632.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá SS.
  1633.      Ä»¿ßá¡¿Ñ: SSeg : word
  1634.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  1635.      Åα¿¼Ñτá¡¿∩: ÉѺπ½∞ΓáΓ ñ½¿¡«⌐ ó ß½«ó« »αÑñßΓáó½∩ÑΓ ß«í«⌐
  1636. áñαÑß ßÑú¼Ñ¡Γá ñ½∩ ßÑú¼Ñ¡Γá ßΓѬá.
  1637.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Sptr, Cseg, Dseg.
  1638.  
  1639. ------------------------------------------------------------
  1640.  Åα«µÑñπαá Str
  1641. ------------------------------------------------------------
  1642.      öπ¡¬µ¿∩: ÅαÑ«íαáºπÑΓ τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ ó Ñú« ßΓ᫬«ó«Ñ
  1643. »αÑñßΓáó½Ñ¡¿Ñ.
  1644.      Ä»¿ßá¡¿Ñ: Str(σ [ : αẼÑα [ :  ñÑß∩Γ  ]  ],  var  s  :
  1645. string)
  1646.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x ∩ó½∩ÑΓß∩ óδαáªÑ¡¿Ñ¼  µÑ½«ú«  ¿½¿
  1647. óÑΘÑßΓóÑ¡¡«ú« Γ¿»á. Åáαá¼ÑΓαδ "αẼÑα" ¿ "ñÑß∩Γ" »αÑñßΓáó½∩-
  1648. εΓ ß«í«⌐ óδαáªÑ¡¿∩ µÑ½«ú« Γ¿»á. Åáαá¼ÑΓα s - ßΓ᫬«óá∩ »ÑαÑ-
  1649. ¼Ñ¡¡á∩.  äá¡¡á∩ Σπ¡¬µ¿∩ »αÑ«íαáºπÑΓ x ó Ñú« ßΓ᫬«ó«Ñ »αÑñß-
  1650. Γáó½Ñ¡¿Ñ ó ß««ΓóÑΓßΓó¿¿ ó »áαá¼ÑΓαἿ  Σ«α¼áΓ¿α«óá¡¿∩  "αáº-
  1651. ¼Ñα"  ¿  "ñÑß∩Γ".  çá  ¿ß¬½ετÑ¡¿Ñ¼  Γ«ú«, τΓ« αѺπ½∞Γ¿απεΘá∩
  1652. ßΓ᫬á ß«σαá¡∩ÑΓß∩ ó »áαá¼ÑΓαÑ s, ó¼ÑßΓ« Γ«ú«, τΓ«íδ ºá»¿ßδ-
  1653. óáΓ∞ß∩ ó ΓѬßΓ«óδ⌐ Σá⌐½, αѺπ½∞ΓáΓ óδ»«½Ñ¡¿∩ »α«µÑñπαδ íπñÑΓ
  1654. ó Γ«τ¡«ßΓ¿ Γ«Γ ªÑ ßá¼δ⌐, τΓ« ¿ »α¿ «íαáΘÑ¡¿¿  ¬  ßΓá¡ñáαΓ¡«⌐
  1655. »α«µÑñπαÑ Write.
  1656.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ Val, Write.
  1657.      Åα¿¼Ñα:
  1658.  
  1659.        function IntToStr(i : longint) : string;
  1660.        { »αÑ«íαáºπÑΓ ½εí«Ñ º¡áτÑ¡¿Ñ µÑ½«ú« Γ¿»á ó ßΓ᫬π }
  1661.        var
  1662.          s : string[1];
  1663.        begin
  1664.          Str(i,s);
  1665.          IntToStr := s;
  1666.        end;
  1667.        begin
  1668.          Writeln(IntToSt(-5322));
  1669.        end.
  1670.  
  1671. ------------------------------------------------------------
  1672.  öπ¡¬µ¿∩ Succ
  1673. ------------------------------------------------------------
  1674.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ß½ÑñπεΘÑÑ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá.
  1675.      Ä»¿ßá¡¿Ñ: Succ(x)
  1676.      Æ¿» αѺπ½∞ΓáΓá: æ«ó»áñáÑΓ ß Γ¿»«¼ »áαá¼ÑΓαá.
  1677.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x - óδαáªÑ¡¿Ñ »ÑαÑτ¿ß½¿¼«ú«  Γ¿»á.
  1678. ÉѺπ½∞ΓáΓ,  ¿¼ÑεΘ¿⌐  Γ«Γ ªÑ Γ¿», τΓ« ¿ x, ∩ó½∩ÑΓß∩ ß½ÑñπεΘ¿¼
  1679. φ½Ñ¼Ñ¡Γ«¼ x.
  1680.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Pred, Inc.
  1681.  
  1682. ------------------------------------------------------------
  1683.   öπ¡¬µ¿∩ Swap
  1684. ------------------------------------------------------------
  1685.      öπ¡¬µ¿∩: ÅÑαÑßΓáó½∩ÑΓ ¼ÑßΓἿ ßΓáαΦ¿⌐ ¿  ¼½áñΦ¿⌐  íá⌐Γδ
  1686. áαúπ¼Ñ¡Γá.
  1687.      Ä»¿ßá¡¿Ñ: Swap(x)
  1688.      Æ¿» αѺπ½∞ΓáΓá: æ«ó»áñáÑΓ ß Γ¿»«¼ »áαá¼ÑΓαá.
  1689.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x - óδαáªÑ¡¿Ñ µÑ½«ú« Γ¿»á ¿½¿ ß½«-
  1690. ó«.
  1691.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Hi, Lo.
  1692.      Åα¿¼Ñα:
  1693.  
  1694.        var
  1695.          x : word;
  1696.        begin
  1697.         x := Swap($1234);                        { $3412 }
  1698.        end.
  1699.  
  1700. ------------------------------------------------------------
  1701.  Åα«µÑñπαá SwapVectors                           î«ñπ½∞ Dos
  1702. ------------------------------------------------------------
  1703.      öπ¡¬µ¿∩: îÑ¡∩ÑΓ ¼ÑßΓἿ ó¡πΓαÑ¡¡¿Ñ óÑ¬Γ«αδ.
  1704.      Ä»¿ßá¡¿Ñ: SwapVectors
  1705.      Åα¿¼Ñτá¡¿∩: îÑ¡∩ÑΓ ¼ÑßΓἿ ß«ñÑন¼«Ñ π¬áºáΓѽÑ⌐  Save-
  1706. IntXX ó ¼«ñπ½Ñ System ¿ ΓѬπΘÑÑ ß«ñÑন¼«Ñ óÑ¬Γ«α«ó »αÑαδóá-
  1707. ¡¿⌐. Åα«µÑñπαá SwapVectors «íδτ¡« óδºδóáÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
  1708. »ÑαÑñ  ¿  ¡Ñ»«ßαÑñßΓóÑ¡¡«  »«ß½Ñ  ó맮óá Exec. Æá¬¿¼ «íαẫ¼
  1709. «íÑß»Ñτ¿óáÑΓß∩, τΓ« óδ»«½¡∩Ѽδ⌐ »« ó맮óπ  Exec  »α«µÑßß  ¡Ñ
  1710. ¿ß»«½∞ºπÑΓ  ¡¿¬á¬¿σ  «íαáí«Γτ¿¬«ó  »αÑΓδóá¡¿⌐, πßΓá¡«ó½Ñ¡¡δσ
  1711. ΓѬπΘ¿¼ »α«µÑßß«¼ ¿ ¡á«í«α«Γ.
  1712.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ àxec.
  1713.      Åα¿¼Ñα:
  1714.  
  1715.         {$M 8192,0,0}
  1716.         uses Dos;
  1717.         var
  1718.           Command: string[79];
  1719.         begin
  1720.           Write('éóÑñ¿ΓÑ ¬«¼á¡ñπ äÄæ:');
  1721.           Readln(Command);
  1722.           if Command <> '' then
  1723.              Command := '/C' + Command;
  1724.           Swapvectors;
  1725.           Exec(GetEnv('COMSPEC'), Command);
  1726.           SvapVectors;
  1727.           if DosError <> 0 then
  1728.            Writeln('諼á¡ñ¡δ⌐ Σá⌐½ COMMAND.COM óδ»«½¡¿Γ∞
  1729.                     ¡Ñ½∞º∩');
  1730.          end.
  1731.  
  1732. ------------------------------------------------------------
  1733.  Åα«µÑñπαá TextBackGroud                         î«ñπ½∞ ært
  1734. ------------------------------------------------------------
  1735.      öπ¡¬µ¿∩: éδí¿αáÑΓ Σ«¡«óδ⌐ µóÑΓ.
  1736.      Ä»¿ßá¡¿Ñ: TextBackGroud(µóÑΓ : byte)
  1737.  
  1738.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "µóÑΓ" »αÑñßΓáó½∩ÑΓ ß«í«⌐  óδαáªÑ-
  1739. ¡¿Ñ  µÑ½«ú« Γ¿»á ó ñ¿á»áº«¡Ñ 0...7, ß««ΓóÑΓßΓóπεΘÑÑ «ñ¡«⌐ ¿º
  1740. »Ñαóδσ ó«ß∞¼¿ ¬«¡ßΓá¡Γ µóÑΓ«ó:
  1741.  
  1742.       { è«¡ßΓá¡Γδ Σ«¡«ó«ú« ¿ «ß¡«ó¡«ú« µóÑΓá }
  1743.          Black          = 0;      { τÑα¡δ⌐ }
  1744.          Blue           = 1;      { ß¿¡¿⌐  }
  1745.          Green          = 2;      { ºÑ½Ñ¡δ⌐ }
  1746.          Cyan           = 3;      { í¿αóδ⌐ }
  1747.          Red            = 4;      { ¬αáß¡δ⌐ }
  1748.          Magenta        = 5;      { ¼á½¿¡«óδ⌐ }
  1749.          Brown          = 6;      { ¬«α¿τ¡Ñóδ⌐ }
  1750.          LightGray      = 7;      { ßóÑΓ½«-ßÑαδ⌐ }
  1751.  
  1752.      é ¼«ñπ½Ñ ært ¿¼ÑÑΓß∩ íá⌐Γ«óá∩ »ÑαѼѡ¡á∩ ÆÑσtÇttr,  ¬«-
  1753. Γ«αá∩  ¿ß»«½∞ºπÑΓß∩  ñ½∩  ß«σαá¡Ñ¡¿∩ ΓѬπΘÑú« ó¿ñÑ«áΓα¿íπΓá.
  1754. Åα«µÑñπαá ÆÑσtéackGround πßΓá¡áó½¿óáÑΓ í¿Γδ 4-6 φΓ«⌐ »ÑαѼÑ-
  1755. ¡«⌐  ó  ß««ΓóÑΓßΓó¿¿  ß  »áαá¼ÑΓα«¼ "µóÑΓ". ö«¡«óδ⌐ µóÑΓ ñ½∩
  1756. óßÑσ óδó«ñ¿¼δσ ñá½ÑÑ ß¿¼ó«½«ó íπñÑΓ ß««ΓóÑΓßΓó«óáΓ∞ ºáñá¡¡«-
  1757. ¼π µóÑΓπ.
  1758.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ TextColor, HighVideo, Norm-
  1759. Video, LowVideo.
  1760.  
  1761. ------------------------------------------------------------
  1762.  Åα«µÑñπαá TextColor                             î«ñπ½∞ ært
  1763. ------------------------------------------------------------
  1764.      öπ¡¬µ¿∩: éδí¿αáÑΓ µóÑΓ ß¿¼ó«½á.
  1765.      Ä»¿ßá¡¿Ñ: TextColor(µóÑΓ : byte)
  1766.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "µóÑΓ" »αÑñßΓáó½∩ÑΓ ß«í«⌐  óδαáªÑ-
  1767. ¡¿Ñ µÑ½«ú« Γ¿»á ó ñ¿á»áº«¡Ñ 0...15, ß««ΓóÑΓßΓóπεΘÑÑ «ñ¡«⌐ ¿º
  1768. ¬«¡ßΓá¡Γ µóÑΓ«ó, «»αÑñѽѡ¡δσ ó ¼«ñπ½Ñ ært:
  1769.  
  1770.       { è«¡ßΓá¡Γδ Σ«¡«ó«ú« ¿ «ß¡«ó¡«ú« µóÑΓá }
  1771.          Black          = 0;      { τÑα¡δ⌐ }
  1772.          Blue           = 1;      { ß¿¡¿⌐  }
  1773.          Green          = 2;      { ºÑ½Ñ¡δ⌐ }
  1774.          Cyan           = 3;      { í¿αóδ⌐ }
  1775.          Red            = 4;      { ¬αáß¡δ⌐ }
  1776.          Magenta        = 5;      { ¼á½¿¡«óδ⌐ }
  1777.          Brown          = 6;      { ¬«α¿τ¡Ñóδ⌐ }
  1778.          LightGray      = 7;      { ßóÑΓ½«-ßÑαδ⌐ }
  1779.          DarkGray       = 8;      { ΓѼ¡«-ßÑαδ⌐ }
  1780.          LightBlue      = 9;      { ßóÑΓ½«-ú«½πí«⌐ }
  1781.          LightGreen     = 10;     { ßóÑΓ½«-ºÑ½Ñ¡δ⌐ }
  1782.          LightCyan      = 11;     { ßóÑΓ½«-í¿αóδ⌐ }
  1783.          LightRed       = 12;     { ßóÑΓ½«-¬αáß¡δ⌐ }
  1784.          LightMagenta   = 13;     { ßóÑΓ½«-¼á½¿¡«óδ⌐ }
  1785.          Yellow         = 14;     { ªÑ½Γδ⌐ }
  1786.          White          = 15;     { íѽδ⌐ }
  1787.  
  1788.      é ¼«ñπ½Ñ ært ¿¼ÑÑΓß∩ íá⌐Γ«óá∩ »ÑαѼѡ¡á∩ ÆÑσtÇttr,  ¬«-
  1789. Γ«αá∩  ¿ß»«½∞ºπÑΓß∩  ñ½∩  ß«σαá¡Ñ¡¿∩ ΓѬπΘÑú« ó¿ñÑ«áΓα¿íπΓá.
  1790. Åα«µÑñπαá ÆÑσtéá߬Ground πßΓá¡áó½¿óáÑΓ í¿Γδ 0-3 φΓ«⌐ »ÑαѼÑ-
  1791. ¡«⌐ ó ß««ΓóÑΓßΓó¿¿ ß »áαá¼ÑΓα«¼ "µóÑΓ". àß½¿ »áαá¼ÑΓα "µóÑΓ"
  1792. »αÑóδΘáÑΓ º¡áτÑ¡¿Ñ 15, Γ« πßΓá¡áó½¿óáÑΓß∩ ΓᬪѠí¿Γ ¼Ñαµá¡¿∩
  1793. (í¿Γ 7), ó »α«Γ¿ó¡«¼ ß½πτáÑ «¡ «τ¿ΘáÑΓß∩.
  1794.      éδ ¼«ªÑΓÑ ºáñáΓ∞ ¼Ñαµá¡¿Ñ  ß¿¼ó«½«ó  »πΓѼ  »α¿íáó½Ñ¡¿∩
  1795. 128  ¬  º¡áτÑ¡¿ε  µóÑΓá.  ä½∩ φΓ«⌐ µÑ½¿ «»αÑñѽѡᠬ«¡ßΓá¡Γá
  1796. élin¬. öá¬Γ¿τÑ߬¿ αáñ¿ ß«ó¼ÑßΓ¿¼«ßΓ¿  ß  óÑαß¿Ñ⌐  3.0  ½εí«Ñ
  1797. º¡áτÑ¡¿Ñ  µóÑΓá,  »αÑóδΦáεΘÑÑ  15 óδºδóáÑΓ ¼Ñαµá¡¿Ñ ß¿¼ó«½á.
  1798. ûóÑΓ óßÑσ óδó«ñ¿¼δσ  ñá½ÑÑ  ß¿¼ó«½«ó  íπñÑΓ  ß««ΓóÑΓßΓó«óáΓ∞
  1799. π¬áºá¡¡«¼π µóÑΓπ.
  1800.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 ¬«¡ßΓá¡Γá élin¬ íδ½á αáó¡á 16.
  1801.      Åα«τÑÑ:  æ¼.  ΓᬪѠ »α«µÑñπαδ  TextBackGround,   High-
  1802. Video, NormVideo, LowVideo.
  1803.      Åα¿¼Ñα:
  1804.  
  1805.        TextColor(Green);               { óδíαáΓ∞ ºÑ½Ñ¡δÑ
  1806.        ß¿¼ó«½δ }
  1807.        TextColor(LightRed+Blink)  { óδíαáΓ∞ ¼ÑαµáεΘ¿Ñ ßóÑΓ-
  1808.                                     ½«-¬αáß¡δÑ ß¿¼ó«½δ }
  1809.        TextColor(14);             { óδíαáΓ∞ ªÑ½ΓδÑ ß¿¼ó«½δ }
  1810.  
  1811. ------------------------------------------------------------
  1812.  öπ¡¬µ¿∩ TextHeight                            î«ñπ½∞ Graph
  1813. ------------------------------------------------------------
  1814.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ óδß«Γπ ßΓ᫬¿ ó φ½Ñ¼Ñ¡Γáσ ¿º«íαáªÑ-
  1815. ¡¿∩.
  1816.      Ä»¿ßá¡¿Ñ: ÆÑσtìÑight(ΓѬßΓ_ßΓ᫬á : string)
  1817.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  1818.      Åα¿¼Ñτá¡¿∩: ìá «ß¡«óÑ αẼÑαá ΓѬπΘÑú« Φα¿ΣΓá ¿ ¬«φΣΣ¿-
  1819. µ¿Ñ¡Γá   αẼÑαá   «»αÑñѽ∩ÑΓ  ßΓ᫬¿,  ºáñá¡¡«⌐  »áαá¼ÑΓα«¼
  1820. "ΓѬßΓ_ßΓ᫬á", ó φ½Ñ¼Ñ¡Γáσ ¿º«íαáªÑ¡¿∩. ¥Γ« »«½Ñº¡« ¿ß»«½∞-
  1821. º«óáΓ∞ ñ½∩ óδí«αá ¿¡ΓÑαóá½á ¼Ñªñπ ßΓα«¬á¼¿, óδτ¿ß½Ñ¡¿∩ óδß«-
  1822. Γδ «í½áßΓ¿ »α«ß¼«Γαá, «»αÑñѽѡ¿∩ αẼÑαá  ºáú«½«ó¬á,  τΓ«íδ
  1823. «¡  »«¼ÑßΓ¿½ß∩  ó  ºáñá¡¡«¼ α¿ßπ¡¬Ñ ¿½¿ ó ºáñá¡¡πε «í½áßΓ∞ ¿
  1824. Γ.ñ. ìá»α¿¼Ñα, »α¿ ¿ß»«∞º«óá¡¿¿ Φα¿ΣΓá  ß  ñó«¿τ¡δ¼  «íαẫ¼
  1825. 8σ8  ¿  ¬«φΣΣ¿µ¿Ñ¡Γá  αẼÑαá  1  (πßΓá¡«ó½Ñ¡¡δσ  »α«µÑñπα«⌐
  1826. SetTextStyle) ßΓα«¬á Æurb« íπñÑΓ ¿¼ÑΓ∞  óδß«Γπ  8  φ½Ñ¼Ñ¡Γ«ó
  1827. ¿º«íαáªÑ¡¿∩.
  1828.      ÄτÑ¡∞ ó᪡« ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ TextHeight  ñ½∩  óδ-
  1829. τ¿ß½Ñ¡¿∩  óδß«Γδ  ßΓ᫬, ó¼ÑßΓ« Γ«ú«, τΓ«íδ ñѽáΓ∞ φΓ« óαπτ-
  1830. ¡πε. Æ«úñá »α¿ óδí«αÑ αẽ¿τ¡δσ Φα¿ΣΓ«ó  «Γ»áñáÑΓ  ¡Ñ«íσ«ñ¿-
  1831. ¼«ßΓ∞ ¿º¼Ñ¡Ñ¡¿∩ ΓѬßΓá »α«úαá¼¼δ.
  1832.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1833.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ  OutText,  OutTextXY,  Set-
  1834. TextStyle, TextWidth, SetUserCharSize.
  1835.      Åα¿¼Ñα:
  1836.  
  1837.          uses Graph;
  1838.         var
  1839.           Gd, Gm : integer;
  1840.            Y, Size : integer;
  1841.         begin
  1842.           Gd := Detect;
  1843.           InitGraph(Gd, Gm, '');
  1844.           if GraphResult <> grOk then
  1845.              Halt(1);
  1846.        Y := 0;
  1847.        for Size := 1 to 5 do
  1848.        begin
  1849.          SetTextStyle(DefaultFont, HorizText, Size);
  1850.          OutTextXY(0, Y, 'âαáΣ¿¬á Æπαí«-Åá߬á½∩');
  1851.          Inc(Y, TextWidth('âαáΣ¿¬á Æπαí«-Åá߬á½∩'));
  1852.        end;
  1853.        Readln;
  1854.         CloseGraph;
  1855.         end.
  1856.  
  1857. ------------------------------------------------------------
  1858.  Åα«µÑñπαá TextMode                              î«ñπ½∞ ært
  1859. ------------------------------------------------------------
  1860.      öπ¡¬µ¿∩: éδí¿αáÑΓ π¬áºá¡¡δ⌐ ΓѬßΓ«óδ⌐ αѪ¿¼.
  1861.      Ä»¿ßá¡¿Ñ: ÆÑσtî«dÑ(αѪ¿¼ : integer)
  1862.      Åα¿¼Ñτá¡¿∩: Ä»αÑñѽѡδ ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ:
  1863.        const
  1864.           { αѪ¿¼δ CRT }
  1865.           BW40   = 0;   { 40σ25, τÑα¡«-íѽδ⌐ ¡á µóÑΓ¡«¼
  1866.                           áñá»ΓÑαÑ }
  1867.           C40    = 1;   { 40σ25, µóÑΓ¡«⌐ ¡á µóÑΓ¡«¼ áñá»ΓÑαÑ}
  1868.           BW80   = 2;   { 80σ25, τÑα¡«-íѽδ⌐ ¡á µóÑΓ¡«¼
  1869.                            áñá»ΓÑαÑ }
  1870.           C80    = 3;   { 80σ25, µóÑΓ¡«⌐ ¡á µóÑΓ¡«¼ áñá»ΓÑαÑ}
  1871.           Mono   = 7;   { 80σ25, τÑα¡«-íѽδ⌐ ¡á «ñ¡«µóÑΓ¡«¼
  1872.                           áñá»ΓÑαÑ }
  1873.           Font8x8 = 256; { ñ½∩ áñá»ΓÑα«ó EGA/VGA (50 ßΓ᫬)}
  1874.           C40 = C040;   { ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß óÑαß¿Ñ⌐ 3.0 }
  1875.           C80 = C080;   { ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß óÑαß¿Ñ⌐ 3.0 }
  1876.  
  1877.      Åα¿ π¬áºá¡¿¿ ñαπú¿σ º¡áτÑ¡¿⌐ »α«µÑñπαá ÆÑσtî«dÑ  »«ñαá-
  1878. ºπ¼ÑóáÑΓ ¿ß»«½∞º«óá¡¿Ñ æ80.
  1879.      Åα¿ ó맮óÑ »α«µÑñπαδ ÆÑσtî«dÑ ßíαáßδóáÑΓß∩ ΓѬπΘÑÑ «¬¡«
  1880. ¿ ó ¬áτÑßΓóÑ ΓѬπΦÑú« «¬¡á αáßß¼áΓα¿óáÑΓß∩ óß∩ «í½áßΓ∞ φ¬αá-
  1881. ¡á,  ñ½∩  DirectVideo  πßΓá¡áó½¿óáÑΓß∩  º¡áτÑ¡¿Ñ  True,  ñ½∩
  1882. CheckShow ΓᬪѠπßΓá¡áó½¿óáÑΓß∩ º¡áτÑ¡¿Ñ ÆruÑ (Ñß½¿ íδ½ óδí-
  1883. αá¡ µóÑΓ¡«⌐ αѪ¿¼) ¿ ΓѬπΘ¿⌐ ΓѬßΓ«óδ⌐ áΓα¿íπΓ  ßíαáßδóáÑΓß∩
  1884. ó   ¡«α¼á½∞¡«Ñ   ß«ßΓ«∩¡¿Ñ,   ß««ΓóÑΓßΓóπεΘÑÑ   «íαáΘÑ¡¿ε  ¬
  1885. »α«µÑñπαÑ NormVideo,  á  ΓѬπΘ¿⌐  ó¿ñÑ«αѪ¿¼  ß«σαá¡∩ÑΓß∩  ó
  1886. LastMode. Åα¿ ¿¡¿µ¿á½¿ºáµ¿¿ »α«úαá¼¼δ LastMode »«½πτáÑΓ º¡á-
  1887. τÑ¡¿Ñ ΓѬπΘÑú« ó¿ñÑ«αѪ¿¼á.
  1888.      çáñá¡¿Ñ TextMode(LastMode) »α¿ó«ñ¿Γ ¬ Γ«¼π,  τΓ«  ó¡«ó∞
  1889. íπñÑΓ  óδíαá¡ »«ß½Ññ¡¿⌐ á¬Γ¿ó¡δ⌐ ΓѬßΓ«óδ⌐ αѪ¿¼. ¥Γδ íδóáÑΓ
  1890. »«½Ñº¡« ó Γ«¼ ß½πτáÑ, ¬«úñá »«ß½Ñ ¿ß»«½∞º«óá¡¿Ñ  úαáΣ¿τÑ߬¿σ
  1891. ßαÑñßΓó  (Graph3  ¿½¿ Graph) óδ σ«Γ¿ΓÑ óÑα¡πΓ∞ß∩ ó ΓѬßΓ«óδ⌐
  1892. αѪ¿¼.
  1893.      ÄíαáΘÑ¡¿Ñ ó¿ñÑ:
  1894.  
  1895.      TextMode(c80 + Font8x8)
  1896.  
  1897. »α¿óÑñÑΓ ¬ Γ«¼π, τΓ« ñ¿ß»½Ñ⌐ íπñÑΓ ßíα«ΦÑ¡ ó ß«ßΓ«∩¡¿Ñ,  »α¿
  1898. ¬«Γ«α«¼  ¿ß»«½∞ºπÑΓß∩ 43 ßΓ᫬¿ ¿ 80 »«º¿µ¿⌐ ó ßΓα«¬Ñ ¿ úαá-
  1899. Σ¿τÑ߬¿⌐  áñá»ΓÑα  VGA  ß   µóÑΓ¡δ¼   ¼«¡¿Γ«α«¼.   ÄíαáΘÑ¡¿Ñ
  1900. TextMode(Lo(LastMode))  óßÑúñá ó䬽ετáÑΓ 43 ¿½¿ 50-ßΓ᫬«óδÑ
  1901. αѪ¿¼δ ¿ ßíαáßδóáÑΓ ñ¿ß»½Ñ⌐ (σ«Γ∩  Ñú«  ó¿ñÑ«αѪ¿¼  «ßΓáÑΓß∩
  1902. ¡Ñ¿º¼Ñ¡Ñ¡¡δ¼), á ó맮ó:
  1903.  
  1904.      TextMode(lo(LastMode)+Font8x8)
  1905.  
  1906. «ßΓáó¿Γ ó¿ñÑ«αѪ¿¼ ΓѼ ªÑ ßá¼δ¼, ¡« ßíα«ß¿Γ ñ¿ß»½Ñ⌐ ó 43 ¿½¿
  1907. 50-ßΓ᫬«óδ⌐ αѪ¿¼.
  1908.      àß½¿ »α¿ ºáúαπº¬Ñ »α«úαá¼¼δ ¡Ñ Æπαí«-Åá߬á½Ñ óáΦá  ß¿ß-
  1909. ΓѼᠠ¡áσ«ñ¿Γß∩ ó 43 ¿½¿ 50-ßΓ᫬«ó«¼ αѪѼÑ, φëàαѪ¿¼ íπ-
  1910. ñÑΓ ß«σαá¡Ñ¡ ó τáßΓ¿ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ Crt, ¿ »ÑαѼѡ¡á∩,
  1911. ó  ¬«Γ«α«⌐  «Γ߽Ѫ¿óáÑΓß∩ ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« ßΓ᫬ ¡á φ¬αá¡Ñ
  1912. (WindMax) íπñÑΓ ¿¡¿µ¿á½¿º¿α«óá¡á »αáó¿½∞¡«.
  1913.      Åα¿óÑñѼ »α¿¼Ñα "¬«ααÑ¬Γ¡«⌐" »α«úαá¼¼δ, ¬«Γ«αá∩ ó«ßßΓá-
  1914. ¡áó½¿óáÑΓ ó¿ñÑ«αѪ¿¼ ó ¿ßσ«ñ¡«Ñ ß«ßΓ«∩¡¿Ñ.
  1915.  
  1916.         program Video;
  1917.         uses Crt;
  1918.         var
  1919.           OrigMode : integer;
  1920.         begin
  1921.           OrigMode := LastMode;  { ß«σαá¡¿Γ∞ ¿ßσ«ñ¡δ⌐ αѪ¿¼ }
  1922.           ...
  1923.           TextMode(OrigMode);
  1924.         end.
  1925.  
  1926.      çá¼ÑΓ¿¼, τΓ« »α«µÑñπαá TextMode ¡Ñ »«ññÑনóáÑΓ  úαáΣ¿-
  1927. τÑ߬¿σ  αѪ¿¼«ó. Æá¬¿¼ «íαẫ¼ TextMode(OrigMode) íπñÑΓ ó«ß-
  1928. ßΓá¡áó½¿óáΓ∞  Γ«½∞¬«  ΓÑ  αѪ¿¼δ,   ¬«Γ«αδÑ   »«ññÑনóáεΓß∩
  1929. TextMode.
  1930.      ÄΓ½¿τ¿∩: é óÑαß¿¿  3.0  óδº«ó  »α«µÑñπαδ  ÆÑσtî«dÑ  íѺ
  1931. »áαá¼ÑΓα«ó ΓÑ»Ñα∞ ß««ΓóÑΓßΓóπÑΓ «íαáΘÑ¡¿ε ÆÑσtî«dÑ(Last).
  1932.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ RestoreCrt.
  1933.  
  1934. ------------------------------------------------------------
  1935.  Åα«µÑñπαá TextWidth                           î«ñπ½∞ Graph
  1936. ------------------------------------------------------------
  1937.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ Φ¿α¿¡π ßΓ᫬¿ ó φ½Ñ¼Ñ¡Γáσ ¿º«íαáªÑ-
  1938. ¡¿∩.
  1939.      Ä»¿ßá¡¿Ñ: ÆÑσtWidth(ΓѬßΓ_ßΓ᫬á : string)
  1940.      Æ¿» αѺπ½∞ΓáΓá: æ½«ó« (word).
  1941.      Åα¿¼Ñτá¡¿∩: ìá «ß¡«óÑ ñ½¿¡δ ßΓ᫬¿ (ó ß¿¼ó«½áσ), αẼÑ-
  1942. αá  ΓѬπΘÑú«  Φα¿ΣΓá ¿ ¬«φΣΣ¿µ¿Ñ¡Γá αẼÑαá «»αÑñѽ∩ÑΓ ñ½¿¡π
  1943. ßΓ᫬¿,  ºáñá¡¡«⌐  »áαá¼ÑΓα«¼  "ΓѬßΓ_ßΓ᫬á",  ó  φ½Ñ¼Ñ¡Γáσ
  1944. ¿º«íαáªÑ¡¿∩.  ¥Γ«  »«½Ñº¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ óδí«αá ¿¡ΓÑαóá½á
  1945. ¼Ñªñπ ßΓα«¬á¼¿, óδτ¿ß½Ñ¡¿∩ Φ¿α¿¡δ «í½áßΓ¿ »α«ß¼«Γαá, «»αÑñÑ-
  1946. ½Ñ¡¿∩  αẼÑαá ºáú«½«ó¬á, τΓ«íδ «¡ »«¼ÑßΓ¿½ß∩ ó ºáñá¡¡«¼ α¿-
  1947. ßπ¡¬Ñ ¿½¿ ó ºáñá¡¡πε «í½áßΓ∞ ¿ Γ.ñ. ìá»α¿¼Ñα, »α¿  ¿ß»«½∞º«-
  1948. óá¡¿¿ Φα¿ΣΓá ß ñó«¿τ¡δ¼ «íαẫ¼ 8σ8 ¿ ¬«φΣΣ¿µ¿Ñ¡Γá αẼÑαá 1
  1949. (πßΓá¡«ó½Ñ¡¡δ¼¿ »α«µÑñπα«⌐ SetTextStyle) ßΓα«¬á Æurb«  íπñÑΓ
  1950. ¿¼ÑΓ∞ ñ½¿¡π 40 φ½Ñ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩.
  1951.      ÄτÑ¡∞ ó᪡« ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ TextWidth ñ½∩ óδτ¿ß-
  1952. ½Ñ¡¿∩  Φ¿α¿¡δ  ßΓ᫬, ó¼ÑßΓ« Γ«ú«, τΓ«íδ ñѽáΓ∞ φΓ« óαπτ¡πε.
  1953. Æ«úñá »α¿ óδí«αÑ αẽ¿τ¡δσ  Φα¿ΣΓ«ó  «Γ»áñáÑΓ  ¡Ñ«íσ«ñ¿¼«ßΓ∞
  1954. ¿º¼Ñ¡Ñ¡¿∩ ΓѬßΓá »α«úαá¼¼δ.
  1955.      Äúαá¡¿τÑ¡¿∩: ä«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
  1956.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ  OutText,  OutTextXY,  Set-
  1957. TextStyle, TextHeight.
  1958.      Åα¿¼Ñα:
  1959.  
  1960.          uses Graph;
  1961.         var
  1962.           Gd, Gm : integer;
  1963.            Row, Size : integer;
  1964.           Title : string;
  1965.         begin
  1966.           Gd := Detect;
  1967.           InitGraph(Gd, Gm, '');
  1968.           if GraphResult <> grOk then
  1969.              Halt(1);
  1970.           Row := 0;
  1971.           Title := 'Turbo Graphics';
  1972.         Size := 1;
  1973.         while TextWidth(Title) < WindiwWidth do
  1974.         begin
  1975.           OutTextXY(0, Row, Title);
  1976.           Inc(Row, TextHeight('M'));
  1977.           Inc(Size);
  1978.           SetTextStyle(DefaultFont, HorizDir, Size);
  1979.         end;
  1980.         Readln
  1981.         CloseGraph;
  1982.         end.
  1983.  
  1984. ------------------------------------------------------------
  1985.   öπ¡¬µ¿∩ Trunc
  1986. ------------------------------------------------------------
  1987.      öπ¡¬µ¿∩: Ä¬απú½∩ÑΓ º¡áτÑ¡¿Ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ñ«  º¡á-
  1988. τÑ¡¿∩ µÑ½«ú« Γ¿»á.
  1989.      Ä»¿ßá¡¿Ñ: Trunc(x : real)
  1990.      Æ¿» αѺπ½∞ΓáΓá: ä½¿¡¡δ⌐ µÑ½δ⌐ (longint).
  1991.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα x »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ óÑ-
  1992. ΘÑßΓóÑ¡¡«ú« Γ¿»á. öπ¡¬µ¿∩ Round ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ñ½¿¡¡«ú«
  1993. µÑ½«ú« Γ¿»á, ¬«Γ«α«Ñ ∩ó½∩ÑΓß∩  º¡áτÑ¡¿Ñ¼  x,  «¬απú½Ñ¡¡δ¼  ó
  1994. ßΓ«α«¡π ¡π½∩.
  1995.      Äúαá¡¿τÑ¡¿∩: àß½¿ «¬απú½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ x ¡Ñ  ß««ΓóÑΓßΓ-
  1996. óπÑΓ ñ¿á»áº«¡π »αÑñßΓáó½Ñ¡¿∩ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á, Γ« »α«¿ß-
  1997. σ«ñ¿Γ «Φ¿í¬á ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.
  1998.      ÄΓ½¿τ¿∩: é óÑαß¿¿ 3.0 Σπ¡¬µ¿∩ Round ó«ºó- αáΘáÑΓ  µÑ½«Ñ
  1999. º¡áτÑ¡¿Ñ.
  2000.      Åα«τÑÑ: æ¼. ΓᬪѠΣπ¡¬µ¿¿ Round, Int.
  2001.  
  2002. ------------------------------------------------------------
  2003.  Åα«µÑñπαá Truncate
  2004. ------------------------------------------------------------
  2005.      öπ¡¬µ¿∩: ôßѬáÑΓ αẼÑα Σá⌐½á ñ« ΓѬπΘÑ⌐ »«º¿µ¿¿ ó Σá⌐-
  2006. ½Ñ.
  2007.      Ä»¿ßá¡¿Ñ: Æruncate(f)
  2008.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f ∩ó½∩ÑΓß∩ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐ ½ε-
  2009. í«ú« Γ¿»á. éßÑ ºá»¿ß¿ »«ß½Ñ ΓѬπΘÑ⌐ »«º¿µ¿¿ ó Σá⌐½Ñ f πñá½∩-
  2010. εΓß∩ ¿ ΓѬπΘá∩  »«º¿µ¿∩  ó  Σá⌐½Ñ  ßΓá¡«ó¿Γß∩  ¬«¡µ«¼  Σá⌐½á
  2011. (Σπ¡¬µ¿∩ à«f(f) »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ Ærue).
  2012.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  2013. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  2014. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  2015. ¡«¼ ß½πτáÑ.
  2016.      Äúαá¡¿τÑ¡¿∩: öá⌐½ f ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ.
  2017.      æ¼. ΓᬪѠ»α«µÑñπαδ Seek, Reset.
  2018. ------------------------------------------------------------
  2019.  Åα«µÑñπαá UnpackTime                            î«ñπ½∞ Dos
  2020. ------------------------------------------------------------
  2021.      öπ¡¬µ¿∩: ÅαÑ«íαáºπÑΓ τÑΓδαÑσíá⌐Γ«ó«Ñ  º¡áτÑ¡¿Ñ,  »αÑñß-
  2022. Γáó½∩εΘÑÑ  ß«í«⌐ π»á¬«óá¡¡δ⌐ ñ½¿¡¡δ⌐ µÑ½δ⌐ Γ¿» »αÑñßΓáó½Ñ¡¿∩
  2023. ñáΓδ ¿ óαѼѡ¿, ó«ºóαáΘáѼδ⌐ »α«µÑñπαἿ GetTime,  FindFirst
  2024. ¿ FindNext, ó αá߻ᬫóá¡¡πε ºá»¿ß∞ DateTime (ñáΓá ¿ óαѼ∩)
  2025.      Ä»¿ßá¡¿Ñ: UnpackTime(óαѼ∩ : longint; var ñáΓá : Time :
  2026. longint; var DT : DateTime)
  2027.      Åα¿¼Ñτá¡¿∩: çỿß∞ DateTime «»¿ßá¡á ó ¼«ñπ½Ñ Dos ß½Ññπ-
  2028. εΘ¿¼ «íαẫ¼:
  2029.  
  2030.        DateTime = record
  2031.                    Year, Month, Day, Hour,
  2032.                    Min, Sec, : word;
  2033.                   end;
  2034.  
  2035.      ä½∩ »«½Ñ⌐ ñá¡¡«⌐ ºá»¿ß¿ ¡Ñ óδ»«½¡∩ÑΓß∩ »α«óÑα¬á ¡á »αá-
  2036. ó¿½∞¡«ßΓ∞ úαá¡¿µ.
  2037.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ PackTime,  GeFtTime,  SetF-
  2038. Time, GetTime, SetTime.
  2039.  
  2040. ------------------------------------------------------------
  2041.  öπ¡¬µ¿∩ UpCase
  2042. ------------------------------------------------------------
  2043.      öπ¡¬µ¿∩: ÅαÑ«íαáºπÑΓ ß¿¼ó«½ ó »α«»¿ß¡πε íπ¬óπ.
  2044.      Ä»¿ßá¡¿Ñ: UpCase(ß¿¼ó«½ : char)
  2045.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα "ß¿¼ó«½" »αÑñßΓáó½∩ÑΓ ß«í«⌐  óδαá-
  2046. ªÑ¡¿Ñ  ß¿¼ó«½∞¡«ú«  Γ¿»á. ÉѺπ½∞ΓáΓ«¼ ß¿¼ó«½∞¡«ú« Γ¿»á íπñÑΓ
  2047. ß¿¼ó«½, ºáñáóáѼδ⌐ »áαá¼ÑΓα«¼  "ß¿¼ó«½",  »αÑ«íαẫóá¡¡δ⌐  ó
  2048. »α«»¿ß¡«⌐  ß¿¼ó«½. ç¡áτÑ¡¿∩ ß¿¼ó«½«ó, ¡Ñ ½ÑªáΘ¿Ñ ó ñ¿á»áº«¡Ñ
  2049. á...z, «ßΓáεΓß∩ íѺ ¿º¼Ñ¡Ñ¡¿⌐.
  2050.  
  2051. ------------------------------------------------------------
  2052.  Åα«µÑñπαá Val
  2053. ------------------------------------------------------------
  2054.      öπ¡¬µ¿∩: ÅαÑ«íαáºπÑΓ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ ó Ñú« τ¿ß½Ñ¡¡«Ñ
  2055. »αÑñßΓáó½Ñ¡¿Ñ.
  2056.      Ä»¿ßá¡¿Ñ: Val(s : string; v; var ¬«ñ : integer)
  2057.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα  s  »αÑñßΓáó½∩ÑΓ  ß«í«⌐  óδαáªÑ¡¿Ñ
  2058. ßΓ᫬«ó«ú«  Γ¿»á.  Åáαá¼ÑΓα v ∩ó½∩ÑΓß∩ »ÑαѼѡ¡«⌐ µÑ½«ú« ¿½¿
  2059. óÑΘÑßΓóÑ¡¡«ú« Γ¿»á. Åáαá¼ÑΓα "¬«ñ" - φΓ«  »ÑαѼѡ¡á∩  µÑ½«ú«
  2060. Γ¿»á, ¬«Γ«αá∩ Σ«α¼¿απÑΓ óßÑ τ¿ß½« ß« º¡á¬«¼ ó ß««ΓóÑΓßΓó¿¿ ß
  2061. ß¿¡Γá¬ß¿ß«¼, »«¬áºá¡¡«¼ ó αáºñѽѠ"ù¿ß½á" ó â½áóÑ 1. öπ¡¬µ¿∩
  2062. Val »αÑ«íαáºπÑΓ ßΓ᫬π s ó ÑÑ τ¿ß½Ñ¡¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ ¿ ß«σ-
  2063. αá¡∩ÑΓ αѺπ½∞ΓáΓ ó v. àß½¿ úñÑ-½¿í« ó ßΓα«¬Ñ óßΓαÑτáÑΓß∩ ¡Ñ-
  2064. ñ«»πßΓ¿¼δ⌐  ß¿¼ó«½,  Γ«  Ñú«  ¡«¼Ñα  ß«σαá¡∩ÑΓß∩ ó »áαá¼ÑΓαÑ
  2065. "¬«ñ". é »α«Γ¿ó¡«¼ ß½πτáÑ φëà»áαá¼ÑΓα αáóÑ¡ ¡π½ε.
  2066.      é ºáó¿ß¿¼«ßΓ¿ «Γ ß«ßΓ«∩¡¿∩  {$R}  ¿  Γ¿»á  »áαá¼ÑΓαá  v
  2067. Σπ¡¬µ¿∩ Val »«-αạ«¼π óδ»«½¡∩ÑΓ »α«óÑα¬π ñ¿á»áº«¡á.
  2068.      àß½¿ ß«ßΓ«∩¡¿Ñ »α«óÑન ñ¿á»áº«¡á πßΓá¡«ó½Ñ¡«, Γ«  ÑßΓ∞
  2069. ºáñá¡«  {$R+}, Γ« óδαáªÑ¡¿∩, óδσ«ñ∩Θ¿Ñ ºá úαá¡¿µπ ñ¿á»áº«¡á,
  2070. óßÑúñá íπñπΓ úÑ¡Ñα¿α«óáΓ∞ «Φ¿í¬π óαѼѡ¿ óδ»«½¡Ñ¡¿∩.
  2071.      àß½¿ ß«ßΓ«∩¡¿Ñ »α«óÑન ñ¿á»áº«¡á ßíα«ΦÑ¡«, Γ« ÑßΓ∞ ºá-
  2072. ñá¡«  {$R-},  Γ«  óδαáªÑ¡¿∩, óδσ«ñ∩Θ¿Ñ ºá úαá¡¿µπ ñ¿á»áº«¡á,
  2073. íπñπΓ óδºδóáÑΓ∞ φΣΣѬΓ, ºáó¿ß∩Θ¿⌐ «Γ ¿σ Γ¿»á. àß½¿  v  ¿¼ÑÑΓ
  2074. Γ¿»  real ¿½¿ longint, Γ« º¡áτÑ¡¿Ñ v ßΓá¡«ó¿Γß∩ ¡Ñ«»αÑñѽѡ-
  2075. ¡δ¼ ¿ ó »áαá¼ÑΓαÑ "¬«ñ" ó«ºóαáΘáÑΓß∩ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ. ä½∩
  2076. ½εí«ú« ñαπú«ú« τ¿ß½«ó«ú« Γ¿»á ó »áαá¼ÑΓαÑ "¬«ñ" ó«ºóαáΘáÑΓß∩
  2077. ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, á v íπñÑΓ ß«ñÑαªáΓ∞ αѺπ½∞ΓáΓ óδτ¿ß½Ñ¡¿⌐ ß
  2078. »ÑαÑ»«½¡Ñ¡¿Ñ¼ (Ñß½¿ »αÑñ»«½«ª¿Γ∞, τΓ« ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ »«-
  2079. »áñáÑΓ ó ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ ñ½¿¡¡«ú« µÑ½«ú«).
  2080.      Æá¬¿¼ «íαẫ¼, »α«µÑñπαÑ Val »ÑαѼѡ¡πε ñ½¿¡¡«ú« µÑ½«ú«
  2081. Γ¿»á  (longint) ¿ »ÑαÑñ ΓѼ, ¬á¬ »α¿ßóá¿óáΓ∞ »«½πτÑ¡¡«Ñ º¡á-
  2082. τÑ¡¿Ñ, óδ»«½¡∩Γ∞ »α«óÑα¬π ñ¿á»áº«¡á. ìá»α¿¼Ñα:
  2083.  
  2084.         {$R-}
  2085.         Val('65536', LongIntVar, Code);
  2086.         if (Code <>0) or
  2087.            (LOngIntVar < 0) or (LongIntVar > 65535) then
  2088.            ...             { «Φ¿í¬á }
  2089.         else
  2090.           WordVar := LongIntVar;
  2091.  
  2092.      Äúαá¡¿τÑ¡¿∩: ÅαÑñΦÑßΓóπεΘ¿Ñ »α«íѽδ ñ«½ª¡δ íδΓ∞  πñá½Ñ-
  2093. ¡δ.
  2094.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ Str.
  2095.      Åα¿¼Ñα:
  2096.  
  2097.        var
  2098.          i, code : integer;
  2099.         begin
  2100.           { »«½πτ¿Γ∞ ΓѬßΓ ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ }
  2101.           Val(ParamStr(1), i, code);
  2102.           { «Φ¿í¬á »α¿ »αÑ«íαẫóá¡¿¿ ó µÑ½«Ñ º¡áτÑ¡¿Ñ? }
  2103.           if code <> 0 then
  2104.              Writeln('ÄΦ¿í¬á ¡á »«º¿µ¿¿ :', code);
  2105.           else
  2106.              Writeln('ç¡áτÑ¡¿Ñ = ', i);
  2107.         end.
  2108.  
  2109. ------------------------------------------------------------
  2110.  öπ¡¬µ¿∩ WhereX                                  î«ñπ½∞ ært
  2111. ------------------------------------------------------------
  2112.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿¿ ¬παß«αá «Γ¡«ß¿-
  2113. Γѽ∞¡« ΓѬπΘÑú« «¬¡á ¬««αñ¿¡áΓπ ò.
  2114.      Ä»¿ßá¡¿Ñ: WhereX
  2115.      Æ¿» αѺπ½∞ΓáΓá: üá⌐Γ (byte).
  2116.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ WhereY, GotoXY, Window.
  2117.  
  2118. ------------------------------------------------------------
  2119.  öπ¡¬µ¿∩ WhereY                                  î«ñπ½∞ ært
  2120. ------------------------------------------------------------
  2121.      öπ¡¬µ¿∩: é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿¿ ¬παß«αá «Γ¡«ß¿-
  2122. Γѽ∞¡« ΓѬπΘÑú« «¬¡á ¬««αñ¿¡áΓπ Y.
  2123.      Ä»¿ßá¡¿Ñ: WhereY
  2124.      Æ¿» αѺπ½∞ΓáΓá: üá⌐Γ (byte).
  2125.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαδ WhereX, GotoXY, Window.
  2126.  
  2127. ------------------------------------------------------------
  2128.  Åα«µÑñπαá Window                                î«ñπ½∞ ært
  2129. ------------------------------------------------------
  2130.  ------
  2131.      öπ¡¬µ¿∩: Ä»αÑñѽ∩ÑΓ ¡á φ¬αá¡Ñ ΓѬßΓ«ó«Ñ «¬¡«.
  2132.      Ä»¿ßá¡¿Ñ: Window(X1, Y1, X2, Y2)
  2133.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓαδ ò1, Y1 »αÑñßΓáó½∩εΓ ß«í«⌐ ¬««αñ¿-
  2134. ¡áΓδ óÑασ¡Ñú« ½Ñó«ú« πú½á «¬¡á, »áαá¼ÑΓαδ ò2, Y2 »αÑñßΓáó½∩-
  2135. εΓ ß«í«⌐ ¬««αñ¿¡áΓδ »αáó«ú« ¡¿ª¡Ñú« πú½á. Åαáóδ⌐ ½Ñóδ⌐  πú«½
  2136. φ¬αá¡á  ß««ΓóÑΓßΓóπÑΓ  ¬««αñ¿¡áΓÑ  (1,1). î¿¡¿¼á½∞¡δ⌐ αẼÑα
  2137. ΓѬßΓ«ó«ú« «¬¡á - «ñ¿¡ ßΓ«½íѵ ¡á «ñ¡π ßΓ᫬π. àß½¿  ¬««αñ¿-
  2138. ¡áΓδ ∩ó½∩εΓß∩ ¬á¬¿¼-Γ« «íαẫ¼ ¡Ññ«»πßΓ¿¼δ¼¿, Γ« «íαáΘÑ¡¿Ñ ¬
  2139. »α«µÑñπαÑ Window ¿ú¡«α¿απÑΓß∩.
  2140.      é 80-ß¿¼ó«½∞¡δσ αѪ¿¼áσ »« π¼«½τá¡¿ε «»αÑñѽ∩ÑΓß∩  «¬¡«
  2141. (1,1,80,25),  á  ó  40-ß¿¼ó«½∞¡δσ αѪ¿¼áσ - (1,1,40,25), τΓ«
  2142. ß««ΓóÑΓßΓóπÑΓ óßѼπ φ¬αá¡π.
  2143.      éßÑ ¬««αñ¿¡áΓδ φ¬αá¡á (¬α«¼Ñ ßá¼¿σ ¬««αñ¿¡áΓ «¬¡á)  ∩ó-
  2144. ½∩εΓß∩  «Γ¡«ß¿Γѽ∞¡δ¼¿  ¬««αñ¿¡áΓἿ ñá¡¡«ú« «¬¡á. ìá»α¿¼Ñα,
  2145. GotoXY(1,1) óßÑúñá »«º¿µ¿«¡¿απÑΓ  ¬παß«α  ¡á  óÑασ¡¿⌐  ½Ñóδ⌐
  2146. πú«½ ΓѬπΘÑú« «¬¡á.
  2147.      î¡«ú¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ ært, ó¬½ετá∩  ºáó¿ß∩Γ
  2148. «Γ ΓѬπΘÑú« «¬¡á.
  2149.      Åα«µÑñπαδ WindMin ¿ Windîáσ ß«σαá¡∩εΓ ΓѬπΘÑÑ «»αÑñѽÑ-
  2150. ¡¿Ñ «¬¡á (ß¼. â½áóπ 12).
  2151.      Åα¿¼Ñα:
  2152.  
  2153.        uses Crt;
  2154.        var
  2155.          x, y : byte;
  2156.        begin
  2157.          TextBackGround(Black);           { «τ¿ßΓ¿Γ∞ φ¬αá¡ }
  2158.          ClrScr;
  2159.          repeat
  2160.            x := Succ(Random(80));      { ¡áα¿ß«óáΓ∞
  2161.  ß½πτá⌐¡δ¼
  2162.                                         «íαẫ¼ «¬¡á }
  2163.            y := Succ(random(25));
  2164.            Window(x, y, x + Random(10), y + Random(8));
  2165.            TextBackGround(Random(16));  { ¿ß»«½∞º«óáΓ∞
  2166.  ß½πτá⌐¡δÑ
  2167.                                           Σ«¡«óδÑ µóÑΓá }
  2168.            ClrScr;
  2169.          until KeyPressed;
  2170.         end.
  2171.  
  2172. ------------------------------------------------------------
  2173.  Åα«µÑñπαá Write (Γ¿»¿º«óá¡¡δÑ Σá⌐½δ)
  2174. ------------------------------------------------------------
  2175.      öπ¡¬µ¿∩: çỿßδóáÑΓ »ÑαѼѡ¡πε ó φ½Ñ¼Ñ¡Γ Σá⌐½á.
  2176.      Ä»¿ßá¡¿Ñ: Wite(f, v1 [, v2,...,vn] )
  2177.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f ∩ó½∩ÑΓß∩ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐,  á
  2178. ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ v »αÑñßΓáó½∩ÑΓ ß«í«⌐ »ÑαѼѡ¡πε Γ«ú« ªÑ Γ¿»á,
  2179. τΓ« ¿ φ½Ñ¼Ñ¡Γ Σá⌐½á f. Åα¿ ¬áªñ«⌐ ºá»¿ß¿ »ÑαѼѡ¡«⌐  ΓѬπΘá∩
  2180. »«º¿µ¿∩ ó Σá⌐½Ñ »α«ñó¿úáÑΓß∩ ¬ ß½ÑñπεΘѼπ φ½Ñ¼Ñ¡Γπ. àß½¿ ΓÑ-
  2181. ¬πΘá∩ »«º¿µ¿∩ Σá⌐½á ¡áσ«ñ¿Γß∩ ó ¬«¡µÑ Σá⌐½á (Γ«  ÑßΓ∞  ¬«úñá
  2182. à«f(f) ¿¼ÑÑΓ º¡áτÑ¡¿Ñ ÆruÑ), Γ« Σá⌐½ αáßΦ¿α∩ÑΓß∩.
  2183.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  2184. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  2185. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  2186. ¡«¼ ß½πτáÑ.
  2187.  
  2188.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ Writeln.
  2189.  
  2190. ------------------------------------------------------------
  2191.  Åα«µÑñπαá Write (ΓѬßΓ«óδÑ Σá⌐½δ)
  2192. ------------------------------------------------------------
  2193.      öπ¡¬µ¿∩: çỿßδóáÑΓ «ñ¡« ¿½¿ í«½ÑÑ  º¡áτÑ¡¿⌐  ¿º  «ñ¡«⌐
  2194. ¿½¿ í«½ÑÑ »ÑαѼѡ¡δσ ó ΓѬßΓ«óδ⌐ Σá⌐½.
  2195.      Ä»¿ßá¡¿Ñ: Write( [var f : text; ] v1 [, v2,...,vn] )
  2196.      Åα¿¼Ñτá¡¿∩: Åáαá¼ÑΓα f (Ñß½¿ «¡ π¬áºá¡) ∩ó½∩ÑΓß∩ Σá⌐½«-
  2197. ó«⌐  »ÑαѼѡ«⌐,  ß««ΓóÑΓßΓóπεΘÑ⌐  ΓѬßΓ«ó«¼π  Σá⌐½π. àß½¿ «¡
  2198. «»πΘÑ¡, Γ« »«ñαáºπ¼ÑóáÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ßΓá¡ñáαΓ¡«⌐  Σá⌐½«-
  2199. ó«⌐ »ÑαѼѡ¡«⌐ Output. èáªñδ⌐ »áαá¼ÑΓα v ∩ó½∩ÑΓß∩ ºá»¿ßδóáÑ-
  2200. ¼δ¼ »áαá¼ÑΓα«¼. èáªñδ⌐ ºá»¿ßδóáѼδ⌐ »áαá¼ÑΓα ó¬½ετáÑΓ ó ßÑí∩
  2201. óδó«ñ¿¼«Ñ  óδαáªÑ¡¿Ñ, º¡áτÑ¡¿Ñ ¬«Γ«α«ú« ñ«½ª¡« íδΓ∞ ºá»¿ßá¡«
  2202. ó Σá⌐½. èáªñ«Ñ óδó«ñ¿¼«Ñ óδαáªÑ¡¿Ñ ñ«½ª¡« íδΓ∞  ß¿¼ó«½∞¡«ú«,
  2203. µÑ½«ú«,  óÑΘÑßΓóÑ¡¡«ú«,  ßΓ᫬«ó«ú«,  π»á¬«óá¡«ú« ßΓ᫬«ó«ú«
  2204. ¿½¿ íπ½Ñó߬«ú« Γ¿»á.
  2205.      çỿßδóáѼδ⌐ »áαá¼ÑΓα ¿¼ÑÑΓ ó¿ñ:
  2206.  
  2207.      óδó«ñ_óδα᪠[ : ¼¿¡_αẼ [ : ñÑß_º¡á¬ ]]
  2208.  
  2209. úñÑ "óδó«ñ_óδαáª" »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδó«ñ¿¼«Ñ óδαáªÑ¡¿Ñ,  á
  2210. "¼¿¡_αẼ"  ¿ "ñÑß-º¡á¬" ¿ ∩ó½∩εΓß∩ óδαáªÑ¡¿∩¼¿ µÑ½«ú« Γ¿»á.
  2211. "¼¿¡_αẼ" ºáñáÑΓ ¼¿¡¿¼á½∞¡πε Φ¿α¿¡π  »«½∩,  ¬«Γ«αá∩  ñ«½ª¡á
  2212. íδΓ∞ í«½∞ΦÑ ¡π½∩. àß½¿ "óδó«ñ_óδαáª" ¿¼ÑÑΓ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ
  2213. ñ«½ª¡« íδΓ∞ »αÑñßΓáó½Ñ¡« τ¿ß½«¼ ß¿¼ó«½«ó, »αÑóδΦáεΘ¿¼  ºáñá-
  2214. óáѼ«Ñ  »áαá¼ÑΓα«¼ "¼¿¡_αẼ", Γ« ºá»¿ßδóáÑΓß∩ α«ó¡« ßΓ«½∞¬«
  2215. ß¿¼ó«½«ó, ß¬«½∞¬« «»αÑñѽѡ« ó »áαá¼ÑΓαÑ "¼¿¡_αẼ" (»α¿ ¡Ñ-
  2216. «íσ«ñ¿¼«ßΓ¿ ¿ß»«½∞ºπεΓß∩ ½¿ñ¿απεΘ¿Ñ »α«íѽδ). é φΓ«¼ ß½πτáÑ,
  2217. τΓ«íδ »αÑñßΓáó¿Γ∞ º¡áτÑ¡¿Ñ "óδó«ñ_óδαáª", ºá»¿ßδóáÑΓß∩  ñ«ß-
  2218. ΓáΓ«τ¡«Ñ  ¬«½¿τÑßΓó«  ß¿¼ó«½«ó.  Ç¡á½«ú¿τ¡«,  Ñß½¿  »áαá¼ÑΓα
  2219. "¼¿¡_αẼ" «»πΘÑ¡, Γ« ñ½∩ Γ«ú«, τΓ«íδ  »αÑñßΓáó¿Γ∞  º¡áτÑ¡¿Ñ
  2220. "óδó«ñ_óδαáª", ºá»¿ßδóáÑΓß∩ ñ«ßΓáΓ«τ¡«Ñ ¬«½¿τÑßΓó« ß¿¼ó«½«ó.
  2221.      Åáαá¼ÑΓα "ñÑß_º¡á¬" ºáñáÑΓ τ¿ß½«  ñÑß∩Γ¿τ¡δσ  º¡á¬«ó  ó
  2222. »αÑñßΓáó½Ñ¡¿¿  óÑΘÑßΓóÑ¡¡«ú«  º¡áτÑ¡¿∩ ß Σ¿¬ß¿α«óá¡¡«⌐ ºá»∩-
  2223. Γ«⌐.  Ä¡«  ¼«ªÑΓ  π¬áºδóáΓ∞ß∩  Γ«½∞¬«  ó  Γ«¼  ß½πτáÑ,  Ñß½¿
  2224. "óδó«ñ_óδαáª"   ¿¼ÑÑΓ   óÑΘÑßΓóÑ¡¡δ⌐  Γ¿»,  á  ΓᬪѠ π¬áºá¡
  2225. »áαá¼ÑΓα "¼¿¡_αẼ". àß½¿ »áαá¼ÑΓα "¼¿¡_αẼ" π¬áºá¡, Γ«  «¡
  2226. ñ«½ªÑ¡ íδΓ∞ í«½∞ΦÑ ¡π½∩ ¿½¿ αáóÑ¡ ¡π½ε.
  2227.      ùΓ« ¬áßáÑΓß∩  ºá»¿ß¿  ß¿¼ó«½∞¡«ú«  º¡áτÑ¡¿∩,  Γ«,  Ñß½¿
  2228. »áαá¼ÑΓα  "¼¿¡_αẼ"  «»πΘÑ¡, ó Σá⌐½ ºá»¿ßδóáÑΓß∩ ß¿¼ó«½∞¡«Ñ
  2229. óδαáªÑ¡¿Ñ "óδó«ñ_óδαáª".
  2230.      é »α«Γ¿ó¡«¼ ß½πτáÑ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá "¼¿¡_αẼ" -1 «»-
  2231. αÑñѽ∩ÑΓ   ºá»¿ß∞  »α«íѽ«ó  ¿  ñá½ÑÑ  ß¿¼ó«½∞¡«ú«  º¡áτÑ¡¿∩
  2232. "óδó«ñ_óδαáª".
  2233.      Åα¿  ºá»¿ß¿  µÑ½«τ¿ß½Ñ¡¡«ú«   º¡áτÑ¡¿∩,   Ñß½¿   «»πΘÑ¡
  2234. »áαá¼ÑΓα    "¼¿¡_αẼ",    Γ«    ñÑß∩Γ¿τ¡«Ñ    »αÑñßΓáó½Ñ¡¿Ñ
  2235. "óδó«ñ_óδαáª" ºá»¿ßδóáÑΓß∩ ó Σá⌐½ íѺ »αÑñΦÑßΓóπεΘ¿σ  »α«íÑ-
  2236. ½«ó. àß½¿ »áαá¼ÑΓα "¼¿¡_αẼ" πáºδóáÑΓß∩ ¿ Ñú« º¡áτÑ¡¿Ñ »αÑ-
  2237. óδΦáÑΓ ñ½¿¡π ñÑß∩Γ¿τ¡«⌐ ßΓ᫬¿, Γ« »ÑαÑñ ñÑß∩Γ¿τ¡«⌐  ßΓ᫬«⌐
  2238. ºá»¿ßδóáÑΓß∩ ¬«½¿τÑßΓó« »α«íѽ«ó, ñ«ßΓáΓ«τ¡«Ñ ñ½∩ Γ«ú«, τΓ«-
  2239. íδ  ñ½¿¡á  ñÑß∩Γ¿τ¡«⌐   ßΓ᫬¿   ß««ΓóÑΓßΓó«óá½á   »áαá¼ÑΓαπ
  2240. "¼¿¡_αẼ".
  2241.      Åα¿ ºá»¿ß¿ óÑΘÑßΓóÑ¡¡«ú« º¡áτÑ¡¿∩, ó Σá⌐½  ºá»¿ßδóáÑΓß∩
  2242. ñÑß∩Γ¿τ¡«Ñ      »αÑñßΓáó½Ñ¡¿Ñ     óÑΘÑßΓóÑ¡¡«ú«     º¡áτÑ¡¿∩
  2243. "óδó«ñ_óδαáª". ö«α¼áΓ »αÑñßΓáó½Ñ¡¿∩ ºáó¿ß¿Γ «Γ  ¡á½¿τ¿∩  ¿½¿
  2244. «ΓßπΓßΓó¿∩ »áαá¼ÑΓαá "ñÑß_º¡á¬".
  2245.      àß½¿ »áαá¼ÑΓα "ñÑß_º¡á¬" «»πΘÑ¡ (¿½¿ Ñß½¿ «¡  »α¿ßπΓßΓ-
  2246. óπÑΓ,  ¡« ¿¼ÑÑΓ «Γα¿µáΓѽ∞¡«Ñ º¡áτÑ¡¿Ñ), Γ« ºá»¿ßδóáÑΓß∩ ñÑ-
  2247. ß∩Γ¿τ¡á∩  ßΓα«¬á  ß   »½áóáεΘÑ⌐   ºá»∩Γ«⌐.   àß½¿   »áαá¼ÑΓα
  2248. "¼¿¡_αẼ"  ΓᬪѠ «»πΘÑ¡, Γ« »« π¼«½τá¡¿ε «¡ »«ñαẼÑóáÑΓß∩
  2249. αáó¡δ¼ 17. é  »α«Γ¿ó¡«¼  ß½πτáÑ,  Ñß½¿  »áαá¼ÑΓα  "¼¿¡_αẼ"
  2250. ¼Ñ¡∞ΦÑ 8, Γ« Ñú« º¡áτÑ¡¿Ñ »«ñαáºπ¼ÑóáÑΓß∩ αáó¡δ¼ 8. ñÑß∩Γ¿τ-
  2251. ¡á∩ ßΓα«á ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ:
  2252.  
  2253.      [!-] <µ¿Σαá>.<ñÑß∩Γ_º¡á¬¿>à[+!-<φ¬ß»«¡Ñ¡Γá>]
  2254.  
  2255.      ¥½Ñ¼Ñ¡Γδ óδó«ñ¿¼«⌐ ßΓ᫬¿ »α¿óÑñÑ¡δ ó Æáí½¿µÑ 16.1.
  2256.  
  2257.        ¥½Ñ¼Ñ¡Γδ óδó«ñ¿¼«⌐ ßΓ᫬¿          Æáí½¿µá 16.1
  2258. ------------------------------------------------------------
  2259. [!-]              ç¡á¬, ß««ΓóÑΓßΓóπεΘ¿⌐ º¡á¬π "óδó«ñ-óδαáª"
  2260. <µ¿Σαá>           ÄΓñѽ∞¡á∩ µ¿Σαá ¿½¿ ¡«½∞ (ó Γ«¼ ß½πτáÑ,
  2261.                   ¬«úñá "óδó«ñ_óδαáª" αáó¡« 0.
  2262. <ñÑß∩Γ-º¡á¬¿>     û¿Σα«óá∩ ßΓ᫬á ñ½¿¡«⌐ "¼¿¡_αẼ"-7 (¡« ¡Ñ
  2263.                   í«½ÑÑ 10 µ¿Σα).
  2264. ------------------------------------------------------------
  2265. à                 Åα«»¿ß¡«⌐ ß¿¼ó«½ [à].
  2266. [+!-]             ç¡á¬, ß««ΓóÑΓßΓóπεΘ¿⌐ º¡á¬π φ¬ß»«¡Ñ¡Γδ.
  2267. <φ¬ß»«¡Ñ¡Γá>      äÑß∩Γ¿τ¡á∩ φ¬ß»«¡Ñ¡Γá ¿º ñóπσ µ¿Σα.
  2268. ------------------------------------------------------------
  2269.  
  2270.      àß½¿ »α¿ßπΓßΓóπÑΓ »áαá¼ÑΓα "ñÑß_º¡á¬", Γ«  ºá»¿ßδóáÑΓß∩
  2271. ñÑß∩Γ¿τ¡á∩  ßΓα«¬á  ß  Σ¿¬ß¿α«óá¡¡«⌐  ºá»∩Γ«⌐. àß½¿ º¡áτÑ¡¿Ñ
  2272. ñá¡¡«ú« »áαá¼ÑΓαá »αÑóδΦáÑΓ 20, Γ« «¡« ßτ¿ΓáÑΓß∩ αáó¡δ¼  20.
  2273. æΓ᫬á ß Σ¿¬ß¿α«óá¡¡«⌐ ºá»∩Γ«⌐ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ:
  2274.  
  2275.      [<»α«íѽδ>][-]<µ¿Σαδ>[.<ñÑß∩Γ_º¡á¬¿>]
  2276.  
  2277.      ¥½Ñ¼Ñ¡Γδ ßΓ᫬¿ ß  Σ¿¬ß¿α«óδ¡¡«⌐  ºá»∩Γ«⌐  »α¿óÑñÑ¡δ  ó
  2278. Æáí½¿µÑ 16.2.
  2279.  
  2280.      ¥½Ñ¼Ñ¡Γδ ßΓ᫬¿ ß Σ¿¬ß¿α«óá¡¡«⌐ ºá»∩Γ«⌐   Æáí½¿µá  16.2
  2281. ------------------------------------------------------------
  2282. [.<»α«íѽδ>]      Åα«íѽδ (τΓ«íδ ñ½¿¡δ ßΓ᫬¿ ß««ΓóÑΓßΓó«óá-
  2283.                   ½á »áαá¼ÑΓαπ "¼¿¡_αẼ".
  2284. [-]               ç¡á¬ -, Ñß½¿ "óδó«ñ_óδαáª" «Γα¿µáΓѽ∞¡«.
  2285. <µ¿Σαδ>           Å« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¡á µ¿Σαá. ï¿ñ¿απεΘ¿Ñ ¡π-
  2286.                   ½¿ ¡Ñ  ñ«»π߬áεΓß∩.
  2287. <.ñÑß∩Γ_º¡á¬¿>    äÑß∩Γ¿τ¡δÑ  º¡á¬¿, Ñß½¿ »áαá¼ÑΓα "ñÑß_º¡á¬"
  2288.                   í«½∞ΦÑ ¡π½∩.
  2289. ------------------------------------------------------------
  2290.  
  2291.      çỿß∞ º¡áτÑ¡¿∩ ßΓ᫬«ó«ú« Γ¿»á »α«¿ºó«ñ¿Γß∩  ß½ÑñπεΘ¿¼
  2292. «íαẫ¼.  àß½¿ »áαá¼ÑΓα "¼¿¡_αẼ" «»πΘÑ¡, Γ« ó Σá⌐½ ºá»¿ßδ-
  2293. óáÑΓß∩ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ  "óδó«ñ_óδαáª",  á  »αÑñΦÑßΓóπεΘ¿Ñ
  2294. »α«íÑ½δ  «ΓßπΓßΓóπεΓ.  àß½¿ π¬áºá¡ »áαá¼ÑΓα "¼¿¡_αẼ" ¿ Ñú«
  2295. º¡áτÑ¡¿Ñ »αÑóδΦáÑΓ ñ½¿¡π "óδó«ñ_óδαáª", Γ« »ÑαÑñ  ñÑß∩Γ¿τ¡«⌐
  2296. ßΓ᫬«⌐  ñ½∩  Γ«ú«, τΓ«íδ ÑÑ ñ½¿¡á ß««ΓóÑΓßΓó«óá½á »áαá¼ÑΓαπ
  2297. "¼¿¡_αẼ", ºá»¿ßδóáÑΓß∩ ñ«ßΓáΓ«τ¡«Ñ ¬«½¿τÑßΓó« »α«íѽ«ó.
  2298.      Åα¿ ºá»¿ß¿ º¡áτÑ¡¿∩ π»á¬«óá¡¡«ú« ßΓ᫬«ó«ú«  Γ¿»á,  φΣ-
  2299. ΣÑ¬Γ  íπñÑΓ ΓѼ ªÑ ßá¼δ¼, τΓ« ¿ »α¿ ºá»¿ß¿ ßΓ᫬¿, ñ½¿¡á ¬«-
  2300. Γ«α«⌐ ß««ΓóÑΓßΓóπÑΓ τ¿ß½π φ½Ñ¼Ñ¡Γ«ó ó óδαáªÑ¡¿¿ π»á¬«óá¡¡«ú«
  2301. ßΓ᫬«ó«ú« Γ¿»á.
  2302.      Åα¿ ºá»¿ß¿ íπ½Ñó߬«ú«  º¡áτÑ¡¿∩  óδ»«½¡∩εΓß∩  ΓᬿѠ ªÑ
  2303. ñÑ⌐ßΓó¿∩, ¬á¬ »α¿ ºá»¿ß¿ ßΓ᫬ ÆruÑ ¿½¿ False, ó ºáó¿ß¿¼«ßΓ¿
  2304. «Γ º¡áτÑ¡¿∩ "óδó«ñ_óδαáª".
  2305.      Åα¿  π¬áºá¡¿¿  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá   {$I-}   Σπ¡¬µ¿∩
  2306. IORÑsult íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ 0 ó Γ«¼ ß½πτáÑ, Ñß½¿ «»Ñ-
  2307. αᵿ∩ ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«, ¿ ¡Ñ¡π½Ñó«⌐ ¬«ñ «Φ¿í¬¿ ó  »α«Γ¿ó-
  2308. ¡«¼ ß½πτáÑ.
  2309.      Äúαá¡¿τÑ¡¿∩: öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ ñ½∩ óδó«ñá.
  2310.      ÄΓ½¿τ¿∩: æ¼. Åα¿½«ªÑ¡¿Ñ Ç  "Éπ¬«ó«ñßΓóá  »«½∞º«óáΓѽ∩",
  2311. úñÑ  «»¿ßδóáεΓß∩ αẽ¿τ¿∩ ¼Ñªñπ óÑαß¿∩¼¿ 3.0, 4.0 ¿ 5.0 Æπα-
  2312. í«-Åá߬á½∩.
  2313.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ Writeln.
  2314.  
  2315. ------------------------------------------------------------
  2316.  Åα«µÑñπαá Writeln
  2317. ------------------------------------------------------------
  2318.      öπ¡¬µ¿∩: éδ»«½¡∩ÑΓ »α«µÑñπαπ Write, á ºáΓѼ  ºá»¿ßδóáÑΓ
  2319. ó Σá⌐½ ¼Ñì𠬫¡µá ßΓ᫬¿.
  2320.      Ä»¿ßá¡¿Ñ: Writeln( [ var f : text; ] v1, [, v2,...,vn])
  2321.      Åα¿¼Ñτá¡¿∩: äá¡¡á∩ »α«µÑñπαá ∩ó½∩ÑΓß∩ αáßΦ¿αÑ¡¿Ñ¼  »α«-
  2322. µÑñπαδ Write ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó. Å«ß½Ñ óδ»«½¡Ñ¡¿∩ »α«µÑñπ-
  2323. αδ Write »α«µÑñπαá Writeln  ºá»¿ßδóáÑΓ  ¼ÑΓ¬π  ¬«¡µá  ßΓ᫬¿
  2324. (ó«ºóαáΓ ¬áαÑΓ¬¿ / »ÑαÑó«ñ ßΓ᫬¿).
  2325.      Åα¿ ó맮óÑ ñá¡¡«⌐ »α«µÑñπαδ íѺ »áαá¼ÑΓα«ó  (Write(f)),
  2326. ó  Σá⌐½  ºá»¿ßδóáÑΓß∩ ¼ÑΓ¬á ¬«¡µá ßΓ᫬¿. (Åα«µÑñπαá Writeln
  2327. íѺ  π¬áºá¡¿∩  ß»¿ß¬á  »áαá¼ÑΓα«ó  »«½¡«ßΓ∞ε   ß««ΓóÑΓßΓóπÑΓ
  2328. »α«µÑñπαÑ Writeln(Output)).
  2329.      Äúαá¡¿τÑ¡¿∩: öá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ ñ½∩ óδó«ñá.
  2330.      ÄΓ½¿τ¿∩: æ¼. Åα¿½«ªÑ¡¿Ñ Ç  "Éπ¬«ó«ñßΓóá  »«½∞º«óáΓѽ∩",
  2331. úñÑ  «»¿ßδóáεΓß∩ αẽ¿τ¿∩ ¼Ñªñπ óÑαß¿∩¼¿ 3.0, 4.0 ¿ 5.0 Æπα-
  2332. í«-Åá߬á½∩.
  2333.      Åα«τÑÑ: æ¼. ΓᬪѠ»α«µÑñπαπ Write.
  2334.  
  2335.  
  2336.