home *** CD-ROM | disk | FTP | other *** search
/ BBS 1 / BBS#1.iso / document / pas60pg.lzh / PG09.MY < prev    next >
Text File  |  1991-01-28  |  17KB  |  406 lines

  1.                              âïÇéÇ 9.
  2.  
  3.                         ÅÉÄâÉÇîê îÄäôïê.
  4.  
  5.  
  6.                        æ¿¡Γá¬ß¿ß »α«úαá¼¼δ.
  7.  
  8.      Åα«úαá¼¼á ó  Turbo  Pascal ¿¼ÑÑΓ Γᬫ⌐ ªÑ ó¿ñ,  ¬á¬ «íΩ∩ó½Ñ¡¿Ñ
  9. »α«µÑñπαδ, ºá ¿ß¬½ετÑ¡¿Ñ¼  ºáú«½«ó¬á  »α«úαá¼¼δ  ¿  ¡Ñ«í∩ºáΓѽ∞¡«ú«
  10. »αÑñ½«ªÑ¡¿∩ uses.
  11.  
  12.  
  13. »α«úαá¼¼á
  14.   │      ┌─────────┐   ┌─┐                        ┌────┐   ┌─┐
  15.   └───┬─÷│ºáú«½«ó«¬├──÷│;├────┬──────────────────÷│í½«¬├──÷│.├──÷
  16.       │  │»α«úαá¼¼δ│   └─┘ °  │  ┌───────────┐ °  └────┘   └─┘
  17.       │  └─────────┘       │  └─÷│»αÑñ½«ªÑ¡¿Ñ├─┘
  18.       └────────────────────┘     │   uses    │
  19.                                  └───────────┘
  20.  
  21.  
  22.                        çáú«½«ó«¬ »α«úαá¼¼δ.
  23.  
  24.      çáú«½«ó«¬ »α«úαá¼¼δ «»αÑñѽ∩ÑΓ ¿¼∩ »α«úαá¼¼δ ¿ ÑÑ »áαá¼ÑΓαδ.
  25.  
  26.  
  27. ºáú«½«ó«¬ »α«úαá¼¼δ
  28.  │
  29.  │   ┌───────┐   ┌─────────────┐
  30.  └──÷│program├──÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬──────────────────────────────÷
  31.      └───────┘   └─────────────┘ │  ┌─┐   ┌─────────┐   ┌─┐ °
  32.                                  └─÷│(├──÷│»áαá¼ÑΓαδ├──÷│)├─┘
  33.                                     └─┘   │»α«úαá¼¼δ│   └─┘
  34.                                           └─────────┘
  35.  
  36.                           ┌───────────────┐
  37. »áαá¼ÑΓαδ »α«úαá¼¼δ  ────÷│   ß»¿ß«¬      ├────÷
  38.                           │¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó│
  39.                           └───────────────┘
  40.  
  41.  
  42.      àß½¿ ºáú«½«ó«¬  »α«úαá¼¼δ  »α¿ßπΓßΓóπÑΓ,  Γ« «¡ ∩ó½∩ÑΓß∩ τ¿ßΓ«
  43. ñѬ«αáΓ¿ó¡«⌐ ñÑΓá½∞ε ¿ ¿ú¡«α¿απÑΓß∩ ¬«¼»¿½∩Γ«α«¼.
  44.  
  45.  
  46.                          ÅαÑñ½«ªÑ¡¿Ñ uses.
  47.  
  48.      ÅαÑñ½«ªÑ¡¿Ñ uses   ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ   óßÑ  ¼«ñπ½¿,  ¿ß»«½∞ºπѼδÑ
  49. »α«úαá¼¼«⌐,  ó¬½ετá∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¿ß»«½∞ºπѼδÑ ¼«ñπ½¿ ¿  ¼«ñπ½¿,
  50. ¿ß»«½∞ºπѼδÑ φΓ¿¼¿ ¼«ñπ½∩¼¿.
  51.  
  52.  
  53.                      ┌────┐      ┌─────────────┐      ┌─┐
  54. »αÑñ½«ªÑ¡¿Ñ uses ───÷│uses├──┬──÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─────÷│;├───÷
  55.                      └────┘  │   └─────────────┘  °   └─┘
  56.                              │      ┌─┐           │
  57.                              └─────÷│,├───────────┘
  58.                                     └─┘
  59.  
  60.      î«ñπ½∞ System   óßÑúñá   ¿ß»«½∞ºπÑΓß∩   áóΓ«¼áΓ¿τÑ߬¿.  System
  61. αÑ὿ºπÑΓ óÑß∞   ¡¿ª¡¿⌐   πα«óÑ¡∞,   »«ññÑ᪬𠠠»α«úαá¼¼   óαѼѡ¿
  62. óδ»«½¡Ñ¡¿∩ ñ½∩  »«ññÑ᪬¿  Γᬿσ ßαÑñßΓó,  ¬á¬ Σá⌐½«óδ⌐ óó«ñ/óδó«ñ,
  63. «íαáí«Γ¬á  ßΓ᫬,  «»Ñαᵿ¿  ß  »½áóáεΘÑ⌐   ºá»∩Γ«⌐,   ñ¿¡á¼¿τÑ߬«Ñ
  64. αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ¿ ñαπú¿σ. èα«¼Ñ System, Turbo Pascal αÑ὿ºπÑΓ
  65. ¼¡«ú¿Ñ ßΓá¡ñáαΓ¡δÑ ¼«ñπ½¿,  ΓᬿѠ¬á¬ Printer,  Dos ¿ Crt.  Ä¡¿  ¡Ñ
  66. ¿ß»«½∞ºπεΓß∩ áóΓ«¼áΓ¿τÑ߬¿:  éδ  ñ«½ª¡δ  «í∩ºáΓѽ∞¡«  ó¬½ετ¿Γ∞ ¿σ ó
  67. »αÑñ½«ªÑ¡¿Ñ uses, ¡á»α¿¼Ñα:
  68.  
  69.      uses Dos, Crt; {ΓÑ»Ñα∞ »«½πτÑ¡ ñ«ßΓπ» ¬ ßαÑñßΓóá¼ Dos ¿ Crt}
  70.  
  71.      Å«α∩ñ«¬ »ÑαÑτ¿ß½Ñ¡¿∩ ¼«ñπ½Ñ⌐  ó  uses  «»αÑñѽ∩ÑΓ  »«α∩ñ«¬  ¿σ
  72. ¿¡¿µ¿á½¿ºáµ¿¿. æ¼. αáºñѽ "Éáºñѽ ¿¡¿µ¿á½¿ºáµ¿¿".
  73.  
  74.  
  75.                         C¿¡Γá¬ß¿ß ¼«ñπ½Ñ⌐.
  76.  
  77.      î«ñπ½¿ ∩ó½∩εΓß∩   ó   Turbo    Pascal    «ß¡«ó«⌐    ¼«ñπ½∞¡«ú«
  78. »α«úαá¼¼¿α«óá¡¿∩.  Ä¡¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ ß«ºñá¡¿∩ í¿í½¿«ΓѬ, ¬«Γ«αδÑ
  79. ¼«úπΓ  ó¬½ετáΓ∞ß∩  ó  αẽ¿τ¡δÑ  »α«úαá¼¼δ  (»α¿  φΓ«¼   ßΓá¡«ó¿Γß∩
  80. ¡Ñ«í∩ºáΓѽ∞¡δ¼  ¿¼ÑΓ∞ ó ¡á½¿τ¿¿ ¿ßσ«ñ¡δ⌐ ¬«ñ),  á í«½∞Φ¿Ñ »α«úαá¼¼δ
  81. ¼«úπΓ »«ñαáºñѽ∩Γ∞ß∩ ¡á ½«ú¿τÑ߬¿ ßó∩ºá¡¡δÑ ¼«ñπ½¿.
  82.  
  83.  
  84.               ┌─────────┐   ┌─┐   ┌──────────┐
  85. ¼«ñπ½∞  ─────÷│ºáú«½«ó«¬├──÷│;├──÷│¿¡ΓÑαΣÑ⌐ß-├───┐
  86.               │ ¼«ñπ½∩  │   └─┘   │¡δ⌐ αáºñѽ│   │
  87.               └─────────┘         └──────────┘   │
  88.             ┌────────────────────────────────────┘
  89.             │  ┌──────────┐    ┌─────────────┐   ┌─┐
  90.             └─÷│ αáºñѽ   ├───÷│ αáºñѽ      ├──÷│.├──÷
  91.                │αÑ὿ºáµ¿¿│    │¿¡¿µ¿á½¿ºáµ¿¿│   └─┘
  92.                └──────────┘    └─────────────┘
  93.  
  94.  
  95.  
  96.                          çáú«½«ó«¬ ¼«ñπ½∩.
  97.  
  98.      é ºáú«½«ó¬Ñ ¼«ñπ½∩ «»αÑñѽ∩ÑΓß∩ ¿¼∩ ¼«ñπ½∩
  99.  
  100.  
  101.                      ┌────┐   ┌────────────────────┐
  102. ºáú«½«ó«¬ ¼«ñπ½∩ ───÷│unit│──÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩│────÷
  103.                      └────┘   └────────────────────┘
  104.  
  105.  
  106.      ê¼∩ ¼«ñπ½∩ ¿ß»«½∞ºπÑΓß∩ »α¿ ßßδ½¬Ñ  ¡á  ¼«ñπ½∞  ó  »αÑñ½«ªÑ¡¿¿
  107. uses. ¥Γ«   ¿¼∩ ñ«½ª¡« íδΓ∞ π¡¿¬á½∞¡δ¼,  Γᬠ¬á¬ ñóá ¼«ñπ½∩ ß «ñ¡¿¼
  108. ¿¼Ñ¡Ñ¼ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ «ñ¡«óαѼѡ¡«.
  109.  
  110.  
  111.                        ê¡ΓÑαΣÑ⌐ß¡δ⌐ αáºñѽ.
  112.  
  113.      é ¿¡ΓÑαΣÑ⌐ß¡«¼  αáºñѽѠ «íΩ∩ó½∩εΓß∩   ΓÑ   ¬«¡ßΓá¡Γδ,   Γ¿»δ,
  114. »ÑαѼѡ¡δÑ,  »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ¬«Γ«αδÑ ∩ó½∩εΓß∩ ú½«íá½∞¡δ¼¿, Γ«
  115. ÑßΓ∞ ñ«ßΓπ»¡δ¼¿ «ß¡«ó¡«⌐ »α«úαἼѠ(»α«úαἼѠ¿½¿  ¼«ñπ½ε,  ¬«Γ«αδÑ
  116. ¿ß»«½∞ºπεΓ  ñá¡¡δ⌐ ¼«ñπ½∞).  Äß¡«ó¡á∩ »α«úαἼᠿ¼ÑÑΓ ñ«ßΓπ» ¬ φΓ¿¼
  117. φ½Ñ¼Ñ¡Γá¼, ¬á¬ Ñß½¿ íδ «¡¿  í뫨  íδ  «íΩ∩ó½Ñ¡δ  ó  í½«¬Ñ,  ¬«Γ«αδ⌐
  118. ó¬½ετáÑΓ ú½áó¡πε »α«úαá¼¼π.
  119.  
  120. ¿¡ΓÑαΣÑ⌐ß¡δ⌐ αáºñѽ
  121.  │
  122.  │  ┌─────────┐
  123.  └─÷│interfaße├─┬──────────────────────────────────────────────┬─÷
  124.     │         │ │  ┌───────────┐° ° │  ┌──────────────────┐  ° │
  125.     └─────────┘ └─÷│»αÑñ½«ªÑ¡¿Ñ├┘ │ ├─÷│αáºñѽ «íΩ∩ó½Ñ¡¿∩ ├──┤ │
  126.                    │   uses    │  │ │  │   ¬«¡ßΓá¡Γ       │  │ │
  127.                    └───────────┘  │ │  └──────────────────┘  │ │
  128.                                   │ │  ┌──────────────────┐  │ │
  129.                                   │ ├─÷│αáºñѽ «íΩ∩ó½Ñ¡¿∩ ├──┤ │
  130.                                   │ │  │Γ¿»«ó »ÑαѼѡ¡δσ  │  │ │
  131.                                   │ │  └──────────────────┘  │ │
  132.                                   │ │  ┌──────────────────┐  │ │
  133.                                   │ ├─÷│αáºñѽ «íΩ∩ó½Ñ¡¿∩ ├──┤ │
  134.                                   │ │  │»ÑαѼѡ¡δσ        │  │ │
  135.                                   │ │  └──────────────────┘  │ │
  136.                                   │ │  ┌──────────────────┐  │ │
  137.                                   │ └─÷│αáºñѽ ºáú«½«ó¬«ó ├──┘ │
  138.                                   │    │»α«µÑñπα ¿ Σπ¡¬µ¿⌐│    │
  139.                                   │    └──────────────────┘    │
  140.                                   └────────────────────────────┘
  141.  
  142. αáºñѽ ºáú«½«ó¬«ó
  143. »α«µÑñπα ¿ Σπ¡¬µ¿⌐
  144.   │        ┌─────────┐           ┌─┐
  145.   └────┬──÷│ºáú«½«ó«¬├──────────÷│;├─┬───────────────────────÷
  146.        │   │»α«µÑñπαδ│        °  └─┘ │  ┌─────────┐   ┌─┐ °
  147.        │   └─────────┘        │      └─÷│ñ¿αÑ¬Γ¿óá├──÷│;├─┘
  148.        │  ┌─────────────────┐ │         │ inline  │   └─┘
  149.        └─÷│ºáú«½«ó«¬ Σπ¡¬µ¿¿├─┘         └─────────┘
  150.           └─────────────────┘
  151.  
  152.  
  153.      àß½¿ »α«µÑñπαá  ¿½¿  Σπ¡¬µ¿∩  ¡Ñ  «íΩ∩ó½Ñ¡á  ¬á¬  inline,   Γ«
  154. ¿¡ΓÑαΣÑ⌐ß¡δ⌐   αáºñѽ   Γ«½∞¬«  »ÑαÑτ¿ß½∩ÑΓ  ºáú«½«ó¬¿  »α«µÑñπα  ¿
  155. Σπ¡¬µ¿⌐. ÆÑ½á »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¡áσ«ñ∩Γß∩ ó αáºñѽѠαÑ὿ºáµ¿¿.
  156.  
  157.  
  158.                         Éáºñѽ αÑ὿ºáµ¿¿.
  159.  
  160.      é αáºñѽѠ  αÑ὿ºáµ¿¿  «»αÑñѽ∩εΓß∩  ¼«ñπ½¿  óßÑσ  ú½«íá½∞¡δσ
  161. »α«µÑñπα ¿  Σπ¡¬µ¿⌐.  é  ¡Ñ¼  ΓᬪѠ «»¿ßδóáεΓß∩  ¬«¡ßΓá¡Γδ,  Γ¿»δ,
  162. »ÑαѼѡ¡δÑ,  »α«µÑñπαδ  ¿ Σπ¡¬µ¿¿,  ∩ó½∩εΘ¿Ñß∩ ½«¬á½∞¡δ¼¿,  Γ« ÑßΓ∞
  163. ¡Ññ«ßΓπ»¡δ¼¿ «ß¡«ó¡«⌐ »α«úαá¼¼Ñ.
  164.  
  165.  
  166. αáºñѽ αÑ὿ºáµ¿¿
  167.  │
  168.  │  ┌─────────┐
  169.  └─÷│implemen-├─┬────────────────────┬─────────────────────────┬─>
  170.     │ tation  │ │  ┌───────────┐ ° ° │  ┌──────────────────┐ ° │                       ° │
  171.     └─────────┘ └─>│»αÑñ½«ªÑ¡¿Ñ├─┘ │ ├─>│αáºñѽ «íΩ∩ó½Ñ¡¿∩ ├─┤ │
  172.                    │   uses    │   │ │  │    ¼ÑΓ«¬         │ │ │
  173.                    └───────────┘   │ │  └──────────────────┘ │ │
  174.                                    │ │  ┌──────────────────┐ │ │
  175.                                    │ ├─>│αáºñѽ «íΩ∩ó½Ñ¡¿∩ ├─┤ │
  176.                                    │ │  │    ¬«¡ßΓá¡Γ      │ │ │
  177.                                    │ │  └──────────────────┘ │ │
  178.                                    │ │  ┌──────────────────┐ │ │
  179.                                    │ ├─>│αáºñѽ «íΩ∩ó½Ñ¡¿∩ ├─┤ │
  180.                                    │ │  │Γ¿»«ó »ÑαѼѡ¡δσ  │ │ │
  181.                                    │ │  └──────────────────┘ │ │
  182.                                    │ │  ┌──────────────────┐ │ │
  183.                                    │ ├─>│αáºñѽ «íΩ∩ó½Ñ¡¿∩ ├─┤ │
  184.                                    │ │  │»ÑαѼѡ¡δσ        │ │ │
  185.                                    │ │  └──────────────────┘ │ │
  186.                                    │ │  ┌──────────────────┐ │ │
  187.                                    │ └─>│αáºñѽ «íΩ∩ó½Ñ¡¿∩ ├─┘ │
  188.                                    │    │»α«µÑñπα ¿ Σπ¡¬µ¿⌐│   │
  189.                                    │    └──────────────────┘   │
  190.                                    └───────────────────────────┘
  191.  
  192.      Å« ¼Ñσá¡¿º¼π   ñÑ⌐ßΓó¿∩   «íΩ∩ó½Ñ¡¿Ñ   »α«µÑñπα  ¿  Σπ¡¬µ¿⌐  ó
  193. ¿¡ΓÑαΣÑ⌐ß¡«¼ αáºñѽѠá¡á½«ú¿τ¡« forward «íΩ∩ó½Ñ¡¿ε,  σ«Γ∩ ñ¿αÑ¬Γ¿óá
  194. forward  ¡Ñ  π¬áºδóáÑΓß∩.  Æᬿ¼  «íαẫ¼,  φΓ¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  195. ¼«úπΓ  íδΓ∞  «»αÑñÑ½Ñ¡δ  (¿  ¬  ¡¿¼  ¼«ª¡«   «íαáΘáΓ∞ß∩   ó   ½εí«⌐
  196. »«ß½Ññ«óáΓѽ∞¡«ßΓ¿) ó αáºñѽѠαÑ὿ºáµ¿¿.
  197.  
  198.      Åα¿¼Ñτá¡¿Ñ: çáú«½«ó¬¿    »α«µÑñπα   ¿   Σπ¡¬µ¿⌐   ¼«úπΓ   íδΓ∞
  199. ßñπí½¿α«óá¡δ  ¿º  ¿¡ΓÑαΣÑ⌐ß¡«ú«  αáºñѽá.  ìÑ«í∩ºáΓѽ∞¡«   ºáñáóáΓ∞
  200. ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó,  ¡« Ñß½¿ óδ ßñѽ὿ φΓ«,  Γ« ó ß½πτáÑ
  201. ¡Ñß««ΓóÑΓßΓó¿∩  «íΩ∩ó½Ñ¡¿∩  ó  ¿¡ΓÑαΣÑ⌐ß¡«¼   αáºñѽѠ  ¿   αáºñѽÑ
  202. αÑ὿ºáµ¿¿ ¬«¼»¿½∩Γ«α óδñáßΓ «Φ¿í¬π óαѼѡ¿ ¬«¼»¿½∩µ¿¿.
  203.  
  204.  
  205.                        Éáºñѽ ¿¡¿µ¿á½¿ºáµ¿¿.
  206.  
  207.      Éáºñѽ ¿¡¿µ¿á½¿ºáµ¿¿ ∩ó½∩ÑΓß∩ »«ß½Ññ¡¿¼  αáºñѽ«¼  ¼«ñπ½∩.  Ä¡
  208. ¼«ªÑΓ  ß«ßΓ«∩Γ∞ ½¿í« ¿º ºáαѺÑαó¿α«óá¡¡«ú« ß½«óá end (ó φΓ«¼ ß½πτáÑ
  209. ¼«ñπ½∞ ¡Ñ ß«ñÑαª¿Γ ¬«ñá ¿¡¿µ¿á½¿ºáµ¿¿),  ½¿í« ¿º «»ÑαáΓ«α¡«⌐ τáßΓ¿,
  210. ¬«Γ«αá∩ ñ«½ª¡á óδ»«½¡∩Γ∞ß∩ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩.
  211.  
  212.  
  213.                             ┌───┐
  214. αáºñѽ ¿¡¿µ¿á½¿ºáµ¿¿ ───┬──>│end├──────────────────>
  215.                         │   └───┘              °
  216.                         │  ┌─────────────────┐ │
  217.                         └─>│«»ÑαáΓ«α¡á∩ τáßΓ∞├─┘
  218.                            └─────────────────┘
  219.  
  220.      ÉáºñÑ½δ ¿¡¿µ¿á½¿ºáµ¿¿    ¼«ñπ½Ñ⌐,     ¬«Γ«αδÑ     ¿ß»«½∞ºπεΓß∩
  221. »α«úαá¼¼«⌐,  óδ»«½¡∩εΓß∩ ó Γ«¼ ªÑ »«α∩ñ¬Ñ, ó ¬á¬«¼ ¼«ñπ½¿ π¬áºá¡δ ó
  222. »αÑñ½«ªÑ¡¿¿ uses.
  223.  
  224.  
  225.              è«ßóÑ¡¡δÑ ßß佬¿ ¡á ¿ß»«½∞ºπѼδÑ ¼«ñπ½¿.
  226.  
  227.      é »αÑñ½«ªÑ¡¿¿  uses  ó  »α«úαἼѠ¿½¿ ¼«ñπ½Ñ π¬áºδóáεΓß∩ ¿¼Ñ¡á
  228. Γ«½∞¬« ΓÑσ ¼«ñπ½Ñ⌐,  ¬«Γ«αδÑ ∩ó¡« ¿ß»«½∞ºπεΓß∩  φΓ¿¼  ¼«ñπ½Ñ¼  (¿½¿
  229. »α«úαá¼¼«⌐).
  230.      Éáßß¼«Γα¿¼ ß½ÑñπεΘ¿⌐ »α¿¼Ñα:
  231.  
  232.                program Prog;
  233.                uses Unit2;
  234.                const a = b;
  235.                begin
  236.                end.
  237.  
  238.                unit Unit2;
  239.                interfase
  240.                uses Unit1;
  241.                const b = c;
  242.                implementation
  243.                end.
  244.  
  245.                unit Unit1;
  246.                interfase
  247.                const c = 1;
  248.                implementation
  249.                const d = 2;
  250.                end.
  251.  
  252.      é »α¿óÑñÑ¡¡«¼ óδΦÑ »α¿¼ÑαÑ Unit2 ∩ó¡« ºáó¿ß¿Γ «Γ Unit1, á Prog
  253. ∩ó¡«  ºáó¿ß¿Γ  «Γ Unit2.  ü«½ÑÑ Γ«ú«,  Prog ¡Ñ∩ó¡« ºáó¿ß¿Γ «Γ Unit1
  254. (τÑαѺ Unit2),  σ«Γ∩ ¡¿  «ñ¿¡  ¿º  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,  «íΩ∩ó½Ñ¡¡δσ  ó
  255. Unit1, ¡Ññ«ßΓπ»Ñ¡ Prog.
  256.      ùΓ«íδ «Γ¬«¼»¿½¿α«óáΓ∞ ¼«ñπ½∞,  Turbo Pascal ñ«½ªÑ¡  ¡á⌐Γ¿  óßÑ
  257. ¼«ñπ½¿,  «Γ  ¬«Γ«αδσ  φëà ¼«ñπ½∞ ºáó¿ß¿Γ (∩ó¡« ¿½¿ ¡Ñ∩ó¡«).  Æá¬,
  258. τΓ«íδ «Γ¬«¼»¿½¿α«óáΓ∞ Prog,  ¬«¼»¿½∩Γ«α ñ«½ªÑ¡ ¡á⌐Γ¿ Unit1 ¿ Unit2,
  259. ó »α«Γ¿ó¡«¼ ß½πτáÑ »α«¿º«⌐ñÑΓ «Φ¿í¬á.
  260.      è«úñá ó ¿¡ΓÑαΣÑ⌐ß¡πε τáßΓ∞ ¼«ñπ½∩ ó¡«ß∩Γß∩  ¿º¼Ñ¡Ñ¡¿∩,  ñαπú¿Ñ
  261. ¼«ñπ½¿,    ¿ß»«½∞ºπεΘ¿Ñ    φëà   ¼«ñπ½∞,   ñ«½ª¡δ   íδΓ∞   ºá¡«ó«
  262. «Γ¬«¼»¿½¿α«óá¡δ. Äñ¡á¬«,  Ñß½¿ ¿º¼Ñ¡Ñ¡¿∩ ¬«ß¡π½¿ß∞  Γ«½∞¬«  αáºñѽá
  263. αÑ὿ºáµ¿¿ ¿½¿ αáºñѽᠿ¡¿µ¿á½¿ºáµ¿¿,  Γ« ñαπú¿Ñ ¼«ñπ½¿,  ó ¬«Γ«αδσ
  264. ¿ß»«½∞ºπÑΓß∩ φë༫ñπ½∞,  »ÑαѬ«¼»¿½¿α«óáΓ∞ ¡Ñ ¡πª¡«. é »αÑñδñπΘѼ
  265. »α¿¼ÑαÑ,  Ñß½¿ ¿¡ΓÑαΣÑ⌐ß¡á∩ τáßΓ∞ ¼«ñπ½∩ Unit1 ¿º¼Ñ¡∩½áß∞ (¡á»α¿¼Ñα
  266. æ = 2),  Γ« ¼«ñπ½∞  Unit2  ¡πª¡«  »ÑαѬ«¼»¿½¿α«óáΓ∞.  êº¼Ñ¡Ñ¡¿Ñ  ªÑ
  267. αáºñѽá αÑ὿ºáµ¿¿ (¡á»α¿¼Ñα, D=1) ¡Ñ ΓαÑíπÑΓ »ÑαѬ«¼»¿½∩µ¿¿ Unit2.
  268.      Åα¿ ¬«¼»¿½∩µ¿¿ ¼«ñπ½∩ ó Turbo  Pascal  ¡á  «ß¡«óÑ  ¬«¡Γα«½∞¡«⌐
  269. ßπ¼¼δ  ¿¡ΓÑαΣÑ⌐ß¡«ú«  αáºñѽᠠóδτ¿ß½∩ÑΓß∩  ¡«¼Ñα óÑαß¿¿ ¼«ñπ½∩.  é
  270. »αÑñδñπΘѼ »α¿¼ÑαÑ »α¿ ¬«¼»¿½∩µ¿¿ ¼«ñπ½∩ Unit2  ó «Γ¬«¼»¿½¿α«óá¡¡«⌐
  271. óÑαß¿¿  ¼«ñπ½∩  Unit2  ß«σαá¡∩ÑΓß∩  ¡«¼Ñα óÑαß¿¿ ¼«ñπ½∩ Unit1.  Åα¿
  272. ¬«¼»¿½∩µ¿¿   «ß¡«ó¡«⌐   »α«úαá¼¼δ   ¡«¼Ñα   óÑαß¿¿   ¼«ñπ½∩   Unit1
  273. ßαáó¡¿óáÑΓß∩  ß  ¡«¼Ñα«¼ óÑαß¿¿,  ß«σαá¡Ñ¡¡δ¼ ó ¼«ñπ½Ñ Unit2.  àß½¿
  274. ¡«¼Ñαá óÑαß¿⌐ ¡Ñ ß«ó»áñáεΓ,  τΓ«  ßó¿ñÑΓѽ∞ßΓóπÑΓ  «í  ¿º¼Ñ¡Ñ¡¿¿  ó
  275. ¿¡ΓÑαΣÑ⌐ß¡«⌐  τáßΓ¿  ¼«ñπ½∩  Unit1  ß« óαѼѡ¿ »«ß½Ññ¡Ñ⌐ ¬«¼»¿½∩µ¿¿
  276. ¼«ñπ½∩ Unit2,  Γ« ¬«¼»¿½∩Γ«α,  ó ºáó¿ß¿¼«ßΓ¿ «Γ αѪ¿¼á  ¬«¼»¿½∩µ¿¿,
  277. óδñáÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ¿½¿ »ÑαѬ«¼»¿½¿απÑΓ ¼«ñπ½∞ Unit2.
  278.  
  279.  
  280.                      èαπú«óδÑ ßß佬¿ ¼«ñπ½Ñ⌐.
  281.  
  282.      é¬½ετÑ¡¿Ñ »αÑñ½«ªÑ¡¿∩  uses  ó   αáºñѽѠ  αÑ὿ºáµ¿¿   ¼«ñπ½∩
  283. »«ºó«½∩ÑΓ  óá¼  ß¬αδΓ∞ ó¡πΓαÑ¡¡¿Ñ φ½Ñ¼Ñ¡Γδ ¼«ñπ½∩,  Γᬠ¬á¬ ¼«ñπ½¿,
  284. ¿ß»«½∞ºπѼδÑ ó αáºñѽѠαÑ὿ºáµ¿¿, ¡Ñó¿ñ¿¼δ ñ½∩ »«½∞º«óáΓѽÑ⌐ φΓ«ú«
  285. ¼«ñπ½∩.  àΘÑ í«½ÑÑ ó᪡«, «ñ¡á¬«, τΓ« φΓ« ΓᬪѠ»«ºó«½∩ÑΓ ß«ºñáóáΓ∞
  286. óºá¿¼¡« ºáó¿ß¿¼δÑ ¼«ñπ½¿.
  287.      æ½ÑñπεΘá∩ »α«úαἼᠠ »«¬áºδóáÑΓ,   ¬á¬   ñóá   ¼«ñπ½∩   ¼«úπΓ
  288. "¿ß»«½∞º«óáΓ∞" ñαπú ñαπúá. Äß¡«ó¡á∩ »α«úαá¼¼á, Circular, ¿ß»«½∞ºπÑΓ
  289. ¼«ñπ½∞ Display.  Display ß«ñÑαª¿Γ «ñ¡π »α«úαá¼¼π,  WriteXY, ¬«Γ«αá∩
  290. ¿¼ÑÑΓ Γα¿ »áαá¼ÑΓαá: »áα𠬫«αñ¿¡áΓ (X,Y) ¿ ΓѬßΓ«ó«Ñ ß««íΘÑ¡¿Ñ ñ½∩
  291. óδó«ñá.  àß½¿  Γ«τ¬á  ß ¬««αñ¿¡áΓἿ (X,Y) ¡áσ«ñ¿Γß∩ ¡á φ¬αá¡Ñ,  Γ«
  292. WriteXY »ÑαÑñó¿úáÑΓ ¬παß«α ó (X,Y) ¿ óδó«ñ¿Γ ß««íΘÑ¡¿Ñ, ó »α«Γ¿ó¡«¼
  293. ß½πτáÑ «¡á óδºδóáÑΓ »α«ßΓπε »α«úαá¼¼π - «íαáí«Γτ¿¬ «Φ¿í«¬.
  294.      ä« ß¿σ »«α ¡ÑΓ ¡¿τÑú« ß½«ª¡«ú« - WriteXY  ¡áσ«ñ¿Γß∩  ó  Write.
  295. âñÑ   ªÑ   ºñÑß∞   óßΓαÑτáÑΓß∩   ¬απú«óá∩   ßßδ½¬á  ¼«ñπ½Ñ⌐  ¿  ¬á¬
  296. »α«úαá¼¼á-«íαáí«Γτ¿¬  «Φ¿í«¬  óδóÑñÑΓ  ßó«Ñ  ß««íΘÑ¡¿Ñ  «í  «Φ¿í¬Ñ?
  297. êß»«½∞º«ó᡿Ѽ  WriteXY  ß¡«óá.  Æᬿ¼  «íαẫ¼,  ¿¼ÑÑΓß∩  WriteXY,
  298. ¬«Γ«αá∩ óδºδóáÑΓ »α«úαá¼¼π  «íαáí«Γτ¿¬  «Φ¿í«¬  ShowError,  ¬«Γ«αá∩
  299. óδºδóáÑΓ WriteXY, τΓ«íδ »«¼ÑßΓ¿Γ∞ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ¡á φ¬αá¡.
  300.      àß½¿ óáΦá  ú«½«óá  ºá¬απª¿½áß∞,  »«ß¼«Γα¿ΓÑ  ¡á  ¿ßσ«ñ¡δ⌐  ¬«ñ
  301. »α¿¼Ñαá, ¿ óδ πó¿ñ¿ΓÑ, τΓ« ºñÑß∞ ¡ÑΓ ¡¿τÑú« σ¿Γα«ú«.
  302.      Äß¡«ó¡á∩ »α«úαá¼¼á Circular,  «τ¿ΘáÑΓ φ¬αá¡ ¿ Γਦñδ  óδºδóáÑΓ
  303. WriteXY :
  304.  
  305.           program Circular;
  306.           {óδó«ñ¿Γ ¡á φ¬αá¡ ΓѬßΓ, ¿ß»«½∞ºπ∩ WriteXY}
  307.           uses
  308.              Crt, Display;
  309.           begin
  310.              ClrScr;
  311.              WriteXY(1, 1, 'éÑασ¡¿⌐ ½Ñóδ⌐ πú«½ φ¬αá¡á');
  312.              WriteXY(100, 100, 'çá »αÑñѽἿ φ¬αá¡á');
  313.              WriteXY(81 - Length('髺óαáΓ ¡á φ¬αá¡'), 15,
  314.                                  'Back to reality');
  315.           end.
  316.  
  317.  
  318.      Å«ß¼«Γα¿ΓÑ ¡á  ¬««αñ¿¡áΓδ  (X,Y)  ó«  óΓ«α«¼  ó맮óÑ  WriteXY.
  319. Æαπñ¡« óδóÑßΓ¿ ΓѬßΓ ó Γ«τ¬Ñ (100,100) ¡á φ¬αá¡ 80x25 ßΓ᫬. äá½ÑÑ,
  320. ñáóá⌐ΓÑ »«ß¼«Γα¿¼,  ¬á¬ αáí«ΓáÑΓ WriteXY.  Åα¿óÑñѼ ¿ßσ«ñ¡δ⌐  ΓѬßΓ
  321. ¼«ñπ½∩ Display, ß«ñÑαªáΘ¿⌐ »α«µÑñπαπ WriteXY. àß½¿ ¬««αñ¿¡áΓδ (X,Y)
  322. ñÑ⌐ßΓó¿Γѽ∞¡δ, Γ« «¡ óδó«ñ¿Γ ¡á φ¬αá¡ ß««íΘÑ¡¿Ñ; ó »α«Γ¿ó¡«¼ ß½πτáÑ
  323. WriteXY óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ :
  324.  
  325.           unit Display;
  326.           {ß«ñÑαª¿Γ »α«ßΓπε »α«úαá¼¼π óδó«ñá ¡á φ¬αá¡}
  327.           interface
  328.           procedure WriteXY(X,Y: Integer; Message: String);
  329.           implementation
  330.           uses
  331.              Crt, Error;
  332.           procedure WriteXY(X,Y: Integer; Message: String);
  333.           begin
  334.              if (X in [1..80]) and (Y in [1..25]) then
  335.              begin
  336.                 GoToXY(X, Y);
  337.                 Write(Message);
  338.              end;
  339.              else
  340.                 ShowError('ìÑ»αáó¿½∞¡δÑ ¬««αñ¿¡áΓδ WriteXY');
  341.            end;
  342.            end.
  343.  
  344.      Åα«µÑñπαá ShowError,    óδºδóáѼá∩     »α«µÑñπα«⌐     WriteXY,
  345. «íΩ∩ó½Ñ¡á ó  ¼«ñπ½Ñ àrror.  ShowError óßÑúñá óδó«ñ¿Γ ßó«Ñ ß««íΘÑ¡¿Ñ
  346. «í «Φ¿í¬Ñ ¡á 25 ßΓα«¬Ñ φ¬αá¡á :
  347.  
  348.                unit Error;
  349.                {ß«ñÑαª¿Γ »α«ßΓπε »α«úαá¼¼π-«íαáí«Γτ¿¬ «Φ¿í«¬}
  350.                interface
  351.                procedure ShowError(ErrMsg: String);
  352.                implementation
  353.                uses
  354.                   Display;
  355.                procedure ShowError(ErrMsg: String);
  356.                begin
  357.                   WriteXy(1, 25, 'Error: ' + ErrMsg);
  358.                end;
  359.                end.
  360.  
  361.      çá¼ÑΓ¿¼, τΓ«  »αÑñ½«ªÑ¡¿Ñ uses ó αáºñѽáσ αÑ὿ºáµ¿⌐ Display ¿
  362. Error ßßδ½áεΓß∩ ñαπú ¡á ñαπúá.
  363.      ¥Γ¿ ñóá  ¼«ñπ½∩ ¼«úπΓ ßßδ½áΓ∞ß∩ ñαπú ¡á ñαπúá ó ßó«¿σ αáºñѽáσ
  364. αÑ὿ºáµ¿¿, »«Γ«¼π τΓ«  Turbo  Pascal  ¼«ªÑΓ  ¬«¼»¿½¿α«óáΓ∞  »«½¡δÑ
  365. αáºñѽδ interface  ñ½∩ «í«¿σ ¼«ñπ½Ñ⌐,  ñαπú¿¼¿ ß½«óἿ Turbo Pascal
  366. ñ«»π߬áÑΓ ßß佬π ¡á τáßΓ¿τ¡« «Γ¬«¼»¿½¿α«óá¡¡δ⌐ ¼«ñπ½∞ Ç  ó  αáºñѽÑ
  367. αÑ὿ºáµ¿¿  ¼«ñπ½∩  é,  »«¬á  ¿¡ΓÑαΣÑ⌐ß¡δÑ αáºñÑ½δ ¼«ñπ½Ñ⌐ Ç ¿ é ¡Ñ
  368. ºáó¿ß∩Γ ñαπú «Γ ñαπúá (¿ φΓ« ß½ÑñπÑΓ ßΓα«ú¿¼ »αáó¿½á¼  Åá߬á½∩  ñ½∩
  369. »«α∩ñ¬á «íΩ∩ó½Ñ¡¿∩).
  370.  
  371.  
  372.                    Éáºñѽѡ¿Ñ ñαπú¿σ «íΩ∩ó½Ñ¡¿⌐.
  373.  
  374.      ÅαÑñ»«½«ª¿¼, τΓ« éδ ºáσ«Γѽ¿ ¿º¼Ñ¡¿Γ∞ WriteXY ¿ ShowError Γá¬,
  375. τΓ«íδ óóÑßΓ¿ ñ«»«½¡¿Γѽ∞¡δ⌐ »áαá¼ÑΓα,  ¬«Γ«αδ⌐ ºáñáÑΓ »α∩¼«πú«½∞¡«Ñ
  376. «¬¡« ¡á φ¬αá¡Ñ :
  377.  
  378.     procedure WriteXY(SomeWindow: WindRec; X, Y: Integer;
  379.                       Message: String);
  380.     Procedure ShowError (SomeWindow: WindRec;
  381.                          ErrMsg: String);
  382.  
  383.      ìừ¼¡¿¼, τΓ« φΓ¿ »α«µÑñπαδ  ¡áσ«ñ∩Γß∩  ó  αẽ¿τ¡δσ  ¼«ñπ½∩σ.
  384. äáªÑ Ñß½¿  óδ  «íΩ∩ó¿ΓÑ  WindData  ó  ¿¡ΓÑαΣÑ⌐ßÑ «ñ¡«ú« ¼«ñπ½∩,  Γ«
  385. ¡Ñ½∞º∩ ºá¬«¡¡δ¼ »πΓѼ ßñѽáΓ∞ φΓ« «íΩ∩ó½Ñ¡¿Ñ ñ«ßΓπ»¡δ¼ ó ¿¡ΓÑαΣÑ⌐ßÑ
  386. ñαπú«ú«  ¼«ñπ½∩.  ÉÑΦÑ¡¿Ñ¼ φΓ«⌐ »α«í½Ñ¼δ ∩ó½∩ÑΓß∩ ß«ºñá¡¿Ñ ΓαÑΓ∞Ñú«
  387. ¼«ñπ½∩, ß«ñÑαªáΘÑú« Γ«½∞¬« «»αÑñѽѡ¿Ñ ºá»¿ß¿ «¬¡á:
  388.  
  389.                unit WindData;
  390.                interface
  391.                type
  392.                   WindRec = record
  393.                      X1, Y1, X2, Y2: Integer;
  394.                      ForeColor, BackColor: Byte;
  395.                      Activ: Boolean;
  396.                   end;
  397.                implementation
  398.                end.
  399.  
  400.      éñ«íá󫬠¬  ¼«ñ¿Σ¿¬áµ¿¿   ¬«ñá   WriteXY   ¿   ShowError   ñ½∩
  401. ¿ß»«½∞º«óá¡¿∩  ¡«ó«ú«  »áαá¼ÑΓαá,  ¿¡ΓÑαΣÑ⌐ß¡δÑ  αáºñÑ½δ  ¿  ¼«ñπ½∩
  402. Display,  ¿ ¼«ñπ½∩ Error ¼«úπΓ ΓÑ»Ñα∞ "¿ß»«½∞º«óáΓ∞" WindData.  ¥Γ«
  403. ßΓὫ ó«º¼«ª¡δ¼ »«Γ«¼π, τΓ« ¼«ñπ½∞ WindData ¡Ñ ¿¼ÑÑΓ ºáó¿ß¿¼«ßΓÑ⌐ ó
  404. »αÑñ½«ªÑ¡¿¿ uses,  á ¼«ñπ½∞ Display ¿ Error ßßδ½áεΓß∩ ñαπú ¡á ñαπúá
  405. Γ«½∞¬« ó ß««ΓóÑΓßΓóπεΘ¿σ αáºñѽáσ αÑ὿ºáµ¿¿.
  406.