home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / bp70-lr.doc / lr.doc
Encoding:
Text File  |  1993-12-15  |  1013.5 KB  |  20,527 lines

  1.                       Éπ¬«ó«ñßΓó« »« ∩ºδ¬π
  2. ═════════════════════════════════════════════════════════════════════════
  3.  
  4.          B.Pascal 7 & Objects/LR       - 1 -
  5.  
  6.         éóÑñÑ¡¿Ñ.......................................................10
  7.         Ä τѼ αáß߬áºδóáÑΓß∩ ó ñá¡¡«¼ απ¬«ó«ñßΓóÑ......................11
  8.         ùáßΓ∞ I. ƒºδ¬ Borland Pascal...................................12
  9.         â½áóá 1. ùΓ« ΓᬫѠ»α«úαá¼¼á Borland Pascal?...................12
  10.         Åα«úαá¼¼á Borland Pascal.......................................13
  11.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿............................................13
  12.         Ä»ÑαáΓ«αδ......................................................15
  13.         éδαáªÑ¡¿∩......................................................16
  14.         ïѬßѼδ........................................................17
  15.         Æ¿»δ, »ÑαѼѡ¡δÑ, ¬«¡ßΓá¡Γδ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ.........17
  16.         è«¼»«¡«ó¬á τáßΓÑ⌐..............................................19
  17.         î«ñπ½¿.........................................................20
  18.         æ¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ.......................................21
  19.         â½áóá 2. ïѬßѼδ...............................................22
  20.         æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ............................................22
  21.         çáαѺÑαó¿α«óá¡¡δÑ ß½«óá ¿ ßΓá¡ñáαΓ¡δÑ ñ¿αÑ¬Γ¿óδ Borland
  22.          Pascal........................................................24
  23.         êñÑ¡Γ¿Σ¿¬áΓ«αδ.................................................25
  24.         ù¿ß½á..........................................................27
  25.         îÑΓ¬¿..........................................................29
  26.         æΓ᫬¿ ß¿¼ó«½«ó................................................29
  27.         è«¼¼Ñ¡Γáα¿¿....................................................31
  28.         æΓ᫬¿ »α«úαá¼¼δ...............................................31
  29.         â½áóá 3. è«¡ßΓá¡Γδ.............................................32
  30.         â½áóá 4. Æ¿»δ..................................................34
  31.         Åα«ßΓδÑ Γ¿»δ...................................................35
  32.         Å«α∩ñ¬«óδÑ Γ¿»δ................................................35
  33.         ûѽ«τ¿ß½Ñ¡¡δÑ Γ¿»δ.............................................37
  34.         üπ½Ñó߬¿Ñ Γ¿»δ.................................................39
  35.         æ¿¼ó«½∞¡δ⌐ Γ¿» (char)..........................................40
  36.         ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ..............................................40
  37.         ÄΓαѺ¬¿ Γ¿»á...................................................41
  38.         éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ..............................................42
  39.         Åα«úαá¼¼¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.................43
  40.         Ç»»áαáΓ¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐..................43
  41.         æΓ᫬«óδÑ Γ¿»δ.................................................44
  42.         æΓαπ¬Γπα¡δÑ Γ¿»δ...............................................45
  43.         Æ¿»δ ¼áßß¿ó....................................................46
  44.         Æ¿»δ ºá»¿ß∞....................................................48
  45.         ÄíΩÑ¬Γ¡δÑ Γ¿»δ.................................................50
  46.         è«¼»«¡Ñ¡Γδ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩..................................54
  47.         îÑΓ«ñδ.........................................................54
  48.         é¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ.............................................54
  49.         ä¿¡á¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ............................................56
  50.         æ«ºñá¡¿Ñ φ¬ºÑ¼»½∩α«ó «íΩÑ¬Γ«ó..................................57
  51.         Ç¬Γ¿ó¿ºáµ¿∩ ¼ÑΓ«ñ«ó............................................59
  52.         Ç¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó.................................60
  53.         î¡«ªÑßΓóÑ¡¡δÑ Γ¿»δ.............................................61
  54.         öá⌐½«óδÑ Γ¿»δ..................................................62
  55.         æß佫τ¡δÑ Γ¿»δ.................................................63
  56.         Æ¿» Pointer....................................................64
  57.         Æ¿» PChar......................................................64
  58.         Åα«µÑñπα¡δÑ Γ¿»δ...............................................65
  59.  
  60.          B.Pascal 7 & Objects/LR       - 2 -
  61.  
  62.         Åα«µÑñπα¡δÑ º¡áτÑ¡¿∩...........................................65
  63.         æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó............................................67
  64.         Æ«ªñÑßΓóÑ¡¡δÑ ¿ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ...............................67
  65.         Æ«ªñÑßΓóÑ¡¡«ßΓ∞ Γ¿»«ó..........................................67
  66.         æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó............................................68
  67.         æ«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε..................................69
  68.         Éáºñѽ «»¿ßá¡¿∩ Γ¿»«ó..........................................70
  69.         â½áóá 5. ÅÑαѼѡ¡δÑ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ.................72
  70.         Ä»¿ßá¡¿∩ »ÑαѼѡ¡δσ............................................72
  71.         æÑú¼Ñ¡Γ ñá¡¡δσ.................................................73
  72.         æÑú¼Ñ¡Γ ßΓѬá..................................................73
  73.         Çíß«½εΓ¡δÑ »ÑαѼѡ¡δÑ..........................................74
  74.         æß佬¿ ¡á »ÑαѼѡ¡δÑ...........................................76
  75.         èóá½¿Σ¿¬áΓ«αδ..................................................77
  76.         îáßß¿óδ, ßΓ᫬¿ ¿ ¿¡ñѬßδ......................................78
  77.         çỿ߿ ¿ ñÑß¿ú¡áΓ«αδ »«½Ñ⌐.....................................79
  78.         äÑß¿ú¡áΓ«αδ ¬«¼»«¡Ñ¡Γ«ó «íΩѬΓá................................79
  79.         ÅÑαѼѡ¡δÑ-π¬áºáΓѽ¿ ¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ.................79
  80.         Åα¿óÑñÑ¡¿Ñ Γ¿»«ó »ÑαѼѡ¡δσ....................................81
  81.         Æ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ.......................................83
  82.         è«¡ßΓá¡Γδ »α«ßΓ«ú« Γ¿»á........................................84
  83.         è«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á......................................84
  84.         è«¡ßΓá¡Γδ ßΓαπ¬Γπα¡«ú« Γ¿»á....................................85
  85.         è«¡ßΓá¡Γδ Γ¿»á ¼áßß¿ó..........................................86
  86.         è«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞..........................................88
  87.         è«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á......................................89
  88.         è«¡ßΓá¡Γδ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á..................................90
  89.         è«¡ßΓá¡Γδ ßß佫τ¡«ú« Γ¿»á......................................91
  90.         è«¡ßΓá¡Γδ »α«µÑñπα¡«ú« Γ¿»á....................................92
  91.         â½áóá 6. éδαáªÑ¡¿∩.............................................93
  92.         æ¿¡Γá¬ß¿ß óδαáªÑ¡¿⌐............................................94
  93.         Ä»Ñαᵿ¿.......................................................99
  94.         Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿........................................99
  95.         ô¡áα¡δÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿...............................100
  96.         ï«ú¿τÑ߬¿Ñ «»Ñαᵿ¿...........................................101
  97.         üπ½Ñó߬¿Ñ «»Ñαᵿ¿............................................101
  98.         Ä»Ñαᵿ∩ ß« ßΓα«¬á¼¿..........................................103
  99.         Ä»Ñαᵿ¿ ¡áñ ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿..........................104
  100.         Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ......................................105
  101.         Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩............................................106
  102.         æαáó¡Ñ¡¿Ñ »α«ßΓδσ Γ¿»«ó.......................................107
  103.         æαáó¡Ñ¡¿Ñ ßΓ᫬...............................................107
  104.         æαáó¡Ñ¡¿Ñ π»á¬«óá¡¡δσ ßΓ᫬...................................107
  105.         æαáó¡Ñ¡¿Ñ π¬áºáΓѽÑ⌐..........................................107
  106.         æαáó¡Ñ¡¿Ñ ß¿¼ó«½∞¡δσ π¬áºáΓѽÑ⌐...............................108
  107.         æαáó¡Ñ¡¿Ñ ¼¡«ªÑßΓó............................................108
  108.         Åα«óÑα¬á ¡á »α¿¡áñ½Ñª¡«ßΓ∞ ¬ ¼¡«ªÑßΓóπ........................108
  109.         Ä»Ñαᵿ∩ @....................................................109
  110.         êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ »ÑαѼѡ¡«⌐.......................110
  111.         êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¿½¿
  112.          ¼ÑΓ«ñá.......................................................111
  113.         é맮óδ Σπ¡¬µ¿¿................................................111
  114.         Ä»¿ßáΓѽ¿ ¼¡«ªÑßΓóá...........................................113
  115.  
  116.          B.Pascal 7 & Objects/LR       - 3 -
  117.  
  118.         Åα¿óÑñÑ¡¿Ñ Γ¿»á º¡áτÑ¡¿⌐......................................114
  119.         Åα«µÑñπα¡δÑ Γ¿»δ ó óδαáªÑ¡¿∩σ.................................115
  120.         â½áóá 7. Ä»ÑαáΓ«αδ............................................117
  121.         Åα«ßΓδÑ «»ÑαáΓ«αδ.............................................117
  122.         Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩.........................................118
  123.         Ä»ÑαáΓ«αδ »α«µÑñπαδ...........................................119
  124.         Ä»ÑαáΓ«αδ »ÑαÑσ«ñá............................................120
  125.         æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ.........................................120
  126.         æ«ßΓáó¡δÑ «»ÑαáΓ«αδ...........................................121
  127.         ôß½«ó¡δÑ «»ÑαáΓ«αδ............................................121
  128.         Ä»ÑαáΓ«α πß½«ó¿∩ (if).........................................122
  129.         Ä»ÑαáΓ«α óáα¿á¡Γá (case)......................................123
  130.         Ä»ÑαáΓ«α µ¿¬½á................................................125
  131.         Ä»ÑαáΓ«α µ¿¬½á ß »«ßΓπß½«ó¿Ñ¼ (repeat)........................125
  132.         Ä»ÑαáΓ«αδ µ¿¬½á ß »αÑñπß½«ó¿Ñ¼ (while)........................127
  133.         Ä»ÑαáΓ«αδ µ¿¬½á ß »áαá¼ÑΓα«¼ (for)............................128
  134.         Ä»ÑαáΓ«α with.................................................131
  135.         â½áóá 8. ü½«¬¿, ½«¬á½∞¡«ßΓ∞ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩................133
  136.         æ¿¡Γá¬ß¿ß.....................................................133
  137.         Åαáó¿½á ñ½∩ «í½áßΓ¿ ñÑ⌐ßΓó¿∩..................................136
  138.         Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ñ½∩ í½«¬á....................................136
  139.         Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ºá»¿ß¿.......................................137
  140.         Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ «íΩѬΓá......................................137
  141.         Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¼«ñπ½∩.......................................137
  142.         â½áóá 9. Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿..................................139
  143.         Ä»¿ßá¡¿∩ near ¿ far...........................................141
  144.         Ä»¿ßá¡¿∩ export...............................................142
  145.         Ä»¿ßá¡¿∩ interrupt............................................143
  146.         Ä»¿ßá¡¿Ñ forward..............................................143
  147.         Ä»¿ßá¡¿∩ external.............................................145
  148.         Ä»¿ßá¡¿∩ assembler............................................147
  149.         Ä»¿ßá¡¿∩ inline...............................................147
  150.         Ä»¿ßá¡¿∩ Σπ¡¬µ¿⌐..............................................148
  151.         Ä»¿ßá¡¿∩ ¼ÑΓ«ñ«ó..............................................150
  152.         è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ....................................151
  153.         é«ßßΓá¡«ó½Ñ¡¿Ñ «Φ¿í«¬ ¬«¡ßΓαπ¬Γ«αá............................154
  154.         Åáαá¼ÑΓαδ.....................................................156
  155.         Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩............................................157
  156.         Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ...........................................157
  157.         Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ..........................................157
  158.         ìÑΓ¿»¿º¿α«óá¡¡δÑ »áαá¼ÑΓαδ....................................158
  159.         ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ............................................160
  160.         ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ..................................160
  161.         ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ-¼áßß¿óδ....................................162
  162.         ä¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ «íΩÑ¬Γ¡«ú« Γ¿»á.......................163
  163.         Åα«µÑñπα¡δÑ »ÑαѼѡ¡δÑ........................................165
  164.         Åáαá¼ÑΓαδ »α«µÑñπα¡«ú« Γ¿»á...................................168
  165.         â½áóá 10. Åα«úαá¼¼δ ¿ ¼«ñπ½¿..................................170
  166.         æ¿¡Γá¬ß¿ß »α«úαá¼¼............................................170
  167.         çáú«½«ó«¬ »α«úαá¼¼δ...........................................170
  168.         Ä»ÑαáΓ«α uses.................................................171
  169.         æ¿¡Γá¬ß¿ß ¼«ñπ½Ñ⌐.............................................172
  170.         çáú«½«ó«¬ ¼«ñπ½∩..............................................172
  171.  
  172.          B.Pascal 7 & Objects/LR       - 4 -
  173.  
  174.         ê¡ΓÑαΣÑ⌐ß¡á∩ ßѬµ¿∩...........................................173
  175.         æÑ¬µ¿∩ αÑ὿ºáµ¿¿.............................................174
  176.         æÑ¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿..........................................175
  177.         è«ßóÑ¡¡δÑ ßß佬¿ ¡á ¼«ñπ½¿....................................175
  178.         ÅÑαѬαÑßΓ¡δÑ ßß佬¿ ¡á ¼«ñπ½¿.................................177
  179.         æ«ó¼ÑßΓ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ «»¿ßá¡¿⌐.............................179
  180.         â½áóá 11. ä¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿..................180
  181.         ùΓ« ΓᬫѠDLL?................................................180
  182.         êß»«½∞º«óá¡¿Ñ DLL.............................................180
  183.         î«ñπ½¿ ¿¼»«αΓá................................................182
  184.         æΓáΓ¿τÑ߬¿⌐ ¿ ñ¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ.............................184
  185.         ìỿßá¡¿Ñ DLL.................................................185
  186.         ä¿αÑ¬Γ¿óá »α«µÑñπαδ export....................................187
  187.         Ä»ÑαáΓ«α exports..............................................187
  188.         è«ñ ¿¡¿µ¿á½¿ºáµ¿¿ í¿í½¿«ΓѬ¿..................................189
  189.         çá¼Ñτá¡¿∩ »« »α«úαá¼¼¿α«óá¡¿ε í¿í½¿«ΓѬ.......................191
  190.         â½«íá½∞¡δÑ »ÑαѼѡ¡δÑ ó DLL...................................191
  191.         â½«íá½∞¡δÑ »ÑαѼѡ¡δÑ ¿ Σá⌐½δ ó DLL...........................191
  192.         DLL ¿ ¼«ñπ½∞ System...........................................191
  193.         ÄΦ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩ ó DLL.................................192
  194.         DLL ¿ ßÑú¼Ñ¡Γδ ßΓѬá..........................................192
  195.         æ«ºñá¡¿Ñ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼδσ DLL...........................193
  196.         â½áóá 12. ü¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ......................194
  197.         î«ñπ½¿ Borland Pascal.........................................194
  198.         î«ñπ½∞ System.................................................195
  199.         î«ñπ½∞ Dos ¿ WinDos...........................................195
  200.         î«ñπ½∞ Crt....................................................195
  201.         î«ñπ½∞ WinCrt.................................................196
  202.         î«ñπ½∞ Printer................................................196
  203.         î«ñπ½∞ WinPrn.................................................196
  204.         î«ñπ½∞ Overlay................................................196
  205.         î«ñπ½∞ Strings................................................197
  206.         î«ñπ½∞ Graph..................................................197
  207.         î«ñπ½¿ Turbo3 ¿ Graph3........................................197
  208.         î«ñπ½¿ WinTypes ¿ WinProcs....................................197
  209.         î«ñπ½∞ Win31..................................................198
  210.         î«ñπ½∞ WinAPI.................................................198
  211.         î«ñπ½¿, »«ññÑনóáεΘ¿Ñ Windows 3.1............................198
  212.         â½áóá 13. æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.....................199
  213.         Åα«µÑñπαδ π»αáó½Ñ¡¿∩ αáí«Γ«⌐ »α«úαá¼¼δ........................200
  214.         öπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩........................................200
  215.         Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ Σπ¡¬µ¿¿........................................201
  216.         Å«α∩ñ¬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿................................202
  217.         æΓ᫬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.................................202
  218.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿........203
  219.         öπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß π¬áºáΓѽ∩¼¿ ¿ áñαÑßἿ...................204
  220.         Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿....................................205
  221.         ÅαÑñ«»¿ßá¡¡δÑ »ÑαѼѡ¡δÑ......................................206
  222.         â½áóá 14. éó«ñ ¿ óδó«ñ........................................215
  223.         öá⌐½«óδ⌐ óó«ñ-óδó«ñ...........................................217
  224.         ÆÑ¬ßΓ«óδÑ Σá⌐½δ...............................................219
  225.         ìÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ........................................221
  226.         ÅÑαѼѡ¡á∩ FileMode...........................................221
  227.  
  228.          B.Pascal 7 & Objects/LR       - 5 -
  229.  
  230.         ôßΓα«⌐ßΓóá ó Borland Pascal...................................222
  231.         ôßΓα«⌐ßΓóá DOS................................................223
  232.         ôßΓα«⌐ßΓó« CÄN................................................224
  233.         ôßΓα«⌐ßΓóá LÉT1, LÉT2 ¿ LÉT3..................................224
  234.         ôßΓα«⌐ßΓóá CÄî1 ¿ CÄî2........................................225
  235.         ôßΓα«⌐ßΓó« NUL................................................225
  236.         ôßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó..............225
  237.         éó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε ¼«ñπ½∩ Crt.............................226
  238.         êß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ CRT......................................227
  239.         Ä¬¡á CRT......................................................227
  240.         æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ...........................................228
  241.         éó«ñ ßΓ᫬....................................................228
  242.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Crt................................230
  243.         è«¡ßΓá¡Γδ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Crt.............................232
  244.         éó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε ¼«ñπ½∩ WinCrt..........................233
  245.         êß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ WinCrt...................................234
  246.         æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ...........................................236
  247.         éó«ñ ßΓ᫬....................................................236
  248.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿...........................................237
  249.         ÅÑαѼѡ¡δÑ ¼«ñπ½∩ WinCrt......................................239
  250.         ÅÑτáΓ∞ ¿º »α«úαá¼¼δ Windows...................................241
  251.         êº¼Ñ¡Ñ¡¿Ñ ºáú«½«ó¬«ó..........................................241
  252.         êº¼Ñ¡Ñ¡¿Ñ Φα¿ΣΓ«ó.............................................242
  253.         ÄßΓá¡«ó¬á ºáñá¡¿∩ »ÑτáΓ¿......................................243
  254.         æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ...........................................243
  255.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinPrn.............................244
  256.         öπ¡¬µ¿∩ Open..................................................246
  257.         öπ¡¬µ¿∩ InOut.................................................246
  258.         öπ¡¬µ¿∩ Flush.................................................247
  259.         öπ¡¬µ¿∩ Cl«sÑ.................................................247
  260.         â½áóá 15. êß»«½∞º«óá¡¿Ñ ß«»α«µÑßß«αá 80x87....................248
  261.         Æ¿»δ ñá¡¡δσ »α«µÑßß«αá 80x87..................................251
  262.         Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε................252
  263.         æαáó¡Ñ¡¿Ñ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ..................................253
  264.         æΓѬ óδτ¿ß½Ñ¡¿⌐ ß«»α«µÑßß«αá 80x87............................253
  265.         çỿß∞ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ »α¿ ¿ß»«½∞º«óá¡¿¿ ß«»α«µÑßß«αá
  266.          80x87........................................................255
  267.         î«ñπ½¿, ó ¬«Γ«αδσ ¿ß»«½∞ºπÑΓß∩ ß«»α«µÑßß«α 80x87..............255
  268.         Éáß»«º¡áóá¡¿Ñ ß«»α«µÑßß«αá 80σ87 ó »α«úαá¼¼áσ DOS.............256
  269.         Éáß»«º¡áóá¡¿Ñ ß«»α«µÑßß«αá 80x87 ó »α«úαἼѠWindows..........257
  270.         êß»«½∞º«óá¡¿Ñ φ¼π½∩µ¿¿ ß«»α«µÑßß«αá 80x87 ¡á ∩ºδ¬Ñ
  271.          áßßѼí½Ñαá...................................................258
  272.         â½áóá 16. î«ñπ½∞ D«s..........................................259
  273.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Dos................................260
  274.         è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Dos.......................263
  275.         Æ¿»δ..........................................................263
  276.         ÅÑαѼѡ¡δÑ ¼«ñπ½∩ Dos.........................................264
  277.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos.............................265
  278.         è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ WinDos....................268
  279.         Æ¿»δ..........................................................269
  280.         ÅÑαѼѡ¡δÑ ¼«ñπ½∩ WinDos......................................269
  281.         â½áóá 17. Åα«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS............270
  282.         ùΓ« ΓᬫѠºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼?...................................270
  283.  
  284.          B.Pascal 7 & Objects/LR       - 6 -
  285.  
  286.         ÉáßΦ¿αÑ¡¿∩ Borland ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.....................274
  287.         DPMI-ßÑαóÑα...................................................274
  288.         Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩................................274
  289.         Éáºαáí«Γ¬á »α¿¬½áñ¡δσ »α«úαá¼¼ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.........276
  290.         ìáñѪ¡«Ñ »α«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ.................276
  291.         çáúαπº¬á ó ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ ¡Ññ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐..........277
  292.         öπ¡¬µ¿∩ Ptr ¿ ¼áßß¿óδ Mem.....................................277
  293.         Çíß«½εΓ¡δÑ »ÑαѼѡ¡δÑ.........................................277
  294.         Ä»Ñαᵿ¿ ß ßÑú¼Ñ¡ΓἿ.........................................278
  295.         êß»«½∞º«óá¡¿Ñ ßÑú¼Ñ¡Γ¡δσ......................................278
  296.         ä«ßΓπ» ¬ »á¼∩Γ¿ ó¡Ñ úαá¡¿µ ßÑú¼Ñ¡Γá...........................278
  297.         çỿß∞ ó ßÑú¼Ñ¡Γ ¬«ñá.........................................279
  298.         Éáºδ¼Ñ¡«óá¡¿Ñ π¬áºáΓѽÑ⌐ nil..................................279
  299.         æÑú¼Ñ¡Γδ ¬«ñá ¿ ñá¡¡δσ........................................279
  300.         ô»αáó½Ñ¡¿Ñ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε.................280
  301.         ÅαÑñ«»αÑñѽѡ¡δÑ ßÑ½Ñ¬Γ«αδ....................................280
  302.         ÅÑαѼѡ¡á∩ SelectorInc........................................281
  303.         î«ñπ½∞ WinAPI.................................................284
  304.         ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε............................................284
  305.         Å«ñ»α«úαá¼¼δ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε API...........................285
  306.         ô»αáó½Ñ¡¿Ñ ¼«ñπ½Ñ¼............................................289
  307.         ô»αáó½Ñ¡¿Ñ αÑßπαßἿ..........................................290
  308.         ô»αáó½Ñ¡¿Ñ ßÑ½Ñ¬Γ«α«¼.........................................291
  309.         äαπú¿Ñ »«ñ»α«úαá¼¼δ API.......................................292
  310.         Åα∩¼«⌐ ñ«ßΓπ» ¬ DPMI-ßÑαóÑαπ..................................293
  311.         è«¼»¿½∩µ¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á............293
  312.         éδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS...................294
  313.         ô»αáó½Ñ¡¿Ñ «íΩѼ«¼ ¿ß»«½∞ºπѼ«⌐ RTM »á¼∩Γ¿....................295
  314.         â½áóá 18. æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼..........................297
  315.         ùΓ« ΓᬫѠßΓ᫬á ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼?.........................297
  316.         öπ¡¬µ¿¿ ¼«ñπ½∩ Strings........................................297
  317.         öπ¡¬µ¿¿ ¼«ñπ½∩ Strings........................................298
  318.         êß»«½∞º«óá¡¿Ñ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼.......................299
  319.         æ¿¼ó«½∞¡δÑ π¬áºáΓѽ¿ ¿ ßΓ᫬«óδÑ ½¿ΓÑαá½δ.....................301
  320.         æ¿¼ó«½∞¡δÑ π¬áºáΓѽ¿ ¿ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ.....................302
  321.         ê¡ñѬ߿α«óá¡¿Ñ ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩..........................303
  322.         Ä»Ñαᵿ¿ ß ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿............................304
  323.         æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ¿ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ............305
  324.         Åα¿¼Ñα ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿⌐ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼..............306
  325.         â½áóá 19. êß»«½∞º«óá¡¿Ñ úαáΣ¿τÑ߬«ú« ¿¡ΓÑαΣÑ⌐ßá Borland.......308
  326.         äαá⌐óÑαδ......................................................308
  327.         Å«ññÑ᪬á πßΓα«⌐ßΓóá IBM 8514.................................310
  328.         æ¿ßΓѼᠬ««αñ¿¡áΓ.............................................311
  329.         ÆÑ¬πΘ¿⌐ π¬áºáΓѽ∞.............................................311
  330.         ÆÑ¬ßΓ.........................................................313
  331.         âαáΣ¿τÑ߬¿Ñ ¿º«íαáªÑ¡¿∩ ¿ ¿σ ó¿ñδ.............................314
  332.         Äí½áßΓ¿ »α«ß¼«Γαá ¿ ñó«¿τ¡δÑ «íαáºδ...........................314
  333.         Å«ññÑ᪬á ßΓαá¡¿µ ¿ µóÑΓ«ó....................................315
  334.         Äíαáí«Γ¬á «Φ¿í«¬..............................................315
  335.         ìáτὫ αáí«Γδ.................................................316
  336.         Å«½∞º«óáΓѽ∞߬¿Ñ »α«úαá¼¼δ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿
  337.          αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε.......................................318
  338.         Åα«µÑñπαδ ¼«ñπ½∩ Graph........................................321
  339.  
  340.          B.Pascal 7 & Objects/LR       - 7 -
  341.  
  342.         è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Graph.....................326
  343.         è«¡ßΓá¡Γδ.....................................................326
  344.         Æ¿»δ..........................................................328
  345.         ÅÑαѼѡ¡δÑ....................................................328
  346.         â½áóá 20. êß»«½∞º«óá¡¿Ñ «óÑα½ÑÑó..............................329
  347.         Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó........................................330
  348.         ô»αáó½Ñ¡¿Ñ «óÑα½Ñ⌐¡δ¼ íπΣÑα«¼.................................331
  349.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Overlay............................334
  350.         è«ñδ αѺπ½∞ΓáΓá...............................................335
  351.         Éáºαáí«Γ¬á »α«úαá¼¼ ß «óÑα½Ñ∩¼¿...............................335
  352.         âÑ¡Ñαᵿ∩ «óÑα½Ñ⌐¡«ú« ¬«ñá....................................336
  353.         ÆαÑí«óá¡¿Ñ ¿ß»«½∞º«óá¡¿∩ ñá½∞¡Ñú« Γ¿»á ó맮ó«ó................337
  354.         ê¡¿µ¿á½¿ºáµ¿∩ áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó.........................338
  355.         ÉáºñÑ½δ ¿¡¿µ¿á½¿ºáµ¿¿ ó «óÑα½Ñ⌐¡δσ ¼«ñπ½∩σ....................341
  356.         ùΓ« ¡Ñ ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ «óÑα½ÑÑó..............342
  357.         ÄΓ½áñ¬á «óÑα½ÑÑó..............................................343
  358.         é¡ÑΦ¡¿Ñ »α«úαá¼¼δ ó «óÑα½Ñ∩σ..................................343
  359.         çáñá¡¿Ñ Σπ¡¬µ¿¿ τΓÑ¡¿∩ «óÑα½Ñ∩................................345
  360.         ÄóÑα½Ñ¿ ó Σá⌐½áσ .EXE.........................................347
  361.         ùáßΓ∞ III. é ßαÑñÑ Borland Pascal.............................348
  362.         â½áóá 21. êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿................................348
  363.         êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ »α«úαἼἿ αÑá½∞¡«ú« αѪ¿¼á DOS.........348
  364.         Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ DOS...350
  365.         îÑΓ«ñδ «ßó«í«ªñÑ¡¿∩ «í½áßΓÑ⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
  366.          »á¼∩Γ¿.......................................................352
  367.         æ»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó.......................................355
  368.         ÅÑαѼѡ¡á∩ HeapError..........................................356
  369.         êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α«úαá¼¼áσ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á......359
  370.         æÑú¼Ñ¡Γδ ¬«ñá.................................................359
  371.         ÇΓα¿íπΓδ ßÑú¼Ñ¡Γá.............................................359
  372.         ÇΓα¿íπΓδ MOVEABLE ¿½¿ FIXED...................................359
  373.         ÇΓα¿íπΓδ PRELOAD ¿½¿ DEMANDLOAD...............................359
  374.         ÇΓα¿íπΓδ DISCARDABLE ¿½¿ PERMAMENT............................359
  375.         æÑú¼Ñ¡Γδ ñá¡¡δσ ¿ ßΓѬá.......................................361
  376.         êº¼Ñ¡Ñ¡¿Ñ áΓα¿íπΓ«ó...........................................361
  377.         Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ DOS...362
  378.         ÅÑαѼѡ¡á∩ HeapError..........................................363
  379.         êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α«úαá¼¼áσ Windows.....................365
  380.         ÇΓα¿íπΓδ ßÑú¼Ñ¡Γ«ó............................................365
  381.         ÇΓα¿íπΓδ MOVEABLE ¿½¿ FIXED...................................365
  382.         ÇΓα¿íπΓδ PRELOAD ¿½¿ DEMANDLOAD...............................365
  383.         ÇΓα¿íπΓδ DISCARDABLE ¿½¿ PERMANENT............................365
  384.         êº¼Ñ¡Ñ¡¿Ñ áΓα¿íπΓ«ó...........................................365
  385.         æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ.........................367
  386.         Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿.......368
  387.         ÅÑαѼѡ¡á∩ HeapError..........................................370
  388.         ö«α¼áΓδ ó¡πΓαÑ¡¡Ñú« »αÑñßΓáó½Ñ¡¿∩ ñá¡¡δσ......................372
  389.         ûѽ«τ¿ß½Ñ¡¡δÑ Γ¿»δ............................................372
  390.         æ¿¼ó«½∞¡δ⌐ Γ¿»................................................372
  391.         üπ½Ñó߬¿⌐ Γ¿».................................................372
  392.         ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿»..............................................372
  393.         Æ¿»δ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.......................................373
  394.         éÑΘÑßΓóÑ¡¡δ⌐ Γ¿»..............................................373
  395.  
  396.          B.Pascal 7 & Objects/LR       - 8 -
  397.  
  398.         Æ¿» τ¿ß½á ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε...............................374
  399.         Æ¿» τ¿ß½á ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε.................................374
  400.         Æ¿» τ¿ß½á ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε..............................375
  401.         æ½«ª¡δ⌐ Γ¿»...................................................375
  402.         ç¡áτÑ¡¿∩ Γ¿»á π¬áºáΓѽ∞.......................................375
  403.         ç¡áτÑ¡¿∩ ßΓ᫬«ó«ú« Γ¿»á......................................376
  404.         ç¡áτÑ¡¿∩ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á..................................376
  405.         ç¡áτÑ¡¿∩ Γ¿»á ¼áßß¿ó..........................................376
  406.         ç¡áτÑ¡¿∩ Γ¿»á ºá»¿ß∞..........................................376
  407.         ÄíΩÑ¬Γ¡δÑ Γ¿»δ................................................377
  408.         Æáí½¿µá ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó...................................378
  409.         Æáí½¿µá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó..................................381
  410.         ç¡áτÑ¡¿∩ Σá⌐½«ó«ú« Γ¿»á.......................................385
  411.         Åα«µÑñπα¡δÑ Γ¿»δ..............................................387
  412.         Åα∩¼«⌐ ñ«ßΓπ» ¬ »á¼∩Γ¿........................................387
  413.         Åα∩¼«⌐ ñ«ßΓπ» ¬ »«αΓá¼........................................387
  414.         â½áóá 22. é«»α«ßδ π»αáó½Ñ¡¿∩..................................388
  415.         æ«ú½áΦÑ¡¿∩ »« ó맮óá¼.........................................388
  416.         Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ..........................................388
  417.         Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩............................................388
  418.         ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ..................................389
  419.         ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐............................................390
  420.         ü½¿ª¡¿Ñ ¿ ñá½∞¡¿Ñ Γ¿»δ ó맮ó«ó................................391
  421.         é½«ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.................................391
  422.         æ«ú½áΦÑ¡¿∩ « ó맮óáσ ¼ÑΓ«ñ«ó..................................392
  423.         é맮óδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó....................................394
  424.         é맮óδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó...................................395
  425.         è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ....................................396
  426.         æΓá¡ñáαΓ¡δ⌐ ¬«ñ óσ«ñá ¿ óδσ«ñá................................396
  427.         æ«ú½áΦÑ¡¿∩ »« ß«σαá¡Ñ¡¿ε αÑú¿ßΓα«ó............................400
  428.         Åα«µÑñπαδ óδσ«ñá..............................................400
  429.         Äíαáí«Γ¬á »αÑαδóá¡¿⌐..........................................403
  430.         Éáºαáí«Γ¬á »α«µÑñπα «íαáí«Γ¬¿ »αÑαδóá¡¿⌐......................403
  431.         â½áóá 23. ÇóΓ«¼áΓ¿τÑ߬á∩ «»Γ¿¼¿ºáµ¿∩..........................405
  432.         æóÑαΓδóá¡¿Ñ ¬«¡ßΓá¡Γ..........................................405
  433.         æ½¿∩¡¿Ñ ¬«¡ßΓá¡Γ..............................................405
  434.         éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼÑ..................................405
  435.         Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ...........................................406
  436.         ôßΓαá¡Ñ¡¿Ñ ¿ºíδΓ«τ¡«⌐ ºáúαπº¬¿ π¬áºáΓѽÑ⌐.....................406
  437.         Å«ñßΓá¡«ó¬á ¬«¡ßΓá¡Γ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á......................406
  438.         îá½δÑ ¼¡«ªÑßΓóá...............................................407
  439.         Å«α∩ñ«¬ óδτ¿ß½Ñ¡¿∩............................................407
  440.         Åα«óÑα¬á ¡á ñ«»πßΓ¿¼«ßΓ∞ úαá¡¿µ...............................408
  441.         êß»«½∞º«óá¡¿Ñ ßñó¿úá ó¼ÑßΓ« π¼¡«ªÑ¡¿∩.........................408
  442.         ÇóΓ«¼áΓ¿τÑ߬«Ñ óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá..................408
  443.         ôñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞ºπѼ«ú« ¬«ñá.................................409
  444.         ¥ΣΣÑ¬Γ¿ó¡á∩ ¬«¼»«¡«ó¬á........................................409
  445.         ùáßΓ∞ IV. êß»«½∞º«óá¡¿Ñ Borland Pascal ß ∩ºδ¬«¼ áßßѼí½Ñαá....411
  446.         â½áóá 24. éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα................................411
  447.         Ä»ÑαáΓ«α asm..................................................411
  448.         êß»«½∞º«óá¡¿Ñ αÑú¿ßΓα«ó.......................................412
  449.         æ¿¡Γá¬ß¿ß «»ÑαáΓ«αa áßßѼí½Ñαá................................412
  450.         îÑΓ¬¿.........................................................413
  451.  
  452.          B.Pascal 7 & Objects/LR       - 9 -
  453.  
  454.         ÉẼÑα ¿¡ßΓαπ¬µ¿¿ RET.........................................413
  455.         ÇóΓ«¼áΓ¿τÑ߬«Ñ «»αÑñѽѡ¿Ñ αẼÑαá »ÑαÑσ«ñá...................414
  456.         ä¿αÑ¬Γ¿óδ áßßѼí½Ñαá..........................................415
  457.         Ä»Ñαá¡ñδ......................................................417
  458.         éδαáªÑ¡¿∩.....................................................417
  459.         Éẽ¿τ¿∩ ¼Ñªñπ óδαáªÑ¡¿∩¼¿ Åá߬á½∩ ¿ áßßѼí½Ñαá...............418
  460.         ¥½Ñ¼Ñ¡Γδ óδαáªÑ¡¿⌐............................................419
  461.         è«¡ßΓá¡Γδ.....................................................420
  462.         ù¿ß½«óδÑ ¬«¡ßΓá¡Γδ............................................420
  463.         æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ...........................................420
  464.         ÉÑú¿ßΓαδ......................................................422
  465.         êñÑ¡Γ¿Σ¿¬áΓ«αδ................................................422
  466.         è½áßßδ óδαáªÑ¡¿⌐..............................................426
  467.         Æ¿»δ óδαáªÑ¡¿⌐................................................427
  468.         Ä»Ñαᵿ¿ ó óδαáªÑ¡¿∩σ.........................................430
  469.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ áßßѼí½Ñαá................................434
  470.         â½áóá 25. è«¼»«¡«ó¬á ß »α«úαἼἿ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá........437
  471.         Æπαí« ÇßßѼí½Ñα ¿ Borland Pascal..............................438
  472.         Åα¿¼Ñαδ »α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá..........................440
  473.         îÑΓ«ñδ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá....................................441
  474.         é¬½ετáѼδ⌐ ¼áΦ¿¡¡δ⌐ ¬«ñ.......................................442
  475.         Ä»ÑαáΓ«αδ Inline..............................................442
  476.         ä¿αÑ¬Γ¿óδ inline..............................................444
  477.  
  478.          B.Pascal 7 & Objects/LR      - 10 -
  479.  
  480.                                    éóÑñÑ¡¿Ñ
  481.         ─────────────────────────────────────────────────────────────────
  482.  
  483.              äá¡¡«Ñ απ¬«ó«ñßΓó«  »«ßó∩ΘÑ¡« ¿ß»«½∞ºπѼ«¼π ó Borland Pascal
  484.         with Objects ∩ºδ¬π Åá߬á½∞. Ä¡«
  485.  
  486.              * äáÑΓ Σ«α¼á½∞¡«Ñ «»αÑñѽѡ¿Ñ ∩ºδ¬á Borland Pascal.
  487.  
  488.              * Å«∩ß¡∩ÑΓ,  ¬á¬ ¿ß»«½∞º«óáΓ∞ ¿ »¿ßáΓ∞ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πÑ-
  489.                ¼δÑ í¿í½¿«ΓѬ¿.
  490.  
  491.              * ç¡á¬«¼¿Γ óáß ß í¿í½¿«ΓѬ«⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ.
  492.  
  493.              * Å«∩ß¡∩ÑΓ, ¬á¬ »¿ßáΓ∞ »α«úαá¼¼δ ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.
  494.  
  495.              * ÄßóÑΘáÑΓ  ΓᬿѠó«»α«ßδ Borland Pascal,  ¬á¬ ¿ß»«½∞º«óá¡¿Ñ
  496.                »á¼∩Γ¿, Σ«α¼áΓδ ñá¡¡δσ, ß«ú½áΦÑ¡¿∩ »« ó맮óπ, óó«ñ ¿ óδó«ñ
  497.                ¿ áóΓ«¼áΓ¿τÑ߬á∩ «»Γ¿¼¿ºáµ¿∩.
  498.  
  499.              * Ä»¿ßδóáÑΓ,  ¬á¬  ¿ß»«½∞º«óáΓ∞  Borland Pascal ß ∩ºδ¬«¼ áß-
  500.                ßѼí½Ñαá.
  501.  
  502.                    Åα¿¼Ñτá¡¿∩: Äíº«α óßÑú« ¡áí«αá ñ«¬π¼Ñ¡Γᵿ¿ »« Borland
  503.               Pascal óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó« óóÑñÑ¡¿¿ ¬ "Éπ¬«ó«ñßΓóπ »«½∞º«óá-
  504.               Γѽ∩".
  505.  
  506.              àß½¿ óδ
  507.  
  508.              - σ«Γ¿ΓÑ πº¡áΓ∞, ¬á¬ πßΓá¡«ó¿Γ∞ Borland Pascal ó ß¿ßΓѼÑ;
  509.  
  510.              - ¿ß»«½∞º«ó὿ Turbo Pascal ¿½¿ Turbo Pascal for Windows αá-
  511.                ¡ÑÑ ¿ σ«Γ¿ΓÑ πº¡áΓ∞, τΓ« ¡«ó«ú« ó φΓ«⌐ óÑαß¿¿;
  512.  
  513.              - ¡Ñ  º¡á¬«¼δ  ß ¿¡ΓÑαá¬Γ¿ó¡«⌐ ¿¡ΓÑúα¿α«óá¡¡«⌐ ßαÑñ«⌐ αáºαá-
  514.                í«Γ¬¿ »α«úαá¼¼ (IDE) Σ¿α¼δ Borland;
  515.  
  516.              - σ«Γ¿ΓÑ »«º¡á¬«¼¿Γ∞ß∩ ß óóÑñÑ¡¿Ñ¼ ó  «íΩÑ¬Γ¡«-«α¿Ñ¡Γ¿α«óá¡-
  517.                ¡«Ñ »α«úαá¼¼¿α«óá¡¿Ñ;
  518.  
  519.              - ¡Ñ ¿¼ÑÑΓÑ «»δΓá »α«úαá¼¼¿α«óá¡¿Ñ ¡á Åá߬á½Ñ ó Windows;
  520.  
  521.              - σ«Γ¿ΓÑ »«º¡á¬«¼¿Γ∞ß∩ ß ObjectWindows;
  522.  
  523.         Γ« »α«τ¿Γá⌐ΓÑ "Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩".
  524.  
  525.              ùΓ«íδ ¡á⌐Γ¿ ß»αáó«τ¡δÑ ¼áΓÑα¿á½δ »« ß½ÑñπεΘ¿¼ ΓѼá¼:
  526.  
  527.              - í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ;
  528.  
  529.              - ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá;
  530.  
  531.              - ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ;
  532.  
  533.  
  534.          B.Pascal 7 & Objects/LR      - 11 -
  535.  
  536.              - αáí«Γá ß αÑñá¬Γ«α«¼;
  537.  
  538.         »α«τΓ¿ΓÑ "æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá".
  539.  
  540.                    Ä τѼ αáß߬áºδóáÑΓß∩ ó ñá¡¡«¼ απ¬«ó«ñßΓóÑ
  541.         ─────────────────────────────────────────────────────────────────
  542.  
  543.              äá¡¡«Ñ απ¬«ó«ñßΓó« αáºí¿Γ« ¡á τÑΓδαÑ τáßΓ¿:  úαá¼¼áΓ¿¬á ∩ºδ-
  544.         ¬á, í¿í½¿«ΓѬ¿, ó«»α«ßδ »α«ñó¿¡πΓ«ú« »α«úαá¼¼¿α«óá¡¿∩ ¿ ¿ß»«½∞º«-
  545.         óá¡¿Ñ ß Borland Pascal ∩ºδ¬á áßßѼí½Ñαá.
  546.  
  547.              é ùáßΓ¿ I "ƒºδ¬ Borland Pascal"  «»αÑñѽ∩ÑΓß∩  ∩ºδ¬  Borland
  548.         Pascal. æ¡áτá½á  óδ  »«º¡á¬«¼¿ΓÑß∞  ß  «íΘÑ⌐ ßΓαπ¬Γπα«⌐ »α«úαá¼¼δ
  549.         Borland Pascal; ºáΓѼ « ¬áªñ«¼ φ½Ñ¼Ñ¡ΓÑ »α«úαá¼¼δ íπñÑΓ αáß߬áºá-
  550.         ¡« í«½ÑÑ »«ñα«í¡«.
  551.  
  552.              ùáßΓ∞ II  "ü¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ" ß«ñÑαª¿Γ ¿¡Σ«α¼á-
  553.         µ¿ε « ßΓá¡ñáαΓ¡δσ ¼«ñπ½∩σ, «íαáºπεΘ¿σ í¿í½¿«ΓѬπ ¿ß»«½¡∩εΘÑ⌐ ß¿ß-
  554.         ΓѼδ, ¿ « Γ«¼,  ¬á¬ ¿σ ¿ß»«½∞º«óáΓ∞.  çñÑß∞ αáß߬áºδóáÑΓß∩ ΓᬪÑ,
  555.         ¬á¬ »¿ßáΓ∞ »α«úαá¼¼δ ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.
  556.  
  557.              é ùáßΓ¿ III "é ßαÑñÑ Borland Pascal" ñáÑΓß∩ ΓÑσ¡¿τÑ߬á∩  ¿¡-
  558.         Σ«α¼áµ¿∩ ñ½∩ »α«ñó¿¡πΓδσ »«½∞º«óáΓѽÑ⌐. çñÑß∞ αáß߬áºδóáÑΓß∩:
  559.  
  560.              - «í ¿ß»«½∞º«óá¡¿¿ »á¼∩Γ¿ ó Borland Pascal;
  561.  
  562.              - «  Γ«¼,  ¬á¬ ó Borland Pascal αÑ὿º«óá¡« π»αáó½Ñ¡¿Ñ »α«ú-
  563.                αá¼¼«⌐;
  564.  
  565.              - « ñÑΓá½∩σ »« óó«ñπ ¿ óδó«ñπ;
  566.  
  567.              - «í «»Γ¿¼¿ºáµ¿¿ óáΦÑú« ¬«ñá.
  568.  
  569.              é ùáßΓ¿ IV "êß»«½∞º«óá¡¿Ñ Borland Pascal ß ∩ºδ¬«¼  áßßѼí½Ñ-
  570.         αá" »«∩ß¡∩ÑΓß∩,  ¬á¬ ¿ß»«½∞º«óáΓ∞ óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ¿ ¬á¬ ¬«¼-
  571.         »«¡«óáΓ∞ óáΦ¿ »α«úαá¼¼δ Åá߬á½∩ ß ¬«ñ«¼ Æπαí« ÇßßѼí½Ñαá.
  572.  
  573.  
  574.  
  575.  
  576.          B.Pascal 7 & Objects/LR      - 12 -
  577.  
  578. ───────────────────────────────────────────────────────────────────────
  579.                          ùáßΓ∞ I. ƒºδ¬ Borland Pascal
  580.         ─────────────────────────────────────────────────────────────────
  581.  
  582.                  â½áóá 1. ùΓ« ΓᬫѠ»α«úαá¼¼á Borland Pascal?
  583.         ─────────────────────────────────────────────────────────────────
  584.  
  585.              æ½ÑñπεΘ¿Ñ ¡Ñ߬«½∞¬«  ú½áó  »«ßó∩ΘÑ¡δ Σ«α¼á½∞¡«¼π «»αÑñѽѡ¿ε
  586.         ∩ºδ¬á Borland Pascal.  é ¬áªñ«⌐ ú½áóÑ «íßπªñáÑΓß∩ «ñ¿¡ ¿º φ½Ñ¼Ñ¡-
  587.         Γ«ó Borland  Pascal.  æ«ó¼ÑßΓ¡«  φΓ¿  φ½Ñ¼Ñ¡Γδ «íαáºπεΓ »α«úαá¼¼π
  588.         Borland Pascal.
  589.  
  590.              Äñ¡á¬«, ¿ºπτá∩ τáßΓ¿,  Γαπñ¡« »«¡∩Γ∞ µÑ½«Ñ.  é ñá¡¡«⌐  ú½áóÑ
  591.         ñáÑΓß∩ «íΘ¿⌐  «íº«α  »α«úαá¼¼δ  Borland  Pascal,  «»π߬á∩ ñÑΓ὿.
  592.         çñÑß∞ »α¿ó«ñ¿Γß∩ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá  »α«úαá¼¼δ,  á
  593.         ºáΓѼ »«¬áºδóáÑΓß∩,  ¬á¬ óßÑ φΓ« ¬«¼»«¡πÑΓß∩ ó¼ÑßΓÑ.  Å«ñα«í¡«ßΓ¿
  594.         φ½Ñ¼Ñ¡Γ«ó ∩ºδ¬á «ßóÑΘáεΓß∩  ú½áóáσ 2 - 11.
  595.  
  596.  
  597.  
  598.          B.Pascal 7 & Objects/LR      - 13 -
  599.  
  600.                            Åα«úαá¼¼á Borland Pascal
  601.         ─────────────────────────────────────────────────────────────────
  602.  
  603.              é ßó«Ñ⌐ »α«ßΓÑ⌐ΦÑ⌐ Σ«α¼Ñ »α«úαá¼¼á Borland Pascal ß«ßΓ«¿Γ ¿º
  604.         ºáú«½«ó¬á »α«úαá¼¼δ, ¬«Γ«αδ⌐ ¿¼Ñ¡πÑΓ »α«úαá¼¼π, ¿ «ß¡«ó¡«ú« »α«ú-
  605.         αá¼¼¡«ú« í½«¬á,  óδ»«½¡∩εΘÑú«  ¡áº¡áτÑ¡¿Ñ  »α«úαá¼¼δ.  é «ß¡«ó¡«¼
  606.         »α«úαá¼¼¡«¼ í½«¬Ñ ¡áσ«ñ¿Γß∩ ßѬµ¿∩ ¬«ñá, ºá¬½ετÑ¡¡á∩ ¼Ñªñ𠬽ετÑ-
  607.         ó묨 ß½«óἿ begin ¿ end.  Åα¿óÑñѼ »α«ßΓÑ⌐Φπε »α«úαá¼¼π, ¿½½εßΓ-
  608.         α¿απεΘπε φΓ¿ »α¿¡µ¿»δ:
  609.  
  610.              program Privet;
  611.              begin
  612.                Writeln('ä«íα« »«ªá½«óáΓ∞ ó Borland Pascal');
  613.              end.
  614.  
  615.              ÅÑαóá∩ ßΓα«¬á  -  φΓ«  ºáú«½«ó«¬ »α«úαá¼¼δ,  ¬«Γ«αδ⌐ ¿¼Ñ¡πÑΓ
  616.         ñá¡¡πε »α«úαá¼¼π.  ÄßΓá½∞¡á∩ τáßΓ∞ »α«úαá¼¼δ - φΓ« ¿ßσ«ñ¡δ⌐  ¬«ñ,
  617.         ¬«Γ«αδ⌐ ¡áτ¿¡áÑΓß∩ ¬½ετÑóδ¼ ß½«ó«¼ begin ¿ ºá¬á¡τ¿óáÑΓß∩ end. ò«-
  618.         Γ∩ ñá¡¡á∩ ¬«¡¬αÑΓ¡á∩ »α«úαá¼¼á ß«ñÑαª¿Γ Γ«½∞¬«  «ñ¡π  ßΓ᫬π,  ¿σ
  619.         ¼«ªÑΓ íδΓ∞  ¼¡«ú«.  é ½εí«⌐ »α«úαἼѠBorland Pascal óßÑ ñÑ⌐ßΓó¿∩
  620.         óδ»«½¡∩εΓß∩ ¼Ñªñπ begin ¿ end.
  621.  
  622.                               Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿
  623.         ─────────────────────────────────────────────────────────────────
  624.  
  625.              è«ñ ¼Ñªñπ  »«ß½Ññ¡¿¼¿  «»ÑαáΓ«αἿ begin ¿ end »α«úαá¼¼δ π»-
  626.         αáó½∩ÑΓ ½«ú¿¬«⌐ »α«úαá¼¼δ.  é «τÑ¡∞ »α«ßΓ«⌐ »α«úαἼѠó φΓ«⌐ ßѬ-
  627.         µ¿¿ ¬«ñá ¼«ªÑΓ ß«ñÑαªáΓ∞ß∩ óßÑ,  τΓ« óá¼ ¡πª¡«. é í«½ÑÑ ¬απ»¡δσ ¿
  628.         ß½«ª¡δσ »α«úαá¼¼áσ αẼÑΘÑ¡¿Ñ ó φΓ«⌐  ßѬµ¿¿  óßÑú«  »α«úαá¼¼¡«ú«
  629.         ¬«ñá ¼«ªÑΓ ºáΓαπñ¡¿Γ∞ τΓÑ¡¿Ñ ¿ »«¡¿¼á¡¿Ñ »α«úαá¼¼δ.  è Γ«¼π ªÑ ÑÑ
  630.         íπñÑΓ Γαπñ¡ÑÑ αáºαáíáΓδóáΓ∞.
  631.  
  632.              Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ »«ºó«½∩εΓ αáºñѽ¿Γ∞ ½«ú¿¬π »α«úαá¼¼δ  ¡á
  633.         í«½ÑÑ ¼Ñ½¬¿Ñ ¿ π»αáó½∩ѼδÑ Σαáú¼Ñ¡Γδ ¿ á¡á½«ú¿τ¡δ »«ñ»α«úαἼἠó
  634.         ñαπú¿σ ∩ºδ¬áσ.  èᬠ¿ ó «ß¡«ó¡«¼ í½«¬Ñ »α«úαá¼¼δ,  óßÑ ñÑ⌐ßΓó¿∩ ó
  635.         »α«µÑñπαáσ  ¿ Σπ¡¬µ¿∩σ ºá¬½ετáεΓß∩ ó begin ¿ end.  èáªñδ⌐ ¿º φΓ¿σ
  636.         ßÑú¼Ñ¡Γ«ó ¬«ñá óδ»«½¡∩ÑΓ ¬«¡¬αÑΓ¡πε ºáñáτπ.
  637.  
  638.              ┌──────────────────────────────────────────────────────────┐
  639.              │ Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩                                    │
  640.              │┌────────────────────────────────────────────────────────┐│
  641.              ││ çáú«½«ó«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿                        ││
  642.              │└────────────────────────────────────────────────────────┘│
  643.              │┌────────────────────────────────────────────────────────┐│
  644.              ││ ü½«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿∩¼¿                           ││
  645.              ││ begin                                                  ││
  646.              ││┌──────────────────────────────────────────────────────┐││
  647.              │││ ï«ú¿¬á                                               │││
  648.              ││└──────────────────────────────────────────────────────┘││
  649.              ││ end;                                                   ││
  650.              │└────────────────────────────────────────────────────────┘│
  651.              └──────────────────────────────────────────────────────────┘
  652.  
  653.  
  654.          B.Pascal 7 & Objects/LR      - 14 -
  655.  
  656.              É¿ß. 1.1 ä¿áúαá¼¼á »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
  657.  
  658.              àß½¿ óδ «í¡áαπª¿ΓÑ, τΓ« ó óáΦÑ⌐ ñ¿áúαἼѠ«ñ¡¿ ¿ ΓÑ ªÑ ñÑ⌐ß-
  659.         Γó¿∩ óδ»«½¡∩εΓß∩ ¼¡«ú«¬αáΓ¡«,  Γá¬πε ½«ú¿¬π ªÑ½áΓѽ∞¡« óδñѽ¿Γ∞ ó
  660.         »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε.  éδ ¼«ªÑΓÑ «ñ¿¡ αẠºá»¿ßáΓ∞  φëà ¬«ñ  ó
  661.         »α«µÑñπαÑ ¿½¿  Σπ¡¬µ¿¿,  á ºáΓѼ ¼¡«ú«¬αáΓ¡« óδºδóáΓ∞ Ñú« ó »α«ú-
  662.         αá¼¼Ñ.
  663.  
  664.              Åα¿óÑñѼ »α¿¼Ñα Σπ¡¬µ¿¿. æ½ÑñπεΘá∩ Σπ¡¬µ¿∩ GetNumber »«½πτá-
  665.         ÑΓ τ¿ß½« «Γ »«½∞º«óáΓѽ∩:
  666.  
  667.              function GetNumber: Real;
  668.              var
  669.                 Responce: Real;
  670.              begin
  671.                 Write('éóÑñ¿ΓÑ τ¿ß½«: ');
  672.                 Readln(Response);
  673.                 GetNumber := Response;
  674.              end;
  675.  
  676.              Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ñ«½ª¡á ß«ñÑαªáΓ∞ß∩ ó  »α«úαἼѠ »ÑαÑñ
  677.         ßѬµ¿Ñ⌐ «ß¡«ó¡«ú« ¬«ñá. é «ß¡«ó¡«¼ ¬«ñÑ «¡á ¼«ªÑΓ ºáΓѼ ¿ß»«½∞º«-
  678.         óáΓ∞ß∩ (óδºδóáΓ∞ß∩).
  679.  
  680.              ┌──────────────────────────────────────────────────────────┐
  681.              │ Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩                                    │
  682.              │┌────────────────────────────────────────────────────────┐│
  683.              ││ çáú«½«ó«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿                        ││
  684.              │└────────────────────────────────────────────────────────┘│
  685.              │┌────────────────────────────────────────────────────────┐│
  686.              ││ ü½«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿∩¼¿                           ││
  687.              ││┌──────────────────────────────────────────────────────┐││
  688.              │││ Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ (0 ¿½¿ í«½ÑÑ)                  │││
  689.              ││└──────────────────────────────────────────────────────┘││
  690.              ││ begin                                                  ││
  691.              ││┌──────────────────────────────────────────────────────┐││
  692.              │││ ï«ú¿¬á                                               │││
  693.              ││└──────────────────────────────────────────────────────┘││
  694.              ││ end;                                                   ││
  695.              │└────────────────────────────────────────────────────────┘│
  696.              └──────────────────────────────────────────────────────────┘
  697.  
  698.              É¿ß. 1.2 Åα«ßΓá∩ »α«úαἼᠡá Åá߬á½Ñ.
  699.  
  700.              é ß½ÑñπεΘѼ »α¿¼ÑαÑ ñáÑΓß∩ ¡áíα«ß«¬ »α«úαá¼¼δ, ó ¬«Γ«α«⌐ ¿ß-
  701.         »«½∞ºπÑΓß∩ Σπ¡¬µ¿∩ GetNumber.  Åα«úαá¼¼¿ßΓ αáºñѽ¿½ ½«ú¿¬π  »α«ú-
  702.         αá¼¼δ ¡á Γα¿ ºáñáτ¿:
  703.  
  704.              1. Å«½πτÑ¡¿Ñ τ¿ß½á «Γ »«½∞º«óáΓѽ∩.
  705.  
  706.              2. éδ»«½¡Ñ¡¿Ñ ß φΓ¿¼ τ¿ß½«¼ ¡Ñ«íσ«ñ¿¼δσ óδτ¿ß½Ñ¡¿⌐.
  707.  
  708.              3. ÅÑτáΓ∞ «ΓτÑΓá.
  709.  
  710.          B.Pascal 7 & Objects/LR      - 15 -
  711.  
  712.  
  713.              Äß¡«ó¡á∩ ½«ú¿¬á   »α«úαá¼¼δ   ºá¬½ετѡᠠ󠠻«ß½Ññ¡Ñ¼  í½«¬Ñ
  714.         begin..end.
  715.  
  716.              Program Report;
  717.  
  718.              var
  719.                A: Real;
  720.              { ñαπú¿Ñ «»¿ßá¡¿∩ }
  721.                 .
  722.                 .
  723.                 .
  724.                function GetNumber: Real;
  725.                var
  726.                   Responce: Real;
  727.                begin
  728.                   Write('éóÑñ¿ΓÑ τ¿ß½«: ');
  729.                   Readln(Response);
  730.                   GetNumber := Response;
  731.                end;
  732.  
  733.                procedure Calculate(X: Real);
  734.                   .
  735.                   .
  736.                   .
  737.                procedure PrintReport;
  738.                   .
  739.                   .
  740.                   .
  741.              begin
  742.                A: = GetNumber;
  743.                Calculate(A);
  744.                PrintReport;
  745.              end.
  746.  
  747.              Äß¡«ó¡á∩ ½«ú¿¬á  »α«úαá¼¼δ  ñ«ßΓáΓ«τ¡« »α«ßΓá ñ½∩ »«¡¿¼á¡¿∩.
  748.         éßÑ ñÑΓ὿ πíαá¡δ ó ΓÑ½á »α«µÑñπα ¿ Σπ¡¬µ¿⌐. êß»«½∞º«óá¡¿Ñ »α«µÑ-
  749.         ñπα ¿ Σπ¡¬µ¿⌐ »«ºó«½∩ÑΓ óá¼ αáßß¼áΓα¿óáΓ∞ »α«úαá¼¼π í«½ÑÑ πñ«í¡δ¼
  750.         ¿ ¼«ñπ½∞¡δ¼ ß»«ß«í«¼.
  751.  
  752.                                    Ä»ÑαáΓ«αδ
  753.         ─────────────────────────────────────────────────────────────────
  754.  
  755.              êßσ«ñ¡δ⌐ ¬«ñ  ¼Ñªñπ begin ¿ end ß«ñÑαª¿Γ «»ÑαáΓ«αδ,  ¬«Γ«αδÑ
  756.         «»¿ßδóáεΓ óδ»«½¡∩ѼδÑ »α«úαá¼¼«⌐ ñÑ⌐ßΓó¿∩.  ¥Γ« ¡áºδóáεΓß∩ «»Ñαá-
  757.         Γ«α¡«⌐ τáßΓ∞ε »α«úαá¼¼δ. Åα¿óÑñѼ »α¿¼Ñαδ «»ÑαáΓ«α«ó:
  758.  
  759.              A := B + C;                   { »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ }
  760.  
  761.              Calculate(Length, Height);    { á¬Γ¿ó¿º¿α«óáΓ∞ »α«µÑñπαπ }
  762.  
  763.              if X < 2 then                 { «»ÑαáΓ«α πß½«ó¿∩ }
  764.                  Answer := X * Y;
  765.  
  766.          B.Pascal 7 & Objects/LR      - 16 -
  767.  
  768.  
  769.              begin                         { ß«ßΓáó¡«⌐ «»ÑαáΓ«α }
  770.                X := 3;
  771.                Y := 4;
  772.                Z := 5;
  773.              end;
  774.  
  775.              while not EOF(InFile) do      { «»ÑαáΓ«α µ¿¬½á }
  776.              begin
  777.                 ReadLn(InFile, Line);
  778.                 Process(Line);
  779.              end;
  780.  
  781.              é »α«ßΓδσ «»ÑαáΓ«αáσ ¼«ª¡« »α¿ßóá¿óáΓ∞ º¡áτÑ¡¿Ñ, á¬Γ¿ó¿º¿α«-
  782.         óáΓ∞ »α«µÑñπαπ  ¿½¿  Σπ¡¬µ¿ε  ¿½¿ »ÑαÑñáóáΓ∞ π»αáó½Ñ¡¿Ñ ¡á ñαπúπε
  783.         τáßΓ∞ ¬«ñá.  æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ ¼«úπΓ íδΓ∞ ß«ßΓáó¡δ¼¿ ¿ ß«ñÑα-
  784.         ªáΓ∞ ¡Ñ߬«½∞¬«  «»ÑαáΓ«α«ó,  «»ÑαáΓ«α µ¿¬½á ¿½¿ «»ÑαáΓ«α πß½«ó¿∩,
  785.         π»αáó½∩εΘ¿⌐ ½«ú¿¬«⌐ »α«úαá¼¼δ, á ΓᬪѠ«»ÑαáΓ«αδ with, π»α«ΘáεΘ¿Ñ
  786.         ñ«ßΓπ» ¬ ñá¡¡δ¼ ó ºá»¿ß¿.
  787.  
  788.                                    éδαáªÑ¡¿∩
  789.         ─────────────────────────────────────────────────────────────────
  790.  
  791.              Ä»ÑαáΓ«α Åá߬á½∩ ß«ßΓ«¿Γ ¿º óδαáªÑ¡¿⌐.  éδαáªÑ¡¿∩  «»ÑαáΓ«αá
  792.         ¼«úπΓ ß«ßΓ«∩Γ∞  ¿º «»Ñαá¡ñ«ó ¿ «»Ñαᵿ⌐.  Äíδτ¡« ó óδαáªÑ¡¿∩σ óδ-
  793.         »«½¡∩ÑΓß∩ ßαáó¡Ñ¡¿Ñ ½¿í« áα¿Σ¼ÑΓ¿τÑ߬¿Ñ, ½«ú¿τÑ߬¿Ñ ¿½¿ íπ½Ñó߬¿Ñ
  794.         «»Ñαᵿ¿.
  795.  
  796.              éδαáªÑ¡¿∩ Åá߬á½∩ ¼«úπΓ ß«ßΓ«∩Γ∞ ¿º í«½ÑÑ »α«ßΓδσ óδαáªÑ¡¿⌐.
  797.         Ä ¬«¼í¿¡áµ¿¿ «»Ñαá¡ñ«ó ¿ «»Ñαᵿ⌐ óδ ¼«ªÑΓÑ »α«τ¿ΓáΓ∞ ó â½áóÑ  6.
  798.         Ä¡¿ ¼«úπΓ  íδΓ∞  ñ«ßΓáΓ«τ¡« ß½«ª¡δ¼¿.  Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ
  799.         óδαáªÑ¡¿⌐:
  800.  
  801.              X + Y
  802.              Done <> Error
  803.              I <= Length
  804.              -X
  805.  
  806.  
  807.  
  808.          B.Pascal 7 & Objects/LR      - 17 -
  809.  
  810.                                      ïѬßѼδ
  811.         ─────────────────────────────────────────────────────────────────
  812.  
  813.              ïѬßѼδ - φΓ« ¡á¿¼Ñ¡∞Φ¿Ñ º¡áτáΘ¿Ñ φ½Ñ¼Ñ¡Γδ ó »α«úαἼѠ Åáß-
  814.         ¬á½∩. Ä¡¿ «íαáºπεΓß∩ «»Ñαá¡ñἿ ¿ «»Ñαᵿ∩¼¿ óδαáªÑ¡¿⌐. ïѬßѼδ -
  815.         φΓ« ß»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ, ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá, ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ,
  816.         ¼ÑΓ¬¿ ¿ ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ. Åα¿óÑñѼ »α¿¼Ñαδ ½Ñ¬ßѼ Åá߬á½∩:
  817.  
  818.              function                   { ºáαѺÑαó¿α«óá¡¡«Ñ ß½«ó« }
  819.              (                          { ß»Ñµ¿á½∞¡δ⌐ ß¿¼ó«½ }
  820.              :=                         { ß»Ñµ¿á½∞¡δ⌐ ß¿¼ó«½ }
  821.              Calculate                  { ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ }
  822.              9                          { τ¿ß½« }
  823.  
  824.              Åα¿óÑñѼ »α¿¼Ñα, ¿º ¬«Γ«α«ú« óδ ¼«ªÑΓÑ ó¿ñÑΓ∞, τΓ« «»ÑαáΓ«αδ
  825.         ß«ßΓ«∩Γ ¿º óδαáªÑ¡¿⌐, ¬«Γ«αδÑ ó ßó«ε «τÑαÑñ∞ ß«ßΓ«∩Γ ¿º ½Ñ¬ßѼ.
  826.  
  827.              ┌──────────────────────────────────────────────────────────┐
  828.              │ Ä»ÑαáΓ«αδ (1 ¿½¿ í«½ÑÑ)                                  │
  829.              │┌────────────────────────────────────────────────────────┐│
  830.              ││ éδαáªÑ¡¿∩ (1 ¿½¿ í«½ÑÑ)                                ││
  831.              ││┌──────────────────────────────────────────────────────┐││
  832.              │││ ïѬßѼδ (1 ¿½¿ í«½ÑÑ)                                │││
  833.              ││└──────────────────────────────────────────────────────┘││
  834.              │└────────────────────────────────────────────────────────┘│
  835.              └──────────────────────────────────────────────────────────┘
  836.  
  837.              É¿ß. 1.3 ä¿áúαἼᠫ»ÑαáΓ«αá.
  838.  
  839.  
  840.              Æ¿»δ, »ÑαѼѡ¡δÑ, ¬«¡ßΓá¡Γδ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ
  841.         ─────────────────────────────────────────────────────────────────
  842.  
  843.              ÅÑαѼѡ¡á∩ ¼«ªÑΓ ß«ñÑαªáΓ∞ ¿º¼Ñ¡∩Ѽ«Ñ º¡áτÑ¡¿Ñ. èáªñá∩ »ÑαÑ-
  844.         ¼Ñ¡¡á∩ ñ«½ª¡á ¿¼ÑΓ∞ Γ¿». Æ¿» »ÑαѼѡ¡«⌐ «»αÑñѽ∩ÑΓ ¼¡«ªÑßΓó« º¡á-
  845.         τÑ¡¿⌐, ¬«Γ«αδÑ ¼«ªÑΓ ¿¼ÑΓ∞ »ÑαѼѡ¡á∩.
  846.  
  847.              ìá»α¿¼Ñα, ó  ß½ÑñπεΘÑ⌐  »α«úαἼѠ«»¿ßδóáεΓß∩ »ÑαѼѡ¡δÑ X ¿
  848.         Y, ¿¼ÑεΘ¿Ñ Γ¿» Integer.  Æá¬¿¼ «íαẫ¼,  X ¿  Y  ¼«úπΓ  ß«ñÑαªáΓ∞
  849.         Γ«½∞¬« µÑ½δÑ º¡áτÑ¡¿∩ (τ¿ß½á).  àß½¿ ó óáΦÑ⌐ »α«úαἼѠ»αÑñ»α¿¡¿-
  850.         ¼áÑΓß∩ »«»δΓ¬á »α¿ßó«¿Γ∞ φΓ¿¼ »ÑαѼѡ¡δ¼ º¡áτÑ¡¿∩  ñαπú«ú«  Γ¿»á,
  851.         Borland Pascal ß««íΘáÑΓ «í «Φ¿í¬Ñ.
  852.  
  853.              program Example;
  854.  
  855.              const
  856.                 A = 12;           { ¬«¡ßΓá¡Γá A ¡Ñ ¿º¼Ñ¡∩ÑΓ º¡áτÑ¡¿∩ }
  857.                 B: Integer = 23;  { Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá B »«½πτáÑΓ
  858.                                     ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ }
  859.              var
  860.                X, Y: Integer;     { »ÑαѼѡ¡δÑ X ¿ Y ¿¼ÑεΓ Γ¿» Integer }
  861.                J: Real;           { »ÑαѼѡ¡á∩ J ¿¼ÑÑΓ Γ¿» Real }
  862.  
  863.  
  864.          B.Pascal 7 & Objects/LR      - 18 -
  865.  
  866.              begin
  867.                X := 7;            { »ÑαѼѡ¡«⌐ X »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ }
  868.                Y := 7;            { »ÑαѼѡ¡«⌐ Y »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ }
  869.                X := Y + Y;        { º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ X ¿º¼Ñ¡∩ÑΓß∩ }
  870.                J := 0.075;        { »ÑαѼѡ¡«⌐ J »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ
  871.                                     ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ }
  872.              end.
  873.  
  874.              é φΓ«⌐ »α«ßΓ«⌐ ¿ ¡Ñ «τÑ¡∞ »«½Ñº¡«⌐ »α«úαἼѠX »Ñαó«¡áτá½∞¡«
  875.         »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ 7; ñóπ¼∩ «»ÑαáΓ«αἿ ¡¿ªÑ Ñ⌐ »α¿ßóá¿óáÑΓß∩
  876.         ¡«ó«Ñ º¡áτÑ¡¿Ñ:  Y + Y. èᬠ¼«ª¡« ó¿ñÑΓ∞, º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ ¼«-
  877.         ªÑΓ ¿º¼Ñ¡∩Γ∞ß∩.
  878.  
  879.              A - φΓ« ¬«¡ßΓá¡Γá. Åα«úαἼᠡạáτáÑΓ Ñ⌐ º¡áτÑ¡¿Ñ 12, ¿ φΓ«
  880.         º¡áτÑ¡¿Ñ ¿º¼Ñ¡∩Γ∞ß∩  ¡Ñ  ¼«ªÑΓ  - ó σ«ñÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ «¡«
  881.         «ßΓáÑΓß∩ »«ßΓ«∩¡¡δ¼.
  882.  
  883.              B »αÑñßΓáó½∩ÑΓ ß«í«⌐ Γ¿»¿º¿α«óá¡¡πε ¬«¡ßΓá¡Γπ. à⌐ »α¿ßóá¿óá-
  884.         ÑΓß∩ º¡áτÑ¡¿Ñ »α¿ «»¿ßá¡¿¿,  ¡« ñáÑΓß∩ Γá¬ªÑ Γ¿» Integer. Æ¿»¿º¿-
  885.         α«óá¡πε ¬«¡ßΓá¡Γπ ¼«ª¡« αáßß¼áΓα¿óáΓ∞ ¬á¬ »ÑαѼѡ¡πε ß  ¡áτá½∞¡δ¼
  886.         º¡áτÑ¡¿Ñ¼. Å«ºñ¡ÑÑ »α«úαἼᠼ«ªÑΓ ¿º¼Ñ¡¿Γ∞ »Ñαó«¡áτá½∞¡«Ñ º¡áτÑ-
  887.         ¡¿Ñ B ¡á ¬á¬«Ñ-Γ« ñαπú«Ñ º¡áτÑ¡¿Ñ.
  888.  
  889.              àß½¿ óδ óÑα¡ÑΓÑß∞ «íαáΓ¡« ¬ »α¿óÑñÑ¡¡«¼π ó ¡áτá½Ñ ú½áóδ »α¿-
  890.         ¼Ñα𠬫ñá,  Γ« πó¿ñ¿ΓÑ, τΓ« Σπ¡¬µ¿∩ GetNumber ¿¼ÑÑΓ αáºñѽ «»¿ßá-
  891.         ¡¿⌐, ó ¬«Γ«α«¼ «»¿ßδóáÑΓß∩ »ÑαѼѡ¡á∩.  Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«úπΓ
  892.         ß«ñÑαªáΓ∞ αáºñÑ½δ «»¿ßá¡¿⌐ ΓᬪѠ¬á¬ »α«úαá¼¼δ ¿ ¼«ñπ½¿.
  893.  
  894.  
  895.  
  896.  
  897.          B.Pascal 7 & Objects/LR      - 19 -
  898.  
  899.                                 è«¼»«¡«ó¬á τáßΓÑ⌐
  900.         ─────────────────────────────────────────────────────────────────
  901.  
  902.              ÆÑ»Ñα∞, ¬«úñá  óδ  »«º¡á¬«¼¿½¿ß∞  ß  «ß¡«ó¡δ¼¿  ¬«¼»«¡Ñ¡ΓἿ
  903.         »α«úαá¼¼δ Borland Pascal, ñáóá⌐ΓÑ »«ß¼«Γα¿¼, ¬á¬ óßÑ φΓ« αáí«ΓáÑΓ
  904.         ó¼ÑßΓÑ. Åα¿óÑñѼ ñ¿áúαá¼¼π »α«úαá¼¼δ Borland Pascal:
  905.  
  906.              ┌──────────────────────────────────────────────────────────┐
  907.              │ Åα«úαἼᠡá Åá߬á½Ñ                                     │
  908.              │┌────────────────────────────────────────────────────────┐│
  909.              ││ çáú«½«ó«¬ »α«úαá¼¼δ                                    ││
  910.              │└────────────────────────────────────────────────────────┘│
  911.              │┌────────────────────────────────────────────────────────┐│
  912.              ││ ìÑ«í∩ºáΓѽ∞¡δÑ «»ÑαáΓ«αδ uses                          ││
  913.              │└────────────────────────────────────────────────────────┘│
  914.              │┌────────────────────────────────────────────────────────┐│
  915.              ││ Äß¡«ó¡«⌐ í½«¬ »α«úαá¼¼δ                                ││
  916.              ││┌──────────────────────────────────────────────────────┐││
  917.              │││ Ä»¿ßá¡¿∩                                             │││
  918.              ││└──────────────────────────────────────────────────────┘││
  919.              ││┌──────────────────────────────────────────────────────┐││
  920.              │││ Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ (0 ¿½¿ í«½ÑÑ)                  │││
  921.              │││┌────────────────────────────────────────────────────┐│││
  922.              ││││ Ä»¿ßá¡¿∩                                           ││││
  923.              │││└────────────────────────────────────────────────────┘│││
  924.              │││ begin                                                │││
  925.              │││    ┌────────────────────────────────────────────────┐│││
  926.              │││    │ Ä»ÑαáΓ«αδ (1 ¿½¿ í«½ÑÑ)                        ││││
  927.              │││    └────────────────────────────────────────────────┘│││
  928.              │││ end;                                                 │││
  929.              ││└──────────────────────────────────────────────────────┘││
  930.              ││ begin                                                  ││
  931.              ││  ┌────────────────────────────────────────────────────┐││
  932.              ││  │ Ä»ÑαáΓ«αδ (1 ¿½¿ í«½ÑÑ)                            │││
  933.              ││  │┌──────────────────────────────────────────────────┐│││
  934.              ││  ││ éδαáªÑ¡¿∩ (1 ¿½¿ í«½ÑÑ)                          ││││
  935.              ││  ││┌────────────────────────────────────────────────┐││││
  936.              ││  │││ ïѬßѼδ (1 ¿½¿ í«½ÑÑ)                          │││││
  937.              ││  ││└────────────────────────────────────────────────┘││││
  938.              ││  │└──────────────────────────────────────────────────┘│││
  939.              ││  └────────────────────────────────────────────────────┘││
  940.              ││ end.                                                   ││
  941.              │└────────────────────────────────────────────────────────┘│
  942.              └──────────────────────────────────────────────────────────┘
  943.  
  944.              É¿ß. 1.4 ÉáßΦ¿αÑ¡¡á∩ ñ¿áúαἼᠻα«úαá¼¼δ ¡á Åá߬á½Ñ.
  945.  
  946.              Åα«úαá¼¼π ¡á Åá߬á½Ñ ß«ßΓáó½∩εΓ ºáú«½«ó«¬ »α«úαá¼¼δ,  ¡Ñ«í∩-
  947.         ºáΓѽ∞¡δ⌐ «»ÑαáΓ«α uses (« ¡Ñ¼ íπñÑΓ αáß߬áºá¡« »«ºñ¡ÑÑ) ¿ «ß¡«ó-
  948.         ¡«⌐ í½«¬ »α«úαá¼¼δ.  é «ß¡«ó¡«¼ í½«¬Ñ ¼«úπΓ »α¿ßπΓßΓó«óáΓ∞  í«½ÑÑ
  949.         ¼Ñ½¬¿Ñ í½«¬¿  »α«µÑñπα ¿ Σπ¡¬µ¿⌐.  ò«Γ∩ ¡á ñ¿áúαἼѠφΓ« ¡Ñ »«¬á-
  950.         ºá¡«, »α«µÑñπαδ ¿¼ Σπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ ó½«ªÑ¡¡δ¼¿ ó ñαπú¿Ñ  »α«µÑ-
  951.         ñπαδ ¿½¿ Σπ¡¬µ¿¿.  äαπú¿¼¿ ß½«óἿ,  í½«¬¿ ¼«úπΓ ß«ñÑαªáΓ∞ ñαπú¿Ñ
  952.  
  953.          B.Pascal 7 & Objects/LR      - 20 -
  954.  
  955.         í½«¬¿.
  956.  
  957.              é ß«τÑΓá¡¿¿ ß ñαπú¿¼¿ ½Ñ¬ßѼἿ ¿  »α«íѽἿ  ½Ñ¬ßÑ¼δ  ¼«úπΓ
  958.         «íαẫóδóáΓ∞ óδαáªÑ¡¿∩,  Σ«α¼¿απεΘ¿Ñ «»ÑαáΓ«α.  Ä»ÑαáΓ«αδ, ó ßó«ε
  959.         «τÑαÑñ∞, ó ß«τÑΓá¡¿¿ ß αáºñѽ«¼ «»¿ßá¡¿⌐ «íαáºπεΓ í½«¬¿  «ß¡«ó¡«⌐
  960.         »α«úαá¼¼δ ¿½¿ í½«¬ ó »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿.
  961.  
  962.                                      î«ñπ½¿
  963.         ─────────────────────────────────────────────────────────────────
  964.  
  965.              Åα«úαá¼¼á Borland Pascal ¼«ªÑΓ  ¿ß»«½∞º«óáΓ∞  í½«¬¿  ¬«ñá  ó
  966.         »α«úαá¼¼¡δσ ¼«ñπ½∩σ.  î«ñπ½∞  (unit)  ¼«ª¡« αáßß¼áΓα¿óáΓ∞ ¬á¬ ¼¿-
  967.         ¡¿-»α«úαá¼¼π, ¬«Γ«απε ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ óáΦá »α¿¬½áñ¡á∩ »α«úαá¼-
  968.         ¼á. èᬠ¿ »α«úαá¼¼á, «¡ ¿¼ÑÑΓ ºáú«½«ó«¬ (¬«Γ«αδ⌐ ¡áºδóáÑΓß∩ ºáú«-
  969.         ½«ó¬«¼ ¼«ñπ½∩) ¿ «ß¡«ó¡«⌐ í½«¬, «úαá¡¿τÑ¡¡δ⌐ begin ¿ end.
  970.  
  971.              Äß¡«ó¡«⌐ í½«¬ ½εí«⌐ »α«úαá¼¼δ Borland Pascal ¼«ªÑΓ  ó¬½ετáΓ∞
  972.         ó ßÑí∩  ßΓ᫬π, »«ºó«½∩εΘπε »α«úαἼѠ¿ß»«½∞º«óáΓ∞ «ñ¿¡ ¿½¿ í«½ÑÑ
  973.         ¼«ñπ½Ñ⌐. ìá»α¿¼Ñα, Ñß½¿ óδ »¿ΦÑΓÑ »α«úαá¼¼π DOS ß ¿¼Ñ¡Ñ¼ Colors ¿
  974.         σ«Γ¿ΓÑ ¿º¼Ñ¡∩Γ∞  µóÑΓá óδó«ñ¿¼«ú« ¡á φ¬αá¡ ΓѬßΓá,  Γ« óáΦá »α«ú-
  975.         αἼᠼ«ªÑΓ  ¿ß»«½∞º«óáΓ∞  ßΓá¡ñáαΓ¡δ⌐  ¼«ñπ½∞  Crt,   ∩ó½∩εΘ¿⌐ß∩
  976.         τáßΓ∞ε í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland Pascal:
  977.  
  978.              program Colors;
  979.              uses Crt;
  980.              begin
  981.                 .
  982.                 .
  983.                 .
  984.              end.
  985.  
  986.              æΓ᫬á uses Crt ß««íΘáÑΓ Borland Pascal,  τΓ« ¡πª¡« ó¬½ετ¿Γ∞
  987.         ¼«ñπ½∞ Crt ó óδ»«½¡∩Ѽπε »α«úαá¼¼π.  èα«¼Ñ óßÑú« »α«τÑú«,  ¼«ñπ½∞
  988.         Crt ß«ñÑαª¿Γ  óÑß∞  ¡Ñ«íσ«ñ¿¼δ⌐  ¬«ñ  ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ µóÑΓá ó óáΦÑ⌐
  989.         »α«úαá¼¼Ñ. ÅπΓѼ »α«ßΓ«ú« ó¬½ετÑ¡¿∩ uses Crt óáΦá »α«úαἼᠼ«ªÑΓ
  990.         ¿ß»«½∞º«óáΓ∞ óÑß∞ ¬«ñ,  ß«ñÑαªáΘ¿⌐ß∩ ó ¼«ñπ½Ñ Crt. Å«φΓ«¼π «»Ñαá-
  991.         Γ«α uses ¡áºδóáεΓ ΓᬪѠ«»ÑαáΓ«α«¼ ¿ß»«½∞º«óá¡¿∩.  àß½¿ íδ óδ »«-
  992.         ¼ÑßΓ¿½¿ óÑß∞ ¬«ñ,  ¡Ñ«íσ«ñ¿¼δ⌐ ñ½∩ αÑ὿ºáµ¿¿ Σπ¡¬µ¿«¡á½∞¡δσ ó«º-
  993.         ¼«ª¡«ßΓÑ⌐ Crt, ó ßó«ε »α«úαá¼¼π, φΓ« »«ΓαÑí«óὫ íδ «úα«¼¡δσ πß¿-
  994.         ½¿⌐ ¿ «Γó½Ñ¬½« íδ óáß «Γ «ß¡«ó¡«⌐ µÑ½¿ »α«úαá¼¼δ.
  995.  
  996.              ü¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland Pascal ó¬½ετáεΓ ó ßÑ-
  997.         í∩ ¡Ñ߬«½∞¬« ¼«ñπ½Ñ⌐, ¬«Γ«αδÑ óδ ¡á⌐ñÑΓÑ óÑß∞¼á »«½Ñº¡δ¼¿. ìá»α¿-
  998.         ¼Ñα, í½áú«ñáα∩  ¿ß»«½∞º«óá¡¿ε ¼«ñπ½Ñ⌐ Dos ¿½¿ WinDos,  óáΦá »α«ú-
  999.         αἼᠼ«ªÑΓ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ¡Ñ߬«½∞¬¿¼ »«ñ»α«úαἼἠ«»Ñαᵿ«¡-
  1000.         ¡«⌐ ß¿ßΓÑ¼δ ¿ »«ñ»α«úαἼἠαáí«Γδ ß Σá⌐½á¼¿.
  1001.  
  1002.              éδ ¼«ªÑΓÑ  ΓᬪѠ»¿ßáΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ ¼«ñπ½¿.  Åα¿¼Ñ¡∩⌐ΓÑ
  1003.         ¿σ ñ½∩ αáºñѽѡ¿∩ í«½∞Φ¿σ »α«úαá¼¼ ¡á ½«ú¿τÑ߬¿Ñ ßó∩ºá¡¡δÑ  Σαáú-
  1004.         ¼Ñ¡Γδ. Åα«úαá¼¼¡δ⌐ ¬«ñ,  ¬«Γ«αδ⌐ óδ »«¼ÑΘáÑΓѠ󠼫ñπ½∞, ¼«ªÑΓ ¿ß-
  1005.         »«½∞º«óáΓ∞ß∩ ½εí«⌐ »α«úαá¼¼«⌐.  éá¼ ¡πª¡« ¡á»¿ßáΓ∞  ¿ßσ«ñ¡δ⌐  ¬«ñ
  1006.         Γ«½∞¬« «ñ¿¡ αáº, á ºáΓѼ óδ ß¼«ªÑΓÑ ¼¡«ú« αẠÑú« ¿ß»«½∞º«óáΓ∞.
  1007.  
  1008.  
  1009.          B.Pascal 7 & Objects/LR      - 21 -
  1010.  
  1011.                             æ¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ
  1012.         ─────────────────────────────────────────────────────────────────
  1013.  
  1014.              Åα¿ ¿ºπτÑ¡¿¿  ú½áó  2  -  11,  úñÑ «»αÑñѽ∩ÑΓß∩ ∩ºδ¬ Borland
  1015.         Pascal, óδ óßΓαÑΓ¿ΓÑ ß¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ, ¡á»α¿¼Ñα:
  1016.  
  1017.                                   ┌───┐     ┌──────────────┐     ┌───┐
  1018.             ¬«¡ßΓá¡Γá-¼áßß¿ó  ───>│ ( ├────>│Γ¿»¿º¿α«óá¡¡á∩├──┬─>│ ) ├──>
  1019.                                   └───┘  ^  │  ¬«¡ßΓá¡Γá   │  │  └───┘
  1020.                                          │  └──────────────┘  │
  1021.                                          │      ┌───┐         │
  1022.                                          └──────┤ , │<────────┘
  1023.                                                 └───┘
  1024.  
  1025.              ùΓ«íδ »α«τ¿ΓáΓ∞  ñ¿áúαá¼¼π,  ß½Ññπ⌐ΓÑ  »«  ßΓαѽ¬á¼.   ùáßΓ«
  1026.         óßΓαÑτáεΓß∩ á½∞ΓÑα¡áΓ¿ó¡δÑ »πΓ¿:  »πΓ∞,  ¡áτ¿¡áεΘ¿⌐ß∩ ß½Ñóá ¿ ºá-
  1027.         ¬á¡τ¿óáεΘ¿⌐ß∩ ßΓαѽ¬«⌐ ß»αáóá,  ∩ó½∩ÑΓß∩ ñ«»πßΓ¿¼δ¼. ÅπΓ∞ »ÑαÑßÑ-
  1028.         ¬áÑΓ í½«¬¿, ß«ñÑαªáΘ¿Ñ ¿¼Ñ¡á φ½Ñ¼Ñ¡Γ«ó, ¿ß»«½∞ºπѼδσ ñ½∩ »«ßΓα«Ñ-
  1029.         ¡¿∩ φΓ«⌐ τáßΓ¿ ß¿¡Γá¬ß¿ßá.
  1030.  
  1031.              ê¼Ñ¡á ó  »α∩¼«πú«½∞¡δσ αἬáσ ß ΓѬßΓ«¼ ñ«½ª¡δ íδΓ∞ ºá¼Ñ¡Ñ¡δ
  1032.         ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ ¬«¡ßΓαπ¬µ¿∩¼¿.  ìѬ«Γ«αδÑ αἬ¿ ß«ñÑαªáΓ ºáαѺÑα-
  1033.         ó¿α«óá¡¡δÑ ß½«óá, º¡á¬¿ «»Ñαᵿ⌐ ¿ º¡á¬¿ »π¡¬Γπᵿ¿, Γ« ÑßΓ∞ Σá¬-
  1034.         Γ¿τÑ߬¿Ñ ΓÑα¼δ,  ¿ß»«½∞ºπѼδÑ ó »α«úαá¼¼Ñ.  ê¼Ñ¡á ó í½«¬áσ -  φΓ«
  1035.         ¬«¡ßΓαπ¬µ¿¿  ∩ºδ¬á.  ê¼Ñ¡á,  ¡á»¿ßá¡¡δÑ  »«-á¡ú½¿⌐߬¿  (¡á»α¿¼Ñα,
  1036.         procedure),  »αÑñßΓáó½∩ε ß«í«⌐ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá ¿ «»Ñαᵿ¿
  1037.         Borland Pascal.
  1038.  
  1039.  
  1040.  
  1041.          B.Pascal 7 & Objects/LR      - 22 -
  1042.  
  1043. ───────────────────────────────────────────────────────────────────────
  1044.                                 â½áóá 2. ïѬßѼδ
  1045.         ─────────────────────────────────────────────────────────────────
  1046.  
  1047.              ïѬßѼδ - φΓ« ¼¿¡¿¼á½∞¡δÑ º¡áτ¿¼δÑ Ññ¿¡¿µδ ΓѬßΓá ó »α«úαá¼-
  1048.         ¼Ñ,  ¡á»¿ßá¡¡«⌐ ¡á Åá߬á½Ñ.  Ä¡¿ »αÑñßΓáó½Ñ¡δ Γᬿ¼¿  ¬áΓÑú«α¿∩¼¿
  1049.         ¬á¬ ß»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ, ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, ¼ÑΓ¬¿, τ¿ß½á ¿ ßΓ᫬«óδÑ
  1050.         ¬«¡ßΓá¡Γδ.
  1051.  
  1052.              Åα«úαá¼¼á, ¡á»¿ßá¡¡á∩ ¡á Åá߬á½Ñ, ß«ßΓ«¿Γ ¿º ½Ñ¬ßѼ ¿ αáºñÑ-
  1053.         ½¿ΓѽÑ⌐, »α¿τѼ αáºñѽ¿Γѽ∞ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«íѽ ¿½¿ ¬«¼¼Ñ¡-
  1054.         Γáα¿⌐. äóÑ ß«ßÑñ¡¿Ñ ½Ñ¬ßѼδ, Ñß½¿ «¡¿ »αÑñßΓáó½∩εΓ ß«í«⌐ ºáαѺÑα-
  1055.         ó¿α«óá¡¡«Ñ  ß½«ó«,  ¿ñÑ¡Γ¿Σ¿¬áΓ«α,  ¼ÑΓ¬π ¿½¿ τ¿ß½«,  ñ«½ª¡δ íδΓ∞
  1056.         «Γñѽѡδ ñαπú «Γ ñαπúá «ñ¡¿¼ ¿ ¡Ñ߬«½∞¬¿¼¿ αáºñѽ¿Γѽ∩¼¿.
  1057.  
  1058.                    Åα¿¼Ñτá¡¿Ñ: Éáºñѽ¿Γѽ¿  ¡Ñ  ¼«úπΓ íδΓ∞ τáßΓ∞ε ½Ñ¬ßѼ,
  1059.               ºá ¿ß¬½ετÑ¡¿Ñ¼ ßΓ᫬«óδ󠬫¡ßΓá¡Γ.
  1060.  
  1061.                                æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ
  1062.         ─────────────────────────────────────────────────────────────────
  1063.  
  1064.              Borland Pascal ¿ß»«½∞ºπÑΓ ß½ÑñπεΘ¿Ñ »«ñ¼¡«ªÑßΓóá ¡áí«αá ß¿¼-
  1065.         ó«½«ó ¬«ñá ASCII:
  1066.  
  1067.              * üπ¬óδ - íπ¬óδ á¡ú½¿⌐߬«ú« á½Σáó¿Γá «Γ A ñ« Z ¿ «Γ a ñ« z.
  1068.  
  1069.              * û¿Σαδ - áαáí߬¿Ñ µ¿Σαδ «Γ 0 ñ« 9.
  1070.  
  1071.              * ÿÑßΓ¡áñµáΓ¿α¿τ¡δÑ  µ¿Σαδ - áαáí߬¿Ñ µ¿Σαδ «Γ 0 ñ« 9, íπ¬óδ
  1072.                «Γ A ñ« F ¿ íπ¬óδ «Γ a ñ« f.
  1073.  
  1074.              * Éáºñѽ¿Γѽ¿ - ß¿¼ó«½ »α«íѽá (ASCII 32) ¿ óßÑ  π»αáó½∩εΘ¿Ñ
  1075.                ß¿¼ó«½δ  ¬«ñá  ASCII  (ASCII  0-31),  ó¬½ετá∩ ß¿¼ó«½ ¬«¡µá
  1076.                ßΓ᫬¿ ¿½¿ ß¿¼ó«½ ó«ºóαáΓá (ASCII 13).
  1077.  
  1078.          íπ¬óá
  1079.            │
  1080.            └─────────┬──────────────┬──────────────┬──────────────┐
  1081.                      │              │              │              │
  1082.                      v              v              v              v
  1083.                    ┌───┐          ┌───┐          ┌───┐          ┌───┐
  1084.                    │ A │   ...    │ Z │          │ a │   ...    │ z │
  1085.                    └─┬─┘          └─┬─┘          └─┬─┘          └─┬─┘
  1086.                      │              │              │              │
  1087.                      └──────────────┴──────────────┴──────────────┴────>
  1088.  
  1089.  
  1090.          B.Pascal 7 & Objects/LR      - 23 -
  1091.  
  1092.  
  1093.          µ¿Σαá
  1094.            │
  1095.            └──────┬───────────┐
  1096.                   │           │
  1097.                   v           v
  1098.                 ┌───┐       ┌───┐
  1099.                 │ 0 │  ...  │ 9 │
  1100.                 └─┬─┘       └─┬─┘
  1101.                   │           │
  1102.                   └───────────┴───────>
  1103.  
  1104.          ΦÑßΓ¡áñµáΓ¿α¿τ¡á∩
  1105.          µ¿Σαá
  1106.           │         ┌───────────┐
  1107.           └────────>│   µ¿Σαá   │─────────────────────────┐
  1108.               │     └───────────┘                         │
  1109.               │                                           │
  1110.               └───┬─────────┬─────────┬─────────┐         │
  1111.                   │         │         │         │         │
  1112.                   v         v         v         v         │
  1113.                 ┌───┐     ┌───┐     ┌───┐     ┌───┐       │
  1114.                 │ A │ ..  │ F │     │ a │ ... │ f │       │
  1115.                 └─┬─┘     └─┬─┘     └─┬─┘     └─┬─┘       │
  1116.                   │         │         │         │         │
  1117.                   └─────────┴─────────┴─────────┴─────────┴─────────>
  1118.  
  1119.              æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ  ¿ ºáαѺÑαó¿α«óá¡¡δÑ  ß½«óá »αÑñßΓáó½∩εΓ
  1120.         ß«í«⌐ ß¿¼ó«½δ, ¿¼ÑεΘ¿Ñ «ñ¡« ¿½¿ ¡Ñ߬«½∞¬« Σ¿¬ß¿α«óá¡¡δσ º¡áτÑ¡¿⌐.
  1121.         æ»Ñµ¿á½∞¡δ¼¿ ß¿¼ó«½á¼¿ ∩ó½∩εΓß∩ ß½ÑñπεΘ¿Ñ «ñ¿¡«τ¡δÑ ß¿¼ó«½δ:
  1122.  
  1123.             +  -  *  /  =  <  >  [  ]  .  ,  (  )  :  ;  ^  @  {  }  $  #
  1124.  
  1125.              æ½ÑñπεΘ¿Ñ »áαδ ß¿¼ó«½«ó ΓᬪѠ»αÑñßΓáó½∩εΓ ß«í«⌐ ß»Ñµ¿á½∞¡δÑ
  1126.         ß¿¼ó«½δ:
  1127.  
  1128.                         <=  >=  :=  ..  (*  *)  (.  .)
  1129.  
  1130.              èα«¼Ñ Γ«ú«,  ¡Ñ¬«Γ«αδÑ  ß»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ ∩ó½∩εΓß∩ º¡á¬á¼¿
  1131.         «»Ñαᵿ⌐. ïÑóá∩ ¬óáñαáΓ¡á∩ ß¬«í¬á ([) φ¬ó¿óá½Ñ¡Γ¡á »áαÑ ß¿¼ó«½«ó,
  1132.         ß«ßΓ«∩ΘÑ⌐ ¿º ½Ñó«⌐ ¬απú½«⌐ ß¬«í¬¿ ¿ Γ«τ¬¿ ((.). Ç¡á½«ú¿τ¡« »αáóá∩
  1133.         ¬óáñαáΓ¡á∩ ß¬«í¬á (]) φ¬ó¿óá½Ñ¡Γ¡á »áαÑ  ß¿¼ó«½«ó,  ß«ßΓ«∩ΘÑ⌐  ¿º
  1134.         Γ«τ¬¿ ¿ »αáó«⌐ ¬απú½«⌐ ß¬«í¬¿ (.)).
  1135.  
  1136.  
  1137.  
  1138.          B.Pascal 7 & Objects/LR      - 24 -
  1139.  
  1140.                              çáαѺÑαó¿α«óá¡¡δÑ ß½«óá
  1141.                      ¿ ßΓá¡ñáαΓ¡δÑ ñ¿αÑ¬Γ¿óδ Borland Pascal
  1142.         ─────────────────────────────────────────────────────────────────
  1143.  
  1144.             æ½ÑñπεΘ¿Ñ ß½«óá ∩ó½∩εΓß∩ ºáαѺÑαó¿α«óá¡¡δ¼¿ ó Borland Pascal:
  1145.  
  1146.                      çáαѺÑαó¿α«óá¡¡δÑ ß½«óá Borland Pascal   Æáí½¿µá 1.1
  1147.         ─────────────────────────────────────────────────────────────────
  1148.             and              exports             mod            shr
  1149.             array            file                nil            string
  1150.             asm              for                 not            then
  1151.             begin            function            object         to
  1152.             case             goto                of             type
  1153.             const            if                  or             unit
  1154.             consatructor     implementation      packed         until
  1155.             destructor       in                  procedure      uses
  1156.             div              inherited           program        var
  1157.             do               inline              record         while
  1158.             downto           interface           repeat         with
  1159.             else             label               set            xor
  1160.             end              library             shl
  1161.         ─────────────────────────────────────────────────────────────────
  1162.  
  1163.              é ¡áßΓ«∩ΘѼ  απ¬«ó«ñßΓóÑ  ºáαѺÑαó¿α«óá¡¡δÑ  ß½«óá  ºá»¿ßá¡δ
  1164.         ßΓα«τ¡δ¼¿ íπ¬óἿ. Äñ¡á¬«, ñ½∩ Borland Pascal íѺαẽ¿τÑ¡ αÑú¿ßΓα
  1165.         ¬½áó¿áΓπαδ, »«φΓ«¼π óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ó ßó«Ñ⌐ »α«úαἼѠíπ¬-
  1166.         óδ ¬á¬ ¡¿ª¡Ñú«, Γᬠ¿ óÑασ¡Ñú« αÑú¿ßΓαá.
  1167.  
  1168.              äá½ÑÑ »α¿óÑñÑ¡δ ßΓá¡ñáαΓ¡δÑ ñ¿αÑ¬Γ¿óδ Borland Pascal.  é «Γ-
  1169.         ½¿τ¿Ñ «Γ ºáαѺÑαó¿α«óá¡¡δσ ß½«ó »«½∞º«óáΓѽ∞ ¼«ªÑΓ ¿σ »ÑαÑ«»αÑñÑ-
  1170.         ½¿Γ∞. Äñ¡á¬« ñѽáΓ∞ φΓ« ¡Ñ αѬ«¼Ñ¡ñπÑΓß∩.
  1171.  
  1172.                        æΓá¡ñáαΓ¡δÑ ñ¿αÑ¬Γ¿óδ Borland Pascal   Æáí½¿µá 1.2
  1173.         ─────────────────────────────────────────────────────────────────
  1174.                     absolute       far            name        resident
  1175.                     assembler      forward        near        virtual
  1176.                     export         index          private
  1177.                     external       interrupt      public
  1178.         ─────────────────────────────────────────────────────────────────
  1179.  
  1180.  
  1181.  
  1182.          B.Pascal 7 & Objects/LR      - 25 -
  1183.  
  1184.                                  êñÑ¡Γ¿Σ¿¬áΓ«αδ
  1185.         ─────────────────────────────────────────────────────────────────
  1186.  
  1187.              êñÑ¡Γ¿Σ¿¬áΓ«αδ óδßΓπ»áεΓ ó ¬áτÑßΓóÑ  ¿¼Ñ¡  ¬«¡ßΓá¡Γ,  Γ¿»«ó,
  1188.         »ÑαѼѡ¡δσ, »α«µÑñπα, ¼«ñπ½Ñ⌐, »α«úαá¼¼ ¿ »«½Ñ⌐ ó ºá»¿ß∩σ.
  1189.  
  1190.              êñÑ¡Γ¿Σ¿¬áΓ«α ¼«ªÑΓ ¿¼ÑΓ∞ ½εíπε ñ½¿¡π,  «ñ¡á¬« Γ«½∞¬« »ÑαóδÑ
  1191.         Ñú« 63 ß¿¼ó«½á ∩ó½∩εΓß∩ º¡áτ¿¼δ¼¿. êñÑ¡Γ¿Σ¿¬áΓ«α ñ«½ªÑ¡ ¡áτ¿¡áΓ∞-
  1192.         ß∩  ß íπ¬óδ ¿ ¡Ñ ¼«ªÑΓ ß«ñÑαªáΓ∞ »α«íѽ«ó.  Å«ß½Ñ »Ñαó«ú« ß¿¼ó«½á
  1193.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¼«ª¡« ¿ß»«½∞º«óáΓ∞ íπ¬óδ,  µ¿Σαδ ¿ ß¿¼ó«½δ »«ñτÑα-
  1194.         ¬¿óá¡¿∩ (º¡áτÑ¡¿Ñ ASCII $5F). èᬠ¿ ó ºáαѺÑαó¿α«óá¡¡δσ ß½«óáσ, ó
  1195.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αáσ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬á¬ ßΓα«τ¡δÑ,  Γᬠ¿ »α«»¿ß¡δÑ
  1196.         íπ¬óδ (¬«¼»¿½∩Γ«α ¿σ ¡Ñ αẽ¿τáÑΓ).
  1197.  
  1198.              êñÑ¡Γ¿Σ¿¬áΓ«α ñ«½ªÑ¡  ¡áτ¿¡áΓ∞ß∩  ß íπ¬óδ ¿ ¡Ñ ñ«½ªÑ¡ ß«ñÑα-
  1199.         ªáΓ∞ »α«íѽ«ó.  Å«ß½Ñ »Ñαó«ú« ß¿¼ó«½á ñ«»π߬áεΓß∩ íπ¬óδ,  µ¿Σαδ ¿
  1200.         ß¿¼ó«½ »«ñτÑનóá¡¿∩ (ASCII $5F).  èᬠ¿ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá,
  1201.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ íѺαẽ¿τ¡δ ¬ αÑú¿ßΓα𠬽áó¿áΓπαδ.
  1202.  
  1203.              è«úñá ¿¼ÑÑΓß∩ ¡Ñ߬«½∞¬« ¼ÑßΓ ß π¬áºá¡¿Ñ¼ «ñ¡«ú«  ¿  Γ«ú«  ªÑ
  1204.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αá,  ñ½∩  ºáñá¡¿∩  ¡πª¡«ú«  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¡Ñ«íσ«ñ¿¼«
  1205.         πΓ«τ¡¿Γ∞ φëà¿ñÑ¡Γ¿Σ¿¬áΓ«α ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¼«ñπ½∩. ìá»-
  1206.         α¿¼Ñα, ñ½∩ πΓ«τ¡Ñ¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Ident ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«-
  1207.         αá ¼«ñπ½∩ UnitName ß½ÑñπÑΓ ºá»¿ßáΓ∞ UnitNamt.Ident.  Æá¬«⌐ ¬«¼í¿-
  1208.         ¡¿α«óá¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¡áºδóáÑΓß∩ πΓ«τ¡Ñ¡¡δ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼.
  1209.  
  1210.                    Åα¿¼Ñτá¡¿Ñ: î«ñπ½¿ «»¿ßδóáεΓß∩ ó â½áóÑ 7  "Éπ¬«ó«ñßΓóá
  1211.               »«½∞º«óáΓѽ∩" ¿ ó â½áóÑ 10 ñá¡¡«ú« απ¬«ó«ñßΓóá.
  1212.  
  1213.                               ┌───────────┐
  1214.          êñÑ¡Γ¿Σ¿¬áΓ«α ──┬───>│   íπ¬óá   │─────────────────────────┬─>
  1215.                          │    └───────────┘ ^ ^                     │
  1216.                          │  ┌─────────────┐ │ │                     │
  1217.                          └─>│   ß¿¼ó«½    ├─┘ │   ┌─────────────┐   │
  1218.                             │»«ñτÑનóá¡¿∩│   ├───┤    íπ¬óá    │<──┤
  1219.                             └─────────────┘   │   └─────────────┘   │
  1220.                                               │   ┌─────────────┐   │
  1221.                                               ├───┤    µ¿Σαá    │<──┤
  1222.                                               │   └─────────────┘   │
  1223.                                               │   ┌─────────────┐   │
  1224.                                               └───┤   ß¿¼ó«½    │<──┘
  1225.                                                   │»«ñτÑનóá¡¿∩│
  1226.                                                   └─────────────┘
  1227.  
  1228.  
  1229.          B.Pascal 7 & Objects/LR      - 26 -
  1230.  
  1231.  
  1232.                                    ┌───┐
  1233.          ß¿¼ó«½ »«ñτÑનóá¡¿∩─────>│ _ │─────>
  1234.                                    └───┘
  1235.  
  1236.          ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«úαá¼¼δ        ┌─────────────┐
  1237.          ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩     ─────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α│────>
  1238.          ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«½∩             └─────────────┘
  1239.  
  1240.                                                    ┌───────────────┐
  1241.          πΓ«τ¡Ñ¡¡δ⌐  ──┬───────────────────────────┤ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├──>
  1242.          ¿ñÑ¡Γ¿Σ¿¬áΓ«α │                         ^ └───────────────┘
  1243.                        │  ┌─────────────┐  ┌───┐ │
  1244.                        └─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─>│ . ├─┘
  1245.                           │  ¼«ñπ½∩     │  └───┘
  1246.                           └─────────────┘
  1247.  
  1248.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó:
  1249.  
  1250.              Writeln
  1251.              Exit
  1252.              Real2String
  1253.              System.MemAvail
  1254.              Dos.Exec
  1255.              WinCrt.Windows
  1256.  
  1257.  
  1258.  
  1259.          B.Pascal 7 & Objects/LR      - 27 -
  1260.  
  1261.                                       ù¿ß½á
  1262.         ─────────────────────────────────────────────────────────────────
  1263.  
  1264.              ä½∩ τ¿ßѽ,  »αÑñßΓáó½∩εΘ¿σ ß«í«⌐ ¬«¡ßΓá¡Γδ µÑ½«ú« ¿  óÑΘÑßΓ-
  1265.         óÑ¡¡«ú« Γ¿»á, ¿ß»«½∞ºπÑΓß∩ «íδτ¡á∩ ñÑß∩Γ¿τ¡á∩ ºá»¿ß∞. ûѽá∩ ¬«¡ß-
  1266.         Γá¡Γá ó ΦÑßΓ¡áñµáΓ¿α¿τ¡«¼ Σ«α¼áΓÑ ¿¼ÑÑΓ ó ¬áτÑßΓóÑ  »αÑΣ¿¬ßá º¡á¬
  1267.         ñ«½½áαá ($).  ÆÑσ¡¿τÑ߬«Ñ «í«º¡áτÑ¡¿Ñ (E ¿½¿ Ñ ß »«¬áºáΓѽѼ ßΓÑ-
  1268.         »Ñ¡¿) ó óÑΘÑßΓóÑ¡¡δσ Γ¿»áσ τ¿ΓáÑΓß∩,  ¬á¬ "¡á ñÑß∩Γ∞ ó  ßΓѻѡ¿".
  1269.         ìá»α¿¼Ñα, 7E-2  «º¡áτáÑΓ  7σ10^-2, á  12.25E+6  ¿½¿  12.25E6  «íá
  1270.         «í«º¡áτáεΓ 12.25σ10^+6. æ¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ ñ½∩ ºá»¿ß¿ τ¿ßѽ
  1271.         »α¿óÑñÑ¡δ ¡¿ªÑ.
  1272.  
  1273.                                          ┌─────────────────┐
  1274.              »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ────────>│ΦÑßΓ¡áñµáΓ¿α¿τ¡á∩├───────┬──>
  1275.              ΦÑßΓ¡áñµáΓ¿α¿τ¡δσ     ^     │     µ¿Σαá       │       │
  1276.              µ¿Σα                  │     └─────────────────┘       │
  1277.                                    └───────────────────────────────┘
  1278.  
  1279.                                          ┌─────────────────┐
  1280.              »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ────────>│     µ¿Σαá       ├───────┬───>
  1281.              µ¿Σα                  ^     └─────────────────┘       │
  1282.                                    │                               │
  1283.                                    └───────────────────────────────┘
  1284.  
  1285.                                         ┌──────────────────┐
  1286.              µÑ½δÑ íѺ º¡á¬á  ────┬────>│»«ß½Ññ«óáΓѽ∞¡«ßΓ∞├───────────>
  1287.                                   │     │     µ¿Σα         │     ^
  1288.                                   │     └──────────────────┘     │
  1289.                                   │                              │
  1290.                                   │     ┌───┐     ┌──────────────┴───┐
  1291.                                   └────>│ $ │────>│»«ß½Ññ«óáΓѽ∞¡«ßΓ∞│
  1292.                                         └───┘     │ΦÑßΓ¡áñµáΓ¿α¿τ¡δσ │
  1293.                                                   │       µ¿Σα       │
  1294.                                                   └──────────────────┘
  1295.                          ┌───┐
  1296.              º¡á¬  ─┬───>│ + ├───────>
  1297.                     │    └───┘   ^
  1298.                     │    ┌───┐   │
  1299.                     └───>│ - ├───┘
  1300.                          └───┘
  1301.  
  1302.  
  1303.          B.Pascal 7 & Objects/LR      - 28 -
  1304.  
  1305.  
  1306.              óÑΘÑßΓóÑ¡¡«Ñ íѺ º¡á¬á
  1307.               │   ┌──────────┐    ┌───┐  ┌──────────┐
  1308.               └──>│ū߽Ññ«óá-├─┬─>│ . ├─>│»«ß½Ññ«óá-├──┬──────────────────>
  1309.                   │Γѽ∞¡«ßΓ∞ │ │  └───┘  │Γѽ∞¡«ßΓ∞ │  │               ^
  1310.                   │ µ¿Σα     │ │         │ µ¿Σα     │  │               │
  1311.                   └──────────┘ │         └──────────┘  │               │
  1312.                                │                       v  ┌──────────┐ │
  1313.                                └─────────────────────────>│¼áßΦΓáí¡δ⌐├─┘
  1314.                                                           │ ¼¡«ª¿Γѽ∞│
  1315.                                                           └──────────┘
  1316.  
  1317.             ¼áßΦΓáí¡δ⌐ ¼¡«ª¿Γѽ∞
  1318.               │          ┌───┐                   ┌──────────────────┐
  1319.               └───────┬─>│ E ├─────┬────────────>│»«ß½Ññ«óáΓѽ∞¡«ßΓ∞├──>
  1320.                       │  └───┘ ^   │          ^  │      µ¿Σα        │
  1321.                       │  ┌───┐ │   │  ┌────┐  │  └──────────────────┘
  1322.                       └─>│ Ñ ├─┘   └─>│º¡á¬├──┘
  1323.                          └───┘        └────┘
  1324.  
  1325.             τ¿ß½« íѺ º¡á¬á
  1326.               │              ┌───────────────┐
  1327.               └───────────┬─>│µÑ½«Ñ íѺ º¡á¬á├────────>
  1328.                           │  └───────────────┘    ^
  1329.                           │  ┌────────────┐       │
  1330.                           └─>│óÑΘÑßΓóÑ¡¡«Ñ├───────┘
  1331.                              │íѺ º¡á¬á   │
  1332.                              └────────────┘
  1333.  
  1334.             τ¿ß½« ß« º¡á¬«¼
  1335.               │                          ┌───────────────┐
  1336.               └────────┬────────────────>│τ¿ß½« íѺ º¡á¬á├────>
  1337.                        │             ^   └───────────────┘
  1338.                        │  ┌────┐     │
  1339.                        └─>│º¡á¬├─────┘
  1340.                           └────┘
  1341.  
  1342.              ù¿ß½á ß  ñÑß∩Γ¿τ¡δ¼¿ Γ«τ¬á¼¿ ¿½¿ »«¬áºáΓѽ∩¼¿ ßΓѻѡ¿ »αÑñß-
  1343.         Γáó½∩εΓ ß«í«⌐ ¬«¡ßΓá¡Γδ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á.  ÄßΓá½∞¡δÑ ñÑß∩Γ¿τ¡δÑ
  1344.         τ¿ß½á «í«º¡áτáεΓ ¬«¡ßΓá¡Γδ µÑ½«ú« Γ¿»á. Ä¡¿ ñ«½ª¡δ »α¿¡¿¼áΓ∞ º¡á-
  1345.         τÑ¡¿∩ ó ñ¿á»áº«¡Ñ «Γ -2147483648 ñ« 2147483647.
  1346.  
  1347.              ÿÑßΓ¡áñµáΓ¿α¿τ¡δÑ τ¿ß½á «í«º¡áτáεΓ  ¬«¡ßΓá¡Γδ µÑ½«τ¿ß½Ñ¡¡«ú«
  1348.         Γ¿»á.   Ä¡¿   ñ«½ª¡δ  ¡áσ«ñ¿Γ∞ß∩  ó  ñ¿á»áº«¡Ñ  «Γ  $00000000  ñ«
  1349.         $FFFFFFFF.  Ä¬«¡τáΓѽ∞¡δ⌐ º¡á¬ º¡áτÑ¡¿∩ «»αÑñѽ∩ÑΓß∩ ΦÑßΓ¡áñµáΓ¿-
  1350.         α¿τ¡«⌐ ºá»¿ß∞ε.
  1351.  
  1352.  
  1353.  
  1354.          B.Pascal 7 & Objects/LR      - 29 -
  1355.  
  1356.                                       îÑΓ¬¿
  1357.         ─────────────────────────────────────────────────────────────────
  1358.  
  1359.              îÑΓ¬«⌐ ∩ó½∩ÑΓß∩  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα ó ñ¿á»áº«¡Ñ «Γ 0 ñ«
  1360.         9999.  ìáτá½∞¡δÑ ¡π½¿ ¡Ñ ∩ó½∩εΓß∩ º¡áτáΘ¿¼¿. îÑΓ¬¿ ¿ß»«½∞ºπεΓß∩ ß
  1361.         «»ÑαáΓ«αἿ »ÑαÑσ«ñá goto.
  1362.  
  1363.                                     ┌──────────────────────┐
  1364.              îÑΓ¬á ───────┬────────>│  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  ├──────────>
  1365.                           │         │       µ¿Σα           │      ^
  1366.                           │         └──────────────────────┘      │
  1367.                           │                                       │
  1368.                           │            ┌─────────────┐            │
  1369.                           └───────────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├────────────┘
  1370.                                        └─────────────┘
  1371.  
  1372.              èᬠαáßΦ¿αÑ¡¿Ñ ßΓá¡ñáαΓ¡«ú« Åá߬á½∩, Borland Pascal »«ºó«½∩-
  1373.         ÑΓ ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ ¼ÑΓ«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ Σπ¡¬µ¿⌐.
  1374.  
  1375.  
  1376.                                  æΓ᫬¿ ß¿¼ó«½«ó
  1377.         ─────────────────────────────────────────────────────────────────
  1378.  
  1379.              æΓ᫬á ß¿¼ó«½«ó »αÑñßΓáó½∩ÑΓ ß«í«⌐  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞,  ß«-
  1380.         ñÑαªáΘπε  ¡«½∞  ¿  í«½ÑÑ ß¿¼ó«½«ó ¿º αáßΦ¿αÑ¡¡«ú« ¡áí«αá ß¿¼ó«½«ó
  1381.         ¬«ñá ASCII,  ºá»¿ßá¡¡πε ó «ñ¡«⌐ ßΓα«¬Ñ »α«úαá¼¼δ ¿ ºá¬½ετÑ¡¡πε  ó
  1382.         «ñ¿¡«τ¡δÑ ¬áóδτ¬¿ (ừßΓα«Σδ).  æΓ᫬á ß¿¼ó«½«ó, ¡¿τÑú« ¡Ñ ß«ñÑα-
  1383.         ªáΘá∩ ¼Ñªñπ á»«ßΓα«ΣἿ, ¡áºδóáÑΓß∩ ¡π½Ñó«⌐ ßΓ᫬«⌐. äóá »«ß½Ññ«-
  1384.         óáΓѽ∞¡δσ  á»«ßΓα«Σá  ó  ßΓα«¬Ñ ß¿¼ó«½«ó «í«º¡áτáεΓ «ñ¿¡ ß¿¼ó«½ -
  1385.         á»«ßΓα«Σ. ÇΓα¿íπΓ ñ½¿¡δ ßΓ᫬¿ ß¿¼ó«½«ó óδαáªáÑΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡δ¼
  1386.         ¬«½¿τÑßΓó«¼ ß¿¼ó«½«ó ¼Ñªñπ á»«ßΓα«ΣἿ, ¡á»α¿¼Ñα:
  1387.  
  1388.              'Borland'
  1389.              'You'll see'
  1390.              ''''
  1391.              ';'
  1392.              ' '
  1393.              ''                                   { »πßΓá∩ ßΓ᫬á }
  1394.              ' '                                  { »α«íѽ }
  1395.  
  1396.              é ¬áτÑßΓóÑ  αáßΦ¿αÑ¡¿∩ ßΓá¡ñáαΓ¡«ú« Åá߬á½∩,  Borland Pascal
  1397.         αáºαÑΦáÑΓ óßΓáó½∩Γ∞ ó ßΓ᫬π ß¿¼ó«½«ó π»αáó½∩εΘ¿Ñ ß¿¼ó«½δ. æ¿¼ó«½
  1398.         # ß µÑ½«⌐ ¬«¡ßΓá¡Γ«⌐ íѺ º¡á¬á ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 255 «í«º¡áτáÑΓ
  1399.         ß««ΓóÑΓßΓóπεΘ¿⌐ φΓ«¼π º¡áτÑ¡¿ε ß¿¼ó«½ ó ¬«ñÑ ASCII.  îѪñπ ß¿¼ó«-
  1400.         ½«¼  #  ¿  µÑ½«⌐  ¬«¡ßΓá¡Γ«⌐ ¡Ñ ñ«½ª¡« íδΓ∞ ¡¿¬á¬¿σ αáºñѽ¿ΓѽÑ⌐.
  1401.         Ç¡á½«ú¿τ¡«,  Ñß½¿ ¡Ñ߬«½∞¬« π»αáó½∩εΘ¿σ  ß¿¼ó«½«ó  óσ«ñ¿Γ  ßΓ᫬π
  1402.         ß¿¼ó«½«ó, Γ« ¼Ñªñπ ¡¿¼¿ ¡Ñ ñ«½ª¡« íδΓ∞ αáºñѽ¿ΓѽÑ⌐.
  1403.  
  1404.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ßΓ᫬ ß¿¼ó«½«ó:
  1405.  
  1406.               #13#10
  1407.              'Line 1'#13'Line2'
  1408.              #7#7'Make up!'#7#7
  1409.  
  1410.          B.Pascal 7 & Objects/LR      - 30 -
  1411.  
  1412.  
  1413.                                       ┌──────────────────────┐
  1414.               ßΓ᫬á ß¿¼ó«½«ó ────┬──>│ ßΓ᫬á ó ¬áóδτ¬áσ    ├───┬─┬>
  1415.                                 ^ │   └──────────────────────┘   │ │
  1416.                                 │ │   ┌──────────────────────┐   │ │
  1417.                                 │ └──>│ π»αáó½∩εΘá∩ ßΓα«¬á   ├───┘ │
  1418.                                 │     └──────────────────────┘     │
  1419.                                 └──────────────────────────────────┘
  1420.  
  1421.                                  ┌───┐                    ┌───┐
  1422.                  ßΓα«¬á   ──────>│ ' ├──────────────┬────>│ ' ├────>
  1423.                  ó ¬áóδτ¬áσ      └───┘ ^  ┌──────┐  │     └───┘
  1424.                                        └──┤ß¿¼ó«½│<─┘
  1425.                                           │ßΓ᫬¿│
  1426.                                           └──────┘
  1427.  
  1428.                                       ┌──────────────────────┐
  1429.                  ß¿¼ó«½ ßΓ᫬¿ ───┬──>│½εí«⌐ ß¿¼ó«½, ¬α«¼Ñ ' ├───────>
  1430.                                   │   │ ¿½¿ CR               │   ^
  1431.                                   │   └──────────────────────┘   │
  1432.                                   │        ┌───┐       ┌───┐     │
  1433.                                   └───────>│ ' ├──────>│ ' ├─────┘
  1434.                                            └───┘       └───┘
  1435.  
  1436.                                       ┌───┐  ┌───────────────────┐
  1437.                  ß¿¼ó«½ ßΓ᫬¿ ──────>│ # ├─>│ íѺº¡á¬«ó«Ñ µÑ½«Ñ ├─┬──>
  1438.                                 ^     └───┘  └───────────────────┘ │
  1439.                                 │                                  │
  1440.                                 └──────────────────────────────────┘
  1441.  
  1442.                    Åα¿¼Ñτá¡¿Ñ: CR - ß¿¼ó«½ ó«ºóαáΓá ¬áαÑΓ¬¿.
  1443.  
  1444.              ä½¿¡á ß¿¼ó«½∞¡«⌐  ßΓ᫬¿  - φΓ« Σá¬Γ¿τÑ߬«Ñ τ¿ß½« ß¿¼ó«½«ó ó
  1445.         ßΓ᫬Ñ.  æΓ᫬á ß¿¼ó«½«ó ½εí«⌐ ñ½¿¡δ ß«ó¼ÑßΓ¿¼á ß ½εíδ¼ ßΓ᫬«óδ¼
  1446.         Γ¿»«¼ ¿, »α¿ αáºαÑΦÑ¡¿¿ ñ¿αÑ¬Γ¿ó«⌐ {$X+} αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá,
  1447.         ß Γ¿»«¼ PChar..  èα«¼Ñ Γ«ú«,  ßΓ᫬á ß¿¼ó«½«ó ß ñ½¿¡«⌐, αáó¡«⌐ 1,
  1448.         ß«ó¼ÑßΓ¿¼á  ß ½εíδ¼ Γ¿»«¼ Char.  æΓ᫬á ß¿¼ó«½«ó ñ½¿¡«⌐ n,  úñÑ n
  1449.         í«½∞ΦÑ ¿½¿ αáóÑ¡ 1, ñ«»πßΓ¿¼á ñ½∩ ½εí«ú« ßΓ᫬«ó«ú« Γ¿»á ¿ π»á¬«-
  1450.         óá¡¡δσ ¼áßß¿ó«ó ¿º n ß¿¼ó«½«ó.
  1451.  
  1452.  
  1453.          B.Pascal 7 & Objects/LR      - 31 -
  1454.  
  1455.  
  1456.                                   è«¼¼Ñ¡Γáα¿¿
  1457.         ─────────────────────────────────────────────────────────────────
  1458.  
  1459.              æ½ÑñπεΘ¿Ñ ¬«¡ßΓαπ¬µ¿¿  »αÑñßΓáó½∩εΓ ß«í«⌐ ¬«¼¼Ñ¡Γáα¿¿ ¿ »«φ-
  1460.         Γ«¼π ¿ú¡«α¿απεΓß∩ ¬«¼»¿½∩Γ«α«¼:
  1461.  
  1462.              { ½εí«⌐ ΓѬßΓ, ¡Ñ ß«ñÑαªáΘ¿⌐ »αáóπε Σ¿úπα¡πε ß¬«í¬π }
  1463.              (* ½εí«⌐ ΓѬßΓ, ¡Ñ ß«ñÑαªáΘ¿⌐ ºóѺñ«τ¬π/»αáóπε ¬απú½πε
  1464.                 ß¬«í¬π *)
  1465.  
  1466.              è«¼¼Ñ¡Γáα¿⌐, ß«ñÑαªáΘ¿⌐ º¡á¬ ñ«½½áαá ($) ßαáºπ »«ß½Ñ  «Γ¬αδ-
  1467.         óáεΘÑ⌐ ß¬«í¬¿ { ¿½¿ (*,  ∩ó½∩ÑΓß∩ ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá. çá ß¿¼-
  1468.         ó«½«¼ $ ß½ÑñπÑΓ ¼¡Ñ¼«¡¿¬á ¬«¼á¡ñδ ¬«¼»¿½∩Γ«αá.
  1469.  
  1470.                    Åα¿¼Ñτá¡¿Ñ: ÄíΘÑÑ «»¿ßá¡¿Ñ ñ¿αÑ¬Γ¿ó ¬«¼»¿½∩Γ«αá ñá¡« ó
  1471.               â½áóÑ 2 "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  1472.  
  1473.  
  1474.                                 æΓ᫬¿ »α«úαá¼¼δ
  1475.         ─────────────────────────────────────────────────────────────────
  1476.  
  1477.              é Borland Pascal ßΓ᫬¿ »α«úαá¼¼δ ¿¼ÑεΓ ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ó
  1478.         126 ß¿¼ó«½«ó.
  1479.  
  1480.  
  1481.  
  1482.          B.Pascal 7 & Objects/LR      - 32 -
  1483.  
  1484.                                â½áóá 3. è«¡ßΓá¡Γδ
  1485.         ─────────────────────────────────────────────────────────────────
  1486.  
  1487.              è«¡ßΓá¡Γá - φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α,  «Γ¼ÑτáεΘ¿⌐ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ
  1488.         ¡Ñ ¼«ªÑΓ ¿º¼Ñ¡∩Γ∞ß∩.  êñÑ¡Γ¿Σ¿¬áΓ«α ¬«¡ßΓá¡Γδ ¡Ñ ¼«ªÑΓ íδΓ∞ ó¬½ε-
  1489.         τÑ¡ ó ßó«Ñ ß«íßΓóÑ¡¡«Ñ «»¿ßá¡¿Ñ.
  1490.  
  1491.              «»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ
  1492.               │      ┌─────────────┐    ┌───┐   ┌─────────┐    ┌───┐
  1493.               └─────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├───>│ = ├──>│¬«¡ßΓá¡Γá├───>│ ; ├─┬──>
  1494.                 ^    └─────────────┘    └───┘   └─────────┘    └───┘ │
  1495.                 │                                                    │
  1496.                 └────────────────────────────────────────────────────┘
  1497.  
  1498.              êñÑ¡Γ¿Σ¿¬áΓ«α ¬«¡ßΓá¡Γδ  ß »αÑñΦÑßΓóπεΘ¿¼ Ñ¼π º¡á¬«¼ «í«º¡á-
  1499.         τáÑΓ º¡áτÑ¡¿Ñ µÑ½«ú« ¿½¿ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á.
  1500.  
  1501.              ƒó½∩∩ß∞ αáßΦ¿αÑ¡¿Ñ¼  ßΓá¡ñáαΓ¡«ú«  Åá߬á½∩,  Borland  Pascal
  1502.         »«ºó«½∩ÑΓ  ¿ß»«½∞º«óáΓ∞ óδαáªÑ¡¿∩-¬«¡ßΓá¡Γδ.  éδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá
  1503.         »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ,  ¬«Γ«α«Ñ ¼«ªÑΓ óδτ¿ß½∩Γ∞ß∩ ¬«¼»¿½∩-
  1504.         Γ«α«¼  íѺ  ¡Ñ«íσ«ñ¿¼«ßΓ¿ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.  Åα¿óÑñѼ »α¿¼Ñαδ
  1505.         óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ:
  1506.  
  1507.               100
  1508.               'A'
  1509.               256 - 1
  1510.               (2.5 + 1) / (2.5 - 1)
  1511.               'Borland' + '' + 'Pascal'
  1512.               Chr(32)
  1513.               Ord('Z') - Ord('A') + 1
  1514.  
  1515.              Åα«ßΓÑ⌐Φ¿⌐ ß½πτá⌐  óδαáªÑ¡¿∩-¬«¡ßΓá¡Γδ  »αÑñßΓáó½∩ÑΓ   ß«í«⌐
  1516.         »α«ßΓá∩  ¬«¡ßΓá¡Γá,  ¡á»α¿¼Ñα 100 ¿½¿ 'A'.  é ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ
  1517.         ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞  Γ«½∞¬«  »α«ßΓδÑ  ¬«¡ßΓá¡Γδ.  é  Borland
  1518.         Pascal αáºαÑΦÑ¡« ¿ß»«½∞º«óá¡¿Ñ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ.
  1519.  
  1520.                              ┌─────────┐
  1521.               ¬«¡ßΓá¡Γá ────>│óδαáªÑ¡¿Ñ├───>
  1522.                              └─────────┘
  1523.  
  1524.              Å«ß¬«½∞¬π ¬«¼»¿½∩Γ«α  ñ«½ªÑ¡ ¿¼ÑΓ∞ ó«º¼«ª¡«ßΓ∞ »«½¡«ßΓ∞ε óδ-
  1525.         τ¿ß½¿Γ∞ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γπ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿, ó ¬áτÑßΓóÑ óδαá-
  1526.         ªÑ¡¿⌐-¬«¡ßΓá¡Γ ¡Ñ ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ ¬«¡ßΓαπ¬µ¿¿:
  1527.  
  1528.              - ßß佬¿  ¡á  »ÑαѼѡ¡δÑ  ¿  Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ (¬α«¼Ñ
  1529.                ¬«¡ßΓá¡Γ ó áñαÑß¡δσ óδαáªÑ¡¿∩σ, «»¿ßδóáѼδσ ó â½áóÑ 5);
  1530.  
  1531.              - ó맮óδ Σπ¡¬µ¿⌐ (¬α«¼Ñ ΓÑσ, ¬«Γ«αδÑ «Γ¼ÑτÑ¡δ ñá½ÑÑ);
  1532.  
  1533.              - «»ÑαáΓ«α »«½πτÑ¡¿∩ áñαÑßá @ (¬α«¼Ñ ¬«¡ßΓá¡Γ ó áñαÑß¡δσ óδ-
  1534.                αáªÑ¡¿∩σ, «»¿ßδóáѼδσ ó â½áóÑ 5).
  1535.  
  1536.              çᠿ߬½ετÑ¡¿Ñ¼  φΓ¿σ «úαá¡¿τÑ¡¿⌐ ñ½∩ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ ß«í-
  1537.  
  1538.          B.Pascal 7 & Objects/LR      - 33 -
  1539.  
  1540.         ½εñáεΓß∩ ΓÑ ªÑ ß¿¡Γá¬ß¿τÑ߬¿Ñ »αáó¿½á,  τΓ« ¿ ñ½∩ «íδτ¡δσ óδαáªÑ-
  1541.         ¡¿⌐ («»¿ßá¡¡δσ ó â½áóÑ 6 "éδαáªÑ¡¿∩").
  1542.  
  1543.              é óδαáªÑ¡¿∩σ-¬«¡ßΓá¡Γáσ  ñ«»π߬áÑΓß∩  ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ
  1544.         ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿:
  1545.  
  1546.              Abs, Chr,  Hi,  High,  Length, Lo, Low, Odd, Ord, Pred, Ptr,
  1547.              Round, SizeOf, Succ, Swap, Trunc.
  1548.  
  1549.              Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ  »α¿¼Ñαδ ¿ß»«½∞º«óá¡¿∩ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ
  1550.         ó «»¿ßá¡¿∩󠬫¡ßΓá¡Γ:
  1551.  
  1552.              const
  1553.                  Min = 0;
  1554.                  Max = 100;
  1555.                  Center = (Max - Min) div 2;
  1556.                  Beta = Chr(255);
  1557.                  NumChars = Ord('Z') - Ord('A') + 1;
  1558.                  Message = 'Out of memory';
  1559.                  ErrStr = 'Error:' + Message + '.';
  1560.                  ErrPos = 80 - Length(Error) div 2;
  1561.                  ErrAttr = Blink + Red * 16 + White;
  1562.                  Ln10 = 2.302585092994095684;
  1563.                  Ln10R = 1 / Ln10;
  1564.                  Numeric = ['0'..'9'];
  1565.                  Alpha = ['A'..'Z','a'..'z'];
  1566.                  AlphaNum = Alpha + Numeric;
  1567.  
  1568.  
  1569.  
  1570.          B.Pascal 7 & Objects/LR      - 34 -
  1571.  
  1572. ───────────────────────────────────────────────────────────────────────
  1573.                                   â½áóá 4. Æ¿»δ
  1574.         ─────────────────────────────────────────────────────────────────
  1575.  
  1576.              Åα¿ «»¿ßá¡¿¿ »ÑαѼѡ¡«⌐ ¡Ñ«íσ«ñ¿¼« π¬áºáΓ∞ ÑÑ Γ¿». Æ¿» »ÑαÑ-
  1577.         ¼Ñ¡¡«⌐ «»¿ßδóáÑΓ ¡áí«α º¡áτÑ¡¿⌐,  ¬«Γ«αδÑ «¡á ¼«ªÑΓ »α¿¡¿¼áΓ∞,  ¿
  1578.         ñÑ⌐ßΓó¿∩, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ ¡áñ ¡Ñ⌐ óδ»«½¡Ñ¡δ. Ä»¿ßá¡¿Ñ Γ¿»á «»-
  1579.         αÑñѽ∩ÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐ «í«º¡áτáÑΓ φΓ«Γ Γ¿».
  1580.  
  1581.                         ┌───────────────┐   ┌───┐   ┌─────┐   ┌───┐
  1582.             «»¿ßá¡¿Ñ ──>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├──>│ = ├──>│ Γ¿» ├──>│ ; ├──>
  1583.               Γ¿»á      └───────────────┘   └───┘   └─────┘   └───┘
  1584.  
  1585.              ô¬áºá¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá  ó ½Ñó«⌐ τáßΓ¿ «»¿ßá¡¿∩ Γ¿»á «º¡áτá-
  1586.         ÑΓ,  τΓ« «¡ «»αÑñѽѡ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á ñ½∩ í½«¬á, ó ¬«Γ«α«¼
  1587.         π¬áºá¡«  φΓ« «»¿ßá¡¿Ñ Γ¿»á.  Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Γ¿»á
  1588.         ¡Ñ ó¬½ετáÑΓ Ñú« ßἫú«,  ¿ß¬½ετÑ¡¿Ñ ß«ßΓáó½∩εΓ  Γ¿»δ  "π¬áºáΓѽ∞"
  1589.         (¬«Γ«αδÑ ¡áºδóáεΓ ΓᬪѠßß佫τ¡δ¼¿ Γ¿»á¼¿).
  1590.  
  1591.                                 ┌────────────────────┐
  1592.             Γ¿»   ────────┬────>│     »α«ßΓ«⌐ Γ¿»    │─────────>
  1593.                           │     └────────────────────┘    ^
  1594.                           │     ┌────────────────────┐    │
  1595.                           ├────>│   ßΓ᫬«óδ⌐ Γ¿»    ├────┤
  1596.                           │     └────────────────────┘    │
  1597.                           │     ┌────────────────────┐    │
  1598.                           ├────>│   ßß佫τ¡δ⌐ Γ¿»    ├────┤
  1599.                           │     └────────────────────┘    │
  1600.                           │     ┌────────────────────┐    │
  1601.                           ├────>│   ßΓαπ¬Γπα¡δ⌐ Γ¿»  ├────┤
  1602.                           │     └────────────────────┘    │
  1603.                           │     ┌────────────────────┐    │
  1604.                           ├────>│   »α«µÑñπα¡δ⌐ Γ¿»  ├────┤
  1605.                           │     └────────────────────┘    │
  1606.                           │     ┌────────────────────┐    │
  1607.                           └────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á ├────┘
  1608.                                 └────────────────────┘
  1609.  
  1610.              ê¼ÑÑΓß∩ »∩Γ∞ ß½ÑñπεΘ¿σ «ß¡«ó¡δ󠬽áßß«ó Γ¿»«ó.  Ä¡¿ «»¿ßδóá-
  1611.         εΓß∩ ó ß½ÑñπεΘѼ αáºñѽÑ.
  1612.  
  1613.  
  1614.  
  1615.          B.Pascal 7 & Objects/LR      - 35 -
  1616.  
  1617.                                   Åα«ßΓδÑ Γ¿»δ
  1618.         ─────────────────────────────────────────────────────────────────
  1619.  
  1620.              Åα«ßΓδÑ Γ¿»δ «»αÑñѽ∩εΓ π»«α∩ñ«τÑ¡¡δÑ ¼¡«ªÑßΓóá º¡áτÑ¡¿⌐.
  1621.  
  1622.                                      ┌───────────────────┐
  1623.               »α«ßΓ«⌐ Γ¿» ─────┬────>│  »«α∩ñ¬«óδ⌐ Γ¿»   ├─────────>
  1624.                                │     └───────────────────┘     ^
  1625.                                │     ┌───────────────────┐     │
  1626.                                └────>│ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿»  ├─────┘
  1627.                                      └───────────────────┘
  1628.                                      ┌────────────────────┐
  1629.               óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ─────>│   ¿ñÑ¡Γ¿Σ¿¬áΓ«α    ├─────>
  1630.                                      │ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á │
  1631.                                      └────────────────────┘
  1632.  
  1633.              êñÑ¡Γ¿Σ¿¬áΓ«α óÑΘÑßΓóÑ¡¡«ú« Γ¿»á «Γ¡«ß¿Γß∩ ¬ τ¿ß½π ßΓá¡ñáαΓ-
  1634.         ¡δσ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,  ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ óÑΘÑßΓóÑ¡¡δ¼¿, ß «ñ¿¡áα-
  1635.         ¡«⌐  Γ«τ¡«ßΓ∞ε,  ß  ñó«⌐¡«⌐  Γ«τ¡«ßΓ∞ε,  ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿
  1636.         ß½«ª¡δ¼¿.
  1637.  
  1638.                    Åα¿¼Ñτá¡¿Ñ: é αáºñѽáσ "ù¿ß½á" ¿ "æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ"
  1639.               â½áóδ 2 óδ ¼«ªÑΓÑ ¡á⌐Γ¿ «»¿ßá¡¿Ñ Γ«ú«, ¬á¬ «í«º¡áτáΓ∞ ¬«¡ß-
  1640.               Γá¡Γδ µÑ½«ú« ¿ óÑΘÑßΓóÑ¡¡«ú« Γ¿»«ó.
  1641.  
  1642.                                  Å«α∩ñ¬«óδÑ Γ¿»δ
  1643.         ─────────────────────────────────────────────────────────────────
  1644.  
  1645.              Å«α∩ñ¬«óδÑ Γ¿»δ  »αÑñßΓáó½∩εΓ ß«í«⌐ »«ñ¼¡«ªÑßΓó« »α«ßΓδσ Γ¿-
  1646.         »«ó.  éßÑ »α«ßΓδÑ Γ¿»δ,  «Γ½¿τ¡δÑ «Γ óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó, ∩ó½∩εΓß∩
  1647.         »«α∩ñ¬«ó묨 ¿ óδñѽ∩εΓß∩ »« ß½ÑñπεΘ¿¼ τÑΓδαѼ σáαá¬ΓÑα¿ßΓ¿¬á¼.
  1648.  
  1649.              -  éßѠ󫺼«ª¡δÑ º¡áτÑ¡¿∩ ñá¡¡«ú« »«α∩ñ¬«ó«ú« Γ¿»á »αÑñßΓáó-
  1650.                 ½∩εΓ ß«í«⌐ π»«α∩ñ«τÑ¡¡«Ñ ¼¡«ªÑßΓó«,  ¿  ¬áªñ«Ñ  ó«º¼«ª¡«Ñ
  1651.                 º¡áτÑ¡¿Ñ ßó∩ºá¡« ß »«α∩ñ¬«óδ¼ ¡«¼Ñα«¼,  ¬«Γ«αδ⌐ »αÑñßΓáó-
  1652.                 ½∩ÑΓ ß«í«⌐ µÑ½«τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ.  çᠿ߬½ετÑ¡¿Ñ¼ º¡áτÑ-
  1653.                 ¡¿⌐ µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á,  »Ñαó«Ñ º¡áτÑ¡¿Ñ ½εí«ú« »«α∩ñ¬«-
  1654.                 ó«ú« Γ¿»á ¿¼ÑÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα  0,  ß½ÑñπεΘÑÑ  º¡áτÑ¡¿Ñ
  1655.                 ¿¼ÑÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα 1 ¿ Γᬠñá½ÑÑ ñ½∩ ¬áªñ«ú« º¡áτÑ¡¿∩
  1656.                 ó φΓ«¼ »«α∩ñ¬«ó«¼ Γ¿»Ñ. Å«α∩ñ¬«óδ¼ ¡«¼Ñα«¼ º¡áτÑ¡¿∩ µÑ½«-
  1657.                 τ¿ß½Ñ¡¡«ú«  Γ¿»á ∩ó½∩ÑΓß∩ ßἫ φΓ« º¡áτÑ¡¿Ñ.  é ½εí«¼ »«-
  1658.                 α∩ñ¬«ó«¼ Γ¿»Ñ ¬áªñ«¼π º¡áτÑ¡¿ε,  ¬α«¼Ñ »Ñαó«ú«, »αÑñΦÑßΓ-
  1659.                 óπÑΓ  ñαπú«Ñ  º¡áτÑ¡¿Ñ,  ¿ »«ß½Ñ ¬áªñ«ú« º¡áτÑ¡¿∩,  ¬α«¼Ñ
  1660.                 »«ß½Ññ¡Ñú«, ß½ÑñπÑΓ ñαπú«Ñ º¡áτÑ¡¿Ñ ó ß««ΓóÑΓßΓó¿¿ ß π»«-
  1661.                 α∩ñ«τÑ¡¡«ßΓ∞ε Γ¿»á.
  1662.  
  1663.              -  è  ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡-
  1664.                 ñáαΓ¡πε Σπ¡¬µ¿ε Ord,  ó«ºóαáΘáεΘπε »«α∩ñ¬«óδ⌐ ¡«¼Ñα φΓ«ú«
  1665.                 º¡áτÑ¡¿∩.
  1666.  
  1667.              -  è  ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡-
  1668.                 ñáαΓ¡πε Σπ¡¬µ¿ε Pred,  ó«ºóαáΘáεΘπε  »αÑñΦÑßΓóπεΘÑÑ φΓ«¼π
  1669.                 º¡áτÑ¡¿ε º¡áτÑ¡¿Ñ. àß½¿ φΓá Σπ¡¬µ¿∩ »α¿¼Ñ¡∩ÑΓß∩ ¬ »Ñαó«¼π
  1670.  
  1671.          B.Pascal 7 & Objects/LR      - 36 -
  1672.  
  1673.                 º¡áτÑ¡¿ε ó φΓ«¼ »«α∩ñ¬«ó«¼ Γ¿»Ñ, Γ« óδñáÑΓß∩ ß««íΘÑ¡¿Ñ «í
  1674.                 «Φ¿í¬Ñ.
  1675.  
  1676.              -  è  ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡-
  1677.                 ñáαΓ¡πε Σπ¡¬µ¿ε Succ, ó«ºóαáΘáεΘπε ß½ÑñπεΘÑÑ ºá φΓ¿¼ º¡á-
  1678.                 τÑ¡¿Ñ¼ º¡áτÑ¡¿Ñ. àß½¿ φΓá Σπ¡¬µ¿∩ »α¿¼Ñ¡∩ÑΓß∩ ¬ »«ß½Ññ¡Ñ-
  1679.                 ¼π º¡áτÑ¡¿ε ó φΓ«¼ »«α∩ñ¬«ó«¼ Γ¿»Ñ, Γ« óδñáÑΓß∩ ß««íΘÑ¡¿Ñ
  1680.                 «í «Φ¿í¬Ñ.
  1681.  
  1682.              -  è ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¿ ¬ ßßδ½¬Ñ ¡á »ÑαѼѡ-
  1683.                 ¡πε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡ñáαΓ¡πε  Σπ¡¬µ¿ε
  1684.                 Low, ó«ºóαáΘáεΘπε ¡á¿¼Ñ¡∞ΦÑÑ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ ñá¡¡«ú«
  1685.                 »«α∩ñ¬«ó«ú« Γ¿»á.
  1686.  
  1687.              -  è ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¿ ¬ ßßδ½¬Ñ ¡á »ÑαѼѡ-
  1688.                 ¡πε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡ñáαΓ¡πε  Σπ¡¬µ¿ε
  1689.                 High, ó«ºóαáΘáεΘπε ¡á¿í«½∞ΦÑÑ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ ñá¡¡«-
  1690.                 ú« »«α∩ñ¬«ó«ú« Γ¿»á.
  1691.  
  1692.              æ¿¡Γá¬ß¿ß »«α∩ñ¬«ó«ú« Γ¿»á ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
  1693.  
  1694.                                     ┌────────────────────┐
  1695.              »«α∩ñ¬«óδ⌐  ─────┬────>│   «ΓαѺ«¬ Γ¿»á     ├─────────>
  1696.                Γ¿»            │     └────────────────────┘     ^
  1697.                               │     ┌────────────────────┐     │
  1698.                               ├────>│  »ÑαÑτ¿ß½¿¼δ⌐ Γ¿»  ├─────┤
  1699.                               │     └────────────────────┘     │
  1700.                               │     ┌────────────────────┐     │
  1701.                               └────>│   ¿ñÑ¡Γ¿Σ¿¬áΓ«α    ├─────┘
  1702.                                     │ »«α∩ñ¬«ó«ú« Γ¿»á   │
  1703.                                     └────────────────────┘
  1704.  
  1705.              Borland Pascal ¿¼ÑÑΓ 10 óßΓα«Ñ¡¡δσ »«α∩ñ¬«óδσ Γ¿»«ó: Integer
  1706.         (µÑ½«Ñ), Shortint (¬«α«Γ¬«Ñ µÑ½«Ñ), Longint (ñ½¿¡¡«Ñ µÑ½«Ñ), Byte
  1707.         (ñ½¿¡«⌐ ó íá⌐Γ),  Word (ñ½¿¡«⌐  ó  ß½«ó«),  Boolean  (íπ½Ñó߬«Ñ),
  1708.         ByteBool (íπ½Ñó߬«Ñ αẼÑα«¼ ó íá⌐Γ),  WordBool (íπ½Ñó߬«Ñ αẼÑ-
  1709.         α«¼ ó ß½«ó«), LongBool (ñ½¿¡¡δ⌐ íπ½Ñó߬¿⌐ Γ¿») ¿ Char (ß¿¼ó«½∞¡δ⌐
  1710.         Γ¿»).  èα«¼Ñ Γ«ú«, ¿¼ÑÑΓß∩ ñóá ñαπú¿σ ¬½áßßá «»αÑñѽ∩Ѽδσ »«½∞º«-
  1711.         óáΓѽѼ »«α∩ñ¬«óδσ Γ¿»«ó: »ÑαÑτ¿ß½¿¼δÑ Γ¿»δ ¿ «ΓαѺ¬¿ Γ¿»«ó (»«ñ-
  1712.         ñ¿á»áº«¡δ).
  1713.  
  1714.  
  1715.  
  1716.          B.Pascal 7 & Objects/LR      - 37 -
  1717.  
  1718.                                ûѽ«τ¿ß½Ñ¡¡δÑ Γ¿»δ
  1719.         ─────────────────────────────────────────────────────────────────
  1720.  
  1721.              é Borland Pascal ¿¼ÑÑΓß∩ »∩Γ∞ »αÑñ«»αÑñѽѡ¡δσ µÑ½«τ¿ß½Ñ¡¡δσ
  1722.         Γ¿»«ó: Shortint (¬«α«Γ¬«Ñ µÑ½«Ñ), Integer (µÑ½«Ñ), Longint (ñ½¿¡-
  1723.         ¡«Ñ µÑ½«Ñ),  Byte (ñ½¿¡«⌐ ó íá⌐Γ) ¿ Word (ñ½¿¡«⌐ ó ß½«ó«). èáªñδ⌐
  1724.         Γ¿» «í«º¡áτáÑΓ «»αÑñѽѡ¡«Ñ »«ñ¼¡«ªÑßΓ󫠵ѽδσ τ¿ßѽ, ¬á¬ φΓ« »«-
  1725.         ¬áºá¡« ó ß½ÑñπεΘÑ⌐ Γáí½¿µÑ.
  1726.  
  1727.                        ÅαÑñ«»αÑñѽѡ¡δÑ µÑ½«τ¿ß½Ñ¡¡δÑ Γ¿»δ    Æáí½¿µá 4.1
  1728.         ┌────────────────────┬────────────────────┬─────────────────────┐
  1729.         │        Æ¿»         │      ä¿á»áº«¡      │         ö«α¼áΓ      │
  1730.         ├────────────────────┼────────────────────┼─────────────────────┤
  1731.         │   ¬«α«Γ¬«Ñ µÑ½«Ñ   │    -128 .. 127     │   8 í¿Γ ß« º¡á¬«¼   │
  1732.         │   (Shortint)       │                    │                     │
  1733.         ├────────────────────┼────────────────────┼─────────────────────┤
  1734.         │   µÑ½«Ñ            │  -32768 .. 32767   │   16 í¿Γ ß« º¡á¬«¼  │
  1735.         │   (Integer)        │                    │                     │
  1736.         ├────────────────────┼────────────────────┼─────────────────────┤
  1737.         │   ñ½¿¡¡«Ñ µÑ½«Ñ    │  -2147483648 ..    │   32 í¿Γá ß« º¡á¬«¼ │
  1738.         │   (Longint)        │       ..2147483647 │                     │
  1739.         ├────────────────────┼────────────────────┼─────────────────────┤
  1740.         │   ñ½¿¡«⌐ ó íá⌐Γ    │       0 .. 255     │   8 í¿Γ  íѺ º¡á¬á  │
  1741.         │   (Byte)           │                    │                     │
  1742.         ├────────────────────┼────────────────────┼─────────────────────┤
  1743.         │   ñ½¿¡«⌐ ó ß½«ó«   │       0 .. 65535   │   16 í¿Γ íѺ º¡á¬á  │
  1744.         │   (Word)           │                    │                     │
  1745.         └────────────────────┴────────────────────┴─────────────────────┘
  1746.  
  1747.              Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ ñÑ⌐ßΓó¿∩  ¡áñ  «»Ñαá¡ñἿ µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á
  1748.         »αÑñ»«½áúáεΓ 8-í¿Γ«óπε,  16-í¿Γ«óπε ¿ 32-í¿Γ«óπε Γ«τ¡«ßΓ∞ ó ß««Γ-
  1749.         óÑΓßΓó¿¿ ß« ß½ÑñπεΘ¿¼¿ »αáó¿½á¼¿:
  1750.  
  1751.              - Æ¿» µÑ½«⌐ ¬«¡ßΓá¡Γδ »αÑñßΓáó½∩ÑΓ ß«í«⌐ óßΓα«Ñ¡¡δ⌐ µÑ½«τ¿ß-
  1752.                ½Ñ¡¡δ⌐ Γ¿» ß ¡á¿¼Ñ¡∞Φ¿¼  ñ¿á»áº«¡«¼,  ó¬½ετáεΘ¿¼  º¡áτÑ¡¿Ñ
  1753.                φΓ«⌐ µÑ½«⌐ ¬«¡ßΓá¡Γδ.
  1754.  
  1755.              - é  ß½πτáÑ  í¿¡áα¡«⌐  «»Ñαᵿ¿ («»Ñαᵿ¿,  ¿ß»«½∞ºπεΘÑ⌐ ñóá
  1756.                «»Ñαá¡ñá), «íá «»Ñαá¡ñá »αÑ«íαáºπεΓß∩ ¬ ¿σ «íΘѼπ Γ¿»π »Ñ-
  1757.                αÑñ  ΓѼ,  ¬á¬ ¡áñ ¡¿¼¿ ß«óÑαΦáÑΓß∩ ñÑ⌐ßΓó¿Ñ.  ÄíΘ¿¼ Γ¿»«¼
  1758.                ∩ó½∩ÑΓß∩ óßΓα«Ñ¡¡δ⌐ µÑ½«τ¿ß½Ñ¡¡δ⌐ Γ¿» ß ¡á¿¼Ñ¡∞Φ¿¼  ñ¿á»á-
  1759.                º«¡«¼, ó¬½ετáεΘ¿¼ óßѠ󫺼«ª¡δÑ º¡áτÑ¡¿∩ «í«¿σ Γ¿»«ó. ìá»-
  1760.                α¿¼Ñα, «íΘ¿¼ Γ¿»«¼ ñ½∩ µÑ½«ú« ¿ µÑ½«ú« ñ½¿¡«⌐ ó íá⌐Γ ∩ó½∩-
  1761.                ÑΓß∩  µÑ½«Ñ,  á  «íΘ¿¼  Γ¿»«¼ ñ½∩ µÑ½«ú« ¿ µÑ½«ú« ñ½¿¡«⌐ ó
  1762.                ß½«ó« ∩ó½∩ÑΓß∩ ñ½¿¡¡«Ñ µÑ½«Ñ. äÑ⌐ßΓó¿Ñ óδ»«½¡∩ÑΓß∩ ó ß««Γ-
  1763.                óÑΓßΓó¿¿  ß Γ«τ¡«ßΓ∞ε «íΘÑú« Γ¿»á ¿ Γ¿»«¼ αѺπ½∞ΓáΓá ∩ó½∩-
  1764.                ÑΓß∩ «íΘ¿⌐ Γ¿».
  1765.  
  1766.              - éδαáªÑ¡¿Ñ ß»αáóá ó «»ÑαáΓ«αÑ »α¿ßóá¿óá¡¿∩ óδτ¿ß½∩ÑΓß∩  ¡Ñ-
  1767.                ºáó¿ß¿¼« «Γ αẼÑαá ¿½¿ Γ¿»á »ÑαѼѡ¡«⌐ ß½Ñóá.
  1768.  
  1769.              - ïεíδÑ «»Ñαá¡ñδ αẼÑα«¼ ó íá⌐Γ »αÑ«íαáºπεΓß∩ ¬ »α«¼ÑªπΓ«τ-
  1770.                ¡«¼π «»Ñαá¡ñπ αẼÑα«¼ ó ß½«ó«,  ¬«Γ«αδ⌐  ß«ó¼ÑßΓ¿¼  »ÑαÑñ
  1771.  
  1772.          B.Pascal 7 & Objects/LR      - 38 -
  1773.  
  1774.                óδ»«½¡Ñ¡¿Ñ¼  áα¿Σ¼ÑΓ¿τÑ߬«⌐  «»Ñαᵿ¿  ß  Γ¿»á¼¿ Integer ¿
  1775.                Word.
  1776.  
  1777.              ç¡áτÑ¡¿Ñ «ñ¡«ú« µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á ¼«ªÑΓ íδΓ∞ ∩ó¡δ¼ «íαẫ¼
  1778.         »αÑ«íαẫóá¡«  ¬ ñαπú«¼π µÑ½«τ¿ß½Ñ¡¡«¼π Γ¿»π ß »«¼«Θ∞ε »α¿óÑñÑ¡¿∩
  1779.         Γ¿»«ó.
  1780.  
  1781.                  Åα¿¼Ñτá¡¿Ñ: Åα¿óÑñÑ¡¿Ñ Γ¿»«ó «»¿ßδóáÑΓß∩ ó â½áóáσ 5 ¿ 6.
  1782.  
  1783.  
  1784.  
  1785.          B.Pascal 7 & Objects/LR      - 39 -
  1786.  
  1787.                                  üπ½Ñó߬¿Ñ Γ¿»δ
  1788.         ─────────────────────────────────────────────────────────────────
  1789.  
  1790.              æπΘÑßΓóπÑΓ 4  »αÑñ«»αÑñѽѡ¡δσ  íπ½Ñó߬¿σ   Γ¿»á:   Boolean,
  1791.         ByteBool, WordBool ¿ LongBool. ç¡áτÑ¡¿∩ íπ½Ñó߬«ú« Γ¿»á «í«º¡áτá-
  1792.         εΓß∩ óßΓα«Ñ¡¡δ¼¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ ¬«¡ßΓá¡Γ False ¿ True. Å«ß¬«½∞-
  1793.         ¬π  íπ½Ñó߬¿⌐  Γ¿» ∩ó½∩ÑΓß∩ »ÑαÑτ¿ß½¿¼δ¼,  ¼Ñªñπ φΓ¿¼¿ º¡áτÑ¡¿∩¼¿
  1794.         ¿¼ÑεΓ ¼ÑßΓ« ß½ÑñπεΘ¿Ñ «Γ¡«ΦÑ¡¿∩:
  1795.  
  1796.              - False < True
  1797.              - Ord(False)  = 0
  1798.              - Ord(True)   = 1
  1799.              - Succ(False) = True
  1800.              - Pred(True)  = False
  1801.  
  1802.              ÅÑαѼѡ¡δÑ Γ¿»á Boolean ¿ ByteBool  ºá¡¿¼áεΓ 1 íá⌐Γ,   »ÑαÑ-
  1803.         ¼Ñ¡¡á∩ WordBool ºá¡¿¼áÑΓ ñóá íá⌐Γá (ß½«ó«), á »ÑαѼѡ¡á∩ LongBool
  1804.         ºá¡¿¼áÑΓ τÑΓδαÑ íá⌐Γá (ñóá ß½«óá). Boolean - φΓ« ¡á¿í«½ÑÑ »αÑñ»«-
  1805.         τΓ¿Γѽ∞¡δ⌐ Γ¿»,   ¿ß»«½∞ºπεΘÑ⌐   ¼Ñ¡∞ΦÑ  »á¼∩Γ¿;  Γ¿»á  ByteBool,
  1806.         WordBool ¿ LongBool «íÑß»Ñτ¿óáεΓ ß«ó¼ÑßΓ¿¼«ßΓ∞ ß ñαπú¿¼¿  ∩ºδ¬á¼¿
  1807.         ¿ ßαÑñ«⌐ Windows.
  1808.  
  1809.              ÅαÑñ»«½áúáÑΓß∩, τΓ« »ÑαѼѡ¡á∩ Γ¿»á Boolean ¿¼ÑÑΓ »«α∩ñ¬«óδÑ
  1810.         º¡áτÑ¡¿∩ 0 ¿ 1,  ¡« »ÑαѼѡ¡δÑ Γ¿»á ByteBool, WordBool ¿ LongBool
  1811.         ¼«úπΓ ¿¼ÑΓ∞  ñαπú¿Ñ  »«α∩ñ¬«óδÑ  º¡áτÑ¡¿∩.  è«úñá  óδαáªÑ¡¿Ñ Γ¿»á
  1812.         ByteBool, WordBool ¿½¿ LongBool αáó¡á 1,  Γ« »«ñαáºπ¼ÑóáÑΓß∩, τΓ«
  1813.         «¡á ¿¼ÑÑΓ  º¡áτÑ¡¿Ñ  True,  á Ñß½¿ «¡« αáó¡« 0 - Γ« False.  è«úñá
  1814.         º¡áτÑ¡¿Ñ Γ¿»á ByteBool, WordBool ¿½¿ LongBool ¿ß»«½∞ºπÑΓß∩ ó ¬«¡-
  1815.         ΓѬßΓÑ, úñÑ «ª¿ñáÑΓß∩ º¡áτÑ¡¿Ñ Boolean,  ¬«¼»¿½∩Γ«α íπñÑΓ áóΓ«¼á-
  1816.         Γ¿τÑ߬¿ úÑ¡Ñα¿α«óáΓ∞ ¬«ñ,  »αÑ«íαáºπεΘ¿⌐ ½εí«Ñ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ
  1817.         ó º¡áτÑ¡¿Ñ True.
  1818.  
  1819.  
  1820.  
  1821.          B.Pascal 7 & Objects/LR      - 40 -
  1822.  
  1823.                               æ¿¼ó«½∞¡δ⌐ Γ¿» (char)
  1824.         ─────────────────────────────────────────────────────────────────
  1825.  
  1826.              î¡«ªÑßΓó«¼ º¡áτÑ¡¿⌐ φΓ«ú« Γ¿»á ∩ó½∩εΓß∩ ß¿¼ó«½δ, π»«α∩ñ«τÑ¡-
  1827.         ¡δÑ ó ß««ΓóÑΓßΓó¿¿ ß αáßΦ¿αÑ¡¡δ¼ ¡áí«α«¼ ß¿¼ó«½«ó ¬«ñá ASCII. Åα¿
  1828.         ó맮óÑ Σπ¡¬µ¿¿ Ord(Ch), úñÑ Ch - º¡áτÑ¡¿Ñ ß¿¼ó«½∞¡«ú« Γ¿»á, ó«ºó-
  1829.         αáΘáÑΓß∩ »«α∩ñ¬«óδ⌐ ¡«¼Ñα Ch.
  1830.  
  1831.              æΓ᫬«óá∩ ¬«¡ßΓá¡Γá  ß  ñ½¿¡«⌐  1  ¼«ªÑΓ «í«º¡áτáΓ∞ º¡áτÑ¡¿Ñ
  1832.         ¬«¡ßΓá¡Γδ ß¿¼ó«½∞¡«ú« Γ¿»á. ïεí«Ñ º¡áτÑ¡¿Ñ ß¿¼ó«½∞¡«ú« Γ¿»á ¼«ªÑΓ
  1833.         íδΓ∞ »«½πτÑ¡« ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿ Chr.
  1834.  
  1835.                                 ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ
  1836.         ─────────────────────────────────────────────────────────────────
  1837.  
  1838.              ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ «»αÑñѽ∩εΓ π»«α∩ñ«τÑ¡¡δÑ ¼¡«ªÑßΓóá  º¡áτÑ-
  1839.         ¡¿⌐  τÑαѺ  »ÑαÑτ¿ß½Ñ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,  ¬«Γ«αδÑ «í«º¡áτáεΓ φΓ¿
  1840.         º¡áτÑ¡¿∩. ô»«α∩ñ«τÑ¡¿Ñ ¼¡«ªÑßΓó óδ»«½¡∩ÑΓß∩ ó ß««ΓóÑΓßΓó¿¿ ß »«ß-
  1841.         ½Ññ«óáΓѽ∞¡«ßΓ∞ε, ó ¬«Γ«α«⌐ »ÑαÑτ¿ß½∩εΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ.
  1842.  
  1843.                              ┌───┐    ┌───────────────┐    ┌───┐
  1844.              »ÑαÑτ¿ß½¿¼δ⌐ ──>│ ( ├───>│   ß»¿ß«¬      ├───>│ ) ├───>
  1845.              Γ¿»             └───┘    │¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó│    └───┘
  1846.                                       └───────────────┘
  1847.  
  1848.              ß»¿ß«¬                   ┌─────────────┐
  1849.              ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ────────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├───┬────>
  1850.                                 ^     └─────────────┘   │
  1851.                                 │      ┌───┐            │
  1852.                                 └──────┤ , │<───────────┘
  1853.                                        └───┘
  1854.  
  1855.              Åα¿ π¬áºá¡¿¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ó ß»¿ß¬Ñ  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó  »ÑαÑ-
  1856.         τ¿ß½¿¼«ú« Γ¿»á «¡ «»¿ßδóáÑΓß∩ ¬á¬ ¬«¡ßΓá¡Γá ñ½∩ í½«¬á,  ó ¬«Γ«α«¼
  1857.         π¬áºá¡« «»¿ßá¡¿Ñ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á. Æ¿»«¼ φΓ«⌐ ¬«¡ßΓá¡Γδ ∩ó½∩ÑΓ-
  1858.         ß∩ «»¿ßá¡¡δ⌐ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿».
  1859.  
  1860.              Å«α∩ñ¬«óδ⌐ ¡«¼Ñα  »ÑαÑτ¿ß½¿¼«⌐ ¬«¡ßΓá¡Γδ «»αÑñѽ∩ÑΓß∩ ÑÑ »«-
  1861.         º¿µ¿Ñ⌐ ó ß»¿ß¬Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó »α¿ «»¿ßá¡¿¿. ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿», ó
  1862.         ¬«Γ«α«¼ «»¿ßδóáÑΓß∩ ¬«¡ßΓá¡Γá,  ßΓá¡«ó¿Γß∩ ÑÑ Γ¿»«¼. ÅÑαóá∩ »ÑαÑ-
  1863.         τ¿ß½¿¼á∩ ¬«¡ßΓá¡Γá ó ß»¿ß¬Ñ ¿¼ÑÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα 0.
  1864.  
  1865.              Åα¿óÑñѼ »α¿¼Ñα »ÑαÑτ¿ß½¿¼«ú« Γ¿»á:
  1866.  
  1867.              type
  1868.                 suit = (club, diamond, heart, spade);
  1869.  
  1870.              æ«ú½áß¡« φΓ¿¼  «»¿ßá¡¿∩¼  diamond  ∩ó½∩ÑΓß∩  ¬«¡ßΓá¡Γ«⌐ Γ¿»á
  1871.         suit.
  1872.  
  1873.              Åα¿ »α¿¼Ñ¡Ñ¡¿¿ Σπ¡¬µ¿¿ Ord ¬ º¡áτÑ¡¿ε »ÑαÑτ¿ß½¿¼«ú« Γ¿»á Ord
  1874.         ó«ºóαáΘáÑΓ µÑ½«Ñ τ¿ß½«, ¬«Γ«α«Ñ »«¬áºδóáÑΓ, ¬á¬«Ñ »«½«ªÑ¡¿Ñ ºá¡¿-
  1875.         ¼áÑΓ φΓ« º¡áτÑ¡¿Ñ ó «Γ¡«ΦÑ¡¿¿ ñαπú¿σ º¡áτÑ¡¿⌐ φΓ«ú« »ÑαÑτ¿ß½¿¼«ú«
  1876.  
  1877.          B.Pascal 7 & Objects/LR      - 41 -
  1878.  
  1879.         Γ¿»á.  æ«ú½áß¡« »αÑñΦÑßΓóπεΘ¿¼ «»¿ßá¡¿∩¼, Ord(club) ó«ºóαáΘáÑΓ 0,
  1880.         Ord(diamond) ó«ºóαáΘáÑΓ 1 ¿ Γᬠñá½ÑÑ.
  1881.  
  1882.                                   ÄΓαѺ¬¿ Γ¿»á
  1883.         ─────────────────────────────────────────────────────────────────
  1884.  
  1885.              ÄΓαѺ«¬ Γ¿»á »αÑñßΓáó½∩ÑΓ ß«í«⌐ ñ¿á»áº«¡ º¡áτÑ¡¿⌐ ¿º  »«α∩ñ-
  1886.         ¬«ó«ú« Γ¿»á,  ¡áºδóáѼ«ú« ú½áó¡δ¼ Γ¿»«¼. Ä»αÑñѽѡ¿Ñ «ΓαѺ¬á Γ¿»á
  1887.         ó¬½ετáÑΓ ¡á¿¼Ñ¡∞ΦÑÑ ¿ ¡á¿í«½∞ΦÑÑ  º¡áτÑ¡¿Ñ  ó  »«ññ¿á»áº«¡Ñ.  Ä¡«
  1888.         ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  1889.  
  1890.          «ΓαѺ«¬          ┌───────────┐    ┌────┐    ┌───────────┐
  1891.          Γ¿»á ───────────>│ ¬«¡ßΓá¡Γá ├───>│ .. ├───>│ ¬«¡ßΓá¡Γá ├───>
  1892.                           └───────────┘    └────┘    └───────────┘
  1893.  
  1894.              ÄíÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ ¿¼ÑΓ∞ «ñ¿¡ ¿ Γ«Γ ªÑ »«α∩ñ¬«óδ⌐ Γ¿». ÄΓ-
  1895.         αѺ¬¿  Γ¿»«ó,  ¿¼ÑεΘ¿Ñ ó¿ñ a..b,  »αÑñ»«½áúáεΓ,  τΓ« a ¼Ñ¡∞ΦÑ ¿½¿
  1896.         αáó¡« b.
  1897.  
  1898.              Åα¿óÑñѼ »α¿¼Ñαδ «ΓαѺ¬«ó Γ¿»«ó:
  1899.  
  1900.              0..99
  1901.              -128..127
  1902.              club..heart
  1903.  
  1904.              ÅÑαѼѡ¡á∩ «ΓαѺ¬á Γ¿»á ¿¼ÑÑΓ óßÑ ßó«⌐ßΓóá »ÑαѼѡ¡δσ  ú½áó-
  1905.         ¡«ú« Γ¿»á,  «ñ¡á¬« ÑÑ º¡áτÑ¡¿Ñ ¡á φΓá»Ñ óδ»«½¡Ñ¡¿∩ ñ«½ª¡« »α¿¡áñ-
  1906.         ½ÑªáΓ∞ π¬áºá¡¡«¼π ¿¡ΓÑαóá½π.
  1907.  
  1908.              ÉáºαÑΦÑ¡¿Ñ ¿ß»«½∞º«óá¡¿∩ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ Γá¼,  úñÑ  ßΓá¡-
  1909.         ñáαΓ¡δ⌐ Åá߬á½∞  ñ«»π߬áÑΓ  Γ«½∞¬« »α«ßΓδÑ ¬«¡ßΓá¡Γδ,  »α¿ó«ñ¿Γ ¬
  1910.         ¡Ñ¬«Γ«α«⌐ ß¿¡Γá¬ß¿τÑ߬«⌐  ¡Ñ«ñ¡«º¡áτ¡«ßΓ¿.  Éáßß¼«Γα¿¼  ß½ÑñπεΘ¿Ñ
  1911.         «»¿ßá¡¿∩:
  1912.  
  1913.              const
  1914.                 X = 50;
  1915.                 Y = 10;
  1916.              type
  1917.                 Color = (Red, Green, Blue);
  1918.                 Scale = (X - Y) * 2..(X + Y) * 2;
  1919.  
  1920.              æ«ú½áß¡« ß¿¡Γá¬ß¿ßπ ßΓá¡ñáαΓ¡«ú« Åá߬á½∩,  Ñß½¿  «»αÑñѽѡ¿Ñ
  1921.         Γ¿»á ¡áτ¿¡áÑΓß∩ ß ¬απú½«⌐ ß¬«í¬¿,  Γ« φΓ« »ÑαÑτ¿ß½¿¼δ⌐ Γ¿» (Γᬫ⌐
  1922.         ¬á¬ Color ó ñá¡¡«¼ »α¿¼ÑαÑ).  Äñ¡á¬« Scale »αÑñ¡áº¡áτÑ¡ ñ½∩ «»αÑ-
  1923.         ñѽѡ¿∩ «ΓαѺ¬á Γ¿»á.  ÉÑΦÑ¡¿Ñ ß«ßΓ«¿Γ ó Γ«¼,  τΓ«íδ »ÑαÑπ»«α∩ñ«-
  1924.         τ¿Γ∞ »Ñαó«Ñ óδαáªÑ¡¿Ñ »«ññ¿á»áº«¡á ¿½¿ ºáñáΓ∞  ñαπúπε  ¬«¡ßΓá¡Γπ,
  1925.         αáó¡πε º¡áτÑ¡¿ε ñá¡¡«ú« óδαáªÑ¡¿∩, ¿ ¿ß»«½∞º«óáΓ∞ φΓ𠬫¡ßΓá¡Γπ ó
  1926.         «»αÑñѽѡ¿¿ Γ¿»á:
  1927.  
  1928.             type
  1929.                 Scale = 2 * (X - Y)..(X + Y);
  1930.  
  1931.  
  1932.  
  1933.          B.Pascal 7 & Objects/LR      - 42 -
  1934.  
  1935.                                 éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ
  1936.         ─────────────────────────────────────────────────────────────────
  1937.  
  1938.              è óÑΘÑßΓóÑ¡¡«¼π Γ¿»π «Γ¡«ß¿Γß∩ »«ñ¼¡«ªÑßΓó« óÑΘÑßΓóÑ¡¡δσ τ¿-
  1939.         ßѽ, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ »αÑñßΓáó½Ñ¡δ ó Σ«α¼áΓÑ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
  1940.         ß Σ¿¬ß¿α«óá¡¡δ¼ τ¿ß½«¼ µ¿Σα.  çỿß∞ º¡áτÑ¡¿∩ ó Σ«α¼áΓÑ ß »½áóáε-
  1941.         ΘÑ⌐ ºá»∩Γ«⌐ «íδτ¡« ó¬½ετáÑΓ Γα¿ º¡áτÑ¡¿∩ - m, b ¿ e - Γᬿ¼ «íαá-
  1942.         º«¼,  τΓ« m x b^e=n, úñÑ b óßÑúñá αáóÑ¡ 2, á m ¿ e ∩ó½∩εΓß∩ µÑ½«-
  1943.         τ¿ß½Ñ¡¡δ¼¿  º¡áτÑ¡¿∩¼¿  ó  ñ¿á»áº«¡Ñ  óÑΘÑßΓóÑ¡¡«ú«   Γ¿»á.   ¥Γ¿
  1944.         º¡áτÑ¡¿∩ m ¿ e ñá½ÑÑ «»αÑñѽ∩εΓ ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ ¿ Γ«τ¡«ßΓ∞
  1945.         óÑΘÑßΓóÑ¡¡«ú« Γ¿»á.
  1946.  
  1947.              ê¼ÑÑΓß∩ »∩Γ∞ ó¿ñ«ó óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó:  óÑΘÑßΓóÑ¡¡«Ñ (Real),
  1948.         ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε (Single),  ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε (Double),  ß
  1949.         »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε (Extended) ¿ ß½«ª¡«Ñ  (Comp).  äÑ⌐ßΓó¿∩  ¡áñ
  1950.         Γ¿»á¼¿ ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε,  ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε ¿ ß »«óδΦÑ¡¡«⌐
  1951.         Γ«τ¡«ßΓ∞ε ¿ ¡áñ ß½«ª¡δ¼ Γ¿»«¼ ¼«úπΓ óδ»«½¡∩Γ∞ß∩ Γ«½∞¬« »α¿  ¡á½¿-
  1952.         τ¿¿ τ¿ß½«ó«ú« ß«»α«µÑßß«αá 8087 (¬«Γ«αδ⌐ íδ½ «»¿ßá¡ αá¡ÑÑ).
  1953.  
  1954.              éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ αẽ¿τáεΓß∩ ñ¿á»áº«¡«¼ ¿ Γ«τ¡«ßΓ∞ε ßó∩ºá¡-
  1955.         ¡δσ ß ¡¿¼¿ º¡áτÑ¡¿⌐ (ß¼. Æáí½¿µπ 4.2).
  1956.  
  1957.                            ä¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩
  1958.                   ¿ ñÑß∩Γ¿τ¡δÑ µ¿Σαδ ñ½∩ óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó   Æáí½¿µá 4.2
  1959.         ┌───────────────────────┬───────────────────────────┬───────────┐
  1960.         │        Æ¿»            │        ä¿á»áº«¡           │   û¿Σαδ   │
  1961.         ├───────────────────────┼───────────────────────────┼───────────┤
  1962.         │ óÑΘÑßΓóÑ¡¡«Ñ          │2.9x10^-39 .. 1.7x10^38    │«Γ 11 ñ« 12│
  1963.         │ (Real)                │                           │           │
  1964.         ├───────────────────────┼───────────────────────────┼───────────┤
  1965.         │ ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε │1.5x10^-45 .. 3.4x10^38    │«Γ 7 ñ« 8  │
  1966.         │ (Single)              │                           │           │
  1967.         ├───────────────────────┼───────────────────────────┼───────────┤
  1968.         │ ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε   │5.0x10^-324 .. 1.7x10^308  │«Γ 15 ñ« 16│
  1969.         │ (Double)              │                           │           │
  1970.         ├───────────────────────┼───────────────────────────┼───────────┤
  1971.         │ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε│1.9x10^-4951 .. 1.1x10^4932│«Γ 19 ñ« 20│
  1972.         │ (Extended)            │                           │           │
  1973.         ├───────────────────────┼───────────────────────────┼───────────┤
  1974.         │ ß½«ª¡δ⌐ Γ¿»           │   -2^63 + 1 .. 2^63 - 1   │           │
  1975.         │ (Comp)                │                           │           │
  1976.         └───────────────────────┴───────────────────────────┴───────────┘
  1977.  
  1978.                    Åα¿¼Ñτá¡¿Ñ: æ½«ª¡δ⌐ Γ¿» ß«ñÑαª¿Γ Γ«½∞¬«  µÑ½«τ¿ß½Ñ¡¡δÑ
  1979.               º¡áτÑ¡¿∩  ó  ñ¿á»áº«¡Ñ «Γ -2^63+1 ñ« 2^63-1,  τΓ« »α¿í½¿º¿-
  1980.               Γѽ∞¡« αáó¡« -9.2x10^18 ¿ 9.2x10^18.
  1981.  
  1982.              Borland Pascal »«ññÑনóáÑΓ ñóÑ ¼«ñѽ¿  úÑ¡Ñαᵿ¿  ¬«ñá  ñ½∩
  1983.         óδ»«½¡Ñ¡¿∩ ñÑ⌐ßΓó¿⌐ ¡áñ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿: »α«úαá¼¼¡πε ñ½∩ τ¿-
  1984.         ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ á»»áαáΓ¡πε ñ½∩ τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
  1985.         éδí«α  ß««ΓóÑΓßΓóπεΘÑ⌐  ¼«ñѽ¿ «ßπΘÑßΓó½∩ÑΓß∩ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
  1986.         ¬«¼»¿½∩Γ«αá $N.
  1987.  
  1988.  
  1989.          B.Pascal 7 & Objects/LR      - 43 -
  1990.  
  1991.                  Åα«úαá¼¼¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
  1992.         ─────────────────────────────────────────────────────────────────
  1993.  
  1994.              é ß«ßΓ«∩¡¿¿ {$N-}, ¬«Γ«α«Ñ πßΓá¡áó½¿óáÑΓß∩ »« π¼«½τá¡¿ε, úÑ-
  1995.         ¡Ñα¿απѼδ⌐ ¬«ñ óδ»«½¡∩ÑΓ óßÑ óδτ¿ß½Ñ¡¿∩  ß  óÑΘÑßΓóÑ¡¡δ¼¿  Γ¿»á¼¿
  1996.         »α«úαá¼¼¡«, τÑαѺ óδº«ó »«ñ»α«úαá¼¼ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ-
  1997.         ¼δ.  êº-ºá ß««íαáªÑ¡¿⌐ ß¬«α«ßΓ¿ ¿ αẼÑαá ¬«ñá ó  φΓ«¼  ß«ßΓ«∩¡¿¿
  1998.         ñ«»π߬áεΓß∩ Γ«½∞¬« ñÑ⌐ßΓó¿∩ ¡áñ »ÑαѼѡ¡δ¼¿ Γ¿»á real (óÑΘÑßΓóÑ¡-
  1999.         ¡«Ñ).  ïεíá∩ »«»δΓ¬á «ΓΓαá¡ß½¿α«óáΓ∞ «»ÑαáΓ«αδ, óδ»«½¡∩εΘ¿Ñ ñÑ⌐ß-
  2000.         Γó¿∩ ¡áñ Γ¿»á¼¿ ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε, ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε, ß »«-
  2001.         óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿ ¡áñ ß½«ª¡δ¼¿ Γ¿»á¼¿,  ó맮óÑΓ  ß««íΘÑ¡¿Ñ  «í
  2002.         «Φ¿í¬Ñ.
  2003.  
  2004.                   Ç»»áαáΓ¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
  2005.         ─────────────────────────────────────────────────────────────────
  2006.  
  2007.              é ß«ßΓ«∩¡¿¿ {$N+} úÑ¡Ñα¿απѼδ⌐  ¬«ñ óδ»«½¡∩ÑΓ óßÑ óδτ¿ß½Ñ¡¿∩
  2008.         ¡áñ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿ ß »«¼«Θ∞ε τ¿ß½«ó«ú«  ß«»α«µÑßß«αá  8087.
  2009.         ¥Γ« ß«ßΓ«∩¡¿Ñ »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ óßÑ »∩Γ∞ óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó,
  2010.         «ñ¡á¬« «¡« ΓαÑíπÑΓ ¡á½¿τ¿∩ ß«»α«µÑßß«αá 8087 ¡á  φΓá»Ñ ¬«¼»¿½∩µ¿¿
  2011.         ¿ óδ»«½¡Ñ¡¿∩.
  2012.  
  2013.              Borland Pascal ó¬½ετáÑΓ ó ßÑí∩ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ-
  2014.         ¼δ, ¬«Γ«αδÑ áóΓ«¼áΓ¿τÑ߬¿ φ¼π½¿απεΓ »α«úαá¼¼¡δ¼ »πΓѼ ß«»α«µÑßß«α
  2015.         80σ87, Ñß½¿ »α¿ óδ»«½¡Ñ¡¿¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ DOS αÑá½∞¡«ú« ¿½¿
  2016.         ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á «¡ «ΓßπΓßΓóπÑΓ.  ä½∩ «»αÑñѽѡ¿∩ Γ«ú«, ß½ÑñπÑΓ
  2017.         ½¿ ó »α«úαá¼¼π DOS ó¬½ετ¿Γ∞ φ¼π½∩Γ«α ß«»α«µÑßß«αá 80x87,  ¿ß»«½∞-
  2018.         ºπÑΓß∩ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E. àß½¿ óδ ß«ºñáÑΓ »α¿¬½áñ¡πε »α«ú-
  2019.         αá¼¼π ñ½∩  αÑá½∞¡«ú«  ¿½¿  ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS,  ¿ ß«»α«µÑßß«α
  2020.         80σ87 «ΓßπΓßΓóπÑΓ,  αáºαÑΦÑ¡¿Ñ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $E «íÑß»Ñτ¿-
  2021.         óáÑΓ »«½¡πε »α«úαá¼¼¡πε φ¼π½∩µ¿ε ß«»α«µÑßß«αá 80x87. ä½∩ »α«úαá¼¼
  2022.         Windows ñ¿αÑ¬Γ¿óá $E ¡Ñ ñÑ⌐ßΓóπÑΓ,  Γᬠ¬á¬ Windows  «íÑß»Ñτ¿óáÑΓ
  2023.         ß«íßΓóÑ¡¡δÑ »«ñ»α«úαá¼¼δ φ¼π½∩µ¿¿.
  2024.  
  2025.                    Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ  ñÑΓá½∞¡«Ñ  «»¿ßá¡¿Ñ  úÑ¡Ñαᵿ¿ ¬«ñá
  2026.               »α¿ á»»áαáΓ¡«⌐ »«ññÑαª¬Ñ τ¿ßѽ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐ óδ ¼«ªÑ-
  2027.               ΓÑ  ¡á⌐Γ¿  ó  â½áóÑ  15  "êß»«½∞º«óá¡¿Ñ ß«»α«µÑßß«αá 8087 ó
  2028.               Borland Pascal".
  2029.  
  2030.  
  2031.  
  2032.          B.Pascal 7 & Objects/LR      - 44 -
  2033.  
  2034.                                  æΓ᫬«óδÑ Γ¿»δ
  2035.         ─────────────────────────────────────────────────────────────────
  2036.  
  2037.              ç¡áτÑ¡¿Ñ¼ ßΓ᫬«ó«ú« Γ¿»á ∩ó½∩ÑΓß∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«-
  2038.         ½«ó ß ñ¿¡á¼¿τÑ߬¿¼ áΓα¿íπΓ«¼ ñ½¿¡δ (ó ºáó¿ß¿¼«ßΓ¿ «Γ ñÑ⌐ßΓó¿Γѽ∞-
  2039.         ¡«ú« τ¿ß½á ß¿¼ó«½«ó »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ) ¿ »«ßΓ«∩¡¡δ¼  áΓα¿-
  2040.         íπΓ«¼ αẼÑαá ó ñ¿á»áº«¡Ñ «Γ 1 ñ« 255.  ÆÑ¬πΘÑÑ º¡áτÑ¡¿Ñ áΓα¿íπΓá
  2041.         ñ½¿¡δ ¼«ª¡« »«½πτ¿Γ∞ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿ Length.
  2042.  
  2043.                              ┌──────┐
  2044.            ßΓ᫬«óδ⌐ Γ¿» ───>│string├──┬──────────────────────────────>
  2045.                              └──────┘  │                          ^
  2046.                                        │  ┌───┐   ┌─────┐   ┌───┐ │
  2047.                                        └─>│ [ ├──>│µÑ½«Ñ├──>│ ] ├─┘
  2048.                                           └───┘   │ íѺ │   └───┘
  2049.                                                   │º¡á¬á│
  2050.                                                   └─────┘
  2051.  
  2052.                    Åα¿¼Ñτá¡¿Ñ: Ä»ÑαáΓ«αδ αáí«Γδ ß« ßΓ᫬«ó묨 Γ¿»á¼¿ «»¿-
  2053.               ßδóáεΓß∩ αáºñѽáσ  "æΓ᫬«óδÑ «»ÑαáΓ«αδ" ¿ "Ä»ÑαáΓ«αδ «Γ¡«-
  2054.               ΦÑ¡¿⌐" â½áóδ 6.
  2055.  
  2056.              ÄΓ¡«ΦÑ¡¿Ñ ¼Ñªñπ  ½εí묨 ñóπ¼∩ ßΓ᫬«ó묨 º¡áτÑ¡¿∩¼¿ πßΓá¡áó-
  2057.         ½¿óáÑΓß∩ ß«ú½áß¡« «Γ¡«ΦÑ¡¿ε »«α∩ñ¬á ¼Ñªñπ º¡áτÑ¡¿∩¼¿  ß¿¼ó«½«ó  ó
  2058.         ß««ΓóÑΓßΓóπεΘ¿σ »«º¿µ¿∩σ. é ñóπσ ßΓ᫬áσ αạ«⌐ ñ½¿¡δ ¬áªñδ⌐ ß¿¼-
  2059.         ó«½ í«½ÑÑ ñ½¿¡¡«⌐ ßΓ᫬¿ íѺ ß««ΓóÑΓßΓóπεΘÑú« ß¿¼ó«½á ó í«½ÑÑ ¬«-
  2060.         α«Γ¬«⌐ ßΓα«¬Ñ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ "í«½∞ΦÑ"; ¡á»α¿¼Ñα, 'Xs' í«½∞ΦÑ,
  2061.         τѼ 'X'.  ìπ½ÑóδÑ ßΓ᫬¿ ¼«úπΓ íδΓ∞ αáó¡δ Γ«½∞¬«  ñαπú¿¼  ¡π½Ñóδ¼
  2062.         ßΓ᫬á¼, ¿ «¡¿ ∩ó½∩εΓß∩ ¡á¿¼Ñ¡∞Φ¿¼¿ ßΓ᫬«ó묨 º¡áτÑ¡¿∩¼¿.
  2063.  
  2064.                    Åα¿¼Ñτá¡¿Ñ: æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ½∩ αáí«Γδ
  2065.               ß« ßΓ᫬«ó묨 Γ¿»á¼¿ «»¿ßá¡δ ó αáºñѽѠ"æΓ᫬«óδÑ »α«µÑñπαδ
  2066.               ¿ Σπ¡¬µ¿¿".
  2067.  
  2068.              è ß¿¼ó«½á¼ ó ßΓ᫬áσ ¼«ª¡« «íαáΘáΓ∞ß∩ ¬á¬ ¬ φ½Ñ¼Ñ¡Γá¼ ¼áßß¿-
  2069.         óá. æ¼. αáºñѽ "îáßß¿óδ, ßΓ᫬¿ ¿ ¿¡ñѬßδ" ó â½áóÑ 5.
  2070.  
  2071.              è ¿ñÑ¡Γ¿Σ¿¬áΓ«απ  ßΓ᫬«ó«ú«  Γ¿»á  ¿ ¬ ßßδ½¬Ñ ¡á »ÑαѼѡ¡πε
  2072.         ßΓ᫬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡∩Γ∞ ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿ Low ¿ High. é
  2073.         φΓ«¼ ß½πτáÑ  Σπ¡¬µ¿∩ Low ó«ºóαáΘáÑΓ 0,  á High ó«ºóαáΘáÑΓ áΓα¿íπΓ
  2074.         αẼÑαá (¼á¬ß¿¼á½∞¡πε ñ½¿¡π) ñá¡¡«⌐ ßΓ᫬¿.
  2075.  
  2076.              Åáαá¼ÑΓα-»ÑαѼѡ¡á∩, «»¿ßá¡¡á∩  ß   »«¼«Θ∞ε   ¿ñÑ¡Γ¿Σ¿¬áΓ«αá
  2077.         OpenString ¿  ¬½ετÑó«ú« ß½«óá string ó ß«ßΓ«∩¡¿¿ {$P+},  ∩ó½∩ÑΓß∩
  2078.         «Γ¬αδΓδ¼ ßΓ᫬«óδ¼ »áαá¼ÑΓα«¼.  ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ »«º-
  2079.         ó«½∩εΓ  »ÑαÑñáóáΓ∞ «ñ¡«⌐ ¿ Γ«⌐ ªÑ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ßΓ᫬«óδÑ
  2080.         »ÑαѼѡ¡δÑ ¿º¼Ñ¡∩εΘÑú«ß∩ αẼÑαá.
  2081.  
  2082.                    Åα¿¼Ñτá¡¿Ñ: ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ «»¿ßδóáεΓß∩ ó
  2083.               â½áóÑ 9.
  2084.  
  2085.  
  2086.  
  2087.          B.Pascal 7 & Objects/LR      - 45 -
  2088.  
  2089.                                 æΓαπ¬Γπα¡δÑ Γ¿»δ
  2090.         ─────────────────────────────────────────────────────────────────
  2091.  
  2092.              æΓαπ¬Γπα¡δ⌐ Γ¿»,  σáαá¬ΓÑਧπѼδ⌐ ¼ÑΓ«ñ«¼ ßΓαπ¬Γπα¿α«óá¡¿∩ ¿
  2093.         Γ¿»á¼¿ ßó«¿σ ¬«¼»«¡Ñ¡Γ«ó,  ¿¼ÑÑΓ í«½ÑÑ «ñ¡«ú« º¡áτÑ¡¿∩.  àß½¿ Γ¿»
  2094.         ¬«¼»«¡Ñ¡Γá  ∩ó½∩ÑΓß∩  ßΓαπ¬Γπα¡δ¼,  Γ«  »«½πτáѼδ⌐  ó  αѺπ½∞ΓáΓÑ
  2095.         ßΓαπ¬Γπα¡δ⌐  Γ¿»  ¿¼ÑÑΓ  í«½ÑÑ  «ñ¡«ú«  πα«ó¡∩  ßΓαπ¬Γπα¿α«óá¡¿∩.
  2096.         æΓαπ¬Γπα¡δ⌐  Γ¿» ¼«ªÑΓ ¿¼ÑΓ∞ ¡Ñ«úαá¡¿τÑ¡¡δÑ πα«ó¡¿ ßΓαπ¬Γπα¿α«óá-
  2097.         ¡¿∩.
  2098.  
  2099.                                             ┌───────────────┐
  2100.          ßΓαπ¬Γπα¡δ⌐ ──┬────────────────┬──>│  Γ¿» ¼áß߿󠠠├─────>
  2101.              Γ¿»       │  ┌────────┐ ^  │   └───────────────┘  ^
  2102.                        └─>│ packed ├─┘  │   ┌───────────────┐  │
  2103.                           └────────┘    ├──>│ ¼¡«ªÑßΓóÑ¡¡δ⌐ ├──┤
  2104.                                         │   │     Γ¿»       │  │
  2105.                                         │   └───────────────┘  │
  2106.                                         │   ┌───────────────┐  │
  2107.                                         ├──>│ Σá⌐½«óδ⌐ Γ¿»  ├──┤
  2108.                                         │   └───────────────┘  │
  2109.                                         │   ┌───────────────┐  │
  2110.                                         ├──>│ Γ¿» "ºá»¿ß∞"  ├──┤
  2111.                                         │   └───────────────┘  │
  2112.                                         │   ┌───────────────┐  │
  2113.                                         └──>│ «íΩÑ¬Γ¡δ⌐ Γ¿» ├──┘
  2114.                                             └───────────────┘
  2115.  
  2116.              æ½«ó« packed (π»á¬«óá¡¡δ⌐) ó «»¿ßá¡¿¿ ßΓαπ¬Γπα¡«ú« Γ¿»á ΓαÑ-
  2117.         íπÑΓ  «Γ  ¬«¼»¿½∩Γ«αá  π»½«Γ¡¿Γ∞  σαá¡¿¼δÑ  ñá¡¡δÑ,  ñáªÑ ºá ßτÑΓ
  2118.         π¼Ñ¡∞ΦÑ¡¿∩ ß¬«α«ßΓ¿ ñ«ßΓπ»á ¬ ¬«¼»«¡Ñ¡Γπ ó »ÑαѼѡ¡«⌐ φΓ«ú« Γ¿»á.
  2119.         æ½«ó« packed  ¡Ñ  ¿¼ÑÑΓ ¡¿¬á¬«ú« ñÑ⌐ßΓó¿∩ ó Borland Pascal,  »«ß-
  2120.         ¬«½∞¬π π»á¬«ó¬á óδ»«½¡∩ÑΓß∩ ºñÑß∞ áóΓ«¼áΓ¿τÑ߬¿  óßεñπ,  úñÑ  φΓ«
  2121.         ó«º¼«ª¡«.
  2122.  
  2123.  
  2124.  
  2125.          B.Pascal 7 & Objects/LR      - 46 -
  2126.  
  2127.                                    Æ¿»δ ¼áßß¿ó
  2128.         ─────────────────────────────────────────────────────────────────
  2129.  
  2130.              îáßß¿óδ ß«ñÑαªáΓ Σ¿¬ß¿α«óá¡¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó «ñ¡«ú«  Γ¿»á,
  2131.         Γᬠ¡áºδóáѼ«ú« Γ¿»á φ½Ñ¼Ñ¡Γá.  ìá »α¿ó«ñ¿¼«⌐ ¡¿ªÑ ß¿¡Γá¬ß¿τÑ߬«⌐
  2132.         ñ¿áúαá¼¼Ñ Γ¿» φ½Ñ¼Ñ¡Γá ß½ÑñπÑΓ ºá ß½«ó«¼ of.
  2133.  
  2134.                  ┌───────┐  ┌───┐    ┌───────┐    ┌───┐  ┌────┐  ┌─────┐
  2135.          Γ¿»  ──>│ array ├─>│ [ ├───>│ Γ¿»   ├─┬─>│ ] ├─>│ of ├─>│ Γ¿» ├>
  2136.          ¼áßß¿ó  └───────┘  └───┘ ^  │¿¡ñѬßá│ │  └───┘  └────┘  └─────┘
  2137.                                   │  └───────┘ │
  2138.                                   │    ┌───┐   │
  2139.                                   └────┤ , │<──┘
  2140.                                        └───┘
  2141.  
  2142.              Γ¿»         ┌────────────────┐
  2143.              ¿¡ñѬßá ───>│ »«α∩ñ¬«óδ⌐ Γ¿» ├───>
  2144.                          └────────────────┘
  2145.  
  2146.              é ¿¡ñѬߡδσ Γ¿»áσ, »« «ñ¡«¼π ñ½∩ ¬áªñ«⌐ αẼÑα¡«ßΓ¿ ¼áßß¿óá,
  2147.         π¬áºδóáÑΓß∩ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó.  ä«»πßΓ¿¼δ¼¿ ¿¡ñÑ¬ß¡δ¼¿ Γ¿»á¼¿ ∩ó½∩-
  2148.         εΓß∩ óßÑ »«α∩ñ¬«óδÑ Γ¿»δ, ºá ¿ß¬½ετÑ¡¿Ñ¼ ñ½¿¡¡«ú« µÑ½«ú« ¿ »«ññ¿-
  2149.         á»áº«¡«ó  ñ½¿¡¡«ú«  µÑ½«ú«.  îáß߿󠼫ªÑΓ íδΓ∞ »α«¿¡ñѬ߿α«óá¡ »«
  2150.         ¬áªñ«⌐ αẼÑα¡«ßΓ¿ óßѼ¿ º¡áτÑ¡¿∩¼¿  ß««ΓóÑΓßΓóπεΘÑú«  ¿¡ñѬߡ«ú«
  2151.         Γ¿»á;  τ¿ß½«  φ½Ñ¼Ñ¡Γ«ó »«φΓ«¼π αáó¡« τ¿ß½π º¡áτÑ¡¿⌐ ó ¬áªñ«¼ ¿¡-
  2152.         ñѬߡ«¼ Γ¿»Ñ. ù¿ß½« αẼÑα¡«ßΓÑ⌐ ¡Ñ «úαá¡¿τÑ¡«.
  2153.  
  2154.              Åα¿óÑñѼ »α¿¼Ñα Γ¿»á ¼áßß¿ó:
  2155.  
  2156.              array[1..100] of Real
  2157.  
  2158.              àß½¿ Γ¿» φ½Ñ¼Ñ¡Γá ó Γ¿»Ñ ¼áßß¿ó ΓᬪѠ∩ó½∩ÑΓß∩  ¼áßß¿ó«¼, Γ«
  2159.         αѺπ½∞ΓáΓ  ¼«ª¡«  αáßß¼áΓα¿óáΓ∞  ¬á¬ ¼áßß¿ó ¼áßß¿ó«ó ¿½¿ ¬á¬ «ñ¿¡
  2160.         ¼¡«ú«¼Ñα¡δ⌐ ¼áßß¿ó. ìá»α¿¼Ñα,
  2161.  
  2162.              array[boolean] of array[1..100] of array[Size] of Real
  2163.  
  2164.         ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬«¼»¿½∩Γ«α«¼ Γ«τ¡« ΓᬠªÑ, ¬á¬ ¼áßß¿ó:
  2165.  
  2166.              array[boolean,1..10,Size] of Real
  2167.  
  2168.              èα«¼Ñ Γ«ú«, ¼«ª¡« ºá»¿ßáΓ∞ óδαáªÑ¡¿Ñ:
  2169.  
  2170.              packed array[1..10] of packed array[1..8] of Boolean
  2171.         ¬á¬
  2172.              packed array[1..10,1..8] of Boolean
  2173.  
  2174.              ä½∩ ñ«ßΓπ»á ¬ φ½Ñ¼Ñ¡Γá¼ ¼áßß¿óá ¡Ñ«íσ«ñ¿¼« π¬áºáΓ∞ ¿ñÑ¡Γ¿Σ¿-
  2175.         ¬áΓ«α  ¼áßß¿óá  ß  «ñ¡¿¼ ¿½¿ ¡Ñ߬«½∞¬¿¼¿ ¿¡ñѬßἿ ó ß¬«í¬áσ (ß¼.
  2176.         αáºñѽ "îáßß¿óδ, ßΓ᫬¿ ¿ ¿¡ñѬßδ").
  2177.  
  2178.              Æ¿» ¼áßß¿ó, ¿¼ÑεΘ¿⌐ ó¿ñ:
  2179.  
  2180.  
  2181.          B.Pascal 7 & Objects/LR      - 47 -
  2182.  
  2183.              packed array[M..N] of Char
  2184.  
  2185.         úñÑ M ¼Ñ¡∞ΦÑ N,  ¡áºδóáÑΓß∩ π»á¬«óá¡¡δ¼  ßΓ᫬«óδ¼  Γ¿»«¼  (ß½«ó«
  2186.         packed  ¼«ª¡«  «»πßΓ¿Γ∞,  »«ß¬«½∞¬π  «¡«  ¡Ñ «¬áºδóáÑΓ ñÑ⌐ßΓó¿∩ ó
  2187.         Borland Pascal). ô»á¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ Γ¿» ¿¼ÑÑΓ ¡Ñ¬«Γ«αδÑ ßó«⌐ß-
  2188.         Γóá, ¡Ñ σáαá¬ΓÑα¡δÑ ñ½∩ ñαπú¿σ Γ¿»«ó ¼áßß¿ó (ß¼. αáºñѽ "Æ«ªñÑßΓ-
  2189.         óÑ¡¡δÑ ¿ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ" ñá½ÑÑ ó φΓ«⌐ ú½áóÑ).
  2190.  
  2191.              îáßß¿ó ó¿ñá:
  2192.  
  2193.              array[0..X] of Char
  2194.  
  2195.         úñÑ X - »«½«ª¿Γѽ∞¡«Ñ µÑ½«Ñ τ¿ß½«,  ¡áºδóáÑΓß∩ ¼áß߿󫼠ߠ¡π½Ñó«⌐
  2196.         íẫ⌐. îáßß¿óδ  ß ¡π½Ñó«⌐ íẫ⌐ ¿ß»«½∞ºπεΓß∩ ñ½∩ σαá¡Ñ¡¿∩ ßΓ᫬ ß
  2197.         ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼, ¿, ¬«úñá αáºαÑΦÑ¡ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß (ß »«-
  2198.         ¼«Θ∞ε ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá {$X+}),  ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ß ¡π½Ñó«⌐
  2199.         íẫ⌐ ß«ó¼ÑßΓ¿¼ ß« º¡áτÑ¡¿Ñ¼ Γ¿»á PChar.  Å«½¡«ßΓ∞ε φΓá ΓѼᠠ«í-
  2200.         ßπªñáÑΓß∩ ó â½áóÑ 18 "êß»«½∞º«óá¡¿Ñ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼".
  2201.  
  2202.              Åáαá¼ÑΓα, «»¿ßá¡¡δ⌐ ß »«¼«Θ∞ε ß¿¡Γá¬ß¿ßá array of T, ¡áºδóá-
  2203.         ÑΓß∩ «Γ¬αδΓδ¼ ßΓ᫬«óδ¼ »áαá¼ÑΓα«¼.  ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ
  2204.         »«ºó«½∩εΓ »ÑαÑñáóáΓ∞ «ñ¡«⌐ ¿ Γ«⌐ ªÑ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ßΓ᫬«-
  2205.         óδÑ »ÑαѼѡ¡δÑ ¿º¼Ñ¡∩εΘÑú«ß∩ αẼÑαá.
  2206.  
  2207.                    Åα¿¼Ñτá¡¿Ñ: ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ «»¿ßδóáεΓß∩ ó
  2208.               â½áóÑ 9.
  2209.  
  2210.  
  2211.  
  2212.          B.Pascal 7 & Objects/LR      - 48 -
  2213.  
  2214.                                    Æ¿»δ ºá»¿ß∞
  2215.         ─────────────────────────────────────────────────────────────────
  2216.  
  2217.              Æ¿» ºá»¿ß∞ ß«ñÑαª¿Γ πßΓá¡«ó½Ñ¡¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¿½¿ »«½Ñ⌐,
  2218.         ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ αẽ¿τ¡δσ Γ¿»«ó. Ä»¿ßá¡¿Ñ Γ¿»á ºá»¿ß∞ π¬áºδóá-
  2219.         ÑΓ Γ¿» ¬áªñ«ú« »«½∩ ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐ ¿¼Ñ¡πÑΓ »«½Ñ.
  2220.  
  2221.                         ┌────────┐                    ┌─────┐
  2222.          Γ¿» ºá»¿ß∞ ───>│ record ├──┬────────────────>│ end ├──>
  2223.                         └────────┘  │  ┌────────┐ ^   └─────┘
  2224.                                     └─>│ ß»¿ß«¬ ├─┘
  2225.                                        │  »«½Ñ⌐ │
  2226.                                        └────────┘
  2227.  
  2228.          ß»¿ß«¬  ┌────────────┐
  2229.          »«½Ñ⌐┬─>│ Σ¿¬ß¿α«óá¡-├─┬────────────────────────────┬──────────>
  2230.               │  │ ¡á∩ τáßΓ∞  │ │  ┌───┐    ┌────────────┐ ^ │  ┌───┐ ^
  2231.               │  └────────────┘ └─>│ ; ├───>│ óáα¿á¡Γ¡á∩ ├─┘ └─>│ ; ├─┘
  2232.               │                    └───┘ ^  │   τáßΓ∞    │      └───┘
  2233.               └──────────────────────────┘  └────────────┘
  2234.  
  2235.                            ┌─────────────────┐   ┌───┐    ┌─────┐
  2236.         Σ¿¬ß¿α«óá¡¡á∩ ────>│     ß»¿ß«¬      ├──>│ : ├───>│ Γ¿» ├──┬──>
  2237.         τáßΓ∞           ^  │ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó │   └───┘    └─────┘  │
  2238.                         │  └─────────────────┘                     │
  2239.                         │                                          │
  2240.                         │            ┌───┐                         │
  2241.                         └────────────┤ ; │<────────────────────────┘
  2242.                                      └───┘
  2243.  
  2244.              ö¿¬ß¿α«óá¡¡á∩ τáßΓ∞ Γ¿»á ºá»¿ß∞ ß«ñÑαª¿Γ ß»¿ß«¬  Σ¿¬ß¿α«óá¡-
  2245.         ¡δσ »«½Ñ⌐ ó¼ÑßΓÑ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ¿ Γ¿»«¼ ñ½∩ ¬áªñ«ú« »«½∩. èáª-
  2246.         ñ«Ñ »«½Ñ ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε, ¬«Γ«αá∩ óßÑúñá «Γδ߬¿óáÑΓß∩ «ñ¡¿¼ ¿
  2247.         ΓѼ ªÑ ß»«ß«í«¼.
  2248.  
  2249.              Åα¿óÑñѼ »α¿¼Ñα Γ¿»á ºá»¿ß∞:
  2250.  
  2251.              record
  2252.                year:  integer;          { ú«ñ }
  2253.                month: 1..12;            { ¼Ñß∩µ }
  2254.                day:   1..31;            { τ¿ß½« }
  2255.              end
  2256.  
  2257.  
  2258.          B.Pascal 7 & Objects/LR      - 49 -
  2259.  
  2260.  
  2261.              é óáα¿á¡Γ¡«⌐ τáßΓ¿, ¿º«íαáªÑ¡¡«⌐ ¡á ß¿¡Γá¬ß¿τÑ߬«⌐ ñ¿áúαá¼¼Ñ
  2262.         «»¿ßá¡¿∩ Γ¿»á ºá»¿ß∞,  »á¼∩Γ∞ αáß»αÑñѽ∩ÑΓß∩ í«½ÑÑ τѼ ñ½∩ «ñ¡«ú«
  2263.         ß»¿ß¬á »«½Ñ⌐,  »«φΓ«¼π ñ«ßΓπ» ¬ ¿¡Σ«α¼áµ¿¿ ¼«ªÑΓ íδΓ∞ «ßπΘÑßΓó½Ñ¡
  2264.         í«½ÑÑ τѼ «ñ¡¿¼ ß»«ß«í«¼. èáªñδ⌐ ß»¿ß«¬ »«½Ñ⌐ ∩ó½∩ÑΓß∩ óáα¿á¡Γ«¼.
  2265.         éáα¿á¡Γδ ¡á½áúáεΓß∩ ñαπú ¡á ñαπúá ó »á¼∩Γ¿, »«φΓ«¼π ó ½εí«Ñ óαѼ∩
  2266.         ó«º¼«ªÑ¡ ñ«ßΓπ» ¬« óßѼ »«½∩¼ ó« óßÑσ óáα¿á¡Γáσ.
  2267.  
  2268.          óáα¿á¡Γ¡á∩ τáßΓ∞
  2269.          │  ┌────┐                      ┌────────┐  ┌──┐     ┌───────┐
  2270.          └─>│case├─┬───────────────────>│Γ¿» »«½∩├─>│of├────>│óáα¿á¡Γ├─┬>
  2271.             └────┘ │                 ^  │»α¿º¡á¬á│  └──┘ ^   └───────┘ │
  2272.                    │ ┌───────┐ ┌───┐ │  └────────┘       │    ┌───┐    │
  2273.                    └>│¿ñÑ¡Γ¿-├>│ : ├─┘                   └────┤ ; │<───┘
  2274.                      │Σ¿¬áΓ«α│ └───┘                          └───┘
  2275.                      └───────┘
  2276.  
  2277.                        ┌────────────────┐
  2278.          Γ¿» »«½∩ ────>│  ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├────>
  2279.          »α¿º¡á¬á      │»«α∩ñ¬«ó«ú« Γ¿»á│
  2280.                        └────────────────┘
  2281.  
  2282.                       ┌─────────┐    ┌───┐  ┌───┐                ┌───┐
  2283.          óáα¿á¡Γ ────>│¬«¡ßΓá¡Γá├─┬─>│ : ├─>│ ( ├─┬─────────────>│ ) ├──>
  2284.                    ^  └─────────┘ │  └───┘  └───┘ │           ^  └───┘
  2285.                    │    ┌───┐     │               │           │
  2286.                    └────┤ , │<────┘               │  ┌──────┐ │
  2287.                         └───┘                     └─>│ß»¿ß«¬├─┘
  2288.                                                      │»«½Ñ⌐ │
  2289.                                                      └──────┘
  2290.  
  2291.              éδ ¼«ªÑΓÑ ó¿ñÑΓ∞ ¡á ñ¿áúαá¼¼Ñ,  τΓ« ¬áªñδ⌐ óáα¿á¡Γ ¿ñÑ¡Γ¿Σ¿-
  2292.         µ¿α«óá¡  »«  ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¡«⌐ ¬«¡ßΓá¡Γ«⌐.  éßÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ
  2293.         íδΓ∞ «Γ½¿τ¡δ¼¿ ñαπú «Γ ñαπúá ¿ ¿¼ÑΓ∞ »«α∩ñ¬«óδ⌐  Γ¿», ß«ó¼ÑßΓ¿¼δ⌐
  2294.         ß Γ¿»«¼ »«½∩ »α¿º¡á¬á.  ä«ßΓπ» ¬ óáα¿á¡Γ¡δ¼ ¿ Σ¿¬ß¿α«óá¡¡δ¼ »«½∩¼
  2295.         «ñ¿¡ ¿ Γ«Γ ªÑ.
  2296.  
  2297.              é óáα¿á¡Γ¡«⌐ τáßΓ¿ ¼«ª¡« π¬áºáΓ∞ ¡Ñ«í∩ºáΓѽ∞¡δ⌐  ¿ñÑ¡Γ¿Σ¿¬á-
  2298.         Γ«α  -  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  »α¿º¡á¬á »«½∩.  Åα¿ ¡á½¿τ¿¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá
  2299.         »α¿º¡á¬á »«½∩ «¡ ßΓá¡«ó¿Γß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ñ«»«½¡¿Γѽ∞¡«ú«  Σ¿¬-
  2300.         ß¿α«óá¡¡«ú« »«½∩ ºá»¿ß¿ - »«½∩ »α¿º¡á¬á.  Åα«úαἼᠼ«ªÑΓ ¿ß»«½∞-
  2301.         º«óáΓ∞ º¡áτÑ¡¿Ñ »«½∩ »α¿º¡á¬á ñ½∩ π¬áºá¡¿∩, ¬á¬«⌐ óáα¿á¡Γ ∩ó½∩ÑΓ-
  2302.         ß∩  á¬Γ¿ó¡δ¼  ó  ¡áßΓ«∩Θ¿⌐  ¼«¼Ñ¡Γ.  üѺ  π¬áºá¡¿∩  »«½∩ »α¿º¡á¬á
  2303.         »α«úαá¼¼á óδí¿αáÑΓ óáα¿á¡Γ »« ñαπú«¼π ¬α¿ΓÑα¿ε.
  2304.  
  2305.              ì¿ªÑ »α¿ó«ñ∩Γß∩ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó Γ¿»«ó ºá»¿ß∞:
  2306.  
  2307.              record
  2308.                firstName,lastName : string[40];
  2309.                birthDate : Date;
  2310.                case citizen : boolean of
  2311.                  True  : (birthPlace: string[40]);
  2312.                  False : (country   : string[20];
  2313.  
  2314.          B.Pascal 7 & Objects/LR      - 50 -
  2315.  
  2316.                           entryPort : string[20];
  2317.                           entryDate : Date;
  2318.                           exitDate  : Date);
  2319.              end
  2320.  
  2321.              record
  2322.                x,y : real;
  2323.                case kind : Figure of
  2324.                  rectangle : (height,wigth: real);     { »α∩¼«πú«½∞¡¿¬ }
  2325.                  triangle : (size1,side2,angle: real); { ΓαÑπú«½∞¡¿¬ }
  2326.                  circle : (radius: real);              { ¬απú }
  2327.              end
  2328.  
  2329.                                  ÄíΩÑ¬Γ¡δÑ Γ¿»δ
  2330.         ─────────────────────────────────────────────────────────────────
  2331.  
  2332.              ÄíΩÑ¬Γ¡δ⌐ Γ¿» ∩ó½∩ÑΓß∩ ßΓαπ¬Γπα«⌐,  ß«ßΓ«∩ΘÑ⌐ ¿º Σ¿¬ß¿α«óá¡-
  2333.         ¡«ú« τ¿ß½á ¬«¼»«¡Ñ¡Γ«ó. èáªñδ⌐ ¬«¼»«¡Ñ¡Γ ∩ó½∩ÑΓß∩ ½¿í« »«½Ñ¼, ß«-
  2334.         ñÑαªáΘ¿¼ ñá¡¡δÑ ßΓα«ú« «»αÑñѽѡ¡«ú« Γ¿»á, ½¿í« ¼ÑΓ«ñ«¼, óδ»«½¡∩-
  2335.         εΘ¿¼  «»Ñαᵿ¿ ¡áñ «íΩÑ¬Γ«¼.  Å« á¡á½«ú¿¿ ß «»¿ß᡿Ѽ »ÑαѼѡ¡δσ,
  2336.         «»¿ßá¡¿Ñ »«½∩ π¬áºδóáÑΓ Γ¿» ñá¡¡«ú« φΓ«ú« »«½∩  ¿  ¿ñÑ¡Γ¿Σ¿¬áΓ«α,
  2337.         ¿¼Ñ¡πεΘ¿⌐  »«½Ñ:  »«  á¡á½«ú¿¿ ß «»¿ß᡿Ѽ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,
  2338.         «»¿ßá¡¿Ñ ¼ÑΓ«ñá π¬áºδóáÑΓ ºáú«½«ó«¬ »α«µÑñπαδ, Σπ¡¬µ¿¿, ¬«¡ßΓαπ¬-
  2339.         Γ«αá ¿½¿ ñÑßΓαπ¬Γ«αá.
  2340.  
  2341.              ÄíΩÑ¬Γ¡δ⌐ Γ¿» ¼«ªÑΓ ¡áß½Ññ«óáΓ∞ ¬«¼»«¡Ñ¡Γδ ñαπú«ú« «íΩÑ¬Γ¡«-
  2342.         ú« Γ¿»á.  àß½¿ T2 ¡áß½ÑñπÑΓ «Γ T1,  Γ« T2 ∩ó½∩ÑΓß∩ »«Γ«¼¬«¼ T1, á
  2343.         T1 ∩ó½∩ÑΓß∩ α«ñ¿ΓѽѼ T2.
  2344.  
  2345.  
  2346.          B.Pascal 7 & Objects/LR      - 51 -
  2347.  
  2348.  
  2349.              ìáß½Ññ«óá¡¿Ñ ∩ó½∩ÑΓß∩ Γα᡺¿Γ¿ó¡δ¼, Γ« ÑßΓ∞ Ñß½¿ T3 ¡áß½Ññπ-
  2350.         ÑΓ «Γ T2,  á T2 ¡áß½ÑñπÑΓ «Γ T1,  Γ« T3 ¡áß½ÑñπÑΓ «Γ T1.  Äí½áßΓ∞
  2351.         (ñ«¼Ñ¡) «íΩÑ¬Γ¡«ú« Γ¿»á ß«ßΓ«¿Γ ¿º ¡Ñú« ßἫú« ¿ ¿º óßÑσ Ñú« ¡áß-
  2352.         ½Ññ¡¿¬«ó.
  2353.  
  2354.                        ┌──────┐                      ┌────────────────┐
  2355.          Γ¿» «íΩѬΓá──>│object├─┬───────────────────>│ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ├─┐
  2356.                        └──────┘ │  ┌────────────┐ ^  └────────────────┘ │
  2357.                                 └─>│Háß½Ññ«óá¡¿Ñ├─┘                     │
  2358.                                    └────────────┘                       │
  2359.                             ┌───────────────────────────────────────────┘
  2360.                             │                                      ┌───┐
  2361.                             └─┬──────────────────────────────────┬─┤end├>
  2362.                               │   ┌───────┐   ┌────────────────┐ │ └───┘
  2363.                               └──>│private├──>│ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ├─┘
  2364.                                   └───────┘   └────────────────┘
  2365.  
  2366.                          ┌───┐  ┌─────────────────────────────┐  ┌───┐
  2367.          ¡áß½Ññ«óá¡¿Ñ ──>│ ( ├─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α «íΩÑ¬Γ¡«ú« Γ¿»á├─>│ ) ├──>
  2368.                          └───┘  └─────────────────────────────┘  └───┘
  2369.  
  2370.          ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ ──┬─────────────────┬───────────────────>
  2371.                             │  ┌────────┐  ^  │  ┌─────────┐  ^
  2372.                             └─>│ ß»¿ß«¬ ├──┘  └─>│ ß»¿ß«¬  ├──┘
  2373.                                │ »«½Ñ⌐  │        │ ¼ÑΓ«ñ«ó │
  2374.                                └────────┘        └─────────┘
  2375.  
  2376.                           ┌──────────────────────┐  ┌───┐  ┌────┐ ┌───┐
  2377.          ß»¿ß«¬ »«½Ñ⌐ ───>│c»¿ß«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó├─>│ : ├─>│type├>│ ; ├┬>
  2378.                        ^  └──────────────────────┘  └───┘  └────┘ └───┘│
  2379.                        │                                               │
  2380.                        └───────────────────────────────────────────────┘
  2381.  
  2382.                            ┌─────────┐                            ┌───┐
  2383.          ß»¿ß«¬ ¼ÑΓ«ñ«ó ──>│ºáú«½«ó«¬├─┬──────────────────────────┤ ; ├┬─>
  2384.                         ^  │ ¼ÑΓ«ñá  │ │ ┌───┐  ┌───────┐        ^└───┘│
  2385.                         │  └─────────┘ └>│ ; ├─>│virtual├┬───────┘     │
  2386.                         │                └───┘  └───────┘│   ^         │
  2387.                         │                                │   └────────┐│
  2388.                         │                                │ ┌─────────┐││
  2389.                         │                                └>│  µÑ½á∩  ├┘│
  2390.                         │                                  │¬«¡ßΓá¡Γá│ │
  2391.                         │                                  └─────────┘ │
  2392.                         └──────────────────────────────────────────────┘
  2393.  
  2394.                                    ┌────────────────────────┐
  2395.          ºáú«½«ó«¬ ¼ÑΓ«ñá ────┬───>│ ºáú«½«ó«¬ »α«µÑñπαδ    ├──────>
  2396.                               │    └────────────────────────┘  ^
  2397.                               │    ┌────────────────────────┐  │
  2398.                               ├───>│ ºáú«½«ó«¬ Σπ¡¬µ¿¿      ├──┤
  2399.                               │    └────────────────────────┘  │
  2400.                               │    ┌────────────────────────┐  │
  2401.  
  2402.          B.Pascal 7 & Objects/LR      - 52 -
  2403.  
  2404.                               ├───>│ ºáú«½«ó«¬ ¬«¡ßΓαπ¬Γ«αá ├──┤
  2405.                               │    └────────────────────────┘  │
  2406.                               │    ┌────────────────────────┐  │
  2407.                               └───>│ ºáú«½«ó«¬ ñÑßΓαπ¬Γ«αá  ├──┘
  2408.                                    └────────────────────────┘
  2409.  
  2410.              æ½ÑñπεΘ¿⌐ ¿ßσ«ñ¡δ⌐  ¬«ñ  »α¿ó«ñ¿Γ »α¿¼Ñα «»¿ßá¡¿∩ «íΩÑ¬Γ¡«ú«
  2411.         Γ¿»á.  äá½ÑÑ ó« óßÑ⌐ φΓ«⌐ ú½áóÑ ¡á ñá¡¡«Ñ «»¿ßá¡¿Ñ íπñπΓ ñѽáΓ∞ß∩
  2412.         ßß佬¿.
  2413.  
  2414.              type
  2415.                Point = object
  2416.                X, Y: integer;
  2417.              end;
  2418.  
  2419.              Rect = object
  2420.                A, B: TPoint;
  2421.                procedure Init(XA, YA, XB, YB: Integer);
  2422.                procedure Copy(var R: TRectangle);
  2423.                procedure Move(DX, DY: Integer);
  2424.                procedure Grow(DX, DY: Integer);
  2425.                procedure Intersect(var R: TRectangle);
  2426.                procedure Union(var R: TRectangle);
  2427.                function Contains(P: Point): Boolean;
  2428.              end;
  2429.  
  2430.              StringPtr = ^String;
  2431.              FieldPtr = ^TField;
  2432.  
  2433.              TField = object
  2434.                X, Y, Len: Integer;
  2435.                Name: StringPtr;
  2436.                constructor Copy(var F: TField);
  2437.                constructor Init(FX, FY, FLen: Integer; FName: String);
  2438.                destructor Done; virtual;
  2439.                procedure Display; virtual;
  2440.                procedure Edit; virtual;
  2441.                function GetStr: String; virtual;
  2442.                function PutStr(S: String): Boolean; virtual;
  2443.              end;
  2444.  
  2445.              StrFieldPtr = ^TStrField;
  2446.  
  2447.              StrField = object(TField)
  2448.                Value: PString;
  2449.                constructor Init(FX, FY, FLen: Integer; FName: String);
  2450.                destructor Done; virtual;
  2451.                function GetStr: String; virtual;
  2452.                function PutStr(S: String): Boolean;
  2453.                virtual;
  2454.                function Get: string;
  2455.                procedure Put(S: String);
  2456.              end;
  2457.  
  2458.          B.Pascal 7 & Objects/LR      - 53 -
  2459.  
  2460.  
  2461.              NumFieldPtr = ^TNumField;
  2462.  
  2463.              TNumField = object(TField)
  2464.              private
  2465.                Value, Min, Max: Longint;
  2466.              public
  2467.                constructor Init(FX, FY, FLen: Integer; FName: String;
  2468.                                 FMin, FMax: Longint);
  2469.                 function GetStr: String; virtual;
  2470.                 function PutStr(S: String): Boolean; virtual;
  2471.                 function Get: Longint;
  2472.                 function Put(N: Longint);
  2473.              end;
  2474.  
  2475.              ZipFieldPtr = ^TZipField;
  2476.  
  2477.              ZipField = object(TNumField)
  2478.              function GetStr: String; virtual;
  2479.              function PutStr(S: String): Boolean;
  2480.              virtual;
  2481.              end;
  2482.  
  2483.              é «Γ½¿τ¿Ñ «Γ ñαπú¿σ Γ¿»«ó,  «íΩÑ¬Γ¡δÑ Γ¿»δ ¼«úπΓ «»¿ßδóáΓ∞ß∩
  2484.         Γ«½∞¬«  ó  αáºñѽѠ «»¿ßá¡¿⌐ Γ¿»«ó,  ¡áσ«ñ∩ΘѼß∩ ¡á ßἫ¼ ó¡ÑΦ¡Ñ¼
  2485.         πα«ó¡Ñ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ »α«úαá¼¼δ ¿½¿ ¼«ñπ½∩. Æá¬¿¼ «íαẫ¼, «íΩ-
  2486.         Ñ¬Γ¡δÑ  Γ¿»δ  ¡Ñ  ¼«úπΓ «»¿ßδóáΓ∞ß∩ ó αáºñѽѠ«»¿ßá¡¿⌐ »ÑαѼѡ¡δσ
  2487.         ¿½¿ ó¡πΓα¿ í½«¬á »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá.
  2488.  
  2489.              Æ¿» ¬«¼»«¡Ñ¡Γδ  Σá⌐½«ó«ú«  Γ¿»á ¡Ñ ¼«ªÑΓ ¿¼ÑΓ∞ «íΩÑ¬Γ¡δ⌐ Γ¿»
  2490.         ¿½¿ ½εí«⌐ ßΓαπ¬Γπα¡δ⌐ Γ¿», ß«ñÑαªáΘ¿⌐ ¬«¼»«¡Ñ¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á.
  2491.  
  2492.  
  2493.  
  2494.          B.Pascal 7 & Objects/LR      - 54 -
  2495.  
  2496.                           è«¼»«¡Ñ¡Γδ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩
  2497.         ─────────────────────────────────────────────────────────────────
  2498.  
  2499.              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¬«¼»«¡Ñ¡Γδ  »α«ßΓ¿αáÑΓß∩  ºá
  2500.         »αÑñÑ½δ «íΩÑ¬Γ¡«ú« Γ¿»á. ü«½ÑÑ Γ«ú«, «í½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬á-
  2501.         Γ«αá ¬«¼»«¡Ñ¡Γá  »α«ßΓ¿αáÑΓß∩  ß¬ó«º∞  í½«¬¿  »α«µÑñπα,  Σπ¡¬µ¿⌐,
  2502.         ¬«¡ßΓαπ¬Γ«α«ó ¿ ñÑßΓαπ¬Γ«α«ó, ¬«Γ«αδÑ αÑ὿ºπεΓ ¼ÑΓ«ñδ «íΩÑ¬Γ¡«ú«
  2503.         Γ¿»á ¿ Ñú« ¡áß½Ññ¡¿¬«ó.  êßσ«ñ∩ ¿º  φΓ¿σ  ß««íαáªÑ¡¿⌐,  ¡á»¿ßá¡¿Ñ
  2504.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¬«¼»«¡Ñ¡Γδ ñ«½ª¡« íδΓ∞ π¡¿¬á½∞¡δ¼ ó¡πΓα¿ «íΩÑ¬Γ¡«-
  2505.         ú« Γ¿»á ¿ ó¡πΓα¿ óßÑσ Ñú« ¡áß½Ññ¡¿¬«ó,  á ΓᬪѠó¡πΓα¿  óßÑσ  Ñú«
  2506.         ¼ÑΓ«ñ«ó.
  2507.  
  2508.              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá  ¬«¼»«¡Ñ¡Γá,  «»¿ßá¡¡«ú«  ó
  2509.         τáßΓ¿ private «»¿ßá¡¿∩ Γ¿»á, «úαá¡¿τ¿óáÑΓß∩ ¼«ñπ½Ñ¼ (»α«úαá¼¼«⌐),
  2510.         ¬«Γ«αá∩ ß«ñÑαª¿Γ «»¿ßá¡¿Ñ «íΩÑ¬Γ¡«ú« Γ¿»á. äαπú¿¼¿ ß½«óἿ, τáßΓ-
  2511.         ¡δÑ (private) ¬«¼»«¡Ñ¡Γδ-¿ñÑ¡Γ¿Σ¿¬áΓ«αδ  ñÑ⌐ßΓóπεΓ,  ¬á¬  «íδτ¡δÑ
  2512.         «íΘÑñ«ßΓπ»¡δÑ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ  ó αἬáσ ¼«ñπ½∩,  ¬«Γ«αδ⌐ ß«ñÑনΓ
  2513.         «»¿ßá¡¿Ñ «íΩÑ¬Γ¡«ú« Γ¿»á, á ó¡Ñ ¼«ñπ½∩ ½εíδÑ τáßΓ¡δÑ ¬«¼»«¡Ñ¡Γδ ¿
  2514.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ  ¡Ñ¿ºóÑßΓ¡δ  ¿ ¡Ññ«ßΓπ»¡δ.  Å«¼ÑßΓ¿ó ó «ñ¿¡ ¼«ñπ½∞
  2515.         ßó∩ºá¡¡δÑ Γ¿»δ «íΩÑ¬Γ«ó,  ¼«ª¡« ßñѽáΓ∞ Γá¬, τΓ« φΓ¿ «íΩѬΓδ ß¼«-
  2516.         úπΓ  «íαáΘáΓ∞ß∩  ¬ τáßΓ¡δ¼ ¬«¼»«¡Ñ¡Γá¼ ñαπú ñαπúá,  ¿ φΓ¿ τáßΓ¡δÑ
  2517.         ¬«¼»«¡Ñ¡Γδ íπñπΓ ¡Ñ¿ºóÑßΓ¡δ ñαπú¿¼ ¼«ñπ½∩¼.
  2518.  
  2519.              é «»¿ßá¡¿¿ «íΩÑ¬Γ¡«ú« Γ¿»á ºáú«½«ó«¬ ¼ÑΓ«ñá  ¼«ªÑΓ  ºáñáóáΓ∞
  2520.         »áαá¼ÑΓαδ «»¿ßδóáѼ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á, ñáªÑ Ñß½¿ «»¿ßá¡¿Ñ ÑΘÑ ¡Ñ
  2521.         »«½¡«Ñ. ¥Γ« ¿½½εßΓα¿απÑΓß∩ ¼ÑΓ«ñἿ Copy,  Intersect ¿ Union Γ¿»á
  2522.         TRectange ó »αÑñδñπΘѼ »α¿¼ÑαÑ.
  2523.  
  2524.                                      îÑΓ«ñδ
  2525.         ─────────────────────────────────────────────────────────────────
  2526.  
  2527.              Ä»¿ßá¡¿Ñ ¼ÑΓ«ñá  ó¡πΓα¿ «íΩÑ¬Γ¡«ú« Γ¿»á ß««ΓóÑΓßΓóπÑΓ «»ÑαÑ-
  2528.         ªáεΘÑ¼π «»¿ßá¡¿ε ¼ÑΓ«ñá (forward). Æá¬¿¼ «íαẫ¼, úñÑ-¡¿íπñ∞ »«ß-
  2529.         ½Ñ «»¿ßá¡¿∩ «íΩÑ¬Γ¡«ú« Γ¿»á, ¡« ó¡πΓα¿ Γ«⌐ ªÑ ßἫ⌐ «í½áßΓ¿ ñÑ⌐ß-
  2530.         Γó¿∩, τΓ« ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩ «»¿ßá¡¿∩ «íΩÑ¬Γ¡«ú« Γ¿»á, ¼ÑΓ«ñ ñ«½-
  2531.         ªÑ¡ αÑ὿º«óáΓ∞ß∩ »πΓѼ «»αÑñѽѡ¿∩ Ñú« «»¿ßá¡¿∩.
  2532.  
  2533.              àß½¿ ΓαÑíπÑΓß∩ π¡¿¬á½∞¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá, Γ« ¿ß»«½∞ºπ-
  2534.         ÑΓß∩ πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá. Ä¡ ß«ßΓ«¿Γ ¿º ¿ñÑ¡Γ¿Σ¿¬áΓ«-
  2535.         αá Γ¿»á «íΩѬΓá, ºá ¬«Γ«αδ¼ ß½ÑñπεΓ Γ«τ¬á ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá.
  2536.         èᬠ¿ ½εí«¼π ñαπú«¼π ¿ñÑ¡Γ¿Σ¿¬áΓ«απ,  ¿ñÑ¡Γ¿Σ¿¬áΓ«απ  πΓ«τ¡Ñ¡¡«ú«
  2537.         ¼ÑΓ«ñá, Ñß½¿ ΓαÑíπÑΓß∩, ¼«úπΓ »αÑñΦÑßΓó«óáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »á¬ÑΓá
  2538.         ¿ Γ«τ¬á.
  2539.  
  2540.          πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá
  2541.          │  ┌─────────────────────────────┐ ┌───┐ ┌────────────────────┐
  2542.          └─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α «íΩÑ¬Γ¡«ú« Γ¿»á├>│ . ├>│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá├>
  2543.             └─────────────────────────────┘ └───┘ └────────────────────┘
  2544.  
  2545.                                é¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ
  2546.         ─────────────────────────────────────────────────────────────────
  2547.  
  2548.              Å« π¼«½τá¡¿ε,  ¼ÑΓ«ñδ ∩ó½∩εΓß∩ ßΓáΓ¿τÑ߬¿¼¿,  «ñ¡á¬« «¡¿ ¼«-
  2549.  
  2550.          B.Pascal 7 & Objects/LR      - 55 -
  2551.  
  2552.         úπΓ, ºá ¿ß¬½ετÑ¡¿Ñ¼ ¬«¡ßΓαπ¬Γ«α«ó, íδΓ∞ ó¿αΓπá½∞¡δ¼¿ (»«ßαÑñßΓó«¼
  2553.         ó¬½ετÑ¡¿∩ ñ¿αÑ¬Γ¿óδ virtual ó «»¿ßá¡¿Ñ ¼ÑΓ«ñá). è«¼»¿½∩Γ«α αáºαÑ-
  2554.         ΦáÑΓ ßß佬¿ ¡á ó맮óδ ßΓáΓ¿τÑ߬¿σ ¼ÑΓ«ñ«ó ó« óαѼ∩ »α«µÑßßá  ¬«¼-
  2555.         »¿½∩µ¿¿, Γ«úñᠬᬠó맮óδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó αáºαÑΦáεΓß∩ ó« óαÑ-
  2556.         ¼∩ óδ»«½¡Ñ¡¿∩. ¥Γ« ¿¡«úñá ¡áºδóáεΓ »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ.
  2557.  
  2558.              àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» «íΩ∩ó½∩ÑΓ ¿½¿ ¡áß½ÑñπÑΓ ¬á¬«⌐-½¿í« ó¿αΓπ-
  2559.         á½∞¡δ⌐ ¼ÑΓ«ñ,  Γ« »ÑαѼѡ¡δÑ φΓ«ú« Γ¿»á ñ«½ª¡δ íδΓ∞ ¿¡¿µ¿á½¿º¿α«-
  2560.         óá¡δ  »«ßαÑñßΓó«¼ ó맮óá ¬«¡ßΓαπ¬Γ«αá »ÑαÑñ óδº«ó«¼ ½εí«ú« ó¿αΓπ-
  2561.         á½∞¡«ú« ¼ÑΓ«ñá.  Æá¬¿¼ «íαẫ¼,  «íΩÑ¬Γ¡δ⌐ Γ¿», ¬«Γ«αδ⌐ «»¿ßδóáÑΓ
  2562.         ¿½¿ ¡áß½ÑñπÑΓ ó¿αΓπá½∞¡δ⌐ ¼ÑΓ«ñ,  ñ«½ªÑ¡ ΓᬪѠ«»¿ßδóáΓ∞ ¿½¿ ¡áß-
  2563.         ½Ññ«óáΓ∞ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ ¼ÑΓ«ñ-¬«¡ßΓαπ¬Γ«α.
  2564.  
  2565.              ÄíΩÑ¬Γ¡δ⌐ Γ¿» ¼«ªÑΓ »ÑαÑ«»αÑñѽ∩Γ∞ ½εí«⌐ ¿º ¼ÑΓ«ñ«ó, ¬«Γ«αδÑ
  2566.         «¡  ¡áß½ÑñπÑΓ «Γ ßó«¿σ α«ñ¿ΓѽÑ⌐.  àß½¿ «»¿ßá¡¿Ñ ¼ÑΓ«ñá ó »«Γ«¼¬Ñ
  2567.         π¬áºδóáÑàëàªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá,  τΓ« ¿ «»¿ßá¡¿Ñ  ¼ÑΓ«ñá  ó
  2568.         α«ñ¿ΓѽÑ, Γ« «»¿ßá¡¿Ñ ó »«Γ«¼¬Ñ »ÑαÑ«»αÑñѽ∩ÑΓ «»¿ßá¡¿Ñ ó α«ñ¿ΓÑ-
  2569.         ½Ñ. Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ »ÑαÑ«»αÑñѽ∩εΘÑú« ¼ÑΓ«ñá αáßΦ¿α∩ÑΓß∩ ñ« ßΣÑ-
  2570.         αδ ñÑ⌐ßΓó¿∩ »«Γ«¼¬á, ó ¬«Γ«α«¼ φëà¼ÑΓ«ñ íδ½ óóÑñÑ¡, ¿ íπñÑΓ «ß-
  2571.         ΓáóáΓ∞ß∩ Γᬫó«⌐,  »«¬á ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá ¡Ñ íπñÑΓ »ÑαÑ«»αÑñÑ-
  2572.         ½Ñ¡ ß¡«óá.
  2573.  
  2574.              ÅÑαÑ«»αÑñѽѡ¿Ñ ßΓáΓ¿τÑ߬«ú«  ¼ÑΓ«ñá ¡Ñ ºáó¿ß¿Γ «Γ ¿º¼Ñ¡Ñ¡¿∩
  2575.         ºáú«½«ó¬á ¼ÑΓ«ñá. é »α«Γ¿ó«»«½«ª¡«ßΓ∞ φΓ«¼π, »ÑαÑ«»αÑñѽѡ¿Ñ ó¿α-
  2576.         Γπá½∞¡«ú« ¼ÑΓ«ñá ñ«½ª¡« ß«σαá¡∩Γ∞ »«α∩ñ«¬,  Γ¿»δ ¿ ¿¼Ñ¡á »áαá¼ÑΓ-
  2577.         α«ó,  á Γá¬ªÑ Γ¿»δ αѺπ½∞ΓáΓ«ó Σπ¡¬µ¿⌐, Ñß½¿ ΓᬫóδÑ ¿¼ÑεΓß∩. ü«-
  2578.         ½ÑÑ  Γ«ú«,  »ÑαÑ«»αÑñѽѡ¿Ñ  «»∩Γ∞  ªÑ  ñ«½ª¡« ó¬½ετáΓ∞ ñ¿αÑ¬Γ¿óπ
  2579.         virtual.
  2580.  
  2581.  
  2582.  
  2583.          B.Pascal 7 & Objects/LR      - 56 -
  2584.  
  2585.                                ä¿¡á¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ
  2586.         ─────────────────────────────────────────────────────────────────
  2587.  
  2588.              Borland Pascal »«ññÑনóáÑΓ ñ«»«½¡¿Γѽ∞¡δÑ ¼ÑΓ«ñδ ß  »«ºñ¡¿¼
  2589.         ßó∩ºδó᡿Ѽ, ¬«Γ«αδÑ  ¡áºδóáεΓß∩ ñ¿¡á¼¿τÑ߬¿¼¿ ¼ÑΓ«ñἿ.  ä¿¡á¼¿-
  2590.         τÑ߬¿Ñ ¼ÑΓ«ñδ «Γ½¿τáεΓß∩ «Γ ó¿αΓπá½∞¡δσ Γ«½∞¬« σáαá¬ΓÑα«¼ ¿σ ñ¿ß-
  2591.         »ÑΓτÑα¿ºáµ¿¿ ¡á φΓá»Ñ óδ»«½¡Ñ¡¿∩. é« óßÑσ ñαπú¿σ «Γ¡«ΦÑ¡¿∩σ ñ¿¡á-
  2592.         ¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ ßτ¿ΓáεΓß∩ φ¬ó¿óá½Ñ¡Γ¡δ¼¿ ó¿αΓπá½∞¡δ¼.
  2593.  
  2594.              Ä»¿ßá¡¿Ñ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá φ¬ó¿óá½Ñ¡Γ¡«  «»¿ßá¡¿ε  ó¿αΓπ-
  2595.         á½∞¡«ú« ¼ÑΓ«ñá,  ¡« «»¿ßá¡¿Ñ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ñ«½ª¡« ó¬½ετáΓ∞
  2596.         ó ßÑí∩ ¿¡ñѬߠñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá,  ¬«Γ«αδ⌐  π¬áºδóáÑΓß∩  ¡Ñ»«ß-
  2597.         αÑñßΓóÑ¡¡« ºá ¬½ετÑóδ¼ ß½«ó«¼ virtual. ê¡ñѬߠñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«-
  2598.         ñá  ñ«½ªÑ¡  íδΓ∞  µÑ½«τ¿ß½Ñ¡¡«⌐  ¬«¡ßΓá¡Γ«⌐  ó  ñ¿á»áº«¡Ñ «Γ 1 ñ«
  2599.         656535 ¿ ñ«½ªÑ¡ íδΓ∞ π¡¿¬á½∞¡δ¼ ßαÑñ¿ ¿¡ñѬ߫ó ñαπú¿σ  ñ¿¡á¼¿τÑß-
  2600.         ¬¿σ ¼ÑΓ«ñ«ó,  ß«ñÑαªáΘ¿σß∩ ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ ¿½¿ Ñú« »αÑñ¬áσ. ìá»-
  2601.         α¿¼Ñα:
  2602.  
  2603.              procedure FileOpen(var Msg: TMessage); virtual 100;
  2604.  
  2605.              ÅÑαÑ«»αÑñѽѡ¿Ñ ñ¿¡á¼¿τÑ߬«ú«  ¼ÑΓ«ñá ñ«½ª¡« ß««ΓóÑΓßΓó«óáΓ∞
  2606.         »«α∩ñ¬π, Γ¿»á ¿ ¿¼Ñ¡á¼ »áαá¼ÑΓα«ó ¿  Γ«τ¡«  ß««ΓóÑΓßΓó«óáΓ∞  Γ¿»π
  2607.         αѺπ½∞ΓáΓá Σπ¡¬µ¿¿  »«α«ªñáεΘÑú«  ¼ÑΓ«ñá.  ÅÑαÑ«»αÑñѽѡ¿Ñ  ΓᬪÑ
  2608.         ñ«½ª¡« ó¬½ετáΓ∞ ó ßÑí∩ ñ¿αÑ¬Γ¿óπ virtual,  ºá ¬«Γ«α«⌐ ß½ÑñπÑΓ Γ«Γ
  2609.         ªÑ ¿¡ñѬߠñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá, ¬«Γ«αδ⌐ íδ½ ºáñá¡ ó «íΩÑ¬Γ¡«¼ Γ¿-
  2610.         »Ñ »αÑñ¬á.
  2611.  
  2612.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ « ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñáσ ¿ «  αáº-
  2613.               ¡¿µÑ  ó  ñ¿ß»ÑΓτÑα¿ºáµ¿¿ ñ¿¡á¼¿τÑ߬¿σ ¿ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
  2614.               αáß߬áºδóáÑΓß∩ ó â½áóÑ 22.
  2615.  
  2616.  
  2617.  
  2618.          B.Pascal 7 & Objects/LR      - 57 -
  2619.  
  2620.                           æ«ºñá¡¿Ñ φ¬ºÑ¼»½∩α«ó «íΩÑ¬Γ«ó
  2621.         ─────────────────────────────────────────────────────────────────
  2622.  
  2623.              ¥¬ºÑ¼»½∩α «íΩѬΓá  ß«ºñáÑΓß∩ »«ßαÑñßΓó«¼ «»¿ßá¡¿Ñ »ÑαѼѡ¡«⌐
  2624.         ¿½¿ ¬«¡ßΓá¡Γδ  «íΩÑ¬Γ¡«ú«  Γ¿»á  ¿½¿ »πΓѼ »α¿¼Ñ¡Ñ¡¿∩ ßΓá¡ñáαΓ¡«⌐
  2625.         »α«µÑñπαδ New ¬ »ÑαѼѡ¡«⌐ Γ¿»á π¬áºáΓѽ∞ ¡á «íΩÑ¬Γ¡δ⌐  Γ¿».  ÉÑ-
  2626.         ºπ½∞Γ¿απεΘ¿⌐ «íΩÑ¬Γ ¡áºδóáÑΓß∩ φ¬ºÑ¼»½∩α«¼ «íΩÑ¬Γ¡«ú« Γ¿»á.
  2627.  
  2628.              var
  2629.              F: TField;
  2630.              Z: TZipField;
  2631.              FP: PField;
  2632.              ZP: PZipField;
  2633.  
  2634.              æ πτÑΓ«¼ φΓ¿σ «»¿ßá¡¿Ñ  »ÑαѼѡ¡δσ  F  ∩ó½∩ÑΓß∩  φ¬ºÑ¼»½∩α«¼
  2635.         TField, á Z - φ¬ºÑ¼»½∩α«¼ TZipField. Ç¡á½«ú¿τ¡«, »«ß½Ñ »α¿¼Ñ¡Ñ¡¿∩
  2636.         New ¬ FP ¿ ZP,  FP íπñÑΓ π¬áºδóáΓ∞ ¡á φ¬ºÑ¼»½∩α TField, á ZP - ¡á
  2637.         φ¬ºÑ¼»½∩α TZipField.
  2638.  
  2639.              àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ß«ñÑαª¿Γ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ, Γ« φ¬ºÑ¼»½∩-
  2640.         αδ  φΓ«ú«  «íΩÑ¬Γ¡«ú«  Γ¿»á ñ«½ª¡δ ¿¡¿µ¿á½¿º¿α«óáΓ∞ß∩ »«ßαÑñßΓó«¼
  2641.         ó맮óá ¬«¡ßΓαπ¬Γ«αá »ÑαÑñ óδº«ó«¼ ½εí«ú« ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá. ì¿-
  2642.         ªÑ »α¿óÑñÑ¡ »α¿¼Ñα:
  2643.  
  2644.              var
  2645.                S: StrField;
  2646.              begin
  2647.                S.Init (1, 1, 25, 'ÅÑαó«Ñ ¿¼∩');
  2648.                S.Put ('öαÑ¡¬');
  2649.                S.Display;
  2650.                ...
  2651.                S.Done;
  2652.              end;
  2653.  
  2654.              àß½¿ S.Init ¡Ñ óδºδóá½ß∩, Γ« ó맮ó S.Display »α¿óÑñÑΓ ¬ ¡Ñπ-
  2655.         ñáτ¡«¼π ºáóÑαΦÑ¡¿ε ñá¡¡«ú« »α¿¼Ñαá.
  2656.  
  2657.              Åα¿ßóá¿óá¡¿Ñ φ¬ºÑ¼»½∩αá  «íΩÑ¬Γ¡«ú«  Γ¿»á  ¡Ñ  »«ñαáºπ¼ÑóáÑΓ
  2658.         ¿¡¿µ¿á½¿ºáµ¿¿ φ¬ºÑ¼»½∩αá.
  2659.  
  2660.              ÄíΩÑ¬Γ ¿¡¿µ¿á½¿º¿απÑΓß∩  ¬«ñ«¼,  úÑ¡Ñα¿απÑ¼δ¼  ¬«¼»¿½∩Γ«α«¼,
  2661.         ¬«Γ«αδ⌐ óδ»«½¡∩ÑΓß∩ ¼Ñªñπ óδº«ó«¼ ¬«¡ßΓαπ¬Γ«αá,  ¿ ¬«úñá óδ»«½¡Ñ-
  2662.         ¡¿Ñ Σá¬Γ¿τÑ߬¿ ñ«ßΓ¿úáÑΓ »Ñαó«ú« «»ÑαáΓ«αá ó í½«¬Ñ ¬«ñá ¬«¡ßΓαπ¬-
  2663.         Γ«αá.
  2664.  
  2665.              àß½¿ φ¬ºÑ¼»½∩α «íΩѬΓá ¡Ñ ¿¡¿µ¿á½¿º¿απÑΓß∩,  ¿ »α«óÑα¬á ñ¿á-
  2666.         »áº«¡á ó¬½ετÑ¡á (ñ¿αÑ¬Γ¿ó«⌐ {$R+}),  Γ« »Ñαóδ⌐ ó맮ó ó¿αΓπá½∞¡«ú«
  2667.         ¼ÑΓ«ñá φ¬ºÑ¼»½∩αá «íΩѬΓá ñáÑΓ «Φ¿í¬π φΓá»á óδ»«½¡Ñ¡¿∩. àß½¿ »α«-
  2668.         óÑα¬á ñ¿á»áº«¡á ó䬽ετÑ¡á (ñ¿αÑ¬Γ¿ó«⌐ {$R-}), Γ« »Ñαóδ⌐ ó¿αΓπá½∞-
  2669.         ¡«ú« ¼ÑΓ«ñá ¡Ñ¿¡¿µ¿á½¿º¿α«óá¡¡«ú« «íΩѬΓá ¼«ªÑΓ »α¿óÑßΓ¿  ¬  ¡Ñ»-
  2670.         αÑñ߬áºπѼ«¼π »«óÑñÑ¡¿ε.
  2671.  
  2672.              Åαá󿽫 «í∩ºáΓѽ∞¡«⌐ ¿¡¿µ¿á½¿ºáµ¿¿ »α¿¼Ñ¡¿¼« ΓᬪѠ¬ φ¬ºÑ¼»-
  2673.  
  2674.          B.Pascal 7 & Objects/LR      - 58 -
  2675.  
  2676.         ½∩αá¼, ¬«Γ«αδÑ ∩ó½∩εΓß∩ ¬«¼»«¡Ñ¡ΓἿ ßΓαπ¬Γπα¡δσ Γ¿»«ó. ìá»α¿¼Ñα:
  2677.  
  2678.              var
  2679.                 Comment: array [1..5] of TStrField;
  2680.                 I: integer;
  2681.              begin
  2682.                 for I := 1 to 5 do
  2683.                 Comment [I].Init (1, I + 10, 40, '»Ñαó«Ñ_¿¼∩');
  2684.                    .
  2685.                    .
  2686.                    .
  2687.                 for I := 1 to 5 do Comment [I].Done;
  2688.              end;
  2689.  
  2690.              ä½∩ ñ¿¡á¼¿τÑ߬¿σ  φ¬ºÑ¼»½∩α«ó  ¿¡¿µ¿á½¿ºáµ¿∩,  ¬á¬  »αá󿽫,
  2691.         ßó∩ºá¡á ß αẼÑΘÑ¡¿Ñ¼,  á «τ¿ßΓ¬á - ß πñá½Ñ¡¿Ñ¼,  τΓ« ñ«ßΓ¿úáÑΓß∩
  2692.         í½áú«ñáα∩ αáßΦ¿αÑ¡¡«¼π  ß¿¡Γá¬ß¿ßπ  ßΓá¡ñáαΓ¡δσ  »α«µÑñπα  New  ¿
  2693.         Dispose. ìá»α¿¼Ñα:
  2694.  
  2695.              var
  2696.                SP: StrFieldPtr;
  2697.              begin
  2698.                New (SP, Init (1, 1, 25, '»Ñαó«Ñ_¿¼∩');
  2699.                SP^.Put ('öαÑ¡¬');
  2700.                SP^.Display;
  2701.                    .
  2702.                    .
  2703.                    .
  2704.                Dispose (SP, Done);
  2705.              end;
  2706.  
  2707.              ô¬áºáΓѽ∞ ¡á «íΩÑ¬Γ¡δ⌐ Γ¿» ∩ó½∩ÑΓß∩ ß«ó¼ÑßΓ¿¼δ¼ »«  »α¿ßóá¿-
  2708.         óá¡¿ε ß π¬áºáΓѽѼ ¡á ½εí«⌐ α«ñ¿Γѽ∞߬¿⌐ «íΩÑ¬Γ¡δ⌐  Γ¿»,  »«φΓ«¼π
  2709.         ó«  óαѼ∩  óδ»«½¡Ñ¡¿∩  »α«úαá¼¼δ π¬áºáΓѽ∞ ¡á «íΩÑ¬Γ¡δ⌐ Γ¿» ¼«ªÑΓ
  2710.         π¬áºδóáΓ∞ ¡á φ¬ºÑ¼»½∩α φΓ«ú« Γ¿»á ¿½¿ ¡á φ¬ºÑ¼»½∩α ½εí«ú«  ñ«τÑα-
  2711.         ¡Ñú« Γ¿»á.
  2712.  
  2713.              ìá»α¿¼Ñα, π¬áºáΓѽ∞  Γ¿»á  ZipFieldPtr  ¼«ªÑΓ  »α¿ßóá¿óáΓ∞ß∩
  2714.         π¬áºáΓѽ∩¼ Γ¿»á PZipField,  PNumField ¿ PField, á ó« óαѼ∩ óδ»«½-
  2715.         ¡Ñ¡¿∩ »α«úαá¼¼δ π¬áºáΓѽ∞ Γ¿»á PField ¼«ªÑΓ ½¿í«  ¿¼ÑΓ∞  º¡áτÑ¡¿Ñ
  2716.         nil, ½¿í« π¬áºδóáΓ∞ ¡á φ¬ºÑ¼»½∩α TField, TNumField ¿½¿ TZipField,
  2717.         ¿½¿ ¡á ½εí«⌐ φ¬ºÑ¼»½∩α ñ«τÑα¡Ñú« »« «Γ¡«ΦÑ¡¿ε ¬ TField Γ¿»á.
  2718.  
  2719.              ¥Γ¿ »αáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ π¬áºáΓѽÑ⌐ »« »α¿ßóá¿óá¡¿ε  »α¿¼Ñ-
  2720.         ¡¿¼δ ΓᬪѠ¬ »áαá¼ÑΓαá¼-»ÑαѼѡ¡δ¼ «íΩÑ¬Γ¡«ú« Γ¿»á. ìá»α¿¼Ñα, ¼Ñ-
  2721.         Γ«ñπ TField.Copy  ¼«úπΓ  íδΓ∞  »ÑαÑñá¡δ  φ¬ºÑ¼»½∩αδ Γ¿»«ó TField,
  2722.         TStrField,  TNumField,  TZipField ¿½¿ ½εíδÑ ñαπú¿Ñ φ¬ºÑ¼»½∩αδ ñ«-
  2723.         τÑα¡Ñú« «Γ TField Γ¿»á.
  2724.  
  2725.  
  2726.  
  2727.          B.Pascal 7 & Objects/LR      - 59 -
  2728.  
  2729.                                Ç¬Γ¿ó¿ºáµ¿∩ ¼ÑΓ«ñ«ó
  2730.         ─────────────────────────────────────────────────────────────────
  2731.  
  2732.              îÑΓ«ñ á¬Γ¿ó¿º¿απÑΓß∩ »«ßαÑñßΓó«¼ «»ÑαáΓ«αá ó맮óá  »α«µÑñπαδ
  2733.         ¿½¿ Σπ¡¬µ¿¿, ß«ßΓ«∩ΘÑú« ¿º ñÑß¿ú¡áΓ«αá ¼ÑΓ«ñá, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ
  2734.         ß»¿ß«¬ »áαá¼ÑΓα«ó. Æá¬«⌐ Γ¿» ó맮óá ¡áºδóáÑΓß∩ á¬Γ¿ó¿ºáµ¿Ñ⌐ ¼ÑΓ«-
  2735.         ñá.
  2736.  
  2737.          ñÑß¿ú¡áΓ«α ¼ÑΓ«ñá
  2738.          │                                         ┌────────────────────┐
  2739.          └─┬──────────────────────────────────────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá├>
  2740.            │                                   ^   └────────────────────┘
  2741.            │ ┌──────────────────────┐ ┌───┐    │
  2742.            └>│ ßßδ½¬á ¡á »ÑαѼѡ¡πε ├>│ . ├────┘
  2743.              └──────────────────────┘ └───┘
  2744.  
  2745.              æßδ½¬á ¡á »ÑαѼѡ¡πε ºáñáÑΓß∩, Ñß½¿ ñÑß¿ú¡áΓ«α ¼ÑΓ«ñá ñ«½ªÑ¡
  2746.         «»¿ßδóáΓ∞ φ¬ºÑ¼»½∩α «íΩÑ¬Γ¡«ú« Γ¿»á,  á ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá ñ«½-
  2747.         ªÑ¡ «í«º¡áτáΓ∞ ¼ÑΓ«ñ φΓ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á.
  2748.  
  2749.              ¥¬ºÑ¼»½∩α, «í«º¡áτÑ¡¡δ⌐ ñÑß¿ú¡áΓ«α«¼ ¼ÑΓ«ñá,  ßΓá¡«ó¿Γß∩ ¡Ñ-
  2750.         ∩ó¡δ¼ Σá¬Γ¿τÑ߬¿¼ »áαá¼ÑΓα«¼ ¼ÑΓ«ñá; «¡ ß««ΓóÑΓßΓóπÑΓ Σ«α¼á½∞¡«¼π
  2751.         »áαá¼ÑΓαπ-»ÑαѼѡ¡«⌐ ß ¿¼Ñ¡Ñ¼ Self, ¬«Γ«αδ⌐ ó½áñÑÑΓ «íΩÑ¬Γ¡δ¼ Γ¿-
  2752.         »«¼, ß««ΓóÑΓßΓóπεΘ¿¼ á¬Γ¿ó¿º¿α«óá¡¡«¼π ¼ÑΓ«ñπ.
  2753.  
  2754.              ä½∩ ßΓáΓ¿τÑ߬¿σ  ¼ÑΓ«ñ«ó «»¿ßá¡¡δ⌐ Γ¿» (¡á φΓá»Ñ ¬«¼»¿½∩µ¿¿)
  2755.         «»αÑñѽ∩ÑΓ, ¬á¬«⌐ ¿º ¼ÑΓ«ñ«ó á¬Γ¿ó¿º¿απÑΓß∩. ìá»α¿¼Ñα, ñÑß¿ú¡áΓ«-
  2756.         αδ F.Init ¿ FP^.Init óßÑúñá  á¬Γ¿ó¿º¿απεΓ  TField.Init,  Γᬠ ¬á¬
  2757.         «»¿ßá¡¡δ¼ Γ¿»«¼ F ¿ FP^ ∩ó½∩ÑΓß∩ TField.
  2758.  
  2759.              ä½∩ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó óδí«α«¼ φ¬ºÑ¼»½∩αá π»αáó½∩ÑΓ  Σá¬Γ¿-
  2760.         τÑ߬¿⌐ Γ¿» (φΓá»á óδ»«½¡Ñ¡¿∩).  ìá»α¿¼Ñα,  ñÑß¿ú¡áΓ«α FP^.Display
  2761.         ¼«ªÑΓ á¬Γ¿ó¿º¿α«óáΓ∞  ¼ÑΓ«ñδ  TField.Display,  TStrField.Display,
  2762.         TNumField.Display ¿½¿ TZipField.Display (ó ºáó¿ß¿¼«ßΓ¿ «Γ  Σá¬Γ¿-
  2763.         τÑ߬«ú« Γ¿»á φ¬ºÑ¼»½∩αá, π¬áºδóáѼ«ú« FP).
  2764.  
  2765.              é «»ÑαáΓ«αÑ with,  ßßδ½áεΘѼß∩ ¡á φ¬ºÑ¼»½∩α «íΩÑ¬Γ¡«ú« Γ¿»á,
  2766.         ßßδ½¬á ¡á  »ÑαѼѡ¡πε  ó  ñÑß¿ú¡áΓ«αÑ ¼ÑΓ«ñá ¼«ªÑΓ «»π߬áΓ∞ß∩.  é
  2767.         φΓ«¼ ß½πτáÑ φ¬ºÑ¼»½∩α«¼, ¡á ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ «»ÑαáΓ«α with, ßΓá-
  2768.         ¡«ó¿Γß∩ ¡Ñ∩ó¡δ⌐  »áαá¼ÑΓα  Self  á¬Γ¿ó¿ºáµ¿¿ ¼ÑΓ«ñá.  Ç¡á½«ú¿τ¡«,
  2769.         ßßδ½¬á ¡Ñ »ÑαѼѡ¡πε ¼«ªÑΓ «»π߬áΓ∞ß∩ ó  ¼ÑΓ«ñÑ.  é  φΓ«¼  ß½πτáÑ
  2770.         »áαá¼ÑΓα«¼ Self ¼ÑΓ«ñá, ß«ñÑαªáΘÑú« ó맮ó, ßΓá¡«ó¿Γß∩ ¡Ñ∩ó¡δ⌐ »á-
  2771.         αá¼ÑΓα Self á¬Γ¿ó¿ºáµ¿¿ ¼ÑΓ«ñá.
  2772.  
  2773.  
  2774.  
  2775.          B.Pascal 7 & Objects/LR      - 60 -
  2776.  
  2777.                          Ç¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó
  2778.         ─────────────────────────────────────────────────────────────────
  2779.  
  2780.              é ¼ÑΓ«ñÑ, «»ÑαáΓ«αÑ ó맮óá Σπ¡¬µ¿¿ ¿½¿ »α«µÑñπαδ ñ½∩ «í«º¡á-
  2781.         τÑ¡¿∩ á¬Γ¿ó¿ºáµ¿¿ ¬«¡¬αÑΓ¡«ú«  ¼ÑΓ«ñá  ñ«»π߬áÑΓß∩  ¿ß»«½∞º«óá¡¿Ñ
  2782.         ñÑß¿ú¡áΓ«αá πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá. Æá¬«⌐ Γ¿» ó맮óá ¡áºδóáÑΓß∩ á¬Γ¿-
  2783.         ó¿ºáµ¿Ñ⌐ πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá.
  2784.  
  2785.          ñÑß¿ú¡áΓ«α πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá
  2786.          │   ┌──────────────────────┐ ┌───┐        ┌────────────────────┐
  2787.          └─┬>│    ¿ñÑ¡Γ¿Σ¿¬áΓ«α     ├>│ . ├───────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá├>
  2788.            │ │   «íΩÑ¬Γ¡«ú« Γ¿»á    │ └───┘    ^   └────────────────────┘
  2789.            │ └──────────────────────┘          │
  2790.            │ ┌──────────────────────┐          │
  2791.            └>│      inherited       ├──────────┘
  2792.              └──────────────────────┘
  2793.  
  2794.              ÄíΩÑ¬Γ¡δ⌐ Γ¿»,  ºáñá¡¡δ⌐  ó  ñÑß¿ú¡áΓ«αÑ πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá,
  2795.         ñ«½ªÑ¡ íδΓ∞ Γᬿ¼ ªÑ,  ¬á¬ ¿ ó¬½ετáεΘ¿⌐ ¼ÑΓ«ñ «íΩÑ¬Γ¡δ⌐ Γ¿»,  ¿½¿
  2796.         ß««ΓóÑΓßΓó«óáΓ∞ α«ñ¿Γѽ∞߬«¼π Γ¿»π.
  2797.  
  2798.              ä½∩ «í«º¡áτÑ¡¿∩ α«ñ¿Γѽ∞߬«ú« «íΩÑ¬Γ¡«ú« Γ¿»á ¿½¿ «íΩÑ¬Γ¡«ú«
  2799.         Γ¿»á, ó¬½ετáεΘÑú«   ¼ÑΓ«ñ,   ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ¬½ετÑó«Ñ  ß½«ó«
  2800.         inherited;  ó ¼ÑΓ«ñáσ «íΩÑ¬Γ¡«ú« Γ¿»á, ¡Ñ ¿¼ÑεΘÑú« »αÑñ¬á, ¬½ετÑ-
  2801.         ó«Ñ ß½«ó« inherited ¿ß»«½∞º«óáΓ∞ß∩ ¡Ñ ¼«ªÑΓ.
  2802.  
  2803.              ìÑ∩ó¡δ⌐ »áαá¼ÑΓα Self á¬Γ¿ó¿ºáµ¿¿ πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá  ßΓá¡«-
  2804.         ó¿Γß∩ »áαá¼ÑΓα«¼  Self  ¼ÑΓ«ñá,  ß«ñÑαªáΘÑú«  ó맮ó.  Ç¬Γ¿ó¿ºáµ¿∩
  2805.         πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó  ¡Ñ  »αÑñπß¼áΓα¿óáÑΓ ¼Ñσá¡¿º¼á ñ¿ß»ÑΓτÑα¿ºáµ¿¿
  2806.         ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó - ó맮ó íπñÑΓ óßÑúñá ßΓáΓ¿τÑ߬¿¼ ¿ óßÑúñá óδ-
  2807.         ºδóáÑΓ ºáñá¡¡δ⌐ ¼ÑΓ«ñ.
  2808.  
  2809.              Ç¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá ¿ß»«½∞ºπÑΓß∩ «íδτ¡« ó »ÑαÑ«»-
  2810.         αÑñѽ∩εΘѼ ¼ÑΓ«ñÑ  ñ½∩  á¬Γ¿ó¿ºáµ¿¿  »ÑαÑ«»αÑñѽ∩εΘÑú« ¼ÑΓ«ñá.  æ
  2811.         πτÑΓ«¼ «»¿ßá¡¡δσ óδΦÑ Γ¿»«ó »α¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ  á¬Γ¿ó¿ºá-
  2812.         µ¿¿ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó:
  2813.  
  2814.              constructor TNumField.Init(Fx, FY, Flen: Integer;
  2815.                FName: String; FMin, FMax: Longint);
  2816.              begin
  2817.                inherited Init(FX, FY, FLen, FName);
  2818.                Value := 0;
  2819.                Min := FMin;
  2820.                Max := FMax;
  2821.              end;
  2822.  
  2823.              function TZipField.PutStr(S: String): Boolean;
  2824.              begin
  2825.                PutStr := (Length(S) = 5) and TNumField.PutStr(S);
  2826.              end;
  2827.  
  2828.              èᬠ»«¬áºδóáεΓ  φΓ¿ »α¿¼Ñαδ,  á¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó
  2829.         »«ºó«½∩ÑΓ »ÑαÑ«»αÑñѽ∩εΘѼπ ¼ÑΓ«ñπ "ó¡«ó∞ ¿ß»«½∞º«óáΓ∞" ¬«ñ ¼ÑΓ«-
  2830.  
  2831.          B.Pascal 7 & Objects/LR      - 61 -
  2832.  
  2833.         ñá, ¬«Γ«αδ⌐ «¡ »ÑαÑ«»αÑñѽ∩ÑΓ.
  2834.  
  2835.  
  2836.                                î¡«ªÑßΓóÑ¡¡δÑ Γ¿»δ
  2837.         ─────────────────────────────────────────────────────────────────
  2838.  
  2839.              ä¿á»áº«¡ º¡áτÑ¡¿⌐  ¼¡«ªÑßΓóÑ¡¡«ú«  Γ¿»á  »αÑñßΓáó½∩ÑΓ  ß«í«⌐
  2840.         ¼«Θ¡«ßΓ∞  ¼¡«ªÑßΓóá  ñ½∩ «»αÑñѽѡ¡«ú« »«α∩ñ¬«ó«ú« Γ¿»á (íẫó«ú«
  2841.         Γ¿»á).  èáªñ«Ñ ó«º¼«ª¡«Ñ º¡áτÑ¡¿Ñ  ¼¡«ªÑßΓóÑ¡¡«ú«  Γ¿»á  ∩ó½∩ÑΓß∩
  2842.         »«ñ¼¡«ªÑßΓ󫼠󫺼«ª¡δσ º¡áτÑ¡¿⌐ íẫó«ú« Γ¿»á.
  2843.  
  2844.              ÅÑαѼѡ¡á∩ ¼¡«ªÑßΓóÑ¡¡«ú«  Γ¿»á ¼«ªÑΓ »α¿¡¿¼áΓ∞ ¬á¬ óßÑ º¡á-
  2845.         τÑ¡¿∩ ¼¡«ªÑßΓóá, Γᬠ¿ ¡¿ «ñ¡«ú«.
  2846.  
  2847.                               ┌─────┐    ┌────┐    ┌────────────────┐
  2848.             Γ¿» ¼¡«ªÑßΓó« ───>│ set ├───>│ of ├───>│ »«α∩ñ¬«óδ⌐ Γ¿» ├───>
  2849.                               └─────┘    └────┘    └────────────────┘
  2850.  
  2851.              üẫóδ⌐ Γ¿» ¡Ñ ñ«½ªÑ¡ ¿¼ÑΓ∞ í«½ÑÑ 256 ó«º¼«ª¡δσ  º¡áτÑ¡¿⌐, ¿
  2852.         »«α∩ñ¬«óδÑ º¡áτÑ¡¿∩ óÑασ¡Ñ⌐ ¿ ¡¿ª¡Ñ⌐ úαá¡¿µδ íẫó«ú« Γ¿»á ñ«½ª¡δ
  2853.         ¡Ñ »αÑóδΦáΓ∞ ñ¿á»áº«¡á «Γ 0 ñ« 255. é ß¿½π φΓ«ú« íẫóδ⌐ Γ¿» ¼¡«-
  2854.         ªÑßΓóá ¡Ñ ¼«ªÑΓ íδΓ∞ ¬«α«Γ¬¿¼ µÑ½δ¼ (Shortint),  µÑ½δ¼ (Integer),
  2855.         ñ½¿¡¡δ¼ µÑ½δ¼ (Longint) ¿½¿ ß½«ó«¼ (Word).
  2856.  
  2857.                   Åα¿¼Ñτá¡¿Ñ: Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿ «»¿ßδóá-
  2858.              εΓß∩ ó αáºñѽѠ"Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ" ó â½áóÑ 6.  é αáº-
  2859.              ñѽѠ"Ä»¿ßáΓѽ¿ ¼¡«ªÑßΓó" »«¬áºá¡«,  ¬á¬ «»αÑñѽ∩Γ∞ º¡áτÑ¡¿∩
  2860.              ¼¡«ªÑßΓóá.
  2861.  
  2862.              ïεí«⌐ ¼¡«ªÑßΓóÑ¡¡δ⌐ Γ¿» ¼«ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿Ñ [], ¬«Γ«α«Ñ
  2863.         ¡áºδóáÑΓß∩ »πßΓδ¼ ¼¡«ªÑßΓó«¼.
  2864.  
  2865.  
  2866.          B.Pascal 7 & Objects/LR      - 62 -
  2867.  
  2868.  
  2869.                                   öá⌐½«óδÑ Γ¿»δ
  2870.         ─────────────────────────────────────────────────────────────────
  2871.  
  2872.              öá⌐½«óδ⌐ Γ¿»  ß«ßΓ«¿Γ  ¿º ½¿¡Ñ⌐¡«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¬«¼»«-
  2873.         ¡Ñ¡Γ«ó,  ¬«Γ«αδÑ ¼«úπΓ ¿¼ÑΓ∞ ½εí«⌐ Γ¿» ºá  ¿ß¬½ετÑ¡¿Ñ¼  Σá⌐½«ó«ú«
  2874.         Γ¿»á ¿½¿ ßΓαπ¬Γπα¡«ú« Γ¿»á,  ß«ñÑαªáΘÑú« ¬«¼»«¡Ñ¡Γ ß Σá⌐½«óδ¼ Γ¿-
  2875.         »«¼. ù¿ß½« ¬«¼»«¡Ñ¡Γ«ó «»¿ß᡿Ѽ Σá⌐½«ó«ú« Γ¿»á ¡Ñ πßΓá¡áó½¿óáÑΓ-
  2876.         ß∩.
  2877.  
  2878.                                ┌──────┐     ┌────┐    ┌─────┐
  2879.               Σá⌐½«óδ⌐ Γ¿» ───>│ file ├──┬─>│ of ├───>│ Γ¿» ├─────>
  2880.                                └──────┘  │  └────┘    └─────┘  ^
  2881.                                          └─────────────────────┘
  2882.  
  2883.              àß½¿ ß½«ó«  of  ¿ Γ¿» ¬«¼»«¡Ñ¡Γá «»πΘÑ¡δ,  Γ« Γ¿» «í«º¡áτáÑΓ
  2884.         ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ Σá⌐½.  ìÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ »αÑñßΓáó½∩εΓ ß«í«⌐
  2885.         ¬á¡á½δ  óó«ñá-óδó«ñá ¡¿ª¡Ñú« πα«ó¡∩,  ó «ß¡«ó¡«¼ ¿ß»«½∞ºπѼδÑ ñ½∩
  2886.         »α∩¼«ú« ñ«ßΓπ»á ¬ ½εí«¼π Σá⌐½π ¡á ñ¿ß¬Ñ,  ¡Ñºáó¿ß¿¼« «Γ Ñú« ó¡πΓ-
  2887.         αÑ¡¡Ñú« Σ«α¼áΓá.
  2888.  
  2889.              æΓá¡ñáαΓ¡δ⌐ Σá⌐½«óδ⌐  Γ¿»  Text «»αÑñѽ∩ÑΓ Σá⌐½,  ß«ñÑαªáΘ¿⌐
  2890.         ß¿¼ó«½δ,  π»«α∩ñ«τÑ¡¡δÑ ó ßΓ᫬¿. ÆÑ¬ßΓ«óδÑ Σá⌐½δ ¿ß»«½∞ºπεΓ ß»Ñ-
  2891.         µ¿á½∞¡δÑ »α«µÑñπαδ  óó«ñá-óδó«ñá,  ¬«Γ«αδÑ «»¿ßδóáεΓß∩ ó â½áóÑ 14
  2892.         "éó«ñ ¿ óδó«ñ".
  2893.  
  2894.  
  2895.  
  2896.  
  2897.          B.Pascal 7 & Objects/LR      - 63 -
  2898.  
  2899.                                  æß佫τ¡δÑ Γ¿»δ
  2900.         ─────────────────────────────────────────────────────────────────
  2901.  
  2902.              Cß佫τ¡δ⌐ Γ¿» (π¬áºáΓѽ∞) «»αÑñѽ∩ÑΓ ¼¡«ªÑßΓó« º¡áτÑ¡¿⌐, ¬«-
  2903.         Γ«αδÑ π¬áºδóáεΓ ¡á ñ¿¡á¼¿τÑ߬¿Ñ  »ÑαѼѡ¡δÑ  «»αÑñѽѡ¡«ú«  Γ¿»á,
  2904.         ¡áºδóáѼ«ú«  íẫóδ¼  Γ¿»«¼.  ÅÑαѼѡ¡á∩ ßß佫τ¡«ú« Γ¿»á ß«ñÑনΓ
  2905.         áñαÑß ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ ó »á¼∩Γ¿.
  2906.  
  2907.                                     ┌───┐    ┌─────────────┐
  2908.                ßß佫τ¡δ⌐ Γ¿» ──────>│ ^ ├───>│ íẫóδ⌐ Γ¿» ├──>
  2909.                                     └───┘    └─────────────┘
  2910.  
  2911.                                    ┌─────────────────────┐
  2912.                   íẫóδ⌐ Γ¿» ────>│  ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á ├───>
  2913.                                    └─────────────────────┘
  2914.  
  2915.              àß½¿ íẫóδ⌐ Γ¿» ∩ó½∩ÑΓß∩ ÑΘÑ ¡Ñ  «»¿ßá¡¡δ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼,
  2916.         Γ« «¡ ñ«½ªÑ¡ íδΓ∞ «»¿ßá¡ ó Γ«⌐ ªÑ ßἫ⌐ τáßΓ¿ «»¿ßá¡¿∩ Γ¿»«ó, τΓ«
  2917.         ¿ Γ¿» π¬áºáΓѽ∞.
  2918.  
  2919.              ÅÑαѼѡ¡«⌐-π¬áºáΓÑ½ε ¼«ª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ ß »«¼«Θ∞ε »α«-
  2920.         µÑñπαδ New, «»Ñαᵿ¿ @ ¿½¿ Σπ¡¬µ¿¿ Ptr. Åα«µÑñπαá New «Γó«ñ¿Γ ¡«-
  2921.         óπε «í½áßΓ∞ »á¼∩Γ¿ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ñ½∩ ñ¿¡á-
  2922.         ¼¿τÑ߬¿σ  »ÑαѼѡ¡δσ  ¿ ß«σαá¡∩ÑΓ áñαÑß φΓ«⌐ «í½áßΓ¿ ó »ÑαѼѡ¡«⌐
  2923.         π¬áºáΓѽ∩. Ä»Ñαᵿ∩ @ «α¿Ñ¡Γ¿απÑΓ »ÑαѼѡ¡πε-π¬áºáΓѽ∞ ¡á «í½áßΓ∞
  2924.         »á¼∩Γ¿, ß«ñÑαªáΘπε ßπΘÑßΓóπεΘπε »ÑαѼѡ¡πε, ó¬½ετá∩ ¿ ΓÑ »ÑαѼѡ-
  2925.         ¡δÑ,  ¬«Γ«αδÑ ¿¼ÑεΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ. öπ¡¬µ¿∩ Ptr «α¿Ñ¡Γ¿απÑΓ »ÑαÑ-
  2926.         ¼Ñ¡¡πε-π¬áºáΓѽ∞ ¡á «»αÑñѽѡ¡δ⌐ áñαÑß ó »á¼∩Γ¿.
  2927.  
  2928.              çáαѺÑαó¿α«óá¡¡«Ñ ß½«ó« nil «í«º¡áτáÑΓ ¬«¡ßΓá¡Γπ ß« º¡áτÑ¡¿-
  2929.         Ñ¼ π¬áºáΓѽ∩, ¬«Γ«αá∩ ¡¿ ¡á τΓ« ¡Ñ π¬áºδóáÑΓ.
  2930.  
  2931.  
  2932.  
  2933.  
  2934.          B.Pascal 7 & Objects/LR      - 64 -
  2935.  
  2936.                                    Æ¿» Pointer
  2937.         ─────────────────────────────────────────────────────────────────
  2938.  
  2939.              éßΓα«Ñ¡¡δ⌐ Γ¿»  Pointer  «í«º¡áτáÑΓ  ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ π¬áºá-
  2940.         Γѽ∞, Γ« ÑßΓ∞ π¬áºáΓѽ∞, ¬«Γ«αδ⌐ ¡Ñ π¬áºδóáÑΓ ¡¿ ¡á ¬á¬«⌐ «»αÑñÑ-
  2941.         ½Ñ¡¡δ⌐ Γ¿». ÅÑαѼѡ¡δÑ Γ¿»á Pointer ¼«úπΓ íδΓ∞ αáºδ¼Ñ¡«óá¡δ: π¬á-
  2942.         ºá¡¿Ñ ß¿¼ó«½á ^ »«ß½Ñ Γᬫ⌐ »ÑαѼѡ¡«⌐ óδºδóáÑΓ »«∩ó½Ñ¡¿Ñ «Φ¿í¬¿.
  2943.         èᬠ ¿ º¡áτÑ¡¿Ñ,  «í«º¡áτáѼ«Ñ ß½«ó«¼ nil,  º¡áτÑ¡¿∩ Γ¿»á Pointer
  2944.         ß«ó¼ÑßΓ¿¼δ ß« óßѼ¿ ñαπú¿¼¿ Γ¿»á¼¿ π¬áºáΓѽÑ⌐.
  2945.  
  2946.                    Åα¿¼Ñτá¡¿Ñ: é  αáºñѽѠ"ô¬áºáΓѽ¿ ¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαÑ-
  2947.               ¼Ñ¡¡δÑ" ó â½áóÑ 5 óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ß¿¡Γá¬ß¿ß ßß佬¿ ¡á ñ¿¡á-
  2948.               ¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ, ¬«Γ«αδÑ π¬áºδóáεΓß∩ ß »«¼«Θ∞ε π¬áºáΓÑ-
  2949.               ½∩-»ÑαѼѡ¡«⌐.
  2950.  
  2951.  
  2952.                                     Æ¿» PChar
  2953.         ─────────────────────────────────────────────────────────────────
  2954.  
  2955.              ä½∩ »αÑñßΓáó½Ñ¡¿∩ π¬áºáΓѽ∩ ¡á ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼  ó
  2956.         Borland Pascal ¿¼ÑÑΓß∩ »αÑñ«»αÑñѽѡ¡δ⌐ Γ¿» PChar. é í½«¬Ñ System
  2957.         ñá¡¡δ⌐ Γ¿» «»¿ßδóáÑΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
  2958.  
  2959.              type PChar = ^Char;
  2960.  
  2961.              Borland Pascal »«ññÑনóáÑΓ ¡áí«α αáßΦ¿αÑ¡¡δσ »αáó¿½, »«ºó«-
  2962.         ½∩εΘ¿σ αáí«ΓáΓ∞  ß«  ßΓα«¬á¼¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼,  ¿ß»«½∞ºπ∩ Γ¿»
  2963.         PChar. Å«½¡«ßΓ∞ε φΓá ΓѼᠫíßπªñáÑΓß∩ ó â½áóÑ  18  "êß»«½∞º«óá¡¿Ñ
  2964.         ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼".
  2965.  
  2966.  
  2967.  
  2968.  
  2969.          B.Pascal 7 & Objects/LR      - 65 -
  2970.  
  2971.                                 Åα«µÑñπα¡δÑ Γ¿»δ
  2972.         ─────────────────────────────────────────────────────────────────
  2973.  
  2974.              é ßΓá¡ñáαΓ¡«¼  Åá߬á½Ñ  »α«µÑñπαδ  ¿ Σπ¡¬µ¿¿ αáßß¼áΓα¿óáεΓß∩
  2975.         Γ«½∞¬« ¬á¬ τáßΓ¿ »α«úαá¼¼δ, ¬«Γ«αδÑ ¼«ª¡« óδ»«½¡∩Γ∞ ß »«¼«Θ∞ε óδ-
  2976.         º«óá »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.  é Borland Pascal »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  2977.         Γαá¬ΓπεΓß∩ ú«αáºñ« Φ¿αÑ: ºñÑß∞ ñ«»π߬áÑΓß∩ ¿¡ΓÑα»αÑΓᵿ∩ »α«µÑñπα
  2978.         ¿ Σπ¡¬µ¿⌐,  ¬á¬ «íΩÑ¬Γ«ó,  ¬«Γ«αδÑ ¼«ª¡« »α¿ßóá¿óáΓ∞ »ÑαѼѡ¡δ¼ ¿
  2979.         »ÑαÑñáóáΓ∞ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó.  Æá¬¿Ñ ñÑ⌐ßΓó¿∩ ¼«ª¡« óδ»«½¡∩Γ∞
  2980.         ß »«¼«Θ∞ε »α«µÑñπα¡δσ Γ¿»«ó.
  2981.  
  2982.              é «»¿ßá¡¿¿ »α«µÑñπα¡«ú« Γ¿»á ºáñáεΓß∩ »áαá¼ÑΓαδ, á ñ½∩ Σπ¡¬-
  2983.         µ¿¿ - αѺπ½∞ΓáΓ Σπ¡¬µ¿¿.
  2984.  
  2985.         »α«µÑñπα¡δ⌐ Γ¿»
  2986.          │
  2987.          │  ┌─────────┐
  2988.          └┬>│procedure├─┬───────────────────────────────────────────────>
  2989.           │ └─────────┘ │  ┌────────────────────────────┐ ^           ^
  2990.           │             └─>│ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó├─┘           │
  2991.          ┌┘                └────────────────────────────┘             └─┐
  2992.          │ ┌────────┐                                  ┌───┐ ┌─────────┐│
  2993.          └>│function├┬────────────────────────────────>│ : ├>│αѺπ½∞ΓáΓ├┘
  2994.            └────────┘│ ┌────────────────────────────┐^ └───┘ └─────────┘
  2995.                      └>│ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó├┘
  2996.                        └────────────────────────────┘
  2997.  
  2998.              òáαá¬ΓÑα¡«, τΓ« ß¿¡Γá¬ß¿ß ºá»¿ß¿ »α«µÑñπα¡«ú« Γ¿»á ó Γ«τ¡«ß-
  2999.         Γ¿ ß«ó»áñáÑΓ ß ºá»¿ß∞ε ºáú«½«ó¬á »α«µÑñπαδ  ¿½¿  Σπ¡¬µ¿¿,  Γ«½∞¬«
  3000.         «»π߬áÑΓß∩  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  »«ß½Ñ  ¬½ετÑó«ú«  ß½«óá  procedure ¿½¿
  3001.         function.  Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»¿ßá¡¿⌐ »α«µÑñπα¡«ú« Γ¿»á:
  3002.  
  3003.              type
  3004.                 Proc = procedure;
  3005.                 SwapProc = procedure(var X, Y: Integer);
  3006.                 StrProc = procedure(S: String);
  3007.                 MathFunc = function(X: Real): Real;
  3008.                 DeviceFunc = function(var F: text): Integer;
  3009.                 MaxFunc = function(A, B: Real; F: MathFunc): Real;
  3010.  
  3011.              ê¼Ñ¡á »áαá¼ÑΓα«ó ó «»¿ßá¡¿¿ »α«µÑñπα¡«ú« Γ¿»á  ¿úαáεΓ  τ¿ßΓ«
  3012.         ñѬ«αáΓ¿ó¡πε α«½∞ - ¡á ß¼δß½ «»¿ßá¡¿Ñ «¡¿ ¡Ñ ó½¿∩εΓ.
  3013.  
  3014.              Borland Pascal ¡Ñ »«ºó«½∩ÑΓ «»¿ßδóáΓ∞ Σπ¡¬µ¿¿, ¬«Γ«αδÑ ó«ºó-
  3015.         αáΘáεΓ º¡áτÑ¡¿∩ »α«µÑñπα¡«ú« Γ¿»á.  ÉѺπ½∞ΓáΓ Σπ¡¬µ¿¿ ñ«½ªÑ¡ íδΓ∞
  3016.         ßΓ᫬«ó«ú«,  óÑΘÑßΓóÑ¡¡«ú«, µÑ½«ú«, ß¿¼ó«½∞¡«ú«, íπ½Ñó߬«ú« Γ¿»á,
  3017.         π¬áºáΓѽѼ  ¿½¿ ¿¼ÑΓ∞ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿»,  «»αÑñѽѡ¡δ⌐ »«½∞º«óáΓÑ-
  3018.         ½Ñ¼.
  3019.  
  3020.                               Åα«µÑñπα¡δÑ º¡áτÑ¡¿∩
  3021.         ─────────────────────────────────────────────────────────────────
  3022.  
  3023.              ÅÑαѼѡ¡«⌐ »α«µÑñπα¡«ú«  Γ¿»á  ¼«ª¡«  »α¿ßó«¿Γ∞  »α«µÑñπα¡«Ñ
  3024.  
  3025.          B.Pascal 7 & Objects/LR      - 66 -
  3026.  
  3027.         º¡áτÑ¡¿Ñ. Åα«µÑñπα¡δÑ º¡áτÑ¡¿∩ ¼«úπΓ íδΓ∞ ß½ÑñπεΘ¿¼¿:
  3028.  
  3029.              * º¡áτÑ¡¿∩¼¿ nil;
  3030.              * ßß佬«⌐ ¡á »ÑαѼѡ¡πε »α«µÑñπα¡«ú« Γ¿»á;
  3031.              * ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
  3032.  
  3033.              é ¬«¡ΓѬßΓÑ  »α«µÑñπα¡δσ  º¡áτÑ¡¿⌐  «»¿ßá¡¿Ñ  »α«µÑñπαδ  ¿½¿
  3034.         Σπ¡¬µ¿¿ ¼«ª¡«  αáßß¼áΓα¿óáΓ∞  ¬á¬  ß»Ñµ¿á½∞¡δ⌐ ó¿ñ «»¿ßá¡¿⌐ ¬«¡ß-
  3035.         Γá¡Γ, ¬«úñá º¡áτÑ¡¿Ñ¼ ¬«¡ßΓá¡Γδ ∩ó½∩ÑΓß∩ »α«µÑñπαá  ¿½¿  Σπ¡¬µ¿∩.
  3036.         Éáßß¼«Γα¿¼, ¡á»α¿¼Ñα, ß½ÑñπεΘÑÑ «»¿ßá¡¿Ñ:
  3037.  
  3038.              var
  3039.                 P: SwapProc;
  3040.                 F: MathFunc;
  3041.  
  3042.              procedure Swap(var A, B: Integer); far;
  3043.              var
  3044.                Temp: Integer;
  3045.              begin
  3046.                Temp := A;
  3047.                A := B;
  3048.                B := Temp;
  3049.              end;
  3050.  
  3051.              function Tan(Angle: Real); far;
  3052.              begin
  3053.                Tan := Sin(Angle) / Cos(Angle);
  3054.              end;
  3055.  
  3056.              ÅÑαѼѡ¡δ¼ P ¿ F ¼«ª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
  3057.  
  3058.              P := Swap;
  3059.              F := Tan;
  3060.  
  3061.         á ó맮óδ ß »«¼«Θ∞ε P ¿ F ¼«ª¡« óδ»«½¡¿Γ∞ Γá¬:
  3062.  
  3063.              P(I, J);                  { φ¬ó¿óá½Ñ¡Γ¡« Swap(I, J) }
  3064.              X := F(X);                { φ¬ó¿óá½Ñ¡Γ¡« X := Tan(X) }
  3065.  
  3066.              êß»«½∞º«óá¡¿Ñ »α«µÑñπα¡δσ  »ÑαѼѡ¡δσ,  ¬«Γ«αδ¼  ó «»ÑαáΓ«αÑ
  3067.         ó맮óá »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ nil, »α¿ó«ñ¿Γ
  3068.         ¬ «Φ¿í¬Ñ.  ç¡áτÑ¡¿Ñ nil »αÑñ¡áº¡áτÑ¡« ñ½∩ π¬áºá¡¿∩ Γ«ú«, τΓ« »α«-
  3069.         µÑñπα¡á∩ »ÑαѼѡ¡á∩ ¡Ñ »α¿ßó«Ñ¡á, ¿, ΓᬠúñÑ »α«µÑñπα¡á∩ »ÑαѼѡ-
  3070.         ¡á∩ ¼«ªÑΓ  »«½πτ¿Γ∞ º¡áτÑ¡¿Ñ nil,  πτáßΓóπεΘ¿Ñ ó φΓ«⌐ »α«µÑñπα¡«⌐
  3071.         »ÑαѼѡ¡«⌐ ó맮óδ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ß½ÑñπÑΓ »«ñóÑαúáΓ∞ »α«óÑα¬Ñ:
  3072.  
  3073.              if @P <> nil then P(I, J);
  3074.  
  3075.              ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á ¿ß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @  ñ½∩  π¬áºá¡¿∩
  3076.         Γ«ú«, τΓ« P »α«óÑα∩ÑΓß∩, á ¡Ñ óδºδóáÑΓß∩.
  3077.  
  3078.  
  3079.  
  3080.          B.Pascal 7 & Objects/LR      - 67 -
  3081.  
  3082.                                æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó
  3083.         ─────────────────────────────────────────────────────────────────
  3084.  
  3085.              ùΓ«íδ «¡¿ ßτ¿Γ὿ß∞ ß«ó¼ÑßΓ¿¼δ¼¿,  »α«µÑñπα¡δÑ  Γ¿»δ  ñ«½ª¡δ
  3086.         ¿¼ÑΓ∞ «ñ¡« ¿ Γ« ªÑ τ¿ß½« »áαá¼ÑΓα«ó,  á »áαá¼ÑΓαδ ó ß««ΓóÑΓßΓóπε-
  3087.         Θ¿σ »«º¿µ¿∩σ ñ«½ª¡δ ¿¼ÑΓ∞  Γ«ªñÑßΓóÑ¡¡δÑ  Γ¿»δ.  Åα¿  «»αÑñѽѡ¿¿
  3088.         ß«ó¼ÑßΓ¿¼«ßΓ¿ »α«µÑñπα¡δσ Γ¿»«ó ¿¼Ñ¡á »áαá¼ÑΓα«ó º¡áτÑ¡¿∩ ¡Ñ ¿¼Ñ-
  3089.         εΓ. ç¡áτÑ¡¿Ñ nil ß«ó¼ÑßΓ¿¼« ß ½εíδ¼ »α«µÑñπα¡δ¼ Γ¿»«¼.
  3090.  
  3091.              ùΓ«íδ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ »α«µÑñπα¡δσ º¡áτÑ¡¿⌐, »α«µÑ-
  3092.         ñπαδ ¿  Σπ¡¬µ¿¿  ñ«½ª¡δ «»¿ßδóáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ far ¿ ¬«¼»¿½¿α«-
  3093.         óáΓ∞ß∩ ó ß«ßΓ«∩¡¿¿ ß {$F+}.  èα«¼Ñ Γ«ú«,  ó ¬áτÑßΓóÑ  »α«µÑñπα¡δσ
  3094.         º¡áτÑ¡¿⌐ ¡Ñ  ¼«úπΓ  π¬áºδóáΓ∞ß∩  ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,
  3095.         ó½«ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ¼ÑΓ«ñδ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, «»¿-
  3096.         ßá¡¡δÑ ß ¬½ετÑóδ¼ ß½«ó«¼ inline ¿½¿ interrupt.
  3097.  
  3098.              æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ - φΓ« »«ñ»α«úαá¼¼δ,  «»¿ßá¡-
  3099.         ¡δѠ󠼫ñπ½Ñ Unit,  ¡á»α¿¼Ñα, WriteLn, ReadLn, Chr ¿½¿ Ord. ùΓ«íδ
  3100.         ¿ß»«½∞º«óáΓ∞ ó  ¬áτÑßΓóÑ »α«µÑñπα¡«ú« º¡áτÑ¡¿∩ ßΓá¡ñáαΓ¡πε »α«µÑ-
  3101.         ñπαπ ¿ Σπ¡¬µ¿ε,  ¡á»¿Φ¿ΓÑ ñ½∩ ¡ÑÑ "«í«½«τ¬π". ìá»α¿¼Ñα, ß½ÑñπεΘá∩
  3102.         Σπ¡¬µ¿∩ DSin  ß«ó¼ÑßΓ¿¼á  »«  »α¿ßóá¿óá¡¿ε ß «»¿ßá¡¡δ¼ óδΦÑ Γ¿»«¼
  3103.         MathFunc:
  3104.  
  3105.              function FSin(X: Real): Real; far;
  3106.              begin
  3107.                FSin := Sin(X);
  3108.              end;
  3109.  
  3110.              Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ∩ó½∩ÑΓß∩ ó½«ªÑ¡¡«⌐, ¬«úñá «¡á «»¿ßδóá-
  3111.         ÑΓß∩ ó¡πΓα¿ ñαπú«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.  Æá¬¿Ñ ó½«ªÑ¡¡δÑ »α«µÑ-
  3112.         ñπαδ ¿  Σπ¡¬µ¿¿  ¡Ñ  ¼«úπΓ  ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ »α«µÑñπα¡δσ
  3113.         º¡áτÑ¡¿⌐.
  3114.  
  3115.                         Æ«ªñÑßΓóÑ¡¡δÑ ¿ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ
  3116.         ─────────────────────────────────────────────────────────────────
  3117.  
  3118.              äóá Γ¿»á ¼«úπΓ íδΓ∞ Γ«ªñÑßΓóÑ¡¡δ¼¿,  ¿  φΓá  Γ«ªñÑßΓóÑ¡¡«ßΓ∞
  3119.         (¿ñÑ¡Γ¿τ¡«ßΓ∞)  ∩ó½∩ÑΓß∩ «í∩ºáΓѽ∞¡«⌐ ó ¡Ñ¬«Γ«αδσ  ¬«¡ΓѬßΓáσ.  é
  3120.         ñαπú¿σ ß½πτá∩σ ñóá Γ¿»á ñ«½ª¡δ íδΓ∞ Γ«½∞¬« ß«ó¼ÑßΓ¿¼δ ¿½¿ ß«ó¼Ñß-
  3121.         Γ¿¼δ »« »α¿ßóá¿óá¡¿ε.  äóá Γ¿»á ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿, Ñß½¿ «¡¿
  3122.         «»¿ßá¡δ ß «ñ¡¿¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Γ¿»á, ¿½¿ Ñß½¿ ¿σ «»αÑñѽѡ¿∩ ¿ß-
  3123.         »«½∞ºπεΓ «ñ¿¡ ¿ Γ«Γ ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á.
  3124.  
  3125.  
  3126.                               Æ«ªñÑßΓóÑ¡¡«ßΓ∞ Γ¿»«ó
  3127.         ─────────────────────────────────────────────────────────────────
  3128.  
  3129.              Æ«ªñÑßΓóÑ¡¡«ßΓ∞ Γ¿»«ó ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ »ÑαѼѡ¡δσ Σá¬Γ¿-
  3130.         τÑ߬¿σ ¿ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó »α¿ ó맮óÑ »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
  3131.  
  3132.              äóá Γ¿»á,  ß¬áªÑ¼ T1 ¿ T2, ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿, Ñß½¿ ∩ó-
  3133.         ½∩ÑΓß∩ ¿ßΓ¿¡¡δ¼ «ñ¡« ¿º ß½ÑñπεΘ¿σ πΓóÑαªñÑ¡¿⌐:  T1 ¿ T2 »αÑñßΓáó-
  3134.         ½∩ε ß«í«⌐ «ñ¿¡ ¿ Γ«Γ ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á; T1 «»¿ßá¡ ¬á¬ φ¬ó¿óá-
  3135.  
  3136.          B.Pascal 7 & Objects/LR      - 68 -
  3137.  
  3138.         ½Ñ¡Γ¡δ⌐ Γ¿»π, Γ«ªñÑßΓóÑ¡¡«¼π T2.
  3139.  
  3140.              éΓ«α«Ñ πß½«ó¿Ñ «º¡áτáÑΓ,  τΓ« T1 ¡Ñ «í∩ºáΓѽ∞¡« ñ«½ªÑ¡  íδΓ∞
  3141.         «»¿ßá¡  ¬á¬ ¡Ñ»«ßαÑñßΓóÑ¡¡« φ¬ó¿óá½Ñ¡Γ¡δ⌐ T2.  æ½ÑñπεΘ¿Ñ «»¿ßá¡¿∩
  3142.         Γ¿»«ó:
  3143.  
  3144.              T1 = integer;
  3145.              T2 = T1;
  3146.              T3 = integer;
  3147.              T4 = T2;
  3148.  
  3149.         «º¡áτáεΓ, τΓ« T1,  T2,  T3,  T4 ¿ integer ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿
  3150.         Γ¿»á¼¿. æ½ÑñπεΘ¿Ñ «»¿ßá¡¿∩ Γ¿»«ó:
  3151.  
  3152.              T5 = set of integer;
  3153.              T6 = set of integer;
  3154.  
  3155.         ¡Ñ «»αÑñѽ∩εΓ T5 ¿ T6 ¬á¬ Γ«ªñÑßΓóÑ¡¡δÑ, »«ß¬«½∞¬π set of integer
  3156.         ¡Ñ ∩ó½∩ÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Γ¿»á. äóÑ »ÑαѼѡ¡δÑ, «»¿ßá¡¡δÑ ó «ñ-
  3157.         ¡«¼ ¿ Γ«¼ ªÑ «»¿ßá¡¿¿, ¡á»α¿¼Ñα:
  3158.  
  3159.              V1, V2: set of integer;
  3160.  
  3161.         ¿¼ÑεΓ Γ«ªñÑßΓóÑ¡¡δÑ  Γ¿»δ,  »«ß¬«½∞¬π  ¿σ  «»¿ßá¡¿∩ ¡Ñ αáºñѽ∞¡δ.
  3162.         Ä»¿ßá¡¿∩:
  3163.  
  3164.              V1: set of integer;
  3165.              V2: set of integer;
  3166.              V3: integer;
  3167.              V4: integer;
  3168.  
  3169.         «º¡áτáεΓ, τΓ« V3 ¿ V4 ¿¼ÑεΓ Γ«ªñÑßΓóÑ¡¡δ⌐ Γ¿», á V1 ¿ V2 - ¡ÑΓ.
  3170.  
  3171.  
  3172.                                æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó
  3173.         ─────────────────────────────────────────────────────────────────
  3174.  
  3175.              ê¡«úñá, ¡á»α¿¼Ñα, ó óδαáªÑ¡¿∩σ ¿ «»Ñαᵿ∩σ ßαáó¡Ñ¡¿∩, ΓαÑíπ-
  3176.         ÑΓß∩ ß«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó.  æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó, ¬α«¼Ñ Γ«ú«, ∩ó½∩-
  3177.         ÑΓß∩ ó᪡«⌐ »αÑñ»«ß佬«⌐ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε.
  3178.  
  3179.              æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ óδ»«½¡∩ÑΓß∩ »« ¬αá⌐¡Ñ⌐
  3180.         ¼ÑαÑ «ñ¡« ¿º ß½ÑñπεΘ¿σ πß½«ó¿⌐:
  3181.  
  3182.              * Äíá Γ¿»á ∩ó½∩εΓß∩ «ñ¿¡á¬«ó묨.
  3183.  
  3184.              * Äíá Γ¿»á ∩ó½∩εΓß∩ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿.
  3185.  
  3186.              * Äíá Γ¿»á ∩ó½∩εΓß∩ µÑ½«τ¿ß½Ñ¡¡δ¼¿.
  3187.  
  3188.              * Äñ¿¡ Γ¿» ∩ó½∩ÑΓß∩ »«ññ¿á»áº«¡«¼ ñαπú«ú«.
  3189.  
  3190.              * Äíá Γ¿»á ∩ó½∩εΓß∩ «ΓαѺ¬á¼¿ «ñ¡«ú« ¿ Γ«ú« ªÑ «ß¡«ó¡«ú« Γ¿-
  3191.  
  3192.          B.Pascal 7 & Objects/LR      - 69 -
  3193.  
  3194.                »á.
  3195.  
  3196.              * Äíá Γ¿»á ∩ó½∩εΓß∩ ¼¡«ªÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿ ß ß«ó¼ÑßΓ¿¼δ¼¿ íá-
  3197.                º«ó묨 Γ¿»á¼¿.
  3198.  
  3199.              * Äñ¿¡ Γ¿» ∩ó½∩ÑΓß∩ ßΓ᫬«óδ¼ Γ¿»«¼,  á ñαπú«⌐  -  ßΓ᫬«óδ¼
  3200.                Γ¿»«¼, π»á¬«óá¡¡δ¼ ßΓ᫬«óδ¼ Γ¿»«¼ ¿½¿ Γ¿»«¼ PChar;
  3201.  
  3202.              * Äñ¿¡  Γ¿»  -  φΓ« Γ¿» Pointer,  á ñαπú«⌐ - ½εí«⌐ ßß佫τ¡δ⌐
  3203.                Γ¿».
  3204.  
  3205.              * Äñ¿¡ Γ¿» ∩ó½∩ÑΓß∩ Γ¿»«¼ PChar,  á ñαπú«⌐ - ß¿¼ó«½∞¡δ¼ ¼áß-
  3206.                ß¿ó«¼  ß ¡π½Ñó«⌐ íẫ⌐ ó¿ñá array[0..X] of Char (φΓ« ñÑ⌐ß-
  3207.                ΓóπÑΓ Γ«½∞¬« »α¿ αáºαÑΦÑ¡¿¿ ñ¿αÑ¬Γ¿ó«⌐ {$X+}  αáßΦ¿αÑ¡¡«ú«
  3208.                ß¿¡Γá¬ß¿ßá).
  3209.  
  3210.              * Äíá  Γ¿»á ∩ó½∩εΓß∩ π¬áºáΓѽ∩¼¿ ¿ñÑ¡Γ¿τ¡δσ Γ¿»«ó (φΓ« ñÑ⌐ß-
  3211.                ΓóπÑΓ Γ«½∞¬« »α¿ αáºαÑΦÑ¡¿¿ π¬áºáΓѽ∩ ß »α«óÑᬫ⌐ Γ¿»á ñ¿-
  3212.                αÑ¬Γ¿ó«⌐ {$X+}).
  3213.  
  3214.              * Äíá  Γ¿»á  ∩ó½∩εΓß∩  »α«µÑñπα¡δ¼¿ ß ¿ñÑ¡Γ¿τ¡δ¼¿ Γ¿»á¼¿ αÑ-
  3215.                ºπ½∞ΓáΓ«ó,  «ñ¿¡á¬«óδ¼ τ¿ß½«¼ »áαá¼ÑΓα«ó  ¿  ß««ΓóÑΓßΓó¿Ñ¼
  3216.                ¼Ñªñπ »áαá¼ÑΓαἿ.
  3217.  
  3218.  
  3219.                           æ«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε
  3220.         ─────────────────────────────────────────────────────────────────
  3221.  
  3222.              æ«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε ¡Ñ«íσ«ñ¿¼á,  Ñß½¿ ¿¼ÑÑΓ  ¼ÑßΓ«
  3223.         »α¿ßóá¿óá¡¿Ñ º¡áτÑ¡¿∩, ¡á»α¿¼Ñα, ó «»ÑαáΓ«αÑ »α¿ßóá¿óá¡¿∩ ¿½¿ »α¿
  3224.         »ÑαÑñáτÑ º¡áτÑ¡¿⌐ »áαá¼ÑΓα«ó.
  3225.  
  3226.              ç¡áτÑ¡¿Ñ Γ¿»á T1 ∩ó½∩ÑΓß∩ ß«ó¼ÑßΓ¿¼δ¼ »« »α¿ßóá¿óá¡¿ε ß  Γ¿-
  3227.         »«¼ T2 (Γ« ÑßΓ∞ ñ«»πßΓ¿¼ «»ÑαáΓ«α T1:=T2),  Ñß½¿ óδ»«½¡∩ÑΓß∩ «ñ¡«
  3228.         ¿º ß½ÑñπεΘ¿σ πß½«ó¿⌐:
  3229.  
  3230.              * T1 ¿ T2 ¿¼ÑεΓ Γ«ªñÑßΓóÑ¡¡δÑ Γ¿»δ,  ¿ ¡¿ «ñ¿¡ ¿º ¡¿σ ¡Ñ ∩ó-
  3231.                ½∩ÑΓß∩  Σá⌐½«óδ¼  Γ¿»«¼ ¿½¿ ßΓαπ¬Γπα¡δ¼ Γ¿»«¼,  ß«ñÑαªáΘ¿¼
  3232.                ¬«¼»«¡Ñ¡Γ ß Σá⌐½«óδ¼ Γ¿»«¼ ¡á «ñ¡«¼ ¿º ßó«¿σ πα«ó¡Ñ⌐.
  3233.  
  3234.              * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ »«α∩ñ¬«ó묨 Γ¿»á¼¿, ¿ º¡áτÑ-
  3235.                ¡¿∩ Γ¿»á T2 »«»áñáεΓ ó ñ¿á»áº«¡ ó«º¼«ª¡δσ º¡áτÑ¡¿⌐ T1.
  3236.  
  3237.              * T1 ¿ T2 ∩ó½∩εΓß∩ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿,  ¿ º¡áτÑ¡¿∩ Γ¿»á T2
  3238.                »«»áñáεΓ ó ñ¿á»áº«¡ ó«º¼«ª¡δσ º¡áτÑ¡¿⌐ T1.
  3239.  
  3240.              * T1 ∩ó½∩ÑΓß∩ óÑΘÑßΓóÑ¡¡δ¼ Γ¿»«¼,  á T2 ∩ó½∩ÑΓß∩ µÑ½«τ¿ß½Ñ¡-
  3241.                ¡δ¼ Γ¿»«¼.
  3242.  
  3243.              * T1 ¿ T2 ∩ó½∩εΓß∩ ßΓ᫬«ó묨 Γ¿»á¼¿.
  3244.  
  3245.              * T1 ∩ó½∩ÑΓß∩ ßΓ᫬«óδ¼ Γ¿»«¼,  á T2 ∩ó½∩ÑΓß∩ ß¿¼ó«½∞¡δ¼ Γ¿-
  3246.                »«¼ (Char).
  3247.  
  3248.          B.Pascal 7 & Objects/LR      - 70 -
  3249.  
  3250.  
  3251.              * T1 ∩ó½∩ÑΓß∩ ßΓ᫬«óδ¼ Γ¿»«¼,  á  T2  ∩ó½∩ÑΓß∩  π»á¬«óá¡¡δ¼
  3252.                ßΓ᫬«óδ¼ Γ¿»«¼.
  3253.  
  3254.              * T1  ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ π»á¬«óá¡¡δ¼¿ ßΓ᫬«ó묨 Γ¿-
  3255.                »á¼¿.
  3256.  
  3257.              * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ ¼¡«ªÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿, ¿ óßÑ
  3258.                τ½Ñ¡δ  º¡áτÑ¡¿∩ Γ¿»á T2 »«»áñáεΓ ó ñ¿á»áº«¡ ó«º¼«ª¡δσ º¡á-
  3259.                τÑ¡¿⌐ T1.
  3260.  
  3261.              * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ π¬áºáΓѽÑ⌐.
  3262.  
  3263.              * T1 - φΓ« Γ¿» PChar,  á T2 - φΓ« ßΓ᫬«óá∩  ¬«¡ßΓá¡Γá  (φΓ«
  3264.                ñÑ⌐ßΓóπÑΓ Γ«½∞¬« »α¿ αáºαÑΦÑ¡¿¿ ñ¿αÑ¬Γ¿ó«⌐ {$X+} αáßΦ¿αÑ¡-
  3265.                ¡«ú« ß¿¡Γá¬ß¿ßá).
  3266.  
  3267.              * T1 ∩ó½∩ÑΓß∩ Γ¿»«¼ PChar,  á T2 - ß¿¼ó«½∞¡δ¼ ¼áß߿󫼠ߠ¡π-
  3268.                ½Ñó«⌐ íẫ⌐ ó¿ñá array[0..X] of Char (φΓ« ñÑ⌐ßΓóπÑΓ Γ«½∞¬«
  3269.                »α¿ αáºαÑΦÑ¡¿¿ ñ¿αÑ¬Γ¿ó«⌐ {$X+} αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá).
  3270.  
  3271.              * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ »α«µÑñπα¡δ¼¿ Γ¿»á¼¿.
  3272.  
  3273.              * T1 »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«µÑñπα¡δ⌐ Γ¿»,  á T2  -  »α«µÑñπαá
  3274.                ¿½¿ Σπ¡¬µ¿∩ ß ¿ñÑ¡Γ¿τ¡δ¼ Γ¿»«¼ αѺπ½∞ΓáΓá, ¿ñÑ¡Γ¿τ¡δ¼ τ¿ß-
  3275.                ½«¼ »áαá¼ÑΓα«ó ¿ ß««ΓóÑΓßΓó¿Ñ¼ ¼Ñªñπ Γ¿»á¼¿ »áαá¼ÑΓα«ó.
  3276.  
  3277.              * ÄíΩÑ¬Γ¡δ⌐ Γ¿» T2 ß«ó¼ÑßΓ¿¼ »« »α¿ßóá¿óá¡¿ε ß «íΩÑ¬Γ¡δ¼ Γ¿-
  3278.                »«¼ T1, Ñß½¿ T2 ∩ó½∩ÑΓß∩ ñ«¼Ñ¡«¼ T1.
  3279.  
  3280.              * Æ¿» π¬áºáΓѽ∩ É2, π¬áºδóáεΘ¿⌐ ¡á «íΩÑ¬Γ Γ¿»á Æ3, ß«ó¼ÑßΓ¿¼
  3281.                »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ π¬áºáΓѽ∩ P1,  π¬áºδóáεΘ¿¼ ¡á «íΩ-
  3282.                Ñ¬Γ T1, Ñß½¿ T2 ∩ó½∩ÑΓß∩ ñ«¼Ñ¡«¼ T1.
  3283.  
  3284.              ìá φΓá»Ñ ¬«¼»¿½∩µ¿¿ ¿ óδ»«½¡Ñ¡¿∩ óδñáÑΓß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í-
  3285.         ¬Ñ,  Ñß½¿ ß«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε ¡Ñ«íσ«ñ¿¼á,  á ¡¿ «ñ¡« ¿º
  3286.         πß½«ó¿⌐ »αÑñδñπΘÑú« ß»¿ß¬á ¡Ñ óδ»«½¡Ñ¡«.
  3287.  
  3288.  
  3289.                               Éáºñѽ «»¿ßá¡¿∩ Γ¿»«ó
  3290.         ─────────────────────────────────────────────────────────────────
  3291.  
  3292.              Åα«úαá¼¼δ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¿¼ÑεΓ ñ½∩ «»¿ßá¡¿∩ Γ¿»«ó ß»Ñ-
  3293.         µ¿á½∞¡δ⌐ αáºñѽ «»¿ßá¡¿∩ Γ¿»«ó. ìá»α¿¼Ñα:
  3294.  
  3295.              type
  3296.                TRange     = integer;
  3297.                TNumber    = integer;
  3298.                TColor     = (red,green,blue);
  3299.                TTextIndex = 1..100;
  3300.                TTestValue = -99..99;
  3301.                TTestList  = array[TestIndex] of TestValue;
  3302.                PestList   = ^TTestList;
  3303.  
  3304.          B.Pascal 7 & Objects/LR      - 71 -
  3305.  
  3306.                TDate      = object
  3307.                                year: integer;
  3308.                                month: 1..12;
  3309.                                day: 1.. 31;
  3310.                              procedure SetDate(D, M, Y: Integer);
  3311.                              function ShowDate: String;
  3312.                              end;
  3313.  
  3314.              MeasureData = record
  3315.                              when: Date;
  3316.                              count: TTestIndex;
  3317.                              data: TestListPtr;
  3318.                            end;
  3319.              TMeasureList = array[1..50] of MeasureData;
  3320.              TName        = string[80];
  3321.              TSex         = (male,female);
  3322.              TPersonDate  = ^TPersonData;
  3323.              TPersonData  = record
  3324.                              name,firstName: TName;
  3325.                              age:            integer;
  3326.                              married:        boolean;
  3327.                              father,child,sibling: Person;
  3328.                                case s: Sex of
  3329.                                  male:   (bearded: boolean);
  3330.                                  female: (pregnant: boolean);
  3331.                             end;
  3332.              TPersonDate = array[0..SizeOf(TPersonDate)-1] of Byte;
  3333.              TPeople  = file of TPersonData;
  3334.  
  3335.              é φΓ«¼ »α¿¼ÑαÑ Range,  Number ¿ Integer ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡-
  3336.         ¡δ¼¿ Γ¿»á¼¿. TTestIndex ∩ó½∩ÑΓß∩ »α«ßΓ« ß«ó¼ÑßΓ¿¼δ¼ ¿ ß«ó¼ÑßΓ¿¼δ¼
  3337.         »« »α¿ßóá¿óá¡¿ε,  ¡« ¡Ñ Γ«ªñÑßΓóÑ¡¡δ¼,  ß Γ¿»á¼¿ Number,  Range ¿
  3338.         Integer. ÄíαáΓ¿ΓÑ  ó¡¿¼á¡¿Ñ ¡á ¿ß»«½∞º«óá¡¿Ñ ó «»¿ßá¡¿∩σ TCharVal
  3339.         ¿ TPersonBuf óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ.
  3340.  
  3341.  
  3342.  
  3343.          B.Pascal 7 & Objects/LR      - 72 -
  3344.  
  3345. ───────────────────────────────────────────────────────────────────────
  3346.                  â½áóá 5. ÅÑαѼѡ¡δÑ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ
  3347.         ─────────────────────────────────────────────────────────────────
  3348.  
  3349.                                Ä»¿ßá¡¿∩ »ÑαѼѡ¡δσ
  3350.         ─────────────────────────────────────────────────────────────────
  3351.  
  3352.              Ä»¿ßá¡¿Ñ »ÑαѼѡ¡«⌐  »αÑñßΓáó½∩ÑΓ ß«í«⌐ ß»¿ß«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«-
  3353.         α«ó, ¬«Γ«αδÑ «í«º¡áτáεΓ ¡«óδÑ »ÑαѼѡ¡δÑ ¿ ¿σ Γ¿»δ.
  3354.  
  3355.          «»¿ßá¡¿Ñ     ┌────────────┐  ┌───┐  ┌───┐                ┌───┐
  3356.          »ÑαѼѡ¡«⌐ ─>│ß»¿ß«¬ ¿ñÑ¡-├─>│ : ├─>│Γ¿»├─┬───────────┬─>│ ; ├>
  3357.                       │Γ¿Σ¿¬áΓ«α«ó │  └───┘  └───┘ │           │  └───┘
  3358.                       └────────────┘               │ ┌────────┐│
  3359.                                                    └>│absolute├┘
  3360.                                                      └────────┘
  3361.  
  3362.              Æ¿», ºáñáóáѼδ⌐ ñ½∩ »ÑαѼѡ¡δσ,  ¼«ªÑΓ íδΓ∞  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼
  3363.         Γ¿»á,  ¬«Γ«αδ⌐  íδ½ αá¡ÑÑ «»¿ßá¡ ó αáºñѽѠ«»¿ßá¡¿∩ Γ¿»«ó Γ«ú« ªÑ
  3364.         ßἫú« í½«¬á,  ¿½¿ í½«¬á, ó ¬«Γ«αδ⌐ óσ«ñ¿Γ ñá¡¡δ⌐ í½«¬, ¿½¿ ¼«ñπ-
  3365.         ½∩, ¿½¿ ªÑ φΓ«Γ Γ¿» ¼«ªÑΓ íδΓ∞ ¡«óδ¼ «»αÑñѽѡ¿Ñ¼ Γ¿»á.
  3366.  
  3367.              Åα¿ π¬áºá¡¿¿  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ó ß»¿ß¬Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó «»¿ßá-
  3368.         ¡¿∩ »ÑαѼѡ¡«⌐ φëà¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿¼ÑÑΓ ß¿½π ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαÑ-
  3369.         ¼Ñ¡¡«⌐ ó Γ«¼ í½«¬Ñ,  úñÑ φΓ« «»¿ßá¡¿Ñ í佫 π¬áºá¡«.  è φΓ«⌐ »ÑαÑ-
  3370.         ¼Ñ¡¡«⌐ ¼«ª¡« «íαáΘáΓ∞ß∩ ¿º ½εí«ú«  ¼ÑßΓá  φΓ«ú«  í½«¬á,  Ñß½¿  ÑÑ
  3371.         ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¡Ñ »ÑαÑ«»αÑñѽѡ ó í½«¬Ñ,  óσ«ñ∩ΘѼ ó »Ñαóδ⌐. ÅÑαÑ-
  3372.         «»αÑñѽѡ¿Ñ «º¡áτáÑΓ,  τΓ« ñ½∩ ¡«ó«⌐ »ÑαѼѡ¡«⌐ ¿ß»«½∞ºπÑΓß∩  Γ«Γ
  3373.         ªÑ ßá¼δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¡« φΓ« ¿ß»«½∞º«óá¡¿Ñ ¡Ñ «¬áºδóáÑΓ ó½¿∩¡¿∩
  3374.         ¡á º¡áτÑ¡¿Ñ »Ñαó«¡áτá½∞¡«⌐ »ÑαѼѡ¡«⌐.
  3375.  
  3376.              Åα¿óÑñѼ »α¿¼Ñα αáºñѽᠫ»¿ßá¡¿∩ »ÑαѼѡ¡«⌐:
  3377.  
  3378.              var
  3379.                X,Y,Z: real;
  3380.                I,J,K: integer;
  3381.                Digit: 0..9;
  3382.                C: Color;
  3383.                Done,Error: boolean;
  3384.                Operator: (plus, minus, times);
  3385.                Hue1,Hue2: set of Color;
  3386.                Today: Date;
  3387.                Results: MeasureList;
  3388.                P1,P2: Person;
  3389.                Matrix: array[1..10,1..10] of Real;
  3390.  
  3391.              ÅÑαѼѡ¡δÑ, «»¿ßá¡¡δÑ  ó¡Ñ  »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ¡áºδóáεΓß∩
  3392.         ú½«íá½∞¡δ¼¿ »ÑαѼѡ¡δ¼¿ ¿ αáß»«½áúáεΓß∩ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ.  ÅÑαÑ-
  3393.         ¼Ñ¡¡δÑ,  «»¿ßá¡¡δÑ ó ßἫ⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿,  ¡áºδóáεΓß∩ ½«-
  3394.         ¬á½∞¡δ¼¿ »ÑαѼѡ¡δ¼¿ ¿ αáß»«½áúáεΓß∩ ó ßÑú¼Ñ¡ΓÑ ßΓѬá.
  3395.  
  3396.  
  3397.  
  3398.          B.Pascal 7 & Objects/LR      - 73 -
  3399.  
  3400.                                  æÑú¼Ñ¡Γ ñá¡¡δσ
  3401.         ─────────────────────────────────────────────────────────────────
  3402.  
  3403.              îá¬ß¿¼á½∞¡δ⌐ αẼÑα  ßÑú¼Ñ¡Γá  ñá¡¡δσ αáóÑ¡ 65520 íá⌐Γ.  Åα¿
  3404.         ¬«¼»«¡«ó¬Ñ »α«úαá¼¼δ (τΓ« áóΓ«¼áΓ¿τÑ߬¿  «ßπΘÑßΓó½∩ÑΓß∩  ó  ¬«¡µÑ
  3405.         ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ) ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ óßÑσ ¼«ñπ½Ñ⌐, ¿ß»«½∞-
  3406.         ºπѼδσ »α«úαá¼¼«⌐,  á  ΓᬪѠ ß«íßΓóÑ¡¡δÑ  ú½«íá½∞¡δÑ  »ÑαѼѡ¡δÑ
  3407.         »α«úαá¼¼δ, αẼÑΘáεΓß∩ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ.
  3408.  
  3409.              àß½¿ ñ½∩  ú½«íá½∞¡δσ  »ÑαѼѡ¡δσ ΓαÑíπÑΓß∩ í«½ÑÑ 65520 íá⌐Γ,
  3410.         Γ« ß½ÑñπÑΓ αáß»αÑñѽ¿Γ∞ í«½∞Φ¿Ñ ßΓαπ¬Γπαδ ó ó¿ñÑ ñ¿¡á¼¿τÑ߬¿σ »Ñ-
  3411.         αѼѡ¡δσ. äá½∞¡Ñ⌐ΦÑÑ «»¿ßá¡¿Ñ φΓ«⌐ ΓÑ¼δ  ¼«ª¡«  ¡á⌐Γ¿  ó  αáºñѽÑ
  3412.         "ô¬áºáΓѽ¿ ¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ" ¡áßΓ«∩ΘÑ⌐ ú½áóδ.
  3413.  
  3414.                                   æÑú¼Ñ¡Γ ßΓѬá
  3415.         ─────────────────────────────────────────────────────────────────
  3416.  
  3417.              ÉẼÑα ßÑú¼Ñ¡Γá ßΓѬá πßΓá¡áó½¿óáÑΓß∩  ß  »«¼«Θ∞ε  ñ¿αÑ¬Γ¿óδ
  3418.         ¬«¼»¿½∩Γ«αá $M ¿ ½Ñª¿Γ ó »αÑñѽáσ «Γ 1024 ñ« 65520 íá⌐Γ. Å« π¼«½-
  3419.         τá¡¿ε αẼÑα ßΓѬá αáóÑ¡ 16384 íá⌐Γ.
  3420.  
  3421.              Åα¿ ¬áªñ«⌐ á¬Γ¿ó¿ºáµ¿¿ (ó맮óÑ) »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ó ßΓѬ
  3422.         »«¼ÑΘáÑΓß∩ ¼¡«ªÑßΓó« ½«¬á½∞¡δσ »ÑαѼѡ¡δσ.  Åα¿ ºáóÑαΦÑ¡¿¿ αáí«Γδ
  3423.         »á¼∩Γ∞, ºá¡¿¼áѼá∩ ½«¬á½∞¡δ¼¿ »ÑαѼѡ¡δ¼¿, «ßó«í«ªñáÑΓß∩. é ½εí«⌐
  3424.         ¼«¼Ñ¡Γ  óδ»«½¡Ñ¡¿∩  »α«úαá¼¼δ «íΘ¿⌐ αẼÑα ½«¬á½∞¡δσ »ÑαѼѡ¡δσ ó
  3425.         á¬Γ¿ó¡δσ »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ ¡Ñ ñ«½ªÑ¡ »αÑóδΦáΓ∞  αẼÑαá  ßÑú-
  3426.         ¼Ñ¡Γá ßΓѬá.
  3427.  
  3428.                    Åα¿¼Ñτá¡¿Ñ: àß½¿ óδ »¿ΦÑΓÑ »α¿½«ªÑ¡¿Ñ ñ½∩ Windows,  Γ«
  3429.               Windows ¡á½áúáÑΓ ¡á ßÑú¼Ñ¡Γδ  ñá¡¡δσ  ¿  ßΓѬᠠ߻ѵ¿á½∞¡δÑ
  3430.               ΓαÑí«óá¡¿∩,  Γᬠ τΓ« αáí«τ¿⌐ ¼á¬ß¿¼π¼ ßΓѬᠿ «í½áßΓ∞ ßÑú-
  3431.               ¼Ñ¡Γá ñá¡¡δσ ¼«úπΓ íδΓ∞ ¼Ñ¡∞ΦÑ, τѼ π»«¼∩¡πΓδÑ ¼á¬ß¿¼á½∞¡δÑ
  3432.               «í½áßΓ¿ ßÑú¼Ñ¡Γá ñá¡¡δσ ¿ ßΓѬá.
  3433.  
  3434.               ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $S ¿ß»«½∞ºπÑΓß∩ ñ½∩ »α«óÑ᫬ »ÑαÑ»«½-
  3435.         ¡Ñ¡¿∩ ßΓѬá ó »α«úαá¼¼Ñ.  é ß«ßΓ«∩¡¿¿ {$S+},  »α¿¡∩Γ«¼ »« π¼«½τá-
  3436.         ¡¿ε, úÑ¡Ñα¿απÑΓß∩ ¬«ñ, «ßπΘÑßΓó½∩εΘ¿⌐ »α«óÑα¬π »ÑαÑ»«½¡Ñ¡¿∩ ßΓѬá
  3437.         ó ¡áτá½Ñ ¬áªñ«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.  é ß«ßΓ«∩¡¿¿  {$S-}  ΓᬿÑ
  3438.         »α«óÑન ¡Ñ »α«ó«ñ∩Γß∩.  ÅÑαÑ»«½¡Ñ¡¿Ñ ßΓѬᠼ«ªÑΓ óδºóáΓ∞ áóáα¿⌐-
  3439.         ¡«Ñ ºáóÑαΦÑ¡¿Ñ αáí«Γδ ß¿ßΓѼδ,  »«φΓ«¼π ¡Ñ ß½ÑñπÑΓ «Γ¼Ñ¡∩Γ∞  »α«-
  3440.         óÑન ßΓѬá,  Ñß½¿ ¡ÑΓ áíß«½εΓ¡«⌐ πóÑαÑ¡¡«ßΓ¿ ó Γ«¼, τΓ« »ÑαÑ»«½-
  3441.         ¡Ñ¡¿∩ ¡Ñ »α«¿º«⌐ñÑΓ.
  3442.  
  3443.  
  3444.  
  3445.          B.Pascal 7 & Objects/LR      - 74 -
  3446.  
  3447.                               Çíß«½εΓ¡δÑ »ÑαѼѡ¡δÑ
  3448.         ─────────────────────────────────────────────────────────────────
  3449.  
  3450.              ÅÑαѼѡ¡δÑ ¼«ª¡« «»¿ßáΓ∞ Γá¬, τΓ« «¡¿ íπñπΓ αáß»«½áúáΓ∞ß∩ »«
  3451.         «»αÑñѽѡ¡«¼π áñαÑßπ ó »á¼∩Γ¿, ¿ ó φΓ«¼ ß½πτáÑ «¡¿ ¡áºδóáεΓß∩ áí-
  3452.         ß«½εΓ¡δ¼¿ »ÑαѼѡ¡δ¼¿. Ä»¿ßá¡¿Ñ Γᬿσ »ÑαѼѡ¡δσ ñ«½ª¡« ß«ñÑαªáΓ∞
  3453.         »«ß½Ñ Γ¿»á «»ÑαáΓ«α absolute:
  3454.  
  3455.          «»¿ßá¡¿Ñ       ┌────────┐    ┌─────────┐  ┌───┐  ┌─────────┐
  3456.          áíß«½εΓ¡«⌐ ───>│absolute├─┬─>│µÑ½«Ñ íѺ├─>│ : ├─>│µÑ½«Ñ íѺ├─┬─>
  3457.          »ÑαѼѡ¡«⌐     └────────┘ │  │ º¡á¬á   │  └───┘  │ º¡á¬á   │ │
  3458.                                    │  └─────────┘         └─────────┘ │
  3459.                                    │       ┌─────────────┐            │
  3460.                                    └──────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├────────────┘
  3461.                                            │  »ÑαѼѡ¡«⌐ │
  3462.                                            └─────────────┘
  3463.  
  3464.              ÄΓ¼ÑΓ¿¼, τΓ« ß»¿ß«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó  ó  «»¿ßá¡¿¿  »ÑαѼѡ¡«⌐
  3465.         »α¿ π¬áºá¡¿¿ «»ÑαáΓ«αá absolute ¼«ªÑΓ ß«ñÑαªáΓ∞ Γ«½∞¬« «ñ¿¡ ¿ñÑ¡-
  3466.         Γ¿Σ¿¬áΓ«α.
  3467.  
  3468.              ÅÑαóá∩ τáßΓ∞ «»ÑαáΓ«αá absolute ß«ñÑαª¿Γ ßÑú¼Ñ¡Γ ¿ ß¼ÑΘÑ¡¿Ñ,
  3469.         Γ« ÑßΓ∞ áñαÑß, »« ¬«Γ«α«¼π »ÑαѼѡ¡á∩ ñ«½ª¡á íδΓ∞ αẼÑΘÑ¡á.
  3470.  
  3471.              CrtMode   : byte absolute $0040:$0049;
  3472.  
  3473.              ÅÑαóá∩ ¬«¡ßΓá¡Γá «í«º¡áτáÑΓ íáºπ ßÑú¼Ñ¡Γá,  á óΓ«αá∩ «»αÑñÑ-
  3474.         ½∩ÑΓ ß¼ÑΘÑ¡¿Ñ ó¡πΓα¿ φΓ«ú« ßÑú¼Ñ¡Γá.  ÄíÑ ¬«¡ßΓá¡Γδ ¡Ñ ñ«½ª¡δ óδ-
  3475.         σ«ñ¿Γ∞ ºá »αÑñѽδ ñ¿á»áº«¡á «Γ $0000 ñ« $FFFF («Γ 0 ñ« 65535).
  3476.  
  3477.              é »α«úαá¼¼áσ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿ ó Windows »Ñαóπε Σ«α¼π
  3478.         «»ÑαáΓ«α absolute ¡πª¡« ¿ß»«½∞º«óáΓ∞ «τÑ¡∞ á¬¬παáΓ¡«, Ñß½¿ ó««íΘÑ
  3479.         ßΓ«¿Γ φΓ«  ñѽáΓ∞.  é«  óαѼ∩  óδ»«½¡Ñ¡¿∩  »α¿¬½áñ¡«⌐   »α«úαá¼¼δ
  3480.         Windows ¿½¿  DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á «¡á ¼«ªÑΓ ¡Ñ ¿¼ÑΓ∞ »«½¡«¼«τ¿⌐
  3481.         ñ«ßΓπ»á ¬ «í½áßΓ∩¼ »á¼∩Γ¿ ó¡Ñ óáΦÑ⌐ »α«úαá¼¼δ.  Å«»δΓ¬á ñ«ßΓπ»á ¬
  3482.         φΓ¿¼ «í½áßΓ∩¼ »á¼∩Γ¿ ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ßí«ε »α«úαá¼¼δ.
  3483.  
  3484.          B.Pascal 7 & Objects/LR      - 75 -
  3485.  
  3486.  
  3487.              éΓ«αá∩ Σ«α¼á  «»ÑαáΓ«αá  absolute  ¿ß»«½∞ºπÑΓß∩ ñ½∩ «»¿ßá¡¿∩
  3488.         »ÑαѼѡ¡«⌐,  ¬«Γ«αá∩ »«¼ÑΘáÑΓß∩ "»«óÑασ"  ñαπú«⌐  »ÑαѼѡ¡«⌐,  Γ«
  3489.         ÑßΓ∞ »« Γ«¼π ªÑ ßἫ¼π áñαÑßπ, τΓ« ¿ ñαπúá∩ »ÑαѼѡ¡á∩.
  3490.  
  3491.              var
  3492.                Str: string[32];
  3493.                StrLen: byte absolute Str;
  3494.  
  3495.              ¥Γ« «»¿ßá¡¿Ñ π¬áºδóáÑΓ,  τΓ« »ÑαѼѡ¡á∩ StrLen ñ«½ª¡á αẼÑ-
  3496.         ΘáΓ∞ß∩ ß Γ«ú« ªÑ áñαÑßá, τΓ« ¿ »ÑαѼѡ¡á∩ Str, á »«ß¬«½∞¬π »Ñαóδ⌐
  3497.         íá⌐Γ  ßΓ᫬«ó«⌐ »ÑαѼѡ¡«⌐ ß«ñÑαª¿Γ ñ¿¡á¼¿τÑ߬πε ñ½¿¡π ßΓ᫬¿, Γ«
  3498.         StrLen íπñÑΓ ß«ñÑαªáΓ∞ ñ½¿¡π Str.
  3499.  
  3500.              ¥Γπ óΓ«απε Σ«α¼π «»ÑαáΓ«αá absolute ¼«ª¡« íѺ  «»áßÑ¡¿∩  ¿ß-
  3501.         »«½∞º«óáΓ∞ »α¿ »α«úαá¼¼¿α«óá¡¿¿ ó Windows ¿½¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
  3502.         DOS. Åá¼∩Γ∞,  ¬ ¬«Γ«α«⌐ óδ «íαáΘáÑΓÑß∞, ¡áσ«ñ¿Γß∩ ó «í½áßΓ¿ »α«ú-
  3503.         αá¼¼δ.
  3504.  
  3505.  
  3506.  
  3507.  
  3508.          B.Pascal 7 & Objects/LR      - 76 -
  3509.  
  3510.                               æß佬¿ ¡á »ÑαѼѡ¡δÑ
  3511.         ─────────────────────────────────────────────────────────────────
  3512.  
  3513.              æßδ½¬á ¡á »ÑαѼѡ¡πε ¼«ªÑΓ «í«º¡áτáΓ∞ ß½ÑñπεΘÑÑ:
  3514.  
  3515.              - »ÑαѼѡ¡πε;
  3516.  
  3517.              - ¬«¼»«¡Ñ¡Γ ó »ÑαѼѡ¡«⌐ ßΓαπ¬Γπα¡«ú« ¿½¿ ßΓ᫬«ó«ú« Γ¿»á;
  3518.  
  3519.              - ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε,  ¡á ¬«Γ«απε π¬áºδóáÑΓ  »ÑαѼѡ¡á∩
  3520.                Γ¿»a π¬áºáΓѽ∞.
  3521.  
  3522.              æ¿¡Γá¬ß¿ß ßß佬¿ ¡á »ÑαѼѡ¡πε ¿¼ÑÑΓ ó¿ñ:
  3523.  
  3524.                          ┌─────────────┐
  3525.          ßßδ½¬á ¡á  ─┬──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├────────────────────────────┬──>
  3526.          »ÑαѼѡ¡πε  │   │  »ÑαѼѡ¡«⌐ │        ^^  ┌────────────┐  │
  3527.                      │   └─────────────┘        │└──┤¬óá½¿Σ¿¬áΓ«α│<─┘
  3528.                      │   ┌───────────────┐      │   └────────────┘
  3529.                      ├──>│»α¿óÑñÑ¡¿Ñ Γ¿»á├──────┤
  3530.                      │   │  »ÑαѼѡ¡«⌐   │      │
  3531.                      │   └───────────────┘      └─────┐
  3532.                      │   ┌─────────┐  ┌────────────┐  │
  3533.                      └──>│óδαáªÑ¡¿Ñ├─>│¬óá½¿Σ¿¬áΓ«α├──┘
  3534.                          └─────────┘  └────────────┘
  3535.  
  3536.              ÄΓ¼ÑΓ¿¼, τΓ«  ß¿¡Γá¬ß¿ß  ßß佬¿  ¡á »ÑαѼѡ¡πε ñ«»π߬áÑΓ ¿ß-
  3537.         »«½∞º«óá¡¿Ñ óδαáªÑ¡¿∩, óδτ¿ß½∩εΘÑú« º¡áτÑ¡¿Ñ ßß佫τ¡«ú« Γ¿»á. éδ-
  3538.         αáªÑ¡¿Ñ ñ«½ª¡« ß½Ññ«óáΓ∞ ºá ¬óá½¿Σ¿¬áΓ«α«¼, αáºδ¼Ñ¡«óδóáεΘ¿¼ ßßδ-
  3539.         ½«τ¡«Ñ º¡áτÑ¡¿Ñ (¿½¿ ¿¡ñѬ߿απεΘ¿¼ º¡áτÑ¡¿Ñ¼  π¬áºáΓѽ∩,  Ñß½¿  ß
  3540.         »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ {$X+} αáºαÑΦÑ¡ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß), τΓ« ñáÑΓ
  3541.         Σá¬Γ¿τÑ߬πε ßß佬π ¡á »ÑαѼѡ¡πε.
  3542.  
  3543.  
  3544.  
  3545.  
  3546.          B.Pascal 7 & Objects/LR      - 77 -
  3547.  
  3548.                                   èóá½¿Σ¿¬áΓ«αδ
  3549.         ─────────────────────────────────────────────────────────────────
  3550.  
  3551.              ÄíαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  »ÑαÑ-
  3552.         ¼Ñ¡¡«⌐ ß ¡Ñ߬«½∞¬¿¼¿ ¬óá½¿Σ¿¬áΓ«αἿ ¿½¿ íѺ ¡¿σ, ¬«Γ«αδÑ ¿º¼Ñ¡∩-
  3553.         εΓ º¡áτÑ¡¿Ñ «íαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿¿.
  3554.  
  3555.                                       ┌──────┐
  3556.                    ¬óá½¿Σ¿¬áΓ«α ──┬──>│¿¡ñѬß├──────────>
  3557.                                   │   └──────┘        ^
  3558.                                   │   ┌────────────┐  │
  3559.                                   ├──>│ ñÑß¿ú¡áΓ«α ├──┤
  3560.                                   │   │    »«½∩    │  │
  3561.                                   │   └────────────┘  │
  3562.                                   │   ┌───┐           │
  3563.                                   └──>│ ^ ├───────────┘
  3564.                                       └───┘
  3565.  
  3566.              êñÑ¡Γ¿Σ¿¬áΓ«α ¼áßß¿óá íѺ ¬óá½¿Σ¿¬áΓ«αá ∩ó½∩ÑΓß∩  ßß佬«⌐ ¡á
  3567.         óÑß∞ ¼áßß¿ó, ¡á»α¿¼Ñα:
  3568.  
  3569.              Results
  3570.  
  3571.              êñÑ¡Γ¿Σ¿¬áΓ«α ¼áßß¿óá  ß π¬áºá¡¡δ¼ ¿¡ñѬ߫¼ «í«º¡áτáÑΓ ¬«¡¬-
  3572.         αÑΓ¡δ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá, ó ñá¡¡«¼ ß½πτáÑ ßΓαπ¬Γπα¡πε »ÑαѼѡ¡πε:
  3573.  
  3574.              Results[Current+1]
  3575.  
  3576.              é ß½πτáÑ,  Ñß½¿ φ½Ñ¼Ñ¡Γ«¼ ∩ó½∩ÑΓß∩ ºá»¿ß∞, ºá ¿¡ñѬ߫¼ ¼«ª¡«
  3577.         π¬áºáΓ∞ «í«º¡áτÑ¡¿Ñ »«½∩.  é φΓ«¼ ß½πτáÑ ßßδ½¬á ¡á »ÑαѼѡ¡πε «º-
  3578.         ¡áτáÑΓ ¬«¡¬αÑΓ¡«Ñ »«½Ñ ¬«¡¬αÑΓ¡«ú« φ½Ñ¼Ñ¡Γá ¼áßß¿óá:
  3579.  
  3580.              Results[Current+1].Data
  3581.  
  3582.              äÑß¿ú¡áΓ«α  »«½∩ ó π¬áºáΓѽÑ-»«½Ñ ¼«ªÑΓ ß«»α«ó«ªñáΓ∞ß∩  ß¿¼-
  3583.         ó«½«¼ π¬áºáΓѽ∩ (^) ß ΓѼ,  τΓ«íδ π¬áºáΓ∞ αẽ¿τ¿Ñ ¼Ñªñπ π¬áºáΓÑ-
  3584.         ½Ñ¼-»«½Ñ¼ ¿ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, ¡á ¬«Γ«απε «¡ π¬áºδóáÑΓ.
  3585.  
  3586.               Results[Current+1].Data^
  3587.  
  3588.              àß½¿ »ÑαѼѡ¡á∩,  ¡á ¬«Γ«απε π¬áºδóáÑΓß∩, ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼,
  3589.         Γ«  ¼«ª¡« ñ«íáó¿Γ∞ ¿¡ñѬßδ ñ½∩ «í«º¡áτÑ¡¿∩ ¬«¼»«¡Ñ¡Γ«ó φΓ«ú« ¼áß-
  3590.         ß¿óá.
  3591.  
  3592.               Results[Current+1].Data^[J]
  3593.  
  3594.  
  3595.  
  3596.  
  3597.          B.Pascal 7 & Objects/LR      - 78 -
  3598.  
  3599.                             îáßß¿óδ, ßΓ᫬¿ ¿ ¿¡ñѬßδ
  3600.         ─────────────────────────────────────────────────────────────────
  3601.  
  3602.              è«¡¬αÑΓ¡δ⌐ φ½Ñ¼Ñ¡Γ  ¼áßß¿óá «í«º¡áτáÑΓß∩ ß »«¼«Θ∞ε ßß佬¿ ¡á
  3603.         »ÑαѼѡ¡πε ¼áßß¿óá,  ºá ¬«Γ«α«⌐ π¬áºδóáÑΓß∩ ¿¡ñѬß,  «»αÑñѽ∩εΘ¿⌐
  3604.         ñá¡¡δ⌐ φ½Ñ¼Ñ¡Γ.
  3605.  
  3606.              è«¡¬αÑΓ¡δ⌐ ß¿¼ó«½  ó ßΓ᫬«ó«⌐ »ÑαѼѡ¡«⌐ «í«º¡áτáÑΓß∩ ß »«-
  3607.         ¼«Θ∞ε ßß佬¿ ¡á ßΓ᫬«óπε »ÑαѼѡ¡πε,  ºá ¬«Γ«α«⌐ π¬áºδóáÑΓß∩ ¿¡-
  3608.         ñѬß, «»αÑñѽ∩εΘ¿⌐ »«º¿µ¿ε ß¿¼ó«½á.
  3609.  
  3610.                              ┌───┐        ┌─────────┐        ┌───┐
  3611.                    ¿¡ñѬߠ──>│ [ ├───────>│óδαáªÑ¡¿Ñ├────┬──>│ ] ├──>
  3612.                              └───┘  ^     └─────────┘    │   └───┘
  3613.                                     │       ┌───┐        │
  3614.                                     └───────┤ , │<───────┘
  3615.                                             └───┘
  3616.  
  3617.              ê¡ñѬߡδÑ óδαáªÑ¡¿∩ «í«º¡áτáεΓ ¬«¼»«¡Ñ¡Γδ  ó ß««ΓóÑΓßΓóπεΘÑ⌐
  3618.         αẼÑα¡«ßΓ¿  ¼áßß¿óá.  ù¿ß½«  óδαáªÑ¡¿⌐ ¡Ñ ñ«½ª¡« »αÑóδΦáΓ∞ τ¿ß½á
  3619.         ¿¡ñѬߡδσ Γ¿»«ó ó «»¿ßá¡¿¿ ¼áßß¿óá. ü«½ÑÑ Γ«ú«, Γ¿» ¬áªñ«ú« óδαá-
  3620.         ªÑ¡¿∩  ñ«½ªÑ¡  íδΓ∞ ß«ó¼ÑßΓ¿¼δ¼ »« »α¿ßóá¿óá¡¿ε ß ß««ΓóÑΓßΓóπεΘ¿¼
  3621.         ¿¡ñÑ¬ß¡δ¼ Γ¿»«¼.
  3622.  
  3623.              é ß½πτáÑ ¼¡«ú«¼Ñα¡«ú« ¼áßß¿óá ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ¡Ñ߬«½∞¬«
  3624.         ¿¡ñѬ߫󠿽¿ ¡Ñ߬«½∞¬« óδαáªÑ¡¿⌐ ó ¿¡ñѬßÑ. ìá»α¿¼Ñα:
  3625.  
  3626.              Matrix[I][J]
  3627.  
  3628.         τΓ« Γ«ªñÑßΓóÑ¡¡« ºá»¿ß¿:
  3629.  
  3630.              Matrix[I,J]
  3631.  
  3632.              æΓ᫬«óπε »ÑαѼѡ¡πε  ¼«ª¡«  »α«¿¡ñѬ߿α«óáΓ∞ ß »«¼«Θ∞ε «ñ¿-
  3633.         ¡«τ¡«ú« ¿¡ñѬߡ«ú« óδαáªÑ¡¿∩, º¡áτÑ¡¿Ñ ¬«Γ«α«ú« ñ«½ª¡« íδΓ∞ ó ñ¿-
  3634.         á»áº«¡Ñ  0...n,  úñÑ n - π¬áºá¡¡δ⌐ ó «»¿ßá¡¿¿ αẼÑα ßΓ᫬¿.  ¥Γ«
  3635.         ñáÑΓ ñ«ßΓπ» ¬ ¬áªñ«¼π ß¿¼ó«½π ó ßΓ᫬«ó«¼ º¡áτÑ¡¿¿, Ñß½¿ º¡áτÑ¡¿Ñ
  3636.         ß¿¼ó«½á ¿¼ÑÑΓ Γ¿» Char.
  3637.  
  3638.              ÅÑαóδ⌐ ß¿¼ó«½ ßΓ᫬«ó«⌐ »ÑαѼѡ¡«⌐ (¿¡ñѬߠ0) ß«ñÑαª¿Γ ñ¿¡á-
  3639.         ¼¿τÑ߬πε ñ½¿¡π ßΓ᫬¿,  Γ« ÑßΓ∞ Length(S) Γ«ªñÑßΓóÑ¡¡« Ord(S[0]).
  3640.         àß½¿ áΓα¿íπΓπ ñ½¿¡δ »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ, Γ« ¬«¼»¿½∩Γ«α ¡Ñ »α«-
  3641.         óÑα∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ φΓ« º¡áτÑ¡¿Ñ ¼Ñ¡∞Φ¿¼ «»¿ßá¡¡«ú« αẼÑαá ßΓα«-
  3642.         ¬¿. éδ ¼«ªÑΓÑ π¬áºáΓ∞ ¿¡ñѬߠßΓ᫬¿ ¿ ó¡Ñ ÑÑ ΓѬπΘÑ⌐ ñ¿¡á¼¿τÑ߬«⌐
  3643.         ñ½¿¡δ.  é φΓ«¼ ß½πτáÑ ßτ¿ΓδóáѼδÑ  ß¿¼ó«½δ  íπñπΓ  ß½πτá⌐¡δ¼¿,  á
  3644.         »α¿ßóá¿óá¡¿∩ ó¡Ñ ΓѬπΘÑ⌐ ñ½¿¡δ ¡Ñ »«ó½¿∩εΓ ¡á ñÑ⌐ßΓó¿Γѽ∞¡«Ñ º¡á-
  3645.         τÑ¡¿Ñ ßΓ᫬«ó«⌐ »ÑαѼѡ¡«⌐.
  3646.  
  3647.              è«úñá ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$X+} αáºαÑΦÑ¡  αáßΦ¿-
  3648.         αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß,  º¡áτÑ¡¿Ñ PChar ¼«ªÑΓ ¿¡ñѬ߿α«óáΓ∞ß∩ «ñ¿¡«τ¡δ¼
  3649.         ¿¡ñÑ¬ß¡δ¼ óδαáªÑ¡¿Ñ¼ Γ¿»á Word. ê¡ñѬߡ«Ñ óδαáªÑ¡¿Ñ ºáñáÑΓ ß¼ÑΘÑ-
  3650.         ¡¿Ñ, ¬«Γ«α«Ñ  ¡πª¡«  ñ«íáó¿Γ∞  ¬ ß¿¼ó«½π »ÑαÑñ Ñú« αáºδ¼Ñ¡«ó᡿Ѽ
  3651.         ñ½∩ »«½πτÑ¡¿∩ ßß佬¿ ¡á »ÑαѼѡ¡πε Γ¿»á Char.
  3652.  
  3653.          B.Pascal 7 & Objects/LR      - 79 -
  3654.  
  3655.  
  3656.  
  3657.                            çỿ߿ ¿ ñÑß¿ú¡áΓ«αδ »«½Ñ⌐
  3658.         ─────────────────────────────────────────────────────────────────
  3659.  
  3660.              è«¡¬αÑΓ¡«Ñ »«½Ñ  »ÑαѼѡ¡«⌐-ºá»¿ß¿  «í«º¡áτáÑΓß∩  ß  »«¼«Θ∞ε
  3661.         ßß佬¿ ¡á »ÑαѼѡ¡πε-ºá»¿ß∞,  »«ß½Ñ ¬«Γ«α«⌐ π¬áºδóáÑΓß∩ «í«º¡áτÑ-
  3662.         ¡¿Ñ »«½∩, ß»Ñµ¿Σ¿µ¿απεΘÑÑ φΓ« »«½Ñ.
  3663.  
  3664.                                   ┌───┐    ┌─────────────┐
  3665.              «í«º¡áτÑ¡¿Ñ »«½∩ ───>│ . │───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α│───>
  3666.                                   └───┘    │ »«½∩        │
  3667.                                            └─────────────┘
  3668.  
  3669.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ñÑß¿ú¡áΓ«α«ó »«½Ñ⌐:
  3670.  
  3671.              Today.Year
  3672.              Results[1].Count
  3673.              Result[1].When.Month
  3674.  
  3675.              é «»ÑαáΓ«αÑ,  óσ«ñ∩ΘѼ ó «»ÑαáΓ«α with,  «í«º¡áτÑ¡¿ε »«½∩ ¡Ñ
  3676.         ñ«½ª¡á »αÑñΦÑßΓó«óáΓ∞ ßßδ½¬á ¡á »ÑαѼѡ¡πε, ß«ñÑαªáΘπε ºá»¿ß∞.
  3677.  
  3678.  
  3679.                          äÑß¿ú¡áΓ«αδ ¬«¼»«¡Ñ¡Γ«ó «íΩѬΓá
  3680.         ─────────────────────────────────────────────────────────────────
  3681.  
  3682.              ö«α¼áΓ ñÑß¿ú¡áΓ«αá  ¬«¼»«¡Ñ¡Γá  «íΩѬΓá ß«ó»áñáÑΓ ß Σ«α¼áΓ«¼
  3683.         ñÑß¿ú¡áΓ«αá »«½∩ ºá»¿ß¿. Æ« ÑßΓ∞, «¡ ß«ßΓ«¿Γ ¿º φ¬ºÑ¼»½∩αá (ßßδ½-
  3684.         ¬¿ ¡á »ÑαѼѡ¡πε),  ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ Γ«τ¬á ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¬«¼-
  3685.         »«¡Ñ¡Γá. äÑß¿ú¡áΓ«α ¬«¼»«¡Ñ¡Γá, ¬«Γ«αδ⌐ «í«º¡áτáÑΓ ¼ÑΓ«ñ, ¡áºδóá-
  3686.         ÑΓß∩  ñÑß¿ú¡áΓ«α«¼  ¼ÑΓ«ñá.  è  φ¬ºÑ¼»½∩απ  «íΩÑ¬Γ¡«ú« Γ¿»á ¼«ª¡«
  3687.         »α¿¼Ñ¡¿Γ∞ «»ÑαáΓ«α with.  é φΓ«¼ ß½πτáÑ »α¿ ßßδ½¬Ñ ¡á  ¬«¼»«¡Ñ¡Γδ
  3688.         «íΩÑ¬Γ¡«ú« Γ¿»á φ¬ºÑ¼»½∩α ¿ Γ«τ¬π ¼«ª¡« «»πßΓ¿Γ∞.
  3689.  
  3690.              ¥¬ºÑ¼»½∩α ¿ Γ«τ¬π ¼«ª¡« «»πßΓ¿Γ∞ ΓᬪѠó ½εí«¼ í½«¬Ñ ¼ÑΓ«ñá.
  3691.         Åα¿ φΓ«¼ φΣΣÑ¬Γ íπñÑàëàªÑ,  τΓ« ¿ »α¿ ºá»¿ß¿ »ÑαÑñ ßß佬«⌐  ¡á
  3692.         ¬«¼»«¡Ñ¡Γ Self ¿ Γ«τ¬¿.
  3693.  
  3694.  
  3695.                  ÅÑαѼѡ¡δÑ-π¬áºáΓѽ¿ ¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ
  3696.         ─────────────────────────────────────────────────────────────────
  3697.  
  3698.              ç¡áτÑ¡¿Ñ¼ »ÑαѼѡ¡«⌐-π¬áºáΓѽ∩ ∩ó½∩ÑΓß∩  ¿½¿  nil  (Γ«  ÑßΓ∞
  3699.         »πßΓ«Ñ º¡áτÑ¡¿Ñ), ¿½¿ áñαÑß º¡áτÑ¡¿∩, π¬áºδóáεΘ¿⌐ ¡á ñ¿¡á¼¿τÑ߬πε
  3700.         »ÑαѼѡ¡πε.
  3701.  
  3702.              æßδ½¬á ¡á ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε,  ¡á ¬«Γ«απε π¬áºδóáÑΓ »Ñ-
  3703.         αѼѡ¡á∩-π¬áºáΓѽ∞,  ºá»¿ßδóáÑΓß∩  ó  ó¿ñÑ  »ÑαѼѡ¡«⌐-π¬áºáΓѽ∩,
  3704.         »«ß½Ñ ¬«Γ«α«⌐ ßΓáó¿Γß∩ ß¿¼ó«½ π¬áºáΓѽ∩ (^).
  3705.  
  3706.              ä¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ ¿ º¡áτÑ¡¿∩ ¿σ π¬áºáΓѽÑ⌐ ß«ºñáεΓß∩ ß
  3707.         »«¼«Θ∞ε ßΓá¡ñáαΓ¡δσ »α«µÑñπα New ¿ GetMem. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞
  3708.  
  3709.          B.Pascal 7 & Objects/LR      - 80 -
  3710.  
  3711.         «»Ñαᵿε @ ¿ ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε Ptr ñ½∩ ß«ºñá¡¿∩ º¡áτÑ¡¿⌐ π¬áºá-
  3712.         Γѽ∩, ¬«Γ«αδÑ αáßß¼áΓα¿óáεΓß∩ ¬á¬ π¬áºáΓѽ¿ ñ¿¡á¼¿τÑ߬¿σ »ÑαѼѡ-
  3713.         ¡δσ.
  3714.  
  3715.              ç¡áτÑ¡¿Ñ nil ¡Ñ π¬áºδóáÑΓ ¡¿ ¡á ¬á¬πε  »ÑαѼѡ¡πε.  àß½¿  óδ
  3716.         »«»δΓáÑΓÑß∞ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ »α¿ ¡Ñ«»αÑ-
  3717.         ñѽѡ¡«¼ º¡áτÑ¡¿¿ π¬áºáΓѽ∩ ¿½¿ π¬áºáΓѽÑ,  αáó¡«¼ nil, αѺπ½∞ΓáΓ
  3718.         íπñÑΓ ¡Ñ«»αÑñѽѡ¡δ¼.
  3719.  
  3720.              Åα¿óÑñѼ ¡Ñ߬«½∞¬«  »α¿¼Ñα«ó  ßß佫¬ (π¬áºáΓѽÑ⌐) ¡á ñ¿¡á¼¿-
  3721.         τÑ߬¿Ñ »ÑαѼѡ¡δÑ:
  3722.  
  3723.              P1^
  3724.              P1.Sibling^
  3725.              Results[1].Data^
  3726.  
  3727.  
  3728.  
  3729.  
  3730.          B.Pascal 7 & Objects/LR      - 81 -
  3731.  
  3732.                            Åα¿óÑñÑ¡¿Ñ Γ¿»«ó »ÑαѼѡ¡δσ
  3733.         ─────────────────────────────────────────────────────────────────
  3734.  
  3735.              æßδ½¬á ¡á  »ÑαѼѡ¡πε «ñ¡«ú« Γ¿»á ¼«ªÑΓ íδΓ∞ »αÑ«íαẫóá¡á ó
  3736.         ßß佬π ¡á »ÑαѼѡ¡πε ñαπú«ú« Γ¿»á ß »«¼«Θ∞ε »α¿óÑñÑ¡¿∩ Γ¿»«ó  »Ñ-
  3737.         αѼѡ¡δσ.
  3738.  
  3739.                         ┌─────────────┐   ┌───┐   ┌──────────┐   ┌───┐
  3740.          »α¿óÑñÑ¡¿Ñ ───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──>│ ( ├──>│ßßδ½¬á ¡á ├──>│ ) ├─>
  3741.          Γ¿»«ó          │    Γ¿»á     │   └───┘   │»ÑαѼѡ¡πε│   └───┘
  3742.                         └─────────────┘           └──────────┘
  3743.  
  3744.              è«úñá »α¿óÑñÑ¡¿Ñ Γ¿»«ó »α¿¼Ñ¡∩ÑΓß∩ ¬ ßßδ½¬Ñ  ¡á  »ÑαѼѡ¡πε,
  3745.         ßßδ½¬á  ¡á »ÑαѼѡ¡πε αáßß¼áΓα¿óáÑΓß∩ ¬á¬ φ¬ºÑ¼»½∩α Γ¿»á,  »αÑñß-
  3746.         Γáó½Ñ¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Γ¿»á.  ÉẼÑα »ÑαѼѡ¡«⌐ (τ¿ß½«  íá⌐Γ,
  3747.         ºá¡¿¼áѼδσ »ÑαѼѡ¡«⌐) ñ«½ªÑ¡ íδΓ∞ αáóÑ¡ αẼÑαπ Γ¿»á,  »αÑñßΓáó-
  3748.         ½Ñ¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Γ¿»á.  Å«ß½Ñ »α¿óÑñÑ¡¿∩  Γ¿»á  »ÑαѼѡ¡«⌐
  3749.         ¼«ª¡« π¬áºáΓ∞ «ñ¿¡ ¿½¿ ¡Ñ߬«½∞¬« ¬óá½¿Σ¿¬áΓ«α«ó,  Ñß½¿ φΓ« ñ«»πß-
  3750.         ¬áÑΓß∩ π¬áºá¡¡δ¼ Γ¿»«¼.
  3751.  
  3752.                    Åα¿¼Ñτá¡¿Ñ: Ä»αÑñѽ∩Γ∞  ñ«»πßΓ¿¼«ßΓ∞  »α¿óÑñÑ¡¿∩  Γ¿»á
  3753.               ñ«½ªÑ¡ »α«úαá¼¼¿ßΓ.
  3754.  
  3755.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó »α¿óÑñÑ¡¿∩ Γ¿»«ó »ÑαѼѡ¡δσ:
  3756.  
  3757.              type
  3758.                TByteRec = record
  3759.                             lo, hi: byte;
  3760.                           end;
  3761.                TWordRec = record
  3762.                             low, high: word;
  3763.                           end;
  3764.                TPtrRec = record
  3765.                            ofs, seg: word;
  3766.                          end;
  3767.                PByte = ^Byte;
  3768.              var
  3769.                B: byte;
  3770.                W: word;
  3771.                L: longint;
  3772.                P: pointer;
  3773.              begin
  3774.                W := $1234;
  3775.                B := TByteRec(W).lo;
  3776.                TByteRec(W).hi := 0;
  3777.                L := $1234567;
  3778.                W := TWordRec(L).lo;
  3779.                B := PByte(L)^;
  3780.                P := Ptr($40,$49);
  3781.                W := TPtrRec(P).seg;
  3782.                Inc(TPtrRec(P).Ofs,4);
  3783.              end.
  3784.  
  3785.  
  3786.          B.Pascal 7 & Objects/LR      - 82 -
  3787.  
  3788.              ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á ¿ß»«½∞º«óá¡¿Ñ ñ½∩ ñ«ßΓπ»á ¬  ¼½áñΦ¿¼  ¿
  3789.         ßΓáαΦ¿¼ íá⌐Γá¼ ß½«óá Γ¿»á TByteRec:  φΓ« ß««ΓóÑΓßΓóπÑΓ óßΓα«Ñ¡¡δ¼
  3790.         Σπ¡¬µ¿∩¼ Lo ¿ Hi, Γ«½∞¬« ¡áñ ½Ñó«⌐ τáßΓ∞ε ó «»Ñαᵿ¿ »α¿ßóá¿óá¡¿Ñ
  3791.         ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩ »α¿óÑñÑ¡¿Ñ Γ¿»á. ÄΓ¼ÑΓ¿¼ ΓᬪÑ, τΓ« ñ½∩ ñ«ßΓπ»á
  3792.         ¬ ¼½áñΦ¿¼ ¿ ßΓáαΦ¿¼ ß½«óá¼ ñ½¿¡¡«ú« µÑ½«ú«,  á ΓᬪѠ¬ ß¼ÑΘÑ¡¿ε ¿
  3793.         áñαÑßπ ßÑú¼Ñ¡Γá π¬áºáΓѽ∩ ¿ß»«½∞ºπεΓß∩ Γ¿»δ TWordRec ¿ TPtrRec.
  3794.  
  3795.              Borland Pascal ΓᬪѠ»«½¡«ßΓ∞ε »«ññÑনóáÑΓ »α¿óÑñÑ¡¿Ñ Γ¿»«ó
  3796.         ñ½∩ »α«µÑñπα¡δσ Γ¿»«ó. ìá»α¿¼Ñα, ¿¼Ñ∩ ß½ÑñπεΘ¿Ñ «»¿ßá¡¿∩:
  3797.  
  3798.              type
  3799.                 Func = function(X: Integer): Integer;
  3800.              var
  3801.                 F: Func;
  3802.                 P: Pointer;
  3803.                 N: Integer;
  3804.  
  3805.         óδ ¼«ªÑΓÑ »«ßΓα«¿Γ∞ ß½ÑñπεΘ¿Ñ »α¿ßóá¿óá¡¿∩:
  3806.  
  3807.              F := Func(P); { »α¿ßó«¿Γ∞ F º¡áτÑ¡¿Ñ »α«µÑñπα¡«ú« Γ¿»á ó P }
  3808.              Func(P) := F; { »α¿ßó«¿Γ∞ P º¡áτÑ¡¿Ñ »α«µÑñπα¡«ú« Γ¿»á ó F }
  3809.              @F := P;      { »α¿ßó«¿Γ∞ F º¡áτÑ¡¿Ñ-π¬áºáΓѽ∞ ó P }
  3810.              P := @F;      { »α¿ßó«¿Γ∞ P º¡áτÑ¡¿Ñ-π¬áºáΓѽ∞ ó F }
  3811.              N := F(N);    { óδºóáΓ∞ Σπ¡¬µ¿ε τÑαѺ F }
  3812.              N := Func(P)(N); { óδºóáΓ∞ Σπ¡¬µ¿ε τÑαѺ P }
  3813.  
  3814.              ÄíαáΓ¿ΓÑ ó τáßΓ¡«ßΓ¿ ó¡¿¼á¡¿Ñ ¡á «»Ñαáµ¿ε  »«½πτÑ¡¿∩  áñαÑßá
  3815.         @,  ¬«Γ«αá∩ »α¿¼Ñ¡∩ÑΓß∩ ¬ »ÑαѼѡ¡«⌐ »α«µÑñπα¡«ú« Γ¿»á.  àÑ ¼«ª¡«
  3816.         ¿ß»«½∞º«óáΓ∞ ó ½Ñó«⌐ τáßΓ¿  »α¿ßóá¿óá¡¿∩.  èα«¼Ñ  Γ«ú«,  «Γ¼ÑΓ∞ΓÑ
  3817.         »α¿óÑñÑ¡¿Ñ  Γ¿»á ¡á »«ß½Ññ¡Ñ⌐ ßΓα«¬Ñ »α¿ ó맮óÑ Σπ¡¬µ¿ε τÑαѺ »Ñ-
  3818.         αѼѡ¡πε-π¬áºáΓѽ∞.
  3819.  
  3820.          B.Pascal 7 & Objects/LR      - 83 -
  3821.  
  3822.                             Æ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ
  3823.         ─────────────────────────────────────────────────────────────────
  3824.  
  3825.              Æ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¼«ª¡« ßαáó¡¿Γ∞ ß ¿¡¿µ¿á½¿º¿α«óá¡¡δ-
  3826.         ¼¿ »ÑαѼѡ¡δ¼¿ - »ÑαѼѡ¡δ¼¿,  º¡áτÑ¡¿∩ ¬«Γ«αδσ  «»αÑñѽ∩εΓß∩  ¡á
  3827.         óσ«ñÑ ó ¿σ í½«¬.  é «Γ½¿τ¿Ñ «Γ ¡ÑΓ¿»¿º¿α«óá¡¡δ󠬫¡ßΓá¡Γ ó «»¿ßá-
  3828.         ¡¿¿ Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ π¬áºδóáÑΓß∩ ¬á¬ Γ¿»,  Γᬠ¿ º¡áτÑ¡¿Ñ
  3829.         ¬«¡ßΓá¡Γδ.
  3830.  
  3831.          «»¿ßá¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ
  3832.          │  ┌─────────────┐  ┌───┐  ┌───┐  ┌───┐  ┌──────────────┐
  3833.          └─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─>│ : ├─>│Γ¿»├─>│ = ├─>│Γ¿»¿º¿α«óá¡¡á∩├──>
  3834.             └─────────────┘  └───┘  └───┘  └───┘  │   ¬«¡ßΓá¡Γá  │
  3835.                                                   └──────────────┘
  3836.  
  3837.          Γ¿»¿º¿α«óá¡¡á∩            ┌───────────────────┐
  3838.          ¬«¡ßΓá¡Γá      ──────┬───>│     ¬«¡ßΓá¡Γá     ├───────>
  3839.                               │    └───────────────────┘   ^
  3840.                               │    ┌───────────────────┐   │
  3841.                               ├───>│ áñαÑß¡á∩ ¬«¡ßΓá¡Γá├───┤
  3842.                               │    └───────────────────┘   │
  3843.                               │    ┌───────────────────┐   │
  3844.                               ├───>│ ¬«¡ßΓá¡Γá-¼áßß¿ó  ├───┤
  3845.                               │    └───────────────────┘   │
  3846.                               │    ┌──────────────────┐    │
  3847.                               ├───>│ ¬«¡ßΓá¡Γá-ºá»¿ß∞ ├────┤
  3848.                               │    └──────────────────┘    │
  3849.                               │    ┌───────────────────┐   │
  3850.                               ├───>│ ¬«¡ßΓá¡Γá-«íΩÑ¬Γ  ├───┤
  3851.                               │    └───────────────────┘   │
  3852.                               │    ┌───────────────────┐   │
  3853.                               └───>│¬«¡ßΓá¡Γá-¼¡«ªÑßΓó«├───┘
  3854.                                    └───────────────────┘
  3855.  
  3856.              Æ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¼«ª¡« ¿ß»«½∞º«óáΓ∞  Γ«τ¡«  Γᬠ ªÑ,
  3857.         ¬á¬  »ÑαѼѡ¡δÑ  Γ«ú«  ªÑ ßἫú« Γ¿»á,  ¿ «¡¿ π¬áºδóáεΓß∩ ó ½Ñó«⌐
  3858.         τáßΓ¿ «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩.  ÄΓ¼ÑΓ¿¼,  τΓ« Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ß-
  3859.         Γá¡Γδ  ¿¡¿µ¿á½¿º¿απεΓß∩  Γ«½∞¬«  «ñ¿¡  αẠ - ó ¡áτá½Ñ óδ»«½¡Ñ¡¿∩
  3860.         »α«úαá¼¼δ.  Æá¬¿¼ «íαẫ¼, »α¿ ¬áªñ«¼ ¡«ó«¼ óσ«ñÑ ó »α«µÑñπαπ ¿½¿
  3861.         Σπ¡¬µ¿ε  ½«¬á½∞¡«  «»¿ßá¡¡δÑ  Γ¿»¿º¿α«óá¡¡δÑ  ¬«¡ßΓá¡Γδ ºá¡«ó« ¡Ñ
  3862.         ¿¡¿µ¿á½¿º¿απεΓß∩.
  3863.  
  3864.              èα«¼Ñ «íδτ¡δσ   óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ  º¡áτÑ¡¿Ñ  Γ¿»¿º¿α«óá¡¡«⌐
  3865.         ¬«¡ßΓá¡Γδ ¼«ªÑΓ ºáñáóáΓ∞ß∩ ß »«¼«Θ∞ε áñαÑß¡«ú« óδαáªÑ¡¿∩-¬«¡ßΓá¡-
  3866.         Γδ. ÇñαÑß¡«Ñ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá - φΓ« óδαáªÑ¡¿Ñ, »αÑñπß¼áΓα¿óáε-
  3867.         ΘÑÑ »«½πτÑ¡¿Ñ áñαÑßá,  ß¼ÑΘÑ¡¿∩ ¿½¿ ßÑú¼Ñ¡Γá ú½«íá½∞¡«⌐  »ÑαѼѡ-
  3868.         ¡«⌐, Γ¿»¿º¿α«óá¡¡«⌐  ¬«¡ßΓá¡Γδ,  »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.  ÇñαÑß¡δÑ
  3869.         óδαáªÑ¡¿∩-¬«¡ßΓá¡Γδ ¡Ñ ¼«úπΓ ßßδ½áΓ∞ß∩  ¡á  ½«¬á½∞¡δÑ  »ÑαѼѡ¡δÑ
  3870.         (αáß»«½«ªÑ¡¡δÑ ó  ßΓѬÑ) ¿½¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ (αẼÑΘÑ¡¡δÑ
  3871.         ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿), »«ß¬«½∞¬π ¿σ áñαÑßá
  3872.         ¡Ñ½∞º∩ óδτ¿ß½¿Γ∞ ¡á φΓá»Ñ ¬«¼»¿½∩µ¿¿.
  3873.  
  3874.  
  3875.  
  3876.          B.Pascal 7 & Objects/LR      - 84 -
  3877.  
  3878.                              è«¡ßΓá¡Γδ »α«ßΓ«ú« Γ¿»á
  3879.         ─────────────────────────────────────────────────────────────────
  3880.              Ä»¿ßá¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐  ¬«¡ßΓá¡Γδ  ß »α«ßΓδ¼ Γ¿»«¼ «º¡áτáÑΓ
  3881.         π¬áºá¡¿Ñ º¡áτÑ¡¿∩ ¬«¡ßΓá¡Γδ:
  3882.  
  3883.              const
  3884.                Maximum   : integer = 9999;
  3885.                Factor    : real = -0.1;
  3886.                Breakchar : char = #3;
  3887.  
  3888.              èᬠπªÑ π»«¼¿¡á½«ß∞ αá¡ÑÑ, º¡áτÑ¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ
  3889.         ¼«ª¡« ºáñáΓ∞ ß »«¼«Θ∞ε áñαÑß¡«ú« óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γδ, Γ« ÑßΓ∞ óδ-
  3890.         αáªÑ¡¿∩,  ó ¬«Γ«α«¼ ¿ß»«½∞ºπεΓß∩ áñαÑß, ß¼ÑΘÑ¡¿Ñ ¿½¿ ßÑú¼Ñ¡Γ ú½«-
  3891.         íá½∞¡«⌐ »ÑαѼѡ¡«⌐, Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ, »α«µÑñπαδ ¿½¿ Σπ¡¬-
  3892.         µ¿¿. ìá»α¿¼Ñα:
  3893.  
  3894.              var
  3895.                 Buffer: array[0..1023] of Byte;
  3896.              const
  3897.                 BufferOfs: Word = Ofs(Buffer);
  3898.                 BufferSeg: Word = Seg(Buffer);
  3899.  
  3900.              Å«ß¬«½∞¬π Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá  Σá¬Γ¿τÑ߬¿  »αÑñßΓáó½∩ÑΓ
  3901.         ß«í«⌐ »ÑαѼѡ¡πε ß« º¡áτÑ¡¿Ñ¼ ¬«¡ßΓá¡Γδ,  «¡á ¡Ñ ∩ó½∩ÑΓß∩ óºá¿¼«-
  3902.         ºá¼Ñ¡∩Ѽ«⌐ ñ½∩ «íδτ¡δ󠬫¡ßΓá¡Γ. ìá»α¿¼Ñα, «¡á ¡Ñ ¼«ªÑΓ ¿ß»«½∞º«-
  3903.         óáΓ∞ß∩ ó «»¿ßá¡¿¿ ñαπú¿σ ¬«¡ßΓá¡Γ ¿½¿ Γ¿»«ó.
  3904.  
  3905.              const
  3906.                Min : integer = 0;
  3907.                Max : integer = 99;
  3908.              type
  3909.                Vector = array[Min..Max] of integer;
  3910.  
  3911.              Ä»¿ßá¡¿Ñ Vector ∩ó½∩ÑΓß∩ ¡Ññ«»πßΓ¿¼δ¼,  »«ß¬«½∞¬π Min ¿  Max
  3912.         ∩ó½∩εΓß∩ Γ¿»¿º¿α«óá¡¡δ¼¿ ¬«¡ßΓá¡ΓἿ.
  3913.  
  3914.  
  3915.                             è«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á
  3916.         ─────────────────────────────────────────────────────────────────
  3917.              Ä»¿ßá¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐  ¬«¡ßΓá¡Γδ  ßΓ᫬«ó«ú« Γ¿»á ß«ñÑনΓ
  3918.         ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ßΓ᫬¿ ¿ ÑÑ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ:
  3919.  
  3920.              const
  3921.                Heading  : string[7] = 'Section';
  3922.                NewLine  : string[2] = #13#10;
  3923.                TrueStr  : string[5] = 'Yes';
  3924.                FalseStr : string[5] = 'No';
  3925.  
  3926.          B.Pascal 7 & Objects/LR      - 85 -
  3927.  
  3928.  
  3929.                            è«¡ßΓá¡Γδ ßΓαπ¬Γπα¡«ú« Γ¿»á
  3930.         ─────────────────────────────────────────────────────────────────
  3931.  
  3932.              Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ  ßΓαπ¬Γπα¡«ú«  Γ¿»á  «»αÑñѽ∩ÑΓ  º¡áτÑ¡¿Ñ
  3933.         ¬áªñ«ú« ¬«¼»«¡Ñ¡Γá ßΓαπ¬Γπαδ.  Borland Pascal »«ññÑনóáÑΓ «»¿ßá-
  3934.         ¡¿∩ ¬«¡ßΓá¡Γ Γ¿»á ¼áßß¿ó, ºá»¿ß∞, ¼¡«ªÑßΓó« ¿ π¬áºáΓѽ∞. è«¡ßΓá¡-
  3935.         Γδ Σá⌐½«ó«ú« Γ¿»á ¿ ¬«¡ßΓá¡Γδ Γ¿»á ¼áß߿󠿽¿ ºá»¿ß∞,  ß«ñÑαªáΘ¿Ñ
  3936.         ¬«¼»«¡Ñ¡Γδ Σá⌐½«ó«ú« Γ¿»á, ¡Ñ ñ«»π߬áεΓß∩.
  3937.  
  3938.  
  3939.  
  3940.  
  3941.          B.Pascal 7 & Objects/LR      - 86 -
  3942.  
  3943.                               è«¡ßΓá¡Γδ Γ¿»á ¼áßß¿ó
  3944.         ─────────────────────────────────────────────────────────────────
  3945.  
  3946.              Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ  Γ¿»á ¼áßß¿ó ß«ñÑαª¿Γ º¡áτÑ¡¿∩ φ½Ñ¼Ñ¡Γ«ó,
  3947.         ºá¬½ετÑ¡¡δÑ ó ß¬«í¬¿ ¿ αáºñѽѡ¡δÑ ºá»∩Γ묨.
  3948.  
  3949.                                   ┌───┐     ┌──────────────┐     ┌───┐
  3950.             ¬«¡ßΓá¡Γá-¼áßß¿ó  ───>│ ( ├────>│Γ¿»¿º¿α«óá¡¡á∩├──┬─>│ ) ├──>
  3951.                                   └───┘  ^  │   ¬«¡ßΓá¡Γá  │  │  └───┘
  3952.                                          │  └──────────────┘  │
  3953.                                          │      ┌───┐         │
  3954.                                          └──────┤ , │<────────┘
  3955.                                                 └───┘
  3956.  
  3957.              Åα¿óÑñѼ »α¿¼Ñα ¬«¡ßΓá¡Γδ Γ¿»á ¼áßß¿ó:
  3958.  
  3959.              type
  3960.                Status = (Active,Passive,Waiting);
  3961.                StatusMap = array[Status] of string[7];
  3962.              const
  3963.                StatStr: StatusMap = ('Active','Passive','Waiting');
  3964.  
  3965.              é φΓ«¼ »α¿¼ÑαÑ «»αÑñѽ∩ÑΓß∩ ¬«¡ßΓá¡Γá-¼áßß¿ó StarStr,  ¬«Γ«-
  3966.         αá∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ »αÑ«íαẫóá¡¿∩ º¡áτÑ¡¿⌐  Γ¿»á Status
  3967.         ó ß««ΓóÑΓßΓóπεΘ¿Ñ ¿¼ ßΓ᫬«óδÑ »αÑñßΓáó½Ñ¡¿∩.  ¥½Ñ¼Ñ¡ΓἿ ¼áßß¿óá
  3968.         StarStr ∩ó½∩εΓß∩:
  3969.  
  3970.              StatStr[Active]  =  'Active'
  3971.              StatStr[Passive] =  'Passive'
  3972.              StatStr[Waiting] =  'Waiting'
  3973.  
  3974.              Æ¿» φ½Ñ¼Ñ¡Γá ¬«¡ßΓá¡Γδ-¼áßß¿óá ¼«ªÑΓ íδΓ∞ ½εíδ¼,  ¬α«¼Ñ Σá⌐-
  3975.         ½«ó«ú«  Γ¿»á.  ô»á¬«óá¡¡δÑ  ¬«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á (ß¿¼ó«½∞¡δÑ
  3976.         ¼áßß¿óδ) ¼«úπΓ íδΓ∞ «»αÑñÑ½Ñ¡δ ¿ ¬á¬  «ñ¿¡«τ¡δÑ  ß¿¼ó«½δ,  ¿  ¬á¬
  3977.         ßΓ᫬¿. Ä»αÑñѽѡ¿Ñ:
  3978.  
  3979.              const
  3980.              Digits:array[0..9] of
  3981.                   char=('0','1','2','3','4','5','6','7','8','9');
  3982.  
  3983.         ¼«ª¡« »αÑñßΓáó¿Γ∞ ó í«½ÑÑ πñ«í¡«¼ ó¿ñÑ:
  3984.  
  3985.              const
  3986.                Digits: array[0..9] of char = '0123456789';
  3987.  
  3988.              Åα¿ αáºαÑΦÑ¡¿¿ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá (ß »«¼«Θ∞ε  ñ¿αÑ¬Γ¿óδ
  3989.         ¬«¼»¿½∩Γ«αá {$X+})  ¼áßß¿óδ ß ¡π½Ñó«⌐ íẫ⌐ ¼«úπΓ ¿¡¿µ¿á½¿º¿α«óá-
  3990.         Γ∞ß∩ ßΓ᫬«⌐, ¬«Γ«αá∩ ¬«α«τÑ, τѼ «»¿ßá¡¡á∩ ñ½¿¡á ¼áßß¿óá, ¡á»α¿-
  3991.         ¼Ñα:
  3992.  
  3993.              const
  3994.                 FileName = array[0..79] of Char = 'TEXT.PAS';
  3995.  
  3996.  
  3997.          B.Pascal 7 & Objects/LR      - 87 -
  3998.  
  3999.              é Γᬿσ ß½πτá∩σ «ßΓáóΦ¿Ñß∩ ß¿¼ó«½δ  πßΓá¡áó½¿óáεΓß∩  ó  NULL
  4000.         (#0), ¿ ¼áßß¿ó ß«ñÑαª¿Γ ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼.
  4001.  
  4002.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ  «  ßΓ᫬áσ  ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼
  4003.               αáß߬áºδóáÑΓß∩ ó â½áóÑ 18.
  4004.  
  4005.              Åα¿ «»¿ßá¡¿¿ ¬«¡ßΓá¡Γδ Γ¿»á "¼¡«ú«¼Ñα¡δ⌐  ¼áßß¿ó"  ¬«¡ßΓá¡Γδ
  4006.         ¬áªñ«⌐  αẼÑα¡«ßΓ¿  ºá¬½ετáεΓß∩ ó «Γñѽ∞¡δѠ߬«í¬¿ ¿ αáºñѽ∩εΓß∩
  4007.         ºá»∩Γ묨.  Éáß»«½«ªÑ¡¡δÑ ó ßÑαÑñ¿¡Ñ ¬«¡ßΓá¡Γδ ß««ΓóÑΓßΓóπεΓ ßá¼δ¼
  4008.         »αáóδ¼ αẼÑα¡«ßΓ∩¼. Ä»¿ßá¡¿Ñ:
  4009.  
  4010.              type
  4011.                Cube = array[0..1,0..1,0..1] of integer;
  4012.              const
  4013.                Maze: Cube = (((0,1),(2,3)),((4,5),(6,7)));
  4014.  
  4015.         ºáñáÑΓ ß½ÑñπεΘ¿Ñ ¡áτá½∞¡δÑ º¡áτÑ¡¿∩ ¼áßß¿óá Maze:
  4016.  
  4017.              Maze[0, 0, 0] = 0
  4018.              Maze[0, 0, 1] = 1
  4019.              Maze[0, 1, 0] = 2
  4020.              Maze[0, 1, 1] = 3
  4021.              Maze[1, 0, 0] = 4
  4022.              Maze[1, 0, 1] = 5
  4023.              Maze[1, 1, 0] = 6
  4024.              Maze[1, 1, 1] = 7
  4025.  
  4026.  
  4027.  
  4028.  
  4029.          B.Pascal 7 & Objects/LR      - 88 -
  4030.  
  4031.                               è«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞
  4032.         ─────────────────────────────────────────────────────────────────
  4033.  
  4034.              Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞ ß«ñÑαª¿Γ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿ º¡á-
  4035.         τÑ¡¿Ñ ¬áªñ«ú« »«½∩,  ºá¬½ετÑ¡¡δÑ ó ß¬«í¬¿ ¿ αáºñѽѡ¡δÑ Γ«τ¬á¼¿ ß
  4036.         ºá»∩Γ«⌐.
  4037.  
  4038.          ¬«¡ßΓá¡Γá-ºá»¿ß∞
  4039.          │  ┌───┐    ┌─────────────┐  ┌───┐  ┌──────────────┐    ┌───┐
  4040.          └─>│ ( ├───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─>│ : ├─>│Γ¿»¿º¿α«óá¡¡á∩├─┬─>│ ) ├─>
  4041.             └───┘ ^  │     »«½∩    │  └───┘  │   ¬«¡ßΓá¡Γá  │ │  └───┘
  4042.                   │  └─────────────┘         └──────────────┘ │
  4043.                   │                   ┌───┐                   │
  4044.                   └───────────────────┤ ; │<──────────────────┘
  4045.                                       └───┘
  4046.  
  4047.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¬«¡ßΓá¡Γ-ºá»¿ßÑ⌐:
  4048.  
  4049.              type
  4050.                Point  = record
  4051.                           x,y: real;
  4052.                         end;
  4053.                Vector = array[0..1] of Point;
  4054.                Month  =
  4055.                    (Jan,Feb,Mar,Apr,May,Jun,Jly,Aug,Sep,Oct,Nov,Dec);
  4056.                Date   = record
  4057.                           d: 1..31; m: Month; y: 1900..1999;
  4058.                         end;
  4059.              const
  4060.                Origin  : Point = (x: 0.0; y: 0.0);
  4061.                Line    : Vector = ((x: -3.1; y: 1.5),(x: 5.8; y: 3.0));
  4062.                SomeDay : Date = (d: 2; m: Dec; y: 1960);
  4063.  
  4064.              Å«½∩ ñ«½ª¡δ π¬áºδóáΓ∞ß∩ ó Γ«¼ ªÑ »«α∩ñ¬Ñ,  ¬á¬ «¡¿ ß½ÑñπεΓ ó
  4065.         «»¿ßá¡¿¿ Γ¿»á ºá»¿ß∞.  àß½¿ ºá»¿ß∞ ß«ñÑαª¿Γ »«½∩ Σá⌐½«ó«ú«  Γ¿»á,
  4066.         Γ«  ñ½∩  φΓ«ú« Γ¿»á ºá»¿ß∞ ¡Ñ½∞º∩ «»¿ßáΓ∞ ¬«¡ßΓá¡Γπ.  àß½¿ ºá»¿ß∞
  4067.         ß«ñÑαª¿Γ óáα¿á¡Γ, Γ« ¼«ª¡« π¬áºδóáΓ∞ Γ«½∞¬« »«½∩ óδíαá¡¡«ú« óáα¿-
  4068.         á¡Γá. àß½¿ óáα¿á¡Γ ß«ñÑαª¿Γ »«½Ñ »α¿º¡á¬á, Γ« Ñú« º¡áτÑ¡¿Ñ ñ«½ª¡«
  4069.         íδΓ∞ «»αÑñѽѡ«.
  4070.  
  4071.  
  4072.          B.Pascal 7 & Objects/LR      - 89 -
  4073.  
  4074.  
  4075.                             è«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á
  4076.         ─────────────────────────────────────────────────────────────────
  4077.  
  4078.              Åα¿ «»¿ßá¡¿¿  ¬«¡ßΓá¡Γδ  «íΩÑ¬Γ¡«ú« Γ¿»á ¿ß»«½∞ºπÑΓß∩ Γ«Γ ªÑ
  4079.         ß¿¡Γá¬ß¿ß, τΓ« ¿ »α¿ «»¿ßá¡¿¿ ¬«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞. ç¡áτÑ¡¿∩ ñ½∩
  4080.         φ½Ñ¼Ñ¡Γ«ó (¬«¼»«¡Ñ¡Γ«ó) ¼ÑΓ«ñá ºáñáóáΓ∞ß∩ ¡Ñ ¼«úπΓ. æ πτÑΓ«¼ »α¿-
  4081.         ó«ñ¿¼δσ αá¡ÑÑ «»¿ßá¡¿⌐ «íΩÑ¬Γ¡δσ Γ¿»«ó, »α¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñ-
  4082.         αδ ¬«¡ßΓá¡Γ «íΩÑ¬Γ¡«ú« Γ¿»á:
  4083.  
  4084.              const
  4085.                 ZeroPoint: Point = (X: 0; Y: 0)
  4086.                 ScreenRect: Rect = (A: (X: 0; Y: 0); B: (X: 80; Y: 25);
  4087.                 CountField: NumField = (X: 5; Y: 20; Len: 4; Name: nil;
  4088.                   Value: 0; Min: -999; Max: 999);
  4089.  
  4090.              è«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á,  ¬«Γ«αδÑ ß«ñÑαªáΓ ó¿αΓπá½∞¡δÑ ¼Ñ-
  4091.         Γ«ñδ,  ¡Ñ ΓαÑíπÑΓß∩ ¿¡¿µ¿á½¿º¿α«óáΓ∞ ß »«¼«Θ∞ε ó맮óá ¬«¡ßΓαπ¬Γ«-
  4092.         αá. ¥Γá ¿¡¿µ¿á½¿ºáµ¿∩ áóΓ«¼áΓ¿τÑ߬¿ óδ»«½¡∩ÑΓß∩ ¬«¼»¿½∩Γ«α«¼.
  4093.  
  4094.  
  4095.  
  4096.  
  4097.          B.Pascal 7 & Objects/LR      - 90 -
  4098.  
  4099.                           è«¡ßΓá¡Γδ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
  4100.         ─────────────────────────────────────────────────────────────────
  4101.  
  4102.              Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á ¼«ªÑΓ ß«ñÑαªáΓ∞  ¡Ñß-
  4103.         ¬«½∞¬«  φ½Ñ¼Ñ¡Γ«ó,  ºá¬½ετÑ¡¡δσ ó ¬óáñαáΓ¡δѠ߬«í¬¿ ¿ αáºñѽѡ¡δσ
  4104.         ºá»∩Γ묨. èáªñδ⌐ φ½Ñ¼Ñ¡Γ Γᬫ⌐ ¬«¡ßΓá¡Γδ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¡ß-
  4105.         Γá¡Γπ ¿½¿ «ΓαѺ«¬ Γ¿»á,  ß«ßΓ«∩Θ¿⌐ ¿º ñóπ󠬫¡ßΓá¡Γ,  αáºñѽѡ¡δσ
  4106.         ñóπ¼∩ Γ«τ¬á¼¿.
  4107.  
  4108.                                ┌───┐                               ┌───┐
  4109.          ¬«¡ßΓá¡Γá-¼¡«ªÑßΓó« ─>│ [ ├─┬────────────────────────────>│ ] ├>
  4110.                                └───┘ │    ┌─────────────────┐   ^  └───┘
  4111.                                      └───>│¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ├─┬─┘
  4112.                                        ^  └─────────────────┘ │
  4113.                                        │        ┌───┐         │
  4114.                                        └────────┤ , │<────────┘
  4115.                                                 └───┘
  4116.  
  4117.                                 ┌─────────┐
  4118.          ¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ ────>│¬«¡ßΓá¡Γá├──┬─────────────────────────>
  4119.                                 └─────────┘  │  ┌──┐   ┌─────────┐  ^
  4120.                                              └─>│..├──>│¬«¡ßΓá¡Γá├──┘
  4121.                                                 └──┘   └─────────┘
  4122.  
  4123.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¬«¡ßΓá¡Γ-¼¡«ªÑßΓó:
  4124.  
  4125.              type
  4126.                Digits  = set of 0..9;
  4127.                Letters = set of 'A'..'Z';
  4128.              const
  4129.                EvenDigits: Digits = [0,2,4,6,8];
  4130.                Vowels    : Letters = ['A','E','I','O','U','Y'];
  4131.                HexDigits : set of '0'..'z' =
  4132.               ['0'..'9','A'..'F','a'..'f'];
  4133.  
  4134.  
  4135.  
  4136.  
  4137.          B.Pascal 7 & Objects/LR      - 91 -
  4138.  
  4139.                             è«¡ßΓá¡Γδ ßß佫τ¡«ú« Γ¿»á
  4140.         ─────────────────────────────────────────────────────────────────
  4141.  
  4142.              Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ  ßß佫τ¡«ú«  Γ¿»á  ¼«ªÑΓ ß«ñÑαªáΓ∞ Γ«½∞¬«
  4143.         º¡áτÑ¡¿Ñ nil (»πßΓ«). Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó:
  4144.  
  4145.              type
  4146.                 TDirection = (Left, Right, Up, Down);
  4147.                 TStringPtr = ^String;
  4148.                 TNodePtr = ^Node;
  4149.                 TNode = record
  4150.                           Next: NodePtr;
  4151.                           Symbol: StringPtr;
  4152.                           Value: Direction;
  4153.                         end;
  4154.              const
  4155.                   S1: string[4] = 'DOWN';
  4156.                   S2: string[2] = 'UP';
  4157.                   S3: string[5] = 'RIGHT';
  4158.                   S4: string[4] = 'LEFT';
  4159.                   N1: Node = (Next: nil; Symbol: @S1; Value: Down);
  4160.                   N2: Node = (Next: @N1; Symbol: @S2; Value: Up);
  4161.                   N3: Node = (Next: @N2; Symbol: @S3; Value: Right);
  4162.                   N2: Node = (Next: @N3; Symbol: @S4; Value: Left);
  4163.                   DirectionTable: NodePtr = @N4;
  4164.  
  4165.              àß½¿ αáºαÑΦÑ¡ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß (π¬áºá¡á ñ¿αÑ¬Γ¿óá  ¬«¼-
  4166.         »¿½∩Γ«αá {$X+}), Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá Γ¿»á PChar ¼«ªÑΓ ¿¡¿µ¿-
  4167.         á½¿º¿α«óáΓ∞ß∩ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐, ¡á»α¿¼Ñα:
  4168.  
  4169.              const
  4170.                 Message: PChar = 'Åα«úαἼᠺáóÑαΦÑ¡á';
  4171.                 Prompt: PChar = 'éóÑñ¿ΓÑ º¡áτÑ¡¿∩: ';
  4172.                 Digits: array[0..9] of PChar = (
  4173.                     '쫽∞', 'Äñ¿¡', 'äóá', 'Æα¿', 'ùÑΓδαÑ',
  4174.                     'Å∩Γ∞', 'ÿÑßΓ∞', 'æÑ¼∞', 'é«ßѼ∞', 'äÑó∩Γ∞');
  4175.  
  4176.              ÉѺπ½∞ΓáΓ«¼ íπñÑΓ Γ«,  τΓ« π¬áºáΓѽ∞ ΓÑ»Ñα∞ π¬áºδóáÑΓ ¡á «í-
  4177.         ½áßΓ∞ »á¼∩Γ¿,  ß«ñÑαªáΘπε ¬«»¿ε ßΓ᫬«ó«ú« ½¿ΓÑαá½á ß ºáóÑαΦáεΘ¿¼
  4178.         ¡π½Ñ¼. Å«ñα«í¡«ßΓ¿ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 18 "æΓ᫬¿ ß ºáóÑαΦáε-
  4179.         Θ¿¼ ¡π½Ñ¼".
  4180.  
  4181.  
  4182.  
  4183.  
  4184.          B.Pascal 7 & Objects/LR      - 92 -
  4185.  
  4186.                            è«¡ßΓá¡Γδ »α«µÑñπα¡«ú« Γ¿»á
  4187.         ─────────────────────────────────────────────────────────────────
  4188.  
  4189.              è«¡ßΓá¡Γδ »α«µÑñπα¡«ú«  Γ¿»á ñ«½ª¡δ «»αÑñѽ∩Γ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α
  4190.         »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,  ß«ó¼ÑßΓ¿¼δ⌐ »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ ¬«¡ß-
  4191.         Γá¡Γδ.
  4192.  
  4193.                                           ┌─────────────────┐
  4194.          »α«µÑñπα¡á∩ ¬«¡ßΓá¡Γá ──────┬───>│¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ├───────────>
  4195.                                      │    └─────────────────┘   ^
  4196.                                      │    ┌─────────────────┐   │
  4197.                                      ├───>│¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ├───┤
  4198.                                      │    └─────────────────┘   │
  4199.                                      │          ┌───┐           │
  4200.                                      └─────────>│nil├───────────┘
  4201.                                                 └───┘
  4202.  
  4203.              Åα¿óÑñѼ ß½ÑñπεΘ¿⌐ »α¿¼Ñα:
  4204.  
  4205.              type
  4206.                 ErrorProc = procedure(ErrorCode: Integer);
  4207.  
  4208.              procedure DefaultError(ErrorCode: Integer); far;
  4209.              begin
  4210.                   WriteLn('Error ', ErrorCode, '.');
  4211.              end;
  4212.  
  4213.              const
  4214.                   ErrorHandler: ErrorProc = DefaultError;
  4215.  
  4216.  
  4217.  
  4218.  
  4219.          B.Pascal 7 & Objects/LR      - 93 -
  4220.  
  4221. ───────────────────────────────────────────────────────────────────────
  4222.                                â½áóá 6. éδαáªÑ¡¿∩
  4223.         ─────────────────────────────────────────────────────────────────
  4224.  
  4225.              éδαáªÑ¡¿∩ ß«ßΓ«∩Γ ¿º «»Ñαᵿ⌐ ¿ «»Ñαá¡ñ«ó.  ü«½∞Φ¿¡ßΓó« «»Ñ-
  4226.         αᵿ⌐  ó  ∩ºδ¬Ñ Åá߬á½∞ ∩ó½∩εΓß∩ í¿¡áα¡δ¼¿,  Γ« ÑßΓ∞ ß«ñÑαªáΓ ñóá
  4227.         «»Ñαá¡ñá.  ÄßΓá½∞¡δÑ «»Ñαᵿ¿ ∩ó½∩εΓß∩ π¡áα¡δ¼¿ ¿ ß«ñÑαªáΓ Γ«½∞¬«
  4228.         «ñ¿¡ «»Ñαá¡ñ. é í¿¡áα¡δσ «»Ñαᵿ∩σ ¿ß»«½∞ºπÑΓß∩ «íδτ¡«Ñ á½úÑíαá¿-
  4229.         τÑ߬«Ñ »αÑñßΓáó½Ñ¡¿Ñ, ¡á»α¿¼Ñα: a+b. é π¡áα¡δσ «»Ñαᵿ∩σ «»Ñαᵿ∩
  4230.         óßÑúñá »αÑñΦÑßΓóπÑΓ «»Ñαá¡ñπ, ¡á»α¿¼Ñα: -b.
  4231.  
  4232.              é í«½ÑÑ  ß½«ª¡δσ  óδαáªÑ¡¿∩σ »«α∩ñ«¬,  ó ¬«Γ«α«¼ óδ»«½¡∩εΓß∩
  4233.         «»Ñαᵿ¿, ß««ΓóÑΓßΓóπÑΓ »α¿«α¿ΓÑΓπ «»Ñαᵿ⌐ (ß¼. Æáí½¿µπ 6.1).
  4234.  
  4235.                               æΓáαΦ¿¡ßΓó« «»Ñαᵿ⌐            Æáí½¿µá 6.1
  4236.         ┌────────────────────┬─────────────────────┬────────────────────┐
  4237.         │    Ä»Ñαᵿ∩        │      Åα¿«α¿ΓÑΓ      │     é¿ñ «»Ñαᵿ¿   │
  4238.         ├────────────────────┼─────────────────────┼────────────────────┤
  4239.         │  @, not            │   »Ñαóδ⌐ (óδßΦ¿⌐)   │   π¡áα¡á∩ «»Ñαᵿ∩ │
  4240.         ├────────────────────┼─────────────────────┼────────────────────┤
  4241.         │  *, /, div, mod,   │       óΓ«α«⌐        │ «»Ñαᵿ∩ π¼¡«ªÑ¡¿∩,│
  4242.         │  and, shl, shr     │                     │ ñѽѡ¿∩, ßñó¿úá... │
  4243.         ├────────────────────┼─────────────────────┼────────────────────┤
  4244.         │  +, -, or, xor     │       ΓαÑΓ¿⌐        │  «»Ñαᵿ∩ ß½«ªÑ¡¿∩ │
  4245.         ├────────────────────┼─────────────────────┼────────────────────┤
  4246.         │  =, <>, <, >,      │  τÑΓóÑαΓδ⌐ (¡¿ºΦ¿⌐) │ «»Ñαᵿ∩ «Γ¡«ΦÑ¡¿∩ │
  4247.         │  <=, >=, in        │                     │                    │
  4248.         └────────────────────┴─────────────────────┴────────────────────┘
  4249.  
  4250.              ä½∩ «»αÑñѽѡ¿¿ ßΓáαΦ¿¡ßΓóá «»Ñαᵿ⌐  ¿¼ÑÑΓß∩  Γα¿  «ß¡«ó¡δσ
  4251.         »αáó¿½á:
  4252.  
  4253.              1.  é«-»Ñαóδσ, «»Ñαá¡ñ, ¡áσ«ñ∩Θ¿⌐ß∩ ¼Ñªñπ ñóπ¼∩ «»Ñαᵿ∩¼¿ ß
  4254.                  αẽ¿τ¡δ¼¿ »α¿«α¿ΓÑΓἿ,  ßó∩ºδóáÑΓß∩ ß «»ÑαᵿÑ⌐, ¿¼Ñε-
  4255.                  ΘÑ⌐ í«½ÑÑ óδß«¬¿⌐ »α¿«α¿ΓÑΓ.
  4256.  
  4257.              2.  é«-óΓ«αδσ,  «»Ñαᵿ∩, ¡áσ«ñ∩Θá∩ß∩ ¼Ñªñπ ñóπ¼∩ «»Ñαᵿ∩¼¿
  4258.                  ß αáó¡δ¼¿ »α¿«α¿ΓÑΓἿ, ßó∩ºδóáÑΓß∩ ß Γ«⌐ «»ÑαᵿÑ⌐, ¬«-
  4259.                  Γ«αá∩ ¡áσ«ñ¿Γß∩ ß½Ñóá «Γ ¡Ñú«.
  4260.  
  4261.              3.  é-ΓαÑΓ∞¿σ, óδαáªÑ¡¿Ñ, ºá¬½ετÑ¡¡«Ñ ó ß¬«í¬¿, »ÑαÑñ óδ»«½-
  4262.                  ¡Ñ¡¿Ñ¼ óδτ¿ß½∩ÑΓß∩, ¬á¬ «Γñѽ∞¡δ⌐ «»Ñαá¡ñ.
  4263.  
  4264.              Ä»Ñαᵿ¿ ß αáó¡δ¼ »α¿«α¿ΓÑΓ«¼ «íδτ¡« óδ»«½¡∩εΓß∩  ß½Ñóá-¡á»-
  4265.         αáó«,  σ«Γ∩ ¿¡«úñá ¬«¼»¿½∩Γ«α »α¿ úÑ¡Ñαᵿ¿ «»Γ¿¼á½∞¡«ú« ¬«ñá ¼«-
  4266.         ªÑΓ »ÑαÑπ»«α∩ñ«τ¿Γ∞ «»Ñαá¡ñδ.
  4267.  
  4268.  
  4269.  
  4270.  
  4271.          B.Pascal 7 & Objects/LR      - 94 -
  4272.  
  4273.                                æ¿¡Γá¬ß¿ß óδαáªÑ¡¿⌐
  4274.         ─────────────────────────────────────────────────────────────────
  4275.  
  4276.              Åαáó¿½á, «»αÑñѽ∩εΘ¿Ñ  »«α∩ñ«¬ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐, óδΓѬáεΓ
  4277.         ¿º ß¿¡Γá¬ß¿ßá óδαáªÑ¡¿⌐, ¬«Γ«αδÑ ßΓα«∩Γß∩ ¿º ¼¡«ª¿ΓѽÑ⌐, ΓÑମó ¿
  4278.         »α«ßΓδσ óδαáªÑ¡¿⌐.
  4279.  
  4280.              î¡«ª¿Γѽ∞ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  4281.  
  4282.                                         ┌───────────────┐
  4283.            ¼¡«ª¿Γѽ∞ ───┬──────────────>│  ßßδ½¬á ¡á    ├───────────>
  4284.                         │               │  »ÑαѼѡ¡πε   │      ^
  4285.                         │               └───────────────┘      │
  4286.                         │     ┌─────────┐                      │
  4287.                         ├────>│¬«¡ßΓá¡Γá├──────────────────────┤
  4288.                         │     │íѺ º¡á¬á│                      │
  4289.                         │     └─────────┘                      │
  4290.                         │     ┌───┐     ┌─────────┐    ┌───┐   │
  4291.                         ├────>│ ( ├────>│óδαáªÑ¡¿Ñ│───>│ ) ├───┤
  4292.                         │     └───┘     └─────────┘    └───┘   │
  4293.                         │     ┌───┐     ┌─────────┐            │
  4294.                         ├────>│not├────>│¼¡«ª¿Γѽ∞├────────────┤
  4295.                         │     └───┘     └─────────┘            │
  4296.                         │     ┌────┐    ┌─────────┐            │
  4297.                         ├────>│º¡á¬├───>│¼¡«ª¿Γѽ∞├────────────┤
  4298.                         │     └────┘    └─────────┘            │
  4299.                         │     ┌─────────┐                      │
  4300.                         ├────>│  ó맮ó  ├──────────────────────┤
  4301.                         │     │ Σπ¡¬µ¿¿ │                      │
  4302.                         │     └─────────┘                      │
  4303.                         │     ┌───────────┐                    │
  4304.                         ├────>│¬«¡ßΓαπ¬Γ«α├────────────────────┤
  4305.                         │     │ ¼¡«ªÑßΓóá │                    │
  4306.                         │     └───────────┘                    │
  4307.                         │     ┌───────────┐                    │
  4308.                         ├────>│  áñαÑß¡δ⌐ ├────────────────────┤
  4309.                         │     │ ¼¡«ª¿Γѽ∞ │                    │
  4310.                         │     └───────────┘                    │
  4311.                         │     ┌──────────────┐                 │
  4312.                         └────>│  »α¿óÑñÑ¡¿Ñ  ├─────────────────┘
  4313.                               │Γ¿»á º¡áτÑ¡¿∩ │
  4314.                               └──────────────┘
  4315.  
  4316.              é맮ó Σπ¡¬µ¿¿ á¬Γ¿ó¿º¿απÑΓ Σπ¡¬µ¿ε ¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐ º¡á-
  4317.         τÑ¡¿∩,  ó«ºóαáΘáѼδÑ Σπ¡¬µ¿Ñ⌐ (ß¼. ñá½ÑÑ ó φΓ«⌐ ú½áóÑ αáºñѽ "éδ-
  4318.         º«óδ  Σπ¡¬µ¿⌐").  Ä»¿ßáΓѽ∞ ¼¡«ªÑßΓóá »αÑñßΓáó½∩ÑΓ ß«í«⌐ º¡áτÑ¡¿Ñ
  4319.         ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á (ß¼.  αáºñѽ,  «ºáú½áó½Ñ¡¡δ⌐,  ¬á¬  "Ä»¿ßá¡¿Ñ
  4320.         ¼¡«ªÑßΓó").  Åα¿óÑñÑ¡¿Ñ Γ¿»á ¿º¼Ñ¡∩ÑΓ Γ¿» º¡áτÑ¡¿∩ (ß¼. "Åα¿óÑñÑ-
  4321.         ¡¿Ñ Γ¿»á").
  4322.  
  4323.              ÇñαÑß¡δ⌐ ¼¡«ª¿Γѽ∞  óδτ¿ß½∩ÑΓ  áñαÑß »ÑαѼѡ¡«⌐,  »α«µÑñπαδ,
  4324.         Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá. æ¼. αáºñѽ "Ä»Ñαᵿ∩ @".
  4325.  
  4326.  
  4327.          B.Pascal 7 & Objects/LR      - 95 -
  4328.  
  4329.              üѺº¡á¬«óá∩ ¬«¡ßΓá¡Γá ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  4330.  
  4331.                                            ┌─────────┐
  4332.              ¬«¡ßΓá¡Γá íѺ º¡á¬á  ───┬────>│  τ¿ß½«  ├─────────────>
  4333.                                      │     │íѺ º¡á¬á│         ^
  4334.                                      │     └─────────┘         │
  4335.                                      │     ┌──────────┐        │
  4336.                                      ├────>│ß¿¼ó«½∞¡á∩├────────┤
  4337.                                      │     │  ßΓα«¬á  │        │
  4338.                                      │     └──────────┘        │
  4339.                                      │     ┌─────────────┐     │
  4340.                                      ├────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─────┤
  4341.                                      │     │  ¬«¡ßΓá¡Γδ  │     │
  4342.                                      │     └─────────────┘     │
  4343.                                      │     ┌───┐               │
  4344.                                      └────>│nil├───────────────┘
  4345.                                            └───┘
  4346.  
  4347.              ìѬ«Γ«αδÑ »α¿¼Ñαδ ¼¡«ª¿ΓѽÑ⌐ ¼«úπΓ ó¬½ετáΓ∞ ó ßÑí∩:
  4348.  
  4349.             ò                                    { ßßδ½¬á ¡á »ÑαѼѡ¡πε }
  4350.             @ò                                { π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε }
  4351.             15                                    { ¬«¡ßΓá¡Γá íѺ º¡á¬á }
  4352.             (ò+Y+Z)                                      { »«ñóδαáªÑ¡¿Ñ }
  4353.             SIN(ò/2)                                    { ó맮ó Σπ¡¬µ¿¿ }
  4354.             ['0..''9','Ç'..'Z']                   { «»¿ßáΓѽ∞ ¼¡«ªÑßΓóá }
  4355.             not Done                   { «Γα¿µá¡¿Ñ íπ½Ñó߬«⌐ »ÑαѼѡ¡«⌐ }
  4356.             ßhar(Digit+48)                            { ¡áº¡áτÑ¡¿Ñ Γ¿»á }
  4357.  
  4358.  
  4359.          B.Pascal 7 & Objects/LR      - 96 -
  4360.  
  4361.              ÆÑα¼δ ¿ß»«½∞ºπεΓß∩ ó «»Ñαᵿ∩σ π¼¡«ªÑ¡¿∩ ¡á ¼¡«ª¿Γѽ∞:
  4362.  
  4363.                                   ┌─────────┐
  4364.                     ΓÑα¼ ────────>│¼¡«ª¿Γѽ∞├───┬──────>
  4365.                             ^     └─────────┘   │
  4366.                             │     ┌───┐         │
  4367.                             ├─────┤ * │<────────┤
  4368.                             │     └───┘         │
  4369.                             │     ┌───┐         │
  4370.                             ├─────┤ / │<────────┤
  4371.                             │     └───┘         │
  4372.                             │     ┌───┐         │
  4373.                             ├─────┤div│<────────│
  4374.                             │     └───┘         │
  4375.                             │     ┌───┐         │
  4376.                             ├─────┤mod│<────────│
  4377.                             │     └───┘         │
  4378.                             │     ┌───┐         │
  4379.                             ├─────┤and│<────────│
  4380.                             │     └───┘         │
  4381.                             │     ┌───┐         │
  4382.                             ├─────┤shl│<────────│
  4383.                             │     └───┘         │
  4384.                             │     ┌───┐         │
  4385.                             └─────┤shr│<────────┘
  4386.                                   └───┘
  4387.  
  4388.  
  4389.          B.Pascal 7 & Objects/LR      - 97 -
  4390.  
  4391.  
  4392.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ΓÑମó:
  4393.  
  4394.              ò * Y
  4395.              Z / (1 - Z)
  4396.              Done or Error
  4397.              (ò <= Y) and (Y < Z)
  4398.  
  4399.              é »α«ßΓδσ óδαáªÑ¡¿∩σ ¬ ΓÑα¼á¼ »α¿¼Ñ¡∩εΓß∩  «»Ñαᵿ¿ ß½«ªÑ¡¿∩
  4400.         ¿ »α¿ßóá¿óá¡¿∩ º¡á¬á:
  4401.  
  4402.                                            ┌───────┐
  4403.                 »α«ßΓ«Ñ óδαáªÑ¡¿Ñ ────────>│ ΓÑα¼  ├───┬────>
  4404.                                      ^     └───────┘   │
  4405.                                      │     ┌───┐       │
  4406.                                      ├─────┤ + │<──────┤
  4407.                                      │     └───┘       │
  4408.                                      │     ┌───┐       │
  4409.                                      ├─────┤ - │<──────┤
  4410.                                      │     └───┘       │
  4411.                                      │     ┌───┐       │
  4412.                                      ├─────┤ or│<──────│
  4413.                                      │     └───┘       │
  4414.                                      │     ┌───┐       │
  4415.                                      └─────┤xor│<──────┘
  4416.                                            └───┘
  4417.  
  4418.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó »α«ßΓδσ óδαáªÑ¡¿⌐:
  4419.  
  4420.              ò + Y
  4421.              -ò
  4422.              Hue1 + Hue2
  4423.              I * J + 1
  4424.  
  4425.  
  4426.          B.Pascal 7 & Objects/LR      - 98 -
  4427.  
  4428.  
  4429.              é óδαáªÑ¡¿∩σ ¬ »α«ßΓδ¼ óδαáªÑ¡¿∩¼ »α¿¼Ñ¡∩εΓß∩ «»Ñαᵿ¿ «Γ¡«-
  4430.         ΦÑ¡¿∩.
  4431.  
  4432.                         ┌─────────┐
  4433.          óδαáªÑ¡¿Ñ ────>│ »α«ßΓ«Ñ ├──┬───────────────────────────────>
  4434.                         │óδαáªÑ¡¿Ñ│  │                           ^
  4435.                         └─────────┘  │  ┌───┐       ┌─────────┐  │
  4436.                                      ├─>│ < ├──────>│ »α«ßΓ«Ñ ├──┘
  4437.                                      │  └───┘  ^    │óδαáªÑ¡¿Ñ│
  4438.                                      │  ┌───┐  │    └─────────┘
  4439.                                      ├─>│<= ├──┤
  4440.                                      │  └───┘  │
  4441.                                      │  ┌───┐  │
  4442.                                      ├─>│ > ├──┤
  4443.                                      │  └───┘  │
  4444.                                      │  ┌───┐  │
  4445.                                      ├─>│>= ├──┤
  4446.                                      │  └───┘  │
  4447.                                      │  ┌───┐  │
  4448.                                      ├─>│ = ├──┤
  4449.                                      │  └───┘  │
  4450.                                      │  ┌───┐  │
  4451.                                      ├─>│<> ├──┤
  4452.                                      │  └───┘  │
  4453.                                      │  ┌───┐  │
  4454.                                      └─>│in ├──┘
  4455.                                         └───┘
  4456.  
  4457.              Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ óδαáªÑ¡¿⌐:
  4458.  
  4459.              ò = 1.5
  4460.              Done <> Error
  4461.              (I < J) = (J < è)
  4462.              C in Huel
  4463.  
  4464.  
  4465.  
  4466.          B.Pascal 7 & Objects/LR      - 99 -
  4467.  
  4468.                                     Ä»Ñαᵿ¿
  4469.         ─────────────────────────────────────────────────────────────────
  4470.  
  4471.              Ä»Ñαᵿ¿ »«ñαáºñѽ∩εΓß∩ ¡á áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿, ½«ú¿τÑß-
  4472.         ¬¿Ñ «»Ñαᵿ¿,  «»Ñαᵿ¿ ß« ßΓα«¬á¼¿,  «»Ñαᵿ¿  ¡áñ  ¼¡«ªÑßΓóἿ,
  4473.         «»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩ ¿ «»Ñαᵿε @ («»Ñαᵿ∩ »«½πτÑ¡¿∩ áñαÑßá).
  4474.  
  4475.                              Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿
  4476.         ─────────────────────────────────────────────────────────────────
  4477.  
  4478.              é ß½ÑñπεΘÑ⌐ Γáí½¿µÑ »α¿óÑñÑ¡δ Γ¿»δ  «»Ñαá¡ñ«ó  ¿  αѺπ½∞ΓáΓδ
  4479.         ñ½∩ í¿¡áα¡δσ ¿ π¡áα¡δσ áα¿Σ¼ÑΓ¿τÑ߬¿σ «»Ñαᵿ⌐:
  4480.  
  4481.                         ü¿¡áα¡δÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿      Æáí½¿µá 6.2
  4482.         ┌───────────┬──────────────┬──────────────────┬─────────────────┐
  4483.         │  Ä»Ñαᵿ∩ │  äÑ⌐ßΓó¿Ñ    │  Æ¿»δ «»Ñαá¡ñ«ó  │  Æ¿» αѺπ½∞ΓáΓá │
  4484.         ├───────────┼──────────────┼──────────────────┼─────────────────┤
  4485.         │       +   │  æ½«ªÑ¡¿Ñ    │     ûѽδ⌐        │      ûѽδ⌐      │
  4486.         │           │              │  éÑΘÑßΓóÑ¡¡δ⌐    │   éÑΘÑßΓóÑ¡¡δ⌐  │
  4487.         ├───────────┼──────────────┼──────────────────┼─────────────────┤
  4488.         │       -   │  éδτ¿Γá¡¿Ñ   │     ûѽδ⌐        │      ûѽδ⌐      │
  4489.         │           │              │  éÑΘÑßΓóÑ¡¡δ⌐    │   éÑΘÑßΓóÑ¡¡δ⌐  │
  4490.         ├───────────┼──────────────┼──────────────────┼─────────────────┤
  4491.         │       *   │  ô¼¡«ªÑ¡¿Ñ   │     ûѽδ⌐        │      ûѽδ⌐      │
  4492.         │           │              │  éÑΘÑßΓóÑ¡¡δ⌐    │   éÑΘÑßΓóÑ¡¡δ⌐  │
  4493.         ├───────────┼──────────────┼──────────────────┼─────────────────┤
  4494.         │      /    │  äѽѡ¿Ñ     │     ûѽδ⌐        │   éÑΘÑßΓóÑ¡¡δ⌐  │
  4495.         │           │              │  éÑΘÑßΓóÑ¡¡δ⌐    │   éÑΘÑßΓóÑ¡¡δ⌐  │
  4496.         ├───────────┼──────────────┼──────────────────┼─────────────────┤
  4497.         │     div   │ ûѽ«τ¿ß½Ñ¡¡«Ñ│                  │                 │
  4498.         │           │  ñѽѡ¿Ñ     │     ûѽδ⌐        │      ûѽδ⌐      │
  4499.         ├───────────┼──────────────┼──────────────────┼─────────────────┤
  4500.         │     mod   │  ÄßΓáΓ«¬     │     ûѽδ⌐        │      ûѽδ⌐      │
  4501.         └───────────┴──────────────┴──────────────────┴─────────────────┘
  4502.  
  4503.                    Åα¿¼Ñτá¡¿Ñ: Ä»Ñαᵿ∩ + ¿ß»«½∞ºπÑΓß∩ ΓᬪÑ,  ¬á¬ «»Ñαá-
  4504.               µ¿∩ ñ½∩ αáí«Γδ ß« ßΓα«¬á¼¿ ¿ ¼¡«ªÑßΓóἿ. Ä»Ñαᵿ¿ +, - ¿ *
  4505.               ¿ß»«½∞ºπεΓß∩ ΓᬪѠñ½∩ «»Ñαᵿ⌐ ¡áñ ¼¡«ªÑßΓóἿ.
  4506.  
  4507.  
  4508.  
  4509.          B.Pascal 7 & Objects/LR     - 100 -
  4510.  
  4511.                 ô¡áα¡δÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿
  4512.                                                             Æáí½¿µá 6.3
  4513.         ┌───────────┬──────────────┬──────────────────┬─────────────────┐
  4514.         │  Ä»Ñαᵿ∩ │   äÑ⌐ßΓó¿Ñ   │  Æ¿» «»Ñαá¡ñá    │ Æ¿» αѺπ½∞ΓáΓá  │
  4515.         ├───────────┼──────────────┼──────────────────┼─────────────────┤
  4516.         │       +   │  æ«σαá¡Ñ¡¿Ñ  │      ûѽδ⌐       │     ûѽδ⌐       │
  4517.         │           │    º¡á¬á     │   éÑΘÑßΓóÑ¡¡δ⌐   │   éÑΘÑßΓóÑ¡¡δ⌐  │
  4518.         ├───────────┼──────────────┼──────────────────┼─────────────────┤
  4519.         │       -   │   ÄΓα¿µá¡¿Ñ  │      ûѽδ⌐       │     ûѽδ⌐       │
  4520.         │           │    º¡á¬á     │   éÑΘÑßΓóÑ¡¡δ⌐   │   éÑΘÑßΓóÑ¡¡δ⌐  │
  4521.         └───────────┴──────────────┴──────────────────┴─────────────────┘
  4522.  
  4523.              ïεíá∩ «»Ñαᵿ∩,  ó¬½ετáεΘá∩ «»Ñαá¡ñ,  Γ¿» ¬«Γ«α«ú«  ∩ó½∩ÑΓß∩
  4524.         »«ñ¼¡«ªÑßΓó«¼ »«α∩ñ¬«ó«ú« Γ¿»á, «íαáíáΓδóáÑΓß∩ ΓᬪÑ, ¬á¬ Ñß½¿ íδ
  4525.         «¡ íδ½ »«α∩ñ¬«ó«ú« Γ¿»á.
  4526.  
  4527.              àß½¿ «íá «»Ñαá¡ñá ó «»Ñαᵿ∩σ +,  -, *, div ¿½¿ ¼«d ∩ó½∩εΓß∩
  4528.         «»Ñαá¡ñἿ µÑ½«ú« Γ¿»á, Γ« Γ¿» αѺπ½∞ΓáΓá íπñÑΓ Γᬿ¼ ªÑ, ¬á¬ «í-
  4529.         Θ¿⌐ Γ¿» «í«¿σ «»Ñαá¡ñ«ó.  (Ä»αÑñѽѡ¿Ñ «íΘÑú« Γ¿»á ß¼.  ó αáºñѽÑ
  4530.         "ûѽδ⌐ Γ¿»" ó â½áóÑ 3).
  4531.  
  4532.              àß½¿ «ñ¿¡ ¿½¿ í«½ÑÑ «»Ñαá¡ñ«ó ó «»Ñαᵿ∩σ +,  -, ¿½¿ * ¿¼ÑεΓ
  4533.         óÑΘÑßΓóÑ¡¡δ⌐ Γ¿»,  Γ« Γ¿» αѺπ½∞ΓáΓá íπñÑΓ óÑΘÑßΓóÑ¡¡δ¼, Ñß½¿ ¿ß-
  4534.         »«½∞º«óá¡á ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá {$N-},  ¿½¿ Γ¿»«¼  ß  »«óδΦÑ¡¡«⌐
  4535.         Γ«τ¡«ßΓ∞ε »α¿ ¿ß»«½∞º«óá¡¿¿ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$N+}.
  4536.  
  4537.              àß½¿ »α¿ ¿ß»«½∞º«óá¡¿¿ «»Ñαᵿ¿ ß«σαá¡Ñ¡¿∩ º¡á¬á ¿½¿  «»Ñαá-
  4538.         µ¿¿  «Γα¿µá¡¿∩ º¡á¬á «»Ñαá¡ñ ¿¼ÑÑΓ µÑ½δ⌐ Γ¿»,  Γ« αѺπ½∞ΓáΓ íπñÑΓ
  4539.         Γ«ªÑ µÑ½«ú« Γ¿»á. àß½¿ «»Ñαá¡ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á, Γ« Γ¿» αѺπ½∞-
  4540.         ΓáΓá   íπñÑΓ   óÑΘÑßΓóÑ¡¡δ¼  ¿½¿  Γ¿»«¼  ß  »«óδΦÑ¡¡«⌐  Γ«τ¡«ßΓ∞ε
  4541.         (extended).
  4542.  
  4543.              ç¡áτÑ¡¿Ñ óδαáªÑ¡¿∩  σ/π  óßÑúñá  íπñÑΓ  óÑΘÑßΓóÑ¡¡«ú«   Γ¿»á
  4544.         (real) ¿½¿ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε (extended), ¡Ñºáó¿ß¿¼« «Γ Γ¿»«ó
  4545.         «»Ñαá¡ñ«ó. àß½¿ π αáó¡« 0, Γ« αѺπ½∞ΓáΓ íπñÑΓ «Φ¿í«τ¡δ¼.
  4546.  
  4547.              ç¡áτÑ¡¿Ñ óδαáªÑ¡¿Ñ i div j »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¼áΓѼáΓ¿τÑ߬«Ñ
  4548.         τáßΓ¡«Ñ «Γ i/j,  «¬απú½Ñ¡¡«Ñ ó ¼Ñ¡∞Φπε ßΓ«α«¡π ñ« º¡áτÑ¡¿∩ µÑ½«ú«
  4549.         Γ¿»á. àß½¿ j αáó¡« 0, αѺπ½∞ΓáΓ íπñÑΓ «Φ¿í«τ¡δ¼.
  4550.  
  4551.              Ä»Ñαᵿ∩ mod  ó«ºóαáΘáÑΓ  «ßΓáΓ«¬,  »«½πτÑ¡¡δ⌐ »πΓѼ ñѽѡ¿∩
  4552.         ñóπσ ÑÑ «»Ñαá¡ñ«ó, Γ« ÑßΓ∞:
  4553.  
  4554.              i mod j = i - (i div j) * j
  4555.  
  4556.              ç¡á¬ αѺπ½∞ΓáΓá «»Ñαᵿ¿ mod íπñÑΓ ΓѼ ªÑ, τΓ« ¿ º¡á¬ i. àß-
  4557.         ½¿ j αáó¡« ¡π½ε, Γ« αѺπ½∞ΓáΓ«¼ íπñÑΓ «Φ¿í¬á.
  4558.  
  4559.  
  4560.  
  4561.          B.Pascal 7 & Objects/LR     - 101 -
  4562.  
  4563.                                ï«ú¿τÑ߬¿Ñ «»Ñαᵿ¿
  4564.         ─────────────────────────────────────────────────────────────────
  4565.  
  4566.              Æ¿»δ ½«ú¿τÑ߬¿σ «»Ñαᵿ⌐ »«¬áºá¡δ ó Æáí½¿µÑ 6.4.
  4567.  
  4568.                                ï«ú¿τÑ߬¿Ñ «»Ñαᵿ¿            Æáí½¿µá 6.4
  4569.         ┌──────────┬─────────────────────┬──────────────┬───────────────┐
  4570.         │ Ä»Ñαᵿ∩ │     äÑ⌐ßΓó¿Ñ        │Æ¿»δ «»Ñαá¡ñ«ó│ Æ¿» αѺπ½∞ΓáΓá│
  4571.         ├──────────┼─────────────────────┼──────────────┼───────────────┤
  4572.         │     not  │ ÄΓα¿µá¡¿Ñ (í¿Γ«ó«Ñ) │  ûѽδ⌐       │    ûѽδ⌐      │
  4573.         │     and  │    ê (í¿Γ«ó«Ñ)      │  ûѽδ⌐       │    ûѽδ⌐      │
  4574.         │     or   │    êïê (í¿Γ«ó«Ñ)    │  ûѽδ⌐       │    ûѽδ⌐      │
  4575.         │     xor  │ ê߬½ετáεΘÑÑ êïê     │  ûѽδ⌐       │    ûѽδ⌐      │
  4576.         │          │    (í¿Γ«ó«Ñ)        │              │               │
  4577.         │     shl  │   æñó¿ú ó½Ñó«       │  ûѽδ⌐       │    ûѽδ⌐      │
  4578.         │     shr  │   æñó¿ú ó»αáó«      │  ûѽδ⌐       │    ûѽδ⌐      │
  4579.         └──────────┴─────────────────────┴──────────────┴───────────────┘
  4580.  
  4581.                    Åα¿¼Ñτá¡¿Ñ: Ä»Ñαᵿ∩ not ∩ó½∩ÑΓß∩ π¡áα¡«⌐ «»ÑαᵿÑ⌐.
  4582.  
  4583.              àß½¿ «»Ñαá¡ñ«¼ «»Ñαᵿ¿ not ∩ó½∩ÑΓß∩ «»Ñαá¡ñ µÑ½«ú« Γ¿»á, Γ«
  4584.         αѺπ½∞ΓáΓ íπñÑΓ ΓᬪѠµÑ½«ú« Γ¿»á.
  4585.  
  4586.              àß½¿ «íá  «»Ñαá¡ñá ó «»Ñαᵿ∩σ or,  and ¿½¿ xor µÑ½«ú« Γ¿»á,
  4587.         Γ« Γ¿» αѺπ½∞ΓáΓá íπñÑΓ Γᬿ¼ ªÑ, ¬á¬ Γ¿» «í«¿σ «»Ñαá¡ñ«ó.
  4588.  
  4589.              Ä»Ñαᵿ¿ i shl j ¿ i shr j ßñó¿úáεΓ  º¡áτÑ¡¿Ñ  i  ó½Ñó«  ¿½¿
  4590.         ó»αáó« ¡á j í¿Γ«ó. Æ¿» αѺπ½∞ΓáΓá íπñÑΓ Γᬿ¼ ªÑ, ¬á¬ Γ¿» i.
  4591.  
  4592.  
  4593.                                üπ½Ñó߬¿Ñ «»Ñαᵿ¿
  4594.         ─────────────────────────────────────────────────────────────────
  4595.  
  4596.              Æ¿»δ «»Ñαá¡ñ«ó ¿ αѺπ½∞ΓáΓ ñ½∩ íπ½Ñó߬¿σ «»Ñαᵿ⌐ »«¬áºá¡δ ó
  4597.         Æáí½¿µÑ 6.5.
  4598.  
  4599.                          Æáí½¿µá 6.5 üπ½Ñó߬¿Ñ «»Ñαᵿ¿
  4600.         ┌──────────┬──────────────────┬─────────────────┬───────────────┐
  4601.         │ Ä»Ñαᵿ∩ │  äÑ⌐ßΓó¿Ñ        │ Æ¿»δ «»Ñαá¡ñ«ó  │ Æ¿» αѺπ½∞ΓáΓá│
  4602.         ├──────────┼──────────────────┼─────────────────┼───────────────┤
  4603.         │     not  │     ÄΓα¿µá¡¿Ñ    │   üπ½Ñó߬¿⌐     │     üπ½Ñó߬¿⌐ │
  4604.         │     and  │   ï«ú¿τÑ߬«Ñ ê   │   üπ½Ñó߬¿⌐     │     üπ½Ñó߬¿⌐ │
  4605.         │     or   │  ï«ú¿τÑ߬«Ñ êïê  │   üπ½Ñó߬¿⌐     │     üπ½Ñó߬¿⌐ │
  4606.         │     xor  │   ï«ú¿τÑ߬«Ñ     │                 │               │
  4607.         │          │ ¿ß¬½ετáεΘÑÑ êïê  │   üπ½Ñó߬¿⌐     │     üπ½Ñó߬¿⌐ │
  4608.         └──────────┴──────────────────┴─────────────────┴───────────────┘
  4609.  
  4610.                    Åα¿¼Ñτá¡¿Ñ: Ä»Ñαᵿ∩ not ∩ó½∩ÑΓß∩ π¡áα¡«⌐ «»ÑαᵿÑ⌐.
  4611.  
  4612.              ÉѺπ½∞ΓáΓδ φΓ¿σ «»Ñαᵿ⌐ ß««ΓóÑΓßΓóπεΓ «íδτ¡«⌐ íπ½Ñó«⌐ ½«ú¿-
  4613.         ¬Ñ. ìá»α¿¼Ñα, óδαáªÑ¡¿Ñ a and b ∩ó½∩ÑΓß∩ ¿ßΓ¿¡¡δ¼ (»α¿¡¿¼áÑΓ º¡á-
  4614.         τÑ¡¿Ñ ÆruÑ) Γ«½∞¬« ó Γ«¼ ß½πτáÑ,  Ñß½¿ «íá «»Ñαá¡ñá a ¿  b  ¿¼ÑεΓ
  4615.         ¿ßΓ¿¡¡«Ñ º¡áτÑ¡¿Ñ (ÆruÑ).
  4616.  
  4617.          B.Pascal 7 & Objects/LR     - 102 -
  4618.  
  4619.  
  4620.              é Borland Pascal »«ññÑনóáεΓß∩ ñóÑ αẽ¿τ¡δÑ ¼«ñѽ¿ úÑ¡Ñαá-
  4621.         µ¿¿  ¬«ñá  ñ½∩ «»Ñαᵿ⌐ or ¿ and - »«½¡«Ñ óδτ¿ß½Ñ¡¿Ñ ¿ óδτ¿ß½Ñ¡¿Ñ
  4622.         »« ¬«α«Γ¬«⌐ ßσѼѠ(τáßΓ¿τ¡«Ñ óδτ¿ß½Ñ¡¿Ñ).
  4623.  
  4624.              Åα¿ »«½¡«¼  óδτ¿ß½Ñ¡¿¿  »«ñαáºπ¼ÑóáÑΓß∩,  τΓ« ¬áªñδ⌐ «»Ñαá¡ñ
  4625.         íπ½Ñó߬«ú« óδαáªÑ¡¿∩,  »«ßΓα«Ñ¡¡δ⌐ ß »«¼«Θ∞ε «»Ñαᵿ⌐ or  ¿  and,
  4626.         óßÑúñá íπñÑΓ óδτ¿ß½∩Γ∞ß∩, ñáªÑ Ñß½¿ αѺπ½∞ΓáΓ óßÑú« óδαáªÑ¡¿∩ πªÑ
  4627.         ¿ºóÑßΓÑ¡.  ¥Γá ¼«ñѽ∞ »«½Ñº¡á ó Γ«¼ ß½πτáÑ,  ¬«úñá «ñ¿¡ ¿½¿ í«½ÑÑ
  4628.         «»Ñαá¡ñ«ó  ó óδαáªÑ¡¿¿ »αÑñßΓáó½∩εΓ ß«í«⌐ Σπ¡¬µ¿¿ ß »«í«τ¡δ¼¿ φΣ-
  4629.         ΣѬΓἿ, ¬«Γ«αδÑ ¿º¼Ñ¡∩εΓ ß¼δß½ »α«úαá¼¼δ.
  4630.  
  4631.              éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼѠ«íÑß»Ñτ¿óáÑΓ ßΓα«ú«Ñ óδτ¿ß½Ñ¡¿Ñ
  4632.         ß½Ñóá ¡á»αáó«.  ¥Γ« óδτ¿ß½Ñ¡¿Ñ »αѬαáΘáÑΓß∩, ¬á¬ Γ«½∞¬« αѺπ½∞ΓáΓ
  4633.         óßÑú« óδαáªÑ¡¿∩ ßΓá¡«ó¿Γß∩ «τÑó¿ñÑ¡. é« ¼¡«ú¿σ ß½πτá∩σ φΓá ¼«ñѽ∞
  4634.         πñ«í¡á,  »«ß¬«½∞¬π  «¡á «íÑß»Ñτ¿óáÑΓ ¼¿¡¿¼á½∞¡«Ñ óαѼ∩ óδ»«½¡Ñ¡¿∩
  4635.         ¿,  ¬á¬ »αá󿽫,  ¼¿¡¿¼á½∞¡δ⌐ «íΩѼ ¬«ñá.  éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐
  4636.         ßσѼѠ ñѽáÑΓ ΓᬪѠ󫺼«ª¡δ¼¿ ΓᬿѠ¬«¡ßΓαπ¬µ¿¿,  ¬«Γ«αδÑ ó »α«-
  4637.         Γ¿ó¡«¼ ß½πτáÑ í뫨 íδ ¡Ññ«»πßΓ¿¼δ, ¡á»α¿¼Ñα:
  4638.  
  4639.              while (I<=Lenght(S)) and (S[I]<>' ') do
  4640.                 Inc(I);
  4641.              while (P<>nil) and (P^.Value<>5) do
  4642.                 P:=P^.Next;
  4643.  
  4644.              é «í«¿σ  ß½πτá∩σ,  Ñß½¿ αѺπ½∞ΓáΓ«¼ »Ñαó«ú« óδτ¿ß½Ñ¡¿∩ íπñÑΓ
  4645.         º¡áτÑ¡¿Ñ False, óδτ¿ß½Ñ¡¿Ñ óΓ«α«ú« óδαáªÑ¡¿∩ ¡Ñ óδ»«½¡∩ÑΓß∩.
  4646.  
  4647.              æσѼπ óδτ¿ß½Ñ¡¿∩ ¼«ª¡« ºáñáóáΓ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩-
  4648.         Γ«αá $B.  ç¡áτÑ¡¿Ñ¼ »« π¼«½τá¡¿ε ∩ó½∩ÑΓß∩ ß«ßΓ«∩¡¿Ñ  {$B-}  (»«¬á
  4649.         «¡« ¡Ñ íπñÑΓ ¿º¼Ñ¡Ñ¡« ß »«¼«Θ∞ε "¼Ñ¡ε" ó«º¼«ª¡«ßΓÑ⌐ ¬«¼»¿½∩Γ«αá).
  4650.         é φΓ«¼ ß½πτáÑ úÑ¡Ñα¿απÑΓß∩ ¬«ñ ß óδτ¿ß½Ñ¡¿Ñ¼ »« ¬«α«Γ¬«⌐ ßσѼÑ. é
  4651.         ß½πτáÑ ñ¿αÑ¬Γ¿óδ {$B+} úÑ¡Ñα¿απÑΓß∩ ¬«ñ ß »«½¡δ¼ óδτ¿ß½Ñ¡¿Ñ¼.
  4652.  
  4653.              Å«ß¬«½∞¬π ó ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ ¡Ñ «»αÑñѽ∩ÑΓß∩, ¬á¬πε ßσѼπ
  4654.         ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ ñ½∩ óδτ¿ß½Ñ¡¿∩ íπ½Ñó߬¿σ óδαáªÑ¡¿⌐, Γ« »α«ú-
  4655.         αá¼¼δ, ºáó¿ß∩Θ¿Ñ «Γ ñÑ⌐ßΓó¿∩ ¬á¬«⌐-½¿í« ¬«¡¬αÑΓ¡«⌐ ßσѼδ, ó ñÑ⌐ß-
  4656.         Γó¿Γѽ∞¡«ßΓ¿ ¡Ñ ∩ó½∩εΓß∩ »ÑαÑ¡«ß¿¼δ¼¿.  Äñ¡á¬«, Ñß½¿ »«ªÑαΓó«óáΓ∞
  4657.         »ÑαÑ¡«ß¿¼«ßΓ∞ε,  Γ« «τÑ¡∞ τáßΓ« ¼«ª¡« »«½πτ¿Γ∞ º¡áτ¿Γѽ∞¡δ⌐ óδ¿ú-
  4658.         αδΦ ó« óαѼѡ¿ óδ»«½¡Ñ¡¿∩ ¿ »α«ßΓ«ΓÑ,  ¬«Γ«απε »«ºó«½∩ÑΓ »«½πτ¿Γ∞
  4659.         óδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼÑ.
  4660.  
  4661.  
  4662.  
  4663.  
  4664.          B.Pascal 7 & Objects/LR     - 103 -
  4665.  
  4666.                               Ä»Ñαᵿ∩ ß« ßΓα«¬á¼¿
  4667.         ─────────────────────────────────────────────────────────────────
  4668.  
  4669.              Æ¿»δ «»Ñαá¡ñ«ó ¿ αѺπ½∞ΓáΓδ ñ½∩ «»Ñαᵿ¿ ß« ßΓα«¬á¼¿ »«¬áºá-
  4670.         ¡δ ó Æáí½¿µÑ 6.6.
  4671.  
  4672.                               Ä»Ñαᵿ¿ ß« ßΓα«¬á¼¿            Æáí½¿µá 6.6
  4673.         ┌───────────┬──────────────┬─────────────────────┬──────────────┐
  4674.         │ Ä»Ñαᵿ∩  │ äÑ⌐ßΓó¿Ñ     │  Æ¿»δ «»Ñαá¡ñ«ó     │Æ¿» αѺπ½∞ΓáΓá│
  4675.         ├───────────┼──────────────┼─────────────────────┼──────────────┤
  4676.         │      +    │ è«¡¬áΓѡᵿ∩ │    æΓ᫬«óδ⌐,       │ æΓ᫬«óδ⌐    │
  4677.         │           │              │  ß¿¼ó«½∞¡δ⌐ ¿½¿     │              │
  4678.         │           │              │π»á¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐│              │
  4679.         └───────────┴──────────────┴─────────────────────┴──────────────┘
  4680.  
  4681.              Borland Pascal »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ «»Ñαᵿε + ñ½∩ «íΩÑñ¿-
  4682.         ¡Ñ¡¿∩ ñóπσ ßΓ᫬«óδσ «»Ñαá¡ñ«ó. ÉѺπ½∞ΓáΓ«¼ «»Ñαᵿ¿ s + t, úñÑ s
  4683.         ¿ t ¿¼ÑεΓ ßΓ᫬«óδ⌐ Γ¿»,  ß¿¼ó«½∞¡δ⌐ Γ¿» (Char)  ¿½¿  π»á¬«óá¡¡δ⌐
  4684.         ßΓ᫬«óδ⌐ Γ¿»,  íπñÑΓ ¬«¡¬áΓѡᵿ∩ s ¿ t. ÉѺπ½∞ΓáΓ íπñÑΓ ß«ó¼Ñß-
  4685.         Γ¿¼ ß ½εíδ¼ ßΓ᫬«óδ¼ Γ¿»«¼ (¡« ¡Ñ ß ß¿¼ó«½∞¡δ¼ Char ¿ ¡Ñ ß  π»á-
  4686.         ¬«óá¡¡δ¼ ßΓ᫬«óδ¼ Γ¿»«¼).  àß½¿ ñ½¿¡á αѺπ½∞Γ¿απεΘÑ⌐ ßΓ᫬¿ »αÑ-
  4687.         óδΦáÑΓ 255 ß¿¼ó«½«ó, Γ« «¡á πßѬáÑΓß∩ ñ« 255 ß¿¼ó«½«ó.
  4688.  
  4689.          B.Pascal 7 & Objects/LR     - 104 -
  4690.  
  4691.  
  4692.                       Ä»Ñαᵿ¿ ¡áñ ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿
  4693.         ─────────────────────────────────────────────────────────────────
  4694.  
  4695.              ÉáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß  (αáºαÑΦÑ¡¡δ⌐ »« ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá
  4696.         {$X+}) »«ññÑনóáÑΓ ¡Ñ߬«½∞¬« «»Ñαᵿ⌐ ß  π¬áºáΓѽ∩¼¿  ¡á  PChar.
  4697.         ä½∩ πóѽ¿τÑ¡¿∩ ¿ π¼Ñ¡∞ΦÑ¡¿∩ ß¼ÑΘÑ¡¿∩ π¬áºáΓѽ∩ ¼«ª¡« ¿ß»«½∞º«óáΓ∞
  4698.         «»Ñαᵿ¿ + ¿ -.  î¿¡πß ¼«ª¡« ΓᬪѠ ¿ß»«½∞º«óáΓ∞  ñ½∩  óδτ¿ß½Ñ¡¿∩
  4699.         αáßßΓ«∩¡¿∩ (αạ«ßΓ¿) ¼Ñªñπ ñóπ¼∩ ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿. àß½¿ P
  4700.         ¿ Q - φΓ« º¡áτÑ¡¿∩ Γ¿»á PChar,  á I - º¡áτÑ¡¿Ñ Γ¿»á Word,  Γ« ñ«-
  4701.         »πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ¬«¡ßΓαπ¬µ¿¿:
  4702.  
  4703.                           ä«»πßΓ¿¼δÑ ¬«¡ßΓαπ¬µ¿¿ PChar        Æáí½¿µá 6.7
  4704.         ┌───────────────┬───────────────────────────────────────────────┐
  4705.         │    Ä»Ñαᵿ∩   │                    ÉѺπ½∞ΓáΓ                  │
  4706.         ├───────────────┼───────────────────────────────────────────────┤
  4707.         │    P + I      │       æ½«ªÑ¡¿Ñ I ß« ß¼ÑΘÑ¡¿Ñ¼ P.              │
  4708.         │    I + P      │       æ½«ªÑ¡¿Ñ I ß« ß¼ÑΘÑ¡¿Ñ¼ P.              │
  4709.         │    P - I      │       éδτ¿Γá¡¿Ñ I ¿º ß¼ÑΘÑ¡¿∩ P.              │
  4710.         │    P - Q      │       éδτ¿ΓáÑΓ ß¼ÑΘÑ¡¿Ñ Q ¿º ß¼ÑΘÑ¡¿∩ P.      │
  4711.         └───────────────┴───────────────────────────────────────────────┘
  4712.  
  4713.              Ä»Ñαᵿ¿ P  + I ¿ I + P ß¬½áñδóáÑΓ I c áñαÑß«¼,  ºáñá¡¡δ¼ P,
  4714.         ß«ºñáóá∩ π¬áºáΓѽ∞, ßßδ½áεΘ¿⌐ß∩ ¡á I ß¿¼ó«½«ó »«ß½Ñ P. Ä»Ñαᵿ∩ P
  4715.         - I óδτ¿ΓáÑΓ I ¿º áñαÑßá, ºáñá¡¡«ú« P, ß«ºñáóá∩ π¬áºáΓѽ∞, ßßδ½á-
  4716.         εΘ¿⌐ß∩ ¡á I ß¿¼ó«½«ó »ÑαÑñ P.
  4717.  
  4718.              Ä»Ñαᵿ∩ P - Q óδτ¿ΓáÑΓ αáßßΓ«∩¡¿Ñ ¼Ñªñπ Q (¼½áñΦ¿⌐ áñαÑß) ¿
  4719.         P (ßΓáαΦ¿⌐ áñαÑß),  ß«ºñáóá∩ ó αѺπ½∞ΓáΓÑ º¡áτÑ¡¿Ñ Γ¿»á Word, »«-
  4720.         ¬áºδóáεΘÑÑ τ¿ß½« ß¿¼ó«½«ó ¼Ñªñπ Q ¿ P.  ¥Γá «»Ñαᵿ∩ »«ñαáºπ¼Ñóá-
  4721.         ÑΓ, τΓ« P ¿ Q ßßδ½áεΓß∩ ¡á «ñ¿¡ ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó.  àß½¿ ñóá ß¿¼-
  4722.         ó«½∞¡δ⌐ π¬áºáΓѽ∩ ßßδ½áεΓß∩ ¡á αạδÑ ¼áßß¿óδ, Γ« αѺπ½∞ΓáΓ íπñÑΓ
  4723.         ¡Ñ «»αÑñѽѡ.
  4724.  
  4725.  
  4726.  
  4727.          B.Pascal 7 & Objects/LR     - 105 -
  4728.  
  4729.                             Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ
  4730.         ─────────────────────────────────────────────────────────────────
  4731.  
  4732.              Æ¿»δ «»Ñαá¡ñ«ó ñ½∩ «»Ñαᵿ⌐ ¡áñ ¼¡«ªÑßΓóἿ »«¬áºá¡δ ó  Æáí-
  4733.         ½¿µÑ 6.7.
  4734.  
  4735.                             Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ          Æáí½¿µá 6.7
  4736.         ┌───────────────┬─────────────┬─────────────────────────────────┐
  4737.         │    Ä»Ñαᵿ∩   │  äÑ⌐ßΓó¿Ñ   │              Æ¿»δ «»Ñαá¡ñ«ó     │
  4738.         ├───────────────┼─────────────┼─────────────────────────────────┤
  4739.         │       +       │ ÄíΩÑñ¿¡Ñ¡¿Ñ │ î¡«ªÑßΓóá ß ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ │
  4740.         │       -       │  Éạ«ßΓ∞   │ î¡«ªÑßΓóá ß ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ │
  4741.         │       *       │ ÅÑαÑßÑτÑ¡¿Ñ │ î¡«ªÑßΓóá ß ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ │
  4742.         └───────────────┴─────────────┴─────────────────────────────────┘
  4743.  
  4744.              ÉѺπ½∞ΓáΓδ «»Ñαᵿ⌐ ß««ΓóÑΓßΓóπεΓ »αáó¿½á¼ ½«ú¿¬¿  αáí«Γδ  ß
  4745.         ¼¡«ªÑßΓóἿ:
  4746.  
  4747.              1.  Å«α∩ñ¬«ó«Ñ  º¡áτÑ¡¿Ñ  c  ß«ñÑনΓß∩  ó a+b Γ«½∞¬« Γ«úñá,
  4748.                  ¬«úñá «¡« ß«ñÑনΓß∩ ó a ¿½¿ ó b.
  4749.  
  4750.              2.  Å«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ c ß«ñÑনΓß∩  ó  a-b  Γ«½∞¬«  Γ«úñá,
  4751.                  ¬«úñá «¡« ß«ñÑনΓß∩ ó a ¿ ¡Ñ ß«ñÑনΓß∩ ó b.
  4752.  
  4753.              3.  Å«α∩ñ¬«ó«Ñ  º¡áτÑ¡¿Ñ  c  ß«ñÑনΓß∩  ó a*b Γ«½∞¬« Γ«úñá,
  4754.                  ¬«úñá «¡ ß«ñÑনΓß∩ ó «í«¿σ ¼¡«ªÑßΓóáσ a ¿ b.
  4755.  
  4756.              àß½¿ ¡á¿¼Ñ¡∞Φ¿¼ »«α∩ñ¬«óδ¼ º¡áτÑ¡¿Ñ¼,  ¬«Γ«α«Ñ ∩ó½∩ÑΓß∩ τ½Ñ-
  4757.         ¡«¼ αѺπ½∞ΓáΓá «»Ñαᵿ⌐ ¡áñ ¼¡«ªÑßΓóἿ, ∩ó½∩ÑΓß∩ a, á ¡á¿í«½∞Φ¿¼
  4758.         - b, Γ« Γ¿»«¼ αѺπ½∞ΓáΓá íπñÑΓ ¼¡«ªÑßΓó« a..b.
  4759.  
  4760.  
  4761.  
  4762.          B.Pascal 7 & Objects/LR     - 106 -
  4763.  
  4764.                                Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩
  4765.         ─────────────────────────────────────────────────────────────────
  4766.  
  4767.              Æ¿»δ «»Ñαá¡ñ«ó  ¿  αѺπ½∞ΓáΓδ «»Ñαᵿ⌐ «Γ¡«ΦÑ¡¿∩ »α¿óÑñÑ¡δ ó
  4768.         Æáí½¿µÑ 6.8.
  4769.  
  4770.                          Æáí½¿µá 6.8 Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩
  4771.         ┌─────────┬────────────┬────────────────────────┬───────────────┐
  4772.         │ Ä»Ñαᵿ∩│  äÑ⌐ßΓó¿Ñ  │    Æ¿»δ «»Ñαá¡ñ«ó      │ Æ¿» αѺπ½∞ΓáΓá│
  4773.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4774.         │     =   │     Éáó¡«  │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐,   │    üπ½Ñó߬¿⌐  │
  4775.         │         │            │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │               │
  4776.         │         │            │ ¡δ⌐ ßΓ᫬«óδ⌐ ¿½¿ π»á- │               │
  4777.         │         │            │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐     │               │
  4778.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4779.         │    <>   │  ìÑ αáó¡«  │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐,   │    üπ½Ñó߬¿⌐  │
  4780.         │         │            │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │               │
  4781.         │         │            │ ¡δ⌐, ßΓ᫬«óδ⌐ ¿½¿ π»á-│               │
  4782.         │         │            │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐     │               │
  4783.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4784.         │    <    │ îÑ¡∞ΦÑ τѼ │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐,   │    üπ½Ñó߬¿⌐  │
  4785.         │         │            │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │               │
  4786.         │         │            │ ¡δ⌐, ßΓ᫬«óδ⌐ ¿½¿ π»á-│               │
  4787.         │         │            │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐     │               │
  4788.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4789.         │    >    │ ü«½∞ΦÑ τѼ │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐,   │    üπ½Ñó߬¿⌐  │
  4790.         │         │            │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │               │
  4791.         │         │            │ ¡δ⌐ ßΓ᫬«óδ⌐ ¿½¿ π»á- │               │
  4792.         │         │            │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐     │               │
  4793.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4794.         │   <=    │  îÑ¡∞ΦÑ    │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐,   │    üπ½Ñó߬¿⌐  │
  4795.         │         │ ¿½¿ αáó¡«  │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │               │
  4796.         │         │            │ ¡δ⌐ ßΓ᫬«óδ⌐ ¿½¿ π»á- │               │
  4797.         │         │            │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐     │               │
  4798.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4799.         │   >=    │  ü«½∞ΦÑ    │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐,   │    üπ½Ñó߬¿⌐  │
  4800.         │         │ ¿½¿ αáó¡«  │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │               │
  4801.         │         │            │ ¡δ⌐ ßΓ᫬«óδ⌐ ¿½¿ π»á- │               │
  4802.         │         │            │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐     │               │
  4803.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4804.         │   <=    │Å«ñ¼¡«ªÑßΓó«│ î¡«ªÑßΓóá ß«ó¼ÑßΓ¿¼δσ  │     üπ½Ñó߬¿⌐ │
  4805.         │         │            │      Γ¿»«ó             │               │
  4806.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4807.         │   >=    │ìáñ¼¡«ªÑßΓó«│ î¡«ªÑßΓóá ß«ó¼ÑßΓ¿¼δσ  │     üπ½Ñó߬¿⌐ │
  4808.         │         │            │      Γ¿»«ó             │               │
  4809.         ├─────────┼────────────┼────────────────────────┼───────────────┤
  4810.         │   in    │  ¥½Ñ¼Ñ¡Γ   │ ïÑóδ⌐ «»Ñαá¡ñ: ½εí«⌐   │     üπ½Ñó߬¿⌐ │
  4811.         │         │  ¼¡«ªÑßΓóá │ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿» t;    │               │
  4812.         │         │            │ »αáóδ⌐: ¼¡«ªÑßΓó«,     │               │
  4813.         │         │            │ ß«ó¼ÑßΓ¿¼«Ñ ß t.       │               │
  4814.         └─────────┴────────────┴────────────────────────┴───────────────┘
  4815.  
  4816.  
  4817.  
  4818.          B.Pascal 7 & Objects/LR     - 107 -
  4819.  
  4820.                              æαáó¡Ñ¡¿Ñ »α«ßΓδσ Γ¿»«ó
  4821.         ─────────────────────────────────────────────────────────────────
  4822.  
  4823.              è«úñá «»Ñαᵿ¿ =,  <>,  <, >, >= ¿½¿ <= »α¿¼Ñ¡∩εΓß∩ ñ½∩ «»Ñ-
  4824.         αá¡ñ«ó »α«ßΓδσ Γ¿»«ó,  Γ« φΓ« ñ«½ª¡δ íδΓ∞ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ. Äñ¡á-
  4825.         ¬«, Ñß½¿  «ñ¿¡  «»Ñαá¡ñ  ¿¼ÑÑΓ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿»,  Γ« ñαπú«⌐ ¼«ªÑΓ
  4826.         íδΓ∞ µÑ½«ú« Γ¿»á.
  4827.  
  4828.  
  4829.                                  æαáó¡Ñ¡¿Ñ ßΓ᫬
  4830.         ─────────────────────────────────────────────────────────────────
  4831.  
  4832.              Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩ =,  <>,  <, >, >= ¿½¿ <= ¼«úπΓ »α¿¼Ñ¡∩Γß∩
  4833.         ñ½∩ ßαáó¡Ñ¡¿∩ ßΓ᫬ ß«ú½áß¡« »«α∩ñ¬π αáßΦ¿αÑ¡¡«ú« ¡áí«αá ß¿¼ó«½«ó
  4834.         ¬«ñá  ASæII.  ïεíδÑ ñóá º¡áτÑ¡¿∩ ßΓ᫬«óδσ ñá¡¡δσ ¼«ª¡« ßαáó¡¿Γ∞,
  4835.         »«ß¬«½∞¬π óßÑ º¡áτÑ¡¿∩ ßΓ᫬«óδσ ñá¡¡δσ ß«ó¼ÑßΓ¿¼δ.
  4836.  
  4837.              ç¡áτÑ¡¿∩ ß¿¼ó«½∞¡«ú« Γ¿»á ß«ó¼ÑßΓ¿¼δ ß« º¡áτÑ¡¿∩¼¿ ßΓ᫬«ó«-
  4838.         ú«  Γ¿»á,  ¿  »α¿ ¿σ ßαáó¡Ñ¡¿¿ ß¿¼ó«½∞¡«Ñ º¡áτÑ¡¿Ñ «íαáíáΓδóáÑΓß∩
  4839.         ¬á¬ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ ß ñ½¿¡«⌐ 1.  è«úñá ß« º¡áτÑ¡¿Ñ¼ ßΓ᫬«ó«ú«
  4840.         Γ¿»á  ßαáó¡¿óáÑΓß∩ π»á¬«óá¡¡«Ñ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ ¿º N φ½Ñ¼Ñ¡Γ«ó,
  4841.         Γ« «¡« «íαáíáΓδóáÑΓß∩, ¬á¬ º¡áτÑ¡¿Ñ ßΓ᫬«ó«ú« Γ¿»á ñ½¿¡«⌐ N.
  4842.  
  4843.  
  4844.                            æαáó¡Ñ¡¿Ñ π»á¬«óá¡¡δσ ßΓ᫬
  4845.         ─────────────────────────────────────────────────────────────────
  4846.  
  4847.              Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩ =,  <>,  <, >, >= ¿½¿ <= ¼«úπΓ »α¿¼Ñ¡∩Γß∩
  4848.         ΓᬪѠñ½∩ ñóπσ π»á¬«óá¡¡δσ º¡áτÑ¡¿⌐ ßΓ᫬«ó«ú« Γ¿»á, Ñß½¿ «¡¿ ß«-
  4849.         ñÑαªáΓ «ñ¿¡á¬«ó«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó.  àß½¿ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó αáó¡« n,
  4850.         Γ« «»Ñαᵿ∩ ß««ΓóÑΓßΓóπÑΓ ßαáó¡Ñ¡¿ε ñóπσ ßΓ᫬, ¬áªñá∩ ¿º ¬«Γ«αδσ
  4851.         ¿¼ÑÑΓ ñ½¿¡π n.
  4852.  
  4853.  
  4854.                               æαáó¡Ñ¡¿Ñ π¬áºáΓѽÑ⌐
  4855.         ─────────────────────────────────────────────────────────────────
  4856.  
  4857.              Ä»Ñαᵿ¿ = ¿ <> ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ßαáó¡Ñ¡¿∩ «»Ñαá¡ñ«ó
  4858.         Γ¿»á π¬áºáΓѽ∞. äóá π¬áºáΓѽ∩ αáó¡δ Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿ «¡¿
  4859.         ßßδ½áεΓß∩ ¡á «ñ¿¡ ¿ Γ«Γ ªÑ «íΩѬΓ.
  4860.  
  4861.  
  4862.  
  4863.          B.Pascal 7 & Objects/LR     - 108 -
  4864.  
  4865.                          æαáó¡Ñ¡¿Ñ ß¿¼ó«½∞¡δσ π¬áºáΓѽÑ⌐
  4866.         ─────────────────────────────────────────────────────────────────
  4867.  
  4868.              Åα¿ αáºαÑΦÑ¡¿¿ »« ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá  {$X+}  αáßΦ¿αÑ¡¡«ú«
  4869.         ß¿¡Γá¬ß¿ßá «»Ñαᵿ¿ =,  <>,  <,  >,  >= ¿½¿ <= ¼«úπΓ »α¿¼Ñ¡∩Γß∩ ¬
  4870.         º¡áτÑ¡¿∩¼ PChar.  çá¼ÑΓ¿¼,  «ñ¡á¬«,  τΓ« φΓ¿  «»Ñαᵿ¿  «Γ¡«ΦÑ¡¿∩
  4871.         »αÑñ»«½áúáεΓ, τΓ«  ñóá ßαáó¡¿óáѼδÑ π¬áºáΓѽ∩ ßßδ½áεΓß∩ ¡á «ñ¿¡ ¿
  4872.         Γ«Γ ªÑ ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó..  Å« φΓ«⌐ »α¿τ¿¡Ñ ó ßαáó¡Ñ¡¿¿ πτáßΓóπεΓ
  4873.         Γ«½∞¬« ß¼ÑΘÑ¡¿∩ ñóπσ º¡áτÑ¡¿⌐-π¬áºáΓѽÑ⌐. àß½¿ π¬áºáΓѽ¿ ßßδ½áεΓ-
  4874.         ß∩ ¡á αạδÑ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ, αѺπ½∞ΓáΓ íπñÑΓ ¡Ñ «»αÑñѽѡ.
  4875.  
  4876.  
  4877.                                æαáó¡Ñ¡¿Ñ ¼¡«ªÑßΓó
  4878.         ─────────────────────────────────────────────────────────────────
  4879.  
  4880.              àß½¿ «»Ñαá¡ñἿ ∩ó½∩εΓß∩ ¼¡«ªÑßΓóá a ¿ b,  Γ« »α¿ ¿σ ßαáó¡Ñ-
  4881.         ¡¿¿ »«½πτáεΓß∩ ß½ÑñπεΘ¿Ñ αѺπ½∞ΓáΓδ:
  4882.  
  4883.              1.  éδαáªÑ¡¿Ñ a=b ¿ßΓ¿¡¡« (= True) Γ«½∞¬« ¬«úñá a ¿ b ß«ñÑα-
  4884.                  ªáΓ «ñ¡¿ ¿ ΓÑ ªÑ φ½Ñ¼Ñ¡Γδ, ó »α«Γ¿ó¡«¼ ß½πτáÑ a<>b.
  4885.  
  4886.              2.  éδαáªÑ¡¿Ñ a = b ¿ßΓ¿¡¡«,  ¬«úñá ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¼¡«ªÑßΓóá
  4887.                  á ∩ó½∩ÑΓß∩ ΓᬪѠφ½Ñ¼Ñ¡Γ«¼ ¼¡«ªÑßΓóá b.
  4888.  
  4889.              3.  éδαáªÑ¡¿Ñ a = b ¿ßΓ¿¡¡«,  ¬«úñá ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¼¡«ªÑßΓóá
  4890.                  b ∩ó½∩ÑΓß∩ ΓᬪѠφ½Ñ¼Ñ¡Γ«¼ ¼¡«ªÑßΓóá a.
  4891.  
  4892.  
  4893.                      Åα«óÑα¬á ¡á »α¿¡áñ½Ñª¡«ßΓ∞ ¬ ¼¡«ªÑßΓóπ
  4894.         ─────────────────────────────────────────────────────────────────
  4895.  
  4896.              Ä»Ñαᵿ∩ in ó«ºóαáΘáÑΓ ¿ßΓ¿¡¡«Ñ º¡áτÑ¡¿Ñ (True),  ¬«úñá º¡á-
  4897.         τÑ¡¿Ñ φ½Ñ¼Ñ¡Γá »«α∩ñ¬«ó«ú« Γ¿»á ∩ó½∩ÑΓß∩ φ½Ñ¼Ñ¡Γ«¼ «»Ñαá¡ñá  ¼¡«-
  4898.         ªÑßΓóÑ¡¡«ú«  Γ¿»á,  ó  »α«Γ¿ó¡«¼  ß½πτáÑ  «¡  ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ
  4899.         False.
  4900.  
  4901.  
  4902.  
  4903.          B.Pascal 7 & Objects/LR     - 109 -
  4904.  
  4905.                                    Ä»Ñαᵿ∩ @
  4906.         ─────────────────────────────────────────────────────────────────
  4907.  
  4908.              Ä»Ñαᵿ∩ @ ¿ß»«½∞ºπÑΓß∩ ó áñαÑß¡«¼ ¬«φΣΣ¿µ¿Ñ¡ΓÑ ñ½∩ óδτ¿ß½Ñ-
  4909.         ¡¿∩ áñαÑßá »ÑαѼѡ¡«⌐,  »α«µÑñπαδ,  Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá. é Æáí½¿µÑ
  4910.         6.9 »«¬áºá¡ «»Ñαá¡ñ ¿ Γ¿»δ αѺπ½∞ΓáΓá.
  4911.  
  4912.          áñαÑß¡δ⌐ ¬«φΣΣ¿µ¿Ñ¡Γ
  4913.          │  ┌───┐        ┌──────────────────────┐
  4914.          └──│ @ ├──┬─────│ ßßδ½¬á ¡Ñ »ÑαѼѡ¡πε ├───────────────────────>
  4915.             └───┘  │     └──────────────────────┘              ^
  4916.                    │     ┌─────────────────────────┐           │
  4917.                    ├────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ ├───────────┤
  4918.                    │     └─────────────────────────┘           │
  4919.                    │     ┌───────────────────────┐             │
  4920.                    ├────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ ├─────────────┤
  4921.                    │     └───────────────────────┘             │
  4922.                    │     ┌─────────────────────────────────┐   │
  4923.                    └────>│ πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá ├───┘
  4924.                          └─────────────────────────────────┘
  4925.  
  4926.                            Ä»Ñαᵿ∩ ß«ºñá¡¿∩ π¬áºáΓѽ∩        Æáí½¿µá 6.9
  4927.         ┌────────────┬───────────┬───────────────────────┬──────────────┐
  4928.         │   Ä»Ñαᵿ∩ │ äÑ⌐ßΓó¿Ñ  │   Æ¿»δ «»Ñαá¡ñ«ó      │Æ¿» αѺπ½∞ΓáΓá│
  4929.         ├────────────┼───────────┼───────────────────────┼──────────────┤
  4930.         │       @    │ Å«½πτÑ¡¿Ñ │ æßδ½¬á ¡á »ÑαѼѡ¡πε, │   ô¬áºáΓѽ∞  │
  4931.         │            │ π¬áºáΓѽ∩ │ »α«µÑñπαπ ¿½¿ ¿ñÑ¡Γ¿- │  (ß«ó¼ÑßΓ¿-  │
  4932.         │            │           │ Σ¿¬áΓ«α Σπ¡¬µ¿¿.      │  ¼δ⌐ ß nil)  │
  4933.         └────────────┴───────────┴───────────────────────┴──────────────┘
  4934.  
  4935.              Ä»Ñαᵿ∩ @ ó«ºóαáΘáÑΓ áñαÑß «»Ñαá¡ñá,  Γ« ÑßΓ∞ ßΓα«¿Γ º¡áτÑ-
  4936.         ¡¿Ñ-π¬áºáΓѽ∞, ßßδ½áεΘÑÑß∩ ¡á φëà«»Ñαá¡ñ.
  4937.  
  4938.  
  4939.  
  4940.  
  4941.          B.Pascal 7 & Objects/LR     - 110 -
  4942.  
  4943.                      êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ »ÑαѼѡ¡«⌐
  4944.         ─────────────────────────────────────────────────────────────────
  4945.  
  4946.              êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ «íδτ¡«⌐ »ÑαѼѡ¡«⌐ (¡Ñ »áαá¼ÑΓ-
  4947.         αá) ¡Ñ óδºδóáÑΓ ¡¿¬á¬¿σ ß½«ª¡«ßΓÑ⌐.  Åα¿¼Ñ¡Ñ¡¿Ñ @ ¬ ßßδ½¬Ñ ¡á »Ñ-
  4948.         αѼѡ¡πε ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε. éóÑñѼ «»¿ßá¡¿∩:
  4949.  
  4950.              type
  4951.                TwoChar = array[0..1] of char;
  4952.              var
  4953.                Int: integer;
  4954.                TwoCharPtr: ^TwoChar;
  4955.  
  4956.         Γ«úñá «»ÑαáΓ«α:
  4957.  
  4958.              TwoCharPtr := @Int;
  4959.  
  4960.         »α¿ó«ñ¿Γ ¬   Γ«¼π,   τΓ«   TwoCharPtr  ñ½∩  »«½πτÑ¡¿∩  ßß佬¿  ¡á
  4961.         TwoCharPtr^ ßΓá¡«ó¿Γß∩ »«óΓ«α¡«⌐ ¿¡ΓÑα»αÑΓᵿÑ⌐ º¡áτÑ¡¿∩ Int, ¬á¬
  4962.         Ñß½¿ íδ «¡« í佫 ß¿¼ó«½∞¡δ¼ ¼áß߿󫼠array[0..1].
  4963.  
  4964.              Æ¿» »«½πτáѼ«ú« ó αѺπ½∞ΓáΓÑ π¬áºáΓѽ∞ π»αáó½∩ÑΓß∩  ñ¿αÑ¬Γ¿-
  4965.         ó«⌐ ¬«¼»¿½∩Γ«αá  $T:  ó  ß«ßΓ«∩¡¿¿ {$T-} (»« π¼«½τá¡¿ε) Γ¿»«¼ αÑ-
  4966.         ºπ½∞ΓáΓá íπñÑΓ Pointer.  äαπú¿¼¿ ß½«óἿ,  αѺπ½∞ΓáΓ «¼  ∩ó½∩ÑΓß∩
  4967.         ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ π¬áºáΓѽ∞,  ß«ó¼ÑßΓ¿¼δ⌐  ß« óßѼ¿ ñαπú¿¼¿ Γ¿»á¼¿
  4968.         π¬áºáΓѽÑ⌐. é ß«ßΓ«∩¡¿¿ {$T+} Γ¿»«¼ αѺπ½∞ΓáΓá íπñÑΓ ^T,  úñÑ T -
  4969.         Γ¿» ßß佬¿ ¡á »ÑαѼѡ¡πε.  Æ« ÑßΓ∞ Γ¿» αѺπ½∞ΓáΓá íπñÑΓ ß«ó¼ÑßΓ¿¼
  4970.         ß« óßѼ¿ ñαπú¿¼¿ π¬áºáΓѽ∩¼¿ ¡á Γ¿» φΓ«⌐ »ÑαѼѡ¡«⌐.
  4971.  
  4972.                    Åα¿¼Ñτá¡¿Ñ: è ¿ß»«½∞º«óá¡¿ε «»Ñαᵿ¿ @  ß  »α«µÑñπα¡δ¼
  4973.               Γ¿»«¼  »α¿¼Ñ¡∩εΓß∩  ß»Ñµ¿á½∞¡δÑ  »αáó¿½á.  æ¼.  ¡¿ªÑ αáºñѽ
  4974.               "Åα«µÑñπα¡δ⌐ Γ¿»δ ó óδαáªÑ¡¿∩σ".
  4975.  
  4976.  
  4977.  
  4978.  
  4979.          B.Pascal 7 & Objects/LR     - 111 -
  4980.  
  4981.                             êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @
  4982.                       ñ½∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá
  4983.         ─────────────────────────────────────────────────────────────────
  4984.  
  4985.              éδ ¼«ªÑΓÑ »α¿¼Ñ¡∩Γ∞ «»Ñαᵿε @ ¬ »α«µÑñπαÑ,  Σπ¡¬µ¿¿ ¿½¿ ¼Ñ-
  4986.         Γ«ñπ. Åα¿ φΓ«¼ óδ »«½πτ¿ΓÑ π¬áºáΓѽ∞ ¡á Γ«τ¬π óσ«ñá »«ñ»α«úαá¼¼δ.
  4987.         ìѺáó¿ß¿¼« «Γ ß«ßΓ«∩¡¿∩ $T, Γ¿»«¼ »«½πτÑ¡¡«ú« ó αѺπ½∞ΓáΓÑ π¬áºá-
  4988.         Γѽ∩ óßÑúñá  íπñÑΓ Pointer.  äαπú¿¼¿ ß½«óἿ,  αѺπ½∞ΓáΓ«¼ óßÑúñá
  4989.         ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ π¬áºáΓѽ∞, ß«ó¼ÑßΓ¿¼δ⌐ ß« óßѼ¿ ñαπú¿¼¿
  4990.         ßß佫τ¡δ¼¿ Γ¿»á¼¿.
  4991.  
  4992.              Åα¿ »α¿¼Ñ¡Ñ¡¿¿ «»Ñαᵿ¿ @ ¬ ¼ÑΓ«ñπ ¼ÑΓ«ñ ñ«½ªÑ¡ ºáñáóáΓ∞ß∩ ß
  4993.         »«¼«Θ∞ε πΓ«τ¡Ñ¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá (¿ñÑ¡Γ¿Σ¿¬áΓ«αá «íΩÑ¬Γ¡«ú« Γ¿-
  4994.         »á, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ Γ«τ¬á ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá).
  4995.  
  4996.  
  4997.                                  é맮óδ Σπ¡¬µ¿¿
  4998.         ─────────────────────────────────────────────────────────────────
  4999.  
  5000.              é맮óδ Σπ¡¬µ¿¿ »α¿ó«ñ∩Γ ¬ á¬Γ¿ó¿ºáµ¿¿  Σπ¡¬µ¿¿,  ºáñá¡¡«⌐  ß
  5001.         »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Σπ¡¬µ¿¿.  êñÑ¡Γ¿Σ¿¬áΓ«α«¼ Σπ¡¬µ¿¿ ∩ó½∩ÑΓß∩
  5002.         ½εí«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¿ß»«½∞º«óá¡¡δ⌐ ñ½∩ «í«º¡áτÑ¡¿∩ Σπ¡¬µ¿¿.
  5003.  
  5004.              àß½¿ ó ß««ΓóÑΓßΓóπεΘѼ «»¿ßá¡¿¿  Σπ¡¬µ¿¿  ß«ñÑনΓß∩  ß»¿ß«¬
  5005.         Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó Γ« ó ó맮óÑ Σπ¡¬µ¿¿ ñ«½ªÑ¡ ß«ñÑαªáΓ∞ß∩ ß»¿-
  5006.         ß«¬ Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó.  èáªñδ⌐ »áαá¼ÑΓα »«ñßΓáó½∩ÑΓß∩ ó¼ÑßΓ«
  5007.         ß««ΓóÑΓßΓóπεΘÑú«  Σ«α¼á½∞¡«ú«  »áαá¼ÑΓαá ó ß««ΓóÑΓßΓó¿¿ ß ¡áí«α«¼
  5008.         »αáó¿½, ¬«Γ«αδ⌐ óó«ñ¿Γß∩ ó â½áóÑ 9 ("Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿").
  5009.  
  5010.                    Åα¿¼Ñτá¡¿Ñ: æ¼.  óδΦÑ αáºñÑ½δ  "Ç¬Γ¿ó¿ºáµ¿∩  ¼ÑΓ«ñ«ó",
  5011.               "Ç¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó" ¿ "Åα«µÑñπα¡δÑ Γ¿»δ".
  5012.  
  5013.                            ┌─────────────┐
  5014.          ó맮ó Σπ¡¬µ¿¿ ─┬─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬┬───────────────────────────>
  5015.                         │  │   Σπ¡¬µ¿¿   │ ││                         ^
  5016.                         │  └─────────────┘ ││   ┌──────────────────┐  │
  5017.                         │  ┌─────────────┐ │└──>│ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ├──┘
  5018.                         ├─>│ ñÑß¿ú¡áΓ«α  ├─┤    │  »áαá¼ÑΓα«ó      │
  5019.                         │  │   ¼ÑΓ«ñá    │ │    └──────────────────┘
  5020.                         │  └─────────────┘ │
  5021.                         │  ┌─────────────┐ │
  5022.                         │  │  πΓ«τ¡Ñ¡¡δ⌐ │ │
  5023.                         ├─>│  ñÑß¿ú¡áΓ«α ├─┤
  5024.                         │  │    ¼ÑΓ«ñá   │ │
  5025.                         │  └─────────────┘ │
  5026.                         │  ┌─────────────┐ │
  5027.                         └─>│  ßßδ½¬á ¡á  ├─┘
  5028.                            │  »ÑαѼѡ¡πε │
  5029.                            └─────────────┘
  5030.  
  5031.  
  5032.          B.Pascal 7 & Objects/LR     - 112 -
  5033.  
  5034.  
  5035.                                  ┌───┐      ┌───────────┐     ┌───┐
  5036.          ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ ────>│ ( ├─────>│Σá¬Γ¿τÑ߬¿⌐├──┬─>│ ) ├───>
  5037.          »áαá¼ÑΓα«ó              └───┘   ^  │ »áαá¼ÑΓα  │  │  └───┘
  5038.                                          │  └───────────┘  │
  5039.                                          │   ┌───┐         │
  5040.                                          └───┤ , │<────────┘
  5041.                                              └───┘
  5042.  
  5043.                                     ┌────────────┐
  5044.          Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ──┬──>│ óδαáªÑ¡¿Ñ  ├────────>
  5045.                                 │   └────────────┘   ^
  5046.                                 │   ┌────────────┐   │
  5047.                                 └──>│ ßßδ½¬á ¡á  ├───┘
  5048.                                     │ »ÑαѼѡ¡πε │
  5049.                                     └────────────┘
  5050.  
  5051.              Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ ó맮ó«ó Σπ¡¬µ¿⌐:
  5052.  
  5053.              Sum(A,63)
  5054.              Maximum(147,J)
  5055.              Sin(X+Y)
  5056.              Eof(F)
  5057.              Volume(Radius, Height)
  5058.  
  5059.              é αѪ¿¼Ñ  αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá ($X+) ó맮óδ Σπ¡¬µ¿⌐ ¼«ª¡«
  5060.         ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ  «»ÑαáΓ«α«ó,  Γ«  ÑßΓ∞  αѺπ½∞ΓáΓ  ó맮óá
  5061.         Σπ¡¬µ¿¿ ¼«ªÑΓ «ΓíαáßδóáΓ∞ß∩.
  5062.  
  5063.  
  5064.  
  5065.          B.Pascal 7 & Objects/LR     - 113 -
  5066.  
  5067.                                Ä»¿ßáΓѽ¿ ¼¡«ªÑßΓóá
  5068.         ─────────────────────────────────────────────────────────────────
  5069.  
  5070.              Ä»¿ßáΓѽ∞ ¼¡«ªÑßΓóá  «»αÑñѽ∩ÑΓ º¡áτÑ¡¿∩ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
  5071.         ¿ »«½πτáÑΓß∩ »πΓѼ ºá»¿ß¿  óδαáªÑ¡¿⌐,  ºá¬½ετÑ¡¡δσ  ó  ¬óáñαáΓ¡δÑ
  5072.         ß¬«í¬¿ ([]). èáªñ«Ñ óδαáªÑ¡¿Ñ «»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ ¼¡«ªÑßΓóá.
  5073.  
  5074.                        ┌───┐                            ┌───┐
  5075.          «»¿ßáΓѽ∞ ───>│ [ ├──┬────────────────────────>│ ] ├───>
  5076.          ¼¡«ªÑßΓóá     └───┘  │    ┌────────────┐    ^  └───┘
  5077.                               └───>│   úαπ»»á   ├──┬─┘
  5078.                                 ^  │  φ½Ñ¼Ñ¡Γ«ó │  │
  5079.                                 │  └────────────┘  │
  5080.                                 │    ┌───┐         │
  5081.                                 └────┤ , │<────────┘
  5082.                                      └───┘
  5083.  
  5084.                              ┌───────────┐
  5085.          úαπ»»á φ½Ñ¼Ñ¡Γ«ó ──>│ óδαáªÑ¡¿Ñ ├──┬───────────────────────────>
  5086.                              └───────────┘  │                       ^
  5087.                                             │  ┌──┐   ┌───────────┐ │
  5088.                                             └─>│..├──>│ óδαáªÑ¡¿Ñ ├─┘
  5089.                                                └──┘   └───────────┘
  5090.  
  5091.              Äí«º¡áτÑ¡¿Ñ [ ] «º¡áτáÑΓ »πßΓ«Ñ ¼¡«ªÑßΓó«, Γ¿» ¬«Γ«α«ú« ß«ó-
  5092.         ¼ÑßΓ¿¼  »«  »α¿ßóá¿óá¡¿ε  ß Γ¿»«¼ ½εí«ú« ¼¡«ªÑßΓóá.  ïεíá∩ úαπ»»á
  5093.         φ½Ñ¼Ñ¡Γ«ó,  «»¿ßá¡¡á∩,  ¬á¬ σ..π,  «íΩ∩ó½∩ÑΓ φ½Ñ¼Ñ¡ΓἿ ¼¡«ªÑßΓóá
  5094.         óßÑ º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ σ..π.  àß½¿ σ í«½∞ΦÑ,  τѼ π, Γ« σ..π ¡Ñ
  5095.         «»¿ßδóáÑΓ ¡¿¬á¬¿σ φ½Ñ¼Ñ¡Γ«ó ¿ [x..y] «í«º¡áτáÑΓ »πßΓ«Ñ ¼¡«ªÑßΓó«.
  5096.  
  5097.              é ¬«¡¬αÑΓ¡«¼ «»¿ßáΓѽѠ¼¡«ªÑßΓóá óßÑ  º¡áτÑ¡¿∩  óδαáªÑ¡¿∩  ó
  5098.         úαπ»»áσ φ½Ñ¼Ñ¡Γ«ó ñ«½ª¡δ íδΓ∞ «ñ¡«ú« »«α∩ñ¬«ó«ú« Γ¿»á.
  5099.  
  5100.              Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»¿ßáΓѽÑ⌐ ¼¡«ªÑßΓó:
  5101.  
  5102.              [red, C, green]
  5103.              [1,5,10..K mod 12, 13, 23]
  5104.              ['A'..'Z', 'a'..'z', Chr(Digit+48)]
  5105.  
  5106.  
  5107.  
  5108.          B.Pascal 7 & Objects/LR     - 114 -
  5109.  
  5110.                             Åα¿óÑñÑ¡¿Ñ Γ¿»á º¡áτÑ¡¿⌐
  5111.         ─────────────────────────────────────────────────────────────────
  5112.  
  5113.              Æ¿» óδαáªÑ¡¿∩ ¼«ª¡« ¿º¼Ñ¡¿Γ∞ ¡á ñαπú«⌐ Γ¿» ß »«¼«Θ∞ε  »α¿óÑ-
  5114.         ñÑ¡¿∩ Γ¿»á º¡áτÑ¡¿⌐.
  5115.  
  5116.                           ┌─────────────┐   ┌───┐   ┌─────────┐   ┌───┐
  5117.          »α¿óÑñÑ¡¿Ñ   ───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──>│ ( ├──>│óδαáªÑ¡¿Ñ├──>│ ) ├─>
  5118.          Γ¿»á º¡áτÑ¡¿∩    │    Γ¿»á     │   └───┘   └─────────┘   └───┘
  5119.                           └─────────────┘
  5120.  
  5121.              Æ¿» óδαáªÑ¡¿∩ ¿ ºáñáóáѼδ⌐ Γ¿» ñ«½ª¡δ «íá ¿¼ÑΓ∞ »ÑαÑτ¿ß½¿¼δ⌐
  5122.         Γ¿» ¿½¿ Γ¿» π¬áºáΓѽÑ⌐.  ä½∩  »ÑαÑτ¿ß½¿¼δσ  Γ¿»«ó  αѺπ½∞Γ¿απεΘÑÑ
  5123.         º¡áτÑ¡¿Ñ  »«½πτáÑΓß∩  »πΓѼ »αÑ«íαẫóá¡¿∩ óδαáªÑ¡¿∩ (¿ ó«º¼«ª¡«⌐
  5124.         »α«óÑન ¡á ¡áσ«ªñÑ¡¿Ñ ó ñ«»πßΓ¿¼δσ úαá¡¿µáσ). ÅαÑ«íαẫóá¡¿Ñ ¼«-
  5125.         ªÑΓ »α¿óÑßΓ¿ ¬ πßÑτÑ¡¿ε ¿½¿ πóѽ¿τÑ¡¿ε αẼÑαá ¿ßσ«ñ¡«ú« º¡áτÑ¡¿∩
  5126.         ó Γ«¼ ß½πτáÑ,  Ñß½¿ ó¡«ó∞ «»αÑñѽ∩Ѽδ⌐ Γ¿» «Γ½¿τáÑΓß∩ «Γ Γ¿»á óδ-
  5127.         αáªÑ¡¿∩. é Γ«¼ ß½πτáÑ, ¬«úñá º¡áτÑ¡¿Ñ αáßΦ¿α∩ÑΓß∩, Ñú« º¡á¬ óßÑú-
  5128.         ñá ß«σαá¡∩ÑΓß∩.  Æá¬¿¼ «íαẫ¼,  º¡áτÑ¡¿Ñ ∩ó½∩ÑΓß∩ αáßΦ¿α∩Ñ¼δ¼ »«
  5129.         º¡á¬π.
  5130.  
  5131.              æ¿¡Γá¬ß¿ß »α¿óÑñÑ¡¿∩ Γ¿»á º¡áτÑ¡¿⌐ »«τΓ¿ ß«ó»áñáÑΓ ß ß¿¡Γá¬-
  5132.         ß¿ß«¼ »α¿óÑñÑ¡¿∩ Γ¿»á »ÑαѼѡ¡δσ (ß¼. αáºñѽ "Åα¿óÑñÑ¡¿Ñ Γ¿»á »Ñ-
  5133.         αѼѡ¡δσ" ó â½áóÑ 5).  Äñ¡á¬« »α¿ »α¿óÑñÑ¡¿¿ Γ¿»á º¡áτÑ¡¿⌐ «»Ñαá-
  5134.         µ¿¿ »α«¿ºó«ñ∩Γß∩ ß« º¡áτÑ¡¿∩¼¿,  á  ¡Ñ  ß  »ÑαѼѡ¡δ¼¿  ¿,  Γᬿ¼
  5135.         «íαẫ¼, ¼«úπΓ ¡Ñ πτáßΓó«óáΓ∞ ó ßß佬áσ ¡á »ÑαѼѡ¡δÑ. Æ« ÑßΓ∞ ºá
  5136.         »α¿óÑñÑ¡¿Ñ¼ Γ¿»á º¡áτÑ¡¿∩ ¡Ñ «í∩ºáΓѽ∞¡« ß½ÑñπεΓ ¬óá½¿Σ¿¬áΓ«αδ. é
  5137.         τáßΓ¡«ßΓ¿, »α¿óÑñÑ¡¿Ñ Γ¿»á º¡áτÑ¡¿⌐ ¡Ñ ñ«½ª¡« óßΓαÑτáΓ∞ß∩ ó ½Ñó«⌐
  5138.         τáßΓ¿ «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩.
  5139.  
  5140.              ìѬ«Γ«αδÑ »α¿¼Ñαδ »α¿óÑñÑ¡¿∩ Γ¿»á º¡áτÑ¡¿⌐ ó¬½ετáεΓ  ó ßÑí∩:
  5141.  
  5142.              Intereg('A')
  5143.              Char(48)
  5144.              Boolean(0)
  5145.              Color(2)
  5146.              IntPtr(@Buffer)
  5147.              BytePtr(Ptr($40,$49))
  5148.  
  5149.  
  5150.  
  5151.          B.Pascal 7 & Objects/LR     - 115 -
  5152.  
  5153.                           Åα«µÑñπα¡δÑ Γ¿»δ ó óδαáªÑ¡¿∩σ
  5154.         ─────────────────────────────────────────────────────────────────
  5155.  
  5156.              é «íΘѼ ß½πτáÑ ¿ß»«½∞º«óá¡¿Ñ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐ ó «»Ñαá-
  5157.         Γ«αÑ  ¿½¿ óδαáªÑ¡¿¿ «º¡áτáÑΓ ó맮ó »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,  σαá¡∩-
  5158.         ΘÑ⌐ß∩ ó φΓ«⌐ »ÑαѼѡ¡«⌐. Äñ¡á¬«, ¿¼ÑÑΓß∩ ¿ß¬½ετÑ¡¿Ñ. è«úñá ¬«¼»¿-
  5159.         ½∩Γ«α ó¿ñ¿Γ,  τΓ« »α«µÑñπα¡á∩ »ÑαѼѡ¡á∩ ¡áσ«ñ¿Γß∩ ó ½Ñó«⌐  τáßΓ¿
  5160.         «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩,  «¡ º¡áÑΓ, τΓ« »αáóá∩ τáßΓ∞ ñ«½ª¡á »αÑñß-
  5161.         Γáó½∩Γ∞ ß«í«⌐ »α«µÑñπα¡«Ñ º¡áτÑ¡¿Ñ. Éáßß¼«Γα¿¼ ó ¬áτÑßΓóÑ »α¿¼Ñαá
  5162.         ß½ÑñπεΘπε »α«úαá¼¼π:
  5163.  
  5164.              type
  5165.                 IntFunc = function: Integer;
  5166.              var
  5167.                 F: IntFunc;
  5168.                 N: Integer;
  5169.  
  5170.              function ReadInt: Integer; far;
  5171.              var
  5172.                 I: Integer;
  5173.              begin
  5174.                 Read(I);
  5175.                 ReadInt := I;
  5176.              end;
  5177.              begin
  5178.                 F := ReadInt;      { »α¿ßóá¿óá¡¿Ñ »α«µÑñπα¡«ú« º¡áτÑ¡¿∩ }
  5179.                 N := ReadInt;      { »α¿ßóá¿óá¡¿Ñ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ }
  5180.              end.
  5181.  
  5182.              ÅÑαóδ⌐ «»ÑαáΓ«α  «ß¡«ó¡«⌐  »α«úαá¼¼δ »α¿ßóá¿óáÑΓ »α«µÑñπα¡«Ñ
  5183.         º¡áτÑ¡¿Ñ (áñαÑß »α«µÑñπαδ) ReadInt »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐ F, óΓ«-
  5184.         α«⌐ «»ÑαáΓ«α óδºδóáÑΓ ReadInt ¿ »α¿ßóá¿óáÑΓ N ó«ºóαáΘáѼ«Ñ º¡áτÑ-
  5185.         ¡¿Ñ.  Éẽ¿τ¿Ñ ¼Ñªñπ »«½πτÑ¡¿Ñ¼ »α«µÑñπα¡«ú« º¡áτÑ¡¿∩ ¿½¿ ó맮ó«¼
  5186.         Σπ¡¬µ¿¿ «ßπΘÑßΓó½∩ÑΓß∩ »« Γ¿»π »ÑαѼѡ¡«⌐,  ¬«Γ«α«⌐ »α¿ßóá¿óáÑΓß∩
  5187.         º¡áτÑ¡¿Ñ (F ¿½¿ N).
  5188.  
  5189.              è ß«ªá½Ñ¡¿ε,  ÑßΓ∞ ß¿Γπᵿ¿, ¬«úñá ¬«¼»¿½∩Γ«α ¡Ñ ¼«ªÑΓ «»αÑ-
  5190.         ñѽ¿Γ∞ ¿º ¬«¡ΓѬßΓᠪѽáѼ«Ñ ñÑ⌐ßΓó¿Ñ. ìá»α¿¼Ñα, ó ß½ÑñπεΘѼ «»Ñ-
  5191.         αáΓ«αÑ ñ½∩ ¬«¼»¿½∩Γ«αá ¡Ñ «τÑó¿ñ¡«,  τΓ« ¡πª¡« ßñѽáΓ∞:  ßαáó¡¿Γ∞
  5192.         »α«µÑñπα¡«Ñ  º¡áτÑ¡¿Ñ ó F ß »α«µÑñπα¡δ¼ º¡áτÑ¡¿Ñ¼ ReadInt,  τΓ«íδ
  5193.         «»αÑñѽ¿Γ∞,  τΓ« F π¬áºδóáÑΓ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ ¡á ReadInt, ¿½¿ óδº-
  5194.         óáΓ∞ F ¿ ReadInt, á ºáΓѼ ßαáó¡¿Γ∞ ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩:
  5195.  
  5196.              if F = ReadInt then
  5197.                WriteLn('Equal');
  5198.  
  5199.              Äñ¡á¬«, ßΓá¡ñáαΓ¡δ⌐ ß¿¡Γá¬ß¿ß Åá߬á½∩ «»αÑñѽ∩ÑΓ,  τΓ« óσ«ª-
  5200.         ñÑ¡¿Ñ  ó  óδαáªÑ¡¿Ñ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá  Σπ¡¬µ¿¿  «º¡áτáÑΓ ó맮ó φΓ«⌐
  5201.         Σπ¡¬µ¿¿,  »«φΓ«¼π ó αѺπ½∞ΓáΓÑ »αÑñδñπΘÑú« «»ÑαáΓ«αá íπñÑΓ óδ»«½-
  5202.         ¡Ñ¡  ó맮ó  F ¿ ReadInt,  á ºáΓѼ íπñπΓ ßαáó¡¿óáΓ∞ß∩ ó«ºóαáΘáѼδÑ
  5203.         º¡áτÑ¡¿∩.  ùΓ«íδ ßαáó¡¿Γ∞ »α«µÑñπα¡«Ñ º¡áτÑ¡¿Ñ ó F ß  »α«µÑñπα¡δ¼
  5204.         º¡áτÑ¡¿Ñ¼ ó ReadInt, ¡πª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘπε ¬«¡ßΓαπ¬µ¿ε:
  5205.  
  5206.  
  5207.          B.Pascal 7 & Objects/LR     - 116 -
  5208.  
  5209.              if @F = @ReadInt then
  5210.                WriteLn('Equal');
  5211.  
  5212.              Åα¿ »α¿¼Ñ¡Ñ¡¿¿ ¬ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐, ¿ñÑ¡Γ¿Σ¿¬áΓ«απ »α«-
  5213.         µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ «»Ñαᵿ¿ »«½πτÑ¡¿∩ áñαÑßá @, φΓá «»Ñαᵿ∩ »αÑ-
  5214.         ñ«ΓóαáΘáÑΓ  óδº«ó ¬«¼»¿½∩Γ«α«¼ »α«µÑñπαδ ¿ ó Γ« ªÑ óαѼ∩ »αÑ«íαá-
  5215.         ºπÑΓ áαúπ¼Ñ¡Γ ó π¬áºáΓѽ∞.  Æá¬¿¼ «íαẫ¼, @F »αÑ«íαáºπÑΓ F ó ¡Ñ-
  5216.         Γ¿»¿º«óá¡¡δ⌐   π¬áºáΓѽ∞-»ÑαѼѡ¡πε,   ¬«Γ«αá∩   ß«ñÑαª¿Γ   áñαÑß
  5217.         ReadInt.  ä½∩ «»αÑñѽѡ¿∩ Γ«ú«,  τΓ« F ßßδ½áÑΓß∩ ¡á ReadInt ¼«ª¡«
  5218.         ßαáó¡¿Γ∞ ñóá º¡áτÑ¡¿∩-π¬áºáΓѽ∩.
  5219.  
  5220.              Ä»Ñαᵿ∩ @ τáßΓ« ¿ß»«½∞ºπÑΓß∩ »α¿  »α¿ßóá¿óá¡¿¿  »α«µÑñπα¡«⌐
  5221.         »ÑαѼѡ¡«⌐ ¡ÑΓ¿»¿º¿α«óá¡¡«ú« º¡áτÑ¡¿∩-π¬áºáΓѽ∩.  ìá»α¿¼Ñα, «»αÑ-
  5222.         ñѽѡ¡á∩ ó Windows (ó  ¼«ñπ½Ñ  WinProcs)  Σπ¡¬µ¿∩  GetProcAddress
  5223.         ó«ºóαáΘáÑΓ áñαÑß  φ¬ß»«αΓ¿απѼ«⌐ Σπ¡¬µ¿¿ ó DLL ¬á¬ ¡ÑΓ¿»¿º¿α«óá¡-
  5224.         ¡«⌐ º¡áτÑ¡¿Ñ-π¬áºáΓѽ∞. æ »«¼«Θ∞ε «»Ñαᵿ¿ @ ó맮ó GetProcAddress
  5225.         ¼«ª¡« »α¿ßó«¿Γ∞ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐:
  5226.  
  5227.              type
  5228.                TStrComp = function(Str1, Str2: PChar): Integer;
  5229.              var
  5230.                StrComp: TStrComp:
  5231.                  .
  5232.                  .
  5233.                  .
  5234.              begin
  5235.               .
  5236.               .
  5237.               .
  5238.               @StrComp := GetProcAddress(KernelHandle, 'Lstrcmpi');
  5239.                   .
  5240.                   .
  5241.                   .
  5242.              end.
  5243.  
  5244.              ùΓ«íδ »«½πτ¿Γ∞ áñαÑß ó »á¼∩Γ¿ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐,  á  ¡Ñ
  5245.         áñαÑß,  ó  ¡Ñ⌐  ºá»¿ßá¡¡δ⌐,  ¿ß»«½∞ºπ⌐ΓÑ ñó«⌐¡πε «»Ñαᵿε @ (@@).
  5246.         ìá»α¿¼Ñα,  @P «º¡áτáÑΓ »αÑ«íαẫóá¡¿Ñ P ó ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ π¬áºá-
  5247.         Γѽ∞-»ÑαѼѡ¡πε,  ó  @@P  «º¡áτáÑΓ ó«ºóαáΘÑ¡¿Ñ Σ¿º¿τÑ߬«ú« áñαÑßá
  5248.         »ÑαѼѡ¡«⌐ P.
  5249.  
  5250.  
  5251.  
  5252.          B.Pascal 7 & Objects/LR     - 117 -
  5253.  
  5254. ───────────────────────────────────────────────────────────────────────
  5255.                                â½áóá 7. Ä»ÑαáΓ«αδ
  5256.         ─────────────────────────────────────────────────────────────────
  5257.  
  5258.              Ä»ÑαáΓ«αδ «»¿ßδóáεΓ  ΓÑ  á½ú«α¿Γ¼¿τÑ߬¿Ñ  ñÑ⌐ßΓó¿∩,  ¬«Γ«αδÑ
  5259.         ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩.  Ä»ÑαáΓ«αá¼ ¼«úπΓ »αÑñΦÑßΓó«óáΓ∞ ¼ÑΓ¬¿, ¬«Γ«-
  5260.         αδÑ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ ßß佫¬ ó «»ÑαáΓ«αáσ »ÑαÑσ«ñá goto.
  5261.  
  5262.          «»ÑαáΓ«α ──┬────────────────────┬──────────────────────────>
  5263.                     │  ┌─────┐   ┌───┐ ^ │   ┌────────────────┐  ^
  5264.                     └─>│¼ÑΓ¬á├──>│ : ├─┘ ├──>│»α«ßΓ«⌐ «»ÑαáΓ«α├──┤
  5265.                        └─────┘   └───┘   │   └────────────────┘  │
  5266.                                          │   ┌────────────────┐  │
  5267.                                          └──>│  ßΓαπ¬Γπα¡δ⌐   ├──┘
  5268.                                              │   «»ÑαáΓ«α     │
  5269.                                              └────────────────┘
  5270.  
  5271.              îÑΓ¬á - φΓ« »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 9999
  5272.         ¿½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α.
  5273.  
  5274.              æπΘÑßΓóπÑΓ ñóá «ß¡«ó¡δσ ó¿ñá «»ÑαáΓ«α«ó: »α«ßΓδÑ «»ÑαáΓ«αδ ¿
  5275.         ßΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ.
  5276.  
  5277.  
  5278.                                 Åα«ßΓδÑ «»ÑαáΓ«αδ
  5279.         ─────────────────────────────────────────────────────────────────
  5280.  
  5281.              Åα«ßΓδ¼ «»ÑαáΓ«α«¼ ∩ó½∩ÑΓß∩ Γᬫ⌐ «»ÑαáΓ«α,  ¬«Γ«αδ⌐ ¡Ñ  ß«-
  5282.         ñÑαª¿Γ ó ßÑíÑ ñαπú¿σ «»ÑαáΓ«α«ó.
  5283.  
  5284.                                    ┌─────────────────────┐
  5285.          »α«ßΓ«⌐ «»ÑαáΓ«α ────┬───>│«»ÑαáΓ«α »α¿ßóá¿óá¡¿∩├───────>
  5286.                               │    └─────────────────────┘   ^
  5287.                               │    ┌─────────────────────┐   │
  5288.                               ├───>│ «»ÑαáΓ«α »α«µÑñπαδ  ├───┤
  5289.                               │    └─────────────────────┘   │
  5290.                               │    ┌─────────────────────┐   │
  5291.                               └───>│ «»ÑαáΓ«α »ÑαÑσ«ñá   ├───┘
  5292.                                    └─────────────────────┘
  5293.  
  5294.  
  5295.  
  5296.  
  5297.          B.Pascal 7 & Objects/LR     - 118 -
  5298.  
  5299.                               Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩
  5300.         ─────────────────────────────────────────────────────────────────
  5301.  
  5302.              Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩ ºá¼Ñ¡∩ÑΓ ΓѬπΘÑÑ  º¡áτÑ¡¿Ñ  »ÑαѼѡ¡«⌐
  5303.         ¡«óδ¼ º¡áτÑ¡¿Ñ¼,  ¬«Γ«α«Ñ «»αÑñѽ∩ÑΓß∩ óδαáªÑ¡¿Ñ¼, ¿½¿ «»αÑñѽ∩ÑΓ
  5304.         óδαáªÑ¡¿Ñ, º¡áτÑ¡¿Ñ ¬«Γ«α«ú« ñ«½ª¡« ó«ºóαáΘáΓ∞ß∩ Σπ¡¬µ¿Ñ⌐.
  5305.  
  5306.                            ┌───────────┐       ┌──┐   ┌─────────┐
  5307.          «»ÑαáΓ«α ─────┬──>│ßßδ½¬á ¡á  ├──────>│:=├──>│óδαáªÑ¡¿Ñ├──>
  5308.          »α¿ßóá¿óá¡¿∩  │   │»ÑαѼѡ¡πε │   ^   └──┘   └─────────┘
  5309.                        │   └───────────┘   │
  5310.                        │   ┌─────────────┐ │
  5311.                        └──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┘
  5312.                            │   Σπ¡¬µ¿¿   │
  5313.                            └─────────────┘
  5314.  
  5315.              éδαáªÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ß«ó¼ÑßΓ¿¼« »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ »Ñ-
  5316.         αѼѡ¡«⌐  ¿½¿  Γ¿»«¼ º¡áτÑ¡¿∩,  ó«ºóαáΘáѼ«ú« Σπ¡¬µ¿Ñ⌐ ó ¬áτÑßΓóÑ
  5317.         αѺπ½∞ΓáΓá (ß¼. αáºñѽ "æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó" ó â½áóÑ 4).
  5318.  
  5319.              Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«α«ó »α¿ßóá¿óá¡¿∩:
  5320.  
  5321.              X := Y + Z
  5322.              Done := (I >= 1) and (I < 100);
  5323.              Huel := [blue, Succ(C)];
  5324.              I := Sqr(J) - I * K;
  5325.  
  5326.                           Åα¿ßóá¿óá¡¿∩ «íΩÑ¬Γ¡«ú« Γ¿»á
  5327.  
  5328.              Åαáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε «íΩÑ¬Γ¡δσ Γ¿»«ó »«ºó«-
  5329.         ½∩εΓ »α¿ßóá¿óáΓ∞  φ¬ºÑ¼»½∩απ  «íΩѬΓá φ¬ºÑ¼»½∩α ½εí«ú« ¿º Ñú« ñ«-
  5330.         τÑα¡¿σ Γ¿»«ó.  Æá¬«Ñ  »α¿ßóá¿óá¡¿Ñ  »αÑñßΓáó½∩ÑΓ  ß«í«⌐  »α«Ñ¬µ¿ε
  5331.         »«Γ«¼¬á ¡á  »α«ßΓαá¡ßΓó«  Ñú« »αÑñ¬á.  é »α¿¼ÑαÑ ¿ßσ«ñ¡«ú« ¬«ñá ó
  5332.         â½áóÑ 4 ß πτÑΓ«¼ φ¬ºÑ¼»½∩αá F Γ¿»á TField  ¿  φ¬ºÑ¼»½∩αá  Z  Γ¿»á
  5333.         TZipField »α¿ßóá¿óá¡¿Ñ  F := Z ¬«»¿απÑΓ Γ«½∞¬« »«½∩ X,  Y,  Len ¿
  5334.         Name.
  5335.  
  5336.              Åα¿ßóá¿óá¡¿Ñ φ¬ºÑ¼»½∩απ «íΩÑ¬Γ¡«ú«  Γ¿»á  ¡Ñ  ¿¡¿µ¿á½¿º¿απÑΓ
  5337.         φ¬ºÑ¼»½∩α. ìá»α¿¼Ñα, ó »αÑñδñπΘѼ »α¿¼ÑαÑ »α¿ßóá¿óá¡¿Ñ F := Z «º-
  5338.         ¡áτáÑΓ, τΓ« óδº«ó ¬«¡ßΓαπ¬Γ«αá ñ½∩ F ¼«ª¡« «»πßΓ¿Γ∞.
  5339.  
  5340.  
  5341.  
  5342.          B.Pascal 7 & Objects/LR     - 119 -
  5343.  
  5344.                                Ä»ÑαáΓ«αδ »α«µÑñπαδ
  5345.         ─────────────────────────────────────────────────────────────────
  5346.  
  5347.              Ä»ÑαáΓ«α »α«µÑñπαδ «»αÑñѽ∩ÑΓ á¬Γ¿ó¿ºáµ¿ε »α«µÑñπαδ, «í«º¡á-
  5348.         τÑ¡¡πε  ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »α«µÑñπαδ.  àß½¿ ß««ΓóÑΓßΓóπεΘÑÑ
  5349.         «»¿ßá¡¿Ñ »α«µÑñπαδ ß«ñÑαª¿Γ ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó, Γ« «»Ñ-
  5350.         αáΓ«α  »α«µÑñπαδ ñ«½ªÑ¡ ß«ñÑαªáΓ∞ ó ßÑíÑ ß««ΓóÑΓßΓóπεΘ¿⌐ Ñ¼π ß»¿-
  5351.         ß«¬ Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó (»áαá¼ÑΓαδ,  ß»¿ß«¬ ¬«Γ«αδσ »α¿ó«ñ¿Γß∩
  5352.         ó  «»αÑñѽѡ¿¿,  ∩ó½∩εΓß∩ Σ«α¼á½∞¡δ¼¿ »áαá¼ÑΓαἿ,  á ó «»ÑαáΓ«αÑ
  5353.         ó맮óá »α«µÑñπαδ «¡¿ ∩ó½∩εΓß∩ Σá¬Γ¿τÑ߬¿¼¿ »áαá¼ÑΓαἿ).  Åα¿ óδ-
  5354.         º«óÑ  »α«¿ßσ«ñ¿Γ »ÑαÑñáτá Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó Σ«α¼á½∞¡δ¼ »áαá-
  5355.         ¼ÑΓαá¼.
  5356.  
  5357.                         ┌─────────────┐
  5358.          «»ÑαáΓ«α  ──┬─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬┬──────────────────────────>
  5359.          »α«µÑñπαδ   │  │  »α«µÑñπαδ  │ ││  ┌──────────────────┐ ^
  5360.                      │  └─────────────┘ │└─>│ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ├─┘
  5361.                      │  ┌─────────────┐ │   │  »áαá¼ÑΓα«ó      │
  5362.                      ├─>│ ñÑß¿ú¡áΓ«α  ├─┤   └──────────────────┘
  5363.                      │  │  ¼ÑΓ«ñá     │ │
  5364.                      │  └─────────────┘ │
  5365.                      │  ┌─────────────┐ │
  5366.                      ├─>│  πΓ«τ¡Ñ¡¡δ⌐ ├─┤
  5367.                      │  │  ñÑß¿ú¡áΓ«α │ │
  5368.                      │  │  ¼ÑΓ«ñá     │ │
  5369.                      │  └─────────────┘ │
  5370.                      │  ┌─────────────┐ │
  5371.                      └─>│  ßßδ½¬á ¡á  ├─┘
  5372.                         │ »ÑαѼѡ¡πε  │
  5373.                         └─────────────┘
  5374.  
  5375.              Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«α«ó »α«µÑñπα:
  5376.  
  5377.              PrintHeaing;
  5378.              Transpose(A,N,M);
  5379.              Fin(Name,Address);
  5380.  
  5381.  
  5382.  
  5383.          B.Pascal 7 & Objects/LR     - 120 -
  5384.  
  5385.                                Ä»ÑαáΓ«αδ »ÑαÑσ«ñá
  5386.         ─────────────────────────────────────────────────────────────────
  5387.  
  5388.              Ä»ÑαáΓ«α »ÑαÑσ«ñá goto óδºδóáÑΓ »ÑαÑñáτπ π»αáó½Ñ¡¿∩ «»ÑαáΓ«-
  5389.         απ, ¬«Γ«α«¼π »αÑñΦÑßΓóπÑΓ ¼ÑΓ¬á, π¬áºá¡¡á∩ ó ñá¡¡«¼ «»ÑαáΓ«αÑ »Ñ-
  5390.         αÑσ«ñá.  æ¿¡Γá¬ß¿τÑ߬á∩ ßσѼᠫ»ÑαáΓ«αá »ÑαÑσ«ñá ¿¼ÑÑΓ  ß½ÑñπεΘ¿⌐
  5391.         ó¿ñ:
  5392.  
  5393.                                        ┌────┐    ┌─────┐
  5394.                  «»ÑαáΓ«α »ÑαÑσ«ñá ───>│goto├───>│¼ÑΓ¬á├───>
  5395.                                        └────┘    └─────┘
  5396.  
  5397.              Åα¿ ¿ß»«½∞º«óá¡¿¿ «»ÑαáΓ«αá »ÑαÑσ«ñá ñ«½ª¡δ ß«í½εñáΓ∞ß∩ ß½Ñ-
  5398.         ñπεΘ¿Ñ »αáó¿½á:
  5399.  
  5400.              1.  îÑΓ¬á,  ¬«Γ«αá∩ π¬áºδóáÑΓß∩ ó «»ÑαáΓ«αÑ »ÑαÑσ«ñá, ñ«½ª¡á
  5401.                  ¡áσ«ñ¿Γ∞ß∩ ó Γ«¼ ªÑ í½«¬Ñ ¿½¿ ¼«ñπ½Ñ, τΓ« ¿ ßá¼ «»ÑαáΓ«α
  5402.                  »ÑαÑσ«ñá.  äαπú¿¼¿ ß½«óἿ,  ¡Ñ ñ«»π߬áεΓß∩ »ÑαÑσ«ñδ  ¿º
  5403.                  »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¿½¿ ó¡πΓα∞ ¡ÑÑ.
  5404.  
  5405.              2.  ÅÑαÑσ«ñ ¿ºó¡Ñ ó¡πΓα∞ ßΓαπ¬Γπα¡«ú« «»ÑαáΓ«αá (Γ« ÑßΓ∞ »Ñ-
  5406.                  αÑσ«ñ  ¡á í«½ÑÑ ú½πí«¬¿⌐ πα«óÑ¡∞ ó½«ªÑ¡¡«ßΓ¿) ¼«ªÑΓ óδº-
  5407.                  óáΓ∞ ¡Ñ»αÑñ߬áºπѼδÑ φΣΣѬΓδ,  σ«Γ∩ ¬«¼»¿½∩Γ«α ¡Ñ óδñáÑΓ
  5408.                  ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ. ìá»α¿¼Ñα, óδ ¡Ñ ñ«½ª¡δ »ÑαÑσ«ñ¿Γ∞ ó
  5409.                  Γѽ« µ¿¬½á for.
  5410.  
  5411.                    Åα¿¼Ñτá¡¿Ñ: ò«α«Φá∩ »αá¬Γ¿¬á »α«úαá¼¼¿α«óá¡¿∩  ΓαÑíπÑΓ
  5412.               ¼¿¡¿¼á½∞¡«ú« ¿ß»«½∞º«óá¡¿∩ »ÑαÑσ«ñ«ó.
  5413.  
  5414.                               æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ
  5415.         ─────────────────────────────────────────────────────────────────
  5416.  
  5417.              æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ ßΓα«∩Γß∩ ¿º ñαπú¿σ «»ÑαáΓ«α«ó, »«α∩ñ«¬
  5418.         óδ»«½¡Ñ¡¿∩ ¬«Γ«αδσ ñ«½ªÑ¡ íδΓ∞ »«ß½Ññ«óáΓѽ∞¡δ¼ (ß«ßΓáó¡δÑ «»Ñαá-
  5419.         Γ«αδ  ¿ «»ÑαáΓ«αδ ¡áñ ºá»¿ß∩¼¿),  «»αÑñѽ∩Ñ¼δ¼ πß½«ó¡«⌐ »ÑαÑñáτÑ⌐
  5420.         π»αáó½Ñ¡¿∩ (πß½«ó¡δÑ «»ÑαáΓ«αδ) ¿½¿ »«óΓ«α∩εΘ¿¼ß∩ («»ÑαáΓ«αδ µ¿¬-
  5421.         ½á).
  5422.  
  5423.                                     ┌───────────────────────┐
  5424.               ßΓαπ¬Γπα¡δ⌐ ────┬────>│  ß«ßΓáó¡«⌐ «»ÑαáΓ«α   ├───────>
  5425.               «»ÑαáΓ«α        │     └───────────────────────┘   ^
  5426.                               │     ┌───────────────────────┐   │
  5427.                               ├────>│   πß½«ó¡δ⌐ «»ÑαáΓ«α   ├───┤
  5428.                               │     └───────────────────────┘   │
  5429.                               │     ┌───────────────────────┐   │
  5430.                               ├────>│    «»ÑαáΓ«α µ¿¬½á     ├───┤
  5431.                               │     └───────────────────────┘   │
  5432.                               │     ┌───────────────────────┐   │
  5433.                               └────>│ «»ÑαáΓ«α ¡áñ ºá»¿ß∩¼¿ ├───┘
  5434.                                     └───────────────────────┘
  5435.  
  5436.  
  5437.  
  5438.          B.Pascal 7 & Objects/LR     - 121 -
  5439.  
  5440.                                æ«ßΓáó¡δÑ «»ÑαáΓ«αδ
  5441.         ─────────────────────────────────────────────────────────────────
  5442.  
  5443.              æ«ßΓáó¡δÑ «»ÑαáΓ«αδ  ºáñáεΓ  »«α∩ñ«¬  óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó,
  5444.         ∩ó½∩εΘ¿σß∩ ¿σ φ½Ñ¼Ñ¡ΓἿ. Ä¡¿ ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩ ó Γ«¼ »«α∩ñ¬Ñ, ó
  5445.         ¬«Γ«α«¼  «¡¿  ºá»¿ßá¡δ.  æ«ßΓáó¡δÑ «»ÑαáΓ«αδ «íαáíáΓδóáεΓß∩,  ¬á¬
  5446.         «ñ¿¡ «»ÑαáΓ«α,  τΓ« ¿¼ÑÑΓ αÑΦáεΘÑÑ º¡áτÑ¡¿Ñ  Γá¼,  úñÑ  ß¿¡Γá¬ß¿ß
  5447.         Åá߬á½∩ ñ«»π߬áÑΓ ¿ß»«½∞º«óá¡¿Ñ Γ«½∞¬« «ñ¡«ú« «»ÑαáΓ«αá. Ä»ÑαáΓ«-
  5448.         αδ ºá¬½ετáεΓß∩ ó «úαá¡¿τ¿Γѽ¿ begin ¿ end,  ¿ «Γñѽ∩εΓß∩ ñαπú  «Γ
  5449.         ñαπúá Γ«τ¬«⌐ ß ºá»∩Γ«⌐.
  5450.  
  5451.                              ┌─────┐       ┌────────┐        ┌───┐
  5452.              ß«ßΓáó¡«⌐  ────>│begin├──────>│«»ÑαáΓ«α├────┬──>│end├──>
  5453.              «»ÑαáΓ«α        └─────┘   ^   └────────┘    │   └───┘
  5454.                                        │     ┌───┐       │
  5455.                                        └─────┤ ; │<──────┘
  5456.                                              └───┘
  5457.  
  5458.              Åα¿óÑñѼ »α¿¼Ñα ß«ßΓáó¡«ú« «»ÑαáΓ«αá:
  5459.  
  5460.              begin
  5461.                Z := X;
  5462.                X := Y;
  5463.                Y := Z;
  5464.              end;
  5465.  
  5466.                                ôß½«ó¡δÑ «»ÑαáΓ«αδ
  5467.         ─────────────────────────────────────────────────────────────────
  5468.  
  5469.              ôß½«ó¡δÑ «»ÑαáΓ«αδ  »«ºó«½∩εΓ óδíαáΓ∞ ñ½∩ óδ»«½¡Ñ¡¿∩ «ñ¿¡ ¿º
  5470.         ß«ßΓáó¡δσ «»ÑαáΓ«α«ó (¿½¿ ¡Ñ óδíαáΓ∞ ¡¿ «ñ¡«ú«).
  5471.  
  5472.                                        ┌───────────────┐
  5473.               πß½«ó¡δ⌐ «»ÑαáΓ«α  ──┬──>│ «»ÑαáΓ«α if   ├───────>
  5474.                                    │   └───────────────┘   ^
  5475.                                    │   ┌───────────────┐   │
  5476.                                    └──>│ «»ÑαáΓ«α case ├───┘
  5477.                                        └───────────────┘
  5478.  
  5479.  
  5480.  
  5481.  
  5482.          B.Pascal 7 & Objects/LR     - 122 -
  5483.  
  5484.                               Ä»ÑαáΓ«α πß½«ó¿∩ (if)
  5485.         ─────────────────────────────────────────────────────────────────
  5486.  
  5487.              æ¿¡Γá¬ß¿ß «»ÑαáΓ«αá if ¼«ª¡« »αÑñßΓáó¿Γ∞  ß½ÑñπεΘ¿¼ «íαẫ¼:
  5488.  
  5489.                        ┌──┐   ┌─────────┐   ┌────┐   ┌────────┐
  5490.          «»ÑαáΓ«α if ─>│if├──>│óδαáªÑ¡¿Ñ├──>│then├──>│«»ÑαáΓ«α├──┬──┐
  5491.                        └──┘   └─────────┘   └────┘   └────────┘  │  │
  5492.                                         ┌────────────────────────┘  │
  5493.                                         │   ┌────┐   ┌────────┐     v
  5494.                                         └──>│else├──>│«»ÑαáΓ«α├─────────>
  5495.                                             └────┘   └────────┘
  5496.  
  5497.              é óδαáªÑ¡¿¿ ñ«½ªÑ¡ »«½πτáΓ∞ß∩ αѺπ½∞ΓáΓ, ¿¼ÑεΘ¿⌐ ßΓá¡ñáαΓ¡δ⌐
  5498.         íπ½Ñó߬¿⌐ Γ¿».  àß½¿ αѺπ½∞ΓáΓ«¼ óδαáªÑ¡¿∩ ∩ó½∩ÑΓß∩ ¿ßΓ¿¡¡«Ñ º¡á-
  5499.         τÑ¡¿Ñ (True), Γ« óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α, ß½ÑñπεΘ¿⌐ ºá ¬½ετÑóδ¼ ß½«-
  5500.         ó«¼ then.
  5501.  
  5502.              àß½¿ αѺπ½∞ΓáΓ«¼  óδαáªÑ¡¿∩  ∩ó½∩ÑΓß∩  º¡áτÑ¡¿Ñ False ¿ »α¿-
  5503.         ßπΓßΓóπÑΓ ¬½ετÑó«Ñ ß½«ó« else,  Γ« óδ»«½¡∩Γß∩ «»ÑαáΓ«α, ß½ÑñπεΘ¿⌐
  5504.         ºá ¬½ετÑóδ¼ ß½«ó«¼ else. àß½¿ ¬½ετÑó«Ñ ß½«ó« else «ΓßπΓßΓóπÑΓ, Γ«
  5505.         ¡¿¬á¬«⌐ «»ÑαáΓ«α ¡Ñ óδ»«½¡∩ÑΓß∩.
  5506.  
  5507.              æ¿¡Γá¬ß¿τÑ߬á∩ ¡Ñ«ñ¡«º¡áτ¡«ßΓ∞, ó«º¡¿¬áεΘá∩ ó ¬«¡ßΓαπ¬µ¿¿:
  5508.  
  5509.              if e1 then e2 else e3
  5510.  
  5511.         αáºαÑΦáÑΓß∩ »πΓѼ ß½ÑñπεΘÑ⌐ ¿¡ΓÑα»αÑΓᵿ¿ φΓ«⌐ ¬«¡ßΓαπ¬µ¿¿:
  5512.  
  5513.              if e1 then
  5514.              begin
  5515.                if e2 then
  5516.                   s1
  5517.                else
  5518.                   s2
  5519.              end
  5520.  
  5521.                    Åα¿¼Ñτá¡¿Ñ: é  »αÑñΦÑßΓóπεΘѼ «»ÑαáΓ«αÑ else ñó«ÑΓ«τ¿Ñ
  5522.               ¡Ñ π¬áºδóáÑΓß∩.
  5523.  
  5524.              é «íΘѼ ß½πτáÑ ¬½ετÑó«Ñ ß½«ó« else ßó∩ºδóáÑΓß∩  ß  í½¿ªá⌐Φ¿¼
  5525.         ¬½ετÑóδ¼  ß½«ó«¼  if,  ¬«Γ«α«Ñ  ÑΘÑ  ¡Ñ ßó∩ºá¡« ß ¬½ετÑóδ¼ ß½«ó«¼
  5526.         else.
  5527.  
  5528.              Åα¿óÑñѼ ñóá »α¿¼Ñαá «»ÑαáΓ«αá if:
  5529.  
  5530.               if X < 1.5 then
  5531.                 Z := X+Y
  5532.               else
  5533.                 Z := 1.5;
  5534.  
  5535.                if P1 <> nil then
  5536.                  P1 := P1^.father;
  5537.  
  5538.          B.Pascal 7 & Objects/LR     - 123 -
  5539.  
  5540.  
  5541.  
  5542.                             Ä»ÑαáΓ«α óáα¿á¡Γá (case)
  5543.         ─────────────────────────────────────────────────────────────────
  5544.  
  5545.              Ä»ÑαáΓ«α óáα¿á¡Γá  (casÑ) ß«ßΓ«¿Γ ¿º óδαáªÑ¡¿∩ (»ÑαѬ½ετáΓÑ-
  5546.         ½∩) ¿ ß»¿ß¬á «»ÑαáΓ«α«ó, ¬áªñ«¼π ¿º ¬«Γ«αδσ »αÑñΦÑßΓóπÑΓ «ñ¡á ¿½¿
  5547.         í«½ÑÑ ¬«¡ßΓá¡Γ («¡¿ ¡áºδóáεΓß∩ ¬«¡ßΓá¡ΓἿ óδí«αá)  ¿½¿  ¬½ετÑó«Ñ
  5548.         ß½«ó« else.  ÅÑαѬ½ετáΓѽ∞ (ßÑ½Ñ¬Γ«α) ñ«½ªÑ¡ ¿¼ÑΓ∞ »«α∩ñ¬«óδ⌐ Γ¿»
  5549.         (αẼÑα«¼ ó íá⌐Γ ¿½¿ ß½«ó«). Æá¬¿¼ «íαẫ¼, ßΓ᫬«óδ⌐ Γ¿» ¿ ñ½¿¡-
  5550.         ¡δ⌐  µÑ½δ⌐  Γ¿» ∩ó½∩εΓß∩ ¡Ññ«»πßΓ¿¼δ¼¿ Γ¿»á¼¿ »ÑαѬ½ετáΓѽ∩.  éßÑ
  5551.         ¬«¡ßΓá¡Γδ óδí«αá ñ«½ª¡δ íδΓ∞ π¡¿¬á½∞¡δ¼¿ ¿ ¿¼ÑΓ∞ »«α∩ñ¬«óδ⌐  Γ¿»,
  5552.         ß«ó¼ÑßΓ¿¼δ⌐ ß Γ¿»«¼ »ÑαѬ½ετáΓѽ∩.
  5553.  
  5554.                          ┌────┐   ┌─────────┐   ┌──┐      ┌────┐
  5555.          «»ÑαáΓ«α case ─>│case├──>│óδαáªÑ¡¿Ñ├──>│of├─────>│case├──┬──┐
  5556.                          └────┘   └─────────┘   └──┘  ^   └────┘  │  │
  5557.                                                       │   ┌────┐  │  │
  5558.                                                       └───┤ ;  │<─┘  │
  5559.                                                           └────┘     │
  5560.                              ┌───────────────────────────────────────┘
  5561.                              │                                  ┌───┐
  5562.                              └─┬────────────────────┬──────────>│end├──>
  5563.                                │   ┌──────────┐  ^  │  ┌───┐  ^ └───┘
  5564.                                └──>│óÑΓó∞ else├──┘  └─>│ ; ├──┘
  5565.                                    └──────────┘        └───┘
  5566.  
  5567.                              ┌────────────────────┐
  5568.                  ┌─────────┐ │  ┌──┐  ┌─────────┐ v   ┌───┐  ┌────────┐
  5569.          case ──>│¬«¡ßΓá¡Γá├─┴─>│..├─>│¬«¡ßΓá¡Γá├──┬─>│ : ├─>│«»ÑαáΓ«α├─>
  5570.               ^  └─────────┘    └──┘  └─────────┘  │  └───┘  └────────┘
  5571.               │                 ┌───┐              │
  5572.               └─────────────────┤ , │<─────────────┘
  5573.                                 └───┘
  5574.  
  5575.                          ┌────┐    ┌────────┐
  5576.          óÑΓó∞ else ────>│else├───>│«»ÑαáΓ«α├───>
  5577.                          └────┘    └────────┘
  5578.  
  5579.              Ä»ÑαáΓ«α óáα¿á¡Γá case »α¿ó«ñ¿Γ ¬ óδ»«½¡Ñ¡¿ε «»ÑαáΓ«αá,  ¬«-
  5580.         Γ«α«¼π »αÑñΦÑßΓóπÑΓ ¬«¡ßΓá¡Γá óδí«αá,  αáó¡á∩ º¡áτÑ¡¿ε »ÑαѬ½ετá-
  5581.         Γѽ∩ ¿½¿ ñ¿á»áº«¡π óδí«αá,  ó ¬«Γ«α«¼ ¡áσ«ñ¿Γß∩ º¡áτÑ¡¿Ñ »ÑαѬ½ε-
  5582.         τáΓѽ∩.  àß½¿ Γᬫ⌐ ¬«¡ßΓá¡Γδ óδí«αá ¿½¿ Γᬫú« ñ¿á»áº«¡á  óδí«αá
  5583.         ¡Ñ ßπΘÑßΓóπÑΓ ¿ »α¿ßπΓßΓóπÑΓ óÑΓó∞ else,  Γ« óδ»«½¡∩Γß∩ «»ÑαáΓ«α,
  5584.         ß½ÑñπεΘ¿⌐ ºá ¬½ετÑóδ¼ ß½«ó«¼ else.  àß½¿ ªÑ óÑΓó∞ else «ΓßπΓßΓóπ-
  5585.         ÑΓ, Γ« ¡¿¬á¬«⌐ «»ÑαáΓ«α ¡Ñ óδ»«½¡∩ÑΓß∩.
  5586.  
  5587.          B.Pascal 7 & Objects/LR     - 124 -
  5588.  
  5589.  
  5590.              Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«αá óáα¿á¡Γá:
  5591.  
  5592.              case Operator of
  5593.                plus:   X := X+Y;
  5594.                minus:  X := X-Y;
  5595.                times:  X := X*Y;
  5596.              end;
  5597.  
  5598.              case I of
  5599.                   0, 2, 4, 6, 8: Writeln('ùÑΓ¡á∩ µ¿Σαá');
  5600.                   1, 3, 5, 7, 9: Writeln('ìÑτÑΓ¡á∩ µ¿Σαá');
  5601.                   10..100: Writeln('îѪñπ 10 ¿ 100');
  5602.              end;
  5603.  
  5604.  
  5605.  
  5606.          B.Pascal 7 & Objects/LR     - 125 -
  5607.  
  5608.                                  Ä»ÑαáΓ«α µ¿¬½á
  5609.         ─────────────────────────────────────────────────────────────────
  5610.  
  5611.              Ä»ÑαáΓ«α µ¿¬½á ºáñáÑΓ »«óΓ«α¡«Ñ óδ»«½¡Ñ¡¿Ñ «»αÑñѽѡ¡δσ «»Ñ-
  5612.         αáΓ«α«ó.
  5613.  
  5614.                                         ┌─────────────────┐
  5615.                  «»ÑαáΓ«α µ¿¬½á  ───┬──>│ «»ÑαáΓ«α repeat ├──────>
  5616.                                     │   └─────────────────┘  ^
  5617.                                     │   ┌─────────────────┐  │
  5618.                                     ├──>│ «»ÑαáΓ«α while  ├──┤
  5619.                                     │   └─────────────────┘  │
  5620.                                     │   ┌─────────────────┐  │
  5621.                                     └──>│ «»ÑαáΓ«α  for   ├──┘
  5622.                                         └─────────────────┘
  5623.  
  5624.              àß½¿ τ¿ß½« »«óΓ«αÑ¡¿⌐ ºáαá¡ÑÑ ¿ºóÑßΓ¡«,  Γ« »«ñσ«ñ∩ΘÑ⌐ ¬«¡ß-
  5625.         Γαπ¬µ¿⌐ ∩ó½∩ÑΓß∩ «»ÑαáΓ«α for. é »α«Γ¿ó¡«¼ ß½πτáÑ ß½ÑñπÑΓ ¿ß»«½∞-
  5626.         º«óáΓ∞ «»ÑαáΓ«αδ while ¿½¿ repeat.
  5627.  
  5628.              ä½∩ π»αáó½Ñ¡¿∩  »«óΓ«αÑ¡¿Ñ¼  «»ÑαáΓ«α«ó  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞
  5629.         ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Break ¿ Continue.  Break ºáóÑαΦáÑΓ «»ÑαáΓ«α
  5630.         µ¿¬½á, á Continue »α«ñ«½ªáÑΓ ß« ß½ÑñπεΘÑ⌐ ¿ΓÑαᵿ¿ φΓ«ú« «»ÑαáΓ«-
  5631.         αá. Å«ñα«í¡«ßΓ¿ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 1 "æ»αáó«τ¡«ú«  απ¬«ó«ñß-
  5632.         Γóá »α«úαá¼¼¿ßΓá".
  5633.  
  5634.  
  5635.                      Ä»ÑαáΓ«α µ¿¬½á ß »«ßΓπß½«ó¿Ñ¼ (repeat)
  5636.         ─────────────────────────────────────────────────────────────────
  5637.  
  5638.              é «»ÑαáΓ«αÑ  µ¿¬½á  ß  »«ßΓπß½«ó¿Ñ¼  (¡áτ¿¡áεΘ¿¼ß∩  ß« ß½«óá
  5639.         repeat) óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ π»αáó½∩ÑΓ »«óΓ«α¡δ¼ óδ»«½¡Ñ¡¿Ñ¼ »«ß½Ñ-
  5640.         ñ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó ß«ñÑনΓß∩ ó¡πΓα¿ «»ÑαáΓ«αá repeat.
  5641.  
  5642.                     ┌──────┐     ┌────────┐     ┌─────┐   ┌─────────┐
  5643.          «»ÑαáΓ«α ─>│repeat├────>│«»ÑαáΓ«α├──┬─>│until├──>│óδαáªÑ¡¿Ñ├──>
  5644.          repeat     └──────┘  ^  └────────┘  │  └─────┘   └─────────┘
  5645.                               │    ┌───┐     │
  5646.                               └────┤ ; │<────┘
  5647.                                    └───┘
  5648.  
  5649.              ÉѺπ½∞ΓáΓ óδαáªÑ¡¿∩ ñ«½ªÑ¡ íδΓ∞ íπ½Ñó߬«ú« Γ¿»á.  Ä»ÑαáΓ«αδ,
  5650.         ºá¬½ετÑ¡¡δÑ  ¼Ñªñ𠬽ετÑó묨 ß½«óἿ repeat ¿ until,  óδ»«½¡∩εΓß∩
  5651.         »«ß½Ññ«óáΓѽ∞¡« ñ« ΓÑσ »«α,  »«¬á αѺπ½∞ΓáΓ óδαáªÑ¡¿∩  ¡Ñ  »α¿¼ÑΓ
  5652.         º¡áτÑ¡¿Ñ True.  Å«ß½Ññ«óáΓѽ∞¡«ßΓ∞ «»ÑαáΓ«α«ó óδ»«½¡¿Γß∩ »« ¬αá⌐-
  5653.         ¡Ñ⌐ ¼ÑαÑ «ñ¿¡ αáº,  »«ß¬«½∞¬π óδτ¿ß½Ñ¡¿Ñ  óδαáªÑ¡¿∩  »α«¿ºó«ñ¿Γß∩
  5654.         »«ß½Ñ ¬áªñ«ú« óδ»«½¡Ñ¡¿∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó.
  5655.  
  5656.          B.Pascal 7 & Objects/LR     - 126 -
  5657.  
  5658.  
  5659.              Åα¿óÑñѼ »α¿¼Ñαδ «»ÑαáΓ«αá µ¿¬½á ß »«ßΓπß½«ó¿Ñ¼:
  5660.  
  5661.              repeat
  5662.                K := I mod J;
  5663.                I := J;
  5664.                J := K;
  5665.              until J = 0;
  5666.  
  5667.              repeat
  5668.                Write('éóÑñ¿ΓÑ º¡áτÑ¡¿Ñ (0..9):');
  5669.                Readln(I);
  5670.              until (I >= 0) and (I <= 9);
  5671.  
  5672.  
  5673.  
  5674.  
  5675.          B.Pascal 7 & Objects/LR     - 127 -
  5676.  
  5677.                      Ä»ÑαáΓ«αδ µ¿¬½á ß »αÑñπß½«ó¿Ñ¼ (while)
  5678.         ─────────────────────────────────────────────────────────────────
  5679.  
  5680.              Ä»ÑαáΓ«α µ¿¬½á ß »αÑñπß½«ó¿Ñ¼ (¡áτ¿¡áεΘ¿⌐ß∩ ß ¬½ετÑó«ú« ß½«-
  5681.         óá while) ß«ñÑαª¿Γ ó ßÑíÑ óδαáªÑ¡¿Ñ,  ¬«Γ«α«Ñ π»αáó½∩ÑΓ »«óΓ«α¡δ¼
  5682.         óδ»«½¡Ñ¡¿Ñ¼  «»ÑαáΓ«αá (¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ß«ßΓáó¡δ¼ «»ÑαáΓ«α«¼).
  5683.  
  5684.                       ┌─────┐   ┌─────────┐   ┌──┐   ┌────────┐
  5685.          «»ÑαáΓ«α ───>│while├──>│óδαáªÑ¡¿Ñ├──>│do├──>│«»ÑαáΓ«α├──>
  5686.          while        └─────┘   └─────────┘   └──┘   └────────┘
  5687.  
  5688.              éδαáªÑ¡¿Ñ, ß »«¼«Θ∞ε ¬«Γ«α«ú« «ßπΘÑßΓó½∩ÑΓß∩ π»αáó½Ñ¡¿Ñ »«ó-
  5689.         Γ«αÑ¡¿Ñ¼ «»ÑαáΓ«αá,  ñ«½ª¡« ¿¼ÑΓ∞ íπ½Ñó߬¿⌐ Γ¿».  éδτ¿ß½Ñ¡¿Ñ  Ñú«
  5690.         »α«¿ºó«ñ¿Γß∩  ñ«  Γ«ú«,  ¬á¬  ó¡πΓαÑ¡¡¿⌐ «»ÑαáΓ«α íπñÑΓ óδ»«½¡Ñ¡.
  5691.         é¡πΓαÑ¡¡¿⌐ «»ÑαáΓ«α óδ»«½¡∩Γß∩ »«óΓ«α¡« ñ« ΓÑσ »«α,  »«¬á óδαáªÑ-
  5692.         ¡¿Ñ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ ÆruÑ.  àß½¿ óδαáªÑ¡¿Ñ ß ßἫú« ¡áτá½á »α¿-
  5693.         ¡¿¼áÑΓ º¡áτÑ¡¿Ñ False, Γ« «»ÑαáΓ«α, ß«ñÑαªáΘ¿⌐ß∩ ó¡πΓα¿ «»ÑαáΓ«αá
  5694.         µ¿¬½á ß »αÑñπß½«ó¿Ñ¼, ¡Ñ óδ»«½¡∩ÑΓß∩.
  5695.  
  5696.              Åα¿¼ÑαἿ «»ÑαáΓ«α«ó µ¿¬½á ß »αÑñπß½«ó¿Ñ¼ ¼«úπΓ ß½πª¿Γ∞ ß½Ñ-
  5697.         ñπεΘ¿Ñ «»ÑαáΓ«αδ:
  5698.  
  5699.              while Data[I] <> X do I := I + 1;
  5700.  
  5701.              While I > 0 do
  5702.              begin
  5703.                if Odd(I) then Z := Z * X;
  5704.                I := I div 2;
  5705.                X := Sqr(X);
  5706.              end;
  5707.  
  5708.              while not Eof(InFile) do
  5709.              begin
  5710.                Readln(InFile,Line);
  5711.                Process(Line);
  5712.              end;
  5713.  
  5714.  
  5715.  
  5716.  
  5717.          B.Pascal 7 & Objects/LR     - 128 -
  5718.  
  5719.                        Ä»ÑαáΓ«αδ µ¿¬½á ß »áαá¼ÑΓα«¼ (for)
  5720.         ─────────────────────────────────────────────────────────────────
  5721.  
  5722.              Ä»ÑαáΓ«αδ µ¿¬½á ß »áαá¼ÑΓα«¼ (¬«Γ«αδÑ  ¡áτ¿¡áεΓß∩  ß«  ß½«óá
  5723.         for)  óδºδóáÑΓ  »«óΓ«α∩εΘÑÑß∩ óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá (¬«Γ«αδ⌐ ¼«ªÑΓ
  5724.         íδΓ∞ ß«ßΓáó¡δ¼ «»ÑαáΓ«α«¼) »«¬á π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ »α¿ßóá¿óá-
  5725.         ÑΓß∩ ó«ºαáßΓáεΘá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ º¡áτÑ¡¿⌐.
  5726.  
  5727.                       ┌───┐   ┌───────────┐   ┌──┐   ┌────────┐
  5728.          «»ÑαáΓ«α ───>│for├──>│π»αáó½∩εΘá∩├──>│:=├──>│¿ßσ«ñ¡«Ñ├───┐
  5729.          for          └───┘   │»ÑαѼѡ¡á∩ │   └──┘   │º¡áτÑ¡¿Ñ│   │
  5730.                               └───────────┘          └────────┘   │
  5731.                  ┌────────────────────────────────────────────────┘
  5732.                  │      ┌──┐
  5733.                  │   ┌─>│to├─────┐   ┌────────┐   ┌──┐   ┌────────┐
  5734.                  └───┤  └──┘     ├──>│¬«¡Ñτ¡«Ñ├──>│do├──>│«»ÑαáΓ«α├───>
  5735.                      │  ┌──────┐ │   │º¡áτÑ¡¿Ñ│   └──┘   └────────┘
  5736.                      └─>│downto├─┘   └────────┘
  5737.                         └──────┘
  5738.  
  5739.                                     ┌────────────────────────┐
  5740.          π»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ ───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α »ÑαѼѡ¡«⌐├───>
  5741.                                     └────────────────────────┘
  5742.  
  5743.                                  ┌─────────┐
  5744.          ¿ßσ«ñ¡«Ñ º¡áτÑ¡¿Ñ  ────>│óδαáªÑ¡¿Ñ├───>
  5745.                                  └─────────┘
  5746.  
  5747.                                  ┌─────────┐
  5748.          ¬«¡Ñτ¡«Ñ º¡áτÑ¡¿Ñ  ────>│óδαáªÑ¡¿Ñ├───>
  5749.                                  └─────────┘
  5750.  
  5751.              é ¬áτÑßΓóÑ   π»αáó½∩εΘÑ⌐  »ÑαѼѡ¡«⌐  ñ«½ªÑ¡  ¿ß»«½∞º«óáΓ∞ß∩
  5752.         ¿ñÑ¡Γ¿Σ¿¬áΓ«α »ÑαѼѡ«⌐ (íѺ ¬á¬«ú«-½¿í«  ¬óá½¿Σ¿¬áΓ«αá), ¬«Γ«αδ⌐
  5753.         «í«º¡áτáÑΓ »ÑαѼѡ¡πε,  «íΩ∩ó½Ñ¡¡πε ½«¬á½∞¡«⌐ ó í½«¬Ñ,  ó ¬«Γ«α«¼
  5754.         ß«ñÑনΓß∩ «»ÑαáΓ«α for.  ô»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ ñ«½ª¡á ¿¼ÑΓ∞ »Ñ-
  5755.         αÑτ¿ß½¿¼δ⌐  Γ¿».  ìáτá½∞¡«Ñ ¿ ¬«¡Ñτ¡«Ñ º¡áτÑ¡¿∩ ñ«½ª¡δ ¿¼ÑΓ∞ Γ¿»,
  5756.         ß«ó¼ÑßΓ¿¼δ⌐ »« »α¿ßóá¿óá¡¿ε ß »ÑαÑτ¿ß½¿¼δ¼ Γ¿»«¼.
  5757.  
  5758.                    Åα¿¼Ñτá¡¿Ñ: Ä ½«¬á½∞¡«ßΓ¿ ¿ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ αáß߬áºδ-
  5759.               óáÑΓß∩ ó â½áóÑ 8.
  5760.  
  5761.              è«úñá ¡áτ¿¡áÑΓ óδ»«½¡∩Γ∞ß∩ «»ÑαáΓ«α for,  ¡áτá½∞¡«Ñ ¿ ¬«¡Ñτ-
  5762.         ¡«Ñ º¡áτÑ¡¿∩ «»αÑñѽ∩εΓß∩ «ñ¿¡ αáº, ¿ φΓ¿ º¡áτÑ¡¿∩ ß«σαá¡∩εΓß∩ ¡á
  5763.         »α«Γ∩ªÑ¡¿¿ óßÑú« óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«αá for.
  5764.  
  5765.              Ä»ÑαáΓ«α, ¬«Γ«αδ⌐ ß«ñÑনΓß∩ ó ΓѽѠ«»ÑαáΓ«αá for,  óδ»«½¡∩-
  5766.         ÑΓß∩  «ñ¿¡ αẠñ½∩ ¬áªñ«ú« º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ ¼Ñªñπ ¡áτá½∞¡δ¼ ¿
  5767.         ¬«¡Ñτ¡δ¼ º¡áτÑ¡¿Ñ¼. ô»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ óßÑúñá ¿¡¿µ¿á½¿º¿απÑΓ-
  5768.         ß∩ ¡áτá½∞¡δ¼ º¡áτÑ¡¿Ñ¼. è«úñá αáí«ΓáÑΓ «»ÑαáΓ«α for, º¡áτÑ¡¿Ñ π»-
  5769.         αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ (ßτÑΓτ¿¬á µ¿¬½«ó) πóѽ¿τ¿óáÑΓß∩  »α¿  ¬áªñ«¼
  5770.         »«óΓ«αÑ¡¿¿ ¡á Ññ¿¡¿µπ. àß½¿ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ »αÑóδΦáÑΓ ¬«¡Ñτ¡«Ñ
  5771.         º¡áτÑ¡¿Ñ, Γ« ß«ñÑαªáΘ¿⌐ß∩ ó ΓѽѠ«»ÑαáΓ«αá for «»ÑαáΓ«α ¡Ñ óδ»«½-
  5772.  
  5773.          B.Pascal 7 & Objects/LR     - 129 -
  5774.  
  5775.         ¡∩Γß∩.  è«úñá  ó  «»ÑαáΓ«αÑ  µ¿¬½á  ¿ß»«½∞ºπÑΓß∩  ¬½ετÑó«Ñ  ß½«ó«
  5776.         downto,  º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ π¼Ñ¡∞ΦáÑΓß∩  »α¿  ¬áªñ«¼
  5777.         »«óΓ«αÑ¡¿¿ ¡á Ññ¿¡¿µπ.  àß½¿ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ ó Γᬫ¼ «»ÑαáΓ«αÑ
  5778.         ¼Ñ¡∞ΦÑ,  τѼ ¬«¡Ñτ¡«Ñ º¡áτÑ¡¿Ñ,  Γ« ß«ñÑαªáΘ¿⌐ß∩ ó ΓѽѠ«»ÑαáΓ«αá
  5779.         µ¿¬½á «»ÑαáΓ«α ¡Ñ óδ»«½¡∩Γß∩.
  5780.  
  5781.              àß½¿ «»ÑαáΓ«α,  ß«ñÑαªáΘ¿⌐ß∩ ó ΓѽѠ«»ÑαáΓ«αá for,  ¿º¼Ñ¡∩ÑΓ
  5782.         º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐,  Γ« φΓ« ∩ó½∩ÑΓß∩ «Φ¿í¬«⌐.  Å«ß½Ñ
  5783.         óδ»«½¡Ñ¡¿∩  «»ÑαáΓ«αá  for º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ ßΓá¡«-
  5784.         ó¿Γß∩ ¡Ñ«»αÑñѽѡ¡δ¼, Ñß½¿ Γ«½∞¬« óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá for ¡Ñ íδ-
  5785.         ½« »αÑαóá¡« ß »«¼«Θ∞ε «»ÑαáΓ«αá »ÑαÑσ«ñá.
  5786.  
  5787.              àß½¿ »α¿¡∩Γ∞ ó« ó¡¿¼á¡¿Ñ φΓ¿ «úαá¡¿τÑ¡¿∩, Γ« «»ÑαáΓ«α
  5788.  
  5789.              for V := Expr1 to Expr2 do Body;
  5790.  
  5791.         φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«απ:
  5792.  
  5793.              begin
  5794.                Temp1 := Expr1;
  5795.                Temp2 := Expr2;
  5796.              if Temp1 <= Temp2 then
  5797.              begin
  5798.                V := Temp1;
  5799.                Body;
  5800.                 while V <> Temp2 do
  5801.                 begin
  5802.                   V := Succ(V);
  5803.                   Body;
  5804.                 end;
  5805.               end;
  5806.              end;
  5807.  
  5808.         ¿ «»ÑαáΓ«α µ¿¬½á:
  5809.  
  5810.              for V := Expr1 downto Exp2 do Body;
  5811.  
  5812.         φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«αá¼:
  5813.  
  5814.              begin
  5815.                Temp1 := Expr1;
  5816.                Temp2 := Expr2;
  5817.                if Temp1 >= Temp2 then
  5818.               begin
  5819.                  V := Temp1;
  5820.                  Body;
  5821.                  while V <> Temp2 o
  5822.                  begin
  5823.                    V := Pred(V);
  5824.                    Body;
  5825.                  end;
  5826.                end;
  5827.               end;
  5828.  
  5829.          B.Pascal 7 & Objects/LR     - 130 -
  5830.  
  5831.  
  5832.         úñÑ Temp1 ¿ Temp2 - óß»«¼«úáΓѽ∞¡δÑ »ÑαѼѡ¡δÑ,  Γ¿» ¬«Γ«αδσ ß«ó-
  5833.         »áñáÑΓ ß «ß¡«ó¡δ¼ Γ¿»«¼ »ÑαѼѡ¡«⌐ V ¿ ¬«Γ«αδÑ ¡Ñ  óßΓαÑτáεΓß∩  ó
  5834.         ñαπú«¼ ¼ÑßΓÑ »α«úαá¼¼δ.
  5835.  
  5836.              Åα¿óÑñѼ »α¿¼Ñαδ «»ÑαáΓ«αá µ¿¬½á ß »áαá¼ÑΓα«¼:
  5837.  
  5838.              for I := 2 to 63 do
  5839.                if Data[I] > Max then Max := Data[I]
  5840.  
  5841.              for I := 1 to 10 do
  5842.                for J := 1 to 10 do
  5843.                begin
  5844.                  X := 0;
  5845.                  for K := 1 to 10 do
  5846.                    X := X + Mat1[I,K]*Mat2[K,J];
  5847.                  Mat[I,J] := X;
  5848.                end;
  5849.  
  5850.               for C := red to blue do Check(C);
  5851.  
  5852.  
  5853.  
  5854.  
  5855.          B.Pascal 7 & Objects/LR     - 131 -
  5856.  
  5857.                                   Ä»ÑαáΓ«α with
  5858.         ─────────────────────────────────────────────────────────────────
  5859.  
  5860.              é «»Ñαᵿ∩σ ¡áñ ºá»¿ß∩¼¿ «»ÑαáΓ«α with  πñ«í¡«  ¿ß»«½∞º«óáΓ∞
  5861.         ñ½∩  ¬αáΓ¬«ú« «íαáΘÑ¡¿∩ ¬ »«½∩¼ ºá»¿ß¿.  é «»ÑαáΓ«αÑ with ¬ »«½∩¼
  5862.         «ñ¡«⌐ ¿½¿ í«½ÑÑ ¬«¡¬αÑΓ¡δσ »ÑαѼѡ¡δσ Γ¿»á ºá»¿ß∞ ¼«ª¡« «íαáΘáΓ∞-
  5863.         ß∩,  ¿ß»«½∞ºπ∩  Γ«½∞¬« ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ »«½Ñ⌐.  Ä»ÑαaΓ«α with ¿¼ÑÑΓ
  5864.         ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  5865.  
  5866.                      ┌────┐      ┌───────────────┐     ┌──┐   ┌────────┐
  5867.          «»ÑαáΓ«α ──>│with├─────>│   ßßδ½¬á ¡á   ├──┬─>│do├──>│«»ÑαáΓ«α├>
  5868.          with        └────┘  ^   │»ÑαѼѡ¡πε Γ¿»á│  │  └──┘   └────────┘
  5869.                              │   │    ºá»¿ß∞     │  │
  5870.                              │   │  ¿½¿ «íΩÑ¬Γ   │  │
  5871.                              │   └───────────────┘  │
  5872.                              │        ┌───┐         │
  5873.                              └────────┤ , │<────────┘
  5874.                                       └───┘
  5875.  
  5876.          ßßδ½¬á ¡á »ÑαѼѡ¡πε        ┌────────────────────┐
  5877.          Γ¿»á ºá»¿ß∞ ¿½¿ «íΩÑ¬Γ  ───>│ßßδ½¬á ¡á »ÑαѼѡ¡πε├──>
  5878.                                      └────────────────────┘
  5879.  
  5880.              é«º∞¼Ñ¼ ß½ÑñπεΘÑÑ «»¿ßá¡¿Ñ:
  5881.  
  5882.              type
  5883.                TDate = record
  5884.                     Day   : Integer:
  5885.                     Month : Integer;
  5886.                     Year  : Integer:
  5887.                end;
  5888.  
  5889.              var OrderDate: TDate;
  5890.  
  5891.              æ πτÑΓ«¼ ñá¡¡«ú« «»¿ßá¡¿∩ »α¿óÑñѼ »α¿¼Ñα «»ÑαáΓ«αá with:
  5892.  
  5893.              with OrderDate do
  5894.                if Month = 12 then
  5895.                begin
  5896.                  Month := 1;
  5897.                  Year := Year + 1
  5898.                end else
  5899.                  Month := Month + 1;
  5900.  
  5901.              ¥Γ« φ¬ó¿óá½Ñ¡Γ¡« ß½ÑñπεΘѼπ:
  5902.  
  5903.              if OrderDate.Month = 12 then
  5904.              begin
  5905.                OrderDate.Month := 1;
  5906.                OrderDate.Year := TDate.Year + 1
  5907.              end
  5908.              else
  5909.                Date.month := TDate.Month + 1;
  5910.  
  5911.          B.Pascal 7 & Objects/LR     - 132 -
  5912.  
  5913.  
  5914.              é «»ÑαáΓ«αÑ with ß¡áτá½á »α«¿ºó«ñ¿Γß∩ »α«óÑα¬á ¬áªñ«⌐ ßß佬¿
  5915.         ¡á »ÑαѼѡ¡πε,  á ¿¼Ñ¡¡«:  ¼«ª¡« ½¿ ÑÑ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞, ¬á¬ »«½Ñ
  5916.         ºá»¿ß¿. àß½¿ φΓ« Γá¬, Γ« «¡á óßÑúñá ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¿¼Ñ¡¡« Γᬿ¼
  5917.         «íαẫ¼, ñáªÑ Ñß½¿ ¿¼ÑÑΓß∩ ñ«ßΓπ» ¬ »ÑαѼѡ¡«⌐ ß ΓѼ ªÑ ¿¼Ñ¡Ñ¼.
  5918.  
  5919.              ä«»πßΓ¿¼ «»¿ßá¡δ ß½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ:
  5920.  
  5921.             type
  5922.               TPoint = record
  5923.                         x,y: Integer;
  5924.                       end;
  5925.               var
  5926.                 x: Point;
  5927.                 y: Integer;
  5928.  
  5929.              é φΓ«¼ ß½πτáÑ ¿ ¬ x,  ¿ ¬ y ¼«ª¡« «íαáΘáΓ∞ß∩, ¬á¬ ¬ »ÑαѼѡ-
  5930.         ¡«⌐ ¿½¿ ¬á¬ ¬ »«½ε ºá»¿ß¿. é «»ÑαáΓ«αÑ:
  5931.  
  5932.             with x do
  5933.             begin
  5934.               x := 10;
  5935.               y := 25;
  5936.             end;
  5937.  
  5938.         x ¼Ñªñπ  ¬½ετÑó묨  ß½«óἿ with ¿ d« «Γ¡«ß¿Γß∩ ¬ »ÑαѼѡ¡«⌐ Γ¿»á
  5939.         π¬áºáΓѽ∞,  á ó ß«ßΓáó¡«¼ «»ÑαáΓ«αÑ x ¿ y ßßδ½áεΓß∩ ¡á x.x ¿ y.y.
  5940.  
  5941.              Ä»ÑαáΓ«α:
  5942.  
  5943.              with V1,V2,...Vn do s;
  5944.  
  5945.         φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«αá¼:
  5946.  
  5947.              with V1 do
  5948.                with V2 do
  5949.                 ...
  5950.                   with Vn do
  5951.                    S;
  5952.  
  5953.              é «í«¿σ ß½πτá∩σ,  Ñß½¿ Vn ∩ó½∩ÑΓß∩ »«½Ñ¼ ¿ v1,  ¿ v2, Γ« «¡á
  5954.         ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬ v2.Vn, á ¡Ñ ¬á¬ v1.Vn.
  5955.  
  5956.              àß½¿ óδí«α¬á »ÑαѼѡ¡«⌐ Γ¿»á ºá»¿ß∞ ßó∩ºá¡á ß ¿¡ñѬ߿α«óá¡¿-
  5957.         Ñ¼ ¼áßß¿óá ¿½¿ αáºδ¼Ñ¡«ó᡿Ѽ π¬áºáΓѽ∩, Γ« φΓ¿ ñÑ⌐ßΓó¿∩ »α«¿ºó«-
  5958.         ñ∩Γß∩ ñ« Γ«ú«, ¬á¬ íπñÑΓ óδ»«½¡∩Γ∞ß∩ ß«ßΓáó¡«⌐ «»ÑαáΓ«α.
  5959.  
  5960.  
  5961.  
  5962.          B.Pascal 7 & Objects/LR     - 133 -
  5963.  
  5964. ───────────────────────────────────────────────────────────────────────
  5965.                  â½áóá 8. ü½«¬¿, ½«¬á½∞¡«ßΓ∞ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩
  5966.         ─────────────────────────────────────────────────────────────────
  5967.  
  5968.              ü½«¬¿ ß«ßΓ«∩Γ ¿º «»¿ßá¡¿⌐, ¬«Γ«αδÑ ºá»¿ßá¡δ ¿ ß¬«¼í¿¡¿α«óá¡δ
  5969.         ó ½εí«¼ »«α∩ñ¬Ñ, ¿ «»ÑαáΓ«α«ó. èáªñδ⌐ í½«¬ ∩ó½∩ÑΓß∩ τáßΓ∞ε «»¿ßá-
  5970.         ¡¿∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,  ¿½¿ τáßΓ∞ε »α«úαá¼¼δ ¿½¿ ¼«ñπ½∩.  éßÑ
  5971.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¿ ¼ÑΓ¬¿,  «íΩ∩ó½Ñ¡¡δÑ ó αáºñѽѠ«»¿ßá¡¿⌐, ∩ó½∩εΓß∩
  5972.         ñ½∩ í½«¬á ½«¬á½∞¡δ¼¿.
  5973.  
  5974.                                     æ¿¡Γá¬ß¿ß
  5975.         ─────────────────────────────────────────────────────────────────
  5976.  
  5977.              é «íΘѼ ó¿ñÑ ½εí«⌐ í½«¬ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ:
  5978.  
  5979.                    ┌──────────┐     ┌──────────┐
  5980.          í½«¬ ────>│  αáºñѽ  ├────>│  αáºñѽ  ├────>
  5981.                    │ «»¿ßá¡¿∩ │     │«»ÑαáΓ«α«ó│
  5982.                    └──────────┘     └──────────┘
  5983.  
  5984.          αáºñѽ    ──────────┬────────────────────────────────────┬───>
  5985.          «íΩ∩ó½Ñ¡¿∩    ^     │                              ^     │
  5986.                        │     │    ┌──────────────────┐      │     │
  5987.                        │     ├───>│  αáºñѽ «»¿ßá¡¿∩ ├──────┤     │
  5988.                        │     │    │      ¼ÑΓ«¬       │      │     │
  5989.                        │     │    └──────────────────┘      │     │
  5990.                        │     │    ┌──────────────────┐      │     │
  5991.                        │     ├───>│  αáºñѽ «»¿ßá¡¿∩ ├──────┤     │
  5992.                        │     │    │     ¬«¡ßΓá¡Γ     │      │     │
  5993.                        │     │    └──────────────────┘      │     │
  5994.                        │     │    ┌──────────────────┐      │     │
  5995.                        │     ├───>│  αáºñѽ «»¿ßá¡¿∩ ├──────┤     │
  5996.                        │     │    │      Γ¿»«ó       │      │     │
  5997.                        │     │    └──────────────────┘      │     │
  5998.                        │     │    ┌──────────────────┐      │     │
  5999.                        │     ├───>│  αáºñѽ «»¿ßá¡¿∩ ├──────┤     │
  6000.                        │     │    │    »ÑαѼѡ¡δσ    │      │     │
  6001.                        │     │    └──────────────────┘      │     │
  6002.                        │     │    ┌──────────────────┐      │     │
  6003.                        │     ├───>│ «»ÑαáΓ«α exports ├──────┤     │
  6004.                        │     │    └──────────────────┘      │     │
  6005.                        │     │    ┌──────────────────┐      │     │
  6006.                        │     └───>│  αáºñѽ «»¿ßá¡¿∩ ├──────┘     │
  6007.                        │          │»α«µÑñπα ¿ Σπ¡¬µ¿⌐│            │
  6008.                        │          └──────────────────┘            │
  6009.                        └──────────────────────────────────────────┘
  6010.  
  6011.  
  6012.          B.Pascal 7 & Objects/LR     - 134 -
  6013.  
  6014.  
  6015.              Éáºñѽ «»¿ßá¡¿∩ ¼ÑΓ«¬ - φΓ« Γá τáßΓ∞ í½«¬á,  úñÑ «»¿ßδóáεΓß∩
  6016.         ¼ÑΓ¬¿,  »α¿ßóá¿óáѼδÑ «»ÑαáΓ«αá¼ ó ß««ΓóÑΓßΓóπεΘѼ αáºñѽѠ«»Ñαá-
  6017.         Γ«α«ó. èáªñá∩ ¼ÑΓ¬á ñ«½ª¡á »«¼ÑτáΓ∞ Γ«½∞¬« «ñ¿¡ «»ÑαáΓ«α.
  6018.  
  6019.  
  6020.           αáºñѽ           ┌───────┐       ┌───────┐      ┌───┐
  6021.           «»¿ßá¡¿∩ ───────>│ label ├──────>│ ¼ÑΓ¬á ├──┬──>│ ; ├───>
  6022.           ¼ÑΓ«¬            └───────┘   ^   └───────┘  │   └───┘
  6023.                                        │   ┌───┐      │
  6024.                                        └───┤ , ├──────┘
  6025.                                            └───┘
  6026.  
  6027.              îÑΓ¬«⌐ ¼«ªÑΓ íδΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿½¿ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα.
  6028.         êß»«½∞ºπѼá∩ ó ¬áτÑßΓóÑ ¼ÑΓ¬¿ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα ñ«½ª¡á  ¡á-
  6029.         σ«ñ¿Γ∞ß∩ ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 9999.
  6030.  
  6031.              Éáºñѽ «»¿ßá¡¿∩ ¬«¡ßΓá¡Γ ß«ñÑαª¿Γ «»¿ßá¡¿∩ ¬«¡ßΓá¡Γ, ½«¬á½∞-
  6032.         ¡δσ ñ½∩ φΓ«ú« í½«¬á.
  6033.  
  6034.          αáºñѽ         ┌───────┐       ┌────────────┐
  6035.          «»¿ßá¡¿∩ ─────>│ const ├────┬─>│  «»¿ßá¡¿Ñ  ├───────────┬───>
  6036.          ¬«¡ßΓá¡Γ       └───────┘ ^  │  │ ¬«¡ßΓá¡Γδ  │        ^  │
  6037.                                   │  │  └────────────┘        │  │
  6038.                                   │  │  ┌───────────────────┐ │  │
  6039.                                   │  │  │     «»¿ßá¡¿Ñ      │ │  │
  6040.                                   │  └─>│   Γ¿»¿º¿α«óá¡¡«⌐  ├─┘  │
  6041.                                   │     │     ¬«¡ßΓá¡Γδ     │    │
  6042.                                   │     └───────────────────┘    │
  6043.                                   └──────────────────────────────┘
  6044.  
  6045.              Éáºñѽ «»¿ßá¡¿∩ Γ¿»«ó ó¬½ετáÑΓ «»¿ßá¡¿∩ óßÑσ Γ¿»«ó ó í½«¬Ñ.
  6046.  
  6047.          αáºñѽ         ┌───────┐       ┌────────────┐
  6048.          «»¿ßá¡¿∩ ─────>│ type  ├──────>│  «»¿ßá¡¿Ñ  ├────┬───>
  6049.          Γ¿»«ó          └───────┘  ^    │    Γ¿»á    │    │
  6050.                                    │    └────────────┘    │
  6051.                                    └──────────────────────┘
  6052.  
  6053.  
  6054.              Éáºñѽ «»¿ßá¡¿∩ »ÑαѼѡ¡δσ ß«ßΓ«¿Γ ¿º  «»¿ßá¡¿∩  »ÑαѼѡ¡δσ,
  6055.         ½«¬á½∞¡δσ ñ½∩ φΓ«ú« í½«¬á.
  6056.  
  6057.          αáºñѽ         ┌─────┐       ┌────────────┐
  6058.          «»¿ßá¡¿∩ ─────>│ var ├──────>│  «»¿ßá¡¿Ñ  ├────┬───>
  6059.          »ÑαѼѡ¡δσ     └─────┘  ^    │ »ÑαѼѡ¡«⌐ │    │
  6060.                                  │    └────────────┘    │
  6061.                                  └──────────────────────┘
  6062.  
  6063.  
  6064.          B.Pascal 7 & Objects/LR     - 135 -
  6065.  
  6066.  
  6067.              Éáºñѽ «»¿ßá¡¿∩  »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ß«ßΓ«¿Γ ¿º «»¿ßá¡¿∩ »α«-
  6068.         µÑñπα ¿ Σπ¡¬µ¿⌐, ½«¬á½∞¡δσ ñ½∩ φΓ«ú« í½«¬á.
  6069.  
  6070.  
  6071.          αáºñѽ                 ┌────────────┐
  6072.          «»¿ßá¡¿∩ ───────────┬─>│  «»¿ßá¡¿Ñ  ├─────┬────>
  6073.          »α«µÑñπα ¿       ^  │  │ »α«µÑñπαδ  │  ^  │
  6074.          Σπ¡¬µ¿⌐          │  │  └────────────┘  │  │
  6075.                           │  │  ┌────────────┐  │  │
  6076.                           │  └─>│  «»¿ßá¡¿Ñ  ├──┘  │
  6077.                           │     │  Σπ¡¬µ¿¿   │     │
  6078.                           │     └────────────┘     │
  6079.                           │     ┌────────────┐     │
  6080.                           ├────>│  «»¿ßá¡¿Ñ  ├─────┤
  6081.                           │     │¬«¡ßΓαπ¬Γ«αá│     │
  6082.                           │     └────────────┘     │
  6083.                           │     ┌────────────┐     │
  6084.                           ├────>│  «»¿ßá¡¿Ñ  ├─────┤
  6085.                           │     │ñÑßΓαπ¬Γ«αá │     │
  6086.                           │     └────────────┘     │
  6087.                           └────────────────────────┘
  6088.  
  6089.              é «»ÑαáΓ«αÑ  exports  »ÑαÑτ¿ß½∩εΓß∩ óßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,
  6090.         ¬«Γ«αδÑ φ¬ß»«αΓ¿απεΓß∩ ñá¡¡«⌐ »α«úαá¼¼«⌐ ¿½¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡π-
  6091.         Ñ¼«⌐ í¿í½¿«ΓѬ«⌐.  Ä»ÑαáΓ«α exports ñ«»π߬áÑΓß∩ Γ«½∞¬« ó« ó¡ÑΦ¡Ñ¼
  6092.         αáºñѽѠ«»¿ßá¡¿⌐ »α«úαá¼¼δ ¿½¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼ«⌐ í¿í½¿«ΓѬ¿
  6093.         - ó αáºñѽѠ«»¿ßá¡¿⌐ »α«µÑñπαδ,  Σπ¡¬µ¿¿ ¿½¿ ¼«ñπ½∩ Ñú« ¿ß»«½∞º«-
  6094.         óáΓ∞ ¡Ñ½∞º∩.
  6095.  
  6096.              Éáºñѽ «»ÑαáΓ«α«ó  «»αÑñѽ∩ÑΓ  «»ÑαáΓ«αδ ¿½¿ á½ú«α¿Γ¼¿τÑ߬¿Ñ
  6097.         ñÑ⌐ßΓó¿∩, ¬«Γ«αδÑ óδ»«½¡∩εΓß∩ ó í½«¬Ñ.
  6098.  
  6099.          αáºñѽ           ┌───────────┐
  6100.          «»ÑαáΓ«α«ó ─────>│ ß«ßΓáó¡«⌐ ├─────>
  6101.                           │  «»ÑαáΓ«α │
  6102.                           └───────────┘
  6103.  
  6104.  
  6105.  
  6106.          B.Pascal 7 & Objects/LR     - 136 -
  6107.  
  6108.                           Åαáó¿½á ñ½∩ «í½áßΓ¿ ñÑ⌐ßΓó¿∩
  6109.         ─────────────────────────────────────────────────────────────────
  6110.  
  6111.              ì὿τ¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¿½¿ ¼ÑΓ¬¿ ó «»¿ßá¡¿¿ «º¡áτáÑΓ «»αÑñÑ-
  6112.         ½Ñ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¿½¿ ¼ÑΓ¬¿.  èáªñδ⌐ αáº,  ¬«úñá ¿ñÑ¡Γ¿Σ¿¬áΓ«α
  6113.         ¿½¿ ¼ÑΓ¬á óßΓαÑτáεΓß∩ ó »α«úαá¼¼Ñ, «¡¿ ñ«½ª¡δ ¡áσ«ñ¿Γ∞ß∩ ó «í½áß-
  6114.         Γ¿ ñÑ⌐ßΓó¿∩ φΓ«ú« «»¿ßá¡¿∩.
  6115.  
  6116.                            Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ñ½∩ í½«¬á
  6117.         ─────────────────────────────────────────────────────────────────
  6118.  
  6119.              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¿½¿ ¼ÑΓ¬¿ ó «»¿ßá¡¿¿ ¼ÑΓ¬¿,
  6120.         ¬«¡ßΓá¡ΓÑ,  Γ¿»á, »ÑαѼѡ¡«⌐, »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ αáß»α«ßΓαá¡∩-
  6121.         ÑΓß∩  «Γ ¿σ «»¿ßá¡¿∩ ñ« ¬«¡µá ΓѬπΘÑú« í½«¬á,  ó¬½ετá∩ óßÑ í½«¬¿,
  6122.         óσ«ñ∩Θ¿Ñ ó ΓѬπΘ¿⌐ í½«¬. ì¿ªÑ »α¿ó«ñ¿Γß∩ ¡Ñ߬«½∞¬« ¿ß¬½ετÑ¡¿⌐.
  6123.  
  6124.              êñÑ¡Γ¿Σ¿¬áΓ«α ¿½¿ ¼ÑΓ¬á,  «»¿ßá¡¡δÑ ó« ó¡ÑΦ¡Ñ¼ í½«¬Ñ,  ¼«úπΓ
  6125.         ºá¡«ó« «»¿ßδóáΓ∞ß∩ ó« ó¡πΓαÑ¡¡Ñ¼ í½«¬Ñ, óσ«ñ∩ΘѼ ó« ó¡ÑΦ¡¿⌐ í½«¬.
  6126.         ä« Γ«τ¬¿ «»¿ßá¡¿∩ ó« ó¡πΓαÑ¡¡Ñ¼ í½«¬Ñ ¿½¿ »«ß½Ñ ¬«¡µá  ó½«ªÑ¡¡«ú«
  6127.         í½«¬á ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿½¿ ¼ÑΓ¬á »αÑñßΓáó½∩εΓ φ½Ñ¼Ñ¡Γ,  «»¿ßá¡¡δ⌐ ó«
  6128.         ó¡ÑΦ¡Ñ¼ «σóáΓδóáεΘѼ í½«¬Ñ.
  6129.  
  6130.              program Outer;          { ¡áτὫ ó¡ÑΦ¡Ñ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ Ω
  6131.              type
  6132.                I = Integer;          { «»αÑñѽ∩ÑΓ I ¬á¬ Integer }
  6133.              var
  6134.                T: I;                 { «»αÑñѽ∩ÑΓ T ¬á¬ µÑ½«τ¿ß½Ñ¡¡πε
  6135.                                        »ÑαѼѡ¡πε }
  6136.              procedure Inner;        { ¡áτὫ ó¡πΓαÑ¡¡Ñú« í½«¬á }
  6137.              type
  6138.                T = I;                { »ÑαÑ«»αÑñѽ∩ÑΓ T ß Γ¿»«¼ Integer }
  6139.              var
  6140.                I: T;                 { »ÑαÑ«»αÑñѽ∩ÑΓ I ¬á¬ µÑ½«τ¿ß½Ñ¡¡πε
  6141.                                        »ÑαѼѡ¡πε }
  6142.              begin
  6143.                I := 1;               { ¬«¡Ñµ ó½«ªÑ¡¡«ú« í½«¬á }
  6144.              end;
  6145.  
  6146.              begin
  6147.                T := 1;               { ¬«¡Ñµ ó¡ÑΦ¡Ñú« í½«¬á }
  6148.              end.
  6149.  
  6150.  
  6151.  
  6152.          B.Pascal 7 & Objects/LR     - 137 -
  6153.  
  6154.                              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ºá»¿ß¿
  6155.         ─────────────────────────────────────────────────────────────────
  6156.  
  6157.              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »«½∩, «»¿ßá¡¡«ú« ó «»αÑñѽÑ-
  6158.         ¡¿¿ ºá»¿ß¿,  »α«ßΓ¿αáÑΓß∩ «Γ Γ«τ¬¿ «»¿ßá¡¿∩ ñ« ¬«¡µá  «»αÑñѽѡ¿∩
  6159.         Γ¿»á ºá»¿ß∞. èα«¼Ñ Γ«ú«, «í½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ó¬½ετá-
  6160.         ÑΓ ñÑß¿ú¡áΓ«αδ »«½∩ ¿ «»ÑαáΓ«αδ with ¡áñ ßßδ½¬á¼¿  ¡á  »ÑαѼѡ¡πε
  6161.         ñá¡¡«ú« Γ¿»á ºá»¿ß¿.
  6162.  
  6163.                    Åα¿¼Ñτá¡¿Ñ: Ä Γ¿»Ñ ºá»¿ß∞ αáß߬áºδóáÑΓß∩ ó â½áóÑ 4.
  6164.  
  6165.                               Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ «íΩѬΓá
  6166.         ─────────────────────────────────────────────────────────────────
  6167.  
  6168.              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá φ½Ñ¼Ñ¡Γá,  «»¿ßá¡¡«ú« ó «íΩ-
  6169.         Ñ¬Γ¡«¼ Γ¿»Ñ,  »α«ßΓ¿αáÑΓß∩ «Γ Γ«τ¬¿ «»¿ßá¡¿∩ ñ« ¬«¡µá «»αÑñѽѡ¿∩
  6170.         «íΩÑ¬Γ¡«ú« Γ¿»á ¿ αáß»α«ßΓαá¡∩ÑΓß∩ ¡á óßÑ ñ«τÑα¡¿Ñ «íΩÑ¬Γ¡δÑ Γ¿»δ
  6171.         ¿  í½«¬¿ óßÑσ «»¿ßá¡¿⌐ ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á.  Äí½áßΓ∞ ñÑ⌐ßΓó¿∩
  6172.         ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó φ½Ñ¼Ñ¡Γá ó¬½ετáÑΓ ñÑß¿ú¡áΓ«αδ  »«½∩  ¿  «»ÑαáΓ«αδ
  6173.         with ¡áñ ßßδ½¬á¼¿ ¡á »ÑαѼѡ¡πε ñá¡¡«ú« «íΩÑ¬Γ¡«ú« Γ¿»á.
  6174.  
  6175.                    Åα¿¼Ñτá¡¿Ñ: « Γ¿»Ñ ºá»¿ß∞ αáß߬áºδóáÑΓß∩ ó â½áóÑ 4.
  6176.  
  6177.          B.Pascal 7 & Objects/LR     - 138 -
  6178.  
  6179.  
  6180.                              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¼«ñπ½∩
  6181.         ─────────────────────────────────────────────────────────────────
  6182.  
  6183.              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,  «»¿ßá¡¡δσ ó  ¿¡ΓÑαΣÑ⌐ß¡«⌐
  6184.         ßѬµ¿¿ ¼«ñπ½∩,  »«ñτ¿¡∩ÑΓß∩  »αáó¿½á¼  «í½áßΓ¿  ñÑ⌐ßΓó¿∩  í½«¬á ¿
  6185.         αáß»α«ßΓαá¡∩ÑΓß∩ ¡á óßÑ󠬽¿Ñ¡Γ«ó ¼«ñπ½∩.  äαπú¿¼¿ ß½«óἿ, »α«ú-
  6186.         αá¼¼δ ¿ ¼«ñπ½¿,  ß«ñÑαªáΘ¿Ñ «»ÑαáΓ«αδ uses («»ÑαáΓ«αδ ¿ß»«½∞º«óá-
  6187.         ¡¿∩) ¿¼ÑεΓ ñ«ßΓπ» ¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼, ¬«Γ«αδÑ «»¿ßá¡δ ó ¿¡ΓÑαΣÑ⌐ß-
  6188.         ¡«⌐ τáßΓ¿ ¼«ñπ½Ñ⌐, π¬áºá¡¡δσ ó φΓ¿σ «»ÑαáΓ«αáσ uses.
  6189.  
  6190.              èáªñδ⌐ ¼«ñπ½∞ ó «»ÑαáΓ«αÑ uses «»αÑñѽ∩ÑΓ ßó«ε «í½áßΓ∞ ñÑ⌐ß-
  6191.         Γó¿∩,  ¬«Γ«αá∩ «σóáΓδóáÑΓ «ßΓá½∞¡δÑ ¼«ñπ½¿ ¿ »α«úαá¼¼π  ó  µÑ½«¼.
  6192.         ÅÑαóδ⌐ ¼«ñπ½∞ ó «»ÑαáΓ«αÑ uses »αÑñßΓáó½∩ÑΓ ßá¼πε ó¡ÑΦ¡εε «í½áßΓ∞
  6193.         ñÑ⌐ßΓó¿∩,  á »«ß½Ññ¡¿⌐ ¼«ñπ½∞ »αÑñßΓáó½∩ÑΓ ßá¼πε  ó¡πΓαÑ¡¡εε  «í-
  6194.         ½áßΓ∞ ñÑ⌐ßΓó¿∩.  ¥Γ« «º¡áτáÑΓ, τΓ« Ñß½¿ ñóá ¿½¿ í«½ÑÑ ¼«ñπ½Ñ⌐ ß«-
  6195.         ñÑαªáΓ «»¿ßá¡¿Ñ «ñ¡«ú« ¿ Γ«ú« ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá,  Γ« »α¿  ¡ÑπΓ«τ-
  6196.         ¡Ñ¡¡«¼ «íαáΘÑ¡¿¿ ¬ φΓ«¼π ¿ñÑ¡Γ¿Σ¿¬áΓ«απ íπñÑΓ óδíαá¡ Γ«Γ óáα¿á¡Γ,
  6197.         ¬«Γ«αδ⌐ íδ½ «»¿ßá¡ ó »«ß½Ññ¡Ñ¼ ¼«ñπ½Ñ ó «»ÑαáΓ«αÑ  uses.  Äñ¡á¬«,
  6198.         óδ  ¼«ªÑΓÑ  óδíαáΓ∞  ½εí«⌐  óáα¿á¡Γ φΓ«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá,  π¬áºáó
  6199.         πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α.
  6200.  
  6201.              êñÑ¡Γ¿Σ¿¬áΓ«αδ óßΓα«Ñ¡¡δ󠬫¡ßΓá¡Γ,  Γ¿»«ó, »ÑαѼѡ¡δσ, »α«-
  6202.         µÑñπα ¿  Σπ¡¬µ¿⌐  Borland Pascal ñÑ⌐ßΓóπεΓ,  ¬á¬ Ñß½¿ íδ «¡¿ í뫨
  6203.         «»¿ßá¡δ ó í½«¬Ñ, «σóáΓδóáεΘѼ óßÑ ¿ß»«½∞ºπѼδÑ ¼«ñπ½¿ ¿ »α«úαá¼¼π
  6204.         ó µÑ½«¼. é ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ φΓ¿ ßΓá¡ñáαΓ¡δÑ «íΩѬΓδ «»¿ßá¡δ ó ¼«-
  6205.         ñπ½Ñ System,  ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ½εí«⌐ »α«úαá¼¼«⌐  ¿½¿  ¼«ñπ½Ñ¼
  6206.         »αѪñÑ ½εí«ú« ¼«ñπ½∩,  π¬áºá¡¡«ú« ó «»ÑαáΓ«αÑ uses. ¥Γ« «º¡áτáÑΓ,
  6207.         τΓ« ½εí«⌐ ¼«ñπ½∞ ¿½¿ »α«úαἼᠼ«úπΓ  »ÑαÑ«»αÑñѽ¿Γ∞  ßΓá¡ñáαΓ¡δÑ
  6208.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ,  á «íαáΘÑ¡¿Ñ ¬ ¡¿¼ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡« ß »«¼«Θ∞ε
  6209.         πΓ«τ¡Ñ¡¡«ú« (ß«ßΓáó¡«ú«) ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, ¡á»α¿¼Ñα, System.Integer
  6210.         ¿½¿ System.Writeln.
  6211.  
  6212.  
  6213.  
  6214.          B.Pascal 7 & Objects/LR     - 139 -
  6215.  
  6216. ───────────────────────────────────────────────────────────────────────
  6217.                           â½áóá 9. Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿
  6218.         ─────────────────────────────────────────────────────────────────
  6219.  
  6220.              Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ »«ºó«½∩εΓ ó¬½ετáΓ∞ ó «ß¡«ó¡«⌐  »α«úαá¼¼-
  6221.         ¡δ⌐  í½«¬  ñ«»«½¡¿Γѽ∞¡δÑ  í½«¬¿.  èáªñ«Ñ  «»¿ßá¡¿Ñ »α«µÑñπαδ ¿½¿
  6222.         Σπ¡¬µ¿¿ ß«ñÑαª¿Γ ºáú«½«ó«¬,  ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ »α«úαá¼¼¡δ⌐ í½«¬.
  6223.         Åα«µÑñπαá  á¬Γ¿ó¿º¿απÑΓß∩ ß »«¼«Θ∞ε «»ÑαáΓ«αá »α«µÑñπαδ.  öπ¡¬µ¿∩
  6224.         á¬Γ¿ó¿º¿απÑΓß∩ »α¿ óδτ¿ß½Ñ¡¿¿ óδαáªÑ¡¿∩,  ß«ñÑαªáΘÑú« ó맮ó Σπ¡¬-
  6225.         µ¿¿, ¿ ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐ º¡áτÑ¡¿Ñ »«ñßΓáó½∩ÑΓß∩ ó φΓ« óδαáªÑ-
  6226.         ¡¿Ñ.
  6227.  
  6228.                    Åα¿¼Ñτá¡¿Ñ: Ä»αÑñѽѡ¿Ñ í½«¬á óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó  â½áóÑ
  6229.               8 "ü½«¬¿, ½«¬á½∞¡«ßΓ∞ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩".
  6230.  
  6231.              é ñá¡¡«⌐ ú½áóÑ «íßπªñáεΓß∩ αẽ¿τ¡δÑ ß»«ß«íδ «»¿ßá¡¿∩ »α«µÑ-
  6232.         ñπαδ ¿½¿ Σπ¡¬µ¿¿ ¿ ¿σ »áαá¼ÑΓαδ.
  6233.  
  6234.                                 Ä»¿ßá¡¿∩ »α«µÑñπα
  6235.         ─────────────────────────────────────────────────────────────────
  6236.  
  6237.  
  6238.          B.Pascal 7 & Objects/LR     - 140 -
  6239.  
  6240.  
  6241.              Ä»¿ßá¡¿Ñ »α«µÑñπαδ »«ºó«½∩ÑΓ ßó∩ºáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ß  »α«µÑ-
  6242.         ñπα¡δ¼  í½«¬«¼.  Åα«µÑñπαπ  ¼«ª¡«  ºáΓѼ á¬Γ¿ó¿º¿α«óáΓ∞ ß »«¼«Θ∞ε
  6243.         «»ÑαáΓ«αá »α«µÑñπαδ.
  6244.  
  6245.                       ┌─────────┐   ┌───┐   ┌────────────┐   ┌───┐
  6246.          «»¿ßá¡¿Ñ ───>│ºáú«½«ó«¬├──>│ ; ├──>│    Γѽ«    ├──>│ ; ├──>
  6247.          »α«µÑñπαδ    │»α«µÑñπαδ│   └───┘   │»«ñ»α«úαá¼¼δ│   └───┘
  6248.                       └─────────┘           └────────────┘
  6249.  
  6250.                       ┌─────────┐   ┌─────────────┐
  6251.          ºáú«½«ó«¬ ──>│procedure├─┬>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──┐
  6252.          »α«µÑñπαδ    └─────────┘ │ └─────────────┘ ^├──────────────────>
  6253.                                   │ ┌─────────────┐ ││  ┌──────────┐ ^
  6254.                                   │ │ πΓ«τ¡Ñ¡¡δ⌐  │ ││  │  ß»¿ß«¬  │ │
  6255.                                   └>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┘└─>│Σ«α¼á½∞¡δσ├─┘
  6256.                                     │   ¼ÑΓ«ñá    │     │»áαá¼ÑΓα«ó│
  6257.                                     └─────────────┘     └──────────┘
  6258.  
  6259.                                                         ┌──────┐
  6260.          í½«¬     ───┬──────────────────────────────┬──>│¼«ñπ½∞├────────>
  6261.          »«ñ»α«úαá¼¼δ│   ┌─────────┐      ┌───┐   ^ │   └──────┘    ^
  6262.                      ├──>│ near    ├─────>│ ; ├───┘ │   ┌───────┐   │
  6263.                      │   └─────────┘  ^   └───┘     │──>│forward├───┤
  6264.                      │   ┌─────────┐  │             │   └───────┘   │
  6265.                      ├──>│ far     ├──┤             │   ┌─────────┐ │
  6266.                      │   └─────────┘  │             │──>│ñ¿αÑ¬Γ¿óá├─┤
  6267.                      │   ┌─────────┐  │             │   │ external│ │
  6268.                      ├──>│ export  ├──┤             │   └─────────┘ │
  6269.                      │   └─────────┘  │             │   ┌────────┐  │
  6270.                      │   ┌─────────┐  │             └──>│í½«¬ asm├──┤
  6271.                      ├──>│interrupt├──┘                 └────────┘  │
  6272.                      │   └─────────┘                    ┌─────────┐ │
  6273.                      └─────────────────────────────────>│ñ¿αÑ¬Γ¿óá├─┘
  6274.                                                         │ inline  │
  6275.                                                         └─────────┘
  6276.  
  6277.              çáú«½«ó¬¿ »α«µÑñπα  ¿¼Ñ¡πεΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ »α«µÑñπα ¿ ºáñáεΓ
  6278.         Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ (Ñß½¿ «¡¿ ¿¼ÑεΓß∩).
  6279.  
  6280.                    Åα¿¼Ñτá¡¿Ñ: æ¿¡Γá¬ß¿ß ß»¿ß¬á Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó »«-
  6281.               ¬áºá¡ ñá½ÑÑ ó φΓ«⌐ ú½áóÑ ó αáºñѽѠ"Åáαá¼ÑΓαδ".
  6282.  
  6283.              Åα«µÑñπαá á¬Γ¿ó¿º¿απÑΓß∩ ß »«¼«Θ∞ε  «»ÑαáΓ«αá  »α«µÑñπαδ,  ó
  6284.         ¬«Γ«α«¼ ß«ñÑαªáΓß∩ ¿¼∩ »α«µÑñπαδ ¿ ¡Ñ«íσ«ñ¿¼δÑ »áαá¼ÑΓαδ.  Ä»Ñαá-
  6285.         Γ«αδ, ¬«Γ«αδÑ ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩ »α¿ ºá»π߬Ѡ»α«µÑñπαδ, ß«ñÑαªáΓ-
  6286.         ß∩  ó  «»ÑαáΓ«α¡«⌐ τáßΓ¿ ¼«ñπ½∩ »α«µÑñπαδ.  àß½¿ ó ß«ñÑαªáΘѼß∩ ó
  6287.         »α«µÑñπαÑ «»ÑαáΓ«αÑ ó¡πΓα¿ ¼«ñπ½∩ »α«µÑñπαδ ¿ß»«½∞ºπÑΓß∩  ¿ñÑ¡Γ¿-
  6288.         Σ¿¬áΓ«α »α«µÑñπαδ, Γ« »α«µÑñπαá íπñÑΓ óδ»«½¡∩Γ∞ß∩ αѬπα߿󡫠(íπ-
  6289.         ñÑΓ »α¿ óδ»«½¡Ñ¡¿¿ «íαáΘáΓ∞ß∩ ßá¼á ¬ ßÑíÑ).
  6290.  
  6291.          B.Pascal 7 & Objects/LR     - 141 -
  6292.  
  6293.  
  6294.              Åα¿óÑñѼ »α¿¼Ñα «»¿ßá¡¿∩ »α«µÑñπαδ:
  6295.  
  6296.              procedure NumString(N: integer; var S: string);
  6297.              var
  6298.                V: integer;
  6299.              begin
  6300.                V := Abs(N);
  6301.                S := '';
  6302.                repeat
  6303.                  S := Chr(N mod 10 + Ord('0')) + S;
  6304.                  N := N div 10;
  6305.                until N = 0;
  6306.                if N < 0 then S := '-' + S;
  6307.              end;
  6308.  
  6309.                                Ä»¿ßá¡¿∩ near ¿ far
  6310.         ─────────────────────────────────────────────────────────────────
  6311.  
  6312.              Borland Pascal  »«ññÑনóáÑΓ  ñóÑ  ¼«ñѽ¿  ó맮óá »α«µÑñπα -
  6313.         í½¿ª¡εε (near) ¿ ñá½∞¡εε (far). æ Γ«τ¬¿ ºαÑ¡¿∩ «íΩѼᠻα«úαá¼¼δ ¿
  6314.         ß¬«α«ßΓ¿ óδ»«½¡Ñ¡¿∩ í½¿ª¡∩∩ ¼«ñѽ∞ ó맮óá í«½ÑÑ φΣΣÑ¬Γ¿ó¡á,  ¡« ß
  6315.         ¡Ñ⌐ ßó∩ºá¡δ «úαá¡¿τÑ¡¿∩:  »α«µÑñπαδ Γ¿»á  near  ¼«úπΓ  óδºδóáΓ∞ß∩
  6316.         Γ«½∞¬« ó Γ«¼ ¼«ñπ½Ñ,  úñÑ «¡¿ «»¿ßá¡δ. Åα«µÑñπαδ ªÑ ß ñá½∞¡¿¼ Γ¿-
  6317.         »«¼ ó맮óá ¼«ª¡« óδºδóáΓ∞ ¿º ½εí«ú« ¼«ñπ½∩,  ¡« «¡¿ ¡Ñ߬«½∞¬« ¼Ñ-
  6318.         ¡ÑÑ φΣΣÑ¬Γ¿ó¡δ.
  6319.  
  6320.                    Åα¿¼Ñτá¡¿Ñ: Ä ó맮óáσ í½¿ª¡Ñú« ¿ ñá½∞¡Ñú« Γ¿»á αáß߬á-
  6321.               ºδóáÑΓß∩ ó â½áóÑ 22 "é«»α«ßδ π»αáó½Ñ¡¿∩".
  6322.  
  6323.              ìá «ß¡«óÑ «»¿ßá¡¿∩ »α«µÑñπαδ ¬«¼»¿½∩Γ«α íπñÑΓ  áóΓ«¼áΓ¿τÑ߬¿
  6324.         óδí¿αáΓ∞ »αáó¿½∞¡πε ¼«ñѽ∞ ó맮óá.  ä½∩ »α«µÑñπα, «»¿ßá¡¡δσ ó ¿¡-
  6325.         ΓÑαΣÑ⌐ß¡«⌐ τáßΓ¿ ¼«ñπ½∩ (interface),  ¿ß»«½∞ºπÑΓß∩ ñá½∞¡∩∩ ¼«ñѽ∞
  6326.         ó맮óá - ¿σ ¼«ª¡« óδºδóáΓ∞ ¿º ñαπú¿σ ¼«ñπ½Ñ⌐.  Åα«µÑñπαδ, «»¿ßá¡-
  6327.         ¡δÑ ó ßѬµ¿¿ αÑ὿ºáµ¿¿ ¼«ñπ½∩  (implementation),  ¿¼ÑεΓ  í½¿ª¡¿⌐
  6328.         Γ¿» ó맮óá. éδºδóáΓ∞ß∩ «¡¿ ¼«úπΓ Γ«½∞¬« ¿º »α«úαá¼¼ ñá¡¡«ú« ¼«ñπ-
  6329.         ½∩.
  6330.  
  6331.              ä½∩ ¡Ñ¬«Γ«αδσ  ß»Ñµ¿á½∞¡δσ µÑ½Ñ⌐ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ ¿ß»«½∞-
  6332.         º«óáΓ∞ ¼«ñѽ∞ ß ñá½∞¡¿¼ Γ¿»«¼ ó맮óá.  ìá»α¿¼Ñα, ó «óÑα½Ñ⌐¡δσ ºá-
  6333.         ñáτáσ «íδτ¡« ΓαÑíπÑΓß∩, τΓ«íδ óßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¿¼Ñ½¿ ñá½∞-
  6334.         ¡¿⌐  Γ¿»  ó맮óá.  Ç¡á½«ú¿τ¡«,   Ñß½¿   »α«µÑñπαá   ¿½¿   Σπ¡¬µ¿∩
  6335.         »α¿ßóá¿óáÑΓß∩ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐, Γ« «¡á ΓᬪѠñ«½ª¡á ¿ß»«½∞-
  6336.         º«óáΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá.  ùΓ«íδ  »ÑαÑ«»αÑñѽ¿Γ∞  áóΓ«¼áΓ¿τÑ߬¿⌐
  6337.         óδí«α  ¼«ñѽ¿  ó맮óá ¬«¼»¿½∩Γ«α«¼,  ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ¿αÑ¬Γ¿óπ
  6338.         ¬«¼»¿½∩Γ«αá {$F+}. Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¬«¼»¿½¿απѼδÑ ó ß«ßΓ«∩¡¿¿
  6339.         {$F+}, óßÑúñá íπñπΓ ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá (far), á ó ß«ßΓ«∩¡¿¿
  6340.         {$F-} ¬«¼»¿½∩Γ«α áóΓ«¼áΓ¿τÑ߬¿  óδí¿αáÑΓ  ¬«ααÑ¬Γ¡πε  ¼«ñѽ∞.  Å«
  6341.         π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá {$F-}.
  6342.  
  6343.  
  6344.          B.Pascal 7 & Objects/LR     - 142 -
  6345.  
  6346.              ùΓ«íδ ºáñáΓ∞ ¬«¡¬αÑΓ¡πε ¼«ñѽ∞ ó맮óá,  ó «»¿ßá¡¿¿ »α«µÑñπαδ
  6347.         »ÑαÑñ ÑÑ í½«¬«¼ ¼«ª¡« π¬áºáΓ∞ ñ¿αÑ¬Γ¿óπ near ¿½¿ far. Åα¿ ¡á½¿τ¿¿
  6348.         Γᬫ⌐ ñ¿αÑ¬Γ¿óδ «¡á »ÑαÑ«»αÑñѽ∩ÑΓ ñ¿αÑ¬Γ¿óπ $F ¬«¼»¿½∩Γ«αá ¿ áó-
  6349.         Γ«¼áΓ¿τÑ߬¿⌐ óδí«α ¼«ñѽ¿ ó맮óá.
  6350.  
  6351.                                  Ä»¿ßá¡¿∩ export
  6352.         ─────────────────────────────────────────────────────────────────
  6353.  
  6354.              Ä»¿ßá¡¿Ñ export ñѽáÑΓ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε φ¬ß»«αΓ¿απѼ«⌐,
  6355.         óδ¡πªñá∩ ¬«¼»¿½∩Γ«α ¿ß»«½∞º«óáΓ∞ ñ½∩ ¡ÑÑ ñá½∞¡¿⌐ Γ¿» ó맮óá ¿ úÑ-
  6356.         ¡Ñα¿α«óáΓ∞ ß»Ñµ¿á½∞¡δ⌐ ¬«ñ óσ«ñδ ¿ óδσ«ñá ¿º »α«µÑñπαδ.
  6357.  
  6358.              Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ«½ª¡δ íδΓ∞ φ¬ß»«αΓ¿απÑ¼δ¼¿ ó  ß½ÑñπεΘ¿σ
  6359.         ß½πτá∩σ:
  6360.  
  6361.              * Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ φ¬ß»«αΓ¿απεΓß∩ DLL (ñ¿¡á¼¿τÑ߬¿ ¬«¼»«-
  6362.                ¡πѼ«⌐ í¿í½¿«ΓѬ«⌐).
  6363.  
  6364.              * Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ß¿ßΓѼ¡«ú« ó맮óá ó »α«úαἼѠWindows.
  6365.  
  6366.              Ä Γ«¼, ¬á¬ φ¬ß»«αΓ¿α«óáΓ∞ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ó DLL, αáß߬á-
  6367.         ºδóáÑΓß∩ ó  â½áóÑ  11 "信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿".  ò«Γ∩
  6368.         »α«µÑñπαá ¿ Σπ¡¬µ¿∩ ¬«¼»¿½¿απÑΓß∩ ß ñ¿αÑ¬Γ¿ó«⌐ export,  Σá¬Γ¿τÑß-
  6369.         ¬¿⌐ φ¬ß»«αΓ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¡Ñ »α«¿ßσ«ñ¿Γ, »«¬á »«ñ»α«úαá¼-
  6370.         ¼á ¡Ñ »ÑαÑτ¿ß½∩ÑΓß∩ ó «»ÑαáΓ«αÑ exports í¿í½¿«ΓѬ¿.
  6371.  
  6372.              Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ß¿ßΓѼ¡«ú« ó맮óá - φΓ« ΓÑ  »α«µÑñπαδ  ¿
  6373.         Σπ¡¬µ¿¿ óáΦÑ⌐  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,  ¬«Γ«αδÑ  óδºδóáεΓß∩  ßἫ⌐
  6374.         Windows, á ¡Ñ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐. Å«ñ»α«úαá¼¼δ ß¿ßΓѼ¡«-
  6375.         ú« ó맮óá ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ export, ¡« ó «»Ñαá-
  6376.         Γ«αÑ exports ¿σ »ÑαÑτ¿ß½∩Γ∞ ¡Ñ ¡πª¡«.  Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ
  6377.         »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ß¿ßΓѼ¡«ú« ó맮óá:
  6378.  
  6379.              * »α«µÑñπαδ Windows;
  6380.              * ñ¿á½«ú«óδÑ »α«µÑñπαδ;
  6381.              * »α«µÑñπαδ ß¿ßΓѼ¡«ú« ó맮óá ñ½∩ »ÑαÑτ¿ß½Ñ¡¿∩;
  6382.              * »α«µÑñπαδ πóÑñ«¼½Ñ¡¿∩ «í «íαáΘÑ¡¿¿ ¬ »á¼∩Γ¿;
  6383.              * ß»Ñµ¿á½¿º¿α«óá¡¡δÑ »α«µÑñπαδ Windows (Σ¿½∞Γαδ).
  6384.  
  6385.              Borland Pascal áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñα¿απÑΓ ñ½∩ »α«µÑñπα ¿ Σπ¡¬-
  6386.         µ¿⌐, φ¬ß»«αΓ¿απѼδσ »α«úαá¼¼«⌐ Windows, φΣΣÑ¬Γ¿ó¡δÑ ß¿ßΓѼ¡δÑ óδ-
  6387.         º«óδ. ¥ΣΣÑ¬Γ¿ó¡δÑ  ó맮óδ  «ß½áí½∩εΓ  ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩
  6388.         »α¿ ß«ºñá¡¿¿  »«ñ»α«úαá¼¼  ß¿ßΓѼ¡«ú«  ó맮óá   »«ñ»α«úαá¼¼   API
  6389.         Windows MakeProcInstance ¿ FreeProcInstance.
  6390.  
  6391.                   Åα¿¼Ñτá¡¿Ñ: æ¼. αáºñѽ "è«ñ óσ«ñá ¿ óδσ«ñá" ó â½áóÑ 22.
  6392.  
  6393.          B.Pascal 7 & Objects/LR     - 143 -
  6394.  
  6395.                                Ä»¿ßá¡¿∩ interrupt
  6396.         ─────────────────────────────────────────────────────────────────
  6397.  
  6398.              é «»¿ßá¡¿¿ »α«µÑñπαδ »ÑαÑñ í½«¬«¼ «»ÑαáΓ«α«ó ¼«ªÑΓ  π¬áºδóá-
  6399.         ÑΓß∩ ñ¿αÑ¬Γ¿óá interrupt.  Åα«µÑñπαá ó φΓ«¼ ß½πτáÑ αáßß¼áΓα¿óáÑΓ-
  6400.         ß∩, ¬á¬   »α«µÑñπαá   »αÑαδóá¡¿∩.  ÄΓ¼ÑΓ¿¼  »«¬á,  τΓ«  »α«µÑñπαá
  6401.         interrupt ¡Ñ ¼«ªÑΓ óδºδóáΓ∞ß∩ ¿º «»ÑαáΓ«α«ó »α«µÑñπαδ, ¿ τΓ« ¬áª-
  6402.         ñá∩ »α«µÑñπαá interrupt ñ«½ª¡á «»αÑñѽ∩Γ∞ ß»¿ß«¬ »áαá¼ÑΓα«ó, ¡á»-
  6403.         α¿¼Ñα, ß½ÑñπεΘ¿¼ «íαẫ¼:
  6404.  
  6405.              procedure MyInt(Flags,  CS,  IP, AX, BX, CX, DX, SI, DI, DS,
  6406.                 ES, BP: Word);
  6407.              interrupt;
  6408.  
  6409.                    Åα¿¼Ñτá¡¿Ñ: ìÑ  ¿ß»«½∞ºπ⌐ΓÑ  ñ¿αÑ¬Γ¿óπ  interrupt  »α¿
  6410.               αáºαáí«Γ¬Ñ »α«úαá¼¼ ñ½∩ Windows - φΓ« »α¿óÑñÑΓ ¬ ßí«ε.
  6411.  
  6412.              æ»¿ß«¬ »áαá¼ÑΓα«ó  ¡Ñ «í∩ºáΓѽ∞¡« ñ«½ªÑ¡ ß«ó»áñáΓ∞ ß π¬áºá¡-
  6413.         ¡δ¼ ß¿¡Γá¬ß¿ß«¼ - «¡ ¼«ªÑΓ íδΓ∞ ¬«α«τÑ ¿ ¿ß»«½∞º«óáΓ∞ ñαπú¿Ñ ¿¼Ñ-
  6414.         ¡á, ¡« αÑú¿ßΓαδ ñ«½ª¡δ »ÑαÑñáóáΓ∞ß∩ ó π¬áºá¡¡«¼ »«α∩ñ¬Ñ.
  6415.  
  6416.                                 Ä»¿ßá¡¿Ñ forward
  6417.         ─────────────────────────────────────────────────────────────────
  6418.  
  6419.              Ä»¿ßá¡¿Ñ »α«µÑñπαδ,  ß«ñÑαªáΘÑÑ  ó¼ÑßΓ« í½«¬á «»ÑαáΓ«α«ó ñ¿-
  6420.         αÑ¬Γ¿óπ forward,  ¡áºδóáÑΓß∩ «»ÑαѪáεΘ¿¼ «»¿ß᡿Ѽ.  é ¬á¬«¼-½¿í«
  6421.         ¼ÑßΓÑ »«ß½Ñ φΓ«ú« «»¿ßá¡¿∩ ß »«¼«Θ∞ε «»αÑñѽ∩εΘÑú« «»¿ßá¡¿∩  »α«-
  6422.         µÑñπαá ñ«½ª¡á «»αÑñѽ∩Γ∞ß∩. Ä»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ - φΓ« «»¿ßá¡¿Ñ,
  6423.         ó ¬«Γ«α«¼ ¿ß»«½∞ºπÑΓß∩ Γ«Γ ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ,  ¡« «»πΘÑ¡
  6424.         ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¿ ó ¬«Γ«α«Ñ ó¬½ετÑ¡ í½«¬ «»ÑαáΓ«α«ó.
  6425.         Ä»¿ßá¡¿Ñ forward ¿ «»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ ñ«½ª¡δ »α¿ßπΓßΓó«óáΓ∞  ó
  6426.         «ñ¡«⌐ ¿ Γ«⌐ ªÑ τáßΓ¿ «»¿ßá¡¿∩ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿. îѪñπ ¡¿¼¿ ¼«-
  6427.         úπΓ «»¿ßδóáΓ∞ß∩ ñαπú¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ¬«Γ«αδÑ ¼«úπΓ  «íαá-
  6428.         ΘáΓ∞ß∩ ¬ »α«µÑñπαÑ ß «»ÑαѪáεΘ¿¼ «»¿ß᡿Ѽ. Æá¬¿¼ «íαẫ¼ ó«º¼«ª-
  6429.         ¡á óºá¿¼¡á∩ αѬπαß¿∩.
  6430.  
  6431.              Ä»ÑαѪáεΘÑÑ «»¿ßá¡¿Ñ  ¿  «»αÑñѽ∩εΘÑÑ  «»¿ßá¡¿Ñ »αÑñßΓáó½∩εΓ
  6432.         ß«í«⌐ »«½¡«Ñ «»¿ßá¡¿Ñ »α«µÑñπαδ.  Åα«µÑñπαá ßτ¿ΓáÑΓß∩ «»¿ßá¡¡«⌐ ß
  6433.         »«¼«Θ∞ε «»ÑαѪáεΘÑú« «»¿ßá¡¿∩.
  6434.  
  6435.                    Åα¿¼Ñτá¡¿Ñ: é  ¿¡ΓÑαΣÑ⌐ß¡«⌐  τáßΓ¿   ¼«ñπ½∩   «»¿ßá¡¿∩
  6436.               forward ¡Ñ ñ«»π߬áεΓß∩.
  6437.  
  6438.              Åα¿óÑñѼ ß½ÑñπεΘ¿⌐ »α¿¼Ñα «»ÑαѪáεΘÑú« «»¿ßá¡¿∩:
  6439.  
  6440.              procedure Walter(m,n : integer); forward;
  6441.  
  6442.              procedure Clara(x,y : real);
  6443.              begin
  6444.               .
  6445.               .
  6446.               .
  6447.              end;
  6448.  
  6449.          B.Pascal 7 & Objects/LR     - 144 -
  6450.  
  6451.  
  6452.              procedure Walter;
  6453.              begin
  6454.               .
  6455.               .
  6456.               Clara(8.3, 2.4);
  6457.               .
  6458.               .
  6459.              end;
  6460.  
  6461.              Ä»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ  »α«µÑñπαδ ¼«ªÑΓ íδΓ∞ ó¡ÑΦ¡¿¼ «»¿ßá¡¿-
  6462.         Ñ¼.  Äñ¡á¬«,  «¡« ¡Ñ ¼«ªÑΓ íδΓ∞ ó¡πΓαÑ¡¡¿¼ «»¿ß᡿Ѽ  ¿½¿  ñαπú¿¼
  6463.         «»ÑαѪáεΘ¿¼  «»¿ß᡿Ѽ.  Ä»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ ΓᬪѠ¡Ñ ¼«ªÑΓ ß«-
  6464.         ñÑαªáΓ∞ ñ¿αÑ¬Γ¿óπ  interrupt,  «»¿ßá¡¿∩  assembler,  near,   far,
  6465.         export, inline ¿½¿ ñαπú«Ñ «»¿ßá¡¿Ñ forward.
  6466.  
  6467.  
  6468.  
  6469.          B.Pascal 7 & Objects/LR     - 145 -
  6470.  
  6471.                                 Ä»¿ßá¡¿∩ external
  6472.         ─────────────────────────────────────────────────────────────────
  6473.  
  6474.              Ä»¿ßá¡¿∩ external »«ºó«½∩εΓ ßó∩ºδóáΓ∞  «Γñѽ∞¡«  ß¬«¼»¿½¿α«-
  6475.         óá¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ¡á»¿ßá¡¡δÑ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá. Ä»¿-
  6476.         ßá¡¿∩ external »«ºó«½∩εΓ ΓᬪѠ¿¼»«αΓ¿α«óáΓ∞ »α«µÑñπαδ ¿  Σπ¡¬µ¿¿
  6477.         ¿º DLL.
  6478.  
  6479.                    Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ   ñÑΓá½∞¡«Ñ  «»¿ßá¡¿∩  ¬«¼»«¡«ó¬¿  ß
  6480.               »α«úαá¼¼«⌐ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ß«ñÑনΓß∩ ó â½áóÑ 25.
  6481.  
  6482.          ñ¿αÑ¬Γ¿óá external
  6483.          │  ┌──────────┐
  6484.          └─>│ external ├┬───────────────────────────────────────────────>
  6485.             └──────────┘│ ┌───────────────────┐                        ^
  6486.                         └>│ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá├┬───────────────────────┘
  6487.                           └───────────────────┘│ ┌──────┐  ┌─────────┐^
  6488.                                                ├>│ name ├─>│ßΓ᫬«óá∩├┤
  6489.                                                │ └──────┘  │¬«¡ßΓá¡Γá││
  6490.                                                │           └─────────┘│
  6491.                                                │ ┌───────┐ ┌─────────┐│
  6492.                                                └>│ index ├>│  µÑ½á∩  ├┘
  6493.                                                  └───────┘ │¬«¡ßΓá¡Γá│
  6494.                                                            └─────────┘
  6495.  
  6496.              ä¿αÑ¬Γ¿óá external,  ß«ßΓ«∩Θá∩ Γ«½∞¬« ¿º  ºáαѺÑαó¿α«óá¡¡«ú«
  6497.         ß½«óá  external,  ¿ß»«½∞ºπÑΓß∩  ó  ß«τÑΓá¡¿¿  ß  ñ¿αÑ¬Γ¿óἿ  {$L
  6498.         ¿¼∩_Σá⌐½á} ñ½∩ ¬«¼»«¡«ó¬¿ ß »α«µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿,  αÑ὿º«óá¡-
  6499.         ¡δ¼¿ ó Σá⌐½áσ .OBJ.
  6500.  
  6501.              Åα¿óÑñѼ ß½ÑñπεΘ¿Ñ »α¿¼Ñαδ «»¿ßá¡¿⌐ ó¡ÑΦ¡¿σ »α«µÑñπα:
  6502.  
  6503.              procedure MoveWord(var source,dest; count: longint);
  6504.                external;
  6505.  
  6506.              procedure MoveLong(var source,dest; count: longint);
  6507.                external;
  6508.  
  6509.              procedure FillWord(var dest,data: integer; count: longint);
  6510.                external;
  6511.  
  6512.              procedure FillLong(var dest,data: integer; count: longint);
  6513.                external;
  6514.  
  6515.              {$L BLOCK.OBJ}
  6516.  
  6517.              é¡ÑΦ¡¿¼¿ »α«µÑñπαἿ ß½ÑñπÑΓ »«½∞º«óáΓ∞ß∩,  ¬«úñá óδ  σ«Γ¿ΓÑ
  6518.         «íΩÑñ¿¡¿Γ∞ í«½∞Φ«Ñ ¬«½¿τÑßΓó« «íΩÑ¬Γ¡δσ ¼«ñπ½Ñ⌐.  àß½¿ óáΦ¿ »α«ú-
  6519.         αá¼¼δ ¿¼ÑεΓ ¡Ñí«½∞Φ«⌐  «íΩѼ,  ½πτΦÑ  ó¼ÑßΓ«  φΓ«ú«  ¿ß»«½∞º«óáΓ∞
  6520.         ó¡πΓαÑ¡¡¿Ñ »α«µÑñπαδ.
  6521.  
  6522.              ä¿αÑ¬Γ¿óδ external, ß»Ñµ¿Σ¿µ¿απεΘ¿Ñ ¿¼∩ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡π-
  6523.         Ñ¼«⌐ í¿í½¿«ΓѬ¿  (¿,  ó«º¼«ª¡«,  ¿¼»«αΓ¿απѼ«Ñ ¿¼∩ ¿½¿ »«α∩ñ¬«óδ⌐
  6524.  
  6525.          B.Pascal 7 & Objects/LR     - 146 -
  6526.  
  6527.         ¡«¼Ñα ¿¼»«αΓá),  ¿ß»«½∞ºπεΓß∩ ñ½∩ ¿¼»«αΓá »α«µÑñπα ¿  Σπ¡¬µ¿⌐  ¿º
  6528.         ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδσ í¿í½¿«ΓѬ.  ìá»α¿¼Ñα, ß½ÑñπεΘá∩ ñ¿αÑ¬Γ¿óá
  6529.         external ¿¼»«αΓ¿απÑΓ ¿º DLL ß ¿¼Ñ¡Ñ¼ KERNEL (∩ñα« Windows)  Σπ¡¬-
  6530.         µ¿ε ß ¿¼Ñ¡Ñ¼ GlobalAlloc:
  6531.  
  6532.              function GlobalAlloc(Flags: Word; Bytes: Longint): THandle;
  6533.               far; external 'KERNEL' index 15;
  6534.  
  6535.              é ¿¼»«αΓ¿απѼ«⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ñ¿αÑ¬Γ¿óá external ºá-
  6536.         ¡¿¼áÑΓ ¼ÑßΓ« «»¿ßá¡¿∩ ¿ «»ÑαáΓ«α¡«⌐ τáßΓ¿. é ¿¼»«αΓ¿απѼδσ »α«µÑ-
  6537.         ñπαáσ ¿½¿ Σπ¡¬µ¿∩σ ñ«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ ñá½∞¡¿⌐ Γ¿» ó맮óá,  ºá-
  6538.         ñáóáѼδ⌐ ß  »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ far ó «»¿ßá¡¿¿ »α«µÑñπαδ ¿½¿ ñ¿αѬ-
  6539.         Γ¿óδ ¬«¼»¿½∩Γ«αá {$F+}.  é «ßΓá½∞¡«¼  ¿¼»«αΓ¿απѼδÑ  »α«µÑñπαδ  ¿
  6540.         Σπ¡¬µ¿¿ á¡á½«ú¿τ¡δ «íδτ¡δ¼ »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼.
  6541.  
  6542.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ  «í ¿¼»«αΓÑ Σπ¡¬µ¿⌐ ¿º DLL αáßß-
  6543.               ¬áºδóáÑΓß∩ ó â½áóÑ 11.
  6544.  
  6545.          B.Pascal 7 & Objects/LR     - 147 -
  6546.  
  6547.                                Ä»¿ßá¡¿∩ assembler
  6548.         ─────────────────────────────────────────────────────────────────
  6549.  
  6550.              Ä»¿ßá¡¿∩ assembler »«ºó«½∩εΓ óá¼ ¡á»¿ßáΓ∞ óßε  »α«µÑñπαπ ¿½¿
  6551.         Σπ¡¬µ¿ε ¡á áßßѼí½ÑαÑ.
  6552.  
  6553.                   Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ  »«ñα«í¡«  « »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ ¡á
  6554.              ÇßßѼí½ÑαÑ αáß߬áºδóáÑΓß∩ ó â½áóÑ 24 "éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα".
  6555.  
  6556.                    ┌─────────┐   ┌───┐   ┌──────────┐   ┌────────────┐
  6557.         í½«¬ asm ─>│assembler├──>│ ; ├──>│  αáºñѽ  ├──>│asm «»ÑαáΓ«α├─>
  6558.                    └─────────┘   └───┘   │ «»¿ßá¡¿∩ │   └────────────┘
  6559.                                          └──────────┘
  6560.  
  6561.  
  6562.                                  Ä»¿ßá¡¿∩ inline
  6563.         ─────────────────────────────────────────────────────────────────
  6564.  
  6565.              ä¿αÑ¬Γ¿óδ inline  »«ºó«½∩εΓ ºá»¿ßδóáΓ∞ ó¼ÑßΓ« í½«¬á «»ÑαáΓ«-
  6566.         α«ó ¿¡ßΓαπ¬µ¿¿ ó ¼áΦ¿¡¡«¼ ¬«ñÑ. Åα¿ ó맮óÑ «íδτ¡«⌐ »α«µÑñπαδ ¬«¼-
  6567.         »¿½∩Γ«α  ß«ºñáÑΓ ¬«ñ,  ó ¬«Γ«α«¼ »áαá¼ÑΓαδ »α«µÑñπαδ »«¼ÑΘáεΓß∩ ó
  6568.         ßΓѬ,  á ºáΓѼ ñ½∩ ó맮óá »α«µÑñπαδ úÑ¡Ñα¿απÑΓß∩ ¿¡ßΓαπ¬µ¿∩ CÇLL.
  6569.  
  6570.                              ┌─────────────────┐
  6571.          ñ¿αÑ¬Γ¿óá inline ──>│ «»ÑαáΓ«α inline ├──────────>
  6572.                              └─────────────────┘
  6573.  
  6574.              è«úñá óδ óδºδóáÑΓÑ »«ñßΓáó½∩Ѽπε »α«µÑñπαπ (inline),  ¬«¼»¿-
  6575.         ½∩Γ«α  úÑ¡Ñα¿απÑΓ ¬«ñ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ inline,  á ¡Ñ ß »«¼«Θ∞ε
  6576.         ¿¡ßΓαπ¬µ¿¿ CALL.  Æá¬¿¼ «íαẫ¼, »«ßΓáó½∩Ѽá∩ »α«µÑñπαá "αáßΦ¿α∩-
  6577.         ÑΓß∩"  »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ ¡Ñ⌐,  á¡á½«ú¿τ¡« ¼á¬α«¿¡ßΓαπ¬µ¿¿ ¡á
  6578.         ∩ºδ¬Ñ áßßѼí½Ñαá.  Åα¿óÑñѼ ñóá ¡Ñí«½∞Φ¿σ  »α¿¼Ñαá  »«ñßΓáó½∩Ѽδσ
  6579.         »α«µÑñπα:
  6580.  
  6581.              procedure DisableInterrupts: inline($FA);  { CLI }
  6582.              procedure EnableInterrupts;  inline($FB);  { STI }
  6583.  
  6584.                    Åα¿¼Ñτá¡¿Ñ: æ¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ «»ÑαáΓ«αá  inline
  6585.               «»¿ßá¡δ »«ñα«í¡« ó â½áóÑ 25.
  6586.  
  6587.  
  6588.          B.Pascal 7 & Objects/LR     - 148 -
  6589.  
  6590.                                 Ä»¿ßá¡¿∩ Σπ¡¬µ¿⌐
  6591.         ─────────────────────────────────────────────────────────────────
  6592.  
  6593.              Ä»¿ßá¡¿Ñ Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓ τáßΓ∞ »α«úαá¼¼δ,  ó ¬«Γ«α«⌐  óδ-
  6594.         τ¿ß½∩εΓß∩ ¿ ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ.
  6595.  
  6596.                        ┌─────────┐   ┌───┐   ┌───────┐   ┌───┐
  6597.          «»¿ßá¡¿Ñ  ───>│ºáú«½«ó«¬├──>│ ; ├──>│ Γѽ«  ├──>│ ; ├──>
  6598.          Σπ¡¬µ¿¿       │ Σπ¡¬µ¿¿ │   └───┘   │Σπ¡¬µ¿¿│   └───┘
  6599.                        └─────────┘           └───────┘
  6600.  
  6601.                        ┌────────┐  ┌─────────────┐
  6602.          ºáú«½«ó«¬ ───>│function├┬>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──┬───────────────────┐
  6603.          Σπ¡¬µ¿¿       └────────┘│ └─────────────┘^ │  ┌──────────┐  ^  │
  6604.                                  │ ┌─────────────┐│ │  │ß»¿ß«¬    │  │  │
  6605.                                  └>│ πΓ«τ¡Ñ¡¡δ⌐  ├┘ └─>│Σ«α¼á½∞¡δσ├──┘  │
  6606.                                    │¿ñÑ¡Γ¿Σ¿¬áΓ«α│     │»áαá¼ÑΓα«ó│     │
  6607.                                    │  ¼ÑΓ«ñá     │     └──────────┘     │
  6608.                                    └─────────────┘┌─────────────────────┘
  6609.                                                   │  ┌───┐   ┌────────┐
  6610.                                                   └─>│ : ├──>│Γ¿» αÑ- ├──>
  6611.                                                      └───┘   │ºπ½∞ΓáΓá│
  6612.                                                              └────────┘
  6613.                               ┌─────────────┐
  6614.          Γ¿» αѺπ½∞ΓáΓá ──┬──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─────────>
  6615.                           │   │    Γ¿»á     │     ^
  6616.                           │   └─────────────┘     │
  6617.                           │      ┌──────┐         │
  6618.                           └─────>│string├─────────┘
  6619.                                  └──────┘
  6620.  
  6621.                    Åα¿¼Ñτá¡¿Ñ: öπ¡¬µ¿∩  ¡Ñ  ¼«ªÑΓ  ó«ºóαáΘáΓ∞ »α«µÑñπα¡δ⌐
  6622.               Γ¿» ¿½¿ ßΓαπ¬Γπα¡δ⌐ Γ¿».
  6623.  
  6624.              é ºáú«½«ó¬Ñ Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿, Σ«α-
  6625.         ¼á½∞¡δÑ »áαá¼ÑΓαδ (Ñß½¿ «¡¿ ¿¼ÑεΓß∩) ¿ Γ¿» αѺπ½∞ΓáΓá Σπ¡¬µ¿¿.
  6626.  
  6627.              öπ¡¬µ¿∩ á¬Γ¿ó¿º¿απÑΓß∩ »α¿ ó맮óÑ Σπ¡¬µ¿¿.  Åα¿ ó맮óÑ Σπ¡¬-
  6628.         µ¿¿ π¬áºδóáÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ ¿ ¬á¬¿Ñ-½¿í« »áαá¼ÑΓαδ, ¡Ñ-
  6629.         «íσ«ñ¿¼δÑ ñ½∩ óδτ¿ß½Ñ¡¿∩ Σπ¡¬µ¿¿.  é맮ó Σπ¡¬µ¿¿ ¼«ªÑΓ ó¬½ετáΓ∞ß∩
  6630.         ó  óδαáªÑ¡¿∩  ó  ¬áτÑßΓóÑ «»Ñαá¡ñá.  è«úñá óδαáªÑ¡¿Ñ óδτ¿ß½∩ÑΓß∩,
  6631.         Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓß∩ ¿  º¡áτÑ¡¿Ñ¼  «»Ñαá¡ñá  ßΓá¡«ó¿Γß∩  º¡áτÑ¡¿Ñ,
  6632.         ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐.
  6633.  
  6634.              é «»ÑαáΓ«α¡«⌐ τáßΓ¿ í½«¬á Σπ¡¬µ¿¿ ºáñáεΓß∩ «»ÑαáΓ«αδ,  ¬«Γ«-
  6635.         αδÑ ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩ »α¿ á¬Γ¿ó¿ºáµ¿¿ Σπ¡¬µ¿¿.  é ¼«ñπ½Ñ  ñ«½ªÑ¡
  6636.         ß«ñÑαªáΓ∞ß∩ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ «»ÑαáΓ«α »α¿ßóá¿óá¡¿∩, ó ¬«Γ«α«¼
  6637.         ¿ñÑ¡Γ¿Σ¿¬áΓ«απ Σπ¡¬µ¿¿ »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ.  ÉѺπ½∞ΓáΓ«¼ Σπ¡¬-
  6638.         µ¿¿ ∩ó½∩ÑΓß∩ »«ß½Ññ¡ÑÑ »α¿ßó«Ñ¡¡«Ñ º¡áτÑ¡¿Ñ.  àß½¿ Γᬫ⌐ «»ÑαáΓ«α
  6639.         »α¿ßóá¿óá¡¿∩ «ΓßπΓßΓóπÑΓ ¿½¿ «¡ ¡Ñ  íδ½  óδ»«½¡Ñ¡,  Γ«  º¡áτÑ¡¿Ñ,
  6640.         ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐, ¡Ñ «»αÑñѽѡ«.
  6641.  
  6642.              àß½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ ¿ß»«½∞ºπÑΓß∩ »α¿  ó맮óÑ  Σπ¡¬µ¿¿
  6643.  
  6644.          B.Pascal 7 & Objects/LR     - 149 -
  6645.  
  6646.         ó¡πΓα¿ ¼«ñπ½∩-Σπ¡¬µ¿¿, Γ« Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓß∩ αѬπαß¿ó¡«.
  6647.  
  6648.              Åα¿óÑñѼ ñá½ÑÑ »α¿¼Ñαδ «»¿ßá¡¿⌐ Σπ¡¬µ¿¿:
  6649.  
  6650.              function Max(a: Vector; n: integer): extended;
  6651.              var
  6652.               x: extended;
  6653.               i: integer;
  6654.              begin
  6655.                x := a(1);
  6656.                for i := 2 to n do if x < a[i] then x := a[i];
  6657.                Max := x;
  6658.              end;
  6659.  
  6660.              function Power(x: extended; y: integer): extended;
  6661.              var
  6662.                z: extended;
  6663.                i: integer;
  6664.              begin
  6665.                z := 1.0; i := y;
  6666.                while i > 0 do
  6667.              begin
  6668.                if Odd(i) then z := z*x;
  6669.                x := Sqr(x);
  6670.              end;
  6671.              Power := z;
  6672.              end;
  6673.  
  6674.              Ç¡á½«ú¿τ¡« »α«µÑñπαá¼ Σπ¡¬µ¿¿ ¼«úπΓ «»¿ßδóáΓ∞ß∩, ¬á¬ ß í½¿ª-
  6675.         ¡¿¼ Γ¿»«¼ ó맮óá (near),  ß ñá½∞¡¿¼ Γ¿»«¼ ó맮óá (far), «»ÑαѪáε-
  6676.         Θ¿Ñ (forward),  ó¡ÑΦ¡¿Ñ (external),  áßßѼí½Ñα¡δÑ (assembler) ¿½¿
  6677.         »«ñßΓáó½∩ѼδÑ (inline).  Äñ¡á¬« Σπ¡¬µ¿¿ »αÑαδóá¡¿⌐ (interrupt) ¡Ñ
  6678.         ñ«»π߬áεΓß∩.
  6679.  
  6680.  
  6681.  
  6682.          B.Pascal 7 & Objects/LR     - 150 -
  6683.  
  6684.                                 Ä»¿ßá¡¿∩ ¼ÑΓ«ñ«ó
  6685.         ─────────────────────────────────────────────────────────────────
  6686.  
  6687.              Ä»¿ßá¡¿Ñ ¼ÑΓ«ñá ó¡πΓα¿ «íΩÑ¬Γ¡«ú« Γ¿»á ß««ΓóÑΓßΓóπÑΓ  «»ÑαÑ-
  6688.         ªáεΘÑ¼π  «»¿ßá¡¿ε  (forward) φΓ«ú« ¼ÑΓ«ñá.  Æá¬¿¼ «íαẫ¼,  ¼ÑΓ«ñ
  6689.         ñ«½ªÑ¡ íδΓ∞ αÑ὿º«óá¡ úñÑ-¡¿íπñ∞ »«ß½Ñ «»¿ßá¡¿∩ «íΩÑ¬Γ¡«ú«  Γ¿»á
  6690.         ¿ ó¡πΓα¿ Γ«⌐ ªÑ ßἫ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ ¼ÑΓ«ñá »πΓѼ «»αÑñѽ∩εΘÑú«
  6691.         «»¿ßá¡¿∩.
  6692.  
  6693.              ä½∩ »α«µÑñπα¡δσ ¿ Σπ¡¬µ¿«¡á½∞¡δσ ¼ÑΓ«ñ«ó «»αÑñѽ∩εΘÑÑ «»¿ßá-
  6694.         ¡¿∩  ¿¼ÑÑΓ Σ«α¼π «íδτ¡«ú« «»¿ßá¡¿∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,  ºá ΓѼ
  6695.         ¿ß¬½ετÑ¡¿Ñ¼,  τΓ« ó φΓ«¼ ß½πτáÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ ¿½¿ Σπ¡¬-
  6696.         µ¿¿ αáßß¼áΓα¿óáÑΓß∩ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá.
  6697.  
  6698.              ä½∩ ¼ÑΓ«ñ«ó ¬«¡ßΓαπ¬Γ«α«ó ¿ ñÑßΓαπ¬Γ«α«ó «»αÑñѽ∩εΘÑÑ «»¿ßá-
  6699.         ¡¿⌐ »α¿¡¿¼áÑΓ Σ«α¼π «»¿ßá¡¿∩ »α«µÑñπα¡«ú« ¼ÑΓ«ñá, ºá ΓѼ ¿ß¬½ετÑ-
  6700.         ¡¿Ñ¼,  τΓ«  ºáαѺÑαó¿α«óá¡¡«Ñ ß½«ó« procedure ºá¼Ñ¡∩ÑΓß∩ ¡á ºáαÑ-
  6701.         ºÑαó¿α«óá¡¡«Ñ ß½«ó« constructor ¿½¿ destructor. Ä»αÑñѽ∩εΘÑÑ «»¿-
  6702.         ßá¡¿Ñ  ¼ÑΓ«ñá ¼«ªÑΓ »«óΓ«α∩Γ∞ (¡« ¡Ñ «í∩ºáΓѽ∞¡«) ß»¿ß«¬ Σ«α¼á½∞-
  6703.         ¡δσ »áαá¼ÑΓα«ó ºáú«½«ó¬á ¼ÑΓ«ñá ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ.  é φΓ«¼  ß½πτáÑ
  6704.         ºáú«½«ó«¬  ¼ÑΓ«ñá ñ«½ªÑ¡ ó Γ«τ¡«ßΓ¿ »«óΓ«α∩Γ∞ ºáú«½«ó«¬ ó «íΩѬΓ-
  6705.         ¡«¼ Γ¿»Ñ ó »«α∩ñ¬Ñ, Γ¿»áσ ¿ ¿¼Ñ¡áσ »áαá¼ÑΓα«ó ¿ ó Γ¿»Ñ ó«ºóαáΘáÑ-
  6706.         ¼«ú« Σπ¡¬µ¿Ñ⌐ αѺπ½∞ΓáΓá, Ñß½¿ ¼ÑΓ«ñ ∩ó½∩ÑΓß∩ Σπ¡¬µ¿Ñ⌐.
  6707.  
  6708.              é «»αÑñѽ∩εΘѼ  «»¿ßá¡¿¿  ¼ÑΓ«ñá óßÑúñá »α¿ßπΓßΓóπÑΓ ¡Ñ∩ó¡δ⌐
  6709.         »áαá¼ÑΓα ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Self,  ß««ΓóÑΓßΓóπεΘ¿⌐ Σ«α¼á½∞¡«¼π »á-
  6710.         αá¼ÑΓαπ-»ÑαѼѡ¡«⌐, «í½áñáεΘѼπ «íΩÑ¬Γ¡δ¼ Γ¿»«¼. é¡πΓα¿ í½«¬á ¼Ñ-
  6711.         Γ«ñá Self »αÑñßΓáó½∩ÑΓ φ¬ºÑ¼»½∩α,  ¬«¼»«¡Ñ¡Γ ¼ÑΓ«ñá ¬«Γ«α«ú«  íδ½
  6712.         π¬áºá¡  ñ½∩  á¬Γ¿ó¿ºáµ¿¿ ¼ÑΓ«ñá.  Æá¬¿¼ «íαẫ¼,  ½εíδÑ ¿º¼Ñ¡Ñ¡¿∩
  6713.         º¡áτÑ¡¿⌐ »«½Ñ⌐ Self «ΓαáªáεΓß∩ ¡á φ¬ºÑ¼»½∩αÑ.
  6714.  
  6715.              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¬«¼»«¡Ñ¡Γá  «íΩÑ¬Γ¡«ú«  Γ¿»á
  6716.         αáß»α«ßΓαá¡∩ÑΓß∩  ¡á  í½«¬¿  »α«µÑñπα,  Σπ¡¬µ¿⌐,  ¬«¡ßΓαπ¬Γ«α«ó ¿
  6717.         ñÑßΓαπ¬Γ«αá,  ¬«Γ«αδÑ αÑ὿ºπεΓ ¼ÑΓ«ñδ ñá¡¡«ú«  «íΩÑ¬Γ¡«ú«  Γ¿»á.
  6718.         ¥ΣΣÑ¬Γ  »«½πτáÑΓß∩ Γ«Γ ªÑ,  ¬á¬ Ñß½¿ íδ ó ¡áτὫ í½«¬á ¼ÑΓ«ñá íδ½
  6719.         óßΓáó½Ñ¡ «»ÑαáΓ«α with ó ß½ÑñπεΘÑ⌐ Σ«α¼Ñ:
  6720.  
  6721.              with Self do
  6722.              begin
  6723.               ...
  6724.              end;
  6725.  
  6726.              êßσ«ñ∩ ¿º φΓ¿σ ß««íαáªÑ¡¿⌐, ¡á»¿ßá¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ¬«¼»«-
  6727.         ¡Ñ¡Γ«ó, Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¼ÑΓ«ñá, Self ¿ ½εí«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«-
  6728.         αá,  óóÑñÑ¡¡«ú« ó ¿ß»«½¡∩Ѽπε τáßΓ∞ ¼ÑΓ«ñá,  ñ«½ª¡« íδΓ∞ π¡¿¬á½∞-
  6729.         ¡δ¼.
  6730.  
  6731.              ì¿ªÑ »α¿ó«ñ∩Γß∩ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó αÑ὿ºáµ¿⌐ ¼ÑΓ«ñ«ó:
  6732.  
  6733.              procedure Rect.Intersect(var R: Rect);
  6734.              begin
  6735.                 if A.X < R.A.X then A.X := R.A.X;
  6736.                 if A.X < R.A.Y then A.Y := R.A.Y;
  6737.  
  6738.          B.Pascal 7 & Objects/LR     - 151 -
  6739.  
  6740.                 if B.X > R.B.X then B.X := R.B.X;
  6741.                 if B.Y < R.B.Y then B.Y := R.B.Y;
  6742.                 if (A.X >= B.X) or (A.Y >= B.Y) then Init (0, 0, 0, 0);
  6743.              end;
  6744.  
  6745.              procedure Field.Display;
  6746.              begin
  6747.                 GotoXY(X, Y);
  6748.                 Write(Name^, ' ', GetStr);
  6749.              end;
  6750.  
  6751.              function NumField.PutStr(S: string): boolean;
  6752.              var
  6753.                 E: integer;
  6754.              begin
  6755.                 Val(S, Value, E);
  6756.                 PutStr := (E = 0) and (Value >= Min) and (Value <= Max);
  6757.              end;
  6758.  
  6759.                            è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ
  6760.         ─────────────────────────────────────────────────────────────────
  6761.  
  6762.              è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ ∩ó½∩εΓß∩ ß»Ñµ¿á½¿º¿α«óá¡¡δ¼¿ Σ«α-
  6763.         ¼á¼¿ ¼ÑΓ«ñ«ó.  êß»«½∞ºπѼδÑ ó  ßó∩º¿  ß  αáßΦ¿αÑ¡¡δ¼  ß¿¡Γá¬ß¿ß«¼
  6764.         ßΓá¡ñáαΓ¡δσ  »α«µÑñπα  New ¿ Dispose,  ¬«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ
  6765.         «í½áñáεΓ ß»«ß«í¡«ßΓ∞ε αẼÑΘÑ¡¿∩ ¿ πñá½Ñ¡¿∩  ñ¿¡á¼¿τÑ߬¿σ  «íΩѬ-
  6766.         Γ«ó. èα«¼Ñ Γ«ú«, ¬«¡ßΓαπ¬Γ«αδ ¿¼ÑεΓ ó«º¼«ª¡«ßΓ∞ óδ»«½¡¿Γ∞ ΓαÑíπÑ-
  6767.         ¼πε ¿¡¿µ¿á½¿ºáµ¿ε «íΩÑ¬Γ«ó,  ß«ñÑαªáΘ¿σ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ. èᬠ¿
  6768.         óßÑ ñαπú¿Ñ ¼ÑΓ«ñδ,  ¬«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ ¼«úπΓ ¡áß½Ññ«óáΓ∞-
  6769.         ß∩,  á «íΩѬΓδ ¼«úπΓ ß«ñÑαªáΓ∞ ½εí«Ñ τ¿ß½« ¬«¡ßΓαπ¬Γ«α«ó ¿  ñÑßΓ-
  6770.         απ¬Γ«α«ó.
  6771.  
  6772.              è«¡ßΓαπ¬Γ«αδ ¿ß»«½∞ºπεΓß∩  ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ ó¡«ó∞ ß«ºñá¡¡δσ
  6773.         «íΩÑ¬Γ«ó. Äíδτ¡« ¿¡¿µ¿á½¿ºáµ¿∩ «ß¡«óδóáÑΓß∩ ¡á º¡áτÑ¡¿∩σ, »ÑαÑñá-
  6774.         óáѼδσ  ¬«¡ßΓαπ¬Γ«απ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó.  è«¡ßΓαπ¬Γ«α ¡Ñ ¼«ªÑΓ
  6775.         íδΓ∞ ó¿αΓπá½∞¡δ¼,  Γᬠ¬á¬ ¼Ñσá¡¿º¼ ñ¿ß»ÑΓτÑα¿ºáµ¿¿  ó¿αΓπá½∞¡«ú«
  6776.         ¼ÑΓ«ñá ºáó¿ß¿Γ «Γ ¬«¡ßΓαπ¬Γ«αá, ¬«Γ«αδ⌐ »Ñαóδ¼ ß«óÑαΦ¿½ ¿¡¿µ¿á½¿-
  6777.         ºáµ¿ε «íΩѬΓá.
  6778.  
  6779.                        ┌────────────┐   ┌───┐   ┌────────────┐   ┌───┐
  6780.          «»¿ßá¡¿Ñ  ───>│  ºáú«½«ó«¬ ├──>│ ; ├──>│    í½«¬    ├──>│ ; ├─>
  6781.          ¬«¡ßΓαπ¬Γ«αá  │¬«¡ßΓαπ¬Γ«αá│   └───┘   │»«ñ»α«úαá¼¼δ│   └───┘
  6782.                        └────────────┘           └────────────┘
  6783.  
  6784.                         ┌───────────┐  ┌─────────────┐
  6785.          ºáú«½«ó«¬ ────>│constructor├┬>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬────────────────>
  6786.          ¬«¡ßΓαπ¬Γ«αá   └───────────┘│ └─────────────┘^│  ┌──────────┐ ^
  6787.                                      │ ┌─────────────┐││  │  ß»¿ß«¬  │ │
  6788.                                      └>│ πΓ«τ¡Ñ¡¡δ⌐  ├┘└─>│Σ«α¼á½∞¡δσ├─┘
  6789.                                        │¿ñÑ¡Γ¿Σ¿¬áΓ«α│    │»áαá¼ÑΓα«ó│
  6790.                                        │  ¼ÑΓ«ñá     │    └──────────┘
  6791.                                        └─────────────┘
  6792.  
  6793.  
  6794.          B.Pascal 7 & Objects/LR     - 152 -
  6795.  
  6796.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¬«¡ßΓαπ¬Γ«α«ó:
  6797.  
  6798.              constructor Field.Copy(var F: Field);
  6799.              begin
  6800.                Self := F;
  6801.              end;
  6802.  
  6803.              constructor Field.Init(FX, FY, FLen: integer; FName: string);
  6804.              begin
  6805.                X := FX;
  6806.                Y := FY;
  6807.                GetMem(Name, Length (FName) + 1);
  6808.                Name^ := FName;
  6809.              end;
  6810.  
  6811.              constructor TStrField.Init(FX, FY, FLen: integer; FName:
  6812.                                        string);
  6813.              begin
  6814.                inherited Init(FX, FY, FLen, FName);
  6815.                Field.Init(FX, FY, FLen, FName);
  6816.                GetMem(Value, Len);
  6817.                Value^ := '';
  6818.              end;
  6819.  
  6820.              â½áó¡δ¼ ñÑ⌐ßΓó¿Ñ¼  ¬«¡ßΓαπ¬Γ«αá »«α«ªñÑ¡¡«ú« (ñ«τÑα¡Ñú«) Γ¿-
  6821.         »á, Γᬫú« ¬á¬ π¬áºá¡¡δ⌐ óδΦÑ TStrField.Init,  »«τΓ¿ óßÑúñá ∩ó½∩-
  6822.         ÑΓß∩ ó맮ó ß««ΓóÑΓßΓóπεΘÑú«  ¬«¡ßΓαπ¬Γ«αá  Ñú«  ¡Ñ»«ßαÑñßΓóÑ¡¡«ú«
  6823.         α«ñ¿Γѽ∩  ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ ¡áß½ÑñπѼδσ »«½Ñ⌐ «íΩѬΓá.  Å«ß½Ñ óδ-
  6824.         »«½¡Ñ¡¿∩ φΓ«⌐ »α«µÑñπαδ, ¬«¡ßΓαπ¬Γ«α ¿¡¿µ¿á½¿º¿απÑΓ »«½∩ «íΩѬΓá,
  6825.         ¬«Γ«αδÑ »α¿¡áñ½ÑªáΓ Γ«½∞¬« »«α«ªñÑ¡¡«¼π Γ¿»π.
  6826.  
  6827.              äÑßΓαπ¬Γ«αδ ("ßí«αΘ¿¬¿ ¼πß«αá") ∩ó½∩εΓß∩ »α«Γ¿ó«»«½«ª¡«ßΓ∩¼¿
  6828.         ¬«¡ßΓαπ¬Γ«α«ó ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ «τ¿ßΓ¬¿ «íΩÑ¬Γ«ó  »«ß½Ñ  ¿σ  ¿ß-
  6829.         »«½∞º«óá¡¿∩. Äíδτ¡« «τ¿ßΓ¬á ß«ßΓ«¿Γ ¿º πñá½Ñ¡¿∩ óßÑσ »«½Ñ⌐-π¬áºá-
  6830.         ΓѽÑ⌐ ó «íΩѬΓÑ.
  6831.  
  6832.                     Åα¿¼Ñτá¡¿Ñ: äÑßΓαπ¬Γ«α ¼«ªÑΓ íδΓ∞ ó¿αΓπá½∞¡δ¼ ¿ τáßΓ«
  6833.               ∩ó½∩ÑΓß∩ Γᬫóδ¼. äÑßΓαπ¬Γ«α αÑñ¬« ¿¼ÑÑΓ »áαá¼ÑΓαδ.
  6834.  
  6835.              Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ñÑßΓαπ¬Γ«α«ó:
  6836.  
  6837.              destructor Field.Done;
  6838.              begin
  6839.                FreeMem(Name, Length (Name^) + 1);
  6840.              end;
  6841.  
  6842.              destructor StrField.Done;
  6843.              begin
  6844.                FreeMem(Value, Len);
  6845.                Field.Done;
  6846.              end;
  6847.  
  6848.              äÑßΓαπ¬Γ«α ñ«τÑα¡Ñú«  Γ¿»á,   Γᬫ⌐   ¬á¬   π¬áºá¡¡δ⌐   óδΦÑ
  6849.  
  6850.          B.Pascal 7 & Objects/LR     - 153 -
  6851.  
  6852.         TStrField.Done, «íδτ¡«  ß¡áτá½á  πñá½∩ÑΓ  óóÑñÑ¡¡δÑ ó »«α«ªñÑ¡¡«¼
  6853.         Γ¿»Ñ »«½∩ π¬áºáΓѽÑ⌐,  á ºáΓѼ ó ¬áτÑßΓóÑ »«ß½Ññ¡Ñú« ñÑ⌐ßΓó¿∩ óδ-
  6854.         ºδóáÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ ßí«αΘ¿¬ ñÑßΓαπ¬Γ«α ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« α«ñ¿-
  6855.         Γѽ∩ ñ½∩ πñá½Ñ¡¿∩ π¡áß½Ññ«óá¡¡δσ »«½Ñ⌐-π¬áºáΓѽÑ⌐ «íΩѬΓá.
  6856.  
  6857.  
  6858.  
  6859.          B.Pascal 7 & Objects/LR     - 154 -
  6860.  
  6861.                        é«ßßΓá¡«ó½Ñ¡¿Ñ «Φ¿í«¬ ¬«¡ßΓαπ¬Γ«αá
  6862.         ─────────────────────────────────────────────────────────────────
  6863.  
  6864.              Borland Pascal  »«ºó«½∩ÑΓ óá¼ ß »«¼«Θ∞ε »ÑαѼѡ¡«⌐ HeapError
  6865.         ¼«ñπ½∩ System (ß¼.  â½áóπ 21) πßΓá¡«ó¿Γ∞ Σπ¡¬µ¿ε «íαáí«Γ¬¿ «Φ¿í¬¿
  6866.         ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.  ¥Γá  Σπ¡¬µ¿«¡á½∞¡á∩  ó«º¼«ª-
  6867.         ¡«ßΓ∞ ó½¿∩ÑΓ ¡á ß»«ß«í αáí«Γδ ¬«¡ßΓαπ¬Γ«α«ó «íΩÑ¬Γ¡«ú« Γ¿»á.
  6868.  
  6869.              Å« π¼«½τá¡¿ε,  ¬«úñá ñ½∩ ñ¿¡á¼¿τÑ߬«ú« φ¬ºÑ¼»½∩αá «íΩѬΓá ¡Ñ
  6870.         σóáΓáÑΓ »á¼∩Γ¿, óδº«ó ¬«¡ßΓαπ¬Γ«αá, ¿ß»«½∞ºπεΘ¿⌐ αáßΦ¿αÑ¡¡δ⌐ ß¿¡-
  6871.         Γá¬ß¿ß ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ New,  úÑ¡Ñα¿απÑΓ «Φ¿í¬π φΓá»á óδ»«½-
  6872.         ¡Ñ¡¿∩ 203. àß½¿ óδ πßΓᡫ󿽿 Σπ¡¬µ¿ε «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑß-
  6873.         ¬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, ¬«Γ«αá∩ ó¼ÑßΓ« ßΓá¡ñáαΓ¡«ú« αѺπ½∞ΓáΓá
  6874.         Σπ¡¬µ¿¿ 0 ó«ºóαáΘáÑΓ 1,  ¬«úñá óδ»«½¡¿Γ∞ ºá»α«ß ¡Ñ󫺼«ª¡«, ó맮ó
  6875.         ¬«¡ßΓαπ¬Γ«αá τÑαѺ New ó«ºóαáΘáÑΓ nil (ó¼ÑßΓ« »αÑαδóá¡¿∩ »α«úαá¼-
  6876.         ¼δ).
  6877.  
  6878.              è«ñ, óδ»«½¡∩εΘ¿⌐  αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ¿ ¿¡¿µ¿á½¿ºáµ¿ε  »«½∩
  6879.         Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó (VMT) ñ¿¡á¼¿τÑ߬«ú« φ¬ºÑ¼»½∩αá «íΩѬ-
  6880.         Γá ∩ó½∩ÑΓß∩ τáßΓ∞ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ó맮óá ¬«¡ßΓαπ¬Γ«αá.  è«úñá
  6881.         π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¡á «»ÑαáΓ«α begin «»ÑαáΓ«α¡«⌐  τáßΓ¿  ¬«¡ß-
  6882.         Γαπ¬Γ«αá, »á¼∩Γ∞ ñ½∩ φ¬ºÑ¼»½∩αá πªÑ óδñѽѡá,  ¿ «¡ ¿¡¿µ¿á½¿º¿α«-
  6883.         óá¡. àß½¿ óδñѽѡ¿∩ »á¼∩Γ¿ ºáóÑαΦáÑΓß∩ ¡Ñπñáτ¡«,  ¿ Ñß½¿  Σπ¡¬µ¿∩
  6884.         «íαáí«Γ¬¿ «Φ¿í¬¿  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ ó«ºó-
  6885.         αáΘáÑΓ 1,  ¬«¡ßΓαπ¬Γ«α »α«»π߬áÑΓ óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«α¡«⌐ τáßΓ¿  ¿
  6886.         ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ nil. Æá¬¿¼ «íαẫ¼, π¬áºáΓѽ∞, ºáñá¡¡δ⌐ ó óδ-
  6887.         »«½¡∩Ѽ«¼ ¬«¡ßΓαπ¬Γ«α«¼ ó맮óÑ New, πßΓá¡áó½¿óáÑΓß∩ ó nil.
  6888.  
  6889.              è«úñá π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¡á  «»ÑαáΓ«α  begin  «»ÑαáΓ«α¡«⌐
  6890.         τáßΓ¿ ¬«¡ßΓαπ¬Γ«αá, ñ½∩ φ¬ºÑ¼»½∩αá «íΩÑ¬Γ¡«ú« Γ¿»á «íÑß»Ñτ¿óáÑΓß∩
  6891.         πß»ÑΦ¡«Ñ óδ»«½¡Ñ¡¿Ñ »á¼∩Γ¿ ¿ ¿¡¿µ¿á½¿ºáµ¿∩. æá¼ ¬«¡ßΓαπ¬Γ«α ¼«ªÑΓ
  6892.         »«»δΓáΓ∞ß∩ αáß»αÑñѽ¿Γ∞ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿
  6893.         »«½Ñ⌐-π¬áºáΓѽÑ⌐ ó φ¬ºÑ¼»½∩αÑ,  «ñ¡á¬«, ΓᬫѠαáß»αÑñѽѡ¿Ñ ¼«ªÑΓ
  6894.         ºáóÑαΦ¿Γ∞ß∩ ¡Ñπñáτ¡«.  àß½¿ φΓ« »α«¿ßσ«ñ¿Γ, »αáó¿½∞¡« »«ßΓα«Ñ¡¡δ⌐
  6895.         ¬«¡ßΓαπ¬Γ«α  ñ«½ªÑ¡ «Γ¼Ñ¡∩Γ∞ óßÑ πß»ÑΦ¡δÑ αáß»αÑñѽѡ¿∩ ¿,  ¡á¬«-
  6896.         ¡Ñµ,  «ßó«í«ªñáΓ∞ óδñѽѡ¡πε ñ½∩ φ¬ºÑ¼»½∩αá «íΩѬΓá  »á¼∩Γ∞,  Γá¬
  6897.         τΓ«  αѺπ½∞ΓáΓ«¼ ¼«ªÑΓ ßΓáΓ∞ π¬áºáΓѽ∞ nil.  ä½∩ óδ»«½¡Ñ¡¿∩ Γᬫ⌐
  6898.         "«Γ¼Ñ¡δ" Borland Pascal αÑ὿ºπÑΓ ßΓá¡ñáαΓ¡πε »α«µÑñπαπ Fail, ¬«-
  6899.         Γ«αá∩  ¡Ñ  ΓαÑíπÑΓ  »áαá¼ÑΓα«ó ¿ ¼«ªÑΓ óδºδóáΓ∞ß∩ Γ«½∞¬« ¿º ¬«¡ß-
  6900.         Γαπ¬Γ«αá. é맮ó Fail »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« ¬«¡ßΓαπ¬Γ«α íπñÑΓ «ßó«-
  6901.         í«ªñáΓ∞  óδñѽѡ¡πε ñ½∩ ñ¿¡á¼¿τÑ߬«ú« φ¬ºÑ¼»½∩αá »á¼∩Γ∞,  ¬«Γ«αá∩
  6902.         íδ½á óδñѽѡᠻÑαÑñ óσ«ñ«¼ ó ¬«¡ßΓαπ¬Γ«α,  ¿ ñ½∩ π¬áºá¡¿∩ ¡Ñπñáτ¿
  6903.         ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ nil.
  6904.  
  6905.              è«úñá »á¼∩Γ∞ ñ½∩ ñ¿¡á¼¿τÑ߬¿σ φ¬ºÑ¼»½∩α«ó óδñѽ∩ÑΓß∩  ß  »«-
  6906.         ¼«Θ∞ε αáßΦ¿αÑ¡¡«ú«  ß¿¡Γá¬ß¿ßá  New,  αѺπ½∞Γ¿απεΘÑÑ º¡áτÑ¡¿Ñ nil
  6907.         ó ºáñá¡¡«¼ π¬áºáΓѽÑ-»ÑαѼѡ¡«⌐ π¬áºδóáÑΓ,  τΓ« «»Ñαᵿ∩ ºáóÑαΦ¿-
  6908.         ½áß∞ ¡Ñπñáτ¡«.  è ß«ªá½Ñ¡¿ε, ¡Ñ ßπΘÑßΓóπÑΓ Γᬫú« π¬áºáΓѽ∩-»ÑαÑ-
  6909.         ¼Ñ¡¡«⌐, ¬«Γ«απε ¼«ª¡« »α«óÑα¿Γ∞ »«ß½Ñ »«ßΓα«Ñ¡¿∩ ßΓáΓ¿τÑ߬«ú« φ¬-
  6910.         ºÑ¼»½∩αá ¿½¿  »α¿ ó맮óÑ ¡áß½ÑñπѼ«ú« ¬«¡ßΓαπ¬Γ«αá.  é¼ÑßΓ« φΓ«ú«
  6911.         Borland Pascal »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ ¬«¡ßΓαπ¬Γ«α ó ó¿ñÑ  íπ½Ñóß-
  6912.         ¬«⌐ Σπ¡¬µ¿¿ ó óδαáªÑ¡¿¿:  ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ True π¬áºδóáÑΓ ¡á
  6913.         πß»ÑΦ¡«Ñ óδ»«½¡Ñ¡¿Ñ,  á º¡áτÑ¡¿Ñ False - ¡Ñ ¡Ñπß»ÑΦ¡«Ñ óδ»«½¡Ñ¡¿Ñ
  6914.  
  6915.          B.Pascal 7 & Objects/LR     - 155 -
  6916.  
  6917.         ¿º-ºá ó맮óá ó ¬«¡ßΓαπ¬Γ«αÑ Fail.
  6918.  
  6919.              ìá ñ¿ß¬Ñ  óδ  ¼«ªÑΓÑ  ¡á⌐Γ¿  ñóÑ  »α«úαá¼¼δ - NORECVER.PAS ¿
  6920.         RECOVER.PAS. Äíá »α«úαá¼¼δ αÑ὿ºπεΓ ñóá »α«ßΓδσ «íΩÑ¬Γ¡δσ  Γ¿»á,
  6921.         ß«ñÑαªáΘ¿σ π¬áºáΓѽ¿. ÅÑαóá∩ »α«úαἼᠡѠ߫ñÑαª¿Γ ó«ßßΓá¡«ó½Ñ¡¿∩
  6922.         «Φ¿í«¬ ¬«¡ßΓαπ¬Γ«αá.
  6923.  
  6924.              Åα«úαá¼¼á RECOVER.PAS  ñѼ«¡ßΓα¿απÑΓ,  ¬á¬  ¼«ª¡« »ÑαÑ»¿ßáΓ∞
  6925.         ¿ßσ«ñ¡δ⌐ ¬«ñ ñ½∩ αÑ὿ºáµ¿¿ ó«ßßΓá¡«ó½Ñ¡¿∩ «Φ¿í¬¿.  çá¼ÑΓ¿¼,  τΓ«
  6926.         ñ½∩ «Γ¼Ñ¡δ πß»ÑΦ¡«ú« óδñѽѡ¿∩ »á¼∩Γ¿ »ÑαÑñ óδº«ó«¼ Fail ñ½∩ ¿Γ«-
  6927.         ú«ó«ú« ¡Ñπß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩ ¿ß»«½∞ºπεΓß∩ ß««ΓóÑΓßΓóπεΘ¿Ñ  ñÑßΓ-
  6928.         απ¬Γ«αδ   ó  Base.Init  ¿  Derived.Init.  çá¼ÑΓ¿¼  ΓᬪÑ,  τΓ«  ó
  6929.         Derived.Init ó맮ó Base.Init ß«ñÑনΓß∩ ó¡πΓα¿ óδαáªÑ¡¿∩, ΓᬠτΓ«
  6930.         ¼«ª¡« »α«óÑα¿Γ∞ πß»ÑΦ¡«ßΓ∞ óδ»«½¡Ñ¡¿∩ ¡áß½ÑñπѼ«ú« ¬«¡ßΓαπ¬Γ«αá.
  6931.  
  6932.  
  6933.  
  6934.          B.Pascal 7 & Objects/LR     - 156 -
  6935.  
  6936.                                     Åáαá¼ÑΓαδ
  6937.         ─────────────────────────────────────────────────────────────────
  6938.  
  6939.              é «»¿ßá¡¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ºáñáÑΓß∩  ß»¿ß«¬ Σ«α¼á½∞¡δσ
  6940.         »áαá¼ÑΓα«ó.  èáªñδ⌐ »áαá¼ÑΓα, «»¿ßá¡¡δ⌐ ó ß»¿ß¬Ñ Σ«α¼á½∞¡δσ »áαá-
  6941.         ¼ÑΓα«ó,  ∩ó½∩ÑΓß∩ ½«¬á½∞¡δ¼ »« «Γ¡«ΦÑ¡¿ε ¬ «»¿ßδóáѼ«⌐  »α«µÑñπαÑ
  6942.         ¿½¿ Σπ¡¬µ¿¿ ¿ ó ¼«ñπ½Ñ, ßó∩ºá¡¡δ¼ ß ñá¡¡«⌐ »α«µÑñπα«⌐ ¿½¿ Σπ¡¬µ¿-
  6943.         Ñ⌐ ¡á ¡Ñú« ¼«ª¡« ßßδ½áΓ∞ß∩ »« Ñú« ¿ñÑ¡Γ¿Σ¿¬áΓ«απ.
  6944.  
  6945.                                ┌───┐      ┌──────────┐      ┌───┐
  6946.          ß»¿ß«¬ Σ«α¼á½∞¡δσ ───>│ ( ├─────>│ «»¿ßá¡¿Ñ ├──┬──>│ ) ├──>
  6947.          »áαá¼ÑΓα«ó            └───┘  ^   │»áαá¼ÑΓαá │  │   └───┘
  6948.                                       │   └──────────┘  │
  6949.                                       │      ┌───┐      │
  6950.                                       └──────┤ ; │<─────┘
  6951.                                              └───┘
  6952.  
  6953.                                    ┌─────────────┐
  6954.          «»¿ßá¡¿Ñ  ──┬────────────>│ß»¿ß«¬ ¿ñÑ¡- ├┬─────────────────────>
  6955.          »áαá¼ÑΓαá   │  ┌───┐    ^ │Γ¿Σ¿¬áΓ«α«ó  ││                  ^
  6956.                      ├─>│var├────┤ └─────────────┘│ ┌───┐  ┌───────┐ │
  6957.                      │  └───┘    │                └>│ : ├─>│Γ¿» »á-├─┘
  6958.                      │  ┌─────┐  │                  └───┘  │αá¼ÑΓαá│
  6959.                      └─>│const├──┘                         └───────┘
  6960.                         └─────┘
  6961.  
  6962.              æπΘÑßΓóπÑΓ Γα¿ Γ¿»á »áαá¼ÑΓα«ó: º¡áτÑ¡¿Ñ, »ÑαѼѡ¡á∩ ¿ ¡ÑΓ¿-
  6963.         »¿º¿α«óá¡¡á∩ »ÑαѼѡ¡á∩. Ä¡¿ σáαá¬ΓÑਧπεΓß∩ ß½ÑñπεΘ¿¼:
  6964.  
  6965.              1.  âαπ»»á  »áαá¼ÑΓα«ó  íѺ  »αÑñΦÑßΓóπεΘÑú« ¬½ετÑó«ú« ß½«óá
  6966.                  ∩ó½∩ÑΓß∩ ß»¿ß¬«¼ »áαá¼ÑΓα«ó-º¡áτÑ¡¿⌐.
  6967.  
  6968.              2.  âαπ»»á »áαá¼ÑΓα«ó, »ÑαÑñ ¬«Γ«α묨 ß½ÑñπÑΓ ¬½ετÑó«Ñ ß½«ó«
  6969.                  const ¿ ºá ¬«Γ«α묨 ß½ÑñπÑΓ Γ¿»,  ∩ó½∩ÑΓß∩ ß»¿ß¬«¼ »áαá-
  6970.                  ¼ÑΓα«ó-¬«¡ßΓá¡Γ.
  6971.  
  6972.              3.  âαπ»»á »áαá¼ÑΓα«ó,  »ÑαÑñ ¬«Γ«α묨 ßΓ«¿Γ ¬½ετÑó«Ñ  ß½«ó«
  6973.                  var ¿ ºá ¬«Γ«α묨 ß½ÑñπÑΓ Γ¿»,  ∩ó½∩ÑΓß∩ ß»¿ß¬«¼ ¡ÑΓ¿»¿-
  6974.                  º¿α«óá¡¡δσ »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ.
  6975.  
  6976.              4.  âαπ»»á  »áαá¼ÑΓα«ó,  »ÑαÑñ ¬«Γ«α묨 ßΓ«¿Γ ¬½ετÑó«Ñ ß½«ó«
  6977.                  var ¿½¿ const ºá ¬«Γ«α묨 ¡Ñ ß½ÑñπÑΓ Γ¿», ∩ó½∩ÑΓß∩ ß»¿ß-
  6978.                  ¬«¼ ¡ÑΓ¿»¿º¿α«óá¡¡δσ »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ.
  6979.  
  6980.              Åáαá¼ÑΓαδ ßΓ᫬«ó«ú« Γ¿»á ¿ ¼áßß¿óδ ¼«úπΓ íδΓ∞ «Γ¬αδΓ묨 »á-
  6981.         αá¼ÑΓαἿ. Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ,  «»¿ßá¡¡δÑ ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬á-
  6982.         Γ«αá OpenString ¿½¿ ß ¿ß»«½∞º«ó᡿Ѽ  ¬½ετÑó«ú«  ß½«óá  string  ó
  6983.         ß«ßΓ«∩¡¿¿ {$P+},  ∩ó½∩εΓß∩ «Γ¬αδΓ묨 ßΓ᫬«ó묨 »áαá¼ÑΓαἿ. ç¡á-
  6984.         τÑ¡¿Ñ,  ¬«¡ßΓá¡Γá  ¿½¿  »áαá¼ÑΓα-»ÑαѼѡ¡á∩,  «»¿ßá¡¡δÑ ß »«¼«Θ∞ε
  6985.         ß¿¡Γá¬ß¿ßá array of T, ∩ó½∩εΓß∩ «Γ¬αδΓδ¼ »áαá¼ÑΓα«¼-¼áßß¿ó«¼.
  6986.  
  6987.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ «í «Γ¬αδΓδσ »áαá¼ÑΓαáσ αáß߬áºδ-
  6988.               óáÑΓß∩ ¡¿ªÑ.
  6989.  
  6990.          B.Pascal 7 & Objects/LR     - 157 -
  6991.  
  6992.  
  6993.                                Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩
  6994.         ─────────────────────────────────────────────────────────────────
  6995.  
  6996.              ö«α¼á½∞¡δ⌐ »áαá¼ÑΓα-º¡áτÑ¡¿Ñ  «íαáíáΓδóáÑΓß∩,  ¬á¬ ½«¬á½∞¡á∩
  6997.         »« «Γ¡«ΦÑ¡¿ε ¬ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ »ÑαѼѡ¡á∩,  ºá  ¿ß¬½ετÑ¡¿Ñ¼
  6998.         Γ«ú«, τΓ« «¡ »«½πτáÑΓ ßó«Ñ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ ¿º ß««ΓóÑΓßΓóπεΘÑú«
  6999.         Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá »α¿ á¬Γ¿ó¿ºáµ¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. êº-
  7000.         ¼Ñ¡Ñ¡¿∩,  ¬«Γ«αδÑ  »αÑΓÑα»ÑóáÑΓ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα-º¡áτÑ¡¿Ñ,  ¡Ñ
  7001.         ó½¿∩εΓ ¡á º¡áτÑ¡¿Ñ Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá.
  7002.  
  7003.              æ««ΓóÑΓßΓóπεΘÑÑ Σá¬Γ¿τÑ߬«Ñ    º¡áτÑ¡¿Ñ   »áαá¼ÑΓαá-º¡áτÑ¡¿∩
  7004.         ñ«½ª¡« íδΓ∞ óδαáªÑ¡¿Ñ¼ ¿ Ñú« º¡áτÑ¡¿Ñ ¡Ñ  ñ«½ª¡«  ¿¼ÑΓ∞  Σá⌐½«óδ⌐
  7005.         Γ¿»  ¿½¿  ¬á¬«⌐-½¿í« ßΓαπ¬Γπα¡δ⌐ Γ¿»,  ß«ñÑαªáΘ¿⌐ ó ßÑíÑ Σá⌐½«óδ⌐
  7006.         Γ¿».
  7007.  
  7008.              öá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ñ«½ªÑ¡ ¿¼ÑΓ∞ Γ¿»,  ß«ó¼ÑßΓ¿¼δ⌐ »« »α¿ß-
  7009.         óá¿óá¡¿ε  ß  Γ¿»«¼ Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá-º¡áτÑ¡¿∩.  àß½¿ »áαá¼ÑΓα
  7010.         ¿¼ÑÑΓ ßΓ᫬«óδ⌐ Γ¿»,  Γ« Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα íπñÑΓ ¿¼ÑΓ∞  áΓα¿íπΓ
  7011.         αẼÑαá, αáó¡δ⌐ 255.
  7012.  
  7013.  
  7014.                                Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ
  7015.         ─────────────────────────────────────────────────────────────────
  7016.  
  7017.              ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ αáí«ΓáεΓ á¡á½«ú¿τ¡« ½«¬á½∞¡«⌐
  7018.         »ÑαѼѡ¡«⌐, ñ«ßΓπ»¡«⌐ Γ«½∞¬« »«  τΓÑ¡¿ε,  ¬«Γ«αá∩  »«½πτáÑΓ  ßó«Ñ
  7019.         º¡áτÑ¡¿Ñ »α¿ á¬Γ¿ó¿ºáµ¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ «Γ ß««ΓóÑΓßΓóπεΘÑ-
  7020.         ú« Σá¬Γ¿τÑ߬«ú«  »áαá¼ÑΓαá.  Åα¿ßóá¿óá¡¿∩  Σ«α¼á½∞¡«¼π   »áαá¼ÑΓ-
  7021.         απ-¬«¡ßΓá¡ΓÑ ¡Ñ ñ«»π߬áεΓß∩.  ö«α¼á½∞¡δ⌐ »áαá¼ÑΓα-¬«¡ßΓá¡Γá ΓᬪÑ
  7022.         ¡Ñ ¼«ªÑΓ »ÑαÑñáóáΓ∞ß∩ ó ¬áτÑßΓóÑ  Σá¬Γ¿τÑ߬«ú«  »áαá¼ÑΓαá  ñαπú«⌐
  7023.         »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿.
  7024.  
  7025.              Åáαá¼ÑΓα-¬«¡ßΓá¡Γá, ß««ΓóÑΓßΓóπεΘ¿⌐ Σá¬Γ¿τÑ߬«¼π »áαá¼ÑΓαπ ó
  7026.         «»ÑαáΓ«αÑ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ñ«½ªÑ¡ »«ñτ¿¡∩Γ∞ß∩ ΓѼ ªÑ »αáó¿-
  7027.         ½á¼, τΓ« ¿ Σá¬Γ¿τÑ߬«Ñ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá.
  7028.  
  7029.              é ΓÑσ ß½πτá∩σ, ¬«úñá Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα ¡Ñ ¿º¼Ñ¡∩ÑΓ »α¿ óδ-
  7030.         »«½¡Ñ¡¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ßó«Ñú« º¡áτÑ¡¿∩,  ó¼ÑßΓ«  »áαá¼ÑΓ-
  7031.         αá-º¡áτÑ¡¿∩ ß½ÑñπÑΓ   ¿ß»«½∞º«óáΓ∞  »áαá¼ÑΓα-¬«¡ßΓá¡Γπ.  Åáαá¼ÑΓ-
  7032.         αδ-¬«¡ßΓá¡Γδ »«ºó«½∩εΓ »α¿ αÑ὿ºáµ¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ºáΘ¿-
  7033.         Γ¿Γ∞ß∩ «Γ ß½πτá⌐¡δσ »α¿ßóá¿óá¡¿⌐ Σ«α¼á½∞¡«¼π »áαá¼ÑΓαπ. èα«¼Ñ Γ«-
  7034.         ú«, ñ½∩ »áαá¼ÑΓα«ó ßΓαπ¬Γπα¡«ú« ¿ ßΓ᫬«ó«ú« Γ¿»á ¬«¼»¿½∩Γ«α  »α¿
  7035.         ¿ß»«½∞º«óá¡¿¿ ó¼ÑßΓ«  »áαá¼ÑΓα«ó-º¡áτÑ¡¿⌐ »áαá¼ÑΓα«ó-¬«¡ßΓá¡Γ ¼«-
  7036.         ªÑΓ úÑ¡Ñα¿α«óáΓ∞ í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ⌐ ¬«ñ.
  7037.  
  7038.  
  7039.                               Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ
  7040.         ─────────────────────────────────────────────────────────────────
  7041.  
  7042.              Åáαá¼ÑΓα-»ÑαѼѡ¡á∩ ¿ß»«½∞ºπÑΓß∩,  ¬«úñá º¡áτÑ¡¿Ñ ñ«½ª¡« »Ñ-
  7043.         αÑñáóáΓ∞ß∩ ¿º »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ óδºδóáεΘÑ⌐  »α«úαá¼¼Ñ.  æ««Γ-
  7044.         óÑΓßΓóπεΘ¿⌐ Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ó «»ÑαáΓ«αÑ ó맮óá »α«µÑñπαδ ¿½¿
  7045.  
  7046.          B.Pascal 7 & Objects/LR     - 158 -
  7047.  
  7048.         Σπ¡¬µ¿¿ ñ«½ªÑ¡ íδΓ∞ ßß佬«⌐ ¡á »ÑαѼѡ¡πε. Åα¿ á¬Γ¿ó¿ºáµ¿¿ »α«µÑ-
  7049.         ñπαδ ¿½¿ Σπ¡¬µ¿¿ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα-»ÑαѼѡ¡á∩ ºá¼ÑΘáÑΓß∩ Σá¬Γ¿-
  7050.         τÑ߬«⌐ »ÑαѼѡ¡«⌐,  ½εíδÑ ¿º¼Ñ¡Ñ¡¿∩ ó º¡áτÑ¡¿¿ Σ«α¼á½∞¡«ú«  »áαá-
  7051.         ¼ÑΓαá-»ÑαѼѡ¡«⌐ «ΓαáªáεΓß∩ ¡á Σá¬Γ¿τÑ߬«¼ »áαá¼ÑΓαÑ.
  7052.  
  7053.              é¡πΓα¿ »α«µÑñπαδ  ¿½¿ Σπ¡¬µ¿¿ ½εíá∩ ßßδ½¬á ¡á Σ«α¼á½∞¡δ⌐ »á-
  7054.         αá¼ÑΓα-»ÑαѼѡ¡πε »α¿ó«ñ¿Γ ¬ ñ«ßΓπ»π ¬ ßἫ¼π Σá¬Γ¿τÑ߬«¼π  »áαá-
  7055.         ¼ÑΓαπ. Æ¿» Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá ñ«½ªÑ¡ ß«ó»áñáΓ∞ ß  Γ¿»«¼  Σ«α-
  7056.         ¼á½∞¡«ú« »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐ (óδ ¼«ªÑΓÑ «í«⌐Γ¿ φΓ« «úαá¡¿τÑ¡¿Ñ ß
  7057.         »«¼«Θ∞ε ¡ÑΓ¿»¿º¿α«óá¡¡«ú« »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐).
  7058.  
  7059.                    Åα¿¼Ñτá¡¿Ñ: öá⌐½«óδ⌐ Γ¿»  ¼«ªÑΓ  »ÑαÑñáóáΓ∞ß∩  Γ«½∞¬«,
  7060.               ¬á¬ »áαá¼ÑΓα-»ÑαѼѡ¡á∩.
  7061.  
  7062.              ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá  $P  π»αáó½∩ÑΓ ß¼δß½«¼ »áαá¼ÑΓαá-»ÑαÑ-
  7063.         ¼Ñ¡¡«⌐, «»¿ßδóáѼ«ú« ß ¬½ετÑóδ¼ ß½«ó«¼  string.  é  ß«ßΓ«∩¡¿¿  »«
  7064.         π¼«½τá¡¿ε ({$P-})  string ß««ΓóÑΓßΓóπÑΓ ßΓ᫬«ó«¼π Γ¿»π ß áΓα¿íπ-
  7065.         Γ«¼ αẼÑαá 255. é ß«ßΓ«∩¡¿¿ {$P+} string π¬áºδóáÑΓ, τΓ« »áαá¼ÑΓα
  7066.         ∩ó½∩ÑΓß∩ «Γ¬αδΓδ¼ ßΓ᫬«óδ¼ »áαá¼ÑΓα«¼ (ß¼. ¡¿ªÑ).
  7067.  
  7068.              Åα¿ ßßδ½¬Ñ  ¡á Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα-»ÑαѼѡ¡πε,  ßó∩ºá¡¡πε ß
  7069.         ¿¡ñѬ߿α«ó᡿Ѽ ¼áßß¿óá ¿½¿ »«½πτÑ¡¿Ñ¼ π¬áºáΓѽ∩ ¡á  «íΩѬΓ,  φΓ¿
  7070.         ñÑ⌐ßΓó¿∩ óδ»«½¡∩εΓß∩ »ÑαÑñ á¬Γ¿ó¿ºáµ¿Ñ⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
  7071.  
  7072.              Åαáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε  ñ½∩  «íΩÑ¬Γ¡«ú«  Γ¿»á
  7073.         »α¿¼Ñ¡∩εΓß∩ ΓᬪѠ ¬  »áαá¼ÑΓαá¼-»ÑαѼѡ¡δ¼ «íΩÑ¬Γ¡«ú« Γ¿»á.  ä½∩
  7074.         Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá Γ¿»á T1 Σá¬Γ¿τÑ߬¿⌐  »áαá¼ÑΓα  ñ«½ªÑ¡  íδΓ∞
  7075.         Γ¿»á T2,  Ñß½¿ T2 ¡áσ«ñ¿Γß∩ ó ñ«¼Ñ¡Ñ T1.  ìá»α¿¼Ñα, ß πτÑΓ«¼ «»¿-
  7076.         ßá¡¿⌐ â½áóδ 4,  ¼ÑΓ«ñπ TField.Copy ¼«ªÑΓ  »ÑαÑñáóáΓ∞ß∩  φ¬ºÑ¼»½∩α
  7077.         TField, TStrField,  TNumField, TZipField ¿½¿ ½εí«⌐ ñαπú«⌐ φ¬ºÑ¼»-
  7078.         ½∩α »«Γ«¼¬á TField.
  7079.  
  7080.  
  7081.                            ìÑΓ¿»¿º¿α«óá¡¡δÑ »áαá¼ÑΓαδ
  7082.         ─────────────────────────────────────────────────────────────────
  7083.  
  7084.              è«úñá Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼ »áαá¼ÑΓ-
  7085.         α«¼-»ÑαѼѡ¡«⌐, Γ«  ß««ΓóÑΓßΓóπεΘ¿⌐  Σá¬Γ¿τÑ߬¿⌐  »áαá¼ÑΓα  ¼«ªÑΓ
  7086.         »αÑñßΓáó½∩Γ∞ ß«í«⌐ ½εíπε ßß佬π ¡á »ÑαѼѡ¡πε ¿½¿ ¬«¡ßΓá¡Γπ,  ¡Ñ-
  7087.         ºáó¿ß¿¼« «Γ ÑÑ Γ¿»á.  ìÑΓ¿»¿º¿α«óá¡¡δ⌐ »áαá¼ÑΓα, «»¿ßá¡¡δ⌐ ß ¬½ε-
  7088.         τÑóδ¼ ß½«ó«¼ var,  ¼«ªÑΓ ¼«ñ¿Σ¿µ¿α«óáΓ∞ß∩, á ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ »á-
  7089.         αá¼ÑΓα,  «»¿ßá¡¡δ⌐  ß  ¬½ετÑóδ¼ ß½«ó«¼ const,  ñ«ßΓπ»Ñ¡ Γ«½∞¬« »«
  7090.         τΓÑ¡¿ε.
  7091.  
  7092.              é »α«µÑñπαÑ  ¿½¿ Σπ¡¬µ¿¿ π ¡ÑΓ¿»¿º¿α«óá¡¡«ú« »áαá¼ÑΓαá-»ÑαÑ-
  7093.         ¼Ñ¡¡«⌐ Γ¿» «ΓßπΓßΓóπÑΓ, Γ« ÑßΓ∞ «¡ ¡Ñß«ó¼ÑßΓ¿¼ ß »ÑαѼѡ¡δ¼¿ óßÑσ
  7094.         Γ¿»«ó,  »«¬á  Ñ¼π  ¡Ñ  íπñÑΓ  »α¿ßó«Ñ¡ «»αÑñѽѡ¡δ⌐ Γ¿» ß »«¼«Θ∞ε
  7095.         »α¿ßóá¿óá¡¿∩ Γ¿»á »ÑαѼѡ¡«⌐.
  7096.  
  7097.              Åα¿óÑñѼ »α¿¼Ñα ¡ÑΓ¿»¿º¿α«óá¡¡δσ »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ:
  7098.  
  7099.              function Equal(var source,dest; size: word): boolean;
  7100.              type
  7101.  
  7102.          B.Pascal 7 & Objects/LR     - 159 -
  7103.  
  7104.                Bytes = array[0..MaxInt] of byte;
  7105.              var
  7106.                N: integer;
  7107.              begin
  7108.                N := 0;
  7109.               while (N<size) and (Bytes(dest)[N] <> Bytes(source)[N]
  7110.                               do Inc(N);
  7111.                Equal := N = size;
  7112.              end;
  7113.  
  7114.              ¥Γá Σπ¡¬µ¿∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩  ßαáó¡Ñ¡¿∩  ½εíδσ  ñóπσ
  7115.         »ÑαѼѡ¡δσ ½εí«ú« αẼÑαá. ìá»α¿¼Ñα, ß »«¼«Θ∞ε «»¿ßá¡¿⌐:
  7116.  
  7117.             type
  7118.               Vector = array[1..10] of integer;
  7119.               Point = record
  7120.                         x,y: integer;
  7121.                       end;
  7122.              var
  7123.                Vec1, Vec2: Vector;
  7124.                N: integer;
  7125.                P: Point;
  7126.  
  7127.         ¿ ó맮ó«ó Σπ¡¬µ¿⌐:
  7128.  
  7129.              Equal(Vec1,Vec2,SizeOf(Vector))
  7130.              Equal(Vec1,Vec2,SizeOf(integer)*N)
  7131.              Equal(Vec[1],Vec1[6],SizeOf(integer)*5)
  7132.              Equal(Vec1[1],P,4)
  7133.  
  7134.         ßαáó¡¿óáÑΓß∩ VÑß1 ß VÑß2,  ßαáó¡¿óáεΓß∩ »ÑαóδÑ N φ½Ñ¼Ñ¡Γ«ó VÑß1 ß
  7135.         »Ñαó묨 N φ½Ñ¼Ñ¡ΓἿ VÑß2, ßαáó¡¿óáεΓß∩ »ÑαóδÑ 5 φ½Ñ¼Ñ¡Γ«ó VÑß1 ß
  7136.         »«ß½Ññ¡¿¼¿ »∩Γ∞ε φ½Ñ¼Ñ¡ΓἿ VÑß2 ¿ ßαáó¡¿óáεΓß∩ VÑß1[1] ß  É.σ  ¿
  7137.         VÑß2[2] ß P.Y.
  7138.  
  7139.              ò«Γ∩ ¡ÑΓ¿»¿º¿α«óá¡¡δÑ  »áαá¼ÑΓαδ  ñáεΓ óá¼ í«½∞Φπε ú¿í¬«ßΓ∞,
  7140.         ¿σ ¿ß»«½∞º«óá¡¿Ñ ß«»α∩ªÑ¡« ß ¡Ñ¬«Γ«αδ¼ α¿ß¬«¼.  è«¼»¿½∩Γ«α ¡Ñ ¼«-
  7141.         ªÑΓ »α«óÑα¿Γ∞  ñ«»πßΓ¿¼«ßΓ∞ «»Ñαᵿ⌐ ß ¡ÑΓ¿»¿º¿α«óá¡¡δ¼¿ »ÑαѼѡ-
  7142.         ¡δ¼¿.
  7143.  
  7144.  
  7145.  
  7146.  
  7147.          B.Pascal 7 & Objects/LR     - 160 -
  7148.  
  7149.                                ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ
  7150.         ─────────────────────────────────────────────────────────────────
  7151.  
  7152.              ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ  »«ºó«½∩εΓ »ÑαÑñáóáΓ∞ «ñ¡«⌐ ¿ Γ«⌐ ªÑ »α«-
  7153.         µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ßΓ᫬¿ ¿ ¼áßß¿óδ αẽ¿τ¡δσ αẼÑα«ó.
  7154.  
  7155.                           ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ
  7156.         ─────────────────────────────────────────────────────────────────
  7157.  
  7158.              ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ ¼«úπΓ «»¿ßδóáΓ∞ß∩ ñóπ¼∩  ß»«ß«-
  7159.         íἿ:
  7160.  
  7161.              - ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá OpenString;
  7162.              - ß »«¼«Θ∞ε ¬½ετÑó«ú« ß½«óá string ó ß«ßΓ«∩¡¿¿ {$P+}.
  7163.  
  7164.              êñÑ¡Γ¿Σ¿¬áΓ«α OpenString «»¿ßδóáÑΓß∩  ó  ¼«ñπ½Ñ  System.  Ä¡
  7165.         «í«º¡áτáÑΓ ß»Ñµ¿á½∞¡δ⌐ ßΓ᫬«óδ⌐ Γ¿», ¬«Γ«αδ⌐ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞-
  7166.         ß∩ Γ«½∞¬« ó «»¿ßá¡¿¿ ßΓ᫬«óδσ »áαá¼ÑΓα«ó.  é µÑ½∩σ «íαáΓ¡«⌐ ß«ó-
  7167.         ¼ÑßΓ¿¼«ßΓ¿ OpenString  ¡Ñ ∩ó½∩ÑΓß∩ ºáαѺÑαó¿α«óá¡¡δ¼ ß½«ó«¼ ¿ ¼«-
  7168.         ªÑΓ, Γᬿ¼ «íαẫ¼,  íδΓ∞ »ÑαÑ«»αÑñѽѡ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ºáñá¡-
  7169.         ¡δ⌐ »«½∞º«óáΓѽѼ.
  7170.  
  7171.              è«úñá «íαáΓ¡á∩ ß«ó¼ÑßΓ¿¼«ßΓ∞ º¡áτÑ¡¿∩ ¡Ñ ¿¼ÑÑΓ,  ñ½∩ ¿º¼Ñ¡Ñ-
  7172.         ¡¿∩ ß¼δ߽ᠬ½ετÑó«ú« ß½«óá string  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ñ¿αÑ¬Γ¿óπ
  7173.         ¬«¼»¿½∩Γ«αá {$P+}. é ß«ßΓ«∩¡¿¿ {$P+} »ÑαѼѡ¡á∩, «»¿ßá¡¡á∩ ß ¬½ε-
  7174.         τÑóδ¼ ß½«ó«¼ string, ∩ó½∩ÑΓß∩ «Γ¬αδΓδ¼ ßΓ᫬«óδ¼ »áαá¼ÑΓα«¼.
  7175.  
  7176.              ä½∩ «Γ¬αδΓ«ú« ßΓ᫬«ó«ú« »áαá¼ÑΓαá Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα  ¼«-
  7177.         ªÑΓ íδΓ∞ »ÑαѼѡ¡«⌐ ½εí«ú« ßΓ᫬«ó«ú« Γ¿»á. é »α«µÑñπαÑ ¿½¿ Σπ¡¬-
  7178.         µ¿¿ áΓα¿íπΓ αẼÑαá (¼á¬ß¿¼á½∞¡á∩  ñ½¿¡á)  Σ«α¼á½∞¡«ú«  »áαá¼ÑΓαá
  7179.         íπñÑΓ ΓѼ ªÑ, τΓ« π Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá.
  7180.  
  7181.              ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ  »áαá¼ÑΓαδ  óÑñπΓ ßÑí∩ ΓᬪѠ¬á¬ »áαá¼ÑΓ-
  7182.         αδ-»ÑαѼѡ¡δÑ ßΓ᫬«ó«ú« Γ¿»á,  Γ«½∞¬« ¿σ ¡Ñ½∞º∩  »ÑαÑñáóáΓ∞  ¬á¬
  7183.         «íδτ¡δÑ »ÑαѼѡ¡δÑ  ñαπú¿¼  »α«µÑñπαá¼ ¿½¿ Σπ¡¬µ¿∩¼.  Äñ¡á¬«,  ¿σ
  7184.         ¼«ª¡« ß¡«óá »ÑαÑñáΓ∞ ¬á¬ «Γ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ.
  7185.  
  7186.              é ß½ÑñπεΘѼ »α¿¼ÑαÑ »áαá¼ÑΓα S  »α«µÑñπαδ  AssignStr  -  φΓ«
  7187.         «Γ¬αδΓδ⌐ ßΓ᫬«óδ⌐ »áαá¼ÑΓα:
  7188.  
  7189.              procedure AssignStr(var S: OpenString;
  7190.              begin
  7191.                S := '0123456789ABCDEF';
  7192.              end;
  7193.  
  7194.              Æá¬ ¬á¬ S - φΓ« «Γ¬αδΓδ⌐ ßΓ᫬«óδ⌐ »áαá¼ÑΓα, AssignStr ¼«ª¡«
  7195.         »ÑαÑñáóáΓ∞ »ÑαѼѡ¡δÑ ½εí«ú« ßΓ᫬«ó«ú« Γ¿»á:
  7196.  
  7197.              var
  7198.                S1: string[10];
  7199.                S1: string[20];
  7200.              begin
  7201.                AssignStr(S1);           { S1 := '0123456789' }
  7202.  
  7203.          B.Pascal 7 & Objects/LR     - 161 -
  7204.  
  7205.                AssignStr(S2);           { S2 := '0123456789ABCDEF' }
  7206.              end;
  7207.  
  7208.              é AssingStr ¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á »áαá¼ÑΓαá S ΓᠪѠßá¼á∩,  τΓ«
  7209.         π Σá¬Γ¿τÑ߬«ú«  »áαá¼ÑΓαá.  Æá¬¿¼  «íαẫ¼,   ó   »Ñαó«¼   ó맮óÑ
  7210.         AssingStr »α¿ »α¿ßóá¿óá¡¿¿ »áαá¼ÑΓαá S ßΓ᫬á πßѬáÑΓß∩,  Γᬠ¬á¬
  7211.         ¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á S1 αáó¡á 10.
  7212.  
  7213.              Åα¿ »α¿¼Ñ¡Ñ¡¿¿ ¬ «Γ¬αδΓ«¼π ßΓ᫬«ó«¼π  »áαá¼ÑΓαπ ßΓá¡ñáαΓ¡á∩
  7214.         Σπ¡¬µ¿∩ Low  ó«ºóαáΘáÑΓ  0,  ßΓá¡ñáαΓ¡á∩  Σπ¡¬µ¿∩ High ó«ºóαáΘáÑΓ
  7215.         «»¿ßá¡¡πε ¼á¬ß¿¼á½∞¡πε ñ½¿¡π Σá¬Γ¿τÑ߬«ú«  »áαá¼ÑΓαá,  á  Σπ¡¬µ¿∩
  7216.         SizeOf ó«ºóαáΘáÑΓ αẼÑα Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá.
  7217.  
  7218.              é ß½ÑñπεΘѼ  »α¿¼ÑαÑ  »α«µÑñπαá  FillString ºá»«½¡∩ÑΓ ßΓ᫬π
  7219.         ºáñá¡¡δ¼ ß¿¼ó«½«¼ ñ« ÑÑ ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡δ.  ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á
  7220.         ¿ß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿¿  High ñ½∩ »«½πτÑ¡¿∩ ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡δ «Γ¬-
  7221.         αδΓ«ú« ßΓ᫬«ó«ú« »áαá¼ÑΓαá.
  7222.  
  7223.              procedure FillStr(var S: OpenString; Ch: Char);
  7224.              begin
  7225.                S[0] := Chr(High(S));         { ºáñáÑΓ ñ½¿¡π ßΓ᫬¿ }
  7226.                FillChar(S[1], High(S), Ch);  { πßΓá¡áó½¿óáÑΓ τ¿ß½«
  7227.                                                ß¿¼ó«½«ó }
  7228.              emd;
  7229.  
  7230.              ç¡áτÑ¡¿∩ ¿  »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ,  «»¿ßá¡¡δÑ ß ¿ß»«½∞º«ó᡿Ѽ
  7231.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αá OpenString ¿½¿ ¬½ετÑó«ú« ß½«óá string ó  ß«ßΓ«∩¡¿¿
  7232.         {$P+}, ¡Ñ  ∩ó½∩εΓß∩  «Γ¬αδΓ묨 ßΓ᫬«ó묨 »áαá¼ÑΓαἿ.  Ä¡¿ óÑñπΓ
  7233.         ßÑí∩ ΓᬪÑ,  ¬á¬ Ñß½¿ íδ í뫨 «»¿ßá¡δ ß ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡«⌐ ßΓα«-
  7234.         ¬«ó«ú« Γ¿»á  255,  á  Σπ¡¬µ¿∩  Hingh  ñ½∩ Γᬿσ »áαá¼ÑΓα«ó óßÑúñá
  7235.         ó«ºóαáΘáÑΓ 255.
  7236.  
  7237.  
  7238.  
  7239.  
  7240.          B.Pascal 7 & Objects/LR     - 162 -
  7241.  
  7242.                            ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ-¼áßß¿óδ
  7243.         ─────────────────────────────────────────────────────────────────
  7244.  
  7245.              ö«α¼á½∞¡δ⌐ »áαá¼ÑΓα, «»¿ßá¡¡δ⌐ ß »«¼«Θ∞ε ß¿¡Γá¬ß¿ßá:
  7246.  
  7247.              array of T
  7248.  
  7249.         ∩ó½∩ÑΓß∩ «Γ¬αδΓδ¼ »áαá¼ÑΓα«¼-¼áßß¿ó«¼.  T ñ«½ª¡« íδΓ∞ ¿ñÑ¡Γ¿Σ¿¬á-
  7250.         Γ«α«¼ Γ¿»á, á Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ñ«½ªÑ¡ íδΓ∞ »ÑαѼѡ¡«⌐ Γ¿»á T,
  7251.         ¿½¿ ¼áßß¿ó«¼,  Γ¿»«¼ φ½Ñ¼Ñ¡Γ«ó ¬«Γ«α«ú« ∩ó½∩ÑΓß∩ T.  é  »α«µÑñπαÑ
  7252.         ¿½¿ Σπ¡¬µ¿¿  Σ«α¼á½∞¡δ⌐  »áαá¼ÑΓα óÑñÑΓ ßÑí∩ Γá¬,  ¬á¬ Ñß½¿ íδ «¡
  7253.         íδ½ «»¿ßá¡ ß½ÑñπεΘ¿¼ «íαẫ¼:
  7254.  
  7255.              arra[0..N - 1] of T
  7256.  
  7257.         úñÑ  N - τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ó Σá¬Γ¿τÑ߬«¼  »áαá¼ÑΓαÑ.  Å«  ßπΘÑßΓóπ,
  7258.         ñ¿á»áº«¡ ¿¡ñѬßá  Σá¬Γ¿τÑ߬«ú«  »áαá¼ÑΓαá «Γ«íαáªáÑΓß∩ ó ñ¿á»áº«¡
  7259.         µÑ½δσ τ¿ßѽ «Γ 0 ñ« N - 1.  àß½¿ Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα - φΓ« »α«ß-
  7260.         Γá∩ »ÑαѼѡ¡á∩ Γ¿»á T,  Γ« «¡ ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬ ¼áßß¿ó ß «ñ¡¿¼
  7261.         φ½Ñ¼Ñ¡Γ«¼ Γ¿»á T.
  7262.  
  7263.              è «Γ¬αδΓ«¼π Σ«α¼á½∞¡«¼π »áαá¼ÑΓαπ-¼áßß¿óπ  ¼«ª¡«  «íαáΘáΓ∞ß∩
  7264.         Γ«½∞¬« »« φ½Ñ¼Ñ¡Γá¼.  Åα¿ßóá¿óá¡¿∩ óßѼπ «Γ¬αδΓ«¼π ¼áßß¿óπ ¡Ñ ñ«-
  7265.         »π߬áεΓß∩, ¿ «Γ¬αδΓδ⌐ ¼áß߿󠼫ªÑΓ »ÑαÑñáóáΓ∞ß∩ ñαπú¿¼ »α«µÑñπαá¼
  7266.         ¿½¿ Σπ¡¬µ¿∩¼  Γ«½∞¬« ¬á¬ «Γ¬αδΓδ⌐ »áαá¼ÑΓα-¼áß߿󠿽¿ ¡ÑΓ¿»¿º¿α«-
  7267.         óá¡¡δ⌐ »áαá¼ÑΓα-»ÑαѼѡ¡á∩.
  7268.  
  7269.              ÄΓ¬αδΓδ⌐ »áαá¼ÑΓα-¼áß߿󠠼«ªÑΓ  íδΓ∞  »áαá¼ÑΓα«¼-º¡áτÑ¡¿Ñ¼,
  7270.         »áαá¼ÑΓα«¼-¬«¡ßΓá¡Γ«⌐ ¿  »áαá¼ÑΓα«¼-»ÑαѼѡ¡«⌐  ¿  ¿¼ÑÑΓ  Γ«Γ  ªÑ
  7271.         ß¼δß½, τΓ« ¿ «íδτ¡δÑ  »áαá¼ÑΓαδ-º¡áτÑ¡¿∩,  »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ  ¿
  7272.         »áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ. é  τáßΓ¡«ßΓ¿,  »α¿ßóá¿óá¡¿∩  φ½Ñ¼Ñ¡Γá¼ Σ«α-
  7273.         ¼á½∞¡«ú« «Γ¬αδΓ«ú« ¼áßß¿óá-¬«¡ßΓá¡Γδ ¡Ñ ñ«»π߬áεΓß∩, á »α¿ßóá¿óá-
  7274.         ¡¿∩ φ½Ñ¼Ñ¡Γá¼ Σ«α¼á½∞¡«ú« «Γ¬αδΓ«ú« ¼áßß¿óá, ∩ó½∩εΘÑú«ß∩ »áαá¼ÑΓ-
  7275.         α«¼-º¡áτÑ¡¿Ñ¼, ¡Ñ ó½¿∩εΓ ¡á Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα.
  7276.  
  7277.              ä½∩ «Γ¬αδΓδσ ¼áßß¿ó«ó-º¡áτÑ¡¿⌐ ¬«¼»¿½∩Γ«α  ß«ºñáÑΓ  ó  ¬áñαÑ
  7278.         ßΓÑ¬á »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ½«¬á½∞¡πε ¬«»¿ε Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓ-
  7279.         αá. Æá¬¿¼ «íαẫ¼,  »α¿ »ÑαÑñáτÑ  ó  ¬áτÑßΓóÑ  «Γ¬αδΓδσ  »áαá¼ÑΓ-
  7280.         α«ó-º¡áτÑ¡¿⌐ í«½∞Φ¿σ  ¼áßß¿ó«ó  ß½ÑñπÑΓ πτ¿ΓδóáΓ∞ ó«º¼«ª¡«Ñ »ÑαÑ-
  7281.         »«½¡Ñ¡¿Ñ ßΓѬá.
  7282.  
  7283.              Åα¿ »α¿¼Ñ¡Ñ¡¿¿  ¬  «Γ¬αδΓ«¼π  »áαá¼ÑΓαπ-¼áßß¿óπ  ßΓá¡ñáαΓ¡á∩
  7284.         Σπ¡¬µ¿∩ Low ó«ºóαáΘáÑΓ 0, ßΓá¡ñáαΓ¡á∩ Σπ¡¬µ¿∩ High ó«ºóαáΘáÑΓ ¿¡-
  7285.         ñѬߠ»«ß½Ññ¡Ñú« φ½Ñ¼Ñ¡Γá ó Σá¬Γ¿τÑ߬«¼ »áαá¼ÑΓαÑ-¼áßß¿óÑ, á Σπ¡¬-
  7286.         µ¿∩ SizeOf ó«ºóαáΘáÑΓ αẼÑα Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá-¼áßß¿óá.
  7287.  
  7288.              Åα«µÑñπαá Clear ó ß½ÑñπεΘѼ »α¿¼ÑαÑ »α¿ßóá¿óáÑΓ ¬áªñ«¼π φ½Ñ-
  7289.         ¼Ñ¡Γπ ¼áßß¿óá óÑΘÑßΓóÑ¡¡δσ º¡áτÑ¡¿⌐ ¡«½∞, á Σπ¡¬µ¿∩ Sum óδτ¿ß½∩ÑΓ
  7290.         ßπ¼¼π óßÑσ φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ. Å«ß¬«½∞¬π ó «í«-
  7291.         ¿σ ß½πτá∩σ  »áαá¼ÑΓα  A  ∩ó½∩ÑΓß∩  «Γ¬αδΓδ¼  »áαá¼ÑΓα«¼-¼áßß¿ó«¼,
  7292.         »«ñ»α«úαá¼¼δ ¼«úπΓ αáí«ΓáΓ∞ ß ½εíδ¼ ¼áß߿󫼠φ½Ñ¼Ñ¡Γ«ó Γ¿»á Real:
  7293.  
  7294.              procedure Clear(var A: array of Real);
  7295.  
  7296.          B.Pascal 7 & Objects/LR     - 163 -
  7297.  
  7298.              var
  7299.                I: Word;
  7300.              begin
  7301.                for I := 0 to High(A) do A[I] := 0;
  7302.              end;
  7303.  
  7304.              function Sum(const A: array of Real): Real;
  7305.              var
  7306.                I: Word;
  7307.                S: Real;
  7308.              begin
  7309.                S := 0;
  7310.                for I := 0 to High(A) do S := S + A[I];
  7311.                Sum := S;
  7312.              end;
  7313.  
  7314.              è«úñá Γ¿»«¼ φ½Ñ¼Ñ¡Γ«ó «Γ¬αδΓ«ú«  »áαá¼ÑΓαá-¼áßß¿óá  ∩ó½∩ÑΓß∩
  7315.         Char, Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ¼«ªÑΓ íδΓ∞ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐.  ìá»-
  7316.         α¿¼Ñα, ß πτÑΓ«¼ »αÑñδñπΘÑú« «»¿ßá¡¿∩:
  7317.  
  7318.              procedure PringStr(const S: array of Char);
  7319.              var
  7320.                I: Integer;
  7321.              begin
  7322.                for I := 0 to High(S) do
  7323.                    if S[I] <> #0 then Write(S[I]) else Break;
  7324.              end;
  7325.  
  7326.         ¿ ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ »α«µÑñπα:
  7327.  
  7328.              PrintStr('Hello word');
  7329.              PrintStr('A');
  7330.  
  7331.              Åα¿ »ÑαÑñáτÑ  ó  ¬áτÑßΓóÑ «Γ¬αδΓ«ú« »áαá¼ÑΓαá-¼áßß¿óá »πßΓá∩
  7332.         ßΓα«¬á »αÑ«íαáºπÑΓß∩ ó ßΓ᫬π ß «ñ¡¿¼ φ½Ñ¼Ñ¡Γ«¼,  ß«ñÑαªáΘ¿¼ ß¿¼-
  7333.         ó«½  NULL,  »«φΓ«¼π  «»ÑαáΓ«α  PrintStr('')  ¿ñÑ¡Γ¿τÑ¡  «»ÑαáΓ«απ
  7334.         PrintStr('#0').
  7335.  
  7336.  
  7337.                      ä¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ «íΩÑ¬Γ¡«ú« Γ¿»á
  7338.         ─────────────────────────────────────────────────────────────────
  7339.  
  7340.              æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ  New  ¿  Dispose  ñ«»π߬áεΓ ó ¬áτÑßΓóÑ
  7341.         óΓ«α«ú« »áαá¼ÑΓαá óδº«ó ¬«¡ßΓαπ¬Γ«αá ¿½¿ ñÑßΓαπ¬Γ«αá ñ½∩  óδñѽÑ-
  7342.         ¡¿∩ ñ½∩ »á¼∩Γ¿ »ÑαѼѡ¡«⌐ «íΩÑ¬Γ¡«ú« Γ¿»á  ¿½¿  ÑÑ  «ßó«í«ªñÑ¡¿∩.
  7343.         Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  7344.  
  7345.              New(P, Construct)
  7346.         ¿
  7347.              Dispose(P, Destruct)
  7348.  
  7349.         úñÑ P - φΓ« π¬áºáΓѽ∞ ¡á  »ÑαѼѡ¡πε,  ßßδ½áεΘ¿⌐ß∩  ¡á  «íΩÑ¬Γ¡δ⌐
  7350.         Γ¿», á Construct ¿ Destruct - φΓ« ó맮óδ ¬«¡ßΓαπ¬Γ«α«ó ¿ ñÑßΓαπ¬-
  7351.  
  7352.          B.Pascal 7 & Objects/LR     - 164 -
  7353.  
  7354.         Γ«α«ó «íΩÑ¬Γ¡«ú« Γ¿»á. ä½∩ New φΣΣÑ¬Γ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá Γ«Γ
  7355.         ªÑ, τΓ« ¿ «Γ óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó:
  7356.  
  7357.              New(P);
  7358.              P^.Construct;
  7359.  
  7360.         á ñ½∩ Dispose φΓ« φ¬ó¿óá½Ñ¡Γ¡« «»ÑαáΓ«αá¼:
  7361.  
  7362.              P^.Dispose;
  7363.              Dispose(P);
  7364.  
  7365.              üѺ αáßΦ¿αÑ¡¡«ú«  ß¿¡Γá¬ß¿ßá  óá¼ »α¿Φ½«ß∞ íδ τáßΓ« óß½Ññ ºá
  7366.         óδº«ó«¼ ¬«¡ßΓαπ¬Γ«αá óδºδóáΓ∞ New,  ¿½¿ »«ß½Ñ ó맮óá  ñÑßΓαπ¬Γ«αá
  7367.         óδºδóáΓ∞ Dispose.  ÉáßΦ¿αÑ¡¡δ⌐  ß¿¡Γá¬ß¿ß π½πτΦáÑΓ τ¿ΓáѼ«ßΓ∞ ¿ß-
  7368.         σ«ñ¡«ú« ¬«ñá ¿ úÑ¡Ñα¿απÑΓ í«½ÑÑ ¬«α«Γ¬¿⌐ ¿ φΣΣÑ¬Γ¿ó¡δ⌐ ¬«ñ.
  7369.  
  7370.              Åα¿óÑñÑ¡¡δ⌐ »α¿¼Ñα ¿½½εßΓα¿απÑΓ  ¿ß»«½∞º«óá¡¿Ñ  αáßΦ¿αÑ¡¡«ú«
  7371.         ß¿¡Γá¬ß¿ßá New ¿ Dispose:
  7372.  
  7373.              var
  7374.                SP: PStrField
  7375.                ZP: PZipField
  7376.              begin
  7377.                New(SP, Init(1, 1, 25, 'ê¼∩'));
  7378.                New(ZP, Init(1, 2, 5, 'Å«τΓ«óδ⌐ ¿¡ñѬß'), 0, 99999));
  7379.                SP^.Edit;
  7380.                ZP^.Edit;
  7381.                  .
  7382.                  .
  7383.                  .
  7384.                Dispose(ZP, Done);
  7385.                Dispose(SP, Done);
  7386.              end;
  7387.  
  7388.              éδ ¼«ªÑΓÑ ΓᬪѠ¿ß»«½∞º«óáΓ∞ New ¬á¬ Σπ¡¬µ¿ε, αáß»αÑñѽ∩εΘπε
  7389.         ¿ ó«ºóαáΘáεΘπε ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ºáñá¡¡«ú« αẼÑαá:
  7390.  
  7391.              New(T)
  7392.         ¿½¿
  7393.              New(T, Construct)
  7394.  
  7395.              é »Ñαó«⌐ Σ«α¼Ñ T ¼«ªÑΓ íδΓ∞ ½εíδ¼ ßß佫τ¡δ¼ Γ¿»«¼. é« óΓ«α«⌐
  7396.         Σ«α¼Ñ T ñ«½ªÑ¡ π¬áºδóáΓ∞ ¡á «íΩÑ¬Γ¡δ⌐  Γ¿»,  á  Construct  ñ«½ªÑ¡
  7397.         íδΓ∞ óδº«ó«¼  ¬«¡ßΓαπ¬Γ«αá  φΓ«ú« «íΩѬΓá.  é «í«¿σ ß½πτá∩σ Γ¿»«¼
  7398.         αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ íπñÑΓ T.
  7399.  
  7400.              Åα¿óÑñѼ »α¿¼Ñα:
  7401.  
  7402.              var
  7403.                F1, F2: PField
  7404.              begin
  7405.                F1 := New(PStrField, Init(1, 1, 25, 'ê¼∩'));
  7406.                F1 := New(PZipField, Init(1, 2, 5, 'Å«τΓ«óδ⌐ ¿¡ñѬß', 0,
  7407.  
  7408.          B.Pascal 7 & Objects/LR     - 165 -
  7409.  
  7410.                           99999));
  7411.                    .
  7412.                    .
  7413.                    .
  7414.                WriteLn(F1^.GetStr);       { óδºδóáÑΓ TStrField.GetStr }
  7415.                WriteLn(F2^.GetStr);       { óδºδóáÑΓ TZipField.GetStr }
  7416.                    .
  7417.                    .
  7418.                    .
  7419.                Dispose(F2, Done);         { óδºδóáÑΓ TField.Done }
  7420.                Dispose(F1, Done);         { óδºδóáÑΓ TStrField.Done }
  7421.              end;
  7422.  
  7423.              çá¼ÑΓ¿¼, τΓ« σ«Γ∩ F1 ¿ F2 ¿¼ÑεΓ Γ¿» PField,  »αáó¿½á ß«ó¼Ñß-
  7424.         Γ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε αáßΦ¿αÑ¡¡«ú« π¬áºáΓѽ∩ »«ºó«½∩εΓ »α¿ßóá¿-
  7425.         óáΓ∞ F1 ¿ F2 π¬áºáΓÑ½ε ¡á ½εí«⌐ »«Γ«¼«¬ TField.  Å«ß¬«½∞¬π GetStr
  7426.         ¿ Done  ∩ó½∩εΓß∩ ó¿αΓπá½∞¡δ¼¿ ¼ÑΓ«ñἿ,  ¼Ñσá¡¿º¼ ñ¿ß»ÑΓτÑα¿ºáµ¿¿
  7427.         ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá    ¬«ααÑ¬Γ¡«    óδºδóáÑΓ,     ß««ΓóÑΓßΓóÑ¡¡«,
  7428.         TStrString.GetStr,      TZipField.GetStr,      TField.Done      ¿
  7429.         TStrField.Done.
  7430.  
  7431.  
  7432.                              Åα«µÑñπα¡δÑ »ÑαѼѡ¡δÑ
  7433.         ─────────────────────────────────────────────────────────────────
  7434.  
  7435.              Å«ß½Ñ «»αÑñѽѡ¿∩  »α«µÑñπα¡«ú«  Γ¿»á »«∩ó½∩ÑΓß∩ ó«º¼«ª¡«ßΓ∞
  7436.         «»¿ßδóáΓ∞ »ÑαѼѡ¡δÑ φΓ«ú« Γ¿»á. Æá¬¿Ñ »ÑαѼѡ¡δÑ ¡áºδóáεΓ »α«µÑ-
  7437.         ñπα¡δ¼¿ »ÑαѼѡ¡δ¼¿. ìá»α¿¼Ñα, ß πτÑΓ«¼ «»¿ßá¡¿⌐ Γ¿»á ¿º »αÑñδñπ-
  7438.         ΘÑú« »α¿¼Ñαá, ¼«ª¡« «íΩ∩ó¿Γ∞ ß½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ:
  7439.  
  7440.              var
  7441.                P: SwapProc;
  7442.                F: MathFunc;
  7443.  
  7444.              èᬠ¿ µÑ½á∩ »ÑαѼѡ¡á∩, ¬«Γ«α«⌐ ¼«ª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ µÑ-
  7445.         ½«ú« Γ¿»á, »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐ ¼«ª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ »α«µÑ-
  7446.         ñπα¡«ú« Γ¿»á.  Æá¬¿¼ º¡áτÑ¡¿Ñ¼ ¼«ªÑΓ íδΓ∞, ¬«¡Ñτ¡«, ñαπúá∩ »α«µÑ-
  7447.         ñπα¡á∩ »ÑαѼѡ¡á∩,  ¡« «¡« ¼«ªÑΓ ΓᬪѠ»αÑñßΓáó½∩Γ∞ ß«í«⌐ ¿ñÑ¡Γ¿-
  7448.         Σ¿¬áΓ«α »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.  é Γᬫ¼ ¬«¡ΓѬßΓÑ «»¿ßá¡¿∩ »α«µÑ-
  7449.         ñπαδ  ¿½¿ Σπ¡¬µ¿¿ ¼«ª¡« αáßß¼áΓα¿óáΓ∞,  ¬á¬ «»¿ßá¡¿Ñ «ß«í«ú« α«ñá
  7450.         ¬«¡ßΓá¡Γδ, º¡áτÑ¡¿Ñ¼ ¬«Γ«α«⌐ ∩ó½∩ÑΓß∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩. ìá»-
  7451.         α¿¼Ñα, »πßΓ∞ ¼δ ¿¼ÑѼ ß½ÑñπεΘ¿Ñ «»¿ßá¡¿∩ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿:
  7452.  
  7453.              procedure Swap(var A,B: integer);
  7454.              var
  7455.                Temp: integer;
  7456.              begin
  7457.                Temp := A;
  7458.                A := B;
  7459.                B := Temp;
  7460.              end.
  7461.  
  7462.              function Tan(Angle: real): real;
  7463.  
  7464.          B.Pascal 7 & Objects/LR     - 166 -
  7465.  
  7466.              begin
  7467.                Tan := Sin(Angle) / Cos(Angle);
  7468.              end.
  7469.  
  7470.              Ä»¿ßá¡¡δ¼ αá¡ÑÑ »ÑαѼѡ¡δ¼ P ¿ F ΓÑ»Ñα∞ ¼«ª¡« »α¿ßó«¿Γ∞ º¡á-
  7471.         τÑ¡¿∩:
  7472.  
  7473.              P := Swap;
  7474.              F := Tan;
  7475.  
  7476.              Å«ß½Ñ Γᬫú« »α¿ßóá¿óá¡¿∩ «íαáΘÑ¡¿Ñ P(i,j) φ¬ó¿óá½Ñ¡Γ¡« Swap
  7477.         (i,j) ¿ F(X) φ¬ó¿óá½Ñ¡Γ¡« Tan(X).
  7478.  
  7479.              èᬠ¿  »α¿ ½εí«¼ ñαπú«¼ »α¿ßóá¿óá¡¿¿,  º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ ó
  7480.         ½Ñó«⌐ ¿ ó »αáó«⌐ τáßΓ¿ ñ«½ª¡δ íδΓ∞  ß«ó¼ÑßΓ¿¼δ  »«  »α¿ßóá¿óá¡¿ε.
  7481.         Åα«µÑñπα¡δÑ  Γ¿»δ,  τΓ«íδ  «¡¿  í뫨  ß«ó¼ÑßΓ¿¼δ »« »α¿ßóá¿óá¡¿ε,
  7482.         ñ«½ª¡δ ¿¼ÑΓ∞ «ñ¡« ¿ Γ« ªÑ τ¿ß½« »áαá¼ÑΓα«ó,  á »áαá¼ÑΓαδ ¡á ß««Γ-
  7483.         óÑΓßΓóπεΘ¿σ  »«º¿µ¿∩σ ñ«½ª¡δ íδΓ∞ «ñ¿¡á¬«ó«ú« Γ¿»á.  èá¬ π»«¼¿¡á-
  7484.         ½«ß∞ αá¡ÑÑ, ¿¼Ñ¡á »áαá¼ÑΓα«ó ó «»¿ßá¡¿¿ »α«µÑñπα¡«ú« Γ¿»á ¡¿¬á¬«-
  7485.         ú« ñÑ⌐ßΓó¿∩ ¡Ñ óδºδóáεΓ.
  7486.  
  7487.              èα«¼Ñ Γ«ú«,  ñ½∩ «íÑß»ÑτÑ¡¿∩ ß«ó¼ÑßΓ¿¼«ßΓ¿  »«  »α¿ßóá¿óá¡¿ε
  7488.         »α«µÑñπαá ¿ Σπ¡¬µ¿∩, Ñß½¿ ÑÑ ¡πª¡« »α¿ßó«¿Γ∞ »α«µÑñπα¡«⌐ »ÑαѼѡ-
  7489.         ¡«⌐, ñ«½ª¡á πñ«ó½ÑΓó«α∩Γ∞ ß½ÑñπεΘ¿¼ ΓαÑí«óá¡¿∩¼:
  7490.  
  7491.              - ¥Γ« ¡Ñ ñ«½ª¡á íδΓ∞ ßΓá¡ñáαΓ¡á∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩.
  7492.              - Æá¬á∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ¡Ñ ¼«ªÑΓ íδΓ∞ ó½«ªÑ¡¡«⌐.
  7493.              - Æá¬á∩ »α«µÑñπαá ¡Ñ ñ«½ª¡á íδΓ∞ »α«µÑñπα«⌐ Γ¿»á inline.
  7494.              - Ä¡á ¡Ñ ñ«½ª¡á íδΓ∞ »α«µÑñπα«⌐ »αÑαδóá¡¿∩ (interrupt).
  7495.  
  7496.              æΓá¡ñáαΓ¡δ¼¿ »α«µÑñπαἿ  ¿  Σπ¡¬µ¿∩¼¿ ßτ¿ΓáεΓß∩ »α«µÑñπαδ ¿
  7497.         Σπ¡¬µ¿¿,  «»¿ßá¡¡δѠ󠼫ñπ½Ñ System,  ΓᬿÑ, ¬á¬ Writeln, Readln,
  7498.         Chr,  Ord.  ùΓ«íδ  »«½πτ¿Γ∞  ó«º¼«ª¡«ßΓ∞ ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡πε
  7499.         »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ß »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐,  óδ ñ«½ª¡δ  ¡á»¿-
  7500.         ßáΓ∞  ñ½∩  ¡ÑѠ߻ѵ¿á½∞¡πε "«í«½«τ¬π".  ìá»α¿¼Ñα,  »πßΓ∞ ¼δ ¿¼ÑѼ
  7501.         »α«µÑñπα¡δ⌐ Γ¿»:
  7502.  
  7503.              type
  7504.                 IntProc = procedure(N: integer);
  7505.  
  7506.              æ½ÑñπεΘá∩ »α«µÑñπαá  ñ½∩ ºá»¿ß¿ µÑ½«ú« τ¿ß½á íπñÑΓ ß«ó¼ÑßΓ¿-
  7507.         ¼«⌐ »« »α¿ßóá¿óá¡¿ε:
  7508.  
  7509.              procedure WriteInt(Number: Integer); far;
  7510.              begin
  7511.                 Write(Number);
  7512.              end.
  7513.  
  7514.              é½«ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ß »α«µÑñπα¡δ¼¿ »ÑαѼѡ¡δ¼¿ ¿ß-
  7515.         »«½∞º«óáΓ∞ ¡Ñ½∞º∩.  Åα«µÑñπαá ¿½¿  Σπ¡¬µ¿∩  ßτ¿ΓáÑΓß∩  ó½«ªÑ¡¡«⌐,
  7516.         ¬«úñá «¡á «»¿ßδóáÑΓß∩ ó¡πΓα¿ ñαπú«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. é ß½Ñ-
  7517.         ñπεΘѼ »α¿¼ÑαÑ »α«µÑñπαá Inner ó½«ªÑ¡á ó »α«µÑñπαπ Outer ¿ »«φΓ«-
  7518.         ¼π ÑÑ ¡Ñ½∞º∩ »α¿ßóá¿óáΓ∞ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐:
  7519.  
  7520.          B.Pascal 7 & Objects/LR     - 167 -
  7521.  
  7522.  
  7523.              program Nested;
  7524.              procedure Outer;
  7525.              procedure Inner;
  7526.               begin
  7527.                 Writeln('Åα«µÑñπαá Inner ∩ó½∩ÑΓß∩ ó½«ªÑ¡¡«⌐');
  7528.               end;
  7529.               begin
  7530.                 Inner;
  7531.               end;
  7532.               begin
  7533.                 Outer;
  7534.               end.
  7535.  
  7536.              êß»«½∞º«óá¡¿Ñ »α«µÑñπα¡δσ  Γ¿»«ó  ¡Ñ  «úαá¡¿τ¿óáÑΓß∩  »α«ßΓ«
  7537.         »α«µÑñπα¡δ¼¿ »ÑαѼѡ¡δ¼¿. èᬠ¿ ½εí«⌐ ñαπú«⌐ Γ¿», »α«µÑñπα¡δ⌐ Γ¿»
  7538.         ¼«ªÑΓ πτáßΓó«óáΓ∞ ó «»¿ßá¡¿¿ ßΓαπ¬Γπα¡«ú« Γ¿»á, τΓ« ó¿ñ¡« ¿º ß½Ñ-
  7539.         ñπεΘ¿σ «»¿ßá¡¿⌐:
  7540.  
  7541.              type
  7542.                GotoProc   = procedure(X,Y: integer);
  7543.                ProcList   = array[1..10] of GotoProc;
  7544.                WindowPtr  = ^WindowRec;
  7545.                Window     = record
  7546.                               Next: WindowPtr;
  7547.                               Header: string[31];
  7548.                               Top,Left,Bottom,Right: integer;
  7549.                               SetCursor: GotoProc;
  7550.                             end;
  7551.              var
  7552.                P: ProcList;
  7553.                W: WindowPtr;
  7554.  
  7555.              æ πτÑΓ«¼ φΓ¿σ «»¿ßá¡¿⌐ ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ó맮óδ »α«µÑñπα:
  7556.  
  7557.              P[3](1,1);
  7558.              W.SetCursor(10,10);
  7559.  
  7560.              è«úñá »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐ »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ »α«µÑñπ-
  7561.         αδ, Γ« ¡á Σ¿º¿τÑ߬«¼ πα«ó¡Ñ »α«¿ßσ«ñ¿Γ ß½ÑñπεΘÑÑ: áñαÑß »α«µÑñπαδ
  7562.         ß«σαá¡∩ÑΓß∩  ó  »ÑαѼѡ¡«⌐.  öá¬Γ¿τÑ߬¿,  »α«µÑñπα¡á∩  »ÑαѼѡ¡á∩
  7563.         óÑß∞¼á  ¡á»«¼¿¡áÑΓ »ÑαѼѡ¡πε-π¬áºáΓѽ∞,  Γ«½∞¬« ó¼ÑßΓ« ßß佬¿ ¡á
  7564.         ñá¡¡δÑ «¡á π¬áºδóáÑΓ ¡á »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε.  èᬠ¿  π¬áºáΓѽ∞,
  7565.         »α«µÑñπα¡á∩  »ÑαѼѡ¡á∩  ºá¡¿¼áÑΓ 4 íá⌐Γá (ñóá ß½«óá),  ó ¬«Γ«αδσ
  7566.         ß«ñÑনΓß∩ áñαÑß »á¼∩Γ¿.  é »Ñαó«¼ ß½«óÑ  σαá¡¿Γß∩  ß¼ÑΘÑ¡¿Ñ,  ó«
  7567.         óΓ«α«¼ - ßÑú¼Ñ¡Γ.
  7568.  
  7569.  
  7570.  
  7571.  
  7572.          B.Pascal 7 & Objects/LR     - 168 -
  7573.  
  7574.                            Åáαá¼ÑΓαδ »α«µÑñπα¡«ú« Γ¿»á
  7575.         ─────────────────────────────────────────────────────────────────
  7576.  
  7577.              Å«ß¬«½∞¬π »α«µÑñπα¡δÑ  Γ¿»δ ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞ ó ½εí«¼
  7578.         ¬«¡ΓѬßΓÑ,  Γ« ¼«ª¡« «»¿ßδóáΓ∞  »α«µÑñπαδ  ¿½¿  Σπ¡¬µ¿¿,  ¬«Γ«αδÑ
  7579.         ó«ß»α¿¡¿¼áεΓ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó. é ß½Ññπε-
  7580.         ΘѼ »α¿¼ÑαÑ »«¬áºδóáÑΓß∩  ¿ß»«½∞º«óá¡¿Ñ  »áαá¼ÑΓα«ó  »α«µÑñπα¡«ú«
  7581.         Γ¿»á ñ½∩ óδó«ñá ΓαÑσ Γáí½¿µ αẽ¿τ¡δσ áα¿Σ¼ÑΓ¿τÑ߬¿σ Σπ¡¬µ¿⌐:
  7582.  
  7583.              program Tables;
  7584.  
  7585.              type
  7586.                Func = function(X,Y: integer): integer;
  7587.  
  7588.              function Add(X,Y: integer): integer; far;
  7589.              begin
  7590.                 Add := X + Y;
  7591.               end;
  7592.  
  7593.              function Multiply(X,Y: integer): integer; far;
  7594.              begin
  7595.                 Multiply := X*Y;
  7596.              end;
  7597.  
  7598.              function Funny(X,Y: integer): integer; far;
  7599.              begin
  7600.                  Funny := (X+Y) * (X-Y);
  7601.              end;
  7602.  
  7603.              procedure PrintTable(W,H: integer; Operation: Func);
  7604.              var
  7605.                 X,Y : integer;
  7606.              begin
  7607.                 for Y := 1 to H do
  7608.                 begin
  7609.                   for X := 1 to W do Write(Operation(X,Y):5);
  7610.                   Writeln;
  7611.                 end;
  7612.                 Writeln;
  7613.              end;
  7614.  
  7615.              begin
  7616.                PrintTable(10,10,Add);
  7617.                PrintTable(10,10,Multiply);
  7618.                PrintTable(10,10,Funny);
  7619.              end.
  7620.  
  7621.          B.Pascal 7 & Objects/LR     - 169 -
  7622.  
  7623.  
  7624.              Åα¿ αáí«ΓÑ »α«úαá¼¼á Table óδó«ñ¿Γ Γα¿  Γáí½¿µδ.  éΓ«αá∩  ¿º
  7625.         ¡¿σ óδú½∩ñ¿Γ ß½ÑñπεΘ¿¼ «íαẫ¼:
  7626.  
  7627.                     1   2   3   4   5   6   7   8   9   10
  7628.                     2   4   6   8  10  12  14  16  18   20
  7629.                     3   6   9  12  15  18  21  24  27   30
  7630.                     4   8  12  16  20  24  28  32  36   40
  7631.                     5  10  15  20  25  30  35  40  45   50
  7632.                     6  12  18  24  30  36  42  48  54   60
  7633.                     7  14  21  28  35  42  49  56  63   70
  7634.                     8  16  24  32  40  48  56  64  72   80
  7635.                     9  18  27  36  45  54  63  72  81   90
  7636.                    10  20  30  40  50  60  70  80  90  100
  7637.  
  7638.              Åáαá¼ÑΓαδ »α«µÑñπα¡«ú« Γ¿»á «ß«íÑ¡¡« »«½Ñº¡δ ó  Γ«¼  ß½πτáÑ,
  7639.         ¬«úñá  ¡áñ  ¼¡«ªÑßΓó«¼  »α«µÑñπα  ¿½¿ Σπ¡¬µ¿⌐ ¡πª¡« óδ»«½¡¿Γ∞ ¬á-
  7640.         ¬¿Ñ-Γ« «íΘ¿Ñ  ñÑ⌐ßΓó¿∩.  é  ñá¡¡«¼  ß½πτáÑ  »α«µÑñπαδ  PrintTable
  7641.         »αÑñßΓáó½∩ÑΓ ß«í«⌐ «íΘÑÑ ñÑ⌐ßΓó¿Ñ, óδ»«½¡∩Ѽ«Ñ ¡áñ Σπ¡¬µ¿∩¼¿ Add,
  7642.         Multiply ¿ Funny.
  7643.  
  7644.              àß½¿ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ñ«½ª¡δ  »ÑαÑñáóáΓ∞ß∩  ó  ¬áτÑßΓóÑ
  7645.         »áαá¼ÑΓαá, «¡¿ ñ«½ª¡δ πñ«ó½ÑΓó«α∩Γ∞ ΓѼ ªÑ »αáó¿½á¼ ß«ó¼ÑßΓ¿¼«ßΓ¿
  7646.         Γ¿»á,  τΓ« ¿ »α¿ »α¿ßóá¿óá¡¿¿. Æ« ÑßΓ∞, ΓᬿѠ»α«µÑñπαδ ¿½¿ Σπ¡¬-
  7647.         µ¿¿  ñ«½ª¡δ  ¬«¼»¿½¿α«óáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ far,  «¡¿ ¡Ñ ¼«úπΓ íδΓ∞
  7648.         óßΓα«Ñ¡¡δ¼¿ Σπ¡¬µ¿∩¼¿, ¡Ñ ¼«úπΓ íδΓ∞ ó½«ªÑ¡¡δ¼¿ ¿ ¡Ñ ¼«úπΓ «»¿ßδ-
  7649.         óáΓ∞ß∩ ß áΓα¿íπΓἿ inline ¿½¿ interrupt.
  7650.  
  7651.  
  7652.  
  7653.          B.Pascal 7 & Objects/LR     - 170 -
  7654.  
  7655. ───────────────────────────────────────────────────────────────────────
  7656.                           â½áóá 10. Åα«úαá¼¼δ ¿ ¼«ñπ½¿
  7657.         ─────────────────────────────────────────────────────────────────
  7658.  
  7659.                                æ¿¡Γá¬ß¿ß »α«úαá¼¼
  7660.         ─────────────────────────────────────────────────────────────────
  7661.  
  7662.              Åα«úαá¼¼á ó  Borland  Pascal ß«ßΓ«¿Γ ¿º ºáú«½«ó¬á »α«úαá¼¼δ,
  7663.         ¡Ñ«í∩ºáΓѽ∞¡«ú« «»ÑαáΓ«αá uses ¿ «ß¡«ó¡«ú« í½«¬á.
  7664.  
  7665.         »α«úαá¼¼á
  7666.           │      ┌─────────┐   ┌───┐                      ┌────┐  ┌───┐
  7667.           └───┬─>│ºáú«½«ó«¬├──>│ ; ├───┬─────────────────>│í½«¬├─>│ . ├─>
  7668.               │  │»α«úαá¼¼δ│   └───┘ ^ │  ┌───────────┐ ^ └────┘  └───┘
  7669.               │  └─────────┘         │ └─>│»αÑñ½«ªÑ¡¿Ñ├─┘
  7670.               └──────────────────────┘    │   uses    │
  7671.                                           └───────────┘
  7672.  
  7673.  
  7674.                                çáú«½«ó«¬ »α«úαá¼¼δ
  7675.         ─────────────────────────────────────────────────────────────────
  7676.  
  7677.              çáú«½«ó«¬ »α«úαá¼¼δ «»αÑñѽ∩ÑΓ ¿¼∩ »α«úαá¼¼δ ¿ ÑÑ »áαá¼ÑΓαδ.
  7678.  
  7679.         ºáú«½«ó«¬ »α«úαá¼¼δ
  7680.          │
  7681.          │   ┌───────┐   ┌─────────────┐
  7682.          └──>│program├──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬──────────────────────────────>
  7683.              └───────┘   └─────────────┘ │  ┌───┐  ┌─────────┐  ┌───┐ ^
  7684.                                          └─>│ ( ├─>│»áαá¼ÑΓαδ├─>│ ) ├─┘
  7685.                                             └───┘  │»α«úαá¼¼δ│  └───┘
  7686.                                                    └─────────┘
  7687.  
  7688.                                   ┌───────────────┐
  7689.          »áαá¼ÑΓαδ »α«úαá¼¼δ ────>│   ß»¿ß«¬      ├────>
  7690.                                   │¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó│
  7691.                                   └───────────────┘
  7692.  
  7693.              àß½¿ ºáú«½«ó«¬ »α«úαá¼¼δ »α¿ßπΓßΓóπÑΓ, «¡ ∩ó½∩ÑΓß∩ τ¿ßΓ« ñÑ-
  7694.         ¬«αáΓ¿ó¡«⌐ ñÑΓá½∞ε ¿ ¬«¼»¿½∩Γ«α Ñú« ¿ú¡«α¿απÑΓ.
  7695.  
  7696.  
  7697.  
  7698.          B.Pascal 7 & Objects/LR     - 171 -
  7699.  
  7700.                                   Ä»ÑαáΓ«α uses
  7701.         ─────────────────────────────────────────────────────────────────
  7702.  
  7703.              Ä»ÑαáΓ«α uses ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ óßÑ ¼«ñπ½¿,  ¿ß»«½∞ºπѼδÑ »α«ú-
  7704.         αá¼¼«⌐, ó¬½ετá∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¿ß»«½∞ºπѼδÑ ¼«ñπ½¿ ¿ ¼«ñπ½¿, ¿ß-
  7705.         »«½∞ºπѼδÑ φΓ¿¼¿ ¼«ñπ½∩¼¿.
  7706.  
  7707.                              ┌────┐      ┌─────────────┐      ┌───┐
  7708.          »αÑñ½«ªÑ¡¿Ñ uses ──>│uses├──┬──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─────>│ ; ├───>
  7709.                              └────┘  │   └─────────────┘  ^   └───┘
  7710.                                      │      ┌───┐         │
  7711.                                      └─────>│ , ├─────────┘
  7712.                                             └───┘
  7713.  
  7714.              î«ñπ½∞ System óßÑúñá ¿ß»«½∞ºπÑΓß∩  áóΓ«¼áΓ¿τÑ߬¿.  ä½∩  »«ñ-
  7715.         ñÑ᪬¿ Γᬿσ ßαÑñßΓó,  ¬á¬ Σá⌐½«óδ⌐ óó«ñ-óδó«ñ,  «íαáí«Γ¬á ßΓ᫬,
  7716.         «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐, ñ¿¡á¼¿τÑ߬«Ñ αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ¿
  7717.         ñαπú¿σ φë༫ñπ½∞ αÑ὿ºπÑΓ óÑß∞ ¡¿ª¡¿⌐ πα«óÑ¡∞,  á ΓᬪѠ«íß½π-
  7718.         ª¿óáεΘ¿Ñ Σ«¡«óδÑ »α«úαá¼¼δ.
  7719.  
  7720.              Åá߬á½∞, ó ßó«ε «τÑαÑñ∞,  «íß½πª¿óáÑΓ ¼¡«ú¿Ñ ßΓá¡ñáαΓ¡δÑ ¼«-
  7721.         ñπ½¿, ΓᬿÑ,  ¬á¬ Dos ¿ Crt.  ¥Γ« ¡Ñ »α«¿ßσ«ñ¿Γ áóΓ«¼áΓ¿τÑ߬¿: óδ
  7722.         ñ«½ª¡δ «í∩ºáΓѽ∞¡« ó¬½ετ¿Γ∞ ¿σ ó «»ÑαáΓ«α uses. ìá»α¿¼Ñα:
  7723.  
  7724.              uses Dos,Crt; { ΓÑ»Ñα∞ ¼«úπΓ íδΓ∞ ñ«ßΓπ»¡δ ßαÑñßΓóá ¼«ñπ½Ñ⌐
  7725.                              Dos ¿ Crt }
  7726.  
  7727.  
  7728.              ùΓ«íδ ¡á⌐Γ¿ Σá⌐½, ß«ñÑαªáΘ¿⌐ ß¬«¼»¿½¿α«óá¡¡δ⌐ ¼«ñπ½∞, ¬«¼»¿-
  7729.         ½∩Γ«α πßѬáÑΓ  π¬áºá¡¡«Ñ  ó  «»ÑαáΓ«αÑ  uses ¿¼∩ ¼«ñπ½∩ ñ« »Ñαóδσ
  7730.         ó«ß∞¼¿ Σá⌐½«ó ¿ ñ«íáó½∩ÑΓ αáßΦ¿αÑ¡¿Ñ Σá⌐½á. àß½¿ µÑ½Ñó«⌐ »½áΓΣ«α-
  7731.         ¼«⌐ ∩ó½∩ÑΓß∩ DOS,  αáßΦ¿αÑ¡¿Ñ¼ íπñÑΓ .TPU. àß½¿ µÑ½Ñóá∩ »½áΓΣ«α¼á
  7732.         - Windows, Γ« αáßΦ¿αÑ¡¿Ñ¼ Σá⌐½á íπñÑΓ .TPW. àß½¿ µÑ½Ñó«⌐ »½áΓΣ«α-
  7733.         ¼«⌐ ∩ó½∩ÑΓß∩  ºáΘ¿ΘÑ¡¡δ⌐  αѪ¿¼  DOS,  Γ« αáßΦ¿αÑ¡¿Ñ¼ Σá⌐½á íπñÑΓ
  7734.         .TPP. ò«Γ∩ ¿¼Ñ¡á Σá⌐½«ó πßѬáεΓß∩, ó «»ÑαáΓ«αÑ uses ñ«½ªÑ¡ π¬áºδ-
  7735.         óáΓ∞ß∩ »«½¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩.
  7736.  
  7737.  
  7738.  
  7739.          B.Pascal 7 & Objects/LR     - 172 -
  7740.  
  7741.                                 æ¿¡Γá¬ß¿ß ¼«ñπ½Ñ⌐
  7742.         ─────────────────────────────────────────────────────────────────
  7743.  
  7744.              î«ñπ½¿ ∩ó½∩εΓß∩ «ß¡«ó«⌐ ¼«ñπ½∞¡«ú« »α«úαá¼¼¿α«óá¡¿∩. Ä¡¿ ¿ß-
  7745.         »«½∞ºπεΓß∩  ñ½∩  ß«ºñá¡¿∩  í¿í½¿«ΓѬ,  ¬«Γ«αδÑ ¼«úπΓ ó¬½ετáΓ∞ß∩ ó
  7746.         αẽ¿τ¡δÑ »α«úαá¼¼δ (»α¿ φΓ«¼ ßΓá¡«ó¿Γß∩ ¡Ñ«í∩ºáΓѽ∞¡δ¼  ¿¼ÑΓ∞  ó
  7747.         ¡á½¿τ¿¿  ¿ßσ«ñ¡δ⌐ ¬«ñ),  á í«½∞Φ¿Ñ »α«úαá¼¼δ ¼«úπΓ »«ñαáºñѽ∩Γ∞ß∩
  7748.         ¡á ½«ú¿τÑ߬¿ ßó∩ºá¡¡δÑ ¼«ñπ½¿.
  7749.  
  7750.                          ┌─────────┐   ┌───┐   ┌──────────┐
  7751.            ¼«ñπ½∞  ─────>│ºáú«½«ó«¬├──>│ ; ├──>│¿¡ΓÑαΣÑ⌐ß-├───┐
  7752.                          │ ¼«ñπ½∩  │   └───┘   │¡δ⌐ αáºñѽ│   │
  7753.                          └─────────┘           └──────────┘   │
  7754.                        ┌──────────────────────────────────────┘
  7755.                        │  ┌──────────┐    ┌─────────────┐   ┌───┐
  7756.                        └─>│ αáºñѽ   ├───>│ αáºñѽ      ├──>│ . ├──>
  7757.                           │αÑ὿ºáµ¿¿│    │¿¡¿µ¿á½¿ºáµ¿¿│   └───┘
  7758.                           └──────────┘    └─────────────┘
  7759.  
  7760.                                 çáú«½«ó«¬ ¼«ñπ½∩
  7761.         ─────────────────────────────────────────────────────────────────
  7762.  
  7763.              é ºáú«½«ó¬Ñ ¼«ñπ½∩ «»αÑñѽ∩ÑΓß∩ ¿¼∩ ¼«ñπ½∩.
  7764.  
  7765.                               ┌────┐   ┌────────────────────┐
  7766.          ºáú«½«ó«¬ ¼«ñπ½∩ ───>│unit│──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩│────>
  7767.                               └────┘   └────────────────────┘
  7768.  
  7769.              ê¼∩ ¼«ñπ½∩ ¿ß»«½∞ºπÑΓß∩ »α¿ ßßδ½¬Ñ ¡á ¼«ñπ½∞  ó  »αÑñ½«ªÑ¡¿¿
  7770.         ¿ß»«½∞º«óá¡¿∩. ¥Γ« ¿¼∩ ñ«½ª¡« íδΓ∞ π¡¿¬á½∞¡δ¼, Γᬠ¬á¬ ñóá ¼«ñπ½∩
  7771.         ß «ñ¡¿¼ ¿¼Ñ¡Ñ¼ ¡Ñ ¼«úπΓ «ñ¡«óαѼѡ¡« ¿ß»«½∞º«óáΓ∞ß∩.
  7772.  
  7773.              ê¼∩ ¿ßσ«ñ¡«ú«  Σá⌐½á  ¼«ñπ½∩ ¿ ñó«¿τ¡«ú« Σá⌐½á ñ«½ª¡δ ß«ó»á-
  7774.         ñáΓ∞ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ¼«ñπ½∩,  πßÑτÑ¡¡δ¼ ñ« »Ñαóδσ  8  ß¿¼ó«½«ó.
  7775.         àß½¿ φΓ«  ¡Ñ  Γá¬,  Γ«  ¬«¼»¿½∩Γ«α ¡Ñ ß¼«ªÑΓ ¡á⌐Γ¿ ¿ßσ«ñ¡δ⌐ ¿/¿½¿
  7776.         ñó«¿τ¡δ⌐ Σá⌐½ »α¿ ¬«¼»¿½∩µ¿¿ ¿ß»«½∞ºπεΘÑ⌐ φë༫ñπ½∞ »α«úαá¼¼δ.
  7777.  
  7778.  
  7779.  
  7780.          B.Pascal 7 & Objects/LR     - 173 -
  7781.  
  7782.                                ê¡ΓÑαΣÑ⌐ß¡á∩ ßѬµ¿∩
  7783.         ─────────────────────────────────────────────────────────────────
  7784.  
  7785.              é ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ «»¿ßδóáεΓß∩ ΓÑ ¬«¡ßΓá¡Γδ,  Γ¿»δ, »ÑαÑ-
  7786.         ¼Ñ¡¡δÑ,  »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ¬«Γ«αδÑ ∩ó½∩εΓß∩  ú½«íá½∞¡δ¼¿,  Γ«
  7787.         ÑßΓ∞ ñ«ßΓπ»¡δ¼¿ «ß¡«ó¡«⌐ »α«úαἼѠ(»α«úαἼѠ¿½¿ ¼«ñπ½ε, ¬«Γ«αδÑ
  7788.         ¿ß»«½∞ºπεΓ ñá¡¡δ⌐ ¼«ñπ½∞). Äß¡«ó¡á∩ »α«úαἼᠿ¼ÑÑΓ ñ«ßΓπ» ¬ φΓ¿¼
  7789.         φ½Ñ¼Ñ¡Γá¼, ¬á¬ Ñß½¿ íδ «¡¿ í뫨 «»¿ßá¡δ ó ¼«ñπ½Ñ, ∩ó½∩εΘ¿¼ß∩ ó½«-
  7790.         ªÑ¡¡δ¼ »« «Γ¡«ΦÑ¡¿ε ¬ ñá¡¡«⌐ »α«úαá¼¼Ñ.
  7791.  
  7792.          ¿¡ΓÑαΣÑ⌐ß¡á∩ ßѬµ¿∩
  7793.          │
  7794.          │  ┌─────────┐
  7795.          └─>│interfaße├─┬─────────────────────────────────────────────┬─>
  7796.             │         │ │  ┌───────────┐^ ^ │  ┌──────────────────┐ ^ │
  7797.             └─────────┘ └─>│  «»ÑαáΓ«α ├┘ │ ├─>│  αáºñѽ «»¿ßá¡¿∩ ├─┤ │
  7798.                            │   uses    │  │ │  │     ¬«¡ßΓá¡Γ     │ │ │
  7799.                            └───────────┘  │ │  └──────────────────┘ │ │
  7800.                                           │ │  ┌──────────────────┐ │ │
  7801.                                           │ ├─>│  αáºñѽ «»¿ßá¡¿∩ ├─┤ │
  7802.                                           │ │  │ Γ¿»«ó »ÑαѼѡ¡δσ │ │ │
  7803.                                           │ │  └──────────────────┘ │ │
  7804.                                           │ │  ┌──────────────────┐ │ │
  7805.                                           │ ├─>│  αáºñѽ «»¿ßá¡¿∩ ├─┤ │
  7806.                                           │ │  │    »ÑαѼѡ¡δσ    │ │ │
  7807.                                           │ │  └──────────────────┘ │ │
  7808.                                           │ │  ┌──────────────────┐ │ │
  7809.                                           │ └─>│αáºñѽ ºáú«½«ó¬«ó ├─┘ │
  7810.                                           │    │»α«µÑñπα ¿ Σπ¡¬µ¿⌐│   │
  7811.                                           │    └──────────────────┘   │
  7812.                                           └───────────────────────────┘
  7813.  
  7814.          αáºñѽ ºáú«½«ó¬«ó
  7815.          »α«µÑñπα ¿ Σπ¡¬µ¿⌐
  7816.           │        ┌─────────┐           ┌───┐
  7817.           └────┬──>│ºáú«½«ó«¬├──────────>│ ; ├─┬───────────────────────>
  7818.                │   │»α«µÑñπαδ│        ^  └───┘ │  ┌─────────┐   ┌───┐ ^
  7819.                │   └─────────┘        │        └─>│ñ¿αÑ¬Γ¿óá├──>│ ; ├─┘
  7820.                │  ┌─────────────────┐ │           │ inline  │   └───┘
  7821.                └─>│ºáú«½«ó«¬ Σπ¡¬µ¿¿├─┘           └─────────┘
  7822.                   └─────────────────┘
  7823.  
  7824.              é Γ«¼ ß½πτáÑ, Ñß½¿ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ∩ó½∩ÑΓß∩ »α«µÑñπα«⌐
  7825.         ¿½¿ Σπ¡¬µ¿Ñ⌐ Γ¿»á inline, ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ ß«ñÑনΓß∩ Γ«½∞¬«
  7826.         ß»¿ß«¬ ºáú«½«ó¬«ó »α«µÑñπα  ¿½¿  Σπ¡¬µ¿⌐.  î«ñπ½∞  »α«µÑñπαδ  ¿½¿
  7827.         Σπ¡¬µ¿¿ ß½ÑñπÑΓ ñá½∞ΦÑ ó ßѬµ¿¿ αÑ὿ºáµ¿¿.  çá¼ÑΓ¿¼, τΓ« ºáú«½«-
  7828.         ó«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¼«ªÑΓ ñπí½¿α«óáΓ∞ß∩ ¿ íδΓ∞  ºñÑß∞ Γᬿ¼
  7829.         ªÑ, ¬á¬ ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿. éá¼ ¡Ñ ¡πª¡« ºáñáóáΓ∞ ºñÑß∞ ß»¿ß«¬
  7830.         Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó,  ¡« Ñß½¿ óδ φΓ« ßñѽ὿ ¿ Ñß½¿ «»¿ßá¡¿Ñ  ó
  7831.         ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ ¿ ßѬµ¿¿ αÑ὿ºáµ¿¿ ¡Ñ ß«ó»áñáεΓ, Γ« ¬«¼»¿½∩-
  7832.         Γ«α ó« óαѼ∩ ¬«¼»¿½∩µ¿¿ óδñáßΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  7833.  
  7834.  
  7835.          B.Pascal 7 & Objects/LR     - 174 -
  7836.  
  7837.                                 æÑ¬µ¿∩ αÑ὿ºáµ¿¿
  7838.         ─────────────────────────────────────────────────────────────────
  7839.  
  7840.              é ßѬµ¿¿ αÑ὿ºáµ¿¿ «»αÑñѽ∩εΓß∩ ¼«ñπ½¿ óßÑσ ú½«íá½∞¡δσ »α«-
  7841.         µÑñπα ¿½¿ Σπ¡¬µ¿⌐. é ¡Ñ⌐ ΓᬪѠ«»¿ßδóáεΓß∩ ¬«¡ßΓá¡Γδ, »ÑαѼѡ¡δÑ,
  7842.         »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ∩ó½∩εΘ¿Ñß∩ ½«¬á½∞¡δ¼¿, Γ« ÑßΓ∞ ¡Ññ«ßΓπ»¡δ¼¿
  7843.         «ß¡«ó¡«⌐ »α«úαá¼¼Ñ.
  7844.  
  7845.          æÑ¬µ¿∩ αÑ὿ºáµ¿¿
  7846.          │
  7847.          │  ┌──────────────┐                     ┌──────────────────┐
  7848.          └─>│implementation├─┬──────────────────>│ αáºñѽ «»¿ßá¡¿⌐  ├──>
  7849.             └──────────────┘ │  ┌───────────┐^   └──────────────────┘
  7850.                              └─>│  «»ÑαáΓ«α ├┘
  7851.                                 │   uses    │
  7852.                                 └───────────┘
  7853.  
  7854.              Å« ¼Ñσá¡¿º¼π ñÑ⌐ßΓó¿∩ «»¿ßá¡¿∩ »α«µÑñπα ¿ Σπ¡¬µ¿⌐  ó  ¿¡ΓÑα-
  7855.         ΣÑ⌐ß¡á∩  ßѬµ¿∩ á¡á½«ú¿τ¡á «»ÑαѪáεΘÑ¼π «»¿ßá¡¿ε,  σ«Γ∩ ñ¿αÑ¬Γ¿óá
  7856.         forward ¡Ñ π¬áºδóáÑΓß∩.  Æá¬¿¼ «íαẫ¼,  φΓ¿ »α«µÑñπαδ ¿  Σπ¡¬µ¿¿
  7857.         ¼«úπΓ  íδΓ∞ «»αÑñѽѡδ (¿ ¬ ¡¿¼ ¼«ª¡« «íαáΘáΓ∞ß∩ ó ½εí«⌐ »«ß½Ññ«-
  7858.         óáΓѽ∞¡«ßΓ¿) ó ßѬµ¿¿ αÑ὿ºáµ¿¿.
  7859.  
  7860.              ä«»π߬áÑΓß∩ ñπí½¿α«óá¡¿Ñ ºáú«½«ó¬«ó »α«µÑñπα  ¿  Σπ¡¬µ¿⌐  ¿º
  7861.         ¿¡ΓÑαΣÑ⌐ß¡«⌐  τáßΓ¿.  éá¼  ¡Ñ ¡πª¡« »α¿ φΓ«¼ ºáñáóáΓ∞ ß»¿ß«¬ Σ«α-
  7862.         ¼á½∞¡δσ »áαá¼ÑΓα«ó,  ¡« Ñß½¿ óδ φΓ« ñѽáÑΓÑ,  ¬«¼»¿½∩Γ«α ¡á φΓá»Ñ
  7863.         ¬«¼»¿½∩µ¿¿  ó ß½πτáÑ ¡Ñß«ó»áñÑ¡¿∩ «»¿ßá¡¿⌐ ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ τáßΓ¿ ¿
  7864.         ßѬµ¿¿ αÑ὿ºáµ¿¿ íπñÑΓ óδñáóáΓ∞ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  7865.  
  7866.          B.Pascal 7 & Objects/LR     - 175 -
  7867.  
  7868.                               æÑ¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿
  7869.         ─────────────────────────────────────────────────────────────────
  7870.  
  7871.              æÑ¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿ ∩ó½∩ÑΓß∩ »«ß½Ññ¡Ñ⌐ ßѬµ¿Ñ⌐  ¼«ñπ½∩. Ä¡á
  7872.         ¼«ªÑΓ  ß«ßΓ«∩Γ∞ ½¿í« ¿º ºáαѺÑαó¿α«óá¡¡«ú« ß½«óá end (ó φΓ«¼ ß½π-
  7873.         τáÑ ¼«ñπ½∞ ¡Ñ ß«ñÑαª¿Γ ¬«ñá ¿¡¿µ¿á½¿ºáµ¿¿),  ½¿í« ¿º  «»ÑαáΓ«α¡«⌐
  7874.         τáßΓ¿, ¬«Γ«αá∩ ñ«½ª¡á óδ»«½¡∩Γ∞ß∩ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩.
  7875.  
  7876.                                          ┌───┐
  7877.              ßѬµ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿ ───┬──>│end├──────────────────>
  7878.                                      │   └───┘              ^
  7879.                                      │  ┌─────────────────┐ │
  7880.                                      └─>│«»ÑαáΓ«α¡á∩ τáßΓ∞├─┘
  7881.                                         └─────────────────┘
  7882.  
  7883.              æÑ¬µ¿¿ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½Ñ⌐,  ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ »α«úαá¼-
  7884.         ¼«⌐,  óδ»«½¡∩εΓß∩ ó Γ«¼ ªÑ »«α∩ñ¬Ñ, ó ¬á¬«¼ ¼«ñπ½¿ π¬áºá¡δ ó «»Ñ-
  7885.         αáΓ«αÑ uses.
  7886.  
  7887.                            è«ßóÑ¡¡δÑ ßß佬¿ ¡á ¼«ñπ½¿
  7888.         ─────────────────────────────────────────────────────────────────
  7889.  
  7890.              é «»ÑαáΓ«αÑ uses ó  «ß¡«ó¡«⌐  »α«úαἼѠ ñ«½ª¡δ  ß«ñÑαªáΓ∞ß∩
  7891.         ¿¼Ñ¡á óßÑσ ¼«ñπ½Ñ⌐, ¡Ñ»«ßαÑñßΓóÑ¡¡« ¿½¿ ¬«ßóÑ¡¡« ¿ß»«½∞ºπѼδσ «ß-
  7892.         ¡«ó¡«⌐ »α«úαá¼¼«⌐. Éáßß¼«Γα¿¼ ß½ÑñπεΘ¿⌐ »α¿¼Ñα:
  7893.  
  7894.              Program Prog;
  7895.              uses Unit1, Unit2
  7896.              const a = b;
  7897.              begin
  7898.              end.
  7899.              end.
  7900.  
  7901.              unit Unit2;
  7902.              interface
  7903.              uses Unit1;
  7904.              const b = c;
  7905.              implementation
  7906.              end.
  7907.  
  7908.              unit Unit1;
  7909.              interface
  7910.              const c = 1;
  7911.              implementation
  7912.              const d = 2;
  7913.              end;
  7914.  
  7915.              é ñá¡¡«¼ »α¿¼ÑαÑ Unit12 ¡Ñ»«ßαÑñßΓóÑ¡¡« ºáó¿ß¿Γ «Γ Unit1,  á
  7916.         Prog ¡Ñ»«ßαÑñßΓóÑ¡¡« ºáó¿ß¿Γ «Γ Unit2.  èα«¼Ñ Γ«ú«,  Prog ºáó¿ß¿Γ
  7917.         ¬«ßóÑ¡¡« «Γ Unit1 (τÑαѺ Unit1),  σ«Γ∩ ¡¿  «ñ¿¡  ¿º  «»¿ßá¡¡δσ  ó
  7918.         Unit1 ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ó Prog ¡Ñ ñ«ßΓπ»Ñ¡.
  7919.  
  7920.              ä½∩ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ ¬«¼»¿½∩Γ«α ñ«½ªÑ¡ ¿¼ÑΓ∞ ó«º¼«ª¡«ßΓ∞
  7921.  
  7922.          B.Pascal 7 & Objects/LR     - 176 -
  7923.  
  7924.         ¡áσ«ñ¿Γ∞ óßÑ ¼«ñπ½¿,  «Γ ¬«Γ«αδσ «¡á »α∩¼« ¿½¿ ¬«ßóÑ¡¡«  ºáó¿ß¿Γ.
  7925.         Å«φΓ«¼π, ñ½∩  ¬«¼»¿½∩µ¿¿ Prog ¬«¼»¿½∩Γ«α ñ«½ªÑ¡ ¿¼ÑΓ∞ ó«º¼«ª¡«ßΓ∞
  7926.         ¡á⌐Γ¿ ¿ Unit1, ¿ Unit2, ¿¡áτѠ󫺡¿¬¡ÑΓ «Φ¿í¬á.
  7927.  
  7928.              è«úñá ó ¿¡ΓÑαΣÑ⌐ß¡πε τáßΓ∞ ¼«ñπ½∩ ó¡«ß∩Γß∩ ¿º¼Ñ¡Ñ¡¿∩, ñαπú¿Ñ
  7929.         ¼«ñπ½¿,  ¿ß»«½∞ºπεΘ¿Ñ φë༫ñπ½∞, ñ«½ª¡δ íδΓ∞ ºá¡«ó« ß¬«¼»¿½¿α«-
  7930.         óá¡δ. Åα¿ ¿ß»«½∞º«óá¡¿¿ ¬«¼á¡ñ Make ¿½¿ Build  ¬«¼»¿½∩Γ«α  ñѽáÑΓ
  7931.         φΓ« áóΓ«¼áΓ¿τÑ߬¿. Äñ¡á¬«, Ñß½¿ ¿º¼Ñ¡Ñ¡¿∩ ¬«ß¡π½¿ß∞ Γ«½∞¬« ßѬµ¿¿
  7932.         αÑ὿ºáµ¿¿ ¿½¿ ßѬµ¿¿ ¿¡¿µ¿á½¿ºáµ¿¿,  Γ« ñαπú¿Ñ ¼«ñπ½¿, ó ¬«Γ«αδσ
  7933.         ¿ß»«½∞ºπÑΓß∩ φë༫ñπ½∞,  »ÑαѬ«¼»¿½¿α«óáΓ∞ ¡Ñ ¡πª¡«. é »αÑñδñπ-
  7934.         ΘѼ »α¿¼ÑαÑ,  Ñß½¿ ¿¡ΓÑαΣÑ⌐ß¡á∩  τáßΓ∞  ¼«ñπ½∩  Unit1  ¿º¼Ñ¡¿½áß∞
  7935.         (¡á»α¿¼Ñα, ß = 2), Γ« ¼«ñπ½∞ Unit2 ¡πª¡« »ÑαѬ«¼»¿½¿α«óáΓ∞. êº¼Ñ-
  7936.         ¡Ñ¡¿Ñ ªÑ ßѬµ¿¿ αÑ὿ºáµ¿¿ (¡á»α¿¼Ñα,  d = 1) ¡Ñ ΓαÑíπÑΓ »ÑαѬ«¼-
  7937.         »¿½∩µ¿¿ Unit2.
  7938.  
  7939.              Åα¿ ¬«¼»¿½∩µ¿¿ ¼«ñπ½∩ ó Borland Pascal ¡á «ß¡«óÑ ¬«¡Γα«½∞¡«⌐
  7940.         ßπ¼¼δ ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ óδτ¿ß½∩ÑΓß∩ ¡«¼Ñα óÑαß¿¿ ¼«ñπ½∩. é »αÑ-
  7941.         ñδñπΘѼ  »α¿¼ÑαÑ  »α¿  ¬«¼»¿½∩µ¿¿ ¼«ñπ½∩ Unit2 ó ß¬«¼»¿½¿α«óá¡¡«⌐
  7942.         óÑαß¿¿ ¼«ñπ½∩ Unit2 ß«σαá¡∩ÑΓß∩ ¡«¼Ñα óÑαß¿¿  ¼«ñπ½∩  Unit1.  Åα¿
  7943.         ¬«¼»¿½∩µ¿¿ «ß¡«ó¡«⌐ »α«úαá¼¼δ ¡«¼Ñα óÑαß¿¿ ¼«ñπ½∩ Unit1 ßαáó¡¿óá-
  7944.         ÑΓß∩ ß ¡«¼Ñα«¼ óÑαß¿¿,  ß«σαá¡Ñ¡¡δ¼ ó ¼«ñπ½Ñ Unit2.  àß½¿  ¡«¼Ñαá
  7945.         óÑαß¿⌐  ¡Ñ  ß«ó»áñáεΓ,  τΓ« ßó¿ñÑΓѽ∞ßΓóπÑΓ «í ¿º¼Ñ¡Ñ¡¿¿ ó ¿¡ΓÑα-
  7946.         ΣÑ⌐ß¡«⌐ τáßΓ¿ ¼«ñπ½∩ Unit1 ß« óαѼѡ¿ »«ß½Ññ¡Ñ⌐ ¬«¼»¿½∩µ¿¿ ¼«ñπ½∩
  7947.         Unit2, ¬«¼»¿½∩Γ«α, ó ºáó¿ß¿¼«ßΓ¿ «Γ αѪ¿¼á ¬«¼»¿½∩µ¿¿, óδñáÑΓ ß«-
  7948.         «íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ¿½¿ »ÑαѬ«¼»¿½¿απÑΓ ¼«ñπ½∞ Unit2 (ó ºáó¿ß¿¼«ßΓ¿
  7949.         «Γ αѪ¿¼á ¬«¼»¿½∩µ¿¿).
  7950.  
  7951.  
  7952.  
  7953.          B.Pascal 7 & Objects/LR     - 177 -
  7954.  
  7955.                           ÅÑαѬαÑßΓ¡δÑ ßß佬¿ ¡á ¼«ñπ½¿
  7956.         ─────────────────────────────────────────────────────────────────
  7957.  
  7958.              ÉẼÑΘÑ¡¿Ñ ó  ßѬµ¿¿  αÑ὿ºáµ¿¿  «»ÑαáΓ«αá  uses  »«ºó«½∩ÑΓ
  7959.         "߬αδΓ∞" ó¡πΓαÑ¡¡¿Ñ ñÑΓ὿ ¼«ñπ½∩,  »«ß¬«½∞¬π ¿ß»«½∞ºπѼδÑ ó ßѬ-
  7960.         µ¿¿ αÑ὿ºáµ¿¿ ¼«ñπ½¿ «¬áºδóáεΓß∩ "¡Ñó¿ñ¿¼δ¼¿" ñ½∩ Γ«ú«, ¬Γ« φΓ«Γ
  7961.         ¼«ñπ½∞ ¿ß»«½∞ºπÑΓ.  ü«½ÑÑ ó᪡δ¼,  «ñ¡á¬«,  ∩ó½∩ÑΓß∩ Γ«,  τΓ« φΓ«
  7962.         »«ºó«½∩ÑΓ óá¼ ßΓα«¿Γ∞ óºá¿¼«ºáó¿ß¿¼δÑ ¼«ñπ½¿.
  7963.  
  7964.              é ß½ÑñπεΘÑ⌐ »α«úαἼѠ»«¬áºá¡δ ñóá ¼«ñπ½∩,  ¬«Γ«αδÑ "¿ß»«½∞-
  7965.         ºπεΓ" ñαπú ñαπúá. Äß¡«ó¡á∩ »α«úαá¼¼á Circular ¿ß»«½∞ºπÑΓ ¼«ñπ½∞ ß
  7966.         ¿¼Ñ¡Ñ¼ Display. î«ñπ½∞ Display ß«ñÑαª¿Γ ó ßó«Ñ⌐ ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬ-
  7967.         µ¿¿ «ñ¡π »α«úαá¼¼π WriteXY, ¬«Γ«αá∩ ¿¼ÑÑΓ Γα¿ »áαá¼ÑΓαá: »áα𠬫-
  7968.         «αñ¿¡áΓ (x,y) ¿ ß««íΘÑ¡¿Ñ ñ½∩ óδó«ñá ¡á φ¬αá¡. WriteXY »ÑαѼÑΘáÑΓ
  7969.         ¬παß«α ó Γ«τ¬π (x,y) ¿ óδó«ñ¿Γ Γá¼ ß««íΘÑ¡¿Ñ.  é »α«Γ¿ó¡«¼ ß½πτáÑ
  7970.         «¡á óδºδóáÑΓ »α«ßΓπε »α«úαá¼¼π «íαáí«Γ¬¿ «Φ¿í¬¿.
  7971.  
  7972.              Å«¬á ¼δ ¡Ñ ó¿ñ¿¼ ºñÑß∞ ¡¿τÑú« ¿¡ΓÑαÑß¡«ú«: »α«µÑñπαá WriteXY
  7973.         »α«ßΓ« ¿ß»«½∞ºπÑΓß∩ ó¼ÑßΓ« »α«µÑñπαδ Write.  Äñ¡á¬« ñá½ÑÑ,  ¬«úñá
  7974.         »α«úαἼᠫíαáí«Γ¬¿ «Φ¿í¬¿ íπñÑΓ óδó«ñ¿Γ∞ ß««íΘÑ¡¿Ñ ¡á φ¬αá¡, ¡á-
  7975.         τ¿¡áεΓß∩  »ÑαѬαÑßΓ¡δÑ ßß佬¿ (óÑñ∞ »α¿ φΓ«¼ «¡á ß¡«óá ¿ß»«½∞ºπÑΓ
  7976.         WriteXY).  Æá¬¿¼ «íαẫ¼,  ¼δ ¿¼ÑѼ »α«µÑñπαπ WriteXY, óδºδóáεΘπε
  7977.         »α«µÑñπαπ «íαáí«Γ¬¿ «Φ¿í¬¿ SwapError,  ¬«Γ«αá∩ ó ßó«ε «τÑαÑñ∞ óδ-
  7978.         ºδóáÑΓ WriteXY ñ½∩ óδó«ñá ß««íΘÑ¡¿∩ ¡á φ¬αá¡.  àß½¿ π óáß πªÑ  «Γ
  7979.         óßÑú« φΓ«ú« ºá¬απª¿½áß∞ ú«½«óá,  ¡Ñ íÑñá.  äáóá⌐ΓÑ αáßß¼«Γα¿¼ ¿ß-
  7980.         σ«ñ¡δ⌐ ¬«ñ ó »α¿¼ÑαÑ ¿ πó¿ñ¿¼, τΓ« óßÑ φΓ« ¡Ñ ßΓ«½∞ πª ºá»πΓá¡«.
  7981.  
  7982.              Äß¡«ó¡á∩ »α«úαá¼¼á Circular «τ¿ΘáÑΓ φ¬αá¡  ¿  óδ»«½¡∩ÑΓ  Γα¿
  7983.         «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ WriteXY:
  7984.  
  7985.              program Circular;
  7986.              { óδó«ñ¿Γ ΓѬßΓ, ¿ß»«½∞ºπ∩ WriteXY }
  7987.  
  7988.              uses
  7989.                 WinCrt, Display;
  7990.  
  7991.              begin
  7992.                ClrScr;
  7993.                WriteXY(1, 1, 'ïÑóδ⌐ óÑασ¡¿⌐ πú«½ φ¬αá¡á');
  7994.                WriteXY(100, 100, 'çá »αÑñѽἿ φ¬αá¡á');
  7995.                WriteXY(81 - Lenght('æ¡«óá ó φ¬αá¡..'), 15,
  7996.                                    'æ¡«óá ó φ¬αá¡..');
  7997.              end.
  7998.  
  7999.              éºú½∩¡¿ΓÑ ¡á  ¬««αñ¿¡áΓδ (x,y) »α¿ óΓ«α«¼ «íαáΘÑ¡¿¿ ¬ »α«µÑ-
  8000.         ñπαÑ WriteXY.  é Γ«τ¬Ñ ß ¬««αñ¿¡áΓἿ (100,100) ¡á 80σ25-ß¿¼ó«½∞-
  8001.         ¡«¼  φ¬αá¡Ñ  óδóÑßΓ¿ ΓѬßΓ ¡Ñ󫺼«ª¡«.  äáóá⌐ΓÑ ΓÑ»Ñα∞ »«ß¼«Γα¿¼,
  8002.         ¬á¬ αáí«ΓáÑΓ »α«µÑñπαá WriteXY.  äá½ÑÑ »α¿óÑñÑ¡  ΓѬßΓ  ¿ßσ«ñ¡«ú«
  8003.         ¬«ñá ¼«ñπ½∩ Display, ó ¬«Γ«α«¼ ß«ñÑনΓß∩ »α«µÑñπαá WriteXY. àß½¿
  8004.         ¬««αñ¿¡áΓδ (x,y) ∩ó½∩εΓß∩ ñ«»πßΓ¿¼δ¼¿, «¡á óδó«ñ¿Γ ¡á φ¬αá¡ ß««í-
  8005.         ΘÑ¡¿Ñ. é »α«Γ¿ó¡«¼ ß½πτáÑ «¡á óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  8006.  
  8007.              unit Display;
  8008.  
  8009.          B.Pascal 7 & Objects/LR     - 178 -
  8010.  
  8011.              { ß«ñÑαª¿Γ »α«ßΓπε »α«úαá¼¼π óδó«ñá ¿¡Σ«α¼áµ¿¿ ¡á φ¬αá¡ }
  8012.  
  8013.              interface
  8014.  
  8015.              procedure WriteXY(X,Y : integer, Message : string);
  8016.  
  8017.              implementation
  8018.              uses
  8019.                 Crt, Error;
  8020.              procedure WriteXY(X,Y : integer, Message : string);
  8021.              begin
  8022.                if (X in [1..80] and Y in [1..25] then
  8023.                begin
  8024.                  Goto(X,Y);
  8025.                  Write(Message);
  8026.                end;
  8027.                else
  8028.                  ShowError('ìÑóÑα¡δÑ ¬««αñ¿¡áΓδ ó »α«µÑñπαÑ WriteXY');
  8029.              end;
  8030.  
  8031.              end.
  8032.  
  8033.              Åα«µÑñπαá ShowError, óδºδóáѼá∩ ó »α«µÑñπαÑ WriteXY, »«¬áºá-
  8034.         ¡á ó »α¿óÑñÑ¡¡«¼ ñá½ÑÑ ¿ßσ«ñ¡«¼ ¬«ñÑ ¼«ñπ½∩ Error. Ä¡á óßÑúñá óδ-
  8035.         ó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ¡á 25-⌐ ßΓα«¬Ñ φ¬αá¡á.
  8036.  
  8037.              unit Error;
  8038.              { ß«ñÑαª¿Γ »α«ßΓπε »α«úαá¼¼π ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ }
  8039.  
  8040.              interface
  8041.  
  8042.              procedure ShowError(ErrMsg : string);
  8043.  
  8044.              implementation
  8045.  
  8046.              uses
  8047.                 Display;
  8048.  
  8049.              procedure ShowError(ErrMsg :string);
  8050.              begin
  8051.                WriteXY(1,25, 'ÄΦ¿í¬á: '+ ErrMsg);
  8052.              end;
  8053.  
  8054.              end.
  8055.  
  8056.              ÄíαáΓ¿ΓѠ󡿼᡿Ñ,  τΓ«  «»ÑαáΓ«αδ  uses ó ßѬµ¿¿ αÑ὿ºáµ¿¿
  8057.         «í«¿σ ¼«ñπ½Ñ⌐ (Display ¿ Error) ßßδ½áεΓß∩ ñαπú ¡á ñαπúá.  ¥Γ¿ ñóá
  8058.         ¼«ñπ½∩ ¼«úπΓ ßßδ½áΓ∞ß∩ ñαπú ¡á ñαπúá ó ßѬµ¿¿ αÑ὿ºáµ¿¿ í½áú«ñá-
  8059.         α∩ Γ«¼π,  τΓ« Borland Pascal ¼«ªÑΓ ñ½∩  «íÑ¿σ  ¼«ñπ½Ñ⌐  óδ»«½¡∩Γ∞
  8060.         »«½¡πε ¬«¼»¿½∩µ¿ε ¿¡ΓÑαΣÑ⌐ß¡δσ ßѬµ¿⌐.  äαπú¿¼¿ ß½«óἿ, ¬«¼»¿½∩-
  8061.         Γ«α ó«ß»α¿¡¿¼áÑΓ ßß佬π ¡á τáßΓ¿τ¡« ß¬«¼»¿½¿α«óá¡¡δ⌐ ¼«ñπ½∞  A  ó
  8062.         ßѬµ¿¿  αÑ὿ºáµ¿¿ ¼«ñπ½∩ é,  Ñß½¿ ¿¡ΓÑαΣÑ⌐ß¡δÑ ßѬµ¿¿ ¼«ñπ½∩ A ¿
  8063.         ¼«ñπ½∩ é ¡Ñ ºáó¿ß∩Γ ñαπú «Γ ñαπúá (¿,  ß½Ññ«óáΓѽ∞¡«, ßΓα«ú« ß«í-
  8064.  
  8065.          B.Pascal 7 & Objects/LR     - 179 -
  8066.  
  8067.         ½εñáεΓß∩ »αáó¿½á Åá߬á½∩, ¬áßáεΘ¿Ñß∩ »«α∩ñ¬á «»¿ßá¡¿∩).
  8068.  
  8069.              é ß½πτáÑ  óºá¿¼«ºáó¿ß¿¼«ßΓ¿  ¿¡ΓÑαΣÑ⌐ß¡δσ  ßѬµ¿⌐ ¼«ñπ½Ñ⌐ óδ
  8070.         »«½πτ¿ΓÑ «Φ¿í¬π ¿º-ºá »ÑαѬαÑßΓ¡δσ ßß佫¬.
  8071.  
  8072.  
  8073.                         æ«ó¼ÑßΓ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ «»¿ßá¡¿⌐
  8074.         ─────────────────────────────────────────────────────────────────
  8075.  
  8076.              î«ª¡« ¼«ñ¿Σ¿µ¿α«óáΓ∞ »α«µÑñπαπ WriteXY Γᬿ¼ «íαẫ¼,  τΓ«íδ
  8077.         «¡á ó«ß»α¿¡¿¼á½á ñ«»«½¡¿Γѽ∞¡δ⌐ »áαá¼ÑΓα,  ºáñáεΘ¿⌐ »α∩¼«πú«½∞¡«Ñ
  8078.         «¬¡« ¡á φ¬αá¡Ñ:
  8079.  
  8080.              procedure WriteXY(SomeWindow : WindRec;
  8081.                                X, Y :       integer;
  8082.                                Message :    string);
  8083.  
  8084.              procedure ShowError(Somewindow : WindRec; ErrMsg : string);
  8085.  
  8086.              ìπª¡« πτ¿ΓδóáΓ∞,  τΓ« ñóÑ »α«µÑñπαδ ¡áσ«ñ∩Γß∩ ó αạδσ ¼«ñπ-
  8087.         ½∩σ. äáªÑ Ñß½¿ óδ «»¿ßδóáÑΓÑ WindData ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ «ñ¡«-
  8088.         ú« ¼«ñπ½∩,  Γ« ¡ÑΓ Γᬫú« ñ«»πßΓ¿¼«ú« ß»«ß«íá, ß »«¼«Θ∞ε ¬«Γ«α«ú«
  8089.         φΓ« «»¿ßá¡¿Ñ ¼«ú½« íδ íδΓ∞ ñ«ßΓπ»¡« ó ñαπú«¼ ¼«ñπ½Ñ. ÉÑΦÑ¡¿Ñ ß«ß-
  8090.         Γ«¿Γ ó Γ«¼,  τΓ«íδ «»¿ßáΓ∞ ΓαÑΓ¿⌐ ¼«ñπ½∞,  ó  ¬«Γ«α«¼  ß«ñÑনΓß∩
  8091.         Γ«½∞¬« «»αÑñѽѡ¿Ñ ºá»¿ß¿ WindRec:
  8092.  
  8093.              unit WindData;
  8094.              interface
  8095.  
  8096.              type
  8097.                WindRec = record
  8098.                           X1, Y1, X2, Y2 : integer;
  8099.                           ForeColor,
  8100.                           BackColor      : byte;
  8101.                           Active         : boolean;
  8102.                          end;
  8103.              implementation
  8104.              end.
  8105.  
  8106.              é ñ«íáó½Ñ¡¿Ñ ¬ Γ«¼π, τΓ« ¼«ñ¿Σ¿¬áµ¿∩ ¬«ñá »α«µÑñπα WriteXY ¿
  8107.         ShowError  »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ ¡«óδ⌐ »áαá¼ÑΓα,  ó ¿¡ΓÑαΣÑ⌐ß¡«⌐
  8108.         ßѬµ¿¿  ¼«ñπ½Ñ⌐  Display  ¿  Error  ΓÑ»Ñα∞  ¼«ªÑΓ  ¿ß»«½∞º«óáΓ∞ß∩
  8109.         WindData.  ¥Γ«  ñ«»πßΓ¿¼«,  Γᬠ¬á¬ ¼«ñπ½∞ WindData ¡Ñ ºáó¿ß¿Γ «Γ
  8110.         ßó«Ñú« «»ÑαáΓ«αá uses, á ¼«ñπ½¿ Display ¿ Error ßßδ½áεΓß∩ ñαπú ¡á
  8111.         ñαπúá Γ«½∞¬« ó ß««ΓóÑΓßΓóπεΘ¿σ ßѬµ¿∩σ αÑ὿ºáµ¿¿.
  8112.  
  8113.              éºá¿¼«ºáó¿ß¿¼δÑ ¼«ñπ½¿ ¼«úπΓ íδΓ∞ »«½Ñº¡δ ó «Γñѽ∞¡δσ ß¿Γπá-
  8114.         µ¿∩σ, ¡« ¿ß»«½∞º«óáΓ∞ ¿σ ¡áñ« á¬¬παáΓ¡«. àß½¿ óδ íπñÑΓÑ »α¿¼Ñ¡∩Γ∞
  8115.         ¿σ Γá¬,  úñÑ φΓ« ¡Ñ ΓαÑíπÑΓß∩,  »α«úαá¼¼π ßΓá¡ÑΓ ß½«ª¡Ñ⌐ «íß½πª¿-
  8116.         óáΓ∞, ¿ «¡á íπñÑΓ í«½∞ΦÑ »«ñóÑαªÑ¡á «Φ¿í¬á¼.
  8117.  
  8118.  
  8119.  
  8120.          B.Pascal 7 & Objects/LR     - 180 -
  8121.  
  8122. ───────────────────────────────────────────────────────────────────────
  8123.                   â½áóá 11. ä¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿
  8124.         ─────────────────────────────────────────────────────────────────
  8125.  
  8126.              ä¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδÑ  í¿í½¿«ΓѬ¿ (DLL) »«ºó«½∩εΓ ¡Ñ߬«½∞-
  8127.         ¬¿¼ »α¿¬½áñ¡δ¼ »α«úαá¼¼á Windows ¿½¿ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á  ß«ó-
  8128.         ¼ÑßΓ¡« ¿ß»«½∞º«óáΓ∞ ¬«ñ ¿ αÑßπαßδ. é Borland Pascal óδ ¼«ªÑΓÑ ¬á¬
  8129.         ¿ß»«½∞º«óáΓ∞ ßπΘÑßΓóπεΘ¿Ñ DLL,  Γᬠ¿ ¡á»¿ßáΓ∞  ßó«¿  ß«íßΓóÑ¡¡δÑ
  8130.         DLL, ¬«Γ«αδÑ ¼«ª¡« »α¿¼Ñ¡∩Γ∞ ó ñαπú¿σ »α«úαá¼¼áσ.
  8131.  
  8132.                                  ùΓ« ΓᬫѠDLL?
  8133.         ─────────────────────────────────────────────────────────────────
  8134.  
  8135.              DLL - φΓ« óδ»«½¡∩Ѽδ⌐ ¼«ñπ½∞, ß«ñÑαªáΘ¿⌐ »α«úαá¼¼¡δ⌐ ¬«ñ ¿½¿
  8136.         αÑßπαßδ, ¿ß»«½∞ºπѼδÑ  ñαπú¿¼¿  »α¿¬½áñ¡δ¼¿  »α«úαἼἿ ¿½¿ DLL.
  8137.         è«¡µÑ»Γπá½∞¡« ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼá∩ í¿í½¿«ΓѬá á¡á½«ú¿τ¡á∩  ¼«-
  8138.         ñπ½ε - «¡¿ «íÑß»Ñτ¿óáεΓ ñ½∩ »α«úαá¼¼ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.  Äñ¡á¬«
  8139.         ¼Ñªñπ DLL ¿ ¼«ñπ½∩¼¿ ¿¼ÑεΓß∩ ßπΘÑßΓóÑ¡¡δÑ αẽ¿τ¿∩.  é τáßΓ¡«ßΓ¿,
  8140.         ¼«ñπ½¿ ¬«¼»«¡πεΓß∩ ßΓáΓ¿τÑ߬¿, á DLL - ñ¿¡á¼¿τÑ߬¿.
  8141.  
  8142.              è«úñá »α«úαἼᠠ¿ß»«½∞ºπÑΓ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ¿º ¼«ñπ½∩,
  8143.         ¬«»¿∩ ¬«ñá φΓ«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿  ßΓáΓ¿τÑ߬¿  ¬«¼»«¡πÑΓß∩  ß
  8144.         óδ»«½¡∩Ñ¼δ¼ Σá⌐½«¼ »α«úαá¼¼δ.  àß½¿ ñóÑ »α«úαá¼¼δ óδ»«½¡∩εΓß∩ «ñ-
  8145.         ¡«óαѼѡ¡« ¿ ¿ß»«½∞ºπεΓ «ñ¡π ¿ Γπ ªÑ »α«µÑñπαπ ¿ Σπ¡¬µ¿ε  ¼«ñπ½∩,
  8146.         Γ« ó  ß¿ßΓѼѠ íπñÑΓ  »α¿ßπΓßΓó«óáΓ∞ ñóÑ ¬«»¿¿ φΓ«⌐ »«ñ»α«úαá¼¼δ.
  8147.         ¥ΣΣÑ¬Γ¿ó¡ÑÑ í佫 íδ ¿ß»«½∞º«óáΓ∞ «ñ¡π  ¬«»¿ε.  Æá¬πε  ó«º¼«ª¡«ßΓ∞
  8148.         »αÑñ«ßΓáó½∩ÑΓ DLL.
  8149.  
  8150.              é «Γ½¿τ¿Ñ  «Γ  ¼«ñπ½∩  DLL ¡Ñ ¬«¼»«¡πÑΓß∩ ß ¿ß»«½∞ºπεΘÑ⌐ DLL
  8151.         »α«úαá¼¼«⌐. é¼ÑßΓ« φΓ«ú« ¬«ñ ¿ αÑßπαßδ DLL ¡áσ«ñ∩Γß∩ ó  «Γñѽ∞¡«¼
  8152.         óδ»«½¡∩Ѽ«¼ Σá⌐½Ñ  ß αáßΦ¿αÑ¡¿Ñ¼ .DLL.  ¥Γ«Γ Σá⌐½ ñ«½ªÑ¡ »α¿ßπΓß-
  8153.         Γó«óáΓ∞ »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ-¬½¿Ñ¡Γá.  éδºδóáѼδÑ  »α«úαá¼¼«⌐
  8154.         »α«µÑñπαδ ¿  Σπ¡¬µ¿¿  ñ¿¡á¼¿τÑ߬¿  ¬«¼»«¡πεΓß∩  ß« ßó«¿¼¿ Γ«τ¬á¼¿
  8155.         óσ«ñá ó ¿ß»«½∞ºπѼ«⌐ »α«úαἼѠDLL.
  8156.  
  8157.              äαπú«Ñ «Γ½¿τ¿Ñ ¼«ñπ½Ñ⌐ «Γ DLL ß«ßΓ«¿Γ ó Γ«¼,  τΓ« ¼«ñπ½¿ ¼«-
  8158.         úπΓ φ¬ß»«αΓ¿α«óáΓ∞  Γ¿»δ,  ¬«¡ßΓá¡Γδ,  ñá¡¡δÑ ¿ «íΩѬΓδ,  á DLL -
  8159.         Γ«½∞¬« »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
  8160.  
  8161.              ùΓ«íδ ÑÑ ¼«ª¡« í佫 ¿ß»«½∞º«óáΓ∞ ó »α«úαἼѠBorland Pascal,
  8162.         DLL ¡Ñ «í∩ºáΓѽ∞¡« ñ«½ª¡á íδΓ∞ ¡á»¿ßá¡á ¡á Borland Pascal.  èα«¼Ñ
  8163.         Γ«ú«, »α«úαá¼¼δ,  ¡á»¿ßá¡¡δÑ ¡á ñαπú¿σ ∩ºδ¬áσ, ¼«úπΓ ¿ß»«½∞º«óáΓ∞
  8164.         DLL, ¡á»¿ßá¡¡δÑ ¡á Borland Pascal.  DLL,  Γᬿ¼ «íαẫ¼, ¿ñÑá½∞¡«
  8165.         »«ñσ«ñ¿Γ »α¿ »α«úαá¼¼¡δσ »α«Ñ¬Γáσ, αÑ὿ºπѼδσ ¡á ¡Ñ߬«½∞¬¿σ ∩ºδ-
  8166.         ¬áσ.
  8167.  
  8168.  
  8169.                                 êß»«½∞º«óá¡¿Ñ DLL
  8170.         ─────────────────────────────────────────────────────────────────
  8171.  
  8172.              ùΓ«íδ ¼«ñπ½∞ ¼«ú ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε  ó  DLL,
  8173.         «¡ ñ«½ªÑ¡  ¿¼»«αΓ¿α«óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ß »«¼«Θ∞ε «»¿ßá¡¿∩
  8174.         external. ìá»α¿¼Ñα,  ó ß½ÑñπεΘѼ «»¿ßá¡¿¿ ¿º DLL ¿ ¿¼Ñ¡Ñ¼  KERNEL
  8175.         (∩ñα« Windows) ¿¼»«αΓ¿απÑΓß∩ Σπ¡¬µ¿∩ ß ¿¼Ñ¡Ñ¼ GlobalAlloc:
  8176.  
  8177.          B.Pascal 7 & Objects/LR     - 181 -
  8178.  
  8179.  
  8180.              function GlobalAlloc(Glags: Word; Bytes: Longint): THandle;
  8181.                  far; external 'KERNEL' index 15;
  8182.  
  8183.              é ¿¼»«αΓ¿απѼ«⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ñ¿αÑ¬Γ¿óá external ºá-
  8184.         ¡¿¼áÑΓ ¼ÑßΓ« «»¿ßáΓѽ∞¡«⌐ ¿ «»ÑαáΓ«α¡«⌐ τáßΓ¿, ¬«Γ«αδÑ ¡πª¡« í佫
  8185.         íδ ó¬½ετ¿Γ∞ ó »α«Γ¿ó¡«¼  ß½πτáÑ.  é  ¿¼»«αΓ¿απѼδσ  »α«µÑñπαáσ  ¿
  8186.         Σπ¡¬µ¿∩σ ñ«½ª¡á  ¿ß»«½∞º«óáΓ∞ß∩ ñá½∞¡∩∩ ¼«ñѽ∞ ó맮óá,  óδíαá¡¡á∩
  8187.         ¬½ετÑóδ¼ ß½«ó«¼ far ¿½¿ ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá {$F+}; ó« óßѼ «ß-
  8188.         Γá½∞¡«¼ ¿σ »«óÑñÑ¡¿Ñ ¡Ñ «Γ½¿τáÑΓß∩ «Γ «íδτ¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
  8189.  
  8190.              Borland Pascal  ¿¼»«αΓ¿απÑΓ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ΓαѼ∩ ß»«ß«-
  8191.         íἿ:
  8192.  
  8193.              - »« ¿¼Ñ¡¿;
  8194.              - »« ¡«ó«¼π ¿¼Ñ¡¿;
  8195.              - »« »«α∩ñ¬«ó«¼π ¡«¼Ñαπ.
  8196.  
  8197.              ö«α¼áΓ ñ¿αÑ¬Γ¿ó external ñ½∩ ¬áªñ«ú« ¿º ΓαÑσ ¼ÑΓ«ñ«ó »«¬áºá¡
  8198.         ó »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ.
  8199.  
  8200.              è«úñá «»ÑαáΓ«α index ¿½¿ name ¡Ñ π¬áºá¡, »α«µÑñπαá ¿½¿ Σπ¡¬-
  8201.         µ¿∩ φ¬ß»«αΓ¿απεΓß∩ »« ¿¼Ñ¡¿.  ¥Γ« ¿¼∩ ß«ó»áñáÑΓ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼
  8202.         »α«µÑñπαδ ¿½¿  Σπ¡¬µ¿¿.  é  ñá¡¡«¼ »α¿¼ÑαÑ »α«µÑñπαá ImportByName
  8203.         ¿¼»«αΓ¿απÑΓß∩ ¿º í¿í½¿«ΓѬ¿ 'TESTLIB' »« ¿¼Ñ¡¿ 'IMPORTBYNAME':
  8204.  
  8205.              procedure ImportByName; external 'TESTLIB';
  8206.  
  8207.              è«úñá ºáñá¡ «»ÑαáΓ«α name,  »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ¿¼»«αΓ¿απ-
  8208.         ÑΓß∩  »«ñ ¿¼Ñ¡Ñ¼,  «Γ½¿τ¡δ¼ «Γ ¿¼Ñ¡¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.  é ß½ÑñπεΘѼ
  8209.         »α¿¼ÑαÑ »α«µÑñπαá  ImportByName   ¿¼»«αΓ¿απÑΓß∩   ¿º   í¿í½¿«ΓѬ¿
  8210.         'TESTLIB' »« ¿¼Ñ¡¿ 'REALNAME':
  8211.  
  8212.              procedure ImportByName; external 'TESTLIB'name 'REALNAME'
  8213.  
  8214.              ìᬫ¡Ñµ, »α¿  ¡á½¿τ¿¿  «»ÑαáΓ«α  index »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩
  8215.         ¿¼»«αΓ¿απÑΓß∩ »« »«α∩ñ¬«ó«¼π º¡áτÑ¡¿ε. Æá¬«⌐ ó¿ñ ¿¼»«αΓá π¼Ñ¡∞Φá-
  8216.         ÑΓ óαѼ∩  ºáúαπº¬¿ ¼«ñπ½∩,  Γᬠ¬á¬ «Γ»áñáÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ »«¿ß¬á
  8217.         ¿¼Ñ¡¿  ó  Γáí½¿µÑ  ¿¼Ñ¡  DLL.  é  ß½ÑñπεΘѼ   »α¿¼ÑαÑ   »α«µÑñπαá
  8218.         ImportByOrd ¿¼»«αΓ¿απÑΓß∩ ¿º í¿í½¿«ΓѬ¿ 'TESTLIB':
  8219.  
  8220.              procedure ImportByOrd; external 'TESTLIB' index 5;
  8221.  
  8222.              ê¼∩ DLL  ºáñáÑΓß∩  »«ß½Ñ  ¬½ετÑó«ú« ß½«óá external,  á ¡«ó«Ñ
  8223.         ¿¼∩, ºáñá¡¡«Ñ ó «»ÑαáΓ«αÑ name,  ¡Ñ  «í∩ºá¡«  »αÑñßΓáó½∩Γ∞  ß«í«⌐
  8224.         ßΓ᫬«óδÑ ½¿ΓÑαá½δ.  ä«»π߬áÑΓß∩  ½εí«Ñ ßΓ᫬«ó«Ñ óδαáªÑ¡¿Ñ-¬«¡ß-
  8225.         Γá¡Γá. Ç¡á½«ú¿τ¡«,  »«α∩ñ¬«óδ⌐  ¡«¼Ñα,  ºáñáóáѼδ⌐  ó   «»ÑαáΓ«αÑ
  8226.         index, ¼«ªÑΓ íδΓ∞ ½εíδ¼ µÑ½«τ¿ß½Ñ¡¡δ¼ óδαáªÑ¡¿Ñ¼-¬«¡ßΓá¡Γ«⌐.
  8227.  
  8228.              const
  8229.                 TestLib = TestLib;
  8230.                 Ordinal = 5;
  8231.  
  8232.  
  8233.          B.Pascal 7 & Objects/LR     - 182 -
  8234.  
  8235.              procedure ImportByName; external TestLib;
  8236.              procedure ImportByName; external TestLibname 'REALNAME'
  8237.              procedure ImportByOrd; external TestLib index Ordinal;
  8238.  
  8239.              ò«Γ∩ DLL ¼«ªÑΓ ß«ñÑαªáΓ∞ »ÑαѼѡ¡δÑ, ¿¼»«αΓ¿α«óáΓ∞ ¿σ ó ñαπ-
  8240.         ú¿Ñ ¼«ñπ½¿ ¡Ñ󫺼«ª¡«.  ïεí«⌐ ñ«ßΓπ» ¬ »ÑαѼѡ¡δ¼ DLL ñ«½ªÑ¡ «ßπ-
  8241.         ΘÑßΓó½∩Γ∞ß∩ τÑαѺ »α«µÑñπα¡δ⌐ ¿¡ΓÑαΣÑ⌐ß.
  8242.  
  8243.  
  8244.                                  î«ñπ½¿ ¿¼»«αΓá
  8245.         ─────────────────────────────────────────────────────────────────
  8246.  
  8247.              Ä»¿ßá¡¿∩ ¿¼»«αΓ¿απѼδσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐  ¼«úπΓ  »«¼ÑΘáΓ∞ß∩
  8248.         ¡Ñ»«ßαÑñßΓóÑ¡¡« ó »α«úαá¼¼π, ¬«Γ«αá∩ ¿σ ¿¼»«αΓ¿απÑΓ. Äñ¡á¬« «íδτ-
  8249.         ¡« «¡¿ «íΩÑñ¿¡∩εΓß∩ ó ¼«ñπ½∞ ¿¼»«αΓá,  ß«ñÑαªáΘ¿⌐  «»¿ßá¡¿∩  óßÑσ
  8250.         »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó DLL, á ΓᬪѠóßÑ Γ¿»δ ¿ ¬«¡ßΓá¡Γδ, ¡Ñ«íσ«ñ¿-
  8251.         ¼δÑ ñ½∩ ¿¡ΓÑαΣÑ⌐ßá ß DLL. Åα¿¼ÑαἿ Γá¬¿σ ¼«ñπ½Ñ⌐ ¿¼»«αΓá ∩ó½∩εΓ-
  8252.         ß∩ »«ßΓáó½∩ѼδÑ  ß  Borland  Pascal  ¼«ñπ½¿ WinTypes,  WinProcs ¿
  8253.         WinAPI. î«ñπ½¿ ¿¼»«αΓá ¡Ñ «í∩ºáΓѽ∞¡δ ñ½∩ ¿¡ΓÑαΣÑ⌐ßá  ß  DLL,  ¡«
  8254.         «¡¿ º¡áτ¿Γѽ∞¡«  π»α«ΘáεΓ «íß½πª¿óá¡¿Ñ ¿ß»«½∞ºπεΘ¿σ ¼¡«ªÑßΓó« DLL
  8255.         »α«Ñ¬Γ«ó.
  8256.  
  8257.              é ¬áτÑßΓóÑ »α¿¼Ñαá αáßß¼«Γα¿¼ DLL ß ¿¼Ñ¡Ñ¼ DATETIME.DLL, ß«-
  8258.         ñÑαªáΘπε τÑΓδαÑ  »«ñ»α«úαá¼¼δ  ñ½∩  »«½πτÑ¡¿∩  ¿ πßΓᡫ󬿠ñáΓδ ¿
  8259.         óαѼѡ¿ ß »«¼«Θ∞ε Γ¿»á ºá»¿ß¿, ß«ñÑαªáΘÑ⌐ τ¿ß½«, ¼Ñß∩µ, ú«ñ ¿ ºá-
  8260.         »¿ß¿, ¬«Γ«αá∩ ß«ñÑαª¿Γ ßѬπ¡ñπ, ¼¿¡πΓπ ¿ τáß. é¼ÑßΓ« ß»Ñµ¿Σ¿¬áµ¿¿
  8261.         ß««ΓóÑΓßΓóπεΘ¿σ «»¿ßá¡¿⌐ »α«µÑñπαδ,  Σπ¡¬µ¿¿ ¿ Γ¿»á ó ¬áªñ«⌐  ¿ß-
  8262.         »«½∞ºπεΘÑ⌐ DLL  »α«úαἼѠóδ ¼«ªÑΓÑ »«ßΓα«¿Γ∞ ¡áα∩ñπ ß DLL ¼«ñπ½∞
  8263.         ¿¼»«αΓá. é ß½ÑñπεΘѼ »α¿¼ÑαÑ ß«ºñáÑΓß∩ Σá⌐½ .TPW  (ó  »αÑñ»«½«ªÑ-
  8264.         ¡¿¿, τΓ« µÑ½Ñó«⌐ »½áΓΣ«α¼«⌐ ∩ó½∩ÑΓß∩ Windows), ¡« «ΓßπΓßΓóπεΓ ¬«ñ
  8265.         ¿ ñá¡¡δÑ ñ½∩ ¿ß»«½∞ºπεΘÑ⌐ Ñú« »α«úαá¼¼δ.
  8266.  
  8267.              unit DateTime;
  8268.  
  8269.              interface
  8270.  
  8271.              type
  8272.                TTimeRec = record
  8273.                    Second: Integer;
  8274.                    Minute: Integer;
  8275.                    Hour: Integer;
  8276.                end;
  8277.  
  8278.              type
  8279.                TDateRec
  8280.                   TDateRec = record
  8281.                     Day: Integer;
  8282.                     Month: Integer;
  8283.                     Year: Integer;
  8284.                   end;
  8285.  
  8286.              procedure SetTime(var Time: TTimeRec);
  8287.              procedure GetTime(var Time: TTimeRec);
  8288.  
  8289.          B.Pascal 7 & Objects/LR     - 183 -
  8290.  
  8291.              procedure SetDate(var Date: TDateRec);
  8292.              procedure GetDate(var Date: TDateRec);
  8293.  
  8294.              inplementation
  8295.  
  8296.              procedure SetTime; external 'DATETIME' index 1;
  8297.              procedure GetTime; external 'DATETIME' index 2;
  8298.              procedure SetDate; external 'DATETIME' index 3;
  8299.              procedure GetTime; external 'DATETIME' index 4;
  8300.  
  8301.              end.
  8302.  
  8303.              ïεíá∩ »α«úαá¼¼á,   ¿ß»«½∞ºπεΘá∩  DATETIME.DLL  ¼«ªÑΓ  ΓÑ»Ñα∞
  8304.         »α«ßΓ« ºáñáΓ∞ ó ßó«Ñ¼ «»ÑαáΓ«αÑ uses  ¼«ñπ½∞  DateTime.  Åα¿óÑñѼ
  8305.         »α¿¼Ñα »α«úαá¼¼δ Windows:
  8306.  
  8307.              program ShowTime;
  8308.  
  8309.              uses WinCrt, DateTime;
  8310.  
  8311.              var
  8312.                Time: TTimeRec;
  8313.  
  8314.              begin
  8315.                GetTime(Time);
  8316.                with Time do
  8317.                  WriteLn('ÆÑ¬πΘÑÑ óαѼ∩: ', Hour, ':', Minute, ':',
  8318.                     Second);
  8319.              end.
  8320.  
  8321.              äαπú¿¼ »αÑ¿¼πΘÑßΓó«¼  ¿ß»«½∞º«óá¡¿∩  ¼«ñπ½∩ ¿¼»«αΓá,  Γᬫú«
  8322.         ¬á¬ DateTime, ∩ó½∩ÑΓß∩ Γ«, τΓ« »α¿ ¼«ñ¿Σ¿¬áµ¿¿ DATETIME.DLL «í¡«-
  8323.         ó¿Γ∞ ΓαÑíπÑΓß∩ Γ«½∞¬« ¼«ñπ½∞ ¿¼»«αΓá DateTime.
  8324.  
  8325.              è«úñá óδ ¬«¼»¿½¿απÑΓÑ ¿ß»«½∞ºπεΘπε DLL »α«úαá¼¼π, ¬«¼»¿½∩Γ«α
  8326.         ¡Ñ ¿ΘÑΓ DLL,  ΓᬠτΓ« ÑÑ »α¿ßπΓßΓó¿Ñ  ¡Ñ  ΓαÑíπÑΓß∩.  Äñ¡á¬«  DLL
  8327.         ñ«½ª¡á »α¿ßπΓßΓó«óáΓ∞ ó ß¿ßΓѼѠ»α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ.
  8328.  
  8329.              àß½¿ óδ »¿ΦÑΓÑ ß«íßΓóÑ¡¡δÑ DLL, «¡¿ ¡Ñ ¬«¼»¿½¿απεΓß∩ áóΓ«¼á-
  8330.         Γ¿τÑ߬¿ »α¿ ¬«¼»¿½∩µ¿¿ ¿ß»«½∞ºπεΘÑ⌐ ÑÑ »α«úαá¼¼δ ß »«¼«Θ∞ε ¬«¼á¡-
  8331.         ñδ Compile│Make. DLL ß½ÑñπÑΓ ¬«¼»¿½¿α«óáΓ∞ «Γñѽ∞¡«.
  8332.  
  8333.  
  8334.  
  8335.  
  8336.          B.Pascal 7 & Objects/LR     - 184 -
  8337.  
  8338.                         æΓáΓ¿τÑ߬¿⌐ ¿ ñ¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ
  8339.         ─────────────────────────────────────────────────────────────────
  8340.  
  8341.              ä¿αÑ¬Γ¿óá external «íÑß»Ñτ¿óáÑΓ ó«º¼«ª¡«ßΓ∞ ßΓáΓ¿τÑ߬«ú« ¿¼-
  8342.         »«αΓá »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¿º DLL.  æΓáΓ¿τÑ߬¿ ¿¼»«αΓ¿απѼá∩ »α«µÑ-
  8343.         ñπαá ¿ Σπ¡¬µ¿∩ óßÑúñá ßßδ½áÑΓß∩ ¡á «ñ¡π ¿ Γπ  ªÑ  Γ«τ¬π  óσ«ñá  ó
  8344.         DLL. ÉáßΦ¿αÑ¡¿∩  Windows ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS Borland »«ññÑα-
  8345.         ª¿óáÑΓ ΓᬪѠñ¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ,  »α¿ ¬«Γ«α«¼ ¿¼∩ DLL ¿ ¿¼∩  ¿½¿
  8346.         »«α∩ñ¬«óδ⌐ ¡«¼Ñα  ¿¼»«αΓ¿απѼ«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ºáñáÑΓß∩ ó«
  8347.         óαѼ∩ óδ»«½¡Ñ¡¿∩.  Åα¿óÑñÑ¡¡á∩ ¡¿ªÑ »α«úαá¼¼á ShowTime ¿ß»«½∞ºπÑΓ
  8348.         ñ¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ  ñ½∩ ó맮óá »α«µÑñπαδ GetTime ó DATETIME.DLL.
  8349.         ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á ¿ß»«½∞º«óá¡¿Ñ »ÑαѼѡ¡«⌐  »α«µÑñπα¡«ú«  Γ¿»á
  8350.         ñ½∩ »αÑñßΓáó½Ñ¡¿∩ áñαÑßá »α«µÑñπαδ GetTime.
  8351.  
  8352.              program ShowTime;
  8353.  
  8354.              uses WinProcs, WinTypes, WinCrt;
  8355.  
  8356.              type
  8357.                TTimeRec = record
  8358.                    Second: Integer;
  8359.                    Minute: Integer;
  8360.                    Hour: Integer;
  8361.                end;
  8362.                TGetTime = procedure(var Time: TTimeRec);
  8363.  
  8364.              var
  8365.                Time: TTimeRec;
  8366.                Handle: THAndle;
  8367.                GetTime: TGetTime;
  8368.  
  8369.              begin
  8370.                Handle := LoadLibrary('DATETIME.DLL');
  8371.                if Handle >= 32 then
  8372.                begin
  8373.                  @GetTie := GetProcAddress(Handle, 'GETTIME');
  8374.                  if @GetTime <> nil then
  8375.                   begin
  8376.                     GetTime(Time);
  8377.                     with Time do
  8378.                       WriteLn('ÆÑ¬πΘÑÑ óαѼ∩: ', Hour, ':', Minute, ':',
  8379.                                Second);
  8380.                    end;
  8381.                    FreeLibrary(Handle);
  8382.                  end;
  8383.              end;
  8384.  
  8385.  
  8386.  
  8387.  
  8388.          B.Pascal 7 & Objects/LR     - 185 -
  8389.  
  8390.                                   ìỿßá¡¿Ñ DLL
  8391.         ─────────────────────────────────────────────────────────────────
  8392.  
  8393.              æΓαπ¬Γπαá DLL Borland Pascal ¿ñÑ¡Γ¿τ¡á∩ ßΓαπ¬ΓπαÑ »α«úαá¼¼δ,
  8394.         ¡« DLL ¡áτ¿¡áÑΓß∩ ó¼ÑßΓ« ºáú«½«ó¬á program ß  ºáú«½«ó¬á  program.
  8395.         çáú«½«ó«¬ library π¬áºδóáÑΓ Borland Pascal, τΓ« ¡πª¡« ß«ºñáΓ∞ óδ-
  8396.         »«½¡∩Ѽδ⌐ Σá⌐½ ß αáßΦ¿αÑ¡¿Ñ¼ .DLL, á ¡Ñ ß αáßΦ¿αÑ¡¿Ñ¼ .EXE, ¿ óδ-
  8397.         »«½¡∩Ѽδ⌐ Σá⌐½ »«¼ÑτáÑΓß∩ ¬á¬ DLL.
  8398.  
  8399.          í¿í½¿«ΓѬá
  8400.          │
  8401.          │   ┌─────────────┐   ┌───┐                    ┌──────┐
  8402.          └──>│  ºáú«½«ó«¬  ├──>│ ; ├─┬──────────────────│ í½«¬ ├───────>
  8403.              │ í¿í½¿«ΓѬ¿  │   └───┘ │   ┌──────────┐ ^ └──────┘
  8404.              └─────────────┘         └──>│ «»ÑαáΓ«α ├─┘
  8405.                                          │   uses   │
  8406.                                          └──────────┘
  8407.  
  8408.                         ┌─────────┐   ┌───────────────┐
  8409.          ºáú«½«ó«¬ ────>│ library ├──>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├─────>
  8410.          »α«µÑñπαδ      └─────────┘   └───────────────┘
  8411.  
  8412.              é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ »α¿óÑñѡᠠ«τÑ¡∞  »α«ßΓπε  DLL  ß
  8413.         ñóπ¼∩ φ¬ß»«αΓ¿απÑ¼δ¼¿ Σπ¡¬µ¿∩¼¿ Min ¿ Max, ¬«Γ«αδÑ óδτ¿ß½∩εΓ ¡á¿-
  8414.         ¼Ñ¡∞ΦÑÑ ¿ ¡á¿í«½∞ΦÑÑ ¿º ñóπσ µÑ½«τ¿ß½Ñ¡¡δσ º¡áτÑ¡¿⌐.
  8415.  
  8416.              library MinMax;
  8417.  
  8418.              function Min(X, Y: Integer): Integer; export;
  8419.              begin
  8420.                if X < Y then Min := X else Min := Y;
  8421.              end;
  8422.  
  8423.              function Max(X, Y: Integer): Integer; export;
  8424.              begin
  8425.                if X > Y then Max := X else Max := Y;
  8426.              end;
  8427.  
  8428.              exports
  8429.                 Min index 1,
  8430.                 Max index 2;
  8431.  
  8432.              begin
  8433.              end.
  8434.  
  8435.              ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á ¿ß»«½∞º«óá¡¿Ñ ñ½∩ »«ñú«Γ«ó¬¿ Min ¿ Max,
  8436.         ñ½∩ φ¬ß»«αΓá ¬½ετÑó«ú« ß½«óá export,  ¿ ¡á «»ÑαáΓ«α exports,  ¿ß-
  8437.         »«½∞ºπѼδ⌐ ñ½∩ Σá¬Γ¿τÑ߬«ú« φ¬ß»«αΓá ñóπσ »«ñ»α«úαá¼¼,  π¬áºδóáε-
  8438.         Θ¿⌐, ñ½∩ ¬áªñ«⌐ ¿º ¡¿σ, ¡Ñ«í∩ºáΓѽ∞¡δ⌐ »«α∩ñ¬«óδ⌐ ¡«¼Ñα.
  8439.  
  8440.             ò«Γ∩ »αÑñδñπΘ¿⌐ »α¿¼Ñα φΓ«ú« ¡Ñ »«¬áºδóáÑΓ,  í¿í½¿«ΓѬᠼ«ªÑΓ
  8441.         ß«ßΓ«∩Γ∞ ¿º  ¡Ñ߬«½∞¬¿σ  ¼«ñπ½Ñ⌐.  é  Γᬿσ ß½πτá∩σ ¿ßσ«ñ¡δ⌐ Σá⌐½
  8442.         í¿í½¿«ΓѬ¿ τáßΓ« ßó«ñ¿Γß∩ ¬ «»ÑαáΓ«απ uses,  «»ÑαáΓ«απ exports  ¿
  8443.  
  8444.          B.Pascal 7 & Objects/LR     - 186 -
  8445.  
  8446.         ¬«ñπ ¿¡¿µ¿á½¿ºáµ¿¿ í¿í½¿«ΓѬ¿. ìá»α¿¼Ñα:
  8447.  
  8448.              library Eritors;
  8449.  
  8450.              uses EdInit, EdInOut, EdFormat, EdPrint;
  8451.  
  8452.              exports
  8453.                InitEditors index 1,
  8454.                DoneEditors index 2,
  8455.                InsertText index 3,
  8456.                DeleteSelection index 4,
  8457.                FormatSelection index 5,
  8458.                PrintSelection index 6,
  8459.                     .
  8460.                     .
  8461.                     .
  8462.                SetErrorHandler index 53;
  8463.  
  8464.              begin
  8465.                InitLibrary;
  8466.              end.
  8467.  
  8468.  
  8469.  
  8470.  
  8471.          B.Pascal 7 & Objects/LR     - 187 -
  8472.  
  8473.                            ä¿αÑ¬Γ¿óá »α«µÑñπαδ export
  8474.         ─────────────────────────────────────────────────────────────────
  8475.  
  8476.              àß½¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ«½ª¡δ  φ¬ß»«αΓ¿α«óáΓ∞ß∩  DLL,  «¡¿
  8477.         ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá export. ä¿αÑ¬Γ¿óá
  8478.         export »α¿¡áñ½Ñª¿Γ ¬ Γ«¼π ªÑ ßѼÑ⌐ßΓóπ »α«µÑñπα¡δσ ñ¿αÑ¬Γ¿ó,  τΓ«
  8479.         ¿ near,  far,  inline  ¿ interrupt.  ¥Γ« «º¡áτáÑΓ,  τΓ« ñ¿αÑ¬Γ¿óá
  8480.         export, Ñß½¿ «¡á »α¿ßπΓßΓóπÑΓ,  ñ«½ª¡á π¬áºδóáΓ∞ß∩  »ÑαÑñ  »Ñαóδ¼
  8481.         ºáñ᡿Ѽ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ - «¡á ¡Ñ ¼«ªÑΓ π¬áºδóáΓ∞ß∩ ó «»αÑ-
  8482.         ñѽ∩εΘѼ «»¿ßá¡¿¿ ¿½¿ ó «»ÑαѪáεΘѼ «»¿ßá¡¿¿.
  8483.  
  8484.              ä¿αÑ¬Γ¿óá export ñѽáÑΓ »α«µÑñπαπ ¿½¿  Σπ¡¬µ¿ε  φ¬ß»«αΓ¿απÑ-
  8485.         ¼«⌐. Ä¡á  »α¿¡πñ¿Γѽ∞¡«  ¿ß»«½∞ºπÑΓ  ñ½∩ »«ñ»α«úαá¼¼δ ñá½∞¡¿⌐ Γ¿»
  8486.         ó맮óá ¿ »«ñú«Γáó½¿óáÑΓ ÑÑ ñ½∩ φ¬ß»«αΓá,  úÑ¡Ñα¿απ∩ ñ½∩ »α«µÑñπαδ
  8487.         ß»Ñµ¿á½∞¡δ⌐ ¬«ñ óσ«ñá ¿ óδσ«ñá.  çá¼ÑΓ¿¼, «ñ¡á¬«, τΓ« Σá¬Γ¿τÑ߬¿⌐
  8488.         φ¬ß»«αΓ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¡Ñ »α«¿ßσ«ñ¿Γ, »«¬á »«ñ»α«úαἼᠡÑ
  8489.         »ÑαÑτ¿ß½∩ÑΓß∩ ó «»ÑαáΓ«αÑ exports í¿í½¿«ΓѬ¿.
  8490.  
  8491.  
  8492.                                 Ä»ÑαáΓ«α exports
  8493.         ─────────────────────────────────────────────────────────────────
  8494.  
  8495.              Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ φ¬ß»«αΓ¿απÑΓß∩ DLL, ¬«úñá «¡á π¬áºδóá-
  8496.         ÑΓß∩ ó «»ÑαáΓ«αÑ exports í¿í½¿«ΓѬ¿.
  8497.  
  8498.          «»ÑαáΓ«α exports
  8499.          │   ┌─────────┐   ┌────────────────┐            ┌───┐
  8500.          └──>│ exports ├──>│ ß»¿ß«¬ φ¬ß»«αΓá├───────────>│ ; ├───────>
  8501.              └─────────┘   └────────────────┘            └───┘
  8502.  
  8503.                               ┌────────────────┐
  8504.          ß»¿ß«¬ φ¬ß»«αΓá ──┬─>│ ºá»¿ß∞ φ¬c»«αΓá├───────────>
  8505.                            │  └────────────────┘  ^
  8506.                            │        ┌───┐         │
  8507.                            └───────>│ ; ├─────────┘
  8508.                                     └───┘
  8509.  
  8510.          «»ÑαáΓ«α exports
  8511.            │    ┌───────────────┐
  8512.            └───>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├──┬────────────────────────────────────┐
  8513.                 └───────────────┘  │   ┌───────┐  ┌─────────────────┐ ^ │
  8514.                                    └──>│ index ├─>│ µÑ½á∩ ¬«¡ßΓá¡Γá ├─┘ │
  8515.                                        └───────┘  └─────────────────┘   │
  8516.          ┌──────────────────────────────────────────────────────────────┘
  8517.          └─┬─────────────────────────────────────┬──────────────────────>
  8518.            │ ┌──────┐   ┌─────────────────────┐ ^│  ┌──────────┐  ^
  8519.            └>│ name ├──>│ ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá ├─┘└─>│ resident ├──┘
  8520.              └──────┘   └─────────────────────┘     └──────────┘
  8521.  
  8522.              Ä»ÑαáΓ«α exports  ¼«ªÑΓ óßΓαÑτáΓ∞ß∩ ó ½εí«¼ ¼ÑßΓÑ «»¿ßáΓѽ∞-
  8523.         ¡«⌐ τáßΓ¿ »α«úαá¼¼δ ¿½¿ í¿í½¿«ΓѬ¿ ¿ ½εí«Ñ τ¿ß½« αáº.  èáªñá∩ ºá-
  8524.         »¿ß∞ ó «»ÑαáΓ«αÑ exports ºáñáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α φ¬ß»«αΓ¿απѼ«⌐ »α«-
  8525.         µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. Äñ¡á¬«, φΓá »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ñ«½ª¡á «»¿-
  8526.  
  8527.          B.Pascal 7 & Objects/LR     - 188 -
  8528.  
  8529.         ßδóáΓ∞ß∩ ñ« «»ÑαáΓ«αá exports, ¿ ÑÑ «»¿ßá¡¿Ñ ñ«½ª¡« ß«ñÑαªáΓ∞ ñ¿-
  8530.         αÑ¬Γ¿óπ export.  ÅÑαÑñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ó «»ÑαáΓ«αÑ exports óδ ¼«-
  8531.         ªÑΓÑ π¬áºáΓ∞  ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩ ß Γ«τ¬«⌐;  φΓ« ¡áºδóáÑΓß∩ »«½-
  8532.         ¡«ßΓ∞ε πΓ«τ¡Ñ¡¡δ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼.
  8533.  
  8534.              çỿß∞ φ¬ß»«αΓá ¼«ªÑΓ ΓᬪѠó¬½ετáΓ∞ ó ßÑí∩ «»ÑαáΓ«α  index,
  8535.         ¬«Γ«αδ⌐ ß«ßΓ«¿Γ ¿º ¬½ετÑó«ú« ß½«óá index,  ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ µÑ-
  8536.         ½«τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ «Γ 1 ñ«  32767.  è«úñá  ºáñáÑΓß∩
  8537.         «»ÑαáΓ«α index,  ñ½∩  φ¬ß»«αΓ¿απѼ«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ñ«½ª¡«
  8538.         ¿ß»«½∞º«óáΓ∞ß∩ ß»Ñµ¿á½∞¡«Ñ »«α∩ñ¬«ó«Ñ  º¡áτÑ¡¿Ñ.  àß½¿  ó  ºá»¿ß¿
  8539.         φ¬ß»«αΓá «»ÑαáΓ«α index «ΓßπΓßΓóπÑΓ, Γ« »«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ »α¿ß-
  8540.         óá¿óáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿.
  8541.  
  8542.              çỿß∞ ¼«ªÑΓ ß«ñÑαªáΓ∞ «»ÑαáΓ«α name, ß«ßΓ«∩Θ¿⌐ ¿º ¬½ετÑó«ú«
  8543.         ß½«óá name,  ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá.  Åα¿ ¡á½¿τ¿¿
  8544.         «»ÑαáΓ«αá name φ¬ß»«αΓ¿απѼá∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩  ñ«½ª¡á  φ¬ß-
  8545.         »«αΓ¿α«óáΓ∞ß∩ ß  »«¼«Θ∞ε  ºáñáóáѼ«ú« ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐ ¿¼Ñ¡¿.
  8546.         àß½¿ «»ÑαáΓ«α name ó ºá»¿ß¿ φ¬ß»«αΓá  «ΓßπΓßΓóπÑΓ,  Γ«  »α«µÑñπαá
  8547.         ¿½¿ Σπ¡¬µ¿∩ φ¬ß»«αΓ¿απÑΓß∩ »« ÑÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«απ (ß¿¼ó«½δ ¬«Γ«α«ú«
  8548.         »αÑ«íαáºπεΓß∩ ó óÑασ¡¿⌐ αÑú¿ßΓα).
  8549.  
  8550.              ìᬫ¡Ñµ, ºá»¿ß∞ φ¬ß»«αΓá ¼«ªÑΓ ó¬½ετáΓ∞ ó ßÑí∩ ¬½ετÑó«Ñ ß½«-
  8551.         ó« resident.  Åα¿  ºáñá¡¿¿ ¬½ετÑó«ú« ß½«óá resident ¿¡Σ«α¼áµ¿∩ «í
  8552.         φ¬ß»«αΓÑ «ßΓáÑΓß∩ ó »á¼∩Γ¿, »«¬á DLL ºáúαπªÑ¡á. Åáαá¼ÑΓα resident
  8553.         ßπΘÑßΓóÑ¡¡« π¼Ñ¡∞ΦáÑΓ óαѼ∩ »«¿ß¬á »«ñ»α«úαá¼¼δ ó DLL »« ¿¼Ñ¡¿.
  8554.  
  8555.              Åα«úαἼᠼ«ªÑΓ ß«ñÑαªáΓ∞ «»ÑαáΓ«α exports,  ¡« φΓ« óßΓαÑτá-
  8556.         ÑΓß∩ αÑñ¬«,  Γᬠ¬á¬ Windows ¡Ñ »«ºó«½∩ÑΓ  »α¿¬½áñ¡δ¼  »α«úαá¼¼á¼
  8557.         φ¬ß»«αΓ¿α«óáΓ∞ Σπ¡¬µ¿¿,  ¿ß»«½∞ºπѼδÑ ñαπú¿Ñ »α¿¬½áñ¡δ¼¿ »α«úαá¼-
  8558.         ¼á¼¿.
  8559.  
  8560.  
  8561.  
  8562.          B.Pascal 7 & Objects/LR     - 189 -
  8563.  
  8564.                           è«ñ ¿¡¿µ¿á½¿ºáµ¿¿ í¿í½¿«ΓѬ¿
  8565.         ─────────────────────────────────────────────────────────────────
  8566.  
  8567.              Ä»ÑαáΓ«α¡á∩ τáßΓ∞  í¿í½¿«ΓѬ¿  ß«ßΓ«¿Γ ¿º ¬«ñá ¿¡¿µ¿á½¿ºáµ¿¿
  8568.         í¿í½¿«ΓѬ¿. è«ñ  ¿¡¿µ¿á½¿ºáµ¿¿  óδ»«½¡∩ÑΓß∩  Γ«½∞¬«  «ñ¿¡ αẠ»α¿
  8569.         »Ñαó«¡áτá½∞¡«⌐ ºáúαπº¬Ñ í¿í½¿«ΓѬ¿. è«úñá ñαπú¿Ñ »α¿¬½áñ¡δÑ »α«ú-
  8570.         αá¼¼δ íπñπΓ ¿ß»«½∞º«óáΓ∞ πªÑ ºáúαπªÑ¡¡πε í¿í½¿«ΓѬπ,  ¬«ñ ¿¡¿µ¿á-
  8571.         ½¿ºáµ¿¿ »«óΓ«α¡« ¡Ñ óδ»«½¡∩ÑΓß∩, ¡« πóѽ¿τ¿óáÑΓß∩ ßτÑΓτ¿¬ ¿ß»«½∞-
  8572.         º«óá¡¿∩ DLL.
  8573.  
  8574.              DLL σαá¡¿Γß∩ ó »á¼∩Γ¿,  »«¬á ÑÑ ßτÑΓτ¿¬ ¿ß»«½∞º«óá¡¿∩ í«½∞ΦÑ
  8575.         ¡π½∩. è«úñá  ßτÑΓτ¿¬ ¿ß»«½∞º«óá¡¿∩ ßΓá¡«ó¿Γß∩ ¡π½Ñóδ¼,  π¬áºδóá∩,
  8576.         τΓ« óßÑ ¿ß»«½∞ºπεΘ¿Ñ DLL »α¿¬½áñ¡δÑ »α«úαá¼¼δ  ºáóÑαΦ¿½¿  αáí«Γπ,
  8577.         «¡á πñá½∩ÑΓß∩ ¿º »á¼∩Γ¿. Åα¿ φΓ«¼ óδ»«½¡∩ÑΓß∩ ¬«ñ »α«µÑñπαδ óδσ«-
  8578.         ñá. Åα«µÑñπαδ  óδσ«ñá   αÑú¿ßΓα¿απεΓß∩   ß   »«¼«Θ∞ε   »ÑαѼѡ¡«⌐
  8579.         ExitProc, ¬«Γ«αá∩ «»¿ßδóáÑΓß∩ ó â½áóÑ 22 "é«»α«ßδ π»αáó½Ñ¡¿∩".
  8580.  
  8581.              è«ñ ¿¡¿µ¿á½¿ºáµ¿¿  DLL «íδτ¡« óδ»«½¡∩ÑΓ ΓᬿѠºáñáτ¿ ¬á¬ αÑ-
  8582.         ú¿ßΓαᵿ∩ ¬½áßßá «¬¡á ñ½∩ ß«ñÑαªáΘ¿σß∩ ó DLL «¬«¡¡δσ  »α«µÑñπα  ¿
  8583.         πßΓá¡«ó¬á ¡áτá½∞¡δσ º¡áτÑ¡¿⌐ ñ½∩ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ DLL. ôßΓá-
  8584.         ¡«ó¿ó ó ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ »ÑαѼѡ¡πε ExitCode,  ¬«ñ  ¿¡¿µ¿á½¿ºáµ¿¿
  8585.         í¿í½¿«ΓѬ¿ ¼«ªÑΓ π¬áºáΓ∞ ß«ßΓ«∩¡¿Ñ «Φ¿í¬¿ (ExitCode «»¿ßδóáÑΓß∩ ó
  8586.         ¼«ñπ½Ñ System).  Å« π¼«½τá¡¿ε ExitCode αáó¡á 1,  τΓ« π¬áºδóáÑΓ ¡á
  8587.         πß»ÑΦ¡πε ¿¡¿µ¿á½¿ºáµ¿ε. àß½¿ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿ πßΓá¡áó½¿óáÑΓ º¡á-
  8588.         τÑ¡¿Ñ φΓ«⌐ »ÑαѼѡ¡«⌐ ó 0,  Γ« DLL óδúαπªáÑΓß∩ ¿º ß¿ßΓѼ¡«⌐ »á¼∩-
  8589.         Γ¿,  ¿ óδºδóáεΘá∩ »α¿¬½áñ¡á∩ »α«úαá¼¼á πóÑñ«¼½∩ÑΓß∩  «  ¡Ñπñáτ¡«⌐
  8590.         ºáúαπº¬Ñ DLL.
  8591.  
  8592.              è«úñá óδ»«½¡∩ÑΓß∩ í¿í½¿«ΓÑτ¡á∩ »α«µÑñπαá óδσ«ñá,  »ÑαѼѡ¡á∩
  8593.         ExitCode ¡Ñ  ß«ñÑαª¿Γ  ¬«ñ  ºáóÑαΦÑ¡¿∩  »α«µÑßßá.  é¼ÑßΓ«   φΓ«ú«
  8594.         ExitCode ß«ñÑαª¿Γ  «ñ¡«  ¿º º¡áτÑ¡¿⌐ wep_System ¿½¿ wep_Free_DLL,
  8595.         «»αÑñѽѡ¡δσ ó ¼«ñπ½Ñ WinTypes.  wep_System π¬áºδóáÑΓ ¡á ºáóÑαΦÑ-
  8596.         ¡¿Ñ αáí«Γδ Windows, á wep_Free_DLL π¬áºδóáÑΓ ¡á Γ«, τΓ« óδúαπªÑ¡á
  8597.         ñá¡¡á∩ DLL.
  8598.  
  8599.              Åα¿óÑñѼ »α¿¼Ñα í¿í½¿«ΓѬ¿ ß ¬«ñ«¼ ¿¡¿µ¿á½¿ºáµ¿¿ ¿  »α«µÑñπ-
  8600.         α«⌐ óδσ«ñá:
  8601.  
  8602.              library Test;
  8603.  
  8604.              {$S-}
  8605.  
  8606.              uses WinTypes, WinProcs;
  8607.  
  8608.              var
  8609.                SaveExit: Pointer;
  8610.  
  8611.              procedure LibExit; far;
  8612.              begin
  8613.                 if ExitCode = wep_System_Exit then
  8614.                     begin
  8615.                       .
  8616.                       .
  8617.  
  8618.          B.Pascal 7 & Objects/LR     - 190 -
  8619.  
  8620.                       .
  8621.                     { óδ»«½¡∩ÑΓß∩ ºáóÑαΦÑ¡¿Ñ αáí«Γδ ß¿ßΓѼδ }
  8622.                       .
  8623.                       .
  8624.                       .
  8625.                    end else
  8626.                    begin
  8627.                      .
  8628.                      .
  8629.                      .
  8630.                    { αáºúαπªáÑΓß∩ DLL }
  8631.                      .
  8632.                      .
  8633.                      .
  8634.                    end;
  8635.                    ExitProcess : SaveExit;
  8636.              end;
  8637.  
  8638.              begin
  8639.                .
  8640.                .
  8641.                .
  8642.              { óδ»«½¡¿Γ∞ ¿¡¿µ¿á½¿ºáµ¿ε DLL }
  8643.                .
  8644.                .
  8645.                .
  8646.              SaveExit := ExitProc;   { ß«σαá¡¿Γ∞ ßΓáαδ⌐ π¬áºáΓѽ∞
  8647.                                        »α«µÑñπαδ óδσ«ñá }
  8648.              ExitProc := @LibExit;   { πßΓá¡«ó¬á »α«µÑñπαδ óδσ«ñá
  8649.                                        LibExit }
  8650.              end.
  8651.  
  8652.              é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS »ÑαÑñáóáѼ«Ñ  »α«µÑñπαÑ  óδσ«ñá  DLL
  8653.         º¡áτÑ¡¿Ñ ExitCode óßÑúñá αáó¡« 0 ¿ ß««ΓóÑΓßΓóπÑΓ wep_FREE_DLL.
  8654.  
  8655.              Å«ß½Ñ αáºúαπº¬¿ DLL φ¬ß»«αΓ¿απѼá∩ Σπ¡¬µ¿∩ óδºδóáÑΓ »α«µÑñπ-
  8656.         απ WEP (»α«µÑñπαá óδσ«ñá Windows)  DLL,  Ñß½¿  «¡á  »α¿ßπΓßΓóπÑΓ.
  8657.         ü¿í½¿«ΓѬá Borland Pascal áóΓ«¼áΓ¿τÑ߬¿ φ¬ß»«αΓ¿απÑΓ Σπ¡¬µ¿ε WEP,
  8658.         ¬«Γ«αá∩ »α«ñ«½ªáÑΓ óδºδóáΓ∞ ºá»¿ßá¡¡δ⌐ ó »ÑαѼѡ¡«⌐ ExitProc  áñ-
  8659.         αÑß,  »«¬á ExitProc ¡Ñ »α¿¼ÑΓ º¡áτÑ¡¿∩ nil.  Å«ß¬«½∞¬π φëà¼Ñσá-
  8660.         ¡¿º¼ »α«µÑñπα óδσ«ñá ß««ΓóÑΓßΓóπÑΓ αáí«ΓÑ ß »α«µÑñπαἿ óδσ«ñá  ó
  8661.         »α«úαá¼¼áσ Borland Pascal, ¿ ó »α«úαá¼¼áσ, ¿ ó í¿í½¿«ΓѬáσ óδ ¼«-
  8662.         ªÑΓÑ ¿ß»«½∞º«óáΓ∞ «ñ¡π ¿ Γπ ªÑ ½«ú¿¬π »α«µÑñπα óδσ«ñá.
  8663.  
  8664.              Å«ß¬«½∞¬π «»Ñαᵿ«¡¡á∩ ß¿ßΓÑ¼á »α¿ ºáóÑαΦÑ¡¿¿ DLL »ÑαѬ½ετá-
  8665.         ÑΓ ó¡πΓαÑ¡¡¿⌐ ßΓѬ, »α«µÑñπαδ óδσ«ñá ó DLL ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩
  8666.         ß ºá»αÑΘÑ¡¿Ñ¼ »α«óÑન ßΓѬá (ó ß«ßΓ«∩¡¿¿ {$S-}). èα«¼Ñ Γ«ú«, Ñß-
  8667.         ½¿ ó  »α«µÑñπαÑ  óδσ«ñá  DLL  »α«¿ßσ«ñ¿Γ «Φ¿í¬á φΓá»á óδ»«½¡Ñ¡¿∩,
  8668.         «»Ñαᵿ«¡¡á∩ ß¿ßΓѼá áóáα¿⌐¡« ºáóÑαΦáÑΓ αáí«Γπ,  »«φΓ«¼π  óδ  ñ½∩
  8669.         »αÑñ«ΓóαáΘÑ¡¿∩  «Φ¿í«¬ φΓá»á óδ»«½¡Ñ¡¿∩ óδ ñ«½ª¡δ ó¬½ετ¿Γ∞ ó ßó«⌐
  8670.         ¬«ñ ñ«ßΓáΓ«τ¡«Ñ ¬«½¿τÑßΓó« »α«óÑ᫬.
  8671.  
  8672.  
  8673.  
  8674.          B.Pascal 7 & Objects/LR     - 191 -
  8675.  
  8676.                      çá¼Ñτá¡¿∩ »« »α«úαá¼¼¿α«óá¡¿ε í¿í½¿«ΓѬ
  8677.         ─────────────────────────────────────────────────────────────────
  8678.  
  8679.              é ß½ÑñπεΘ¿σ αáºñѽáσ «»¿ßá¡δ ¡Ñ¬«Γ«αδÑ ó᪡δÑ ¼«¼Ñ¡Γδ, ¬«Γ«-
  8680.         αδÑ ß½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ »α¿ αáí«ΓÑ ß DLL.
  8681.  
  8682.                            â½«íá½∞¡δÑ »ÑαѼѡ¡δÑ ó DLL
  8683.         ─────────────────────────────────────────────────────────────────
  8684.  
  8685.              DLL ¿¼ÑÑΓ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ, ¿ ½εíá∩ «»¿ßá¡¡á∩
  8686.         ó DLL »ÑαѼѡ¡á∩ ∩ó½∩ÑΓß∩ ½«¬á½∞¡«⌐ ñ½∩ φΓ«⌐ DLL.  DLL  ¡Ñ  ¼«ªÑΓ
  8687.         »«½πτ¿Γ∞ ñ«ßΓπ» ¬ »ÑαѼѡ¡δ¼, «»¿ßá¡¡δ¼ ó óδºδóáεΘ¿σ DLL ¼«ñπ½∩σ,
  8688.         ¿ ¡Ñ ¼«ªÑΓ φ¬ß»«αΓ¿α«óáΓ∞ »ÑαѼѡ¡δÑ ó ñαπú¿Ñ ¼«ñπ½¿.  Æá¬«⌐ ñ«ß-
  8689.         Γπ» ñ«½ªÑ¡ αÑ὿º«óδóáΓ∞ß∩ τÑαѺ »α«µÑñπα¡δ⌐ ¿¡ΓÑαΣÑ⌐ß.
  8690.  
  8691.                        â½«íá½∞¡δÑ »ÑαѼѡ¡δÑ ¿ Σá⌐½δ ó DLL
  8692.         ─────────────────────────────────────────────────────────────────
  8693.  
  8694.              èᬠ»αá󿽫,  DLL ¡Ñ ∩ó½∩ÑΓß∩ "ó½áñѽ∞µÑ¼" ¬á¬¿σ-½¿í« «Γ¬αδ-
  8695.         óáѼδσ Ñ⌐  Σá⌐½«ó  ¿½¿ »«½πτáѼδσ Ñ⌐ «Γ ß¿ßΓѼδ ú½«íá½∞¡δσ í½«¬«ó
  8696.         »á¼∩Γ¿. Æá¬¿¼¿ «íΩѬΓἿ ó½áñÑÑΓ (»α∩¼« ¿½¿ ¬«ßóÑ¡¡«) ßá¼á  »α¿¬-
  8697.         ½áñ¡á∩ »α«úαá¼¼á, óδºδóáεΘá∩ DLL.
  8698.  
  8699.              è«úñá »α¿¬½áñ¡á∩ »α«úαἼᠺáóÑαΦáÑΓ αáí«Γπ,  ½εíδÑ «Γ¬αδΓδÑ
  8700.         Σá⌐½δ, ó½áñѽ∞µÑ¼ ¬«Γ«αδσ «¡á ∩ó½∩ÑΓß∩,  áóΓ«¼áΓ¿τÑ߬¿ ºá¬αδóáεΓ-
  8701.         ß∩, á  óßÑ »α¿¡áñ½ÑªáΘ¿Ñ Ñ⌐ ú½«íá½∞¡δÑ í½«¬¿ »á¼∩Γ¿ áóΓ«¼áΓ¿τÑ߬¿
  8702.         «ßó«í«ªñáεΓß∩. ¥Γ« «º¡áτáÑΓ, τΓ« «»¿ßáΓѽ¿ ñá¡¡δσ Σá⌐½«ó ¿ í½«¬«ó
  8703.         »á¼∩Γ¿, ºá»¿ßá¡¡δÑ  ó DLL ó ú½«íá½∞¡δσ »ÑαѼѡ¡δσ,  ¼«úπΓ ó ½εí«Ñ
  8704.         óαѼ∩ ßΓáΓ∞ ¡Ññ«»πßΓ¿¼δ¼¿ íѺ πóÑñ«¼½Ñ¡¿∩ DLL.  Å«  φΓ«⌐  »α¿τ¿¡Ñ
  8705.         DLL ¡Ñ  ß½ÑñπÑΓ »«½áúáΓ∞ß∩ ¡á ñ«»πßΓ¿¼«ßΓ∞ «»¿ßáΓѽ∩ Σá⌐½á ¿ ú½«-
  8706.         íá½∞¡δσ «»¿ßáΓѽÑ⌐ »á¼∩Γ¿,  σαá¡∩Θ¿σß∩ ¼Ñªñπ «íαáΘÑ¡¿∩¼¿ ¬ DLL  ó
  8707.         ú½«íá½∞¡δσ »ÑαѼѡ¡δσ. Æá¬¿Ñ «»¿ßáΓѽ¿ ß½ÑñπÑΓ ßñѽáΓ∞ »áαá¼ÑΓαá-
  8708.         ¼¿ »α«µÑñπα ¿ Σπ¡¬µ¿⌐  DLL,  ¿  óδºδóáεΘá∩  »α¿¬½áñ¡á∩  »α«úαá¼¼á
  8709.         ñ«½ª¡á «ΓóÑτáΓ∞ ºá ¿σ »«ññÑ᪬π.
  8710.  
  8711.              é Windows ú½«íá½∞¡δÑ í½«¬¿ »á¼∩Γ¿,  αáß»αÑñѽѡ¡δÑ ß áΓα¿íπ-
  8712.         Γ«¼ gmem_DDEShare («»αÑñѽѡ¡δѠ󠼫ñπ½Ñ  WinTypes),  »α¿¡áñ½ÑªáΓ
  8713.         DLL, á  ¡Ñ  óδºδóáεΘ¿¼ »α¿¬½áñ¡δ¼ »α«úαá¼¼á¼.  Æá¬¿Ñ í½«¬¿ »á¼∩Γ¿
  8714.         «ßΓáεΓß∩ αáß»αÑñѽѡ¡δ¼¿, »«¬á «¡¿ ∩ó¡« ¡Ñ «ßó«í«ªñáεΓß∩ DLL, ¿½¿
  8715.         »«¬á DLL ¡Ñ óδúαπªáÑΓß∩.
  8716.  
  8717.              Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿  ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¡Ñ »«ññÑনóáÑΓ
  8718.         ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼδσ   í½«¬«ó   »á¼∩Γ¿   ¿   ¿ú¡«α¿απÑΓ    Σ½áú
  8719.         gmem_DDEShare. é  ºáΘ¿ΘÑ¡¡«¼  αѪ¿¼Ñ DOS αáß»αÑñѽ∩ѼδÑ DLL í½«¬¿
  8720.         »á¼∩Γ¿ óßÑúñá »α¿¡áñ½ÑªáΓ óδºδóáεΘÑ⌐ í¿í½¿«ΓѬπ DLL »α«úαá¼¼Ñ.
  8721.  
  8722.                                DLL ¿ ¼«ñπ½∞ System
  8723.         ─────────────────────────────────────────────────────────────────
  8724.  
  8725.              é »α«ñ«½ªÑ¡¿¿  ßπΘÑßΓó«óá¡¿∩ DLL »ÑαѼѡ¡á∩ HInstance ß«ñÑα-
  8726.         ª¿Γ «»¿ßáΓѽ∞ φ¬ºÑ¼»½∩αá DLL.  ÅÑαѼѡ¡δÑ FPrevInst ¿  CmdShow  ó
  8727.         DLL óßÑúñá αáó¡δ 0 (¬á¬ ¿ »ÑαѼѡ¡á∩ PrefixSeg), »«ß¬«½∞¬π DLL ¡Ñ
  8728.         ¿¼ÑÑΓ »αÑΣ¿¬ßá »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá (PSP). é »α¿¬½áñ¡«⌐ »α«úαá¼-
  8729.  
  8730.          B.Pascal 7 & Objects/LR     - 192 -
  8731.  
  8732.         ¼Ñ PrefixSeg ¡¿¬«úñá ¡Ñ αáó¡á 0,  »«φΓ«¼π »α«óÑα¬á PrefixSeg <> 0
  8733.         ó«ºóαáΘáÑΓ True,  Ñß½¿ ΓѬπΘѼ ¼«ñπ½Ñ¼ ∩ó½∩ÑΓß∩ »α¿¬½áñ¡á∩  »α«ú-
  8734.         αá¼¼á, ¿ False, Ñß½¿ ΓѬπΘ¿¼ ¼«ñπ½Ñ¼ ∩ó½∩ÑΓß∩ DLL.
  8735.  
  8736.              ùΓ«íδ «íÑß»Ñτ¿Γ∞ »αáó¿½∞¡πε αáí«Γπ áñ¼¿¡¿ßΓαáΓ«αá ñ¿¡á¼¿τÑß-
  8737.         ¬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, ß«ñÑαªáΘÑú«ß∩ ó ¼«ñπ½Ñ System, ¬«ñ ºá-
  8738.         »π߬á í¿í½¿«ΓѬ¿ πßΓá¡áó½¿óáÑΓ »ÑαѼѡ¡πε HeapAllocFlags ó º¡áτÑ-
  8739.         ¡¿Ñ gmem_Moveable + gmem_DDEShare. é Windows φΓ« »α¿ó«ñ¿Γ ¬ Γ«¼π,
  8740.         τΓ« óßÑ  í½«¬¿  »á¼∩Γ¿,  αáß»αÑñѽѡ¡δÑ  τÑαѺ  »α«µÑñπαδ  New  ¿
  8741.         GetMem, íπñπΓ »α¿¡áñ½ÑªáΓ∞ DLL,  á ¡Ñ  óδºδóáεΘÑ⌐  ÑÑ  »α¿¬½áñ¡«⌐
  8742.         »α«úαá¼¼Ñ.
  8743.  
  8744.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡«ßΓ¿  «í  áñ¼¿¡¿ßΓαáΓ«αÑ  »á¼∩Γ¿ óδ
  8745.               ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 21.
  8746.  
  8747.                           ÄΦ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩ ó DLL
  8748.         ─────────────────────────────────────────────────────────────────
  8749.  
  8750.              àß½¿ ó  DLL  »α«¿ßσ«ñ¿Γ «Φ¿í¬á φΓá»á óδ»«½¡Ñ¡¿∩,  óδºδóáεΘá∩
  8751.         DLL »α¿¬½áñ¡á∩ »α«úαἼᠺáóÑαΦáÑΓ αáí«Γπ.  Åα¿ φΓ«¼ ßá¼á DLL  ¡Ñ
  8752.         «í∩ºáΓѽ∞¡« πñá½∩ÑΓß∩  ¿º  »á¼∩Γ¿,  »«ß¬«½∞¬π «¡á ¼«ªÑΓ ¿ß»«½∞º«-
  8753.         óáΓ∞ß∩ ñαπú¿¼¿ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.
  8754.  
  8755.              Å«ß¬«½∞¬π DLL ¡Ñ ¼«ªÑΓ º¡áΓ∞,  óδºδóáÑΓß∩ ½¿ «¡á ¿º »α¿¬½áñ-
  8756.         ¡«⌐ »α«úαá¼¼δ  Borland Pascal ¿½¿ ¿º »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  ¡á»¿-
  8757.         ßá¡¡«⌐ ¡á ñαπú«¼ ∩ºδ¬Ñ »α«úαá¼¼¿α«óá¡¿∩, Γ« DLL ¡Ñ ¼«ªÑΓ óδºδóáΓ∞
  8758.         »α«µÑñπαδ óδσ«ñá  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  ñ« ºáóÑαΦÑ¡¿∩ »α¿¬½áñ¡«⌐
  8759.         »α«úαá¼¼δ. Åਪ½áñ¡á∩ »α«úαἼᠻα«ßΓ« »αÑαδóáÑΓß∩ ¿  óδúαπªáÑΓß∩
  8760.         ¿º »á¼∩Γ¿.  Å«  φΓ«⌐ »α¿τ¿¡Ñ,  τΓ«íδ Γᬿσ «Φ¿í«¬ ¡Ñ »α«¿ßσ«ñ¿½«,
  8761.         ¡πª¡« «íÑß»Ñτ¿Γ∞ ó DLL ñ«ßΓáΓ«τ¡«Ñ ¬«½¿τÑßΓó« »α«óÑ᫬.
  8762.  
  8763.              àß½¿ ó DLL »«ñ Windows »α«¿ßσ«ñ¿Γ «Φ¿í¬á  φΓá»á  óδ»«½¡Ñ¡¿∩,
  8764.         Γ« ¡áñѪ¡ÑÑ óßÑú« »«½¡«ßΓ∞ε óδ⌐Γ¿ ó Windows. àß½¿ óδ »α«ßΓ« »δΓá-
  8765.         ÑΓÑß∞ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ¿ »ÑαÑßΓα«¿Γ∞ ßí«⌐¡δ⌐ ¬«ñ DLL, á ºáΓѼ ß¡«óá
  8766.         óδ»«½¡¿Γ∞ »α¿¬½áñ¡πε »α«úαá¼¼π,  Windows ¡Ñ íπñÑΓ ºáúαπªáΓ∞ ¡«óπε
  8767.         óÑαß¿ε,  Ñß½¿ «Φ¿í«τ¡á∩ óÑαß¿∩ πªÑ ¡áσ«ñ¿Γß∩ ó »á¼∩Γ∞. éδ⌐ñ¿ΓÑ ¿º
  8768.         Windows  ¿ »ÑαѺá»πßΓ¿ΓÑ ÑÑ,  á Borland Pascal «íÑß»Ñτ¿Γ ºáúαπº¬π
  8769.         ¬«ααÑ¬Γ¡«⌐ óÑαß¿¿ DLL.
  8770.  
  8771.                               DLL ¿ ßÑú¼Ñ¡Γδ ßΓѬá
  8772.         ─────────────────────────────────────────────────────────────────
  8773.  
  8774.              é «Γ½¿τ¿Ñ  «Γ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ DLL ¡Ñ ¿¼ÑÑΓ ßó«Ñú« ß«íß-
  8775.         ΓóÑ¡¡«ú« ßÑú¼Ñ¡Γá ßΓѬá. é¼ÑßΓ« φΓ«ú« «¡á ¿ß»«½∞ºπÑΓ ßÑú¼Ñ¡Γ ßΓÑ-
  8776.         ¬á óδºδóáεΘÑ⌐ DLL »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. ¥Γ« ¼«ªÑΓ ß«ºñáΓ∞ »α«í½Ñ-
  8777.         ¼δ ó »«ñ»α«úαἼѠDLL,  ¬«Γ«αδÑ »«½áúáεΓ,  τΓ« αÑú¿ßΓαδ DS  ¿  SS
  8778.         ßßδ½áεΓß∩ ¡á «ñ¿¡ ¿ Γ«Γ ªÑ ßÑú¼Ñ¡Γ,  ¬á¬ φΓ« ¿¼ÑÑΓ ¼ÑßΓ« ó ¼«ñπ½Ñ
  8779.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ Windows.
  8780.  
  8781.              Borland Pascal ¡¿¬«úñá ¡Ñ  úÑ¡Ñα¿απÑΓ  ¬«ñ,  »«ñαáºπ¼ÑóáεΘ¿⌐
  8782.         αáóÑ¡ßΓó« DS  =  SS,  ¿  ó í¿í½¿«ΓѬѠ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland
  8783.         Pascal Γᬿσ »αÑñ»«½«ªÑ¡¿⌐ ¡Ñ ñѽáÑΓß∩.  àß½¿ óδ  »¿ΦÑΓÑ  ¬«ñ  ¡á
  8784.         ∩ºδ¬Ñ áßßѼí½Ñαá,  Γ« ¡Ñ »«½áúá⌐ΓÑß∞ ¡á Γ«,  τΓ« αÑú¿ßΓαδ DS ¿ SS
  8785.  
  8786.          B.Pascal 7 & Objects/LR     - 193 -
  8787.  
  8788.         ß«ñÑαªáΓ «ñ¡« ¿ Γ« ªÑ º¡áτÑ¡¿Ñ.
  8789.  
  8790.                        æ«ºñá¡¿Ñ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼδσ DLL
  8791.         ─────────────────────────────────────────────────────────────────
  8792.  
  8793.              Borland Pascal »«ññÑনóáÑΓ DLL, ¬«Γ«αδÑ ¼«úπΓ ß«ó¼ÑßΓ¡« ¿ß-
  8794.         »«½∞º«óáΓ∞ß∩ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS ¿ ó Windows.  æ«ó¼ÑßΓ¡«  ¿ß-
  8795.         »«½∞ºπѼδÑ DLL ß«ó¼ÑßΓ¿¼δ ¡á πα«ó¡Ñ ñó«¿τ¡«ú« ¬«ñá. ¥Γ« «º¡áτáÑΓ,
  8796.         τΓ« «ñ¿¡ ¿ Γ«Γ ªÑ Σá⌐½ .DLL  ¼«ªÑΓ  ¿ß»«½∞º«óáΓ∞ß∩  ó  »α¿¬½áñ¡«⌐
  8797.         »α«úαἼѠºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á  DOS  ¿½¿  ó  »α¿¬½áñ¡«⌐  »α«úαá¼¼Ñ
  8798.         Windows.
  8799.  
  8800.              Åα¿ ¬«¼»¿½∩µ¿¿ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼ«⌐ DLL ó ¬áτÑßΓóÑ µÑ½Ñó«⌐
  8801.         »½áΓΣ«α¼δ ¡πª¡« óδí¿αáΓ∞ Windows:
  8802.  
  8803.              * é  IDE óδíÑα¿ΓÑ ¬«¼á¡ñπ Compile│Target ¿ ó ñ¿á½«ú«ó«¼ «¬¡Ñ
  8804.                Target (ûѽÑóá∩ »½áΓΣ«α¼á) π¬áª¿ΓÑ Windows.
  8805.  
  8806.              * Åα¿ ¿ß»«½∞º«óá¡¿¿ ¬«¼»¿½∩Γ«αá,  αáí«ΓáεΘÑú« ó  αѪ¿¼Ñ  ¬«-
  8807.                ¼á¡ñ¡«⌐ ßΓ᫬¿,  ñ½∩  óδí«αá  ó ¬áτÑßΓóÑ µÑ½Ñó«⌐ »½áΓΣ«α¼δ
  8808.                Windows ¿ß»«½∞ºπ⌐ΓÑ »ÑαѬ½ετáΓѽ∞ /CW.
  8809.  
  8810.              DLL, ß¬«¼»¿½¿α«óá¡¡á∩  ñ½∩  ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á   DOS,   »«ñ
  8811.         Windows ¿ß»«½∞º«óáΓ∞ß∩  ¡Ñ ¼«ªÑΓ,  Γᬠ¬á¬ í¿í½¿«ΓѬᠿ߻«½¡∩εΘÑ⌐
  8812.         ß¿ßΓÑ¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿ß»«½∞ºπÑΓ «Γñѽ∞¡δÑ  Σπ¡¬µ¿«¡á½∞-
  8813.         ¡δÑ ó맮óδ DOS ¿ DPMI, ¬«Γ«αδÑ ß½ÑñπÑΓ ¿ºíÑúáΓ∞ ó Windows.
  8814.  
  8815.              æ«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼá∩  DLL ¼«ªÑΓ óºá¿¼«ñÑ⌐ßΓó«óáΓ∞ ß «»Ñαá-
  8816.         µ¿«¡¡«⌐ ß¿ßΓѼ«⌐ (DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼Ñ ¿½¿ Windows) Γ«½∞¬«  τÑ-
  8817.         αѺ ¼«ñπ½∞  WinAPI.  ¥Γ«Γ ¼«ñπ½∞ »αÑñßΓáó½∩ÑΓ Σπ¡¬µ¿¿,  «íΘ¿Ñ ñ½∩
  8818.         ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS  ¿  Windows.  äαπú¿Ñ  ¿¡ΓÑαΣÑ⌐ß¡δÑ  ¼«ñπ½¿
  8819.         Windows, ΓᬿѠ ¬á¬ WinTypes ¿ WinProcs,  «»¿ßδóáεΓ í«½∞Φ«Ñ τ¿ß½«
  8820.         »«ñ»α«úαá¼¼ API, ¡Ñ »«ññÑনóáѼδσ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS.
  8821.  
  8822.                    Åα¿¼Ñτá¡¿Ñ: Ä ¼«ñπ½Ñ WinAPI αáß߬áºδóáÑΓß∩ ó â½áóÑ  17
  8823.               "Åα«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS".
  8824.  
  8825.              é᪡« «Γ¼ÑΓ¿Γ∞,  τΓ«  σ«Γ∩  ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼá∩ DLL ¼«ªÑΓ
  8826.         óδ»«½¡∩Γ∞ß∩ «ñ¡«óαѼѡ¡« ¿ »«ñ Windows, ó «¬¡Ñ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
  8827.         Windows DOS,  ßó∩º∞  τÑαѺ  DLL ¼Ñªñπ ñóπ¼∩ «»Ñαᵿ«¡¡δ¼¿ ßαÑñἿ
  8828.         ¡Ñ󫺼«ª¡á. ÉÑá½∞¡« ó ß¿ßΓѼѠíπñÑΓ »α¿ßπΓßΓó«óáΓ∞ ñóÑ ¬«»¿¿ DLL,
  8829.         ¬áªñá∩ ¿º  ¬«Γ«αδσ ºáΘ¿ΘÑ¡á «Γ ñαπú«⌐ ¿ ¿ß»«½∞ºπÑΓ »«½¡«ßΓ∞ε ¿º«-
  8830.         ½¿α«óá¡¡πε «í½áßΓ∞ »á¼∩Γ¿.
  8831.  
  8832.          B.Pascal 7 & Objects/LR     - 194 -
  8833.  
  8834. ───────────────────────────────────────────────────────────────────────
  8835.                 ùáßΓ∞ II. â½áóá 12. ü¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ
  8836.         ─────────────────────────────────────────────────────────────────
  8837.  
  8838.              Borland Pascal ó¬½ετáÑΓ ó ßÑí∩ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ-
  8839.         ¼δ ñ½∩  ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á DOS,  αÑá½∞¡«ú« αѪ¿¼á DOS ¿ Windows.
  8840.         ìá¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπѼδÑ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ  ¡áσ«-
  8841.         ñ∩Γß∩ ó Σá⌐½áσ TURBO.TPL (αÑá½∞¡δ⌐ αѪ¿¼ DOS),  TPP.TPL (ºáΘ¿ΘÑ¡-
  8842.         ¡δ⌐ αѪ¿¼ DOS) ¿ TPW.TPL (Windows). ä«»«½¡¿Γѽ∞¡δÑ ¼«ñπ½¿ »«ßΓáó-
  8843.         ½∩εΓß∩ ó «Γñѽ∞¡δσ Σá⌐½áσ .TPU, .TPP ¿ .TPW.
  8844.  
  8845.              * ä½∩ αÑá½∞¡«ú« αѪ¿¼á DOS í¿í½¿«ΓѬá TURBO.TPL ß«ñÑαª¿Γ ¼«-
  8846.                ñπ½¿ System,  Overlay,  Crt,  Dos ¿ Printer. èα«¼Ñ Γ«ú«, ó
  8847.                «Γñѽ∞¡δσ Σá⌐½áσ .TPU »«ßΓáó½∩εΓß∩ ¼«ñπ½¿ Graph,  Strings,
  8848.                WinDos, Turbo3 ¿ Graph3.
  8849.  
  8850.              * ä½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS í¿í½¿«ΓѬá TPP.TPL ß«ñÑαª¿Γ ¼«-
  8851.                ñπ½¿ System,  Crt, Dos, Printer, Strings, WinDos ¿ WinAPI.
  8852.                èα«¼Ñ Γ«ú«,  ó ó¿ñÑ «Γñѽ∞¡«ú« Σá⌐½á .TPP »«ßΓáó½∩ÑΓß∩ ¼«-
  8853.                ñπ½∞ Graph.
  8854.  
  8855.              * ä½∩  Windows  í¿í½¿«ΓѬᠠTPW.TPL  ß«ñÑαª¿Γ ¼«ñπ½¿ System,
  8856.                Strings, WinTypes, WinProcs, Win31, WinAPI, WinDos, WinCrt
  8857.                ¿ WinPrn. é ó¿ñÑ ¿ßσ«ñ¡«ú« ¬«ñá »«ßΓáó½∩εΓß∩ ¡Ñ¬«Γ«αδÑ ñ«-
  8858.                »«½¡¿Γѽ∞¡δÑ ¼«ñπ½¿ Windows.
  8859.  
  8860.              èα«¼Ñ í¿í½¿«ΓѬ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ, Borland Pascal ó¬½ετáÑΓ
  8861.         ó ßÑí∩  »α¿¬½áñ¡πε ßαÑñπ Turbo Vision ñ½∩ αÑá½∞¡«ú« ¿ ºáΘ¿ΘÑ¡¡«ú«
  8862.         αѪ¿¼á DOS ¿ »α¿¬½áñ¡πε ßαÑñπ ObjectWindows ñ½∩ Windows. ¥Γ¿ í¿í-
  8863.         ½¿«ΓѬ¿ «»¿ßá¡δ   ó  "Éπ¬«ó«ñßΓóÑ  »«  »α«úαá¼¼¿α«óá¡¿ε  ß  Turbo
  8864.         Vision" ¿ ó "Éπ¬«ó«ñßΓóÑ  »«  »α«úαá¼¼¿α«óá¡¿ε  ß  ¿ß»«½∞º«ó᡿Ѽ
  8865.         ObjectWindows".
  8866.  
  8867.              é ñá¡¡«⌐  ú½áóÑ  ¬αáΓ¬« «»¿ßδóáÑΓß∩ ¬áªñδ⌐ ¼«ñπ½∞ í¿í½¿«ΓѬ¿
  8868.         ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ.
  8869.  
  8870.                               î«ñπ½¿ Borland Pascal
  8871.         ─────────────────────────────────────────────────────────────────
  8872.  
  8873.              Borland Pascal  «íÑß»Ñτ¿óáÑΓ  óá¼  ñ«ßΓπ»  ¬  í«½∞Φ«¼π τ¿ß½π
  8874.         óßΓα«Ñ¡¡δ󠬫¡ßΓá¡Γ,  Γ¿»«ó ñá¡¡δσ,  »ÑαѼѡ¡δσ, »α«µÑñπα ¿ Σπ¡¬-
  8875.         µ¿⌐.  ìѬ«Γ«αδÑ ¿º ¡¿σ ß»Ñµ¿Σ¿τ¡δ ñ½∩ Borland Pascal, ñαπú¿Ñ ß»Ñ-
  8876.         µ¿Σ¿τ¡δ ñ½∩ »α«úαá¼¼¿α«óá¡¿∩ »α¿¬½áñ¡δσ  ºáñáτ  ñ½∩  Windows  ¿½¿
  8877.         Dos. ê󠬫½¿τÑßΓó« óѽ¿¬«, «ñ¡á¬«, ó ßó«Ñ⌐ »α«úαἼѠóδ αÑñ¬« ¿ß-
  8878.         »«½∞ºπÑΓÑ ¿σ óßÑ ßαáºπ.  Å«φΓ«¼π «¡¿ αáºñÑ½Ñ¡δ ¡á ßó∩ºá¡¡δÑ úαπ»-
  8879.         »δ,  ¡áºδóáѼδÑ ¼«ñπ½∩¼¿. é φΓ«¼ ß½πτáÑ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Γ«½∞¬«
  8880.         ΓÑ ¼«ñπ½¿, ¬«Γ«αδÑ ¡Ñ«íσ«ñ¿¼δ ó »α«úαá¼¼Ñ.
  8881.  
  8882.              Åα«úαá¼¼¡δ⌐ ¼«ñπ½∞ (unit) »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡áí«α ¬«¡ßΓá¡Γ,
  8883.         Γ¿»«ó ñá¡¡δσ,  »ÑαѼѡ¡δσ, »α«µÑñπα ¿ Σπ¡¬µ¿⌐. èáªñδ⌐ ¼«ñπ½∞ á¡á-
  8884.         ½«ú¿τÑ¡ «Γñѽ∞¡«⌐ »α«úαἼѠ¡á Åá߬á½Ñ:  «¡ ¼«ªÑΓ ¿¼ÑΓ∞  «ß¡«ó¡«Ñ
  8885.         Γѽ«,  ¬«Γ«α«Ñ  óδºδóáÑΓß∩  »ÑαÑñ ºá»π߬«¼ óáΦÑ⌐ »α«úαá¼¼δ ¿ «ßπ-
  8886.         ΘÑßΓó½∩ÑΓ ¡Ñ«íσ«ñ¿¼πε ¿¡¿µ¿á½¿ºáµ¿ε. è«α«τÑ ú«ó«α∩, ¼«ñπ½∞ »αÑñß-
  8887.         Γáó½∩ÑΓ ß«í«⌐ í¿í½¿«ΓÑ¬π «»¿ßá¡¿⌐, ¬«Γ«απε ¼«ª¡« óßΓáó¿Γ∞ ó »α«ú-
  8888.  
  8889.          B.Pascal 7 & Objects/LR     - 195 -
  8890.  
  8891.         αá¼¼π ¿ ¬«Γ«αá∩ »«ºó«½¿Γ αáºí¿Γ∞ »α«úαá¼¼π ¡á τáßΓ¿,  ¬«¼»¿½¿απÑ-
  8892.         ¼δÑ «Γñѽ∞¡«.
  8893.  
  8894.              î«ñπ½∞ «íÑß»Ñτ¿óáÑΓ  ¡áí«α ßαÑñßΓó í½áú«ñáα∩ óσ«ñ∩Θ¿¼ ó ¡Ñú«
  8895.         »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼ »α¿ »«ññÑαª¬Ñ ¬«¡ßΓá¡Γ,  Γ¿»«ó ñá¡¡δσ ¿ »Ñ-
  8896.         αѼѡ¡δσ,  «ñ¡á¬« ñÑ⌐ßΓó¿Γѽ∞¡á∩ αÑ὿ºáµ¿∩ φΓ¿σ ßαÑñßΓó ß¬αδΓá ó
  8897.         ß¿½π Γ«ú«, τΓ« ¼«ñπ½∞ αáºñѽѡ ¡á ñóÑ τáßΓ¿: ¿¡ΓÑαΣÑ⌐ß ¿ αÑ὿ºá-
  8898.         µ¿ε.  àß½¿  »α«úαἼᠠ¿ß»«½∞ºπÑΓ ¼«ñπ½∞,  Γ« óßÑ «»¿ßá¡¿∩ ¼«ñπ½∩
  8899.         ßΓá¡«ó∩Γß∩ ñ«ßΓπ»¡δ¼¿ φΓ«⌐ »α«úαá¼¼Ñ,  ¬á¬ Ñß½¿ íδ «¡¿ í뫨 «»αÑ-
  8900.         ñѽѡδ ó ¡Ñ⌐ ßἫ⌐.
  8901.  
  8902.              æΓαπ¬Γπαá ¼«ñπ½∩ á¡á½«ú¿τ¡á ßΓαπ¬ΓπαÑ »α«úαá¼¼δ.  éßÑ «»¿ßá-
  8903.         ¡¿∩ ó¡πΓα¿ ¼«ñπ½∩ ßó∩ºá¡δ ñαπú ß ñαπú«¼. ìá»α¿¼Ñα, ¼«ñπ½∞ Strings
  8904.         ß«ñÑαª¿Γ  óßÑ  «»¿ßá¡¿∩,  ¡Ñ«íσ«ñ¿¼δÑ  ñ½∩  »«ñ»α«úαá¼¼ «íαáí«Γ¬¿
  8905.         ßΓ᫬, ºá¬á¡τ¿óáεΘ¿σß∩ ¡π½Ñóδ¼ ß¿¼ó«½«¼.
  8906.  
  8907.  
  8908.                                   î«ñπ½∞ System
  8909.         ─────────────────────────────────────────────────────────────────
  8910.  
  8911.              î«ñπ½∞ System  αÑ὿ºπÑΓ »«ññÑনóáεΘ¿Ñ »«ñ»α«úαá¼¼δ ¡¿ª¡Ñú«
  8912.         πα«ó¡∩ ñ½∩ óßÑσ óßΓα«Ñ¡¡δσ ßαÑñßΓó,  Γᬿσ ¬á¬ óó«ñ-óδó«ñ, αáí«Γá
  8913.         ß« ßΓα«¬á¼¿, «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ ñ¿¡á¼¿τÑ߬«Ñ αáß»αÑñÑ-
  8914.         ½Ñ¡¿Ñ »á¼∩Γ¿.
  8915.  
  8916.              î«ñπ½∞ System ß«ñÑαª¿Γ óßÑ ßΓá¡ñáαΓ¡δÑ ¿ óßΓα«Ñ¡¡δÑ »α«µÑñπ-
  8917.         αδ  ¿ Σπ¡¬µ¿¿ Borland Pascal.  ïεíá∩ »«ñ»α«úαá¼¼á Borland Pascal,
  8918.         ¡Ñ ∩ó½∩εΘá∩ß∩ τáßΓ∞ε ßΓá¡ñáαΓ¡«ú« Åá߬á½∩ ¿ ¡Ñ ¡áσ«ñ∩Θá∩ß∩  ¡¿  ó
  8919.         ¬á¬«¼ ñαπú«¼ ¼«ñπ½Ñ,  ß«ñÑনΓß∩ ó ¼«ñπ½Ñ System. ¥Γ«Γ ¼«ñπ½∞ áó-
  8920.         Γ«¼áΓ¿τÑ߬¿ ¿ß»«½∞ºπÑΓß∩ ó« óßÑσ »α«úαá¼¼áσ,  ¿ Ñú« ¡Ñ  ΓαÑíπÑΓß∩
  8921.         π¬áºδóáΓ∞ ó «»ÑαáΓ«αÑ uses.
  8922.  
  8923.  
  8924.                                î«ñπ½∞ Dos ¿ WinDos
  8925.         ─────────────────────────────────────────────────────────────────
  8926.  
  8927.              î«ñπ½¿ Dos ¿ WinDos  αÑ὿ºπεΓ  ¼¡«ú«τ¿ß½Ñ¡¡δÑ  »α«µÑñπαδ  ¿
  8928.         Σπ¡¬µ¿¿ Åá߬á½∩, ¬«Γ«αδÑ φ¬ó¿óá½Ñ¡Γ¡δ ¡á¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπѼδ¼
  8929.         ó맮óá¼ DOS,  ¬á¬ ¡á»α¿¼Ñα,  GetÆime, SetÆime, DiskSize ¿ Γᬠñá-
  8930.         ½ÑÑ. èα«¼Ñ  Γ«ú«,  WinDos «»αÑñѽ∩ÑΓ ñóÑ »α«úαá¼¼δ ¡¿º¬«ú« πα«ó¡∩
  8931.         îsDos ¿ Intr, ¬«Γ«αδÑ »«ºó«½∩εΓ á¬Γ¿ó¿º¿α«óáΓ∞ ½εí«⌐ ó맮ó MS-DOS
  8932.         ¿½¿  ß¿ßΓѼ¡«Ñ  »αÑαδóá¡¿Ñ.  Æ¿» Registers »αÑñßΓáó½∩ÑΓ ß«í«⌐ Γ¿»
  8933.         ñá¡¡δσ ñ½∩ »áαá¼ÑΓαá ó îsDos ¿ Intr. èα«¼Ñ Γ«ú«, «»αÑñѽ∩εΓß∩ ¡Ñ-
  8934.         ¬«Γ«αδÑ ñαπú¿Ñ ¬«¡ßΓá¡Γδ ¿ Γ¿»δ ñá¡¡δσ.  ì¿ «ñ¡á ¿º φΓ¿σ »«ñ»α«ú-
  8935.         αá¼¼ ¡Ñ «»αÑñѽѡá ó ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ,  »«φΓ«¼π «¡¿ »«¼ÑΘÑ¡δ ó
  8936.         ßó«¿ ß«íßΓóÑ¡¡δÑ ¼«ñπ½¿. Å«ñα«í¡ÑÑ ¼«ñπ½¿ WinDos ¿ Dos «»¿ßδóáεΓ-
  8937.         ß∩ ó â½áóÑ 16 "ê¡ΓÑαΣÑ⌐ß ß DOS".
  8938.  
  8939.  
  8940.                                    î«ñπ½∞ Crt
  8941.         ─────────────────────────────────────────────────────────────────
  8942.  
  8943.              î«ñπ½∞ Crt  αÑ὿ºπÑΓ  α∩ñ ¼«Θ¡δσ »α«úαá¼¼,  »αÑñ«ßΓáó½∩εΘ¿σ
  8944.  
  8945.          B.Pascal 7 & Objects/LR     - 196 -
  8946.  
  8947.         óá¼ »«½¡πε ó«º¼«ª¡«ßΓ∞ π»αáó½Ñ¡¿∩ ßαÑñßΓóἿ ¬«¼»∞εΓÑαá Éæ, Γᬿ-
  8948.         ¼¿,  ¬á¬ π»αáó½Ñ¡¿Ñ αѪ¿¼«¼ φ¬αá¡á,  αáßΦ¿αÑ¡¡δÑ ¬«ñδ ¬½áó¿áΓπαδ,
  8949.         µóÑΓá,  «¬¡á, ¿ ºóπ¬«óδÑ ß¿ú¡á½δ. î«ñπ½∞ Crt ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
  8950.         Γ«½∞¬«  ó »α«úαá¼¼áσ,  αáí«ΓáεΘ¿σ ¡á »Ñαß«¡á½∞¡δ󠬫¼»∞εΓÑαáσ IBM
  8951.         Éæ, Éæ AT, ÉS/2 Σ¿α¼δ IBM ¿ »«½¡«ßΓ∞ε ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼¿.
  8952.  
  8953.              Äñ¡¿¼ ¿º «ß¡«ó¡δσ »αÑ¿¼πΘÑßΓó ¿ß»«½∞º«óá¡¿∩ ¼«ñπ½∩ Crt ∩ó½∩-
  8954.         ÑΓß∩ í«½∞Φá∩ ß¬«α«ßΓ∞ ¿ ú¿í¬«ßΓ∞ »α¿ óδ»«½¡Ñ¡¿¿ «»Ñαᵿ⌐ αáí«Γδ ß
  8955.         φ¬αá¡«¼. Åα«úαá¼¼δ, ¡Ñ αáí«ΓáεΘ¿Ñ ß ¼«ñπ½Ñ¼ Crt, óδó«ñ∩Γ ¡á φ¬αá¡
  8956.         ¿¡Σ«α¼áµ¿ε ß »«¼«Θ∞ε ßαÑñßΓó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ DOS, τΓ« ßó∩ºá-
  8957.         ¡« ß ñ«»«½¡¿Γѽ∞¡δ¼¿ ¡Ñ»α«¿ºó«ñ¿Γѽ∞¡δ¼¿ ºáΓαáΓἿ. Åα¿ ¿ß»«½∞º«-
  8958.         óá¡¿¿  ¼«ñπ½∩ Crt óδó«ñ¿¼á∩ ¿¡Σ«α¼áµ¿∩ »«ßδ½áÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
  8959.         ó íẫóπε ß¿ßΓѼπ óó«ñá-óδó«ñá (éIÄS), ¿½¿, ñ½∩ ÑΘÑ í«½ÑÑ íδßΓαδσ
  8960.         «»Ñαᵿ⌐, ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ«»á¼∩Γ∞.
  8961.  
  8962.              Ä ¼«ñπ½Ñ Crt αáß߬áºδóáÑΓ ó â½áóÑ 14 "éó«ñ ¿ óδó«ñ".
  8963.  
  8964.  
  8965.                                   î«ñπ½∞ WinCrt
  8966.         ─────────────────────────────────────────────────────────────────
  8967.  
  8968.              î«ñπ½∞ WinCrt - φΓ« ñpá⌐óÑp πßΓp«⌐ßΓóá ΓѬßΓ«óδσ Σá⌐½«ó, ¬«-
  8969.         Γ«pδ⌐  »ÑpÑ«»pÑñѽ∩ÑΓ  óδó«ñ ó »p«¬pπτ¿óáѼ«Ñ «¬¡«.  ò«Γ∩ í«½∞Φá∩
  8970.         τáßΓ∞ óáΦ¿σ »p«úpá¼¼ ñ½∩ Windows,  ¬á¬ »pá󿽫,  íπñÑΓ  ß«ºñáóáΓ∞
  8971.         ßó«¿  ß«íßΓóÑ¡¡δÑ  «¬¡á,  ¼«ñπ½∞  WinCrt  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞ ñ½∩
  8972.         íδßΓαδσ ¿ »α«ßΓδσ »α«úαá¼¼,  íếαπεΘ¿σß∩ ¡á ΓѬßΓáσ,  ¬«úñá  óá¼
  8973.         ¡πª¡« íδßΓα«  »«½πτ¿Γ∞  αѺπ½∞ΓáΓδ.  î«ñπ½∞  WinCrt «»¿ßδóáÑΓß∩ ó
  8974.         ú½áóÑ 14 "éó«ñ ¿ óδó«ñ".
  8975.  
  8976.  
  8977.                                  î«ñπ½∞ Printer
  8978.         ─────────────────────────────────────────────────────────────────
  8979.  
  8980.              î«ñπ½∞ Printer »«ºó«½∩ÑΓ óá¼ »«ßδ½áΓ∞ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ Åáß-
  8981.         ¬á½∩ ¡á »α¿¡ΓÑα,  ¿ß»«½∞ºπ∩ »α«µÑñπαδ Write ¿ WriteLn.  Å«ñα«í¡ÑÑ
  8982.         «¡ «»¿ßδóáÑΓß∩ ó ú½áóÑ 14 "éó«ñ ¿ óδó«ñ".
  8983.  
  8984.  
  8985.                                   î«ñπ½∞ WinPrn
  8986.         ─────────────────────────────────────────────────────────────────
  8987.  
  8988.              î«ñπ½∞ WinPrn »«ºó«½∩ÑΓ óá¼ »«ßδ½áΓ∞ ßó«Ñ⌐  óáΦÑ⌐  »α«úαá¼¼δ
  8989.         Windows  ¡á »α¿¡ΓÑα »« óáΦѼπ óδí«απ.  Å«ñα«í¡ÑÑ «¡ «»¿ßδóáÑΓß∩ ó
  8990.         ú½áóÑ 14 "éó«ñ ¿ óδó«ñ".
  8991.  
  8992.  
  8993.                                  î«ñπ½∞ Overlay
  8994.         ─────────────────────────────────────────────────────────────────
  8995.  
  8996.              î«ñπ½∞ Overlay  »«ºó«½∩ÑΓ  óá¼ π¼Ñ¡∞Φ¿Γ∞ ΓαÑí«óá¡¿∩ ¬ »á¼∩Γ¿
  8997.         »α«úαá¼¼δ DOS αÑá½∞¡«ú«  αѪ¿¼á.  öá¬Γ¿τÑ߬¿,  óδ  ¼«ªÑΓÑ  »¿ßáΓ∞
  8998.         »α«úαá¼¼δ, »αÑóδΦáεΘ¿Ñ «íΘ¿⌐ «íΩѼ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿,  »«ß¬«½∞¬π ó
  8999.         ¬áªñδ⌐ ¼«¼Ñ¡Γ ó »á¼∩Γ¿ íπñÑΓ ¡áσ«ñ¿Γ∞ß∩ Γ«½∞¬« τáßΓ∞ óáΦÑ⌐  »α«ú-
  9000.  
  9001.          B.Pascal 7 & Objects/LR     - 197 -
  9002.  
  9003.         αá¼¼δ.  Å«ñα«í¡«  ñá¡¡δ⌐  ¼«ñπ½∞ «»¿ßá¡ ó â½áóÑ 20 "êß»«½∞º«óá¡¿Ñ
  9004.         «óÑα½ÑÑó".
  9005.  
  9006.  
  9007.                                  î«ñπ½∞ Strings
  9008.         ─────────────────────────────────────────────────────────────────
  9009.  
  9010.              î«ñπ½∞ Strings «íÑß»Ñτ¿óáÑΓ «íαáí«Γ¬π ¡«óδσ ßΓ᫬,  ºá¬á¡τ¿-
  9011.         óáεΘ¿σß∩  »πßΓδ¼  ß¿¼ó«½«¼.  æΓ᫬¿,  ßΓá¡ñáαΓ¡δÑ  ñ½∩   Åá߬á½∩,
  9012.         «íαáíáΓδóáεΓß∩ ¼«ñπ½Ñ¼ System.  Å«ñα«í¡ÑÑ ¼«ñπ½∞ Strings «»¿ßδóá-
  9013.         ÑΓß∩ ó â½áóÑ 18 "êß»«½∞º«óá¡¿Ñ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼".
  9014.  
  9015.  
  9016.                                   î«ñπ½∞ Graph
  9017.         ─────────────────────────────────────────────────────────────────
  9018.  
  9019.              î«ñπ½∞ Graph  «íÑß»Ñτ¿óáÑΓ  α∩ñ íδßΓαδσ ¿ ¼«Θ¡δσ úαáΣ¿τÑ߬¿σ
  9020.         »«ñ»α«úαá¼¼. Ä¡ αÑ὿ºπÑΓ ¡Ñºáó¿ß¿¼δ⌐  «Γ  πßΓα«⌐ßΓó  úαáΣ¿τÑ߬¿⌐
  9021.         ñαá⌐óÑα Borland,  »«ññÑনóáεΘ¿⌐ úαáΣ¿¬π CGA, EGA, VGA, Hercules,
  9022.         AT&T 400,  MCGA,  3270PC  ¿  8514.  î«ñπ½∞  Graph  ¡Ñ  óßΓα«Ñ¡  ó
  9023.         TURBO.TPL, «¡ ¡áσ«ñ¿Γß∩ ¡á Γ«¼ ªÑ ñ¿ß¬Ñ, τΓ« ¿ Σá⌐½δ .BGI (úαáΣ¿-
  9024.         τÑ߬¿⌐ ¿¡ΓÑαΣÑ⌐ß Borland) ¿ .CHR (Φα¿ΣΓδ).
  9025.  
  9026.              Å«ñα«í¡ÑÑ « ¼«ñπ½Ñ Graph αáß߬áºδóáÑΓß∩ ó â½áóÑ 19  "êß»«½∞-
  9027.         º«óá¡¿Ñ úαáΣ¿τÑ߬«ú« ¿¡ΓÑαΣÑ⌐ßá Borland".
  9028.  
  9029.  
  9030.                              î«ñπ½¿ Turbo3 ¿ Graph3
  9031.         ─────────────────────────────────────────────────────────────────
  9032.  
  9033.              î«ñπ½¿ Turbo3 ¿ Graph3  »αÑñπß¼«ΓαÑ¡δ  Γ«½∞¬«  ñ½∩  «íαáΓ¡«⌐
  9034.         ß«ó¼ÑßΓ¿¼«ßΓ¿. Turbo3  ß«ñÑαª¿Γ ñóÑ »ÑαѼѡ¡δÑ ¿ ¡Ñ߬«½∞¬« »α«µÑ-
  9035.         ñπα, ¬«Γ«αδÑ í«½∞ΦÑ ¡Ñ »«ññÑনóáεΓß∩ Borland Pascal.  Graph3 ß«-
  9036.         ñÑαª¿Γ »«½¡δ⌐  ¡áí«α  úαáΣ¿τÑ߬¿σ »«ñ»α«úαá¼¼ óÑαß¿¿ 3.0 - «ß¡«ó-
  9037.         ¡δσ,  »α«ñó¿¡πΓδσ,  ¿ ¿ß»«½∞ºπεΘ¿σ úαáΣ¿¬π ó «Γ¡«ß¿Γѽ∞¡δ󠬫¼á¡-
  9038.         ñáσ. ê¡Σ«α¼áµ¿ε   «í   φΓ¿σ   Σá⌐½áσ  óδ  ¼«ªÑΓÑ  ¡á⌐Γ¿  ó  Σá⌐½Ñ
  9039.         TURBO3.INT.
  9040.  
  9041.  
  9042.                            î«ñπ½¿ WinTypes ¿ WinProcs
  9043.         ─────────────────────────────────────────────────────────────────
  9044.  
  9045.              î«ñπ½∞ WinTypes  ß«ñÑαª¿Γ óßÑ ¬«¡ßΓá¡Γδ,  ßΓαπ¬Γπαδ ñá¡¡δσ ¿
  9046.         ßΓ¿½¿,  ¿ß»«½∞ºπѼδÑ ó »α¿¬½áñ¡«¼ »α«úαá¼¼¡«¼ ¿¡ΓÑαΣÑ⌐ßÑ Windows.
  9047.         î«ñπ½∞ WinTypes »«ñα«í¡« «»¿ßδóáÑΓß∩ ó ß»αáó«τ¡«⌐ ß¿ßΓѼѠBorland
  9048.         Pascal.
  9049.  
  9050.              î«ñπ½∞ WinProcs ß«ñÑαª¿Γ óßÑ Σπ¡¬µ¿¿ ¿ »α«µÑñπαδ, ß«ßΓáó½∩ε-
  9051.         Θ¿Ñ  »α¿¬½áñ¡«⌐  »α«úαá¼¼¡δ⌐  ¿¡ΓÑαΣÑ⌐ß Windows.  î«ñπ½∞ WinProcs
  9052.         ΓᬪѠ»«ñα«í¡« «»¿ßδóáÑΓß∩ ó ß»αáó«τ¡«⌐ ß¿ßΓѼÑ.
  9053.  
  9054.              æ«ó¼ÑßΓ¡« φΓ¿ ¼«ñπ½¿ «íαáºπεΓ »α¿¬½áñ¡«⌐ »α«úαá¼¼¡δ⌐  ¿¡ΓÑα-
  9055.         ΣÑ⌐ß Windows (API).
  9056.  
  9057.          B.Pascal 7 & Objects/LR     - 198 -
  9058.  
  9059.  
  9060.                                   î«ñπ½∞ Win31
  9061.         ─────────────────────────────────────────────────────────────────
  9062.  
  9063.              î«ñπ½∞ Win31 «íÑß»Ñτ¿óáÑΓ ¿¡ΓÑαΣÑ⌐ß ß ñ«»«½¡¿Γѽ∞¡δ¼¿  »«ñ»-
  9064.         α«úαἼἿ API,  ¬«Γ«αδÑ  ¼«ª¡«  ¡á⌐Γ¿ ó Windows 3.1.  Åਪ½áñ¡δÑ
  9065.         »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ Win31, ¡Ñ αáí«ΓáεΓ »«ñ Windows 3.0.
  9066.  
  9067.  
  9068.                                   î«ñπ½∞ WinAPI
  9069.         ─────────────────────────────────────────────────────────────────
  9070.  
  9071.              î«ñπ½∞ WinAPI   «»αÑñѽ∩ÑΓ   »«ñ¼¡«ªÑßΓó«   »«ñ»α«úαá¼¼  API
  9072.         Windows, »«ññÑনóáѼδσ ¿ ó Windows,  ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ  DOS.
  9073.         Å«ñα«í¡ÑÑ «í  φΓ«¼ ¼«ñπ½Ñ αáß߬áºδóáÑΓß∩ ó â½áóÑ 17 "Åα«úαá¼¼¿α«-
  9074.         óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS".
  9075.  
  9076.  
  9077.                        î«ñπ½¿, »«ññÑনóáεΘ¿Ñ Windows 3.1
  9078.         ─────────────────────────────────────────────────────────────────
  9079.  
  9080.              Borland Pascal  »«ññÑনóáÑΓ API Windows 3.1 ó ß½ÑñπεΘ¿σ ¼«-
  9081.         ñπ½∩σ:
  9082.  
  9083.              ColorDlg              LZExpand              ShellAPI
  9084.              CommDlg               MMSystem              Stress
  9085.              Cpl                   OLE                   ToolHelp
  9086.              DDEML                 PenWin                Ver
  9087.              Dlgs                  Print                 WinMem32
  9088.  
  9089.  
  9090.  
  9091.  
  9092.          B.Pascal 7 & Objects/LR     - 199 -
  9093.  
  9094. ───────────────────────────────────────────────────────────────────────
  9095.                     â½áóá 13. æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  9096.         ─────────────────────────────────────────────────────────────────
  9097.  
  9098.              é ñá¡¡«⌐ ú½áóÑ ¬αáΓ¬« «»¿ßδóáεΓß∩  ßΓá¡ñáαΓ¡δÑ  (óßΓα«Ñ¡¡δÑ)
  9099.         »α«µÑñπαδ ¿  Σπ¡¬µ¿¿  Borland  Pascal ¿ »αÑñ«»¿ßá¡¡δÑ »ÑαѼѡ¡δÑ,
  9100.         «»αÑñѽѡ¡δѠ󠼫ñπ½Ñ System.  ü«½ÑÑ »«ñα«í¡πε ¿¡Σ«α¼áµ¿ε « ¬«¡¬-
  9101.         αÑΓ¡«⌐ »α«µÑñπαÑ,  Σπ¡¬µ¿¿ ¿½¿ »αÑñ«»¿ßá¡¡«⌐ »ÑαѼѡ¡«⌐ óδ ¼«ªÑΓÑ
  9102.         ¡á⌐Γ¿ ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") ó "Éπ¬«ó«ñßΓóÑ »α«ú-
  9103.         αá¼¼¿ßΓá".
  9104.  
  9105.              æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ∩ó½∩εΓß∩ »αÑñ«»¿ßá¡¡δ¼¿. Æá¬
  9106.         ¬á¬  ºá»¿ß¿ ß ¿σ »αÑñóáα¿Γѽ∞¡δ¼¿ «»¿ßá¡¿∩¼¿ ñÑ⌐ßΓóπεΓ Γ«τ¡« Γá¬-
  9107.         ªÑ,  ¬á¬ Ñß½¿ íδ «¡¿ í뫨 «»¿ßá¡δ ó «¬απªáεΘѼ »α«úαá¼¼π  ¼«ñπ½Ñ,
  9108.         »α¿ «»¿ßá¡¿¿,  »ÑαÑ«»αÑñѽ∩εΘѼ Γ«Γ ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ó¡πΓα¿ »α«ú-
  9109.         αá¼¼δ ¬«¡Σ½¿¬ΓᠡѠ󫺡¿¬áÑΓ.
  9110.  
  9111.                    Åα¿¼Ñτá¡¿Ñ: Ä  ñαπú¿σ  »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ óδ ¼«ªÑΓÑ
  9112.               »α«τÑßΓ∞ ó â½áóÑ 14 "éó«ñ ¿ óδó«ñ".
  9113.  
  9114.              é ñá¡¡«⌐ ú½áóÑ «ßóÑΘáεΓß∩ ß½ÑñπεΘ¿Ñ ΓѼδ:
  9115.  
  9116.              - Åα«µÑñπαδ π»αáó½Ñ¡¿∩ »α«úαá¼¼«⌐.
  9117.  
  9118.              - öπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩.
  9119.  
  9120.              - Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ Σπ¡¬µ¿¿.
  9121.  
  9122.              - Å«α∩ñ¬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
  9123.  
  9124.              - æΓ᫬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
  9125.  
  9126.              - Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿.
  9127.  
  9128.              - Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
  9129.  
  9130.              - ÅαÑñ«»¿ßá¡¡δÑ »ÑαѼѡ¡δÑ ¼«ñπ½∩ System.
  9131.  
  9132.  
  9133.  
  9134.  
  9135.          B.Pascal 7 & Objects/LR     - 200 -
  9136.  
  9137.                      Åα«µÑñπαδ π»αáó½Ñ¡¿∩ αáí«Γ«⌐ »α«úαá¼¼δ
  9138.         ─────────────────────────────────────────────────────────────────
  9139.  
  9140.              Åα«µÑñπαδ π»αáó½Ñ¡¿∩ αáí«Γ«⌐ »α«úαá¼¼δ - φΓ« »α«µÑñπαδ,  π»-
  9141.         αáó½∩εΘ¿Ñ ½«ú¿¬«⌐ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.
  9142.  
  9143.         ┌───────────────────┬───────────────────────────────────────────┐
  9144.         │  Åα«µÑñπαá        │     Ä»¿ßá¡¿Ñ                              │
  9145.         ├───────────────────┼───────────────────────────────────────────┤
  9146.         │   Break           │ çáóÑαΦáÑΓ «»ÑαáΓ«α for, while ¿½¿ repeat. │
  9147.         ├───────────────────┼───────────────────────────────────────────┤
  9148.         │   Continue        │ Åα«ñ«½ªáÑΓ ¿ΓÑαáµ¿ε «»ÑαáΓ«αá for,  while,│
  9149.         │                   │ ¿½¿ repeat.                               │
  9150.         ├───────────────────┼───────────────────────────────────────────┤
  9151.         │   Eσit            │ Å«ºó«½∩ÑΓ ¡Ñ¼Ññ½Ñ¡¡« óδ⌐Γ¿ ¿º ΓѬπΘÑú« ¼«-│
  9152.         │                   │ ñπ½∩.                                     │
  9153.         ├───────────────────┼───────────────────────────────────────────┤
  9154.         │   ìált            │ ÄßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ ó«ºó-│
  9155.         │                   │ αáΘáÑΓ π»αáó½Ñ¡¿Ñ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ.   │
  9156.         ├───────────────────┼───────────────────────────────────────────┤
  9157.         │   RunError        │ ÄßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ úÑ¡Ñ-│
  9158.         │                   │ α¿απÑΓ «Φ¿í¬π φΓá»á óδ»«½¡Ñ¡¿∩.           │
  9159.         └───────────────────┴───────────────────────────────────────────┘
  9160.  
  9161.                              öπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩
  9162.         ─────────────────────────────────────────────────────────────────
  9163.  
  9164.              ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ Σπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩.
  9165.  
  9166.         ┌──────────────────┬────────────────────────────────────────────┐
  9167.         │    öπ¡¬µ¿∩       │       Ä»¿ßá¡¿Ñ                             │
  9168.         ├──────────────────┼────────────────────────────────────────────┤
  9169.         │   Chr            │ é«ºóαáΘáÑΓ ß¿¼ó«½, ºáñá¡¡δ⌐ µÑ½δ¼ τ¿ß½«¼.  │
  9170.         ├──────────────────┼────────────────────────────────────────────┤
  9171.         │   High           │ é«ºóαáΘáÑΓ ßΓáαΦÑÑ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ áα-│
  9172.         │                  │ úπ¼Ñ¡Γá.                                   │
  9173.         ├──────────────────┼────────────────────────────────────────────┤
  9174.         │   Low            │ é«ºóαáΘáÑΓ ¼½áñΦÑÑ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ áα-│
  9175.         │                  │ úπ¼Ñ¡Γá.                                   │
  9176.         ├──────────────────┼────────────────────────────────────────────┤
  9177.         │   Ärd            │ é«ºóαáΘáÑΓ »«α∩ñ¬«ó«Ñ τ¿ß½« »« º¡áτÑ¡¿ε »Ñ-│
  9178.         │                  │ αÑτ¿ß½¿¼«ú« Γ¿»á.                          │
  9179.         ├──────────────────┼────────────────────────────────────────────┤
  9180.         │   R«und          │ Ä¬απú½∩ÑΓ º¡áτÑ¡¿Ñ  óÑΘÑßΓóÑ¡¡«ú«  Γ¿»á  ñ«│
  9181.         │                  │ º¡áτÑ¡¿∩, ¿¼ÑεΘÑú« ñ½¿¡¡δ⌐ µÑ½δ⌐ Γ¿».      │
  9182.         ├──────────────────┼────────────────────────────────────────────┤
  9183.         │   Ærunß          │ ôßѬáÑΓ º¡áτÑ¡¿Ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ñ« º¡á-│
  9184.         │                  │ τÑ¡¿∩, ¿¼ÑεΘÑú« ñ½¿¡¡δ⌐ µÑ½δ⌐ Γ¿».         │
  9185.         └──────────────────┴────────────────────────────────────────────┘
  9186.  
  9187.  
  9188.  
  9189.          B.Pascal 7 & Objects/LR     - 201 -
  9190.  
  9191.                              Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ Σπ¡¬µ¿¿
  9192.         ─────────────────────────────────────────────────────────────────
  9193.  
  9194.              ¥Γ¿ Σπ¡¬µ¿¿ »«½Ñº¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ óδ»«½¡Ñ¡¿∩ áα¿Σ¼ÑΓ¿τÑß-
  9195.         ¬¿σ «»Ñαᵿ⌐.
  9196.  
  9197.                     Åα¿¼Ñτá¡¿Ñ: ç¡áτÑ¡¿∩, ó«ºóαáΘáѼδÑ »α«µÑñπαἿ «»Ñαá-
  9198.                µ¿⌐ ß  »½áóáεΘÑ⌐  ºá»∩Γ«⌐ ¼«ñπ½∩ System,  »α¿ ¬«¼»¿½∩µ¿¿ ó
  9199.                αѪ¿¼Ñ τ¿ß½«ó«⌐ «íαáí«Γ¬¿ (ñ¿αÑ¬Γ¿óá {$N+}),  ¿¼ÑεΓ ¡Ñ óÑ-
  9200.                ΘÑßΓóÑ¡¡δ⌐ Γ¿» (real), á αáßΦ¿αÑ¡¡δ⌐ (extended).
  9201.  
  9202.         ┌──────────────────┬────────────────────────────────────────────┐
  9203.         │    öπ¡¬µ¿∩       │       Ä»¿ßá¡¿Ñ                             │
  9204.         ├──────────────────┼────────────────────────────────────────────┤
  9205.         │   Abs            │ é«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá.  │
  9206.         ├──────────────────┼────────────────────────────────────────────┤
  9207.         │   Çrctan         │ é«ºóαáΘáÑΓ áα¬Γá¡úѡߠáαúπ¼Ñ¡Γá.           │
  9208.         ├──────────────────┼────────────────────────────────────────────┤
  9209.         │   C«s            │ é«ºóαáΘáÑΓ ¬«ß¿¡πß áαúπ¼Ñ¡Γá.              │
  9210.         ├──────────────────┼────────────────────────────────────────────┤
  9211.         │   Eσp            │ é«ºóαáΘáÑΓ φ¬ß»«¡Ñ¡Γπ áαúπ¼Ñ¡Γá.           │
  9212.         ├──────────────────┼────────────────────────────────────────────┤
  9213.         │   Fráß           │ é«ºóαáΘáÑΓ ñα«í¡πε τáßΓ∞ áαúπ¼Ñ¡Γá.        │
  9214.         ├──────────────────┼────────────────────────────────────────────┤
  9215.         │   Int            │ é«ºóαáΘáÑΓ µÑ½πε τáßΓ∞ áαúπ¼Ñ¡Γá.          │
  9216.         ├──────────────────┼────────────────────────────────────────────┤
  9217.         │   Ln             │ é«ºóαáΘáÑΓ ¡áΓπαá½∞¡δ⌐ ½«úáα¿Σ¼ áαúπ¼Ñ¡Γá. │
  9218.         ├──────────────────┼────────────────────────────────────────────┤
  9219.         │   Pi             │ é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ τ¿ß½á Pi               │
  9220.         │                  │ (3.141592653897932385).                    │
  9221.         ├──────────────────┼────────────────────────────────────────────┤
  9222.         │   Sin            │ é«ºóαáΘáÑΓ ß¿¡πß áαúπ¼Ñ¡Γá.                │
  9223.         ├──────────────────┼────────────────────────────────────────────┤
  9224.         │   Sqr            │ é«ºóαáΘáÑΓ áαúπ¼Ñ¡Γ ó ¬óáñαáΓÑ.            │
  9225.         ├──────────────────┼────────────────────────────────────────────┤
  9226.         │   Sqrt           │ é«ºóαáΘáÑΓ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ áαúπ¼Ñ¡Γá.    │
  9227.         └──────────────────┴────────────────────────────────────────────┘
  9228.  
  9229.  
  9230.  
  9231.          B.Pascal 7 & Objects/LR     - 202 -
  9232.  
  9233.                          Å«α∩ñ¬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  9234.         ─────────────────────────────────────────────────────────────────
  9235.  
  9236.         ┌──────────────────┬────────────────────────────────────────────┐
  9237.         │ Åα«µÑñπαá/Σπ¡¬µ¿∩│            Ä»¿ßá¡¿Ñ                        │
  9238.         ├──────────────────┼────────────────────────────────────────────┤
  9239.         │     DÑß          │ ô¼Ñ¡∞ΦáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐.             │
  9240.         ├──────────────────┼────────────────────────────────────────────┤
  9241.         │     Inß          │ ôóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐.           │
  9242.         ├──────────────────┼────────────────────────────────────────────┤
  9243.         │     Ädd          │ Åα«óÑα∩ÑΓ, ∩ó½∩ÑΓß∩  ½¿  áαúπ¼Ñ¡Γ  ¡ÑτÑΓ¡δ¼│
  9244.         │                  │ τ¿ß½«¼.                                    │
  9245.         ├──────────────────┼────────────────────────────────────────────┤
  9246.         │     Éred         │ é«ºóαáΘáÑΓ »αÑñΦÑßΓóπεΘÑÑ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡-│
  9247.         │                  │ Γá.                                        │
  9248.         ├──────────────────┼────────────────────────────────────────────┤
  9249.         │     Sußß         │ é«ºóαáΘáÑΓ Ñú« »«ß½ÑñπεΘÑÑ º¡áτÑ¡¿Ñ.       │
  9250.         └──────────────────┴────────────────────────────────────────────┘
  9251.  
  9252.                           æΓ᫬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  9253.         ─────────────────────────────────────────────────────────────────
  9254.  
  9255.              æ½ÑñπεΘ¿Ñ »α«µÑñπαδ  ¿  Σπ¡¬µ¿¿  ¿ß»«½∞ºπεΓß∩  ñ½∩ αáí«Γδ ß«
  9256.         ßΓα«¬á¼¿ Åá߬á½∩.
  9257.  
  9258.         ┌──────────────────┬────────────────────────────────────────────┐
  9259.         │   Åα«µÑñπαá      │      Ä»¿ßá¡¿Ñ                              │
  9260.         ├──────────────────┼────────────────────────────────────────────┤
  9261.         │    C«ncat        │ éδ»«½¡∩ÑΓ ¬«¡¬áΓÑ¡áµ¿ε   »«ß½Ññ«óáΓѽ∞¡«ßΓ¿│
  9262.         │                  │ ßΓ᫬.                                     │
  9263.         ├──────────────────┼────────────────────────────────────────────┤
  9264.         │    C«απ          │ é«ºóαáΘáÑΓ »«ñßΓ᫬π ßΓ᫬¿.               │
  9265.         ├──────────────────┼────────────────────────────────────────────┤
  9266.         │    Delete        │ ôñá½∩ÑΓ ¿º ßΓ᫬¿ »«ñßΓ᫬π.               │
  9267.         ├──────────────────┼────────────────────────────────────────────┤
  9268.         │    Insert        │ ä«íáó½∩ÑΓ ó ßΓ᫬𠻫ñßΓ᫬π.              │
  9269.         ├──────────────────┼────────────────────────────────────────────┤
  9270.         │    Length        │ é«ºóαáΘáÑΓ ñ¿¡á¼¿τÑ߬πε ñ½¿¡π ßΓ᫬¿.      │
  9271.         ├──────────────────┼────────────────────────────────────────────┤
  9272.         │    P«s           │ Åα«¿ºó«ñ¿Γ »«¿ß¬ »«ñßΓ᫬¿ ó ßΓ᫬Ñ.       │
  9273.         ├──────────────────┼────────────────────────────────────────────┤
  9274.         │    Str           │ ÅαÑ«íαáºπÑΓ τ¿ß½Ñ¡¡«Ñ  º¡áτÑ¡¿Ñ ó Ñú« ßΓα«-│
  9275.         │                  │ ¬«ó«Ñ »αÑñßΓáó½Ñ¡¿Ñ.                       │
  9276.         ├──────────────────┼────────────────────────────────────────────┤
  9277.         │    Val           │ ÅαÑ«íαáºπÑΓ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ ó  Ñú«  τ¿ß-│
  9278.         │                  │ ½Ñ¡¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ.                      │
  9279.         └──────────────────┴────────────────────────────────────────────┘
  9280.  
  9281.  
  9282.  
  9283.          B.Pascal 7 & Objects/LR     - 203 -
  9284.  
  9285.              Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿
  9286.         ─────────────────────────────────────────────────────────────────
  9287.  
  9288.              ¥Γ¿ »α«µÑñπαδ  ¿ Σπ¡¬µ¿¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿-
  9289.         τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε - «í½áßΓ∞ε »á¼∩Γ¿, ¬«Γ«αá∩ ºá¡¿¼áÑΓ
  9290.         óßε  ßó«í«ñ¡πε  »á¼∩Γ∞  ¿½¿  ÑÑ τáßΓ∞,  «ßΓáεΘπεß∩ »α¿ óδ»«½¡Ñ¡¿¿
  9291.         »α«úαá¼¼δ.  Å«½¡«Ñ «»¿ßá¡¿Ñ ¼ÑΓ«ñ«ó,  ¿ß»«½∞ºπѼδσ ñ½∩ π»αáó½Ñ¡¿∩
  9292.         ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ∞ε »á¼∩Γ¿ »α¿ó«ñ¿Γß∩ ó αáºñѽÑ
  9293.         "Åα«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿" ó â½áóÑ 21  ("é«»-
  9294.         α«ßδ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε").
  9295.  
  9296.                   Åα«µÑñπαδ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿
  9297.         ┌──────────────────┬────────────────────────────────────────────┐
  9298.         │ Åα«µÑñπαá/Σπ¡¬µ¿∩│            Ä»¿ßá¡¿Ñ                        │
  9299.         ├──────────────────┼────────────────────────────────────────────┤
  9300.         │   Dispose        │ ô¡¿τΓ«ªáÑΓ ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε.        │
  9301.         ├──────────────────┼────────────────────────────────────────────┤
  9302.         │   FrÑÑîѼ        │ ô¡¿τΓ«ªáÑΓ ñ¿¡á¼¿τÑ߬πε  »ÑαѼѡ¡πε ñá¡¡«ú«│
  9303.         │                  │ αẼÑαá.                                   │
  9304.         ├──────────────────┼────────────────────────────────────────────┤
  9305.         │   GetîѼ         │ æ«ºñáÑΓ ¡«óπε ñ¿¡á¼¿τÑ߬πε  »ÑαѼѡ¡πε  ºá-│
  9306.         │                  │ ñá¡¡«ú«  αẼÑαá ¿ πßΓá¡áó½¿óáÑΓ ¡á ¡ÑÑ »Ñ-│
  9307.         │                  │ αѼѡ¡πε-π¬áºáΓѽ∞.                        │
  9308.         ├──────────────────┼────────────────────────────────────────────┤
  9309.         │   îáσÇvail       │ é«ºóαáΘáÑΓ αẼÑα  ¡á¿í«½∞ΦÑú« ¡Ñ»αÑαδó¡«ú«│
  9310.         │                  │ ßó«í«ñ¡«ú« ¼«ñπ½∩ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-│
  9311.         │                  │ Ñ¼«⌐ «í½áßΓ¿ »á¼∩Γ¿, ß««ΓóÑΓßΓóπεΘ¿⌐ αẼÑ-│
  9312.         │                  │ απ ¡á¿í«½∞ΦÑ⌐ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐,  ¬«-│
  9313.         │                  │ Γ«αá∩ ¼«ªÑΓ íδΓ∞ óδñÑ½Ñ¡á »α¿  «íαáΘÑ¡¿¿  ó│
  9314.         │                  │ îáσAvail.                                  │
  9315.         ├──────────────────┼────────────────────────────────────────────┤
  9316.         │   îѼÇvail       │ é«ºóαáΘáÑΓ ¬«½¿τÑßΓó«  ¿¼ÑεΘ¿σß∩  ó ñ¿¡á¼¿-│
  9317.         │                  │ τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐   «í½áßΓ¿   ßó«í«ñ¡δσ│
  9318.         │                  │ íá⌐Γ.                                      │
  9319.         ├──────────────────┼────────────────────────────────────────────┤
  9320.         │   New            │ æ«ºñáÑΓ ¡«óπε ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ¿ πß-│
  9321.         │                  │ Γá¡áó½¿óáÑΓ ¡á ¡ÑÑ »ÑαѼѡ¡πε-π¬áºáΓѽ∞.   │
  9322.         └──────────────────┴────────────────────────────────────────────┘
  9323.  
  9324.  
  9325.  
  9326.          B.Pascal 7 & Objects/LR     - 204 -
  9327.  
  9328.                    öπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß π¬áºáΓѽ∩¼¿ ¿ áñαÑßἿ
  9329.         ─────────────────────────────────────────────────────────────────
  9330.  
  9331.              ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ  Σπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß π¬áºáΓѽ∩¼¿ ¿ áñαÑßá-
  9332.         ¼¿.
  9333.  
  9334.         ┌──────────────────┬────────────────────────────────────────────┐
  9335.         │    öπ¡¬µ¿¿       │              Ä»¿ßá¡¿Ñ                      │
  9336.         ├──────────────────┼────────────────────────────────────────────┤
  9337.         │    Çddr          │ é«ºóαáΘáÑΓ áñαÑß ºáñá¡¡«ú« «íΩѬΓá.        │
  9338.         ├──────────────────┼────────────────────────────────────────────┤
  9339.         │    CSeg          │ é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá CS.   │
  9340.         ├──────────────────┼────────────────────────────────────────────┤
  9341.         │    DSeg          │ é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá DS.   │
  9342.         ├──────────────────┼────────────────────────────────────────────┤
  9343.         │    Äfs           │ é«ºóαáΘáÑΓ ß¼ÑΘÑ¡¿Ñ ñ½∩ ºáñá¡¡«ú« «íΩѬΓá. │
  9344.         ├──────────────────┼────────────────────────────────────────────┤
  9345.         │    Ptr           │ ÅαÑ«íαáºπÑΓ áñαÑß íẫó«ú« ßÑú¼Ñ¡Γá ¿  ß¼Ñ-│
  9346.         │                  │ ΘÑ¡¿Ñ ó º¡áτÑ¡¿Ñ Γ¿»á π¬áºáΓѽ∞.           │
  9347.         ├──────────────────┼────────────────────────────────────────────┤
  9348.         │    Seg           │ é«ºóαáΘáÑΓ ßÑú¼Ñ¡Γ ñ½∩ ºáñá¡¡«ú« «íΩѬΓá.  │
  9349.         ├──────────────────┼────────────────────────────────────────────┤
  9350.         │    SPtr          │ é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá SÉ.   │
  9351.         ├──────────────────┼────────────────────────────────────────────┤
  9352.         │    SSeg          │ é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá SS.   │
  9353.         └──────────────────┴────────────────────────────────────────────┘
  9354.  
  9355.  
  9356.  
  9357.          B.Pascal 7 & Objects/LR     - 205 -
  9358.  
  9359.                            Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  9360.         ─────────────────────────────────────────────────────────────────
  9361.  
  9362.         ┌──────────────────┬────────────────────────────────────────────┐
  9363.         │ Åα«µÑñπαá/Σπ¡¬µ¿∩│            Ä»¿ßá¡¿Ñ                        │
  9364.         ├──────────────────┼────────────────────────────────────────────┤
  9365.         │   Exclude        │ ê߬½ετáÑΓ φ½Ñ¼Ñ¡Γ ¿º ¼¡«ªÑßΓóá.            │
  9366.         ├──────────────────┼────────────────────────────────────────────┤
  9367.         │   FillChar       │ çừ½¡∩ÑΓ ºáñá¡¡«Ñ τ¿ß½« ß½ÑñπεΘ¿σ  ñαπú ºá│
  9368.         │                  │ ñαπú«¼ í¿Γ π¬áºá¡¡δ¼ º¡áτÑ¡¿Ñ¼.            │
  9369.         ├──────────────────┼────────────────────────────────────────────┤
  9370.         │   Hi             │ é«ºóαáΘáÑΓ ßΓáαΦ¿⌐ íá⌐Γ áαúπ¼Ñ¡Γá.         │
  9371.         ├──────────────────┼────────────────────────────────────────────┤
  9372.         │   Include        │ é¬½ετáÑΓ φ½Ñ¼Ñ¡Γ ó ¼¡«ªÑßΓó«.              │
  9373.         ├──────────────────┼────────────────────────────────────────────┤
  9374.         │   Lo             │ é«ºóαáΘáÑΓ ¼½áñΦ¿⌐ íá⌐Γ áαúπ¼Ñ¡Γá.         │
  9375.         ├──────────────────┼────────────────────────────────────────────┤
  9376.         │   î«vÑ           │ è«»¿απÑΓ ºáñá¡¡«Ñ  τ¿ß½« ¡Ñ»αÑαδó¡δσ íá⌐Γ ó│
  9377.         │                  │ π¬áºá¡¡δσ úαá¡¿µáσ ¿º «ñ¡«ú« ¼ÑßΓá  ó  ñαπ-│
  9378.         │                  │ ú«Ñ, úαá¡¿µδ ¬«Γ«α«ú« ΓᬪѠπ¬áºδóáεΓß∩.   │
  9379.         ├──────────────────┼────────────────────────────────────────────┤
  9380.         │   ParamCount     │ é«ºóαáΘáÑΓ   τ¿ß½«  »áαá¼ÑΓα«ó,  »ÑαÑñá¡¡δσ│
  9381.         │                  │ »α«úαἼѠ󠬫¼á¡ñ¡«⌐ ßΓ᫬Ñ.              │
  9382.         ├──────────────────┼────────────────────────────────────────────┤
  9383.         │   ParamStr       │ é«ºóαáΘáÑΓ »áαá¼ÑΓα, ºáñá¡¡δ⌐  ó  ¬«¼á¡ñ¡«⌐│
  9384.         │                  │ ßΓ᫬Ñ.                                    │
  9385.         ├──────────────────┼────────────────────────────────────────────┤
  9386.         │   Random         │ é«ºóαáΘáÑΓ ß½πτá⌐¡«Ñ τ¿ß½«.                │
  9387.         ├──────────────────┼────────────────────────────────────────────┤
  9388.         │   Ránd«¼izÑ      │ ê¡¿µ¿á½¿º¿απÑΓ óßΓα«Ñ¡¡δ⌐ úÑ¡ÑαáΓ«α ß½πτá⌐-│
  9389.         │                  │ ¡δσ τ¿ßѽ ß½πτá⌐¡δ¼ º¡áτÑ¡¿Ñ¼.             │
  9390.         ├──────────────────┼────────────────────────────────────────────┤
  9391.         │   SizeOf         │ é«ºóαáΘáÑΓ τ¿ß½« íá⌐Γ, ºá¡¿¼áѼδσ  áαúπ¼Ñ¡-│
  9392.         │                  │ Γ«¼.                                       │
  9393.         ├──────────────────┼────────────────────────────────────────────┤
  9394.         │   Swap           │ îÑ¡∩ÑΓ ¼ÑßΓἿ  ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ íá⌐Γδ áα-│
  9395.         │                  │ úπ¼Ñ¡Γá.                                   │
  9396.         ├──────────────────┼────────────────────────────────────────────┤
  9397.         │   TypeOf         │ ô¬áºδóáÑΓ ¡á  Γáí½¿µπ  ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó│
  9398.         │                  │ «íΩѬΓá.                                   │
  9399.         ├──────────────────┼────────────────────────────────────────────┤
  9400.         │   UpCase         │ ÅαÑ«íαáºπÑΓ ß¿¼ó«½ ó óÑασ¡¿⌐ αÑú¿ßΓα.      │
  9401.         └──────────────────┴────────────────────────────────────────────┘
  9402.  
  9403.  
  9404.  
  9405.          B.Pascal 7 & Objects/LR     - 206 -
  9406.  
  9407.                             ÅαÑñ«»¿ßá¡¡δÑ »ÑαѼѡ¡δÑ
  9408.         ─────────────────────────────────────────────────────────────────
  9409.  
  9410.              èα«¼Ñ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó ¼«ñπ½Ñ  System  »αÑñπß¼«ΓαÑ¡  α∩ñ
  9411.         »αÑñ«»¿ßá¡¡δσ »ÑαѼѡ¡δσ.  êσ  »ÑαÑτÑ¡∞ ºáó¿ß¿Γ «Γ í¿í½¿«ΓѬ¿ ¿ß-
  9412.         »«½¡∩εΘÑ⌐ ß¿ßΓѼδ, ¬ ¬«Γ«α«⌐ «Γ¡«ß¿Γß∩ ¼«ñπ½∞ System.
  9413.  
  9414.              æ½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó ¼«ñπ½Ñ System  í¿í½¿«ΓѬ¿
  9415.         TURBO.TPL -  í¿í½¿«ΓѬѠ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ñ½∩ »α¿½«ªÑ¡¿⌐ αÑá½∞-
  9416.         ¡«ú« αѪ¿¼á DOS.
  9417.  
  9418.         ┌───────────────┬────────────────┬──────────────────────────────┐
  9419.         │ ÅÑαѼѡ¡á∩    │   Æ¿»          │     Ä»¿ßá¡¿Ñ                 │
  9420.         ├───────────────┼────────────────┼──────────────────────────────┤
  9421.         │ ErrorAddr     │ Pointer        │ áñαÑß «Φ¿í¬¿ φΓá»á  óδ»«½¡Ñ- │
  9422.         │               │                │ ¡¿∩                          │
  9423.         ├───────────────┼────────────────┼──────────────────────────────┤
  9424.         │ ExitProc      │ Pointer        │ »α«µÑñπαá óδσ«ñá             │
  9425.         ├───────────────┼────────────────┼──────────────────────────────┤
  9426.         │ ExitCode      │ Integer        │ ¬«ñ óδσ«ñá                   │
  9427.         ├───────────────┼────────────────┼──────────────────────────────┤
  9428.         │ FileMode      │ Byte           │ αѪ¿¼ «Γ¬αδΓ¿∩ Σá⌐½á         │
  9429.         ├───────────────┼────────────────┼──────────────────────────────┤
  9430.         │ FreeList      │ Pointer        │ ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó  ñ¿- │
  9431.         │               │                │ ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í- │
  9432.         │               │                │ ½áßΓ¿ »á¼∩Γ¿                 │
  9433.         ├───────────────┼────────────────┼──────────────────────────────┤
  9434.         │ FreeZero      │ Pointer        │ ñ«½ªÑ¡ íδΓ∞ αáóÑ¡ 0          │
  9435.         ├───────────────┼────────────────┼──────────────────────────────┤
  9436.         │ HeapOrg       │ Pointer        │ ¡áτὫ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ- │
  9437.         │               │                │ ½∩Ѽ«⌐ «í½áßΓ¿               │
  9438.         ├───────────────┼────────────────┼──────────────────────────────┤
  9439.         │ HeapPtr       │ Pointer        │ π¬áºáΓѽ∞  ñ¿¡á¼¿τÑ߬¿  αáß- │
  9440.         │               │                │ »αÑñѽ∩Ѽ«⌐ «í½áßΓ¿          │
  9441.         ├───────────────┼────────────────┼──────────────────────────────┤
  9442.         │ HeapError     │ Pointer        │ Σπ¡¬µ¿∩  «Φ¿í¬¿  ñ¿¡á¼¿τÑ߬¿ │
  9443.         │               │                │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
  9444.         │               │                │ Γ¿                           │
  9445.         ├───────────────┼────────────────┼──────────────────────────────┤
  9446.         │ Input         │ Text           │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óó«ñá       │
  9447.         ├───────────────┼────────────────┼──────────────────────────────┤
  9448.         │ InOutRes      │ Integer        │ íπΣÑα   αѺπ½∞ΓáΓá  «»Ñαᵿ¿ │
  9449.         │               │                │ óó«ñá-óδó«ñá                 │
  9450.         ├───────────────┼────────────────┼──────────────────────────────┤
  9451.         │ Output        │ Text           │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá      │
  9452.         ├───────────────┼────────────────┼──────────────────────────────┤
  9453.         │ OvrCodeList   │ Word           │ ß»¿ß«¬ ßÑú¼Ñ¡Γ«ó «óÑα½Ñ⌐¡«ú« │
  9454.         │               │                │ ¬«ñá                         │
  9455.         ├───────────────┼────────────────┼──────────────────────────────┤
  9456.         │ OvrDebugPtr   │ Pointer        │ ¿ß»«½∞ºπÑΓß∩   »α¿   «Γ½áñ¬Ñ │
  9457.         │               │                │ «óÑα½ÑÑó                     │
  9458.         ├───────────────┼────────────────┼──────────────────────────────┤
  9459.         │ OvrDosHandle  │ Word           │ «»¿ßáΓѽ∞ «óÑα½Ñ∩ DOS        │
  9460.  
  9461.          B.Pascal 7 & Objects/LR     - 207 -
  9462.  
  9463.         ├───────────────┼────────────────┼──────────────────────────────┤
  9464.         │ OvrEmsHandle  │ Word           │ «»¿ßáΓѽ∞ «óÑα½Ñ∩ EMS        │
  9465.         ├───────────────┼────────────────┼──────────────────────────────┤
  9466.         │ OvrHeapEnd    │ Word           │ ¬«¡Ñµ «óÑα½Ñ⌐¡«ú« íπΣÑαá     │
  9467.         ├───────────────┼────────────────┼──────────────────────────────┤
  9468.         │ OvrHeapOrg    │ Word           │ ¡áτὫ «óÑα½Ñ⌐¡«ú« íπΣÑαá    │
  9469.         ├───────────────┼────────────────┼──────────────────────────────┤
  9470.         │ OvrHeapPtr    │ Word           │ π¬áºáΓѽ∞ «óÑα½Ñ⌐¡«ú« íπΣÑαá │
  9471.         ├───────────────┼────────────────┼──────────────────────────────┤
  9472.         │ OvrHeapSize   │ Word           │ ¡áτá½∞¡δ⌐ αẼÑα «óÑα½Ñ⌐¡«ú« │
  9473.         │               │                │ íπΣÑαá                       │
  9474.         ├───────────────┼────────────────┼──────────────────────────────┤
  9475.         │ OvrLoadList   │ Word           │ ß»¿ß«¬ ºáúαπªÑ¡¡δσ «óÑα½ÑÑó  │
  9476.         ├───────────────┼────────────────┼──────────────────────────────┤
  9477.         │ PrefixSeg     │ Word           │ »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡- │
  9478.         │               │                │ Γá                           │
  9479.         ├───────────────┼────────────────┼──────────────────────────────┤
  9480.         │ RandSeed      │ Longint        │ ß½πτá⌐¡«Ñ  τ¿ß½«  (úÑ¡Ñα¿απ- │
  9481.         │               │                │ ÑΓß∩ ñáΓτ¿¬«¼  ß½πτá⌐¡δσ τ¿- │
  9482.         │               │                │ ßѽ)                         │
  9483.         ├───────────────┼────────────────┼──────────────────────────────┤
  9484.         │ SaveInt00     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $00   │
  9485.         ├───────────────┼────────────────┼──────────────────────────────┤
  9486.         │ SaveInt02     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $02   │
  9487.         ├───────────────┼────────────────┼──────────────────────────────┤
  9488.         │ SaveInt1B     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $1B   │
  9489.         ├───────────────┼────────────────┼──────────────────────────────┤
  9490.         │ SaveInt23     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $23   │
  9491.         ├───────────────┼────────────────┼──────────────────────────────┤
  9492.         │ SaveInt24     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $24   │
  9493.         ├───────────────┼────────────────┼──────────────────────────────┤
  9494.         │ SaveInt34     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $34   │
  9495.         ├───────────────┼────────────────┼──────────────────────────────┤
  9496.         │ SaveInt35     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $35   │
  9497.         ├───────────────┼────────────────┼──────────────────────────────┤
  9498.         │ SaveInt36     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $36   │
  9499.         ├───────────────┼────────────────┼──────────────────────────────┤
  9500.         │ SaveInt37     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $37   │
  9501.         ├───────────────┼────────────────┼──────────────────────────────┤
  9502.         │ SaveInt38     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $38   │
  9503.         ├───────────────┼────────────────┼──────────────────────────────┤
  9504.         │ SaveInt39     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $39   │
  9505.         ├───────────────┼────────────────┼──────────────────────────────┤
  9506.         │ SaveInt3A     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3A   │
  9507.         ├───────────────┼────────────────┼──────────────────────────────┤
  9508.         │ SaveInt3B     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3B   │
  9509.         ├───────────────┼────────────────┼──────────────────────────────┤
  9510.         │ SaveInt3C     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3C   │
  9511.         ├───────────────┼────────────────┼──────────────────────────────┤
  9512.         │ SaveInt3D     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3D   │
  9513.         ├───────────────┼────────────────┼──────────────────────────────┤
  9514.         │ SaveInt3E     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3E   │
  9515.         ├───────────────┼────────────────┼──────────────────────────────┤
  9516.  
  9517.          B.Pascal 7 & Objects/LR     - 208 -
  9518.  
  9519.         │ SaveInt3F     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3F   │
  9520.         ├───────────────┼────────────────┼──────────────────────────────┤
  9521.         │ SaveInt75     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $75   │
  9522.         ├───────────────┼────────────────┼──────────────────────────────┤
  9523.         │ Seg0040       │ Word           │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $0040      │
  9524.         ├───────────────┼────────────────┼──────────────────────────────┤
  9525.         │ SegA000       │ Word           │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $A000      │
  9526.         ├───────────────┼────────────────┼──────────────────────────────┤
  9527.         │ SegB000       │ Word           │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $B000      │
  9528.         ├───────────────┼────────────────┼──────────────────────────────┤
  9529.         │ SegC000       │ Word           │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $C000      │
  9530.         ├───────────────┼────────────────┼──────────────────────────────┤
  9531.         │ SelectorInc   │ Word           │ Φáú πóѽ¿τÑ¡¿∩ ßÑ½Ñ¬Γ«αá     │
  9532.         ├───────────────┼────────────────┼──────────────────────────────┤
  9533.         │ StackLimit    │ Word           │ π¬áºáΓѽ∞ ¡á ¡¿ª¡εε úαá¡¿µπ  │
  9534.         │               │                │ ßΓѬᠠ                      │
  9535.         ├───────────────┼────────────────┼──────────────────────────────┤
  9536.         │ Test8086      │ Byte           │ αѺπ½∞ΓáΓ  »α«óÑન  »α«µÑß- │
  9537.         │               │                │ ß«αá 8086                    │
  9538.         ├───────────────┼────────────────┼──────────────────────────────┤
  9539.         │ Test8087      │ Byte           │ αѺπ½∞ΓáΓ »α«óÑન ß«»α«µÑß- │
  9540.         │               │                │ ß«αá 8087                    │
  9541.         └───────────────┴────────────────┴──────────────────────────────┘
  9542.  
  9543.              PrefixSeg »αÑñßΓáó½∩ÑΓ ß«í«⌐ »ÑαѼѡ¡πε ñ½¿¡«⌐ ó ß½«ó«,  ß«-
  9544.         ñÑαªáΘπε áñαÑß »αÑΣ¿¬ßá »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá (PSP), ß«ºñáóáѼ«ú«
  9545.         »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ DOS. Å«½¡«Ñ «»¿ßá-
  9546.         ¡¿Ñ PSP »α¿óÑñÑ¡« ó απ¬«ó«ñßΓóÑ »« «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠDOS.
  9547.  
  9548.              ÅÑαѼѡ¡á∩ StackLimit ß«ñÑαª¿Γ ß¼ÑΘÑ¡¿Ñ ¡áτá½á ßΓÑ¬á «Γ¡«ß¿-
  9549.         Γѽ∞¡« ßÑú¼Ñ¡Γá ßΓѬá, τΓ« ß««ΓóÑΓßΓóπÑΓ ¼¿¡¿¼á½∞¡«¼π ñ«»πßΓ¿¼«¼π
  9550.         º¡áτÑ¡¿ε αÑú¿ßΓαá SP, »«ß½Ñ ¬«Γ«α«ú« πªÑ ó«º¡¿¬áÑΓ ß¿Γπᵿ∩ »ÑαÑ-
  9551.         »«½¡Ñ¡¿∩ ßΓѬá. Å« π¼«½τá¡¿ε º¡áτÑ¡¿Ñ φΓ«⌐ »ÑαѼѡ¡«⌐ αáó¡« 0, ¡«
  9552.         Ñß½¿ »α«úαἼᠬ«¼»¿½¿απÑΓß∩ ß ñ¿αÑ¬Γ¿óἿ {$N+,$E+}, Γ« φ¼π½∩Γ«α
  9553.         ß«»α«µÑßß«αá 8087 »α¿ «ΓßπΓßΓó¿¿ ó ß¿ßΓѼѠ߫»α«µÑßß«αá  8087 ñ½∩
  9554.         αѺÑαó¿α«óá¡¿∩ ¼ÑßΓá ó ¼½áñΦ¿σ áñαÑßáσ ßÑú¼Ñ¡Γá ßΓѬá íπñÑΓ πßΓá-
  9555.         ¡áó½¿óáΓ∞ ÑѠ󠺡áτÑ¡¿Ñ 224.
  9556.  
  9557.              ÅÑαѼѡ¡á∩ InOutRes  ¿ß»«½∞ºπÑΓß∩  óßΓα«Ñ¡¡δ¼¿   »α«úαἼἿ
  9558.         óó«ñá-óδó«ñá ñ½∩ ß«σαá¡Ñ¡¿∩ º¡áτÑ¡¿∩, ó«ºóαáΘáѼ«ú« »α¿ ß½ÑñπεΘѼ
  9559.         «íαáΘÑ¡¿¿ ¬ Σπ¡¬µ¿¿ IOResult.
  9560.  
  9561.              é RandSeed ß«σαá¡∩ÑΓß∩ ¡áτá½∞¡«Ñ  º¡áτÑ¡¿Ñ  ñ½∩  óßΓα«Ñ¡¡«ú«
  9562.         úÑ¡ÑαáΓ«αá ß½πτá⌐¡δσ τ¿ßѽ.  àß½¿ »α¿ßóá¿óáΓ∞ φΓ«⌐ »ÑαѼѡ¡«⌐ «»-
  9563.         αÑñѽѡ¡«Ñ º¡áτÑ¡¿Ñ,  Γ« Σπ¡¬µ¿∩ Random íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ ºáñá¡-
  9564.         ¡πε  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß½πτá⌐¡δσ τ¿ßѽ.
  9565.  
  9566.          B.Pascal 7 & Objects/LR     - 209 -
  9567.  
  9568.  
  9569.              ÅÑαѼѡ¡á∩ FileMode  »«ºó«½∩ÑΓ ¿º¼Ñ¡∩Γ∞ αѪ¿¼ ñ«ßΓπ»á ¬ «Γ¬-
  9570.         αδΓδ¼ Γ¿»¿º¿α«óá¡¡δ¼ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼  Σá⌐½á¼.
  9571.  
  9572.              é »ÑαѼѡ¡«⌐  Test8087 ß«σαá¡∩ÑΓß∩ αѺπ½∞ΓáΓ αáí«Γδ á½ú«α¿Γ-
  9573.         ¼«ó áóΓ«¼áΓ¿τÑ߬«ú« αáß»«º¡áóá¡¿∩ ß«»α«µÑßß«αá 8087,  ¬«Γ«αδÑ ¡á-
  9574.         τ¿¡áεΓ αáí«ΓáΓ∞ »α¿ ºá»π߬Ѡ»α«úαá¼¼δ,  ß¬«¼»¿½¿α«óá¡¡«⌐ ß ñ¿αѬ-
  9575.         Γ¿ó«⌐  {$N+}.
  9576.  
  9577.              Input ¿ Äutput - φΓ« ßΓá¡ñáαΓ¡δÑ Σá⌐½δ óó«ñá-óδó«ñá, ¡Ñ«íσ«-
  9578.         ñ¿¼δÑ ó ¬áªñ«⌐ αÑ὿ºáµ¿¿ Åá߬á½∩.  Å« π¼«½τá¡¿ε «¡¿  ßó∩ºδóáεΓß∩
  9579.         ß« ßΓá¡ñáαΓ¡δ¼¿ óσ«ñ¡δ¼¿ ¿ óδσ«ñ¡δ¼¿ Σá⌐½á¼¿ ó Dos.
  9580.  
  9581.  
  9582.          B.Pascal 7 & Objects/LR     - 210 -
  9583.  
  9584.  
  9585.              æ½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó ¼«ñπ½Ñ System  í¿í½¿«ΓѬ¿
  9586.         TPW.TPL - í¿í½¿«ΓѬѠ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ñ½∩ »α¿½«ªÑ¡¿⌐ Windows.
  9587.  
  9588.         ┌───────────────┬────────────────┬──────────────────────────────┐
  9589.         │ ÅÑαѼѡ¡á∩    │   Æ¿»          │     Ä»¿ßá¡¿Ñ                 │
  9590.         ├───────────────┼────────────────┼──────────────────────────────┤
  9591.         │ CmdLine       │ PChar          │ π¬áºáΓѽ∞ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿   │
  9592.         ├───────────────┼────────────────┼──────────────────────────────┤
  9593.         │ CmdShow       │ Integer        │ »áαá¼ÑΓα CmdShow ñ½∩ Create- │
  9594.         │               │                │ Window                       │
  9595.         ├───────────────┼────────────────┼──────────────────────────────┤
  9596.         │ ErrorAddr     │ Pointer        │ áñαÑß «Φ¿í¬¿ φΓá»á  óδ»«½¡Ñ- │
  9597.         │               │                │ ¡¿∩                          │
  9598.         ├───────────────┼────────────────┼──────────────────────────────┤
  9599.         │ ExitProc      │ Pointer        │ »α«µÑñπαá óδσ«ñá             │
  9600.         ├───────────────┼────────────────┼──────────────────────────────┤
  9601.         │ ExitCode      │ Integer        │ ¬«ñ óδσ«ñá                   │
  9602.         ├───────────────┼────────────────┼──────────────────────────────┤
  9603.         │ FileMode      │ Byte           │ αѪ¿¼ «Γ¬αδΓ¿∩ Σá⌐½á         │
  9604.         ├───────────────┼────────────────┼──────────────────────────────┤
  9605.         │ Input         │ Text           │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óó«ñá       │
  9606.         ├───────────────┼────────────────┼──────────────────────────────┤
  9607.         │ HeapAllocFlag │ Word           │ Σ½áú¿   αáß»αÑñѽѡ¿∩  í½«¬á │
  9608.         │               │                │ ñ¿¡á¼¿τÑ߬¿   αáß»αÑñѽ∩Ѽ«⌐ │
  9609.         │               │                │ «í½áßΓ¿ »á¼∩Γ¿               │
  9610.         ├───────────────┼────────────────┼──────────────────────────────┤
  9611.         │ HeapBlock     │ Word           │ αẼÑα   í½«¬á   ñ¿¡á¼¿τÑ߬¿ │
  9612.         │               │                │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
  9613.         │               │                │ Γ¿                           │
  9614.         ├───────────────┼────────────────┼──────────────────────────────┤
  9615.         │ HearError     │ Pointer        │ Σπ¡¬µ¿∩  «Φ¿í¬¿  ñ¿¡á¼¿τÑ߬¿ │
  9616.         │               │                │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
  9617.         │               │                │ Γ¿                           │
  9618.         ├───────────────┼────────────────┼──────────────────────────────┤
  9619.         │ HeapLimit     │ Word           │ αẼÑα ¡á¿¼Ñ¡∞ΦÑú« í½«¬á ñ¿- │
  9620.         │               │                │ ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í- │
  9621.         │               │                │ ½áßΓ¿ »á¼∩Γ¿                 │
  9622.         ├───────────────┼────────────────┼──────────────────────────────┤
  9623.         │ HeapList      │ Word           │ ß»¿ß«¬ ßÑú¼Ñ¡Γ«ó ñ¿¡á¼¿τÑ߬¿ │
  9624.         │               │                │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
  9625.         │               │                │ Γ¿                           │
  9626.         ├───────────────┼────────────────┼──────────────────────────────┤
  9627.         │ HInstance     │ Word           │ «»¿ßáΓѽ∞ ñá¡¡«ú« φ¬ºÑ¼»½∩αá │
  9628.         ├───────────────┼────────────────┼──────────────────────────────┤
  9629.         │ HPrevInst     │ Word           │ «»¿ßáΓѽ∞ »αÑñδñπΘÑú« φ¬ºÑ¼- │
  9630.         │               │                │ »½∩αá                        │
  9631.         ├───────────────┼────────────────┼──────────────────────────────┤
  9632.         │ InOutRes      │ Integer        │ íπΣÑα   αѺπ½∞ΓáΓá  «»Ñαᵿ¿ │
  9633.         │               │                │ óó«ñá-óδó«ñá                 │
  9634.         ├───────────────┼────────────────┼──────────────────────────────┤
  9635.         │ Output        │ Text           │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá      │
  9636.         ├───────────────┼────────────────┼──────────────────────────────┤
  9637.  
  9638.          B.Pascal 7 & Objects/LR     - 211 -
  9639.  
  9640.         │ PrefixSeg     │ Word           │ »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡- │
  9641.         │               │                │ Γá                           │
  9642.         ├───────────────┼────────────────┼──────────────────────────────┤
  9643.         │ RandSeed      │ Longint        │ ß½πτá⌐¡«Ñ  τ¿ß½«  (úÑ¡Ñα¿απ- │
  9644.         │               │                │ ÑΓß∩ ñáΓτ¿¬«¼  ß½πτá⌐¡δσ τ¿- │
  9645.         │               │                │ ßѽ)                         │
  9646.         ├───────────────┼────────────────┼──────────────────────────────┤
  9647.         │ SelectorInc   │ Word           │ Φáú πóѽ¿τÑ¡¿∩ ßÑ½Ñ¬Γ«αá     │
  9648.         ├───────────────┼────────────────┼──────────────────────────────┤
  9649.         │ StackLimit    │ Word           │ π¬áºáΓѽ∞ ¡á ¡¿ª¡εε úαá¡¿µπ  │
  9650.         │               │                │ ßΓѬᠠ                      │
  9651.         ├───────────────┼────────────────┼──────────────────────────────┤
  9652.         │ Test8086      │ Byte           │ αѺπ½∞ΓáΓ  »α«óÑન  »α«µÑß- │
  9653.         │               │                │ ß«αá 8086                    │
  9654.         └───────────────┴────────────────┴──────────────────────────────┘
  9655.  
  9656.              HInstance ß«ñÑαª¿Γ «»¿ßáΓѽ∞ φ¬ºÑ¼»½∩αá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
  9657.         ¿½¿ í¿í½¿«ΓѬ¿,  ¬á¬ φΓ«  »αÑñπß¼áΓα¿óáÑΓß∩  «»Ñαᵿ«¡¡«⌐  ßαÑñ«⌐
  9658.         Windows. é  »α«úαἼѠ HPrevInst  ß«ñÑαª¿Γ  »αÑñδñπΘ¿⌐  φ¬ºÑ¼»½∩α
  9659.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  ¿½¿ 0,  Ñß½¿ »αÑñδñπΘÑú« φ¬ºÑ¼»½∩αá ¡ÑΓ. é
  9660.         í¿í½¿«ΓѬѠHPrevInst óßÑúñá αáó¡« 0.
  9661.  
  9662.              é »α«úαἼѠ CmdLine ß«ñÑαª¿Γ π¬áºáΓѽ∞ ¡á ºáóÑαΦáεΘπεß∩ ¡π-
  9663.         ½Ñ¼ ßΓ᫬π, ¬«Γ«αá∩ ß«ñÑαª¿Γ áαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿, ºáñá¡¡δÑ
  9664.         »α¿ ºá»π߬Ѡ»α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  é í¿í½¿«ΓѬѠφΓá »ÑαѼѡ¡á∩ ¡Ñ
  9665.         «»αÑñѽѡá.
  9666.  
  9667.              é »α«úαἼѠCmdShow ß«ñÑαª¿Γ  º¡áτÑ¡¿Ñ  »áαá¼ÑΓαá,  »ÑαÑñáτπ
  9668.         ¬«Γ«α«ú« ó ShowWindow «ª¿ñáÑΓ Windows, ¬«úñá »α¿¬½áñ¡á∩ »α«úαá¼¼á
  9669.         ß«ºñáÑΓ «ß¡«ó¡«Ñ «¬¡«.  é í¿í½¿«ΓѬѠφΓá »ÑαѼѡ¡á∩ óßÑúñá  αáó¡á
  9670.         0.
  9671.  
  9672.              Å«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩  ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε
  9673.         »á¼∩Γ¿ ñ½∩ αÑ὿ºáµ¿¿ »α«úαá¼¼ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿
  9674.         Borland Pascal   ¿ß»«½∞ºπεΓß∩   »ÑαѼѡ¡δÑ  HeapList,  HeapLimit,
  9675.         HeapBlock ¿ HeapError.
  9676.  
  9677.              ä½∩ αÑ὿ºáµ¿¿  »α«µÑñπα  óδσ«ñá   ¿ß»«½∞ºπεΓß∩   »ÑαѼѡ¡δÑ
  9678.         ExitProc, ErrorCode ¿ ErrorAdr.
  9679.  
  9680.              ÅÑαѼѡ¡á∩ PrefixSeg  »αÑñßΓáó½∩ÑΓ ß«í«⌐ »ÑαѼѡ¡πε ñ½¿¡«⌐ ó
  9681.         ß½«ó«,  ß«ñÑαªáΘπε áñαÑß »αÑΣ¿¬ßá  »α«úαá¼¼¡«ú«  ßÑú¼Ñ¡Γá  (PSP),
  9682.         ß«ºñáóáѼ«ú«  »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ DOS.
  9683.         Å«½¡«Ñ «»¿ßá¡¿Ñ PSP »α¿óÑñÑ¡« ó απ¬«ó«ñßΓóÑ »« «»Ñαᵿ«¡¡«⌐  ß¿ß-
  9684.         ΓѼѠDOS.
  9685.  
  9686.              ÅÑαѼѡ¡á∩ InOutRes   ¿ß»«½∞ºπÑΓß∩  óßΓα«Ñ¡¡δ¼¿  »α«úαἼἿ
  9687.         óó«ñá-óδó«ñá ñ½∩ ß«σαá¡Ñ¡¿∩ º¡áτÑ¡¿∩, ó«ºóαáΘáѼ«ú« »α¿ ß½ÑñπεΘѼ
  9688.         «íαáΘÑ¡¿¿ ¬ Σπ¡¬µ¿¿ IOResult.
  9689.  
  9690.              ÅÑαѼѡ¡á∩ FileMode »«ºó«½∩ÑΓ ¿º¼Ñ¡∩Γ∞ αѪ¿¼ ñ«ßΓπ»á ¬  «Γ¬-
  9691.         αδΓδ¼ Γ¿»¿º«óá¡¡δ¼ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼ Σá⌐½á¼.  ü«½ÑÑ »«ñα«í¡« φΓ«
  9692.         «»¿ßá¡« ó â½áóÑ 14 "éó«ñ ¿ óδó«ñ".
  9693.  
  9694.          B.Pascal 7 & Objects/LR     - 212 -
  9695.  
  9696.  
  9697.              æ½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó ¼«ñπ½Ñ System  í¿í½¿«ΓѬ¿
  9698.         TPP.TPL - í¿í½¿«ΓѬѠ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ñ½∩ »α¿½«ªÑ¡¿⌐  ºáΘ¿ΘÑ¡-
  9699.         ¡«ú« αѪ¿¼á DOS.
  9700.  
  9701.         ┌───────────────┬────────────────┬──────────────────────────────┐
  9702.         │ ÅÑαѼѡ¡á∩    │   Æ¿»          │     Ä»¿ßá¡¿Ñ                 │
  9703.         ├───────────────┼────────────────┼──────────────────────────────┤
  9704.         │ ErrorAddr     │ Pointer        │ áñαÑß «Φ¿í¬¿ φΓá»á  óδ»«½¡Ñ- │
  9705.         │               │                │ ¡¿∩                          │
  9706.         ├───────────────┼────────────────┼──────────────────────────────┤
  9707.         │ ExitProc      │ Pointer        │ »α«µÑñπαá óδσ«ñá             │
  9708.         ├───────────────┼────────────────┼──────────────────────────────┤
  9709.         │ ExitCode      │ Integer        │ ¬«ñ óδσ«ñá                   │
  9710.         ├───────────────┼────────────────┼──────────────────────────────┤
  9711.         │ FileMode      │ Byte           │ αѪ¿¼ «Γ¬αδΓ¿∩ Σá⌐½á         │
  9712.         ├───────────────┼────────────────┼──────────────────────────────┤
  9713.         │ HeapAllocFlags│ Word           │ Σ½áú¿   αáß»αÑñѽѡ¿∩  í½«¬á │
  9714.         │               │                │ ñ¿¡á¼¿τÑ߬¿   αáß»αÑñѽ∩Ѽ«⌐ │
  9715.         │               │                │ «í½áßΓ¿ »á¼∩Γ¿               │
  9716.         ├───────────────┼────────────────┼──────────────────────────────┤
  9717.         │ HeapBlock     │ Word           │ αẼÑα   í½«¬á   ñ¿¡á¼¿τÑ߬¿ │
  9718.         │               │                │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
  9719.         │               │                │ Γ¿                           │
  9720.         ├───────────────┼────────────────┼──────────────────────────────┤
  9721.         │ HearError     │ Pointer        │ Σπ¡¬µ¿∩  «Φ¿í¬¿  ñ¿¡á¼¿τÑ߬¿ │
  9722.         │               │                │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
  9723.         │               │                │ Γ¿                           │
  9724.         ├───────────────┼────────────────┼──────────────────────────────┤
  9725.         │ HeapLimit     │ Word           │ αẼÑα ¡á¿¼Ñ¡∞ΦÑú« í½«¬á ñ¿- │
  9726.         │               │                │ ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í- │
  9727.         │               │                │ ½áßΓ¿ »á¼∩Γ¿                 │
  9728.         ├───────────────┼────────────────┼──────────────────────────────┤
  9729.         │ HeapList      │ Word           │ ß»¿ß«¬ ßÑú¼Ñ¡Γ«ó ñ¿¡á¼¿τÑ߬¿ │
  9730.         │               │                │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
  9731.         │               │                │ Γ¿                           │
  9732.         ├───────────────┼────────────────┼──────────────────────────────┤
  9733.         │ HInstance     │ Word           │ «»¿ßáΓѽ∞ ñá¡¡«ú« φ¬ºÑ¼»½∩αá │
  9734.         ├───────────────┼────────────────┼──────────────────────────────┤
  9735.         │ HPrevInst     │ Word           │ «»¿ßáΓѽ∞ »αÑñδñπΘÑú« φ¬ºÑ¼- │
  9736.         │               │                │ »½∩αá                        │
  9737.         ├───────────────┼────────────────┼──────────────────────────────┤
  9738.         │ InOutRes      │ Integer        │ íπΣÑα   αѺπ½∞ΓáΓá  «»Ñαᵿ¿ │
  9739.         │               │                │ óó«ñá-óδó«ñá                 │
  9740.         ├───────────────┼────────────────┼──────────────────────────────┤
  9741.         │ Output        │ Text           │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá      │
  9742.         ├───────────────┼────────────────┼──────────────────────────────┤
  9743.         │ PrefixSeg     │ Word           │ »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡- │
  9744.         │               │                │ Γá                           │
  9745.         ├───────────────┼────────────────┼──────────────────────────────┤
  9746.         │ RandSeed      │ Longint        │ ß½πτá⌐¡«Ñ  τ¿ß½«  (úÑ¡Ñα¿απ- │
  9747.         │               │                │ ÑΓß∩ ñáΓτ¿¬«¼  ß½πτá⌐¡δσ τ¿- │
  9748.         │               │                │ ßѽ)                         │
  9749.  
  9750.          B.Pascal 7 & Objects/LR     - 213 -
  9751.  
  9752.         ├───────────────┼────────────────┼──────────────────────────────┤
  9753.         │ RealModeRegs  │ array[0..49] of│ αÑú¿ßΓαδ αÑá½∞¡«ú« αѪ¿¼á    │
  9754.         │               │  byte          │                              │
  9755.         ├───────────────┼────────────────┼──────────────────────────────┤
  9756.         │ SaveInt00     │ Pointer        │ ß«σαá¡Ñ¡¡á∩   ¿ß¬½ετ¿Γѽ∞¡á∩ │
  9757.         │               │                │ ß¿Γπᵿ∩ $00                 │
  9758.         ├───────────────┼────────────────┼──────────────────────────────┤
  9759.         │ SaveInt02     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $02   │
  9760.         ├───────────────┼────────────────┼──────────────────────────────┤
  9761.         │ SaveInt0C     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ   ¿ß¬½ετ¿Γѽ∞¡á∩ │
  9762.         │               │                │ ß¿Γπᵿ∩ $0æ                 │
  9763.         ├───────────────┼────────────────┼──────────────────────────────┤
  9764.         │ SaveInt0D     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $0D   │
  9765.         ├───────────────┼────────────────┼──────────────────────────────┤
  9766.         │ SaveInt1B     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $1B   │
  9767.         ├───────────────┼────────────────┼──────────────────────────────┤
  9768.         │ SaveInt21     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $21   │
  9769.         ├───────────────┼────────────────┼──────────────────────────────┤
  9770.         │ SaveInt23     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ       »αÑαδóá¡¿Ñ │
  9771.         │               │                │ αÑá½∞¡«ú« αѪ¿¼á $23         │
  9772.         ├───────────────┼────────────────┼──────────────────────────────┤
  9773.         │ SaveInt24     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ       »αÑαδóá¡¿Ñ │
  9774.         │               │                │ αÑá½∞¡«ú« αѪ¿¼á $24         │
  9775.         ├───────────────┼────────────────┼──────────────────────────────┤
  9776.         │ SaveInt34     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $34   │
  9777.         ├───────────────┼────────────────┼──────────────────────────────┤
  9778.         │ SaveInt35     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $35   │
  9779.         ├───────────────┼────────────────┼──────────────────────────────┤
  9780.         │ SaveInt36     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $36   │
  9781.         ├───────────────┼────────────────┼──────────────────────────────┤
  9782.         │ SaveInt37     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $37   │
  9783.         ├───────────────┼────────────────┼──────────────────────────────┤
  9784.         │ SaveInt3B     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $38   │
  9785.         ├───────────────┼────────────────┼──────────────────────────────┤
  9786.         │ SaveInt39     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $39   │
  9787.         ├───────────────┼────────────────┼──────────────────────────────┤
  9788.         │ SaveInt3A     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3A   │
  9789.         ├───────────────┼────────────────┼──────────────────────────────┤
  9790.         │ SaveInt3B     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3B   │
  9791.         ├───────────────┼────────────────┼──────────────────────────────┤
  9792.         │ SaveInt3C     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3C   │
  9793.         ├───────────────┼────────────────┼──────────────────────────────┤
  9794.         │ SaveInt3D     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3D   │
  9795.         ├───────────────┼────────────────┼──────────────────────────────┤
  9796.         │ SaveInt3E     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3E   │
  9797.         ├───────────────┼────────────────┼──────────────────────────────┤
  9798.         │ SaveInt3F     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3F   │
  9799.         ├───────────────┼────────────────┼──────────────────────────────┤
  9800.         │ SaveInt75     │ Pointer        │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $75   │
  9801.         ├───────────────┼────────────────┼──────────────────────────────┤
  9802.         │ Seg0040       │ Word           │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $0040      │
  9803.         ├───────────────┼────────────────┼──────────────────────────────┤
  9804.         │ SegA000       │ Word           │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $A000      │
  9805.  
  9806.          B.Pascal 7 & Objects/LR     - 214 -
  9807.  
  9808.         ├───────────────┼────────────────┼──────────────────────────────┤
  9809.         │ SegB000       │ Word           │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $B000      │
  9810.         ├───────────────┼────────────────┼──────────────────────────────┤
  9811.         │ SegB800       │ Word           │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $B800      │
  9812.         ├───────────────┼────────────────┼──────────────────────────────┤
  9813.         │ Test8086      │ Byte           │ αѺπ½∞ΓáΓ  »α«óÑન  »α«µÑß- │
  9814.         │               │                │ ß«αá 8086                    │
  9815.         ├───────────────┼────────────────┼──────────────────────────────┤
  9816.         │ Test8087      │ Byte           │ αѺπ½∞ΓáΓ »α«óÑન ß«»α«µÑß- │
  9817.         │               │                │ ß«αá 8087                    │
  9818.         └───────────────┴────────────────┴──────────────────────────────┘
  9819.  
  9820.              ü«½ÑÑ »«ñα«í¡πε ¿¡Σ«α¼áµ¿ε «í φΓ¿σ »ÑαѼѡ¡δσ óδ ¼«ªÑΓÑ ¡á⌐-
  9821.         Γ¿ ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") ó "æ»αáó«τ¡«¼ απ¬«ó«ñß-
  9822.         ΓóÑ »α«úαá¼¼¿ßΓá.
  9823.  
  9824.  
  9825.  
  9826.          B.Pascal 7 & Objects/LR     - 215 -
  9827.  
  9828. ───────────────────────────────────────────────────────────────────────
  9829.                              â½áóá 14. éó«ñ ¿ óδó«ñ
  9830.         ─────────────────────────────────────────────────────────────────
  9831.  
  9832.              é ñá¡¡«⌐ â½áóÑ ¬αáΓ¬« «»¿ßδóáεΓß∩ ßΓá¡ñáαΓ¡δÑ (¿½¿  óßΓα«Ñ¡-
  9833.         ¡δÑ) Σπ¡¬µ¿¿ ¿ »α«µÑñπαδ óó«ñá-óδó«ñá Borland Pascal.  ¥Γ¿ »α«µÑ-
  9834.         ñπαδ ¿ Σπ¡¬µ¿¿ ¼«ª¡« ¡á⌐Γ¿ ó ¼«ñπ½Ñ System.
  9835.  
  9836.                         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ óó«ñá-óδó«ñá
  9837.         ┌──────────────────┬────────────────────────────────────────────┐
  9838.         │   öπ¡¬µ¿∩        │      Ä»¿ßá¡¿Ñ                              │
  9839.         ├──────────────────┼────────────────────────────────────────────┤
  9840.         │   Append         │ ÄΓ¬αδóáÑΓ ßπΘÑßΓóπεΘ¿⌐  Σá⌐½  ñ½∩  ñ«íáó½Ñ-│
  9841.         │                  │ ¡¿∩.                                       │
  9842.         ├──────────────────┼────────────────────────────────────────────┤
  9843.         │   Assign         │ Åα¿ßóá¿óáÑΓ ¿¼∩ ó¡ÑΦ¡Ñú« Σá⌐½á Σá⌐½«ó«⌐ »Ñ-│
  9844.         │                  │ αѼѡ¡«⌐.                                  │
  9845.         ├──────────────────┼────────────────────────────────────────────┤
  9846.         │   BlockRead      │ æτ¿ΓδóáÑΓ ¿º  ¡ÑΓ¿»¿º¿α«óá¡¡«ú« Σá⌐½á  «ñ¡π│
  9847.         │                  │ ¿½¿ í«½ÑÑ ºá»¿ßÑ⌐.                         │
  9848.         ├──────────────────┼────────────────────────────────────────────┤
  9849.         │   BlockWrite     │ çỿßδóáÑΓ  ó  ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐  Σá⌐½  «ñ¡π│
  9850.         │                  │ ¿½¿ í«½ÑÑ ºá»¿ßÑ⌐.                         │
  9851.         ├──────────────────┼────────────────────────────────────────────┤
  9852.         │   ChDir          │ éδ»«½¡∩ÑΓ ß¼Ñ¡π ΓѬπΘÑú« ¬áΓὫúá.         │
  9853.         ├──────────────────┼────────────────────────────────────────────┤
  9854.         │   Close          │ çá¬αδóáÑΓ «Γ¬αδΓδ⌐ Σá⌐½.                   │
  9855.         ├──────────────────┼────────────────────────────────────────────┤
  9856.         │   Erase          │ æΓ¿αáÑΓ ó¡ÑΦ¡¿⌐ Σá⌐½.                      │
  9857.         ├──────────────────┼────────────────────────────────────────────┤
  9858.         │   E«f            │ é«ºóαáΘáÑΓ ñ½∩ Σá⌐½á  ß«ßΓ«∩¡¿Ñ end-of-file│
  9859.         │                  │ (¬«¡Ñµ Σá⌐½á).                             │
  9860.         ├──────────────────┼────────────────────────────────────────────┤
  9861.         │   FilePos        │ é«ºóαáΘáÑΓ ΓѬπΘπε  »«º¿µ¿ε  ó  Σá⌐½Ñ.  ä½∩│
  9862.         │                  │ ΓѬßΓ«óδσ Σá⌐½«ó ¡Ñ ¿ß»«½∞ºπÑΓß∩.          │
  9863.         ├──────────────────┼────────────────────────────────────────────┤
  9864.         │   FileSize       │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ αẼÑα Σá⌐½á.  ä½∩ ΓѬß-│
  9865.         │                  │ Γ«óδσ Σá⌐½«ó ¡Ñ ¿ß»«½∞ºπÑΓß∩.              │
  9866.         ├──────────────────┼────────────────────────────────────────────┤
  9867.         │   Flush          │ æíαáßδóáÑΓ íπΣÑα ΓѬßΓ«ó«ú« Σá⌐½á óδó«ñá.  │
  9868.         ├──────────────────┼────────────────────────────────────────────┤
  9869.         │   Getdir         │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ ¬áΓὫú ¡á ºáñá¡¡«¼ ñ¿ß-│
  9870.         │                  │ ¬Ñ.                                        │
  9871.         ├──────────────────┼────────────────────────────────────────────┤
  9872.         │   IÄResult       │ é«ºóαáΘáÑΓ µÑ½«Ñ º¡áτÑ¡¿Ñ,  ∩ó½∩εΘÑÑß∩ ß«ß-│
  9873.         │                  │ Γ«∩¡¿Ñ¼ »«ß½Ññ¡Ñ⌐ óδ»«½¡Ñ¡¡«⌐ «»Ñαᵿ¿ óó«-│
  9874.         │                  │ ñá-óδó«ñá.                                 │
  9875.         ├──────────────────┼────────────────────────────────────────────┤
  9876.         │   MkDir          │ æ«ºñáÑΓ »«ñ¬áΓὫú.                        │
  9877.         ├──────────────────┼────────────────────────────────────────────┤
  9878.         │   Read           │ æτ¿ΓδóáÑΓ «ñ¡« ¿½¿ í«½ÑÑ º¡áτÑ¡¿⌐ ¿º  Σá⌐½á│
  9879.         │                  │ ó «ñ¡π ¿½¿ í«½ÑÑ »ÑαѼѡ¡δσ.               │
  9880.         ├──────────────────┼────────────────────────────────────────────┤
  9881.         │   Readln         │ äѽáÑΓ Γ« ªÑ, τΓ« ¿ Read, ¿ óδ»«½¡∩ÑΓ  »α«-│
  9882.  
  9883.          B.Pascal 7 & Objects/LR     - 216 -
  9884.  
  9885.         │                  │ »π߬ ñ« ¡áτá½á ß½ÑñπεΘÑ⌐ ßΓ᫬¿  ΓѬßΓ«ó«ú«│
  9886.         │                  │ Σá⌐½á.                                     │
  9887.         ├──────────────────┼────────────────────────────────────────────┤
  9888.         │   RÑná¼Ñ         │ ÅÑαÑ¿¼Ñ¡«óδóáÑΓ ó¡ÑΦ¡¿⌐ Σá⌐½.              │
  9889.         ├──────────────────┼────────────────────────────────────────────┤
  9890.         │   RÑset          │ ÄΓ¬αδóáÑΓ ßπΘÑßΓóπεΘ¿⌐ Σá⌐½.               │
  9891.         ├──────────────────┼────────────────────────────────────────────┤
  9892.         │   RewritÑ        │ æ«ºñáÑΓ ¿ «Γ¬αδóáÑΓ ¡«óδ⌐ Σá⌐½.            │
  9893.         ├──────────────────┼────────────────────────────────────────────┤
  9894.         │   R¼Dir          │ ôñá½∩ÑΓ »πßΓ«⌐ »«ñ¬áΓὫú.                 │
  9895.         ├──────────────────┼────────────────────────────────────────────┤
  9896.         │   Seek           │ ÅÑαѼÑΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ  ¡á  ºá-│
  9897.         │                  │ ñá¡¡δ⌐ φ½Ñ¼Ñ¡Γ. ä½∩ ΓѬßΓ«óδσ Σá⌐½«ó ¡Ñ ¿ß-│
  9898.         │                  │ »«½∞ºπÑΓß∩.                                │
  9899.         ├──────────────────┼────────────────────────────────────────────┤
  9900.         │   SeekEof        │ é«ºóαáΘáÑΓ ñ½∩ ΓѬßΓ«ó«ú«  Σá⌐½á  ß«ßΓ«∩¡¿Ñ│
  9901.         │                  │ "¬«¡Ñµ Σá⌐½á".                             │
  9902.         ├──────────────────┼────────────────────────────────────────────┤
  9903.         │   SeekEoln       │ é«ºóαáΘáÑΓ ñ½∩ ΓѬßΓ«ó«ú«  Σá⌐½á  ß«ßΓ«∩¡¿Ñ│
  9904.         │                  │ "¬«¡Ñµ ßΓ᫬¿".                            │
  9905.         ├──────────────────┼────────────────────────────────────────────┤
  9906.         │   SetTextBuf     │ ìạáτáÑΓ ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á íπΣÑα óó«ñá-│
  9907.         │                  │ óδó«ñá.                                    │
  9908.         ├──────────────────┼────────────────────────────────────────────┤
  9909.         │   Truncate       │ ôßѬáÑΓ αẼÑα Σá⌐½á  ñ«  ΓѬπΘÑ⌐  »«º¿µ¿¿.│
  9910.         │                  │ ä½∩ ΓѬßΓ«óδσ Σá⌐½«ó ¡Ñ ¿ß»«½∞ºπÑΓß∩.      │
  9911.         ├──────────────────┼────────────────────────────────────────────┤
  9912.         │   Write          │ çỿßδóáÑΓ ó Σá⌐½ «ñ¡« ¿½¿ í«½ÑÑ º¡áτÑ¡¿⌐. │
  9913.         ├──────────────────┼────────────────────────────────────────────┤
  9914.         │   Writeln        │ äѽáÑΓ Γ« ªÑ, τΓ«  Write, ¡« ºáΓѼ  ºá»¿ßδ-│
  9915.         │                  │ óáÑΓ ó ΓѬßΓ«óδ⌐ Σá⌐½ ß¿¼ó«½ ¬«¡µá ßΓ᫬¿. │
  9916.         └──────────────────┴────────────────────────────────────────────┘
  9917.  
  9918.  
  9919.  
  9920.          B.Pascal 7 & Objects/LR     - 217 -
  9921.  
  9922.                                öá⌐½«óδ⌐ óó«ñ-óδó«ñ
  9923.         ─────────────────────────────────────────────────────────────────
  9924.  
  9925.              öá⌐½«óá∩ »ÑαѼѡ¡á∩  ó Åá߬á½Ñ - φΓ« ½εíá∩ »ÑαѼѡ¡á∩ Σá⌐½«-
  9926.         ó«ú« Γ¿»á.  é Åá߬á½Ñ ¿¼ÑεΓß∩ Γα¿ ¬½áßßá  Σá⌐½«ó:  Γ¿»¿º¿α«óá¡¡δ⌐
  9927.         Σá⌐½, ΓѬßΓ«óδ⌐ Σá⌐½ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ Σá⌐½.
  9928.  
  9929.                    Åα¿¼Ñτá¡¿Ñ: æ¿¡Γá¬ß¿ß  ºá»¿ß¿ Γ¿»«ó Σá⌐½«ó »αÑñßΓáó½Ñ¡
  9930.               ó â½áóÑ 4, ó αáºñѽѠ"æΓαπ¬Γπα¡δÑ Γ¿»δ".
  9931.  
  9932.              ÅÑαÑñ ¿ß»«½∞º«ó᡿Ѽ Σá⌐½«ó«⌐  »ÑαѼѡ¡«⌐  «¡á  ñ«½ª¡á  íδΓ∞
  9933.         ßó∩ºá¡á ß ó¡ÑΦ¡¿¼ Σá⌐½«¼ ß »«¼«Θ∞ε ó맮óá »α«µÑñπαδ Assign. é¡ÑΦ-
  9934.         ¡¿¼ Σá⌐½«¼ «íδτ¡« ∩ó½∩ÑΓß∩ »«¿¼Ñ¡«óá¡¡δ⌐ Σá⌐½  ¡á  ñ¿ß¬Ñ,  ¡«  «¡
  9935.         ΓᬪѠ¼«ªÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ πßΓα«⌐ßΓó«,  ¡á»α¿¼Ñα,  ¬½áó¿áΓπαπ
  9936.         ¿½¿ ñ¿ß»½Ñ⌐.  é« ó¡ÑΦ¡¿σ Σá⌐½áσ ß«σαá¡∩ÑΓß∩ ºá»¿ßá¡¡á∩ ó Σá⌐½ ¿¡-
  9937.         Σ«α¼áµ¿∩, ¿½¿ «¡¿ ß½πªáΓ ¿ßΓ«τ¡¿¬á¼¿ ¿¡Σ«α¼áµ¿¿, ¬«Γ«αá∩ ßτ¿Γδóá-
  9938.         ÑΓß∩ ¿º Σá⌐½á.
  9939.  
  9940.              è«úñá ßó∩º∞ ß ó¡ÑΦ¡¿¼ Σá⌐½«¼ πßΓá¡«ó½Ñ¡á,  ñ½∩ »«ñú«Γ«ó¬¿ ÑÑ
  9941.         ¬ «»Ñαᵿ¿ óó«ñá ¿½¿ óδó«ñá Σá⌐½«óá∩ »ÑαѼѡ¡á∩ ñ«½ª¡á íδΓ∞ "«Γ¬-
  9942.         αδΓá". æπΘÑßΓóπεΘ¿⌐ Σá⌐½ ¼«ª¡« «Γ¬αδΓ∞ ß »«¼«Θ∞ε »α«µÑñπαδ Reset,
  9943.         á ¡«óδ⌐ Σá⌐½ ¼«ª¡« ß«ºñáΓ∞ ¿ «Γ¬αδΓ∞ ß »«¼«Θ∞ε »α«µÑñπαδ Rewrite.
  9944.         ÆÑ¬ßΓ«óδÑ Σá⌐½δ,  «Γ¬αδΓδÑ ß  »«¼«Θ∞ε  »α«µÑñπαδ  Reset  ñ«ßΓπ»¡δ
  9945.         Γ«½∞¬« »« τΓÑ¡¿ε, á ΓѬßΓ«óδÑ Σá⌐½δ, «Γ¬αδΓδÑ ß »«¼«Θ∞ε »α«µÑñπαδ
  9946.         Rewrite,  ñ«ßΓπ»¡δ Γ«½∞¬« »« ºá»¿ß¿. Æ¿»¿º¿α«óá¡¡δÑ ¿ ¡ÑΓ¿»¿º¿α«-
  9947.         óá¡¡δÑ Σá⌐½δ óßÑúñá ñ«»π߬áεΓ ¬á¬ τΓÑ¡¿Ñ, Γᬠ¿ ºá»¿ß∞, ¡Ñºáó¿ß¿-
  9948.         ¼« «Γ Γ«ú« í뫨 «¡¿ «Γ¬αδΓδ ß »«¼«Θ∞ε »α«µÑñπαδ Reset ¿½¿  ß  »«-
  9949.         ¼«Θ∞ε »α«µÑñπαδ Rewrite.
  9950.  
  9951.              ïεí«⌐ Σá⌐½,  »αÑñßΓáó½∩ÑΓ  ß«í«⌐ ½¿¡Ñ⌐¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞
  9952.         φ½Ñ¼Ñ¡Γ«ó,  ¬áªñδ⌐ ¿º ¬«Γ«αδσ ¿¼ÑÑΓ Γ¿» φ½Ñ¼Ñ¡Γá (¿½¿ Γ¿» ºá»¿ß¿)
  9953.         Σá⌐½á.  èáªñδ⌐  φ½Ñ¼Ñ¡Γ  Σá⌐½á ¿¼ÑÑΓ ¡«¼Ñα.  ÅÑαóδ⌐ φ½Ñ¼Ñ¡Γ Σá⌐½á
  9954.         ßτ¿ΓáÑΓß∩ ¡π½Ñóδ¼ φ½Ñ¼Ñ¡Γ«¼.
  9955.  
  9956.              Äíδτ¡« ñ«ßΓπ»  ¬  Σá⌐½á¼  «αúá¡¿ºπÑΓß∩  »«ß½Ññ«óáΓѽ∞¡«,  Γ«
  9957.         ÑßΓ∞,  ¬«úñá  φ½Ñ¼Ñ¡Γ ßτ¿ΓδóáÑΓß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ
  9958.         Read ¿½¿ ºá»¿ßδóáÑΓß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ Write,  ΓÑ-
  9959.         ¬πΘá∩ »«º¿µ¿∩ Σá⌐½á »ÑαѼÑΘáÑΓß∩ ¬ ß½ÑñπεΘÑ¼π »« »«α∩ñ¬π φ½Ñ¼Ñ¡Γπ
  9960.         Σá⌐½á.  Äñ¡á¬« ¬ Γ¿»¿º¿α«óá¡¡δ¼ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼  Σá⌐½á¼  ¼«ª¡«
  9961.         «αúá¡¿º«óáΓ∞  »α∩¼«⌐ ñ«ßΓπ» ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ SÑÑk,
  9962.         ¬«Γ«αá∩ »ÑαѼÑΘáÑΓ ΓѬπΘπε »«º¿µ¿ε Σá⌐½á  ¬  ºáñá¡¡«¼π  φ½Ñ¼Ñ¡Γπ.
  9963.         ä½∩  «»αÑñѽѡ¿∩ ΓѬπΘÑ⌐ »«º¿µ¿¿ ó Σá⌐½Ñ ¿ ΓѬπΘÑú« αẼÑαá Σá⌐½á
  9964.         ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿ FileP«s ¿ Filesize.
  9965.  
  9966.              è«úñá »α«úαἼᠺáóÑαΦáÑΓ «íαáí«Γ¬π Σá⌐½á,  «¡ ñ«½ªÑ¡ ºá¬αδ-
  9967.         óáΓ∞ß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ Close.  Å«ß½Ñ »«½¡«ú« ºá¬-
  9968.         αδΓ¿∩ Σá⌐½á ßó∩ºá¡¡δ⌐ ß ¡¿¼ ó¡ÑΦ¡¿⌐ Σá⌐½ «í¡«ó½∩ÑΓß∩.  çáΓѼ Σá⌐-
  9969.         ½«óá∩ »ÑαѼѡ¡á∩ ¼«ªÑΓ íδΓ∞ ßó∩ºá¡á ß ñαπú¿¼ ó¡ÑΦ¡¿¼ Σá⌐½«¼.
  9970.  
  9971.              Å« π¼«½τá¡¿ε »α¿ óßÑσ «íαáΘÑ¡¿∩σ ¬  ßΓá¡ñáαΓ¡δ¼  Σπ¡¬µ¿∩¼  ¿
  9972.         »α«µÑñπαá¼  óó«ñá-óδó«ñá  áóΓ«¼áΓ¿τÑ߬¿  »α«¿ºó«ñ¿Γß∩ »α«óÑα¬á ¡á
  9973.         ¡á½¿τ¿Ñ «Φ¿í«¬. Åα¿ «í¡áαπªÑ¡¿¿ «Φ¿í¬¿ »α«úαἼᠻαѬαáΘáÑΓ αáí«-
  9974.         Γπ  ¿  óδó«ñ¿Γ  ¡á φ¬αá¡ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.  æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó
  9975.  
  9976.          B.Pascal 7 & Objects/LR     - 218 -
  9977.  
  9978.         ¬«¼»¿½∩Γ«αá {$I+} ¿ {$I-} φΓπ áóΓ«¼áΓ¿τÑ߬πε »α«óÑα¬π ¼«ª¡« ó¬½ε-
  9979.         τ¿Γ∞ ¿½¿ ó䬽ετ¿Γ∞.  è«úñá áóΓ«¼áΓ¿τÑ߬á∩ »α«óÑα¬á «Γ¬½ετÑ¡á,  Γ«
  9980.         ÑßΓ∞ ¬«úñá »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ íδ½á ß¬«¼»¿½¿α«óá¡á ß ñ¿αÑ¬Γ¿ó«⌐
  9981.         {$I-},  «Φ¿í¬¿ óó«ñá-óδó«ñá, ó«º¡¿¬áεΘ¿Ñ »α¿ αáí«ΓÑ »α«úαá¼¼δ, ¡Ñ
  9982.         »α¿ó«ñ∩Γ ¬ ÑÑ «ßΓá¡«óπ.  Åα¿ φΓ«¼,  τΓ«íδ »α«óÑα¿Γ∞ αѺπ½∞ΓáΓ óδ-
  9983.         »«½¡Ñ¡¿∩  «»Ñαᵿ¿  óó«ñá-óδó«ñá,  ¡πª¡« ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡πε
  9984.         Σπ¡¬µ¿ε IÄResult.
  9985.  
  9986.              ä½∩ «τ¿ßΓ¬¿ «Φ¿í¬¿,  ¬«Γ«αá∩ ¼«ªÑΓ »α«¿º«⌐Γ¿, óδ ¼«ªÑΓÑ óδº-
  9987.         óáΓ∞ Σπ¡¬µ¿ε IOResult.  àß½¿ óδ φΓ«ú« ¡Ñ ßñѽáÑΓÑ, ¿ ΓѬπΘ¿¼ ß«ß-
  9988.         Γ«∩¡¿Ñ¼ ∩ó½∩ÑΓß∩ {$I+},  Γ« ¿º-ºá «ßΓáóΦÑ⌐ß∩ «Φ¿í¬¿ IOResult ß½Ñ-
  9989.         ñπεΘá∩ «»Ñαᵿ∩ óó«ñá-óδó«ñá ºáóÑαΦ¿Γß∩ ß «Φ¿í¬«⌐.
  9990.  
  9991.                    Åα¿¼Ñτá¡¿Ñ: àß½¿ óδ »¿ΦÑΓÑ »α«úαá¼¼π ñ½ Windows  ¿  ¡Ñ
  9992.               σ«Γ¿ΓÑ,  τΓ«íδ Windows «íαáíáΓδóá½á ºá óáß «Φ¿í¬¿ óó«ñá-óδ-
  9993.               ó«ñá ¡á  ñ¿ß¬  ¿½¿  ñαπú¿Ñ  «Φ¿í¬¿  óó«ñá-óδó«ñá,  ó맮ó¿ΓÑ
  9994.               SetErrorMode(1).
  9995.  
  9996.  
  9997.  
  9998.          B.Pascal 7 & Objects/LR     - 219 -
  9999.  
  10000.                                  ÆÑ¬ßΓ«óδÑ Σá⌐½δ
  10001.         ─────────────────────────────────────────────────────────────────
  10002.  
  10003.              é ñá¡¡«¼ αáºñѽѠ«»¿ßδóáεΓß∩ «»Ñαᵿ¿ óó«ñá  ¿  óδó«ñá,  ¿ß-
  10004.         »«½∞ºπεΘ¿Ñ Σá⌐½«óπε »ÑαѼѡ¡πε ßΓá¡ñáαΓ¡«ú« ΓѬßΓ«ó«ú« Γ¿»á.  çá-
  10005.         ¼ÑΓ¿¼,  τΓ« ó Borland Pascal ΓѬßΓ«óδ⌐ Γ¿» (Γ¿» Text)  «Γ½¿τáÑΓß∩
  10006.         «Γ ß¿¼ó«½∞¡«ú« Γ¿»á Char.
  10007.  
  10008.              Åα¿ «Γ¬αδΓ¿¿  ΓѬßΓ«ó«ú« Σá⌐½á ó¡ÑΦ¡¿⌐ Σá⌐½ ¿¡ΓÑα»αÑΓ¿απÑΓß∩
  10009.         «ß«íδ¼ «íαẫ¼:  ßτ¿ΓáÑΓß∩,  τΓ« «¡ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »«ß½Ññ«óá-
  10010.         Γѽ∞¡«ßΓ∞ ß¿¼ó«½«ó,  ßúαπ»»¿α«óá¡¡δσ ó ßΓ᫬¿,  úñÑ ¬áªñá∩ ßΓ᫬á
  10011.         ºá¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ ¬«¡µá ßΓ᫬¿ (end-of-line), ¬«Γ«αδ⌐ »αÑñß-
  10012.         Γáó½∩ÑΓ ß«í«⌐ ß¿¼ó«½ »ÑαÑó«ñá ¬áαÑΓ¬¿, ºá ¬«Γ«αδ¼ ó«º¼«ª¡« ß½Ññπ-
  10013.         ÑΓ ß¿¼ó«½ »ÑαÑó«ñá ßΓ᫬¿.
  10014.  
  10015.              ä½∩ ΓѬßΓ«óδσ Σá⌐½«ó  ßπΘÑßΓóπÑΓ  ß»Ñµ¿á½∞¡δ⌐  ó¿ñ  «»Ñαᵿ⌐
  10016.         τΓÑ¡¿∩ ¿ ºá»¿ß¿ (read ¿ write), ¬«Γ«αδ⌐ »«ºó«½∩εΓ óá¼ ßτ¿ΓδóáΓ∞ ¿
  10017.         ºá»¿ßδóáΓ∞ º¡áτÑ¡¿∩,  Γ¿» ¬«Γ«αδσ «Γ½¿τáÑΓß∩ «Γ ß¿¼ó«½∞¡«ú«  Γ¿»á
  10018.         Char. Æá¬¿Ñ   º¡áτÑ¡¿∩  áóΓ«¼áΓ¿τÑ߬¿  »ÑαÑó«ñ∩Γß∩  ó  ß¿¼ó«½∞¡«Ñ
  10019.         »αÑñßΓáó½Ñ¡¿Ñ ¿ «íαáΓ¡«.  ìá»α¿¼Ñα, Read(f,i), úñÑ i - »ÑαѼѡ¡á∩
  10020.         µÑ½«ú« Γ¿»á,  »α¿óÑñÑΓ ¬ ßτ¿Γδóá¡¿ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ µ¿Σα,  ¿¡-
  10021.         ΓÑα»αÑΓᵿ¿ φΓ«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿,  ¬á¬  ñÑß∩Γ¿τ¡«ú«  τ¿ß½á,  ¿
  10022.         ß«σαá¡Ñ¡¿ε Ñú« ó i.
  10023.  
  10024.              èᬠí佫 «Γ¼ÑτÑ¡« αá¡ÑÑ,  ¿¼ÑεΓß∩ ñóÑ ßΓá¡ñáαΓ¡δσ »ÑαѼѡ¡δσ
  10025.         ΓѬßΓ«ó«ú« Γ¿»á - φΓ« Input ¿ Äutput.  æΓá¡ñáαΓ¡á∩ Σá⌐½«óá∩ »ÑαÑ-
  10026.         ¼Ñ¡¡á∩ Input - φΓ« ñ«ßΓπ»¡δ⌐ Γ«½∞¬« »« τΓÑ¡¿ε Σá⌐½,  ßó∩ºá¡¡δ⌐ ß«
  10027.         ßΓá¡ñáαΓ¡δ¼ Σá⌐½«¼ óó«ñá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ («íδτ¡« φΓ« ¬½áó¿á-
  10028.         Γπαá),  á  ßΓá¡ñáαΓ¡á∩ Σá⌐½«óá∩ »ÑαѼѡ¡á∩ Äutput - φΓ« ñ«ßΓπ»¡δ⌐
  10029.         Γ«½∞¬« »« ºá»¿ß¿ Σá⌐½,  ßó∩ºá¡¡δ⌐ ß«  ßΓá¡ñáαΓ¡δ¼  Σá⌐½«¼  óδó«ñá
  10030.         «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ («íδτ¡« φΓ« ñ¿ß»½Ñ⌐). ÅÑαÑñ ¡áτὫ¼ óδ»«½¡Ñ-
  10031.         ¡¿∩ »α«úαá¼¼δ DOS Σá⌐½δ Input ¿ Äutput áóΓ«¼áΓ¿τÑ߬¿ «Γ¬αδóáεΓß∩,
  10032.         ¬á¬ Ñß½¿ íδ í뫨 óδ»«½¡Ñ¡δ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ:
  10033.  
  10034.              Assign(Input,'');
  10035.              Reset(Input);
  10036.              Assign(Output,'');
  10037.              Rewrite(Output);
  10038.  
  10039.              Æá¬ ¬á¬ Windows ¡Ñ »«ññÑনóáÑΓ  ¡Ñ»«ßαÑñßΓóÑ¡¡«  «α¿Ñ¡Γ¿α«-
  10040.         óá¡¡δ⌐ ¡á ΓѬßΓ óó«ñ ¿ óδó«ñ, Σá⌐½δ Input ¿ Output »« π¼«½τá¡¿ε ó
  10041.         »α¿¬½áñ¡«⌐ »α«úαἼѠWindows ¡Ñ »α¿ßóá¿óáεΓß∩,  ¿  ½εíá∩  »«»δΓ¬á
  10042.         τΓÑ¡¿∩  ¿º  φΓ¿σ  Σá⌐½«ó  ¿½¿ ºá»¿ß¿ ó ¡¿σ »α¿óÑñÑΓ ¬ «Φ¿í¬Ñ óó«-
  10043.         ñá-óδó«ñá.  Äñ¡á¬«,  Ñß½¿ »α¿¬½áñ¡á∩ »α«úαἼᠿ߻«½∞ºπÑΓ  ¼«ñπ½∞
  10044.         WinCrt, Γ« Input ¿ Output íπñπΓ ßßδ½áΓ∞ß∩ ¡á »α«¬απτ¿óáѼ«Ñ ΓѬß-
  10045.         Γ«ó«Ñ «¬¡«. î«ñπ½∞ WinCrt ß«ñÑαª¿Γ óßε ½«ú¿¬π π»αáó½Ñ¡¿∩, ¡Ñ«íσ«-
  10046.         ñ¿¼πε   ñ½∩  φ¼π½∩µ¿¿  ΓѬßΓ«ó«ú«  φ¬αá¡á  ó  «»Ñαᵿ«¡¡«⌐  ßαÑñÑ
  10047.         Windows,  »«φΓ«¼π ó  »α¿¬½áñ¡«⌐  »α«úαá¼¼Ñ,  ¿ß»«½∞ºπεΘÑ⌐  ¼«ñπ½∞
  10048.         WinCrt,  ¡Ñ ΓαÑíπÑΓß∩ ¡¿¬á¬¿σ »α¿Ñ¼«ó »α«úαá¼¼¿α«óá¡¿∩,  ß»Ñµ¿Σ¿-
  10049.         τÑ߬¿σ ñ½∩ Windows.
  10050.  
  10051.              ä½∩ ¡Ñ¬«Γ«αδσ ¿º ßΓá¡ñáαΓ¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐,  ß»¿ß«¬ ¬«-
  10052.         Γ«αδσ  »α¿óÑñÑ¡  ó ñá¡¡«¼ αáºñѽÑ,  ¡Ñ ΓαÑíπÑΓß∩ ∩ó¡« π¬áºδóáΓ∞ ó
  10053.  
  10054.          B.Pascal 7 & Objects/LR     - 220 -
  10055.  
  10056.         ¬áτÑßΓóÑ »áαá¼ÑΓαá  Σá⌐½«óπε »ÑαѼѡ¡πε.  àß½¿ φëà»áαá¼ÑΓα «»π-
  10057.         ΘÑ¡,  Γ« »« π¼«½τá¡¿ε íπñπΓ αáßß¼áΓα¿óáΓ∞ß∩ »ÑαѼѡ¡δÑ Input  ¿½¿
  10058.         Output,  ó  ºáó¿ß¿¼«ßΓ¿  «Γ Γ«ú«,  íπñÑΓ ½¿ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩
  10059.         «α¿Ñ¡Γ¿α«óá¡á ¡á óó«ñ ¿½¿ ¡á óδó«ñ.  ìá»α¿¼Ñα,  Read(σ) ß««ΓóÑΓß-
  10060.         ΓóπÑΓ Read(Input,σ) ¿ Write(σ) ß««ΓóÑΓßΓóπÑΓ Write(Output,σ).
  10061.  
  10062.              àß½¿ »α¿ ó맮óÑ «ñ¡«⌐ ¿º »α«µÑñπα ¿½¿ Σπ¡¬µ¿⌐ ¿º φΓ«ú«  αáº-
  10063.         ñѽá óδ ºáñáÑΓÑ Σá⌐½, φëàΣá⌐½ ñ«½ªÑ¡ íδΓ∞ ßó∩ºá¡ ß ó¡ÑΦ¡¿¼ Σá⌐-
  10064.         ½«ó ß »«¼«Θ∞ε »α«µÑñπαδ  Assign  ¿  «Γ¬αδΓ  ß  »«¼«Θ∞ε  »α«µÑñπαδ
  10065.         Reset, RewritÑ ¿½¿ Append. àß½¿ ñ½∩ «α¿Ñ¡Γ¿α«óá¡¡«⌐ ¡á óδó«ñ »α«-
  10066.         µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ óδ π¬áºδóáÑΓÑ Σá⌐½,  ¬«Γ«αδ⌐ íδ½ «Γ¬αδΓ ß  »«-
  10067.         ¼«Θ∞ε »α«µÑñπαδ Reset,  Γ« óδóÑñÑΓß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.  Ç¡á½«-
  10068.         ú¿τ¡«,  íπñÑΓ «Φ¿í¬«⌐ ºáñáóáΓ∞ ñ½∩ «α¿Ñ¡Γ¿α«óá¡¡«⌐ ¡á óó«ñ »α«µÑ-
  10069.         ñπαδ  ¿½¿  Σπ¡¬µ¿¿ Σá⌐½,  «Γ¬αδΓδ⌐ ß »«¼«Θ∞ε »α«µÑñπα Rewrite ¿½¿
  10070.         Append.
  10071.  
  10072.  
  10073.  
  10074.          B.Pascal 7 & Objects/LR     - 221 -
  10075.  
  10076.                              ìÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ
  10077.         ─────────────────────────────────────────────────────────────────
  10078.  
  10079.              ìÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ »αÑñßΓáó½∩εΓ ß«í«⌐ ¬á¡á½δ óó«ñá-óδó«-
  10080.         ñá ¡¿ª¡Ñú« πα«ó¡∩,  ¿ß»«½∞ºπѼδÑ ó «ß¡«ó¡«¼ ñ½∩ »α∩¼«ú« ñ«ßΓπ»á ¬
  10081.         ½εí«¼π Σá⌐½π ¡á ñ¿ß¬Ñ,  ¡Ñºáó¿ß¿¼« «Γ Ñú« Γ¿»á ¿ ßΓαπ¬Γπαδ. ïεí«⌐
  10082.         ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ Σá⌐½ «»¿ßδóáÑΓß∩ ß½«ó«¼ file íѺ áΓα¿íπΓ«ó. ìá»-
  10083.         α¿¼Ñα:
  10084.  
  10085.              var
  10086.                DataFile: file;
  10087.  
  10088.              ä½∩ ¡ÑΓ¿»¿º¿α«óá¡¡δσ Σá⌐½«ó ó »α«µÑñπαáσ Reset ¿ Rewrite ñ«-
  10089.         »π߬áÑΓß∩ π¬áºδóáΓ∞ ñ«»«½¡¿Γѽ∞¡δ⌐ »áαá¼ÑΓα,  τΓ«íδ ºáñáΓ∞ αẼÑα
  10090.         ºá»¿ß¿, ¿ß»«½∞ºπεΘ¿⌐ß∩ »α¿ »ÑαÑñáτÑ Σá⌐½á.
  10091.  
  10092.              Å« ¿ßΓ«α¿τÑ߬¿¼ »α¿τ¿¡á¼ »α¿¡¿¼áѼá∩ »« π¼«½τá¡¿ε ñ½¿¡á  ºá-
  10093.         »¿ß¿  αáó¡á  128 íá⌐Γá¼.  ÅαÑñ»«τΓ¿Γѽ∞¡«⌐ ñ½¿¡«⌐ ºá»¿ß¿ ∩ó½∩ÑΓß∩
  10094.         ñ½¿¡á ºá»¿ß¿,  αáó¡á∩ 1, »«ß¬«½∞¬π φΓ« Ññ¿¡ßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ, ¬«-
  10095.         Γ«α«Ñ  »«ºó«½∩ÑΓ  Γ«τ¡« «ΓαếΓ∞ αẼÑα ½εí«ú« Σá⌐½á (¬«úñá ñ½¿¡á
  10096.         ºá»¿ß¿ αáó¡á 1, Γ« ó Σá⌐½Ñ ¡Ñ ¼«úπΓ »α¿ßπΓßΓó«óáΓ∞ ¡Ñ»«½¡δÑ ºá»¿-
  10097.         ß¿, Γ« ÑßΓ∞ ºá»¿ß¿ ß ¼Ñ¡∞ΦÑ⌐ ñ½¿¡«⌐).
  10098.  
  10099.              çᠿ߬½ετÑ¡¿Ñ¼ »α«µÑñπα Read ¿ Write ñ½∩ óßÑσ ¡ÑΓ¿»¿º¿α«óá¡-
  10100.         ¡δσ Σá⌐½«ó ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ½εí«⌐ ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ,
  10101.         ¬«Γ«αδÑ ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞ ß Γ¿»¿º¿α«óá¡¡δ¼¿ Σá⌐½á¼¿. é¼Ñß-
  10102.         Γ« »α«µÑñπα Read ¿ Write ºñÑß∞ ¿ß»«½∞ºπεΓß∩ ß««ΓóÑΓßΓóÑ¡¡« »α«µÑ-
  10103.         ñπαδ BlockrÑád ¿ BlockWrite »«ºó«½∩εΘ¿Ñ »ÑαÑßδ½áΓ∞ ñá¡¡δÑ ß óδß«-
  10104.         ¬«⌐ ß¬«α«ßΓ∞ε.
  10105.  
  10106.                                ÅÑαѼѡ¡á∩ FileMode
  10107.         ─────────────────────────────────────────────────────────────────
  10108.  
  10109.              ÅÑαѼѡ¡á∩ FileMode,  «»αÑñѽѡ¡á∩  ó ¼«ñπ½Ñ System,  ºáñáÑΓ
  10110.         ¬«ñ ñ«ßΓπ»á,  »ÑαÑñáóáѼδ⌐ ó DOS ñ½∩ Γ¿»¿º¿α«óá¡¡δσ ¿ ¡ÑΓ¿»¿º¿α«-
  10111.         óá¡¡δσ Σá⌐½«ó (¡Ñ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó),  ¬«úñá «¡¿ «Γ¬αδóáεΓß∩ ß
  10112.         »«¼«Θ∞ε »α«µÑñπαδ Reset.
  10113.  
  10114.              Å« π¼«½τá¡¿ε  º¡áτÑ¡¿Ñ  FileMode  = 2.  Åα¿ φΓ«¼ ñ«»π߬áÑΓß∩
  10115.         τΓÑ¡¿Ñ ¿ ºá»¿ß∞ Σá⌐½á.  Åα¿ßóá¿óá¡¿Ñ  FileMode  ñαπú«ú«  º¡áτÑ¡¿∩
  10116.         »α¿ó«ñ¿Γ  ¬ ¿ß»«½∞º«óá¡¿ε φΓ«ú« αѪ¿¼á »α¿ óßÑσ »«ß½ÑñπεΘ¿σ ó맮-
  10117.         óáσ Reset.
  10118.  
  10119.                    Åα¿¼Ñτá¡¿Ñ: ì«óδÑ   Σá⌐½δ,   «Γ¬αδóáѼδÑ   ß   »«¼«Θ∞ε
  10120.               Rewrite, óßÑúñá «Γ¬αδóáεΓß∩ ó αѪ¿¼Ñ τΓÑ¡¿∩/ºá»¿ß¿, τΓ« ß«-
  10121.               «ΓóÑΓßΓóπÑΓ Filemode = 2.
  10122.  
  10123.              ä¿á»áº«¡ ñ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐ FileMode ºáó¿ß¿Γ «Γ  ¿ß»«½∞ºπÑ-
  10124.         ¼«⌐ óÑαß¿¿ DOS. Äñ¡á¬« ó« óßÑσ óÑαß¿∩σ «»αÑñѽѡδ ß½ÑñπεΘ¿Ñ αѪ¿-
  10125.         ¼δ:
  10126.  
  10127.              0:  ñ«ßΓπ» Γ«½∞¬« »« τΓÑ¡¿ε
  10128.              1:  Æ«½∞¬« ºá»¿ß∞
  10129.  
  10130.          B.Pascal 7 & Objects/LR     - 222 -
  10131.  
  10132.              2:  ùΓÑ¡¿Ñ/ºá»¿ß∞
  10133.  
  10134.              é DOS  óÑαß¿¿ 3.σ «»αÑñѽѡδ ñ«»«½¡¿Γѽ∞¡δÑ αѪ¿¼δ,  ¬«Γ«αδÑ
  10135.         ¬áßáεΓß∩ ó «ß¡«ó¡«¼ ß«ó¼ÑßΓ¡«ú« ¿ß»«½∞º«óá¡¿∩ Σá⌐½«ó »α¿ αáí«ΓÑ ó
  10136.         ßÑΓ¿  (í«½ÑÑ »«ñα«í¡« φΓ« «»¿ßδóáÑΓß∩ ó "Éπ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá
  10137.         »« DOS").
  10138.  
  10139.                            ôßΓα«⌐ßΓóá ó Borland Pascal
  10140.         ─────────────────────────────────────────────────────────────────
  10141.  
  10142.              é Borland  Pascal ¿ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠDOS ó¡ÑΦ¡∩∩ á»»á-
  10143.         αáΓπαá,  ¬á¬,  ¡á»α¿¼Ñα,  ¬½áó¿áΓπαá, πßΓα«⌐ßΓó« »ÑτáΓ¿, ñ¿ß»½Ñ⌐,
  10144.         αáßß¼áΓα¿óáÑΓß∩, ¬á¬ πßΓα«⌐ßΓóá. æ Γ«τ¬¿ ºαÑ¡¿∩ »α«úαá¼¼¿ßΓá πßΓ-
  10145.         α«⌐ßΓó« ¼«ª¡« αáßß¼áΓα¿óáΓ∞,  ¬á¬ Σá⌐½,  ¿ ß ¡¿¼ ¼«ª¡« αáí«ΓáΓ∞ ß
  10146.         »«¼«Θ∞ε  Γ«ú«  ªÑ ¡áí«αá ßΓá¡ñáαΓ¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐,  τΓ« ¿ ß
  10147.         Σá⌐½«¼.  é Æπαí« Åá߬á½Ñ »«ññÑনóáÑΓß∩ ñóá Γ¿»á πßΓα«⌐ßΓó - πßΓ-
  10148.         α«⌐ßΓóá DOS ¿ πßΓα«⌐ßΓóá ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó.
  10149.  
  10150.  
  10151.  
  10152.          B.Pascal 7 & Objects/LR     - 223 -
  10153.  
  10154.                                  ôßΓα«⌐ßΓóá DOS
  10155.         ─────────────────────────────────────────────────────────────────
  10156.  
  10157.              ôßΓα«⌐ßΓóá DOS  αÑ὿º«óá¡δ ß »«¼«Θ∞ε ºáαѺÑαó¿α«óá¡¡δσ ¿¼Ñ¡
  10158.         πßΓα«⌐ßΓó,  ¬«Γ«αδÑ ¿¼ÑεΓ ß»Ñµ¿á½∞¡δ⌐ ß¼δß½.  ôßΓα«⌐ßΓóá DOS »«½-
  10159.         ¡«ßΓ∞ε "»α«ºαáτ¡δ": ó Æπαí« Åá߬á½Ñ ¡Ñ¿ºóÑßΓ¡« ñáªÑ, ¬«úñá Σá⌐½«-
  10160.         óá∩ »ÑαѼѡ¡á∩ ßó∩ºá¡á ß πßΓα«⌐ßΓó«¼,  á ¬«úñá ß Σá⌐½«¼ ¡á ñ¿ß¬Ñ.
  10161.         ìá»α¿¼Ñα, »α«úαá¼¼á:
  10162.  
  10163.              var
  10164.                Lst: Text;
  10165.              begin
  10166.                Assign(Lst,'LPT1');
  10167.                Rewrite(Lst);
  10168.                Writeln(Lst,'Åα¿óÑΓ...');
  10169.                Close(Lst);
  10170.              end;
  10171.  
  10172.         óδóÑñÑΓ ßΓ᫬π "Åα¿óÑΓ..." ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿,  σ«Γ∩  ß¿¡Γá¬ß¿ß
  10173.         Γ«τ¡«  Γᬫ⌐ ªÑ,  ¬á¬ Ñß½¿ íδ «¡á óδó«ñ¿½áß∞ ó Σá⌐½.
  10174.  
  10175.              ôßΓα«⌐ßΓóá, αÑ὿º«óá¡¡δÑ ó «»Ñαᵿ«¡¡«⌐  ß¿ßΓѼѠ DOS,  ¿ß-
  10176.         »«½∞ºπεΓß∩ ñ½∩ «ñ¡«º¡áτ¡«ú« óó«ñá ¿½¿ óδó«ñá. Æá¬¿¼ «íαẫ¼, πßΓ-
  10177.         α«⌐ßΓóá ó DOS ¿ß»«½∞ºπεΓß∩ «íδτ¡« ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó.  é αÑñ¬¿σ
  10178.         ß½πτá∩σ  ñ½∩  αáí«Γδ  ß πßΓα«⌐ßΓóἿ DOS ¼«ªÑΓ «¬áºáΓ∞ß∩ »«½Ñº¡δ¼
  10179.         ¿ß»«½∞º«óá¡¿Ñ ΓᬪѠ¡ÑΓ¿»¿º¿α«óá¡¡«ú« Σá⌐½á.
  10180.  
  10181.  
  10182.  
  10183.          B.Pascal 7 & Objects/LR     - 224 -
  10184.  
  10185.                                  ôßΓα«⌐ßΓó« CÄN
  10186.         ─────────────────────────────────────────────────────────────────
  10187.  
  10188.              ôßΓα«⌐ßΓó« CÄN «º¡áτáÑΓ ¬«¡ß«½∞, »«ßαÑñßΓó«¼ ¬«Γ«α«⌐ óδó«ñ¿-
  10189.         ¼á∩ ¿¡Σ«α¼áµ¿∩ »ÑαÑßδ½áÑΓß∩ ¡á φ¬αá¡ ñ¿ß»½Ñ∩, á óó«ñ¿¼á∩ ¿¡Σ«α¼á-
  10190.         µ¿∩ ó«ß»α¿¡¿¼áÑΓß∩ ß ¬½áó¿áΓπαδ.  àß½¿ ¡Ñ í佫 ¿º¼Ñ¡Ñ¡« ¡á»αáó½Ñ-
  10191.         ¡¿Ñ óó«ñá ¿½¿ óδó«ñá,  ßΓá¡ñáαΓ¡δÑ Σá⌐½δ Input  ¿  Äutput  ¿  óßÑ
  10192.         Σá⌐½δ, ¬«Γ«αδ¼ »α¿ßó«Ñ¡« »πßΓ«Ñ ¿¼∩, ßßδ½áεΓß∩ ¡á πßΓα«⌐ßΓó« CÄN.
  10193.  
  10194.              éó«ñ¿¼á∩ ß πßΓα«⌐ßΓóá CÄN ¿¡Σ«α¼áµ¿∩ ∩ó½∩ÑΓß∩ ßΓα«τ¡«-«α¿Ñ¡-
  10195.         Γ¿α«óá¡¡«⌐ ¿ ¿ß»«½∞ºπÑΓß∩ ßαÑñßΓóἿ αÑñá¬Γ¿α«óá¡¿∩ ßΓ᫬¿, ¬«Γ«-
  10196.         αδÑ  «»¿ßá¡δ ó απ¬«ó«ñßΓóÑ »« DOS.  æ¿¼ó«½δ ßτ¿ΓδóáεΓß∩ ¿º íπΣÑαá
  10197.         ßΓ᫬¿, á ¬«úñá íπΣÑα ßΓá¡«ó¿Γß∩ »πßΓδ¼, óó«ñ¿Γß∩ ¡«óá∩ ßΓ᫬á.
  10198.  
  10199.              Åα¿ ¡áªáΓ¿¿ ¬½áó¿Φ Ctrl+Z úÑ¡Ñα¿απÑΓß∩  ß¿¼ó«½  ¬«¡µá  Σá⌐½á
  10200.         (end-of-file),  »«ß½Ñ  ¬«Γ«α«ú«  Σπ¡¬µ¿∩  E«f ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ
  10201.         TruÑ.
  10202.  
  10203.                           ôßΓα«⌐ßΓóá LÉT1, LÉT2 ¿ LÉT3
  10204.         ─────────────────────────────────────────────────────────────────
  10205.  
  10206.              é ¬áτÑßΓóÑ  ó«º¼«ª¡«ú« πßΓα«⌐ßΓóá »«ßΓα«τ¡«⌐ »ÑτáΓ¿ ñ«»π߬á-
  10207.         ÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ñ« ΓαÑσ πßΓα«⌐ßΓó  »ÑτáΓ¿.  àß½¿  »α¿ß«Ññ¿¡Ñ¡«
  10208.         Γ«½∞¬« «ñ¡« πßΓα«⌐ßΓó« »ÑτáΓ¿,  ¡á ¡Ñú« «íδτ¡« ßßδ½áεΓß∩,  ¬á¬ ¡á
  10209.         πßΓα«⌐ßΓó« LÉT1.  ä½∩ φΓ«ú« πßΓα«⌐ßΓóá ¼«ª¡«  ΓᬪѠ ¿ß»«½∞º«óáΓ∞
  10210.         ß¿¡«¡¿¼ ÉRN.
  10211.  
  10212.              Å«ßΓα«τ¡«Ñ πßΓα«⌐ßΓó« »ÑτáΓ¿ - φΓ« πßΓα«⌐ßΓó«, »αÑñ¡áº¡áτÑ¡-
  10213.         ¡«Ñ Γ«½∞¬« ñ½∩ óδó«ñá.  Åα¿ ½εí«⌐ »«»δΓ¬Ñ ¿ß»«½∞º«óáΓ∞  »α«µÑñπαπ
  10214.         Reset  ñ½∩ «Γ¬αδΓ¿∩ Σá⌐½á,  ßó∩ºá¡¡«ú« ß «ñ¡¿¼ ¿º φΓ¿σ πßΓα«⌐ßΓó,
  10215.         ¡Ñ¼Ññ½Ñ¡¡« úÑ¡Ñα¿απÑΓß∩ »α¿º¡á¬ ¬«¡µá Σá⌐½á.
  10216.  
  10217.              æΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Érinter «»¿ßδóáÑΓ ΓѬßΓ«óπε Σá⌐½«óπε  »Ñ-
  10218.         αѼѡ¡πε  ß  ¿¼Ñ¡Ñ¼  Lst  ¿  πßΓá¡áó½¿óáÑΓ ÑÑ ßó∩º∞ ß πßΓα«⌐ßΓó«¼
  10219.         LÉT1.  ùΓ«íδ «í½Ñúτ¿Γ∞ óδó«ñ ¬á¬«⌐-½¿í« ¿¡Σ«α¼áµ¿¿ ¿º óáΦÑ⌐ »α«ú-
  10220.         αá¼¼δ ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿,  ó¬½ετ¿ΓÑ ó «»ÑαáΓ«α uses óáΦÑ⌐ »α«ú-
  10221.         αá¼¼δ   ¼«ñπ½∞   Érinter,  á  ñ½∩  óδó«ñá  ¿ß»«½∞ºπ⌐ΓÑ  »α«µÑñπαδ
  10222.         WritÑ(Lst,...) ¿ WritÑln(Lst,...).
  10223.  
  10224.                    Åα¿¼Ñτá¡¿Ñ: Ä  »ÑτáΓ¿ ¿º »α«úαá¼¼δ Windows αáß߬áºδóá-
  10225.               ÑΓß∩ ¡¿ªÑ.
  10226.  
  10227.  
  10228.  
  10229.          B.Pascal 7 & Objects/LR     - 225 -
  10230.  
  10231.                              ôßΓα«⌐ßΓóá CÄî1 ¿ CÄî2
  10232.         ─────────────────────────────────────────────────────────────────
  10233.  
  10234.              è«¼¼π¡¿¬áµ¿«¡¡δ¼¿ »«αΓἿ (CÄî1 ¿ CÄî2) ∩ó½∩εΓß∩ πßΓα«⌐ßΓóá,
  10235.         »αÑñßΓáó½∩εΘ¿Ñ ß«í«⌐ ñóá »«ß½Ññ«óáΓѽ∞¡δ󠬫¼¼π¡¿¬áµ¿«¡¡δσ »«αΓá.
  10236.         é¼ÑßΓ« CÄî1 ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß¿¡«¡¿¼ AUò.
  10237.  
  10238.  
  10239.                                  ôßΓα«⌐ßΓó« NUL
  10240.         ─────────────────────────────────────────────────────────────────
  10241.  
  10242.              ìπ½Ñó«Ñ πßΓα«⌐ßΓó«  (NUL) ¿ú¡«α¿απÑΓ ½εíπε »«»δΓ¬π ºá»¿ß¿ ¡á
  10243.         ¡Ñú« ¿ ¡Ñ¼Ññ½Ñ¡¡« úÑ¡Ñα¿απÑΓ »α¿º¡á¬ ¬«¡µá Σá⌐½á »α¿ »«»δΓ¬¿ ßτ¿-
  10244.         Γδóá¡¿∩ ß φΓ«ú« πßΓα«⌐ßΓóá.  àú« ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞, Ñß½¿ óδ ¡Ñ
  10245.         σ«Γ¿ΓÑ ß«ºñáóáΓ∞ «Γñѽ∞¡δ⌐ Σá⌐½,  á ó »α«úαἼѠΓαÑíπÑΓß∩ π¬áºáΓ∞
  10246.         ¿¼∩ óσ«ñ¡«ú« ¿½¿ óδσ«ñ¡«ú« Σá⌐½á.
  10247.  
  10248.              é «íΘѼ ß½πτáÑ ß½ÑñπÑΓ ¿ºíÑúáΓ∞ ¿ß»«½∞º«óá¡¿∩ πßΓα«⌐ßΓó  DOS
  10249.         »«ñ Windows ¿ »α¿¼Ñ¡∩Γ∞ Σπ¡¬µ¿¿ óó«ñá-óδó«ñá API Windows. ìѬ«Γ«-
  10250.         αδÑ πßΓα«⌐ßΓóá,  ΓᬿѠ¬á¬ CON, ¡Ñ íπñπΓ »αáó¿½∞¡« αáí«ΓáΓ∞. äαπ-
  10251.         ú¿Ñ πßΓα«⌐ßΓóá  ¼«úπΓ αáí«ΓáΓ∞,  ¡« αѺπ½∞ΓáΓδ ¼«úπΓ «¬áºáΓ∞ß∩ ¡Ñ
  10252.         ΓѼ¿, τΓ« óδ «ª¿ñáÑΓÑ.  ìá»α¿¼Ñα,  Ñß½¿ óδ ¿ß»«½∞ºπÑΓÑ LPT1, óáΦá
  10253.         αáß»ÑτáΓ¬á ¼«ªÑΓ óδó«ñ¿Γ∞ß∩, »αÑαδóá∩ ñαπú«Ñ ºáñá¡¿Ñ »ÑτáΓ¿. Å«φ-
  10254.         Γ«¼π ¡áñѪ¡ÑÑ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ API Windows.
  10255.  
  10256.  
  10257.                 ôßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó
  10258.         ─────────────────────────────────────────────────────────────────
  10259.  
  10260.              ôßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó,  ¿ß»«½∞ºπ-
  10261.         εΓß∩ ñ½∩ αÑ὿ºáµ¿¿ πßΓα«⌐ßΓó,  ¡Ñ »«ññÑনóáѼδσ ó DOS,  ¿½¿ ñ½∩
  10262.         Γ«ú«, τΓ«íδ ßñѽáΓ∞ ñ«ßΓπ»¡δ¼ ¡áí«α ßαÑñßΓó,  «Γ½¿τáεΘ¿⌐ß∩ «Γ Γ«-
  10263.         ú«, ¬«Γ«αδ⌐ »αÑñπß¼«ΓαÑ¡ ñ½∩ á¡á½«ú¿τ¡«ú« πßΓα«⌐ßΓóá DOS. ò«α«Φ¿¼
  10264.         »α¿¼Ñα«¼ πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡«ú« ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á, ∩ó½∩-
  10265.         ÑΓß∩  «¬¡« CRT,  αÑ὿º«óá¡¡«Ñ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«ú« ¼«ñπ½∩ Crt.
  10266.         Ä¡« «íÑß»Ñτ¿óáÑΓ á¡á½«ú¿τ¡δ⌐ ΓÑନ¡á½π ΓѬßΓ«óδ⌐ φ¬αá¡ ¿ »«ºó«½∩-
  10267.         ÑΓ óá¼  ß«ºñáóáΓ∞ »α¿¬½áñ¡δÑ »α«úαá¼¼δ ß« "ßΓá¡ñáαΓ¡δ¼ óó«ñ«¼-óδ-
  10268.         ó«ñ«¼" ß ¼¿¡¿¼á½∞¡δ¼¿ πß¿½¿∩¼¿,  ¿ß»«½∞ºπ∩  ΓᬿѠ ßαÑñßΓóá,  ¬á¬
  10269.         µóÑΓá ¿ «¬¡á.
  10270.  
  10271.              é «Γ½¿τ¿Ñ «Γ πßΓα«⌐ßΓó DOS,  πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩
  10272.         óδó«ñá ΓѬßΓ«óδσ Σá⌐½«ó,  ¡Ñ ¿¼ÑεΓ ºáαѺÑαó¿α«óá¡¡δσ ¿¼Ñ¡. öá¬Γ¿-
  10273.         τÑ߬¿, π ¡¿σ ó««íΘÑ «ΓßπΓßΓóπεΓ ¿¼Ñ¡á. é¼ÑßΓ« φΓ«ú« Σá⌐½ ßó∩ºδóá-
  10274.         ÑΓß∩ ó πßΓα«⌐ßΓó«¼ ß »«¼«Θ∞ε «íδτ¡«⌐ »α«µÑñπαδ Assign.  ìá»α¿¼Ñα,
  10275.         ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Crt  αÑ὿ºπÑΓ  »α«µÑñπαπ  AssignCrt,  ¬«Γ«αá∩
  10276.         ßó∩ºδóáÑΓ ΓѬßΓ«óδÑ Σá⌐½δ ß πßΓα«⌐ßΓó«¼ CRT.
  10277.  
  10278.              ôßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó,  ¿ß»«½∞ºπ-
  10279.         εΓß∩ ñ½∩ αÑ὿ºáµ¿¿ πßΓα«⌐ßΓó,  ¡Ñ »«ññÑনóáѼδσ ó DOS,  ¿½¿ ñ½∩
  10280.         Γ«ú«, τΓ«íδ ßñѽáΓ∞ ñ«ßΓπ»¡δ¼ ¡áí«α ßαÑñßΓó,  «Γ½¿τáεΘ¿⌐ß∩ «Γ Γ«-
  10281.         ú«, ¬«Γ«αδ⌐ »αÑñπß¼«ΓαÑ¡ ñ½∩ á¡á½«ú¿τ¡«ú« πßΓα«⌐ßΓóá DOS. ò«α«Φ¿¼
  10282.         »α¿¼Ñα«¼ πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡«ú« ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á, ∩ó½∩-
  10283.         ÑΓß∩ πßΓα«⌐ßΓó« CRT,  αÑ὿º«óá¡¡«Ñ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«ú« ¼«ñπ½∩
  10284.  
  10285.          B.Pascal 7 & Objects/LR     - 226 -
  10286.  
  10287.         Crt.  àú« «ß¡«ó¡«⌐ Σπ¡¬µ¿Ñ⌐  ∩ó½∩ÑΓß∩  «íÑß»ÑτÑ¡¿Ñ  ¿¡ΓÑαΣÑ⌐ßá  ß
  10288.         ñ¿ß»½ÑѼ ¿ ¬½áó¿áΓπα«⌐, á¡á½«ú¿τ¡« πßΓα«⌐ßΓóπ CÄN ó ¼«ñπ½Ñ Dos.
  10289.  
  10290.              é «Γ½¿τ¿Ñ «Γ πßΓα«⌐ßΓó DOS,  πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩
  10291.         óδó«ñá ΓѬßΓ«óδσ Σá⌐½«ó,  ¡Ñ ¿¼ÑεΓ ºáαѺÑαó¿α«óá¡¡δσ ¿¼Ñ¡. öá¬Γ¿-
  10292.         τÑ߬¿, π ¡¿σ ó««íΘÑ «ΓßπΓßΓóπεΓ ¿¼Ñ¡á. é¼ÑßΓ« φΓ«ú« Σá⌐½ ßó∩ºδóá-
  10293.         ÑΓß∩ ß πßΓα«⌐ßΓó«¼ ß »«¼«Θ∞ε «íδτ¡«⌐ »α«µÑñπαδ  Assign. ìá»α¿¼Ñα,
  10294.         ßΓá¡ñáαΓ¡δ⌐  ¼«ñπ½∞  Crt  αÑ὿ºπÑΓ »α«µÑñπαπ AssignCrt,  ¬«Γ«αá∩
  10295.         ßó∩ºδóáÑΓ ΓѬßΓ«óδÑ Σá⌐½δ ß πßΓα«⌐ßΓó«¼ CRT.
  10296.  
  10297.  
  10298.                         éó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε ¼«ñπ½∩ Crt
  10299.         ─────────────────────────────────────────────────────────────────
  10300.  
  10301.                    Åα¿¼Ñτá¡¿Ñ: ¥Γ«Γ αáºñѽ «Γ¡«ß¿Γß∩ Γ«½∞¬« ¬  »α«úαá¼¼á¼
  10302.               αÑá½∞¡«ú« ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.
  10303.  
  10304.              î«ñπ½∞ Crt »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ óßѠ󫺼«ª¡«ßΓ¿  ñ¿ß»½Ñ∩ ¿
  10305.         ¬½áó¿áΓπαδ »Ñαß«¡á½∞¡«ú« ¬«¼»∞εΓÑαá Éæ,  ó¬½ετá∩ π»αáó½Ñ¡¿Ñ αѪ¿-
  10306.         ¼«¼ φ¬αá¡á,  αáßΦ¿αÑ¡¡δÑ ¬«ñδ ¬½áó¿áΓπαδ,  µóÑΓ,  «¬¡á ¿ ºóπ¬«óδÑ
  10307.         ß¿ú¡á½δ.
  10308.  
  10309.              î«ñπ½∞ Crt  αÑ὿ºπÑΓ  α∩ñ ¼«Θ¡δσ »α«úαá¼¼,  »αÑñ«ßΓáó½∩εΘ¿σ
  10310.         óá¼ »«½¡πε ó«º¼«ª¡«ßΓ∞ π»αáó½Ñ¡¿∩ ßαÑñßΓóἿ ¬«¼»∞εΓÑαá Éæ, Γᬿ-
  10311.         ¼¿,  ¬á¬ π»αáó½Ñ¡¿Ñ αѪ¿¼«¼ φ¬αá¡á,  αáßΦ¿αÑ¡¡δÑ ¬«ñδ ¬½áó¿áΓπαδ,
  10312.         µóÑΓá,  «¬¡á, ¿ ºóπ¬«óδÑ ß¿ú¡á½δ. î«ñπ½∞ Crt ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
  10313.         Γ«½∞¬«  ó »α«úαá¼¼áσ,  αáí«ΓáεΘ¿σ ¡á »Ñαß«¡á½∞¡δ󠬫¼»∞εΓÑαáσ IBM
  10314.         Éæ, Éæ AT, ÉS/2 Σ¿α¼δ IBM ¿ »«½¡«ßΓ∞ε ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼¿.
  10315.  
  10316.              Äñ¡¿¼ ¿º «ß¡«ó¡δσ »αÑ¿¼πΘÑßΓó ¿ß»«½∞º«óá¡¿∩ ¼«ñπ½∩ Crt ∩ó½∩-
  10317.         ÑΓß∩ í«½∞Φá∩ ß¬«α«ßΓ∞ ¿ ú¿í¬«ßΓ∞ »α¿ óδ»«½¡Ñ¡¿¿ «»Ñαᵿ⌐ αáí«Γδ ß
  10318.         φ¬αá¡«¼. Åα«úαá¼¼δ, ¡Ñ αáí«ΓáεΘ¿Ñ ß ¼«ñπ½Ñ¼ Crt, óδó«ñ∩Γ ¡á φ¬αá¡
  10319.         ¿¡Σ«α¼áµ¿ε ß »«¼«Θ∞ε ßαÑñßΓó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ DOS, τΓ« ßó∩ºá-
  10320.         ¡« ß ñ«»«½¡¿Γѽ∞¡δ¼¿ ¡Ñ»α«¿ºó«ñ¿Γѽ∞¡δ¼¿ ºáΓαáΓἿ. Åα¿ ¿ß»«½∞º«-
  10321.         óá¡¿¿  ¼«ñπ½∩ Crt óδó«ñ¿¼á∩ ¿¡Σ«α¼áµ¿∩ »«ßδ½áÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
  10322.         ó íẫóπε ß¿ßΓѼπ óó«ñá-óδó«ñá (éIÄS), ¿½¿, ñ½∩ ÑΘÑ í«½ÑÑ íδßΓαδσ
  10323.         «»Ñαᵿ⌐, ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ«»á¼∩Γ∞.
  10324.  
  10325.  
  10326.  
  10327.  
  10328.          B.Pascal 7 & Objects/LR     - 227 -
  10329.  
  10330.                             êß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ CRT
  10331.         ─────────────────────────────────────────────────────────────────
  10332.  
  10333.              ùΓ«íδ ¿ß»«½∞º«óáΓ∞ ¼«ñπ½∞ Crt, Ñú« ¡πª¡« π¬áºáΓ∞ ó «»ÑαáΓ«αÑ
  10334.         uses óáΦÑ⌐ »α«úαá¼¼δ:
  10335.  
  10336.              uses Crt;
  10337.  
  10338.              Åα¿ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ Crt ñ½∩ Γ«ú«,  τΓ«íδ ¼«ª¡« í佫 «í-
  10339.         αáΘáΓ∞ß∩ ¬ CRÆ, ó¼ÑßΓ« ßΓá¡ñáαΓ¡δσ Σá⌐½«ó óó«ñá ¿ óδó«ñá DOS ¡áº-
  10340.         ¡áτáεΓß∩ ßΓá¡ñáαΓ¡δÑ óσ«ñ¡δÑ ¿ óδσ«ñ¡δÑ ΓѬßΓ«óδÑ Σá⌐½δ.  ¥Γ« ß«-
  10341.         «ΓóÑΓßΓóπÑΓ óδ»«½¡Ñ¡¿ε ó ¡áτá½Ñ »α«úαá¼¼δ ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó:
  10342.  
  10343.              AssignCrt(Input); Reset(Input);
  10344.              AssignCrt(Output); Rewrite(Output);
  10345.  
  10346.              ¥Γ« «º¡áτáÑΓ,  τΓ« »ÑαÑ«»αÑñѽѡ¿Ñ óσ«ñ¡δσ ¿ óδσ«ñ¡δσ Σá⌐½«ó
  10347.         ñá½ÑÑ ¡Ñ ñ«»π߬áÑΓß∩ ñ« ΓÑσ »«α,  »«¬á ñ½∩ ñá¡¡δσ Σá⌐½«ó ¡Ñ íπñÑΓ
  10348.         óδ»«½¡Ñ¡« «íαáΓ¡«ú« »ÑαѡạáτÑ¡¿∩  ¿  ¡Ñ  »α«¿º«⌐ñÑΓ  »ÑαÑσ«ñ  ¬
  10349.         ßΓá¡ñáαΓ¡«¼π óó«ñπ ¿ óδó«ñπ ß »«¼«Θ∞ε óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó:
  10350.  
  10351.              Assing(Input,''); Reset(Input);
  10352.              Assing(Output,''); RewriteOutput);
  10353.  
  10354.  
  10355.                                     Ä¬¡á CRT
  10356.         ─────────────────────────────────────────────────────────────────
  10357.  
  10358.              î«ñπ½∞ Crt »«ññÑনóáÑΓ »α«ßΓπε,  ¡«,  ΓѼ ¡Ñ ¼Ñ¡ÑÑ,  ¼«Θ¡πε
  10359.         Σ«α¼π ¿ß»«½∞º«óá¡¿∩ «¬«¡.  Åα«µÑñπαá Window »«ºó«½∩ÑΓ óá¼ «»αÑñÑ-
  10360.         ½¿Γ∞  ó  ¬á¬«¼-½¿í« ¼ÑßΓÑ φ¬αá¡á «¬¡«.  Åα¿ ºá»¿ß¿ ó φΓ« «¬¡« «¡«
  10361.         óÑñÑΓ ßÑí∩ Γ«τ¡« ΓᬪÑ, ¬á¬ µÑ½δ⌐ φ¬αá¡. Åα¿ φΓ«¼ «ßΓá½∞¡á∩ τáßΓ∞
  10362.         φ¬αá¡á «ßΓáÑΓß∩ ¡ÑΓα«¡πΓ«⌐.  äαπú¿¼¿ ß½«óἿ, ñ«ßΓπ» ¬ φ¬αá¡π ó¡Ñ
  10363.         «¬¡á «ΓßπΓßΓóπÑΓ.  é¡πΓα¿ «¬¡á ¼«ª¡« ñ«íáó½∩Γ∞ ¿ πñá½∩Γ∞  ßΓ᫬¿,
  10364.         »α¿ φΓ«¼ ¬παß«α ó«ºóαáΘáÑΓß∩ ¬ »αáó«¼π ¬αáε ¿ »α¿ ñ«ßΓ¿ªÑ¡¿¿ ¬πα-
  10365.         ß«α«¼ ¡¿ª¡Ñ⌐ ßΓ᫬¿ ΓѬßΓ »α«ñó¿úáÑΓß∩ óóÑασ.
  10366.  
  10367.              éßÑ ¬««αñ¿¡áΓδ φ¬αá¡á,  ¬α«¼Ñ ΓÑσ,  ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ñ½∩
  10368.         «»αÑñѽѡ¿∩  «¬¡á,  «Γ¡«ß∩Γß∩ ¬ ΓѬπΘÑ¼π «¬¡π.  è««αñ¿¡áΓá φ¬αá¡á
  10369.         (1,1) ß««ΓóÑΓßΓóπÑΓ ½Ñó«¼π óÑασ¡Ñ¼π πú½π φ¬αá¡á.
  10370.  
  10371.              Å« π¼«½τá¡¿ε «¬¡«¼ ßτ¿ΓáÑΓß∩ óÑß∞ φ¬αá¡.
  10372.  
  10373.  
  10374.  
  10375.  
  10376.          B.Pascal 7 & Objects/LR     - 228 -
  10377.  
  10378.                                æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ
  10379.         ─────────────────────────────────────────────────────────────────
  10380.  
  10381.              Åα¿ ºá»¿ß¿ ó óδσ«ñ¡«⌐ Σá⌐½ ¿½¿ ó Σá⌐½,  ¬«Γ«αδ⌐ ¡áº¡áτÑ¡ ñ½∩
  10382.         ¼«ñπ½∩ Crt, ß»Ñµ¿á½∞¡«Ñ º¡áτÑ¡¿Ñ ¿¼ÑεΓ ß½ÑñπεΘ¿Ñ π»αáó½∩εΘ¿Ñ ß¿¼-
  10383.         ó«½δ:
  10384.  
  10385.         ┌───────┬───────────────┬───────────────────────────────────────┐
  10386.         │濼󫽠│   ìáºóá¡¿Ñ    │               Ä»¿ßá¡¿Ñ                │
  10387.         ├───────┼───────────────┼───────────────────────────────────────┤
  10388.         │   #7  │    çó«¡«¬     │ éδºδóáÑΓ ºóπ¬«ó«⌐ ß¿ú¡á½, ¿ºñáóáѼδ⌐ ß│
  10389.         │       │     BELL      │ »«¼«Θ∞ε ó¡πΓαÑ¡¡Ñú« ñ¿¡á¼¿¬á.         │
  10390.         ├───────┼───────────────┼───────────────────────────────────────┤
  10391.         │   #8  │ÄíαáΓ¡δ⌐ »α«íѽ│ é«ºóαáΓ ¡á «ñ¡π »«º¿µ¿ε.  éδºδóáÑΓ »Ñ-│
  10392.         │       │     BS        │ αѼÑΘÑ¡¿Ñ ¬παß«αá ó½Ñó« ¡á «ñ¡π  »«º¿-│
  10393.         │       │               │ µ¿ε. àß½¿ ¬παß«α πªÑ ¡áσ«ñ¿Γß∩ π ½Ñó«-│
  10394.         │       │               │ ú«  ¬αá∩  ΓѬπΘÑú«  «¬¡á,  Γ«  ¡¿¬á¬¿σ│
  10395.         │       │               │ ñÑ⌐ßΓó¿⌐ ¡Ñ »α«¿ºó«ñ¿Γß∩.             │
  10396.         ├───────┼───────────────┼───────────────────────────────────────┤
  10397.         │   #10 │ ÅÑαÑó«ñ ßΓ᫬¿│ ÅÑαѼÑΘáÑΓ ¬παß«α ¡á «ñ¡π ßΓ᫬π ó¡¿º.│
  10398.         │       │     LF        │ àß½¿ ¬παß«α πªÑ  ¡áσ«ñ¿Γß∩  ¡á  ¡¿ª¡Ñ⌐│
  10399.         │       │               │ ßΓα«¬Ñ  «¬¡á,  Γ«  «¬¡« »α«½¿ßΓδóáÑΓß∩│
  10400.         │       │               │ óóÑασ ¡á «ñ¡π ßΓ᫬π.                 │
  10401.         ├───────┼───────────────┼───────────────────────────────────────┤
  10402.         │   #13 │髺óαáΓ ¬áαÑΓ¬¿│ é«ºóαáΘáÑΓ ¬παß«α ß ½Ñó«¼π ¬αáε  ΓѬπ-│
  10403.         │       │    BS         │ ΘÑú« «¬¡á.                            │
  10404.         └───────┴───────────────┴───────────────────────────────────────┘
  10405.  
  10406.  
  10407.                                    éó«ñ ßΓ᫬
  10408.         ─────────────────────────────────────────────────────────────────
  10409.  
  10410.              Åα¿ τΓÑ¡¿¿  ¿º óσ«ñ¡«ú« Σá⌐½á (Input) ¿½¿ ¿º ΓѬßΓ«ó«ú« Σá⌐-
  10411.         ½á,  ¬«Γ«αδ⌐ ¡áº¡áτÑ¡ ñ½∩ ¼«ñπ½∩ Crt,  ΓѬßΓ  óó«ñ¿Γß∩  »«  «ñ¡«⌐
  10412.         ßΓ᫬Ñ. æΓα«¬á ºá»«¼¿¡áÑΓß∩ ó« ó¡πΓαÑ¡¡Ñ¼ íπΣÑαÑ ΓѬßΓ«ó«ú« Σá⌐½á
  10413.         ¿ ¬«úñá »ÑαѼѡ¡δÑ ßτ¿ΓδóáεΓß∩, Γ« ó ¬áτÑßΓóÑ ¿ßΓ«τ¡¿¬á ¿ß»«½∞ºπ-
  10414.         ÑΓß∩ φëàíπΣÑα.  èáªñδ⌐ αẠ¬«úñá íπΣÑα ßΓá¡«ó¿Γß∩ »πßΓδ¼,  óó«-
  10415.         ñ¿Γß∩ ¡«óá∩ ßΓ᫬á.  Åα¿ óó«ñÑ ßΓ᫬ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ
  10416.         ¬½áó¿Φ¿ αÑñá¬Γ¿α«óá¡¿∩:
  10417.  
  10418.         ┌──────────────────────┬────────────────────────────────────────┐
  10419.         │è½áó¿Φá αÑñá¬Γ¿α«óá¡¿∩│                Ä»¿ßá¡¿Ñ                │
  10420.         ├──────────────────────┼────────────────────────────────────────┤
  10421.         │  BacksαáßÑ           │ ôñá½∩ÑΓ »«ß½Ññ¡¿⌐ óóÑñÑ¡¡δ⌐ ß¿¼ó«½.    │
  10422.         ├──────────────────────┼────────────────────────────────────────┤
  10423.         │  Esß                 │ ôñá½∩ÑΓ óßε óó«ñ¿¼πε ßΓ᫬π.           │
  10424.         ├──────────────────────┼────────────────────────────────────────┤
  10425.         │  Enter               │ ÅαѬαáΘáÑΓ óó«ñ   ßΓ᫬¿  ¿  ºá»¿ßδóáÑΓ│
  10426.         │                      │ ¼Ñì𠬫¡µá ßΓ᫬¿ (ó«ºóαáΓ ¬áαÑΓ¬¿/»Ñ-│
  10427.         │                      │ αÑó«ñ ßΓ᫬¿) ó íπΣÑαÑ.                │
  10428.         ├──────────────────────┼────────────────────────────────────────┤
  10429.         │  Ctrl+S              │ äÑ⌐ßΓóπÑΓ ΓᬪÑ, ¬á¬ Backspace.        │
  10430.         ├──────────────────────┼────────────────────────────────────────┤
  10431.  
  10432.          B.Pascal 7 & Objects/LR     - 229 -
  10433.  
  10434.         │  Ctrl+D              │ êºó½Ñ¬áÑΓ «ñ¿¡ ß¿¼ó«½ ¿º »«ß½Ññ¡Ñ⌐ óó«-│
  10435.         │                      │ ñ¿¼«⌐ ßΓ᫬¿ ¿ óδó«ñ¿Γ Ñú« ¡á φ¬αá¡.   │
  10436.         ├──────────────────────┼────────────────────────────────────────┤
  10437.         │  Ctrl+F              │ é«ßßΓá¡áó½¿óáÑΓ ¡á   φ¬αá¡Ñ   »«ß½Ññ¡εε│
  10438.         │                      │ óó«ñ¿¼πε ßΓ᫬π.                       │
  10439.         ├──────────────────────┼────────────────────────────────────────┤
  10440.         │  Ctrl+Z              │ çáóÑαΦáÑΓ óó«ñ ßΓ᫬¿ ¿ úÑ¡Ñα¿απÑΓ ß¿¼-│
  10441.         │                      │ ó«½ ¬«¡µá Σá⌐½á.                       │
  10442.         ├──────────────────────┼────────────────────────────────────────┤
  10443.         │  ætrl-Z              │ âÑ¡Ñα¿απÑΓ ß¿¼ó«½ ¬«¡µá Σá⌐½á ¿  ºáóÑα-│
  10444.         │                      │ ΦáÑΓ ßΓ᫬π óó«ñá.                     │
  10445.         └──────────────────────┴────────────────────────────────────────┘
  10446.  
  10447.              Ctrl+Z íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ ¬«¡Ñµ Σá⌐½á ó Γ«¼ ß½πτáÑ, Ñß½¿ »Ñ-
  10448.         αѼѡ¡á∩ CheckEOF πßΓá¡«ó½Ñ¡á ó True (»« π¼«½τá¡¿ε False).
  10449.  
  10450.              ä½∩ »α«óÑન ß«ßΓ«∩¡¿∩ ¬½áó¿áΓπαδ ¿ óó«ñá «Γñѽ∞¡δσ ß¿¼ó«½«ó
  10451.         »«ñ  π»αáó½Ñ¡¿Ñ¼  »α«úαá¼¼δ  ¿ß»«½∞ºπ⌐ΓÑ  Σπ¡¬µ¿¿  KeyÉressed   ¿
  10452.         RÑádKey.
  10453.  
  10454.  
  10455.  
  10456.          B.Pascal 7 & Objects/LR     - 230 -
  10457.  
  10458.                          Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Crt
  10459.         ─────────────────────────────────────────────────────────────────
  10460.  
  10461.         ┌──────────────────┬────────────────────────────────────────────┐
  10462.         │öπ¡¬µ¿∩/»α«µÑñπαá │             Ä»¿ßá¡¿Ñ                       │
  10463.         ├──────────────────┼────────────────────────────────────────────┤
  10464.         │  AssignCrt       │ ìạáτáÑΓ ΓѬßΓ«óδ⌐  Σá⌐½  ñ½∩   πßΓα«⌐ßΓóá│
  10465.         │                  │ CRT.                                       │
  10466.         ├──────────────────┼────────────────────────────────────────────┤
  10467.         │  ClrE«l          │ Äτ¿ΘáÑΓ óßÑ  ß¿¼ó«½δ,  ¡áτ¿¡á∩  «Γ  »«º¿µ¿¿│
  10468.         │                  │ ¬παß«αá ñ« ¬«¡µá  ßΓ᫬¿,  íѺ  »ÑαѼÑΘÑ¡¿∩│
  10469.         │                  │ ¬παß«αá.                                   │
  10470.         ├──────────────────┼────────────────────────────────────────────┤
  10471.         │  ClrScr          │ Äτ¿ΘáÑΓ φ¬αá¡  ¿  »«¼ÑΘáÑΓ ¬παß«α ó óÑασ¡Ñ¼│
  10472.         │                  │ ½Ñó«¼ πú½π.                                │
  10473.         ├──────────────────┼────────────────────────────────────────────┤
  10474.         │  DÑláπ           │ éδ»«½¡∩ÑΓ ºáñÑ᪬π ¡á π¬áºá¡¡«Ñ τ¿ß½«  ¼¿½-│
  10475.         │                  │ ½¿ßѬπ¡ñ.                                  │
  10476.         ├──────────────────┼────────────────────────────────────────────┤
  10477.         │  DelLine         │ ôñá½∩ÑΓ ßΓ᫬π, ¡á ¬«Γ«α«⌐ ¡áσ«ñ¿Γß∩ ¬παß«α│
  10478.         │                  │ ¿ »ÑαѼÑΘáÑΓ óßÑ ß½ÑñπεΘ¿Ñ ßΓ᫬¿  ¡á  «ñ¡π│
  10479.         │                  │ ßΓ᫬π óóÑασ. ì¿ª¡∩∩ ßΓα«¬á «τ¿ΘáÑΓß∩.     │
  10480.         ├──────────────────┼────────────────────────────────────────────┤
  10481.         │  G«t«òY          │ éδ»«½¡∩ÑΓ »«º¿µ¿«¡¿α«óá¡¿Ñ ¬παß«αá. ò - φΓ«│
  10482.         │                  │ ú«α¿º«¡Γá½∞¡á∩ »«º¿µ¿∩,  Y  -  óÑαΓ¿¬á½∞¡á∩│
  10483.         │                  │ »«º¿µ¿∩.                                   │
  10484.         ├──────────────────┼────────────────────────────────────────────┤
  10485.         │  ìightVideo      │ éδí¿αáÑΓ ß¿¼ó«½δ ß »«ñßóÑΓ¬«⌐.             │
  10486.         ├──────────────────┼────────────────────────────────────────────┤
  10487.         │  InsLine         │ éßΓáó½∩ÑΓ »πßΓπε  ßΓ᫬π ó ¼ÑßΓÑ αáß»«½«ªÑ-│
  10488.         │                  │ ¡¿∩ ¬παß«αá.                               │
  10489.         ├──────────────────┼────────────────────────────────────────────┤
  10490.         │  KeyÉrÑssÑd      │ é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ TruÑ,  Ñß½¿ ¬½áó¿Φá  ¡á│
  10491.         │                  │ ¬½áó¿áΓπαÑ  ¡áªáΓá  ¿  FalsÑ  - ó »α«Γ¿ó¡«¼│
  10492.         │                  │ ß½πτáÑ.                                    │
  10493.         ├──────────────────┼────────────────────────────────────────────┤
  10494.         │  LowVidÑ         │ éδí¿αáÑΓ ß¿¼ó«½δ ß »«¡¿ªÑ¡¡«⌐ ∩ᬫßΓ∞ε.    │
  10495.         ├──────────────────┼────────────────────────────────────────────┤
  10496.         │  NormVideo       │ éδí¿αáÑΓ ß¿¼ó«½δ ß ¡«α¼á½∞¡«⌐ ∩ᬫßΓ∞ε.    │
  10497.         ├──────────────────┼────────────────────────────────────────────┤
  10498.         │  NoSound         │ é䬽ετáÑΓ ó¡πΓαÑ¡¡¿⌐ ñ¿¡á¼¿¬.              │
  10499.         ├──────────────────┼────────────────────────────────────────────┤
  10500.         │  Sound           │ é¬½ετáÑΓ ó¡πΓαÑ¡¡¿⌐ ñ¿¡á¼¿¬.               │
  10501.         ├──────────────────┼────────────────────────────────────────────┤
  10502.         │  Textéáckground  │ éδí¿αáÑΓ Σ«¡«óδ⌐ µóÑΓ.                     │
  10503.         ├──────────────────┼────────────────────────────────────────────┤
  10504.         │  TextColor       │ éδí¿αáÑΓ µóÑΓ ßἫú« ß¿¼ó«½á.              │
  10505.         ├──────────────────┼────────────────────────────────────────────┤
  10506.         │  Textî«dÑ        │ éδí¿αáÑΓ ¬«¡¬αÑΓ¡δ⌐ ΓѬßΓ«óδ⌐ αѪ¿¼.       │
  10507.         ├──────────────────┼────────────────────────────────────────────┤
  10508.         │  Window          │ Ä»αÑñѽ∩ÑΓ ¡á φ¬αá¡Ñ ΓѬßΓ«ó«Ñ «¬¡«.       │
  10509.         ├──────────────────┼────────────────────────────────────────────┤
  10510.         │  RÑád¬Ñπ         │ æτ¿ΓδóáÑΓ ß¿¼ó«½ ß ¬½áó¿áΓπαδ.             │
  10511.  
  10512.          B.Pascal 7 & Objects/LR     - 231 -
  10513.  
  10514.         ├──────────────────┼────────────────────────────────────────────┤
  10515.         │  WherÑò          │ é«ºóαáΘáÑΓ ¬««αñ¿¡áΓπ ò ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿¿│
  10516.         │                  │ ¬παß«αá,  «Γ¡«ß∩Θπεß∩  ¬  ΓѬπΘÑ¼π «¬¡π.  ò│
  10517.         │                  │ »αÑñßΓáó½∩ÑΓ ß«í«⌐  ú«α¿º«¡Γá½∞¡πε »«º¿µ¿ε.│
  10518.         ├──────────────────┼────────────────────────────────────────────┤
  10519.         │  WhereY          │ é«ºóαáΘáÑΓ ¬««αñ¿¡áΓπ Y ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿¿│
  10520.         │                  │ ¬παß«αá,  «Γ¡«ß∩Θπεß∩  ¬  ΓѬπΘÑ¼π «¬¡π.  Y│
  10521.         │                  │ »αÑñßΓáó½∩ÑΓ ß«í«⌐ óÑαΓ¿¬á½∞¡πε »«º¿µ¿ε.   │
  10522.         └──────────────────┴────────────────────────────────────────────┘
  10523.  
  10524.  
  10525.  
  10526.          B.Pascal 7 & Objects/LR     - 232 -
  10527.  
  10528.                         è«¡ßΓá¡Γδ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Crt
  10529.         ─────────────────────────────────────────────────────────────────
  10530.  
  10531.              é ¼«ñπ½Ñ Crt ß«ñÑনΓß∩ αáñ ¬«¡ßΓá¡Γ, «í½ÑúτáεΘ¿σ »α«úαá¼¼¿-
  10532.         α«óá¡¿Ñ. Å«ñα«í¡«  «¡¿  «»¿ßδóáεΓß∩  ó â½áóÑ 1 "æ»αáó«τ¡«ú« απ¬«-
  10533.         ó«ñßΓóá »α«úαá¼¼¿ßΓá". Ä»¿ΦѼ úαπ»»δ φΓ¿σ ¬«¡ßΓá¡Γ:
  10534.  
  10535.         ┌────────────────────────────┬──────────────────────────────────┐
  10536.         │    âαπ»»á ¬«¡ßΓá¡Γ         │        Ä»¿ßá¡¿Ñ                  │
  10537.         ├────────────────────────────┼──────────────────────────────────┤
  10538.         │    è«¡ßΓá¡Γδ αѪ¿¼á Crt    │ âαáΣ¿τÑ߬¿Ñ ¬«¡ßΓá¡Γδ, ¿ß»«½∞ºπÑ-│
  10539.         │                            │ ¼δÑ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó  »α«µÑ-│
  10540.         │                            │ ñπαδ TextMode.                   │
  10541.         ├────────────────────────────┼──────────────────────────────────┤
  10542.         │    è«¡ßΓá¡Γδ µóÑΓ«ó        │ è«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ ñ½∩ πßΓá-│
  10543.         │                            │ ¡«ó¬¿ µóÑΓ«ó ß  »«¼«Θ∞ε  »α«µÑñπα│
  10544.         │                            │ TextColor ¿ TextBackGround.      │
  10545.         └────────────────────────────┴──────────────────────────────────┘
  10546.  
  10547.              ìá»α¿¼Ñα, τΓ«íδ ¡á⌐Γ¿ º¡áτÑ¡¿Ñ ¬«¡ßΓá¡Γδ,  ¬«Γ«αá∩  »«ºó«½¿Γ
  10548.         óá¼ óδó«ñ¿Γ∞ ΓѬßΓ ó »α«úαἼѠ¬αáß¡δ¼ µóÑΓ«¼,  »α«ß¼«Γα¿ΓÑ ¬«¡ß-
  10549.         Γá¡Γδ µóÑΓ«ó ΓѬßΓá ¿ ¡á⌐ñ¿ΓÑ ¬«¡ßΓá¡Γπ Red ß« º¡áτÑ¡¿Ñ¼ 4.
  10550.  
  10551.              é ¼«ñπ½Ñ Crt ß«ñÑαªáΓß∩ ß½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ:
  10552.         ┌──────────────────┬─────────────┬──────────────────────────────┐
  10553.         │ ÅÑαѼѡ¡á∩       │    Æ¿»      │      Ä»¿ßá¡¿Ñ                │
  10554.         ├──────────────────┼─────────────┼──────────────────────────────┤
  10555.         │  CheckBreak      │  boolean    │ ÉáºαÑΦáÑΓ ¿½¿ ºá»αÑΘáÑΓ  »α«-│
  10556.         │                  │             │ óÑα¬π ¡á Ctrl+Break.         │
  10557.         ├──────────────────┼─────────────┼──────────────────────────────┤
  10558.         │  CheckEof        │  boolean    │ ÉáºαÑΦáÑΓ ¿½¿  ºá»αÑΘáÑΓ ß¿¼-│
  10559.         │                  │             │ ó«½ ¬«¡µá Σá⌐½á.             │
  10560.         ├──────────────────┼─────────────┼──────────────────────────────┤
  10561.         │  CheckSnow       │  boolean    │ ÉáºαÑΦáÑΓ ¿½¿  ºá»αÑΘáÑΓ »α«-│
  10562.         │                  │             │ óÑα¬π ¡á »«¼Ñσ¿.             │
  10563.         ├──────────────────┼─────────────┼──────────────────────────────┤
  10564.         │  DirectVideo     │  boolean    │ ÉáºαÑΦáÑΓ ¿½¿ ºá»αÑΘáÑΓ »α∩- │
  10565.         │                  │             │ ¼«⌐ ñ«ßΓπ» ¬ »á¼∩Γ¿ ñ½∩ »α«- │
  10566.         │                  │             │ µÑñπα WriteLn ¿ Write.       │
  10567.         ├──────────────────┼─────────────┼──────────────────────────────┤
  10568.         │  LastMode        │  word       │ Åα¿ ¬áªñ«¼  ó맮óÑ  TextMode │
  10569.         │                  │             │ ß«σαá¡∩ÑΓ  ΓѬπΘ¿⌐  ó¿ñÑ«αÑ- │
  10570.         │                  │             │ ª¿¼.                         │
  10571.         ├──────────────────┼─────────────┼──────────────────────────────┤
  10572.         │  TextAttr        │  byte       │ æ«ñÑαª¿Γ  áΓα¿íπΓδ  ΓѬπΘÑú« │
  10573.         │                  │             │ óδíαá¡¡«ú« ΓѬßΓá.           │
  10574.         ├──────────────────┼─────────────┼──────────────────────────────┤
  10575.         │  WindMin         │  word       │ æ«ñÑαª¿Γ ¬««αñ¿¡áΓδ óÑασ¡Ñú« │
  10576.         │                  │             │ ½Ñó«ú« πú½á ΓѬπΘÑú« «¬¡á.   │
  10577.         ├──────────────────┼─────────────┼──────────────────────────────┤
  10578.         │  WindMax         │  word       │ æ«ñÑαª¿Γ ¬««αñ¿¡áΓδ  ¡¿ª¡Ñú« │
  10579.         │                  │             │ »αáó«ú« πú½á ΓѬπΘÑú« «¬¡á.  │
  10580.         └──────────────────┴─────────────┴──────────────────────────────┘
  10581.  
  10582.          B.Pascal 7 & Objects/LR     - 233 -
  10583.  
  10584.  
  10585.                       éó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε ¼«ñπ½∩ WinCrt
  10586.         ─────────────────────────────────────────────────────────────────
  10587.  
  10588.                    Åα¿¼Ñτá¡¿Ñ: ¥Γ«Γ αáºñѽ «Γ¡«ß¿Γß∩ Γ«½∞¬« ¬  »α«úαá¼¼á¼
  10589.               Windows.
  10590.  
  10591.              î«ñπ½∞ WinCrt  αÑ὿ºπÑΓ á¡á½«ú¿τ¡δ⌐ ΓÑନ¡á½π ΓѬßΓ«óδ⌐ φ¬-
  10592.         αᡠ󠫬¡Ñ.  æ »«¼«Θ∞ε ¼«ñπ½∩ WinCrt óδ  ¼«ªÑΓÑ  ½Ñú¬«  ß«ºñáóáΓ∞
  10593.         »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Read. ReadLn, Write
  10594.         ¿ WriteLn ñ½∩ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ óó«ñá ¿ óδó«ñá (ΓᬠªÑ,  ¬á¬  ó
  10595.         «íδτ¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ, αáí«ΓáεΘÑ⌐ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ). î«-
  10596.         ñπ½∞ WinCrt ß«ñÑαª¿Γ óßÑ á½ú«α¿Γ¼δ, π»αáó½∩εΘ¿Ñ φ¼π½∩µ¿Ñ⌐ ΓѬßΓ«-
  10597.         ó«ú« φ¬αá¡á ó »α«úαá¼¼¡«⌐ ßαÑñÑ Windows.  àß½¿ óáΦá »α«úαἼᠿß-
  10598.         »«½∞ºπÑΓ ¼«ñπ½∞ WinCrt,  óá¼ ¡Ñ »«ΓαÑíπÑΓß∩ »¿ßáΓ∞ "߻ѵ¿Σ¿τÑ߬¿⌐
  10599.         ñ½∩ Windows" ¿ßσ«ñ¡δ⌐ ¬«ñ.
  10600.  
  10601.  
  10602.  
  10603.          B.Pascal 7 & Objects/LR     - 234 -
  10604.  
  10605.                            êß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ WinCrt
  10606.         ─────────────────────────────────────────────────────────────────
  10607.  
  10608.              ùΓ«íδ ¿ß»«½∞º«óáΓ∞ ¼«ñπ½∞ WinCrt, ¡πª¡« »α«ßΓ« π¬áºáΓ∞ ó óá-
  10609.         ΦÑ⌐ »α«úαἼѠ«»ÑαáΓ«α uses,  ¬á¬ ¿ »α¿ ¿ß»«½∞º«óá¡¿¿ ½εí«ú« ñαπ-
  10610.         ú«ú« ¼«ñπ½∩.
  10611.  
  10612.              uses WinCrt;
  10613.  
  10614.              Å« π¼«½τá¡¿ε ßΓá¡ñáαΓ¡δÑ ΓѬßΓ«óδÑ Σá⌐½δ Input ¿ Output, «»-
  10615.         αÑñѽѡ¡δѠ󠼫ñπ½Ñ System,  ¡Ñ »α¿ßóá¿óáεΓß∩,  ¿ óßÑ «íαáΘÑ¡¿∩ ¬
  10616.         »α«µÑñπαá¼ Read,  Readln, Write ¿½¿ Writeln íѺ π¬áºá¡¿∩ Σá⌐½«ó«⌐
  10617.         »ÑαѼѡ¡«⌐ »α¿ó«ñ∩Γ ¬ «Φ¿í¬Ñ óó«ñá-óδó«ñá. Äñ¡á¬«, ¬«úñá »α«úαá¼-
  10618.         ¼á ¿ß»«½∞ºπÑΓ ¼«ñπ½∞ WinCrt,  ¬«ñ  ¿¡¿µ¿á½¿ºáµ¿¿  ñá¡¡«ú«  ¼«ñπ½∩
  10619.         »α¿ßóá¿óáÑΓ  Input  ¿  Output ßΓá¡ñáαΓ¡δÑ ΓѬßΓ«óδÑ Σá⌐½δ,  τΓ«íδ
  10620.         ßßδ½áΓ∞ß∩ ¡á «¬¡«, φ¼π½¿απεΘÑÑ ΓѬßΓ«óδ⌐ φ¬αá¡. ¥Γ« ß««ΓóÑΓßΓóπÑΓ
  10621.         óδ»«½¡Ñ¡¿ε ó ¡áτá½Ñ »α«úαá¼¼δ ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó:
  10622.  
  10623.              AssignWinCrt(Input); Reset(Input);
  10624.              AssignWinCrt(Output); Rewrite(Output);
  10625.  
  10626.              è«úñá ó »α«úαἼѠóδ»«½¡∩εΓß∩ »α«µÑñπαδ Readln,  Read, Write
  10627.         ¿½¿ Writeln,  ó «»ÑαáΓ¿ó¡«⌐ «í½áßΓ¿ Windows «Γ¬αδóáÑΓß∩ «¬¡« CRT.
  10628.         Å« π¼«½τá¡¿ε ºáú«½«ó¬«¼ «¬¡á CRT íπñÑΓ »«½¡«Ñ ¿¼∩ ¼áαΦαπΓá  Σá⌐½á
  10629.         .EXE »α«úαá¼¼δ. è«úñá »α«úαἼᠺáóÑαΦáÑΓ αáí«Γπ (π»αáó½Ñ¡¿Ñ ñ«ß-
  10630.         Γ¿úáÑΓ ¬«¡Ñτ¡«ú« ºáαѺÑαó¿α«óá¡¡«ú« ß½«óá  end),  ºáú«½«ó«¬  «¬¡á
  10631.         CRT ¿º¼Ñ¡∩ÑΓß∩ ¡á "(Inactive nnnnn)",  úñÑ nnnnn - ºáú«½«ó«¬ «¬¡á
  10632.         ó Ñú« á¬Γ¿ó¡«¼ ß«ßΓ«∩¡¿¿.
  10633.  
  10634.              çá¼ÑΓ¿¼, τΓ« σ«Γ∩ »α«úαἼᠿ ºáóÑαΦ¿½á αáí«Γπ, «¬¡« «ßΓáÑΓ-
  10635.         ß∩  ¡á φ¬αá¡Ñ,  í½áú«ñáα∩ τÑ¼π »«½∞º«óáΓѽ∞ ¼«ªÑΓ »α«óÑα¿Γ∞ óδó«ñ
  10636.         »α«úαá¼¼δ. Ç¡á½«ú¿τ¡« ñαπú¿¼ »α¿¬½áñ¡δ¼ »α«úαἼἠWindows, »α«ú-
  10637.         αἼᠡѠºáóÑαΦáÑΓß∩ »«½¡«ßΓ∞ε,  »«¬á »«½∞º«óáΓѽ∞ ¡Ñ ºá¬α«ÑΓ «¬-
  10638.         ¡«.
  10639.  
  10640.              ü«½ÑÑ »«½¡« π»αáó½∩Γ∞ ª¿º¡Ñ¡¡δ¼ µ¿¬½«¼ «¬¡á CRT óá¼ »«ºó«½∩-
  10641.         εΓ  »«ñ»α«úαá¼¼δ InitWinCrt ¿ DoneWinCrt.  Åα¿ «íαáΘÑ¡¿¿ ¬ »Ñαó«⌐
  10642.         ¿º ¡¿σ íѺ «ª¿ñá¡¿∩ »Ñαó«ú« ó맮óá »α«µÑñπα Readln,  Read,  Write
  10643.         ¿½¿ Writeln ¡Ñ¼Ññ½Ñ¡¡« ß«ºñáÑΓß∩ «¬¡« CRT.  Ç¡á½«ú¿τ¡«, «íαáΘÑ¡¿Ñ
  10644.         ¬ DoneWinCrt ¡Ñ¼Ññ½Ñ¡¡« π¡¿τΓ«ªáÑΓ «¬¡« CRT,  ¡Ñ «ª¿ñá∩, »«¬á Ñú«
  10645.         ºá¬α«ÑΓ »«½∞º«óáΓѽ∞.
  10646.  
  10647.              Ä¬¡« CRT »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«¬απτ¿óáѼ«Ñ "»á¡«αἡ«Ñ" «¬¡«
  10648.         ¡á ó¿αΓπá½∞¡«¼ ΓѬßΓ«ó«¼ φ¬αá¡Ñ.  Å« π¼«½τá¡¿ε ó¿αΓπá½∞¡δ⌐  φ¬αá¡
  10649.         ¿¼ÑÑΓ  αẼÑαδ  80 ßΓ«½íµ«ó ¡á 25 ßΓ᫬,  ¡« αÑá½∞¡δ⌐ αẼÑα «¬¡á
  10650.         CRT ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ.  àß½¿ φëàαẼÑα ¼Ñ¡∞ΦÑ, »«½∞º«óáΓѽ∞ ñ½∩
  10651.         »ÑαѼÑΘÑ¡¿∩  «í½áßΓ¿  «¬¡á  »« ΓѬßΓ«ó«¼π φ¬αá¡π í«½∞ΦÑú« αẼÑαá
  10652.         ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ »«½«ß䠻᫬απΓ¬¿ «¬¡á ¿½¿  ¬½áó¿Φ¿  π»αáó½Ñ¡¿∩
  10653.         ¬παß«α«¼. ¥Γ« «ß«íÑ¡¡« »«½Ñº¡« ñ½∩ "«íαáΓ¡«⌐ »α«¬απΓ¬¿" ¿ »α«óÑα-
  10654.         ¬¿ αá¡ÑÑ ¡á»¿ßá¡¡«ú« ΓѬßΓá.  Å« π¼«½τá¡¿ε »á¡«αἡ«Ñ «¬¡« «Γß½Ñ-
  10655.         ª¿óáÑΓ ¬παß«α ΓѬßΓ«ó«ú« φ¬αá¡á. äαπú¿¼¿ ß½«óἿ, »á¡«αἡ«Ñ «¬¡«
  10656.         áóΓ«¼áΓ¿τÑ߬¿ »α«¬απτ¿óáÑΓß∩,  τΓ«íδ «íÑß»Ñτ¿Γ∞ »«ßΓ«∩¡¡πε  ó¿ñ¿-
  10657.         ¼«ßΓ∞  ¬παß«αá.  ôßΓá¡«ó¿ó  »ÑαѼѡ¡πε  AutoTracking  ó  º¡áτÑ¡¿Ñ
  10658.  
  10659.          B.Pascal 7 & Objects/LR     - 235 -
  10660.  
  10661.         False, óδ ¼«ªÑΓÑ ºá»αÑΓ¿Γ∞ ßαÑñßΓó« áóΓ«¼áΓ¿τÑ߬«⌐ »α«¬απΓ¬¿.
  10662.  
  10663.              ÉẼÑαδ ó¿αΓπá½∞¡«ú«    φ¬αá¡á    «»αÑñѽ∩εΓß∩    »ÑαѼѡ¡«⌐
  10664.         ScreenSize. Åα¿ßó«¿ó φΓ«⌐ »ÑαѼѡ¡«⌐ ¡«óδÑ αẼÑα¡«ßΓ¿ »ÑαÑñ ΓѼ,
  10665.         ¬á¬ óáΦá »α«úαá¼¼á ß«ºñáÑΓ «¬¡« CRT,  óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞  αẼÑαδ
  10666.         ó¿αΓπá½∞¡«ú« φ¬αá¡á.  è«úñá «¬¡« ß«ºñáÑΓß∩, ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  10667.         ñѽ∩Ѽ«⌐ »á¼∩Γ¿ óδñѽ∩ÑΓß∩ íπΣÑα φ¬αá¡á.  ÉẼÑα φΓ«ú« íπΣÑαá αá-
  10668.         óÑ¡  »α«¿ºóÑñÑ¡¿ε  ScreenSize.Y ¡á ScreenSize.Y ¿ ¡Ñ ¼«ªÑΓ »αÑóδ-
  10669.         ΦáΓ∞ 65520 íá⌐Γ.  ÄΓóÑΓßΓóÑ¡¡«ßΓ∞ ºá »α¿ßóá¿óá¡¿∩  º¡áτÑ¡¿⌐  φΓ¿¼
  10670.         »ÑαѼѡ¡δ¼  ó«º½áúáÑΓß∩ ¡á óáß («¡¿ ¡Ñ ñ«½ª¡δ »αÑóδΦáΓ∞ π¬áºá¡¡πε
  10671.         úαá¡¿µπ).  àß½¿, ¡á»α¿¼Ñα, óδ »α¿ßó«¿ΓÑ ScreenSize.X º¡áτÑ¡¿Ñ 64,
  10672.         Γ« ¡á¿í«½∞Φ¿¼ ñ«»πßΓ¿¼δ¼ º¡áτÑ¡¿Ñ¼ ñ½∩ ScreenSize.Y íπñÑΓ 1023.
  10673.  
  10674.              é ½εí«⌐ ¼«¼Ñ¡Γ ó »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐
  10675.         ¼«ñπ½∞ WinCrt,  »«½∞º«óáΓѽ∞ ¼«ªÑΓ »αÑαóáΓ∞ óδ»«½¡Ñ¡¿Ñ,  óδíαáó ó
  10676.         ¼Ñ¡ε  Control  (ô»αáó½Ñ¡¿Ñ)  «¬¡á  CRT  ¬«¼á¡ñπ Close (çá¬αδΓ¿Ñ),
  10677.         ñóáªñδ Θѽ¬¡π󠬡«»¬«⌐ "¼δΦ¿" ó αἬѠ¼Ñ¡ε Control ¿½¿ ¡áªá󠬽á-
  10678.         ó¿Φ¿ Alt+F4. Ç¡á½«ú¿τ¡«, ó ½εí«⌐ ¼«¼Ñ¡Γ ñ½∩ »αÑαδóá¡¿∩ »α¿¬½áñ¡«⌐
  10679.         »α«úαá¼¼δ »«½∞º«óáΓѽ∞ ¼«ªÑΓ ¡áªáΓ∞ Ctrl+C  ¿½¿  Ctrl+Break,  »α¿
  10680.         φΓ«¼ «¬¡« »ÑαÑó«ñ¿Γß∩ ó ¡Ñá¬Γ¿ó¡«Ñ ß«ßΓ«∩¡¿Ñ.  ôßΓá¡«ó¿ó »ÑαѼѡ-
  10681.         ¡πε CheckBreak ó º¡áτÑ¡¿Ñ False,  óδ ¼«ªÑΓÑ ºá»αÑΓ¿Γ∞ φΓπ ó«º¼«ª-
  10682.         ¡«ßΓ∞.
  10683.  
  10684.  
  10685.  
  10686.          B.Pascal 7 & Objects/LR     - 236 -
  10687.  
  10688.                                æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ
  10689.         ─────────────────────────────────────────────────────────────────
  10690.  
  10691.              Åα¿ ºá»¿ß¿ ó óδσ«ñ¡«⌐ Σá⌐½ (Output) ¿½¿ ó Σá⌐½, ¬«Γ«αδ⌐ ¡áº-
  10692.         ¡áτÑ¡ ñ½∩ «¬¡á CRT, ß»Ñµ¿á½∞¡«Ñ º¡áτÑ¡¿Ñ ¿¼ÑεΓ ß½ÑñπεΘ¿Ñ π»αáó½∩-
  10693.         εΘ¿Ñ ß¿¼ó«½δ:
  10694.  
  10695.         ┌───────┬───────────────┬───────────────────────────────────────┐
  10696.         │濼󫽠│   ìáºóá¡¿Ñ    │               Ä»¿ßá¡¿Ñ                │
  10697.         ├───────┼───────────────┼───────────────────────────────────────┤
  10698.         │   #7  │    çó«¡«¬     │ éδºδóáÑΓ ºóπ¬«ó«⌐ ß¿ú¡á½, ¿ºñáóáѼδ⌐ ß│
  10699.         │       │     BELL      │ »«¼«Θ∞ε ó¡πΓαÑ¡¡Ñú« ñ¿¡á¼¿¬á.         │
  10700.         ├───────┼───────────────┼───────────────────────────────────────┤
  10701.         │   #8  │ÄíαáΓ¡δ⌐ »α«íѽ│ é«ºóαáΓ ¡á «ñ¡π »«º¿µ¿ε.  éδºδóáÑΓ »Ñ-│
  10702.         │       │     BS        │ αѼÑΘÑ¡¿Ñ ¬παß«αá ó½Ñó« ¡á «ñ¡π  »«º¿-│
  10703.         │       │               │ µ¿ε. àß½¿ ¬παß«α πªÑ ¡áσ«ñ¿Γß∩ π ½Ñó«-│
  10704.         │       │               │ ú«  ¬αá∩  ΓѬπΘÑú«  «¬¡á,  Γ«  ¡¿¬á¬¿σ│
  10705.         │       │               │ ñÑ⌐ßΓó¿⌐ ¡Ñ »α«¿ºó«ñ¿Γß∩.             │
  10706.         ├───────┼───────────────┼───────────────────────────────────────┤
  10707.         │   #10 │ ÅÑαÑó«ñ ßΓ᫬¿│ ÅÑαѼÑΘáÑΓ ¬παß«α ¡á «ñ¡π ßΓ᫬π ó¡¿º.│
  10708.         │       │     LF        │ àß½¿ ¬παß«α πªÑ  ¡áσ«ñ¿Γß∩  ¡á  ¡¿ª¡Ñ⌐│
  10709.         │       │               │ ßΓα«¬Ñ  «¬¡á,  Γ«  «¬¡« »α«½¿ßΓδóáÑΓß∩│
  10710.         │       │               │ óóÑασ ¡á «ñ¡π ßΓ᫬π.                 │
  10711.         ├───────┼───────────────┼───────────────────────────────────────┤
  10712.         │   #13 │髺óαáΓ ¬áαÑΓ¬¿│ é«ºóαáΘáÑΓ ¬παß«α ß ½Ñó«¼π ¬αáε  ΓѬπ-│
  10713.         │       │    CR         │ ΘÑú« «¬¡á.                            │
  10714.         └───────┴───────────────┴───────────────────────────────────────┘
  10715.  
  10716.  
  10717.                                    éó«ñ ßΓ᫬
  10718.         ─────────────────────────────────────────────────────────────────
  10719.  
  10720.              Åα¿ τΓÑ¡¿¿ ¿º óσ«ñ¡«ú« Σá⌐½á (Input) ¿½¿ ¿º ΓѬßΓ«ó«ú«  Σá⌐-
  10721.         ½á,  ¬«Γ«αδ⌐ ¡áº¡áτÑ¡ ñ½∩ «¬¡á CRT, ΓѬßΓ óó«ñ¿Γß∩ »« «ñ¡«⌐ ßΓα«-
  10722.         ¬Ñ.  æΓα«¬á ºá»«¼¿¡áÑΓß∩ ó« ó¡πΓαÑ¡¡Ñ¼ íπΣÑαÑ ΓѬßΓ«ó«ú« Σá⌐½á  ¿
  10723.         ¬«úñá »ÑαѼѡ¡δÑ ßτ¿ΓδóáεΓß∩, Γ« ó ¬áτÑßΓóÑ ¿ßΓ«τ¡¿¬á ¿ß»«½∞ºπÑΓ-
  10724.         ß∩ φëàíπΣÑα. èáªñδ⌐ αẠ¬«úñá íπΣÑα ßΓá¡«ó¿Γß∩ »πßΓδ¼, óó«ñ¿Γß∩
  10725.         ¡«óá∩ ßΓ᫬á.
  10726.  
  10727.              Åα¿ óó«ñÑ ßΓ᫬ ó «¬¡Ñ CRT ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ ¬½á-
  10728.         ó¿Φ¿ αÑñá¬Γ¿α«óá¡¿∩: éacksαáßÑ - πñá½∩ÑΓ »«ß½Ññ¡¿⌐ óóÑñÑ¡¡δ⌐ ß¿¼-
  10729.         ó«½,  Esß - πñá½∩ÑΓ óßε óó«ñ¿¼πε ßΓ᫬π,  Enter - »αѬαáΘáÑΓ óó«ñ
  10730.         ßΓ᫬¿ ¿ ºá»¿ßδóáÑΓ ¼Ñì𠬫¡µá ßΓ᫬¿  (ó«ºóαáΓ  ¬áαÑΓ¬¿/»ÑαÑó«ñ
  10731.         ßΓ᫬¿) ó íπΣÑαÑ.  èα«¼Ñ Γ«ú«, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬½áó¿Φ¿ ætrl+Z,
  10732.         ¬«Γ«αδÑ úÑ¡Ñα¿απεΓ ß¿¼ó«½ ¬«¡µá Σá⌐½á Γ«½∞¬« ó Γ«¼  ß½πτáÑ,  Ñß½¿
  10733.         »ÑαѼѡ¡á∩  CheckEof πßΓá¡«ó½Ñ¡á ó º¡áτÑ¡¿Ñ TruÑ (»« π¼«½τá¡¿ε Ñ⌐
  10734.         »α¿ßó«Ñ¡« º¡áτÑ¡¿Ñ FalsÑ).  ìáªáΓ¿Ñ Ctrl+Z ΓᬪѠºáóÑαΦáÑΓ ßΓ᫬π
  10735.         óó«ñá ¿ úÑ¡Ñα¿απÑΓ ¼áα¬Ñα ¬«¡µá ßΓ᫬¿.
  10736.  
  10737.              ä½∩ »α«óÑન ß«ßΓ«∩¡¿∩ ¬½áó¿áΓπαδ ¿ óó«ñá «Γñѽ∞¡δσ ß¿¼ó«½«ó
  10738.         »«ñ  π»αáó½Ñ¡¿Ñ¼  »α«úαá¼¼δ  ¿ß»«½∞ºπ⌐ΓÑ  Σπ¡¬µ¿¿  KeyÉressed   ¿
  10739.         RÑádkey.
  10740.  
  10741.  
  10742.          B.Pascal 7 & Objects/LR     - 237 -
  10743.  
  10744.                                Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿
  10745.         ─────────────────────────────────────────────────────────────────
  10746.  
  10747.              é ß½ÑñπεΘ¿σ Γáí½¿µáσ »ÑαÑτ¿ß½∩εΓß∩ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ¬«-
  10748.         Γ«αδÑ ¼«ª¡« ¡á⌐Γ¿ ó ¼«ñπ½Ñ WinCrt.
  10749.  
  10750.         ┌───────────────────┬───────────────────────────────────────────┐
  10751.         │ Åα«µÑñπαá/Σπ¡¬µ¿∩ │      Ä»¿ßá¡¿Ñ                             │
  10752.         ├───────────────────┼───────────────────────────────────────────┤
  10753.         │   AssignCrt       │ ìạáτáÑΓ ΓѬßΓ«óδ⌐ Σá⌐½ ñ½∩ «¬¡á CRT.    │
  10754.         ├───────────────────┼───────────────────────────────────────────┤
  10755.         │   ClrE«l          │ Äτ¿ΘáÑΓ óßÑ ß¿¼ó«½δ,  ¡áτ¿¡á∩  «Γ  »«º¿µ¿¿│
  10756.         │                   │ ¬παß«αá ñ« ¬«¡µá ßΓ᫬¿,  íѺ  »ÑαѼÑΘÑ¡¿∩│
  10757.         │                   │ ¬παß«αá.                                  │
  10758.         ├───────────────────┼───────────────────────────────────────────┤
  10759.         │   ClrScr          │ Äτ¿ΘáÑΓ φ¬αá¡ ¿ »«¼ÑΘáÑΓ ¬παß«α ó  óÑασ¡Ñ¼│
  10760.         │                   │ ½Ñó«¼ πú½π.                               │
  10761.         ├───────────────────┼───────────────────────────────────────────┤
  10762.         │   CursorTo        │ ÅÑαѼÑΘáÑΓ  ¬παß«α  ó Γ«τ¬π ¡á ó¿αΓπá½∞¡«¼│
  10763.         │                   │ φ¬αá¡Ñ ß ºáñá¡¡δ¼¿ ¬««αñ¿¡áΓἿ.          │
  10764.         ├───────────────────┼───────────────────────────────────────────┤
  10765.         │   DoneWinCrt      │ ô¡¿τΓ«ªáÑΓ «¬¡á CRT.                      │
  10766.         ├───────────────────┼───────────────────────────────────────────┤
  10767.         │   G«t«òY          │ éδ»«½¡∩ÑΓ  »«º¿µ¿«¡¿α«óá¡¿Ñ  ¬παß«αá.  ò -│
  10768.         │                   │ φΓ« ú«α¿º«¡Γá½∞¡á∩ »«º¿µ¿∩, Y - óÑαΓ¿¬á½∞-│
  10769.         │                   │ ¡á∩ »«º¿µ¿∩ ó¿αΓπá½∞¡«ú« φ¬αá¡á.          │
  10770.         ├───────────────────┼───────────────────────────────────────────┤
  10771.         │   InitWinCrt      │ ê¡¿µ¿á½¿º¿απÑΓ «¬¡« CRT.                  │
  10772.         ├───────────────────┼───────────────────────────────────────────┤
  10773.         │   KeyÉrÑssÑd      │ é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ  TruÑ, Ñß½¿ ¬½áó¿Φá ¡á│
  10774.         │                   │ ¬½áó¿áΓπαÑ ¡áªáΓá ¿ FalsÑ - ó »α«Γ¿ó¡«¼   │
  10775.         │                   │ ß½πτáÑ.                                   │
  10776.         ├───────────────────┼───────────────────────────────────────────┤
  10777.         │   ReadBuf         │ æτ¿ΓδóáÑΓ ¿º «¬¡á CRT ßΓ᫬π.             │
  10778.         ├───────────────────┼───────────────────────────────────────────┤
  10779.         │   RÑádKÑπ         │ æτ¿ΓδóáÑΓ ß¿¼ó«½ ß ¬½áó¿áΓπαδ.            │
  10780.         ├───────────────────┼───────────────────────────────────────────┤
  10781.         │   ScrollTo        │ Å᫬απτ¿óáÑΓ «¬¡« CRT,  τΓ«íδ  ó¿ñ¡á  íδ½á│
  10782.         │                   │ Γ«τ¬á ß ºáñá¡¡δ¼¿ ¬««αñ¿¡áΓἿ.           │
  10783.         ├───────────────────┼───────────────────────────────────────────┤
  10784.         │   TrackCursor     │ Å᫬απτ¿óáÑΓ «¬¡« CRT,  τΓ«íδ  ¬παß«α  íδ½│
  10785.         │                   │ ó¿ñ¿¼δ¼.                                  │
  10786.         ├───────────────────┼───────────────────────────────────────────┤
  10787.         │   WherÑò          │ é«ºóαáΘáÑΓ ¬««αñ¿¡áΓπ ò ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿│
  10788.         │                   │ ¬παß«αá, «Γ¡«ß∩Θπεß∩ ¬ ΓѬπΘÑ¼π «¬¡π. ò   │
  10789.         │                   │ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ú«α¿º«¡Γá½∞¡πε         │
  10790.         │                   │ »«º¿µ¿ε.                                  │
  10791.         ├───────────────────┼───────────────────────────────────────────┤
  10792.         │   WhereY          │ é«ºóαáΘáÑΓ ¬««αñ¿¡áΓπ Y ñ½∩ ΓѬπΘÑ⌐  »«º¿-│
  10793.         │                   │ µ¿¿ ¬παß«αá, «Γ¡«ß∩Θπεß∩ ¬ ΓѬπΘÑ¼π  «¬¡π.│
  10794.         │                   │ Y »αÑñßΓáó½∩ÑΓ ß«í«⌐ óÑαΓ¿¬á½∞¡πε »«º¿µ¿ε.│
  10795.         ├───────────────────┼───────────────────────────────────────────┤
  10796.         │   WriteBuf        │ éδó«ñ¿Γ ó «¬¡« CRT í½«¬ ß¿¼ó«½«ó.         │
  10797.  
  10798.          B.Pascal 7 & Objects/LR     - 238 -
  10799.  
  10800.         ├───────────────────┼───────────────────────────────────────────┤
  10801.         │   WriteChar       │ éδó«ñ¿Γ ó «¬¡« CRT «Γñѽ∞¡δ⌐ ß¿¼ó«½.      │
  10802.         └───────────────────┴───────────────────────────────────────────┘
  10803.  
  10804.  
  10805.  
  10806.          B.Pascal 7 & Objects/LR     - 239 -
  10807.  
  10808.                             ÅÑαѼѡ¡δÑ ¼«ñπ½∩ WinCrt
  10809.         ─────────────────────────────────────────────────────────────────
  10810.  
  10811.              é ¼«ñπ½Ñ WinCrt «»¿ßδóáÑΓß∩ ¡Ñ߬«½∞¬« »ÑαѼѡ¡δσ:
  10812.  
  10813.         ┌───────────────────┬───────────────────────────────────────────┐
  10814.         │     ÅÑαѼѡ¡á∩    │                 Æ¿»                       │
  10815.         ├───────────────────┼───────────────────────────────────────────┤
  10816.         │  WindowOrg        │ êß»«½∞ºπѼ«Ñ »« π¼«½τá¡¿ε  αẼÑΘÑ¡¿Ñ »«º-│
  10817.         │                   │ ó«½∩ÑΓ Windows óδí¿αáΓ∞  »«ñσ«ñ∩ΘÑÑ αáß»«-│
  10818.         │                   │ ½«ªÑ¡¿Ñ «¬¡á CRT.  éδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞  ¡á-│
  10819.         │                   │ τá½∞¡«Ñ º¡áτÑ¡¿Ñ, »α¿ßó«¿ó »ÑαÑñ ß«ºñ᡿Ѽ│
  10820.         │                   │ «¬¡á CRT ¡«óδÑ º¡áτÑ¡¿∩ ¬««αñ¿¡áΓá¼ X ¿ Y.│
  10821.         ├───────────────────┼───────────────────────────────────────────┤
  10822.         │  WindowSize       │ êß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε αẼÑα »«ºó«½∩ÑΓ│
  10823.         │                   │ Windows óδí¿αáΓ∞  »«ñσ«ñ∩Θ¿⌐  αẼÑα  «¬¡á│
  10824.         │                   │ CRT.  éδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ ¡áτá½∞¡δ⌐ αẼÑα,│
  10825.         │                   │ »α¿ßó«¿ó  »ÑαÑñ  ß«ºñ᡿Ѽ  «¬¡á CRT ¡«óδÑ│
  10826.         │                   │ º¡áτÑ¡¿∩ ¬««αñ¿¡áΓá¼ X ¿ Y.               │
  10827.         ├───────────────────┼───────────────────────────────────────────┤
  10828.         │  ScreenSize       │ Å«  π¼«½τá¡¿ε φ¬αá¡ ¿¼ÑÑΓ αẼÑα 80 ßΓ«½í-│
  10829.         │                   │ µ«ó ¡á 25 ßΓ᫬.  Åα¿ßó«¿ó ñαπú¿Ñ º¡áτÑ¡¿∩│
  10830.         │                   │ ¬««αñ¿¡áΓá¼ X ¿ Y ScreenSize »ÑαÑñ  ß«ºñá-│
  10831.         │                   │ ¡¿Ñ¼ «¬¡á CRT,  óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ ¿ß»«½∞-│
  10832.         │                   │ ºπѼδ⌐ »«  π¼«½τá¡¿ε  αẼÑα  φ¬αá¡á  CRT.│
  10833.         │                   │ ç¡áτÑ¡¿Ñ,   »«½πτáѼ«Ñ   »α¿  »α«¿ºóÑñÑ¡¿¿│
  10834.         │                   │ ScreenSize.X ¡á  ScreenSize.Y,  ¡Ñ  ñ«½ª¡«│
  10835.         │                   │ »αÑóδΦáΓ∞ 65520.                          │
  10836.         ├───────────────────┼───────────────────────────────────────────┤
  10837.         │  Cursor           │ éÑασ¡¿⌐ ½Ñóδ⌐ πú«½ ß««ΓóÑΓßΓóπÑΓ ¬««αñ¿¡á-│
  10838.         │                   │ ΓÑ (0,0). Cursor - φΓ« »ÑαѼѡ¡á∩, ñ«ßΓπ»-│
  10839.         │                   │ ¡á∩ Γ«½∞¬« »« τΓÑ¡¿ε.  Åα¿ßóá¿óáΓ∞ Ñ⌐ º¡á-│
  10840.         │                   │ τÑ¡¿∩ ¡Ñ½∞º∩.                             │
  10841.         ├───────────────────┼───────────────────────────────────────────┤
  10842.         │  Origin           │ æ«ñÑαª¿Γ ΓѬπΘπε »«º¿µ¿ε ¬παß«αá ¡á ó¿αΓπ-│
  10843.         │                   │ á½∞¡«¼ φ¬αá¡Ñ - ¬««αñ¿¡áΓδ ∩τÑ⌐¬¿ ß¿¼ó«½á,│
  10844.         │                   │ óδó«ñ¿¼«⌐ ó ½Ñó«¼ óÑασ¡Ñ¼ πú½π  «¬¡á  CRT.│
  10845.         │                   │ ÄΓßτ¿ΓδóáÑΓß∩ ß 0.                        │
  10846.         ├───────────────────┼───────────────────────────────────────────┤
  10847.         │  InactiveTitle    │ ô¬áºδóáÑΓ ¡á  ºáóÑαΦáεΘπεß∩  ¡π½Ñ¼ ßΓ᫬π,│
  10848.         │                   │ ¿ß»«½∞ºπѼπε ñ½∩ ß«ºñá¡¿∩ ºáú«½«ó¬á  ¡Ñá¬-│
  10849.         │                   │ Γ¿ó¡«ú« «¬¡á CRT.                         │
  10850.         ├───────────────────┼───────────────────────────────────────────┤
  10851.         │  AutoTracking     │ ÉáºαÑΦáÑΓ  ¿½¿  ºá»αÑΘáÑΓ   áóΓ«¼áΓ¿τÑ߬πε│
  10852.         │                   │ »α«¬απì𠫬¡á ñ½∩  «Γ߽Ѫ¿óá¡¿∩  ó¿ñ¿¼«ú«│
  10853.         │                   │ ¬παß«αá.                                  │
  10854.         ├───────────────────┼───────────────────────────────────────────┤
  10855.         │  CheakBreak       │ ÅÑαѼѡ¡á∩ ChÑckEOF αáºαÑΦáÑΓ ¿½¿ ºá»αÑΘá-│
  10856.         │                   │ ÑΓ ß¿¼ó«½  ¬«¡µá  Σá⌐½á.  àß½¿  »ÑαѼѡ¡á∩│
  10857.         │                   │ ChÑckEOF  ¿¼ÑÑΓ  º¡áτÑ¡¿Ñ  TruÑ,  Γ« ¬«úñá│
  10858.         │                   │ τΓÑ¡¿Ñ »α«¿ºó«ñ¿Γß∩ ¿º Σá⌐½á, ¡áº¡áτÑ¡¡«ú«│
  10859.         │                   │ «¬¡π CRT,  »α¿ ¡áªáΓ¿¿ ¬½áó¿Φ Ctrl+Z úÑ¡Ñ-│
  10860.         │                   │ α¿απÑΓß∩ ß¿¼ó«½ ¬«¡µá Σá⌐½á.  è«úñá  »ÑαÑ-│
  10861.  
  10862.          B.Pascal 7 & Objects/LR     - 240 -
  10863.  
  10864.         │                   │ ¼Ñ¡¡á∩  ChÑckEOF  ¿¼ÑÑΓ º¡áτÑ¡¿Ñ False »α¿│
  10865.         │                   │ ¡áªáΓ¿¿ ¬½áó¿Φ Ctrl+Z ¡¿¬á¬¿σ ñÑ⌐ßΓó¿⌐  ¡Ñ│
  10866.         │                   │ óδ»«½¡∩ÑΓß∩.                              │
  10867.         ├───────────────────┼───────────────────────────────────────────┤
  10868.         │  CheckEof         │ ÅÑαѼѡ¡á∩ CheckérÑak αáºαÑΦáÑΓ ¿½¿ ºá»αÑ-│
  10869.         │                   │ ΘáÑΓ »α«óÑન ß¿Γπᵿ¿  Ctrl+Break.  è«úñá│
  10870.         │                   │ »ÑαѼѡ¡á∩  ChÑckérÑak  »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ│
  10871.         │                   │ TruÑ, ¡áªáΓ¿Ñ »«½∞º«óáΓѽѼ ¬½áó¿Φ Alt+F4,│
  10872.         │                   │ óδí«α  »«½∞º«óáΓѽѼ  ¬«¼á¡ñδ Close ó ¼Ñ¡ε│
  10873.         │                   │ Control «¬¡á CRT ¿½¿ ñó«⌐¡«Ñ ¡áªáΓ¿Ñ ¬¡«»-│
  10874.         │                   │ ¬¿ "¼δΦ¿" ó π»αáó½∩εΘÑ⌐ αἬѠ¼Ñ¡ε Control│
  10875.         │                   │ φΓ«ú« «¬¡á »α¿óÑñÑΓ ¬ »α¿¡πñ¿Γѽ∞¡«¼π  ºá-│
  10876.         │                   │ óÑαΦÑ¡¿ε αáí«Γδ  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ »α¿│
  10877.         │                   │ ß½ÑñπεΘÑ⌐ «»Ñαᵿ¿ óδó«ñá ¡á  φ¬αá¡  ñ¿ß»-│
  10878.         │                   │ ½Ñ∩, ¬«Γ«απε óδ»«½¡¿Γ φΓá »α«úαá¼¼á.      │
  10879.         ├───────────────────┼───────────────────────────────────────────┤
  10880.         │  WindowTitle      │ Ä»αÑñѽ∩ÑΓ ºáú«½«ó«¬ «¬¡á CRT. Å«  π¼«½τá-│
  10881.         │                   │ ¡¿ε ¿ß»«½∞ºπÑΓß∩ º¡áτÑ¡¿Ñ,  αáó¡«Ñ »«½¡«¼π│
  10882.         │                   │ ¿¼Ñ¡¿ ¼áαΦαπΓá Σá⌐½á .EXE »α«úαá¼¼δ.      │
  10883.         └───────────────────┴───────────────────────────────────────────┘
  10884.  
  10885.  
  10886.  
  10887.  
  10888.          B.Pascal 7 & Objects/LR     - 241 -
  10889.  
  10890.                            ÅÑτáΓ∞ ¿º »α«úαá¼¼δ Windows
  10891.         ─────────────────────────────────────────────────────────────────
  10892.  
  10893.              î«ñπ½∞ WinPrn  »«ºó«½∩ÑΓ  óá¼  »ÑτáΓáΓ∞  ΓѬßΓ  ¿º »α«úαá¼¼δ
  10894.         Windows. ùΓ«íδ ¿ß»«½∞º«óáΓ∞ WinPrn,  π¬áª¿ΓÑ φë༫ñπ½∞ ó «»Ñαá-
  10895.         Γ«αÑ uses óáΦÑ⌐ »α«úαá¼¼δ;
  10896.  
  10897.              uses WinPrn;
  10898.  
  10899.              ÅÑαÑñ ¡áτὫ¼ »ÑτáΓ¿ óá¼ ¡πª¡« »α¿ßó«¿Γ∞ »α¿¡ΓÑαπ »ÑαѼѡ¡πε
  10900.         Γ¿»á ΓѬßΓ«ó«ú« Σá⌐½á.  æñѽáΓ∞ φΓ« ¼«ª¡« ñóπ¼∩ »πΓ∩¼¿ - ¡áº¡áτ¿ó
  10901.         ¿ß»«½∞ºπѼδ⌐ »«  π¼«½τá¡¿ε »α¿¡ΓÑα ¿½¿ óδíαá󠬫¡¬αÑΓ¡δ⌐ »α¿¡ΓÑα,
  10902.         ñαá⌐óÑα ¿ »«αΓ.  ä½∩ óδó«ñá ¡á ¿ß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε  »α¿¡ΓÑα
  10903.         ó맮ó¿ΓÑ Σπ¡¬µ¿ε  AssignPrn.  ïεíá∩ ºá»¿ß∞ ó »α¿ßó«Ñ¡¡πε Σá⌐½«óπε
  10904.         »ÑαѼѡ¡πε Γ¿»á ΓѬßΓ«ó«ú« Σá⌐½á »α¿óÑñÑΓ ¬ óδó«ñπ ¡á »α¿¡ΓÑα.
  10905.  
  10906.                               êº¼Ñ¡Ñ¡¿Ñ ºáú«½«ó¬«ó
  10907.         ─────────────────────────────────────────────────────────────────
  10908.  
  10909.              Å« π¼«½τá¡¿ε áñ¼¿¡¿ßΓαáΓ«α »ÑτáΓ¿ Windows íπñÑΓ óδó«ñ¿Γ∞ óßÑ
  10910.         ºáñá¡¿∩ »ÑτáΓ¿ τÑαѺ WinPrn íѺ ºáú«½«ó¬«ó.  æ »«¼«Θ∞ε  »α«µÑñπαδ
  10911.         TitlePrn (óδºóáó ÑÑ óß½Ññ ºá Rewrite) óδ ¼«ªÑΓÑ ºáñáΓ∞ ºáú«½«ó«¬,
  10912.         ¡á»α¿¼Ñα:
  10913.  
  10914.              AssignDefPrn(Prn);
  10915.              TitlePrn(Prn, '諡ѵ ú«ñ«ó«ú« «ΓτÑΓá');
  10916.              Rewrite(Prn);
  10917.  
  10918.         ºáñáÑΓ ñ½∩ óδó«ñá ¿ß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε  »α¿¡ΓÑα  ¿  ¿º¼Ñ¡∩ÑΓ
  10919.         ºáú«½«ó«¬ ¡á "諡ѵ ú«ñ«ó«ú« «ΓτÑΓá", óδó«ñ∩ Ñú« ¡á φëà»α¿¡ΓÑα.
  10920.         àß½¿ TitlePrn óδºδóáÑΓß∩ »«ß½Ñ Rewrite,  Γ« ¡¿¬á¬«ú« φΣΣѬΓá  φΓ«
  10921.         ¡Ñ óδºδóáÑΓ.
  10922.  
  10923.  
  10924.  
  10925.          B.Pascal 7 & Objects/LR     - 242 -
  10926.  
  10927.                                 êº¼Ñ¡Ñ¡¿Ñ Φα¿ΣΓ«ó
  10928.         ─────────────────────────────────────────────────────────────────
  10929.  
  10930.              WinPrn ¿ß»«½∞ºπÑΓ ¡áº¡áτÑ¡¡δ⌐ »«  π¼«½τá¡¿ε  Φα¿ΣΓ,  ¬«Γ«αδ⌐
  10931.         ó«ºóαáΘáÑΓß∩ ñαá⌐óÑα«¼ πßΓα«⌐ßΓóá. ùΓ«íδ ¿º¼Ñ¡¿Γ∞ Φα¿ΣΓ, ó맮ó¿ΓÑ
  10932.         Σπ¡¬µ¿ε SetPrnFont,  »ÑαÑñáó Ñ⌐ «»¿ßáΓѽ∞  ¿ß»«½∞ºπѼ«ú«  Φα¿ΣΓá.
  10933.         SetPrnFont ó«ºóαáΘáÑΓ  ΓѬπΘ¿⌐  ¿ß»«½∞ºπѼδ⌐ Φα¿ΣΓ.  é«ºóαáΘáѼδ⌐
  10934.         Φα¿ΣΓ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ íπñπΘÑú« ó맮óá SetPrnFont  ¿½¿  ñ½∩
  10935.         »ÑαÑñáτ¿ Ñú« DeleteObject.  Åα¿óÑñѼ »α¿¼Ñα »α«úαá¼¼δ, ñѼ«¡ßΓα¿-
  10936.         απεΘÑ⌐ ¿º¼Ñ¡Ñ¡¿Ñ Φα¿ΣΓá:;
  10937.  
  10938.              program Test;
  10939.  
  10940.              uses WinTypes, WinProcs, WinCrt, WinPrn;
  10941.  
  10942.              var
  10943.                Prn: Text;
  10944.                OldFont: HFont;
  10945.  
  10946.              begin
  10947.                Writeln('ÅÑτáΓ∞...');
  10948.                AssingDefPrn(Prn);
  10949.                Rewrite(Prn);
  10950.  
  10951.                Rewrite(Prn, 'ìѬ«Γ«αδ⌐ ΓѬßΓ');
  10952.                OldFont := SetPrnFont(Prn, CreateFont(100,0,0,0,0,0,0,0,1,
  10953.                             Out_Default_Precis,Clip_Default_Precis,
  10954.                             Default_Quality,ff_Roman,nil);
  10955.                Writeln(Prn,' Åα«¿ºó«½∞¡δ⌐ ΓѬßΓ ¡«óδ¼ Φα¿ΣΓ«¼');
  10956.                DeleteObject(SetPrnFont(Prn, OldFont));
  10957.                Writeln(Prn, ' é«ºóαáΓ ¬ ßΓáα«¼π Φα¿ΣΓπ');
  10958.  
  10959.                Close(Prn);
  10960.                Writeln('éδ»«½¡Ñ¡«');
  10961.              end.
  10962.  
  10963.  
  10964.  
  10965.          B.Pascal 7 & Objects/LR     - 243 -
  10966.  
  10967.                             ÄßΓá¡«ó¬á ºáñá¡¿∩ »ÑτáΓ¿
  10968.         ─────────────────────────────────────────────────────────────────
  10969.  
  10970.              ùΓ«íδ «ßΓá¡«ó¿Γ∞  ºáñá¡¿Ñ  »ÑτáΓ¿,  ºá»πΘÑ¡¡«Ñ   ß   »«¼«Θ∞ε
  10971.         WinPrn, ó맮ó¿ΓÑ  »α«µÑñπαπ AbortPrn.  ¥Γ« »α¿óÑñÑΓ ¬ »αѬαáΘÑ¡¿ε
  10972.         »ÑτáΓ¿, ßíα«ßπ πßΓα«⌐ßΓóá ¿ »«ñú«Γ«ó¬¿ Ñú« ¬ óδó«ñπ ¡«ó«ú«  ºáñá-
  10973.         ¡¿∩ »ÑτáΓ¿.
  10974.  
  10975.                                æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ
  10976.         ─────────────────────────────────────────────────────────────────
  10977.  
  10978.              è«úñá óáΦá »α«úαἼᠠ¿ß»«½∞ºπÑΓ  ¼«ñπ½∞  WinPrn,  ß½ÑñπεΘ¿Ñ
  10979.         ß¿¼ó«½δ íπñπΓ ¿¼ÑΓ∞ ß»Ñµ¿á½∞¡δ⌐ ß¼δß½:
  10980.  
  10981.         ┌───────┬───────────────┬───────────────────────────────────────┐
  10982.         │濼󫽠│   ìáºóá¡¿Ñ    │               Ä»¿ßá¡¿Ñ                │
  10983.         ├───────┼───────────────┼───────────────────────────────────────┤
  10984.         │   #9  │  Æáíπ½∩µ¿∩    │ ìáτ¿¡áÑΓ »ÑτáΓ∞ ß¿¼ó«½«ó ß«  ß½ÑñπεΘÑ⌐│
  10985.         │       │     TAB       │ »«º¿µ¿¿ Γáíπ½∩µ¿¿,  ¬«Γ«αá∩ «ΓßΓ«¿Γ «Γ│
  10986.         │       │               │ »αÑñδñπΘÑ⌐  »«º¿µ¿¿  Γáíπ½∩µ¿¿  ¡á  8-│
  10987.         │       │               │ ¬αáΓ¡πε ßαÑñ¡εε Φ¿α¿¡π Φα¿ΣΓá.        │
  10988.         ├───────┼───────────────┼───────────────────────────────────────┤
  10989.         │   #10 │ ÅÑαÑó«ñ ßΓ᫬¿│ ìáτ¿¡áÑΓ »ÑτáΓ∞ ß ¡«ó«⌐ ßΓ᫬¿.       │
  10990.         │       │     LF        │                                       │
  10991.         ├───────┼───────────────┼───────────────────────────────────────┤
  10992.         │   #12 │ÅÑαÑó«ñ Σ«α¼áΓá│ Åα¿¡πñ¿Γѽ∞¡δ⌐ »ÑαÑó«ñ ßΓαá¡¿µδ.      │
  10993.         │       │     FF        │                                       │
  10994.         ├───────┼───────────────┼───────────────────────────────────────┤
  10995.         │   #13 │髺óαáΓ ¬áαÑΓ¬¿│ ìáτ¿¡áÑΓ »ÑτáΓ∞ ß ¡áτá½á ¡«ó«⌐ ßΓ᫬¿.│
  10996.         │       │    CR         │                                       │
  10997.         └───────┴───────────────┴───────────────────────────────────────┘
  10998.  
  10999.  
  11000.  
  11001.          B.Pascal 7 & Objects/LR     - 244 -
  11002.  
  11003.                         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinPrn
  11004.         ─────────────────────────────────────────────────────────────────
  11005.  
  11006.              Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinPrn  »ÑαÑτ¿ß½Ñ¡δ  ó  ß½ÑñπεΘÑ⌐
  11007.         Γáí½¿µÑ:
  11008.  
  11009.         ┌──────────────────────────┬────────────────────────────────────┐
  11010.         │    Åα«µÑñπαá/Σπ¡¬µ¿∩     │          Ä»¿ßá¡¿Ñ                  │
  11011.         ├──────────────────────────┼────────────────────────────────────┤
  11012.         │    AbortPrn              │ ÅαѬαáΘáÑΓ »ÑτáΓ∞ ºáñá¡¿∩, «Γíαáßδ-│
  11013.         │                          │ óá∩ óßÑ ¡Ñαáß»ÑτáΓá¡¡δÑ ñá¡¡δÑ.    │
  11014.         ├──────────────────────────┼────────────────────────────────────┤
  11015.         │    AssignPrn             │ Åα¿ßóá¿óáÑΓ »α¿¡ΓÑαπ Σá⌐½.         │
  11016.         ├──────────────────────────┼────────────────────────────────────┤
  11017.         │    AssingDefPrn          │ Åα¿ßóá¿óáÑΓ Σá⌐½  ¿ß»«½∞ºπѼ«¼π  »«│
  11018.         │                          │ π¼«½τá¡¿ε »α¿¡ΓÑαπ.                │
  11019.         ├──────────────────────────┼────────────────────────────────────┤
  11020.         │    SetPrnFont            │ ìáτ¿¡áÑΓ »ÑτáΓ∞ Σá⌐½á  ß  óδíαá¡¡δ¼│
  11021.         │                          │ Φα¿ΣΓ«¼.                           │
  11022.         ├──────────────────────────┼────────────────────────────────────┤
  11023.         │    TitlePrn              │ éδó«ñ¿Γ  ºáú«½«ó«¬ »ÑτáΓáѼ«ú« Σá⌐-│
  11024.         │                          │ ½á.                                │
  11025.         └──────────────────────────┴────────────────────────────────────┘
  11026.  
  11027.                   äαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó
  11028.  
  11029.              Borland Pascal »«ºó«½∩ÑΓ  óá¼  «»αÑñѽ¿Γ∞  óáΦ¿  ß«íßΓóÑ¡¡δÑ
  11030.         ñαá⌐óÑαδ  πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó.  äαá⌐óÑα πßΓα«⌐ßΓóá ñ½∩
  11031.         ΓѬßΓ«óδσ Σá⌐½«ó »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡áí«α ¿º τÑΓδαÑσ Σπ¡¬µ¿⌐, αÑ-
  11032.         á½¿ºπεΘ¿σ »«½¡δ⌐ ¿¡ΓÑαΣÑ⌐ß ¼Ñªñπ Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐ Borland Pascal
  11033.         ¿ ¬á¬¿¼-½¿í« πßΓα«⌐ßΓó«¼.
  11034.  
  11035.              ¥Γ¿¼¿ τÑΓδα∞¼∩ Σπ¡¬µ¿∩¼¿, ß »«¼«Θ∞ε ¬«Γ«αδσ «»αÑñѽ∩ÑΓß∩ ½ε-
  11036.         í«⌐  ñαá⌐óÑα πßΓα«⌐ßΓóá,  ∩ó½∩εΓß∩ Σπ¡¬µ¿¿ Open,  InOut,  Flush ¿
  11037.         Close. çáú«½«ó«¬ ¬áªñ«⌐ Σπ¡¬µ¿¿ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
  11038.  
  11039.              function DeviceFunc(var F: TextRec) integer
  11040.  
  11041.         úñÑ TÑσtRÑß (¿½¿ TTextRec ñ½∩ Windows) -  Γ¿»  ºá»¿ß¿  ΓѬßΓ«ó«ú«
  11042.         Σá⌐½á, ¬«Γ«αδ⌐ «»αÑñѽ∩ÑΓß∩ ó â½áóÑ 21. ùΓ«íδ ó Σπ¡¬µ¿¿ ¿ß»«½∞º«-
  11043.         óá½ß∩ ñá½∞¡¿⌐ Γ¿» ó맮óá,  ¬áªñá∩ ¿º ¡¿σ ñ«½ª¡á ¬«¼»¿½¿α«óáΓ∞ß∩ ß
  11044.         ñ¿αÑ¬Γ¿ó«⌐ {$F+}.  ç¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ ¬áªñ«⌐ Σπ¡¬µ¿Ñ⌐, »αÑñß-
  11045.         Γáó½∩εΘÑ⌐ ß«í«⌐ ¿¡ΓÑαΣÑ⌐ß ß  πßΓα«⌐ßΓó«¼,  ßΓá¡«ó¿Γß∩  º¡áτÑ¡¿Ñ¼,
  11046.         ó«ºóαáΘáÑ¼δ¼  Σπ¡¬µ¿Ñ⌐  IOResult.  é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑ-
  11047.         Γѽ∞ßΓóπÑΓ «í πß»ÑΦ¡«¼ ºáóÑαΦÑ¡¿¿ «»Ñαᵿ¿.
  11048.  
  11049.              ä½∩ Γ«ú«,  τΓ«íδ ßó∩ºáΓ∞ Σπ¡¬µ¿ε, «ßπΘÑßΓó½∩εΘπε ¿¡ΓÑαΣÑ⌐ß ß
  11050.         πßΓα«⌐ßΓó«¼, ß ¬«¡¬αÑΓ¡δ¼ Σá⌐½«¼, ¡πª¡« ¡á»¿ßáΓ∞ ß»Ñµ¿á½∞¡πε »α«-
  11051.         µÑñπαπ Assign (á¡á½«ú¿τ¡πε »α«µÑñπαÑ AssignCrt ó ¼«ñπ½Ñ  Crt  ¿½¿
  11052.         WinCrt). ¥Γá »α«µÑñπαá ñ«½ª¡á »α¿ßóá¿óáΓ∞ áñαÑßá τÑΓδαÑσ Σπ¡¬µ¿⌐,
  11053.         «ßπΘÑßΓó½∩εΘ¿σ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓóἿ,  τÑΓδαѼ  π¬áºáΓѽ∩¼  ¡á
  11054.         Σπ¡¬µ¿¿ ó »ÑαѼѡ¡«⌐ ΓѬßΓ«ó«ú« Σá⌐½á. é »α¿ñáτπ ¬ φΓ«¼π óδ ñ«½ª-
  11055.         ¡δ ß«σαá¡¿Γ∞ ß¿ßΓѼ¡πε ¬«¡ßΓá¡Γπ fmClosed ó »«½Ñ  î«dÑ,  ºá»¿ßáΓ∞
  11056.  
  11057.          B.Pascal 7 & Objects/LR     - 245 -
  11058.  
  11059.         αẼÑα íπΣÑαá ΓѬßΓ«ó«ú« Σá⌐½á ó  »ÑαѼѡ¡πε  BufSize,  ß«σαá¡¿Γ∞
  11060.         π¬áºáΓѽ∞  íπΣÑαá ΓѬßΓ«ó«ú« Σá⌐½á ó »ÑαѼѡ¡«⌐ BufPtr ¿ «τ¿ßΓ¿Γ∞
  11061.         ßΓ᫬π Ná¼Ñ.
  11062.  
  11063.              ÅαÑñ»«½«ª¿¼, ¡á»α¿¼Ñα, τΓ« ¿¼Ñ¡á¼¿ τÑΓδαÑσ Σπ¡¬µ¿⌐, αÑ὿ºπ-
  11064.         εΘ¿σ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓó«¼, ∩ó½∩εΓß∩ Σπ¡¬µ¿¿ DevOpen, DevInOut,
  11065.         DevFlush, DevClose ¿ Assign.
  11066.  
  11067.              Æ«úñá »α«µÑñπαá Assing ¼«ªÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  11068.  
  11069.              procedure AssignDev(var F: Text);
  11070.              begin
  11071.                with TextRec(F) do
  11072.                begin
  11073.                  mode      := fmClosed;
  11074.                  BufSize   := SizeOf(Buffer);
  11075.                  BufPtr    := @Buffer;
  11076.                  OpenFunc  := @DevOpen;
  11077.                  InOutFunc := @DevInOut;
  11078.                  FlushFunc := @DevFlush;
  11079.                  CloseFunc := @DevClose;
  11080.                  Name[0]   := #0;
  11081.               end;
  11082.              end;
  11083.  
  11084.              ä½∩ σαá¡Ñ¡¿∩ »«½∞º«óáΓѽ∞߬«⌐ ¿¡Σ«α¼áµ¿¿ ó Σπ¡¬µ¿¿, αÑ὿ºπ-
  11085.         εΘÑ⌐ ¿¡ΓÑαΣÑ⌐ß  ß  πßΓα«⌐ßΓó«¼,  ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ »«½Ñ ºá»¿ß¿
  11086.         UserData.  ¥Γ«  »«½Ñ  ¡Ñ  ¿º¼Ñ¡∩ÑΓß∩  Σá⌐½«ó«⌐  ß¿ßΓѼ«⌐  Borland
  11087.         Pascal.
  11088.  
  11089.  
  11090.  
  11091.          B.Pascal 7 & Objects/LR     - 246 -
  11092.  
  11093.                                   öπ¡¬µ¿∩ Open
  11094.         ─────────────────────────────────────────────────────────────────
  11095.  
  11096.              öπ¡¬µ¿∩ Open   óδºδóáÑΓß∩  ßΓá¡ñáαΓ¡δ¼¿  »α«µÑñπαἿ  RÑset,
  11097.         RÑwritÑ ¿ AppÑnd ñ½∩ «Γ¬αδΓ¿∩ ΓѬßΓ«ó«ú« Σá⌐½á, ßó∩ºá¡¡«ú« ß πßΓ-
  11098.         α«⌐ßΓó«¼. ùΓ«íδ «Γ¼ÑΓ¿Γ∞ íδ½á ½¿ Σπ¡¬µ¿∩ Open óδºóá¡á ¿º »α«µÑñπ-
  11099.         αδ RÑset,  RÑwritÑ ¿½¿ AppÑnd, ¡á óσ«ñÑ »«½Ñ î«dÑ ß«ñÑαª¿Γ º¡áτÑ-
  11100.         ¡¿Ñ fmInput, fmOutput ¿½¿ fmInOut.
  11101.  
  11102.              é ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼ î«dÑ Σπ¡¬µ¿∩ Open »«ñú«Γáó½¿óáÑΓ
  11103.         Σá⌐½ ñ½∩ óó«ñá ¿½¿ óδó«ñá.  àß½¿ ó î«dÑ π¬áºδóáÑΓß∩ FmInOut (π¬á-
  11104.         ºδóá∩, τΓ« Σπ¡¬µ¿∩ ÄpÑn íδ½á óδºóá¡á ¿º AppÑnd), Γ« »ÑαÑñ ó«ºóαá-
  11105.         Γ«¼ π»αáó½Ñ¡¿∩ Σπ¡¬µ¿Ñ⌐ ÄpÑn φΓ« º¡áτÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ¿º¼Ñ¡Ñ¡« ¡á
  11106.         fmOutput.
  11107.  
  11108.              öπ¡¬µ¿∩ OpÑn óßÑúñá óδºδóáÑΓß∩ »ÑαÑñ ½εí«⌐ ñαπú«⌐  Σπ¡¬µ¿Ñ⌐,
  11109.         αÑ὿ºπεΘÑ⌐  ¿¡ΓÑαΣÑ⌐ß  ß  πßΓα«⌐ßΓó«¼.  Å«  φΓ«⌐ »α¿τ¿¡Ñ Σπ¡¬µ¿∩
  11110.         Assign ¿¡¿µ¿á½¿º¿απÑΓ Γ«½∞¬« »«½Ñ OpÑnFunc,  «Γ¬½áñδóá∩ ¿¡¿µ¿á½¿-
  11111.         ºáµ¿ε  «ßΓáóΦ¿σß∩ óÑ¬Γ«α«ó ñ« ºáóÑαΦÑ¡¿∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ OpÑn.
  11112.         Äß¡«óδóá∩ß∞ ¡á º¡áτÑ¡¿¿ »«½∩ î«dÑ Σπ¡¬µ¿∩ OpÑn  ¼«ªÑΓ  πßΓá¡«ó¿Γ∞
  11113.         π¬áºáΓѽ¿  ¬á¬  ñ½∩ Σπ¡¬µ¿⌐,  «α¿Ñ¡Γ¿α«óá¡¡δσ ¡á óó«ñ,  Γᬠ¿ ñ½∩
  11114.         Σπ¡¬µ¿⌐, «α¿Ñ¡Γ¿α«óá¡¡δσ ¡á óδó«ñ. ¥Γ« »«ºó«½∩ÑΓ ¿ºíѪáΓ∞ «»αÑñÑ-
  11115.         ½Ñ¡¿∩ ΓѬπΘÑú« αѪ¿¼á ó Σπ¡¬µ¿∩σ InOut, Flush ¿ Close.
  11116.  
  11117.                                   öπ¡¬µ¿∩ InOut
  11118.         ─────────────────────────────────────────────────────────────────
  11119.  
  11120.              éß∩¬¿⌐ αáº,  ¬«úñá ΓαÑíπÑΓß∩ óó«ñ ß πßΓα«⌐ßΓóá ¿½¿ óδó«ñ  ¡á
  11121.         ¡Ñú«, Σπ¡¬µ¿∩¼¿ Readln, Read, Write, Writeln, Page, Eof, SeekEof,
  11122.         SeekEoln ¿ Close óδºδóáÑΓß∩ Σπ¡¬µ¿∩ InOut.
  11123.  
  11124.              è«úñá ó »«½Ñ  î«dÑ  πßΓá¡«ó½Ñ¡«  º¡áτÑ¡¿Ñ  fnInput,  Σπ¡¬µ¿∩
  11125.         InOut ßτ¿ΓδóáÑΓ ß¿¼ó«½δ («íΩѼ óó«ñá ºáñáÑΓß∩ »ÑαѼѡ¡«⌐ BufSize)
  11126.         ó BufPtr^ ¿ ó«ºóαáΘáÑΓ τ¿ß½« ßτ¿Γá¡¡δσ ß¿¼ó«½«ó ó BufEnd, á ΓᬪÑ
  11127.         ºá»¿ßδóáÑΓ 0 ó BufPos. àß½¿ Σπ¡¬µ¿∩ InOut ó αѺπ½∞ΓáΓÑ ºá»α«ßá ¡á
  11128.         óó«ñ ó«ºóαáΘáÑΓ ó BufEnd º¡áτÑ¡¿Ñ 0,  Γ« »ÑαѼѡ¡á∩ E«f ñ½∩ Σá⌐½á
  11129.         »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ TruÑ.
  11130.  
  11131.              è«úñá ó  »«½Ñ  î«dÑ  πßΓá¡«ó½Ñ¡« º¡áτÑ¡¿Ñ fnOutput,  Σπ¡¬µ¿∩
  11132.         InOut ºá»¿ßδóáÑΓ ß¿¼ó«½δ,  ¬«½¿τÑßΓó« ¬«Γ«αδσ «»αÑñѽ∩ÑΓß∩  »ÑαÑ-
  11133.         ¼Ñ¡¡«⌐ BufÉ«s, ¿º BufPtr^ ¿ ó«ºóαáΘáÑΓ ó BufÉ«s º¡áτÑ¡¿Ñ 0.
  11134.  
  11135.  
  11136.  
  11137.          B.Pascal 7 & Objects/LR     - 247 -
  11138.  
  11139.                                   öπ¡¬µ¿∩ Flush
  11140.         ─────────────────────────────────────────────────────────────────
  11141.  
  11142.              öπ¡¬µ¿∩ Flush óδºδóáÑΓß∩ ó ¬«¡µÑ óδ»«½¡Ñ¡¿∩  ¬áªñ«⌐  Σπ¡¬µ¿¿
  11143.         RÑád, Write, RÑádln ¿½¿ Writeln. Ä¡á ¼«ªÑΓ ΓᬪѠßíαáßδóáΓ∞ íπΣÑα
  11144.         ΓѬßΓ«ó«ú« Σá⌐½á.
  11145.  
  11146.              àß½¿ ó »«½Ñ î«dÑ ¡áσ«ñ¿Γß∩ fmInput,  Σπ¡¬µ¿∩ Flush ñ½∩ Γ«ú«,
  11147.         τΓ«íδ «Γíα«ß¿Γ∞ «ßΓáóΦ¿Ñß∩ (¡Ñßτ¿Γá¡¡δÑ) ß¿¼ó«½δ ó íπΣÑαÑ,  ¼«ªÑΓ
  11148.         ºá»¿ßáΓ∞ 0 ó BufPos ¿ BufEnd. ¥Γ« ßαÑñßΓó« ¿ß»«½∞ºπÑΓß∩ αÑñ¬«.
  11149.  
  11150.              àß½¿ ó »«½Ñ î«dÑ ¡áσ«ñ¿Γß∩ fnOutput,  Γ« Σπ¡¬µ¿∩ Flush ¼«ªÑΓ
  11151.         ºá»¿ßáΓ∞  ß«ñÑন¼«Ñ  íπΣÑαá,  ó  Γ«τ¡«ßΓ¿ Γᬿ¼ ªÑ «íαẫ¼,  ¬á¬
  11152.         Σπ¡¬µ¿∩ InOut. ¥Γ¿¼ «íÑß»Ñτ¿óáÑΓß∩,  τΓ« óδóÑñÑ¡¡δ⌐ ¡á πßΓα«⌐ßΓó«
  11153.         ΓѬßΓ  »«∩ó¿Γß∩  ¡á πßΓα«⌐ßΓóÑ ¡Ñ¼Ññ½Ñ¡¡«.  àß½¿ Σπ¡¬µ¿∩ Flush ¡Ñ
  11154.         óδ»«½¡∩ÑΓ ¡¿¬á¬¿σ ñÑ⌐ßΓó¿⌐, ΓѬßΓ ¡Ñ íπñÑΓ óδóÑñÑ¡ ¡á πßΓα«⌐ßΓó«,
  11155.         »«¬á íπΣÑα ¡Ñ ßΓá¡ÑΓ »«½¡δ¼, ¿½¿ Σá⌐½ ¡Ñ íπñÑΓ ºá¬αδΓ.
  11156.  
  11157.                                   öπ¡¬µ¿∩ Cl«sÑ
  11158.         ─────────────────────────────────────────────────────────────────
  11159.  
  11160.              öπ¡¬µ¿∩ Cl«sÑ óδºδóáÑΓß∩ ßΓá¡ñáαΓ¡«⌐  »α«µÑñπα«⌐  Cl«sÑ  ñ½∩
  11161.         ºá¬αδΓ¿∩  ßó∩ºá¡¡«ú«  ß πßΓα«⌐ßΓó«¼ ΓѬßΓ«ó«ú« Σá⌐½á.  (Åα«µÑñπαδ
  11162.         RÑsÑt,  RÑwritÑ,  AppÑnd ΓᬪѠóδºδóáεΓ Σπ¡¬µ¿ε Cl«sÑ, Ñß½¿ Σá⌐½,
  11163.         ¬«Γ«αδ⌐ «¡¿ «Γ¬αδóáεΓ, πªÑ íδ½ «Γ¬αδΓ.) àß½¿ ó »«½Ñ î«dÑ ¡áσ«ñ¿Γ-
  11164.         ß∩ fmOut,  Γ« »ÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿ Cl«sÑ Σá⌐½«óá∩ ß¿ßΓѼᠠÆπαí«
  11165.         Åá߬á½∩ «íαáΘáÑΓß∩ ¬ Σπ¡¬µ¿¿ InOut. ¥Γ« úáαá¡Γ¿απÑΓ óδó«ñ ¡á πßΓ-
  11166.         α«⌐ßΓó« óßÑσ ß¿¼ó«½«ó.
  11167.  
  11168.  
  11169.  
  11170.          B.Pascal 7 & Objects/LR     - 248 -
  11171.  
  11172. ───────────────────────────────────────────────────────────────────────
  11173.                    â½áóá 15. êß»«½∞º«óá¡¿Ñ ß«»α«µÑßß«αá 80x87
  11174.         ─────────────────────────────────────────────────────────────────
  11175.  
  11176.              é Borland Pascal óδ ¼«ªÑΓÑ αáí«ΓáΓ∞ ß ñóπ¼∩ Γ¿»á¼¿  τ¿ßѽ  -
  11177.         µÑ½δ¼¿ (¬«α«Γ¬¿¼¿ µÑ½δ¼¿ - Shortint,  µÑ½δ¼¿ - Integer,  ñ½¿¡¡δ¼¿
  11178.         µÑ½δ¼¿ - Longint,  µÑ½δ¼¿ ñ½¿¡«⌐ ó íá⌐Γ - Byte,  µÑ½δ¼¿ ñ½¿¡«⌐  ó
  11179.         ß½«ó« - Word) ¿ óÑΘÑßΓóÑ¡¡δ¼¿ (óÑΘÑßΓóÑ¡¡δ¼¿ - Real, óÑΘÑßΓóÑ¡¡δ-
  11180.         ¼¿ «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ¿ - Single,  óÑΘÑßΓóÑ¡¡δ¼¿ ñó«⌐¡«⌐ Γ«τ¡«ßΓ¿ -
  11181.         Double, »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ¿ - Extended, ß½«ª¡δ¼¿ - Comp). éÑΘÑßΓ-
  11182.         óÑ¡¡δÑ τ¿ß½á ¡áºδóáεΓ ΓᬪѠτ¿ß½á¼¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ (»½áóáεΘÑ⌐
  11183.         ºá»∩Γ«⌐). ä½∩ «í½ÑúτÑ¡¿∩ αáí«Γδ ß µÑ½δ¼¿ τ¿ß½á¼¿ ß«ºñá¡ »α«µÑßß«α
  11184.         8086,  ¡« ñ½∩ αáí«Γδ ß óÑΘÑßΓóÑ¡¡δ¼¿ τ¿ß½á¼¿ ¡á  φΓ«¼  »α«µÑßß«αÑ
  11185.         ºáΓαáτ¿óáÑΓß∩ ú«αáºñ« í«½∞ΦÑ óαѼѡ¿ ¿ πß¿½¿⌐. ä½∩ ßѼÑ⌐ßΓóá »α«-
  11186.         µÑßß«α«ó 8086 »αÑñ¡áº¡áτÑ¡« ß««ΓóÑΓßΓóπεΘÑÑ  ßѼÑ⌐ßΓó«  óß»«¼«úá-
  11187.         Γѽ∞¡δσ  ß»Ñµ¿á½¿º¿α«óá¡¡δσ »α«µÑßß«α«ó ñ½∩ ¼áΓѼáΓ¿τÑ߬¿σ óδτ¿ß-
  11188.         ½Ñ¡¿⌐ (ß«»α«µÑßß«α«ó) 80x87.
  11189.  
  11190.              Åα«µÑßß«α 80x87 - φΓ« ß»Ñµ¿á½∞¡δ⌐ ß«»α«µÑßß«α ñ½∩  «íαáí«Γ¬¿
  11191.         τ¿ßѽ, ¬«Γ«αδ⌐ ¼«ªÑΓ óσ«ñ¿Γ∞ ó ß«ßΓáó óáΦÑú« ¬«¼»∞εΓÑαá Éæ. æ »«-
  11192.         ¼«Θ∞ε ¡Ñú« «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ óδ»«½¡∩εΓß∩ «τÑ¡∞  íδßΓα«.
  11193.         Å«φΓ«¼π Ñß½¿ óδ ß«í¿αáÑΓÑß∞ ¿ß»«½∞º«óáΓ∞ í«½∞Φ«⌐ «íΩѼ óδτ¿ß½Ñ¡¿⌐
  11194.         ß »½áóáεΘÑ⌐ Γ«τ¬«⌐, Γ« óá¼, óÑα«∩Γ¡«, »«¡áñ«í¿Γß∩ ß«»α«µÑßß«α.
  11195.  
  11196.              Borland Pascal »«ßΓα«Ñ¡ Γᬿ¼ «íαẫ¼,  τΓ« «¡  «íÑß»Ñτ¿óáÑΓ
  11197.         «»Γ¿¼á½∞¡«Ñ  óδ»«½¡Ñ¡¿Ñ «»Ñαᵿ⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¡Ñºáó¿ß¿¼« «Γ
  11198.         ¡á½¿τ¿∩ ß«»α«µÑßß«αá 80x87.
  11199.  
  11200.              * ä½∩ »α«úαá¼¼,  αáí«ΓáεΘ¿σ ¡á ¬«¼»∞εΓÑαÑ Éæ,  ¡Ñºáó¿ß¿¼« «Γ
  11201.                Γ«ú«,  «ß¡áΘÑ¡  «¡ ß«»α«µÑßß«α«¼ 80x87 ¿½¿ ¡ÑΓ,  ó Borland
  11202.                Pascal »αÑñπß¼«ΓαÑ¡« ¿ß»«½∞º«óá¡¿Ñ  óÑΘÑßΓóÑ¡¡δσ  τ¿ßѽ  ¿
  11203.                ß««ΓóÑΓßΓóπεΘá∩ í¿í½¿«ΓѬᠻα«úαá¼¼, ¬«Γ«αδÑ »αÑñ¡áº¡áτÑ¡δ
  11204.                ñ½∩ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.  ù¿ß½á óÑΘÑßΓ-
  11205.                óÑ¡¡«ú« Γ¿»á ºá¡¿¼áεΓ 6 íá⌐Γ »á¼∩Γ¿.  Åα¿ φΓ«¼ «íÑß»Ñτ¿óá-
  11206.                ÑΓß∩ »αÑñßΓáó½Ñ¡¿Ñ τ¿ßѽ  ó  ñ¿á»áº«¡Ñ  «Γ  2.9σ10^-39  ñ«
  11207.                1.7σ10^38 ß 11-12 º¡áτáΘ¿¼¿ µ¿ΣαἿ. Åα«úαá¼¼δ ó í¿í½¿«ΓÑ-
  11208.                ¬Ñ »α«úαá¼¼ ñ½∩ αáí«Γδ ß »½áóáεΘÑ⌐  Γ«τ¬«⌐  «»Γ¿¼¿º¿α«óá¡δ
  11209.                »«  ß¬«α«ßΓ¿  ¿  »«  αẼÑαπ  ¿  ¿ß»«½∞ºπεΓ ßá¼δÑ ¡«óÑ⌐Φ¿Ñ
  11210.                ßαÑñßΓóá »α«µÑßß«αá 80x87.
  11211.  
  11212.              * àß½¿ óδ »¿ΦÑΓÑ »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘ¿Ñß∩ Γ«½∞¬« ¡á ¬«¼»∞-
  11213.                εΓÑαáσ,  «ß¡áΘÑ¡¡δσ ß«»α«µÑßß«α«¼ 80x87, Γ« óδ ¼«ªÑΓÑ π¬á-
  11214.                ºáΓ∞ Borland Pascal ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ »«½πτÑ¡¿∩ óδ»«½¡∩Ѽ«-
  11215.                ú«  ¬«ñá,  ó  ¬«Γ«α«¼ ¿ß»«½∞ºπÑΓß∩ »½áΓá »α«µÑßß«αá 80x87.
  11216.                ¥Γ« ñáßΓ óἠ󫺼«ª¡«ßΓ∞  ¿ß»«½∞º«óá¡¿∩  τÑΓδαÑσ  ñ«»«½¡¿-
  11217.                Γѽ∞¡δσ Γ¿»«ó óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ («ñ¿¡áα¡«⌐ ¿ ñó«⌐¡«⌐ Γ«τ-
  11218.                ¡«ßΓ¿,  »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ¿,  ß½«ª¡«ú« Γ¿»á) ¿ αáßΦ¿αÑ¡¡δ⌐
  11219.                ñ¿á»áº«¡  »αÑñßΓáó½Ñ¡¿∩  τ¿ßѽ  ß  »½áóáεΘÑ⌐  Γ«τ¬«⌐  - «Γ
  11220.                1.9σ10^-4951 ñ« 1,1σ10^4943 ß 19-20 º¡áτáΘ¿¼¿ µ¿ΣαἿ.
  11221.  
  11222.              æ »«¼«Θ∞ε  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá  $N  ¿½¿  »áαá¼ÑΓαá   ¼Ñ¡ε
  11223.         Options│C«mpiler  (Åáαá¼ÑΓαδ│諼»¿½∩Γ«α) 80x87/80287 ¼«ª¡« »ÑαѬ-
  11224.         ½ετáΓ∞ß∩ ¼Ñªñπ αẽ¿τ¡δ¼¿ ¼«ñѽ∩¼¿  úÑ¡Ñαᵿ¿  ¬«ñá  ß  »½áóáεΘÑ⌐
  11225.         Γ«τ¬«⌐. Å« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ ß«ßΓ«∩¡¿Ñ {$N-}. é φΓ«¼ ß«ßΓ«∩-
  11226.  
  11227.          B.Pascal 7 & Objects/LR     - 249 -
  11228.  
  11229.         ¡¿¿ ¬«¼»¿½∩Γ«α ¿ß»«½∞ºπÑΓ 6-íá⌐Γ«óπε í¿í½¿«ΓѬπ ß »½áóáεΘÑ⌐  Γ«τ-
  11230.         ¬«⌐, τΓ« »«ºó«½∩ÑΓ óá¼ αáí«ΓáΓ∞ Γ«½∞¬« ß »ÑαѼѡ¡δ¼¿ Γ¿»á Real. é
  11231.         ß«ßΓ«∩¡¿¿ {$N+} ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ¬«ñ ñ½∩ ß«»α«µÑßß«αá 80x87,
  11232.         τΓ«  ñáÑΓ óá¼ ñ«»«½¡¿Γѽ∞¡πε Γ«τ¡«ßΓ∞ ¿ ñ«ßΓπ» ¬ 4 ñ«»«½¡¿Γѽ∞¡δ¼
  11233.         óÑΘÑßΓóÑ¡¡δ¼ Γ¿»á¼.
  11234.  
  11235.              é Windows »α¿ ¬«¼»¿½∩µ¿¿ ß αѪ¿¼«¼  τ¿ß½«ó«⌐  «íαáí«Γ¬¿,  Γ«
  11236.         ÑßΓ∞  ß  ñ¿αÑ¬Γ¿ó«⌐ {$N+},  πíÑñ¿ΓÑß∞,  τΓ« ó óáΦÑ⌐ ß¿ßΓѼѠ¼«ª¡«
  11237.         ¡á⌐Γ¿ í¿í½¿«ΓѬπ φ¼π½∩µ¿¿ Windows 8087 - WIN87EM.DLL. ¥Γá í¿í½¿«-
  11238.         ΓѬᠠ «íÑß»Ñτ¿óáÑΓ  ¡Ñ«íσ«ñ¿¼δ⌐  ¿¡ΓÑαΣÑ⌐ß  ¼Ñªñπ  ß«»α«µÑßß«α«¼
  11239.         80σ87,  Windows ¿ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐.  àß½¿  ß«»α«µÑßß«α
  11240.         80σ87 ó óáΦÑ⌐ ß¿ßΓѼѠ«ΓßπΓßΓóπÑΓ,  Γ« í¿í½¿«ΓѬá WIN87EM.DLL íπ-
  11241.         ñÑΓ φ¼π½¿α«óáΓ∞ Ñú« »α«úαá¼¼¡«.  ¥¼π½∩µ¿∩  ßπΘÑßΓóÑ¡¡«  ºá¼Ññ½∩ÑΓ
  11242.         αáí«Γπ »« ßαáó¡Ñ¡¿ε ß αÑá½∞¡δ¼ ß«»α«µÑßß«α«¼ 80σ87,  ¡« «íÑß»Ñτ¿-
  11243.         óáÑΓ óδ»«½¡Ñ¡¿Ñ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¡á ½εí«⌐ ¼áΦ¿¡Ñ.
  11244.  
  11245.              é αÑá½∞¡«¼ ¿½¿ ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS,  ñáªÑ Ñß½¿ π  óáß  ¡ÑΓ
  11246.         ß«»α«µÑßß«αá  8087,  óδ ¼«ªÑΓÑ π¬áºáΓ∞ Borland Pascal,  τΓ« ¡πª¡«
  11247.         ó¬½ετ¿Γ∞ í¿í½¿«ΓѬπ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ,  ¬«Γ«αá∩ φ¼π½¿απÑΓ áα¿Σ-
  11248.         ¼ÑΓ¿τÑ߬¿⌐  ß«»α«µÑßß«α 8087.  é ß½πτáÑ ¡á½¿τ¿∩ ß«»α«µÑßß«αá 8087
  11249.         «¡ ¿ß»«½∞ºπÑΓß∩.  àß½¿ ß«»α«µÑßß«α «ΓßπΓßΓóπÑΓ, Ñú« αáí«Γá φ¼π½¿-
  11250.         απÑΓß∩  í¿í½¿«ΓѬ«⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ (ºá ßτÑΓ ¡Ñ¬«Γ«α«⌐ »«ΓÑα¿
  11251.         ß¬«α«ßΓ¿ αáí«Γδ »α«úαá¼¼δ).
  11252.  
  11253.              ä½∩ αáºαÑΦÑ¡¿∩ ¿ ºá»αÑΘÑ¡¿∩ φ¼π½∩µ¿¿ ß«»α«µÑßß«αá  8087  ¿ß-
  11254.         »«½∞ºπεΓß∩ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E ¿ »áαá¼ÑΓα Emulation  (¥¼π½∩-
  11255.         µ¿∩)  ¼Ñ¡ε Options│Compiler (Åáαá¼ÑΓαδ│諼»¿½∩Γ«α).  Å« π¼«½τá¡¿ε
  11256.         ¿ß»«½∞ºπÑΓß∩ ß«ßΓ«∩¡¿Ñ {$E+}.  é φΓ«¼ ß«ßΓ«∩¡¿¿ ó »α«úαá¼¼π áóΓ«-
  11257.         ¼áΓ¿τÑ߬¿ ó¬½ετáÑΓß∩ »«½¡á∩ φ¼π½∩µ¿∩ ß«»α«µÑßß«αá 8087. é ß«ßΓ«∩-
  11258.         ¡¿¿ {$E-} ¿ß»«½∞ºπÑΓß∩ ßπΘÑßΓóÑ¡¡«  ¼Ñ¡∞Φá∩  τáßΓ∞  í¿í½¿«ΓѬ¿  ß
  11259.         »½áóáεΘÑ⌐ Γ«τ¬«⌐, á »«½πτÑ¡¡δ⌐ ó αѺπ½∞ΓáΓÑ Σá⌐½ .EXE íπñÑΓ αáí«-
  11260.         ΓáΓ∞ Γ«½∞¬« ¡á ¼áΦ¿¡áσ ß ß«»α«µÑßß«α«¼ 8087.
  11261.  
  11262.              é »α¿½«ªÑ¡¿¿  Windows ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E ¡Ñ ñÑ⌐ßΓóπÑΓ.
  11263.         ìÑ ñÑ⌐ßΓóπÑΓ «¡á ΓᬪѠ󠼫ñπ½Ñ.  ü«½ÑÑ Γ«ú«, Ñß½¿ »α«úαἼᠬ«¼-
  11264.         »¿½¿α«óá½áß∞ ß ñ¿αÑ¬Γ¿ó«⌐ {$N-},  á óßÑ ¼«ñπ½¿ »α«úαá¼¼δ ¬«¼»¿½¿-
  11265.         α«ó὿ß∞ ß ñ¿αÑ¬Γ¿ó«⌐ {$N+},  Γ« í¿í½¿«ΓѬᠠ¿ß»«½¡∩εΘÑ⌐  ß¿ßΓѼδ
  11266.         ñ½∩  ß«»α«µÑßß«αá  8087 ¡Ñ ΓαÑíπÑΓß∩,  ¿ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E
  11267.         ¿ú¡«α¿απÑΓß∩.
  11268.  
  11269.              Åਪ½áñ¡«⌐ »α«úαἼѠWindows ¡Ñ ΓαÑíπÑΓß∩ í¿í½¿«ΓѬᠠ¿ß»«½-
  11270.         ¡∩εΘÑ⌐ ß¿ßΓѼδ 80x87. é¼ÑßΓ« φΓ«ú« Ñ⌐ ¡πª¡« »«ññÑনóáεΘá∩ í¿í½¿-
  11271.         «ΓѬá WIN87EM.DLL,  »«ßΓáó½∩Ѽá∩ ß Windows,  ¬«Γ«αá∩ «íÑß»Ñτ¿óáÑΓ
  11272.         ¡Ñ«íσ«ñ¿¼δ⌐ ¿¡ΓÑαΣÑ⌐ß ¼Ñªñπ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐,  Windows
  11273.         ¿ ß«»α«µÑßß«α«¼.  Æá¬¿¼ «íαẫ¼, ó Windows ñáªÑ »α¿ ¡á½¿τ¿¿ ó óá-
  11274.         ΦÑ⌐ ß¿ßΓѼѠ߫»α«µÑßß«αá 80σ87 ñ½∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼, ß¬«¼»¿½¿-
  11275.         α«óá¡¡δσ ó ß«ßΓ«∩¡¿¿ {$N+}, ñ«½ª¡á »α¿ßπΓßΓó«óáΓ∞ í¿í½¿«ΓѬá φ¼π-
  11276.         ½∩µ¿¿ WIN87EM.DLL  (ñá¡¡á∩  í¿í½¿«ΓѬá - φΓ« τáßΓ∞ Windows,  á ¡Ñ
  11277.         Borland Pascal).  Åα¿ «ΓßπΓßΓó¿¿ ß«»α«µÑßß«αá  WIN87EM.DLL  íπñÑΓ
  11278.         φ¼π½¿α«óáΓ∞ Ñú« «»Ñαᵿ¿ »α«úαá¼¼¡δ¼ »πΓѼ,  τΓ« ºá¼Ññ½∩ÑΓ óδ»«½-
  11279.         ¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ ¡Ñ úáαá¡Γ¿απÑΓ,  τΓ«  ¿ß»«½∞ºπεΘá∩  ß«»α«µÑßß«α
  11280.         80x87 »α«úαá¼¼á ß¼«ªÑΓ αáí«ΓáΓ∞ ¡á ½εí«⌐ ¼áΦ¿¡Ñ.
  11281.  
  11282.  
  11283.          B.Pascal 7 & Objects/LR     - 250 -
  11284.  
  11285.              è«úñá óδ ºá»π߬áÑΓÑ »α¿¬½áñ¡πε »α«úαá¼¼π Windows,  c¬«¼»¿½¿-
  11286.         α«óá¡¡πε ó ß«ßΓ«∩¡¿¿ {$N+}, πíÑñ¿ΓÑß∞, τΓ« «¡á ¼«ªÑΓ ¡á⌐Γ¿ ó ß¿ß-
  11287.         ΓѼѠΣá⌐½ WIN87EM.DLL.
  11288.  
  11289.              è«úñá óδ óδ»«½¡∩ÑΓÑ ¬«¼»¿½∩µ¿ε ó αѪ¿¼Ñ ¬«ñá 80σ87 (ñ¿αÑ¬Γ¿-
  11290.         óá {$N+}),  Γ« ó«ºóαáΘáѼδÑ »«ñ»α«úαá¼¼δ ¼«ñπ½∩ SystѼ (Sqrt, Éi,
  11291.         Sin ¿ Γ.ñ.) º¡áτÑ¡¿∩ »αÑñßΓáó½∩εΓ ß«í«⌐ ¡Ñ óÑΘÑßΓóÑ¡¡δÑ τ¿ß½á,  á
  11292.         τ¿ß½á Γ¿»á Extended (ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε).
  11293.  
  11294.                {$N+}
  11295.  
  11296.                begin
  11297.                  Writeln(Pi);                 { 3.14159265358979E+0000 }
  11298.                end.
  11299.  
  11300.                {$N-}
  11301.  
  11302.                begin
  11303.                  Writeln(Pi);                 { 3.1415926536E+00 }
  11304.                end.
  11305.  
  11306.              é «ßΓáóΦÑ⌐ß∩ τáßΓ¿ ñá¡¡«⌐ ú½áóδ «íßπªñáεΓß∩ ß»Ñµ¿á½∞¡δÑ ó«»-
  11307.         α«ßδ,  ¬áßáεΘ¿Ñß∩  ¿ß»«½∞º«óá¡¿∩  »α«µÑßß«αá  80x87  ó »α«úαá¼¼áσ
  11308.         Borland Pascal.
  11309.  
  11310.  
  11311.  
  11312.          B.Pascal 7 & Objects/LR     - 251 -
  11313.  
  11314.                           Æ¿»δ ñá¡¡δσ »α«µÑßß«αá 80x87
  11315.         ─────────────────────────────────────────────────────────────────
  11316.  
  11317.              é ñ«»«½¡Ñ¡¿Ñ ¬ óÑΘÑßΓóÑ¡¡«¼π Γ¿»π ñ½∩ »α«úαá¼¼, ¿ß»«½∞ºπεΘ¿σ
  11318.         ßαÑñßΓóá »α«µÑßß«αá 80x87, »αÑñπß¼áΓα¿óáÑΓß∩ τÑΓδαÑ ¡«óδσ óÑΘÑßΓ-
  11319.         óÑ¡¡«ú« Γ¿»á:
  11320.  
  11321.              1.  Æ¿» ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε Single,  »αÑñßΓáó½∩εΘ¿⌐  ß«í«⌐
  11322.                  ¡á¿¼Ñ¡∞Φ¿⌐  Σ«α¼áΓ,  ¬«Γ«αδ⌐  óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ñ½∩
  11323.                  τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.  Ä¡ ºá¡¿¼áÑΓ  4  íá⌐Γá  »á¼∩Γ¿
  11324.                  «íÑß»Ñτ¿óáÑΓ  ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ «Γ 1.5σ10^-45
  11325.                  ñ« 3.4σ10^48 ß 7-8 º¡áτáΘ¿¼¿ µ¿ΣαἿ.
  11326.  
  11327.              2.  Æ¿» ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε Double, ºá¡¿¼áεΘ¿⌐ 8 íá⌐Γ »á¼∩Γ¿
  11328.                  ¿  «íÑß»Ñτ¿óáεΘ¿⌐  »αÑñßΓáó½Ñ¡¿Ñ  τ¿ßѽ  ó  ñ¿á»áº«¡Ñ «Γ
  11329.                  5.0σ10^-334 ñ« 1.7σ10^308 ß 15-16 º¡áτáΘ¿¼¿ µ¿ΣαἿ.
  11330.  
  11331.              3.  Æ¿» ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε Extended  »αÑñßΓáó½∩ÑΓ  ß«í«⌐
  11332.                  ¡á¿í«½∞Φ¿⌐  Σ«α¼áΓ »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ ß »½áóáεΘÑ⌐ ºá»∩-
  11333.                  Γ«⌐,  «íÑß»Ñτ¿óáѼδ⌐ »α«µÑßß«α«¼ 8087.  Ä¡  ºá¡¿¼áÑΓ  10
  11334.                  íá⌐Γ »á¼∩Γ¿ ¿ «íÑß»Ñτ¿óáÑΓ ñ¿á»áº«¡  »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ
  11335.                  «Γ  1.9σ10^-4952 ñ« 1.1σ10^4932 ß 19-20 º¡áτáΘ¿¼¿ µ¿Σαá-
  11336.                  ¼¿.  ïεíδÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿,  ó ¬«Γ«αδσ πτáßΓóπεΓ
  11337.                  τ¿ß½á óÑΘÑßΓóÑ¡¡«ú« Γ¿»á, óδ»«½¡∩εΓß∩ ß Γ«τ¡«ßΓ∞ε ¿ ñ¿á-
  11338.                  »áº«¡«¼ »αÑñßΓáó½Ñ¡¿∩,  ß««ΓóÑΓßΓóπεΘ¿¼¿ Γ¿»π ß »«óδΦÑ¡-
  11339.                  ¡«⌐ Γ«τ¡«ßΓ∞ε.
  11340.  
  11341.              4.  ù¿ß½á ß½«ª¡«ú« Γ¿»á Comp ¿ß»«½∞ºπεΓß∩ ñ½∩ »αÑñóáα¿Γѽ∞¡«
  11342.                  «íΩÑñ¿¡Ñ¡¡δσ º¡áτÑ¡¿⌐ ó 8 íá⌐Γáσ »á¼∩Γ¿, «íÑß»Ñτ¿óá∩ »α¿
  11343.                  φΓ«¼ ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ «Γ -2^63+1  ñ«  2^63-1,  τΓ«
  11344.                  ß«ßΓáó½∩ÑΓ  »α¿í½¿º¿Γѽ∞¡«  «Γ  -9.2σ10^18 ñ« 9.2σ10^18.
  11345.                  æ½«ª¡δ⌐ Γ¿» ¼«ª¡« ßαáó¡¿Γ∞ ß ñ½¿¡¡δ¼ µÑ½δ¼ Γ¿»«¼  (ñó«⌐-
  11346.                  ¡á∩ Γ«τ¡«ßΓ∞),  ¡« «¡ ßτ¿ΓáÑΓß∩ óÑΘÑßΓóÑ¡¡δ¼ Γ¿»«¼, »«ß-
  11347.                  ¬«½∞¬π »α¿ «»Ñαᵿ∩σ ß τ¿ß½á¼¿ φΓ«ú«  Γ¿»á  ¿ß»«½∞ºπÑΓß∩
  11348.                  ß«»α«µÑßß«α 8087. æ½«ª¡δ⌐ Γ¿» σ«α«Φ« »«ñσ«ñ¿Γ ñ½∩ »αÑñß-
  11349.                  Γáó½Ñ¡¿∩ º¡áτÑ¡¿⌐ ñѡѪ¡δσ Ññ¿¡¿µ,  »αÑñßΓáó½∩εΘ¿σ ß«í«⌐
  11350.                  ß«Γ¡¿  ¿ Γδß∩τ¿,  ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ó »α¿¬½áñ¡δ󠬫¼-
  11351.                  ¼ÑατÑ߬¿σ »α«úαá¼¼áσ.
  11352.  
  11353.              ìѺáó¿ß¿¼« «Γ Γ«ú«,  ¿ß»«½∞ºπÑΓÑ óδ  ß«»α«µÑßß«α  80x87  ¿½¿
  11354.         ¡ÑΓ,  6-í¿Γ«óδ⌐ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ∩ó½∩ÑΓß∩ ñ«»πßΓ¿¼δ¼. Æá¬¿¼ «íαá-
  11355.         º«¼, »α¿ »ÑαÑσ«ñÑ ¬ ¿ß»«½∞º«óá¡¿ε ß«»α«µÑßß«αá 80 x87 óá¼ ¡Ñ »«Γ-
  11356.         αÑíπÑΓß∩ ¿º¼Ñ¡∩Γ∞ ¿ßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ, ¿ óδ ¼«ªÑΓÑ ¿ß»«½∞º«-
  11357.         óáΓ∞ Σá⌐½δ ñá¡¡δσ,  ß«ºñá¡¡δÑ  »α«úαἼἿ,  ¬«Γ«αδÑ  αáí«ΓáεΓ  ß
  11358.         »α«úαá¼¼¡« «íÑß»Ñτ¿óáÑ¼δ¼¿ «»Ñαᵿ∩¼¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
  11359.  
  11360.              ÄΓ¼ÑΓ¿¼, «ñ¡á¬«, τΓ« á»»áαáΓ¡δÑ óδτ¿ß½Ñ¡¿∩ ß »ÑαѼѡ¡δ¼¿ óÑ-
  11361.         ΘÑßΓóÑ¡¡«ú« Γ¿»á óδ»«½¡∩εΓß∩ ¡Ñ߬«½∞¬« ¼Ññ½Ñ¡¡ÑÑ,  τѼ ß »ÑαѼѡ-
  11362.         ¡δ¼¿  ñαπú«ú« Γ¿»á.  ¥Γ« ßó∩ºá¡« ß ΓѼ,  τΓ« ß«»α«µÑßß«α 80x87 ¡Ñ
  11363.         ¼«ªÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡« «íαáíáΓδóáΓ∞  óÑΘÑßΓóÑ¡¡δ⌐  Σ«α¼áΓ.  é¼ÑßΓ«
  11364.         φΓ«ú«,  »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ «»Ñαᵿ⌐, ñ½∩ »αÑ«íαẫóá¡¿∩ óÑΘÑßΓóÑ¡-
  11365.         ¡δσ º¡áτÑ¡¿⌐ ó τ¿ß½á ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ΓαÑíπεΓß∩ «íαáΘÑ¡¿∩ ¬
  11366.         í¿í½¿«ΓÑτ¡δ¼  »α«úαá¼¼á¼.  àß½¿  óδ ºá¿¡ΓÑαÑß«óá¡δ ó ¼á¬ß¿¼á½∞¡«⌐
  11367.  
  11368.          B.Pascal 7 & Objects/LR     - 252 -
  11369.  
  11370.         ß¬«α«ßΓ¿ óδ»«½¡Ñ¡¿∩ ¿ ¡Ñ ß«í¿αáÑΓÑß∞ ¿ß»«½∞º«óáΓ∞ ßó«ε  »α«úαá¼¼π
  11371.         ¡á  ß¿ßΓѼáσ íѺ ß«»α«µÑßß«αá 80x87,  Γ« ó«º¼«ª¡« óδ ºáσ«Γ¿ΓÑ ¿ß-
  11372.         »«½∞º«óáΓ∞ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ß «ñ¿¡áα¡«⌐  Γ«τ¡«ßΓ∞ε,  óÑΘÑßΓóÑ¡¡δ⌐
  11373.         Γ¿» ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε,  óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
  11374.         ¿ ß½«ª¡δ⌐ Γ¿»δ ∩ó¡δ¼ «íαẫ¼.
  11375.  
  11376.                  Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
  11377.         ─────────────────────────────────────────────────────────────────
  11378.  
  11379.              Åα¿ ¿ß»«½∞º«óá¡¿¿  ß«»α«µÑßß«αá  80x87 Γ¿» ß »«óδΦÑ¡¡«⌐ Γ«τ-
  11380.         ¡«ßΓ∞ε Extended ∩ó½∩ÑΓß∩ «ß¡«ó«⌐ óßÑσ «»Ñαᵿ⌐ ß  »½áóáεΘÑ⌐  Γ«τ-
  11381.         ¬«⌐.  é Æπαí« Åá߬á½Ñ Γ¿» ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿ß»«½∞ºπÑΓß∩ ñ½∩
  11382.         »αÑñßΓáó½Ñ¡¿∩ óßÑσ ¡ÑµÑ½δσ τ¿ß½«óδ󠬫¡ßΓá¡Γ,  á ΓᬪѠ»α¿ óδτ¿ß-
  11383.         ½Ñ¡¿¿ óßÑσ óδαáªÑ¡¿⌐ ¡ÑµÑ½«ú« Γ¿»á.  ìá»α¿¼Ñα, ó ß½ÑñπεΘ¿σ «»Ñαá-
  11384.         µ¿∩σ »α¿ßóá¿óá¡¿∩ óßÑ »αáóδÑ τáßΓ¿ óδαáªÑ¡¿⌐  íπñπΓ  óδτ¿ß½∩Γ∞ß∩,
  11385.         ¬á¬ óδαáªÑ¡¿∩ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε, á ºáΓѼ ¿σ Γ¿» íπñÑΓ »αÑ«í-
  11386.         αẫóá¡ ¬ Γ¿»π ß««ΓóÑΓßΓóπεΘÑ⌐ ½Ñó«⌐ τáßΓ¿:
  11387.  
  11388.               {$N+}
  11389.               var
  11390.                 X, AA, B, C : real;
  11391.               begin
  11392.                 X := (B + Sqrt(B*B - A*C))/A;
  11393.               end;
  11394.  
  11395.              Borland Pascal óδ»«½¡∩ÑΓ óδτ¿ß½Ñ¡¿∩ ß Γ«τ¡«ßΓ∞ε ¿ ñ¿á»áº«¡«¼
  11396.         »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ,  ß««ΓóÑΓßΓóπεΘ¿¼¿  Γ¿»π  ß  »«óδΦÑ¡¡«⌐  Γ«τ-
  11397.         ¡«ßΓ∞ε,  íѺ  ñ«»«½¡¿Γѽ∞¡δσ πß¿½¿⌐ »α«úαá¼¼¿ßΓá.  ä«»«½¡¿Γѽ∞¡á∩
  11398.         Γ«τ¡«ßΓ∞ »α¿ó«ñ¿Γ ¬ ¼Ñ¡∞Φ¿¼ «Φ¿í¬á¼ «¬απú½Ñ¡¿∩,  á ñ«»«½¡¿Γѽ∞¡δ⌐
  11399.         ñ¿á»áº«¡ «º¡áτáÑΓ,  τΓ« ß¿Γπᵿ¿ »ÑαÑ»«½¡Ñ¡¿∩ ¿ »«ΓÑα¿ º¡áτ¿¼«ßΓ¿
  11400.         íπñπΓ óßΓαÑτáΓ∞ß∩ ó »α«úαá¼¼áσ αѪÑ.
  11401.  
  11402.              éδ ¼«ªÑΓÑ «í«⌐Γ¿ß∞ ¿ íѺ ñ«»«½¡¿Γѽ∞¡δσ áóΓ«¼áΓ¿τÑ߬¿σ  ó«º-
  11403.         ¼«ª¡«ßΓÑ⌐ óδτ¿ß½Ñ¡¿⌐ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε Borland Pascal.  ìá»-
  11404.         α¿¼Ñα,  «»¿ßáΓ∞ »ÑαѼѡ¡δÑ,  ¿ß»«½∞ºπεΘ¿Ñß∩ ñ½∩ »α«¼ÑªπΓ«τ¡δσ óδ-
  11405.         τ¿ß½Ñ¡¿⌐, ¬á¬ »ÑαѼѡ¡δÑ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε. é ß½ÑñπεΘѼ »α¿-
  11406.         ¼ÑαÑ óδτ¿ß½∩ÑΓß∩ ßπ¼¼á »α«¿ºóÑñÑ¡¿⌐:
  11407.  
  11408.              var
  11409.                Sm : single;
  11410.                X,Y array[1..100] of single;
  11411.                I : integer;
  11412.                T : extended;            { ñ½∩ »α«¼ÑªπΓ«τ¡δσ αѺπ½∞ΓáΓ«ó }
  11413.              begin
  11414.                T := 0.0;
  11415.                for I := 1 to 100 do T := T + X[I] * Y[I]
  11416.                Sum := T;
  11417.              end;
  11418.  
  11419.              àß½¿ íδ »ÑαѼѡ¡á∩ T íδ½á «»¿ßá¡á,  ¬á¬ »ÑαѼѡ¡á∩ ß «ñ¿¡áα-
  11420.         ¡«⌐ Γ«τ¡«ßΓ∞ε,  Γ« »α¿ ¬áªñ«¼ µ¿¬½Ñ «»Ñαᵿ¿ »α¿ßóá¿óá¡¿∩ ñ½∩ »Ñ-
  11421.         αѼѡ¡«⌐  T í뫨 íδ óδ»«½¡Ñ¡δ ß «Φ¿í¬«⌐ «¬απú½Ñ¡¿∩ ¿ «úαá¡¿τÑ¡¿∩-
  11422.         ¼¿, ß««ΓóÑΓßΓóπεΘ¿¼¿ «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ¿. ì«, »«ß¬«½∞¬π »ÑαѼѡ¡á∩
  11423.  
  11424.          B.Pascal 7 & Objects/LR     - 253 -
  11425.  
  11426.         T  ∩ó½∩ÑΓß∩ »ÑαѼѡ¡«⌐ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε,  Γ« óßÑ «Φ¿í¬¿ «¬-
  11427.         απú½Ñ¡¿∩ (¬α«¼Ñ «»Ñαᵿ¿, »α¿ ¬«Γ«α«⌐ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ T »α¿ß-
  11428.         óá¿óáÑΓß∩ »ÑαѼѡ¡«⌐ Su¼) ¿¼ÑεΓ «úαá¡¿τÑ¡¿∩,  ß««ΓóÑΓßΓóπεΘ¿Ñ »«-
  11429.         óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ¿.  îÑ¡∞Φ¿Ñ «Φ¿í¬¿ «¬απú½Ñ¡¿∩ «º¡áτáεΓ í«½ÑÑ Γ«τ-
  11430.         ¡δ⌐ αѺπ½∞ΓáΓ.
  11431.  
  11432.              ä½∩ º¡áτÑ¡¿⌐  Σ«α¼á½∞¡δσ  »áαá¼ÑΓα«ó ¿ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ óδ
  11433.         ΓᬪѠ¼«ªÑΓÑ ºáñáΓ∞ »«óδΦÑ¡¡πε Γ«τ¡«ßΓ∞. ¥Γ« »«¼«ªÑΓ ¿ºíѪáΓ∞ ¡Ñ-
  11434.         ¡πª¡δσ »αÑ«íαẫóá¡¿⌐ Γ¿»«ó τ¿ßѽ,  »α¿ó«ñ∩Θ¿σ ¬ »«ΓÑαÑ Γ«τ¡«ßΓ¿.
  11435.         ìá»α¿¼Ñα:
  11436.  
  11437.              function Area(Radius: extended): extended;
  11438.              begin
  11439.                Area := Pi * Radius * Radius;
  11440.              end;
  11441.  
  11442.                           æαáó¡Ñ¡¿Ñ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ
  11443.         ─────────────────────────────────────────────────────────────────
  11444.  
  11445.              Å«ß¬«½∞¬π º¡áτÑ¡¿∩ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ∩ó½∩εΓß∩ »α¿í½¿º¿Γѽ∞-
  11446.         ¡δ¼¿,  αѺπ½∞ΓáΓ ßαáó¡Ñ¡¿∩ º¡áτÑ¡¿⌐ αẽ¿τ¡«ú« óÑΘÑßΓóÑ¡¡«ú« Γ¿»á
  11447.         ¡Ñ  óßÑúñá ¼«ª¡« »αÑñ߬áºáΓ∞.  ìá»α¿¼Ñα,  Ñß½¿ ò - »ÑαѼѡ¡á∩ óÑ-
  11448.         ΘÑßΓóÑ¡¡«ú« Γ¿»á ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε,  á Y - »ÑαѼѡ¡á∩ óÑΘÑßΓ-
  11449.         óÑ¡¡«ú« Γ¿»á ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε,  Γ« αѺπ½∞ΓáΓ«¼ óδ»«½¡Ñ¡¿∩ ß½Ñ-
  11450.         ñπεΘ¿σ «»ÑαáΓ«α«ó íπñÑΓ º¡áτÑ¡¿Ñ False:
  11451.  
  11452.              X := 1/3;
  11453.              Y := 1/3;
  11454.              Writeln(X = Y);
  11455.  
  11456.              Åα¿τ¿¡á φΓ«ú« ß«ßΓ«¿Γ ó Γ«¼,  τΓ« ò ¿¼ÑÑΓ Γ«τ¡«ßΓ∞ Γ«½∞¬« ñ«
  11457.         7-8 µ¿Σα, á Y - Γ«τ¡«ßΓ∞ ñ« 15-16 µ¿Σα, ¿ ¬«úñá «íá º¡áτÑ¡¿∩ »αÑ-
  11458.         «íαáºπεΓß∩ ¬ Γ¿»π ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε,  Γ«  »«ß½Ñ  »Ñαóδσ  7-8
  11459.         µ¿Σα «ßΓá½∞¡δÑ µ¿Σαδ íπñπΓ αẽ¿τáΓ∞ß∩.  Ç¡á½«ú¿τ¡«,  αѺπ½∞ΓáΓ«¼
  11460.         óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó:
  11461.  
  11462.              X := 1/3;
  11463.              Writeln(X = 1/3);
  11464.  
  11465.         íπñÑΓ º¡áτÑ¡¿Ñ False,  αѺπ½∞ΓáΓ 1/3 ó «»ÑαáΓ«αÑ Writeln óδτ¿ß½∩-
  11466.         ÑΓß∩ ß Γ«τ¡«ßΓ∞ε ñ« 20 º¡áτáΘ¿σ µ¿Σα.
  11467.  
  11468.  
  11469.                        æΓѬ óδτ¿ß½Ñ¡¿⌐ ß«»α«µÑßß«αá 80x87
  11470.         ─────────────────────────────────────────────────────────────────
  11471.  
  11472.              ô ß«»α«µÑßß«αá 80x87 ¿¼ÑÑΓß∩ ó¡πΓαÑ¡¡¿⌐ ßΓѬ óδτ¿ß½Ñ¡¿⌐, ¬«-
  11473.         Γ«αδ⌐  ¼«ªÑΓ íδΓ∞ ú½πí¿¡«⌐ ñ« ó«ß∞¼¿ πα«ó¡Ñ⌐.  ä«ßΓπ» ¬ º¡áτÑ¡¿ε,
  11474.         ¡áσ«ñ∩ΘѼπß∩ ó ßΓѬѠ߫»α«µÑßß«αá  80x87  «ßπΘÑßΓó½∩ÑΓß∩  ¡á¼¡«ú«
  11475.         íδßΓαÑÑ, τѼ ñ«ßΓπ» ¬ »ÑαѼѡ¡«⌐ ó »á¼∩Γ¿, »«φΓ«¼π ñ½∩ ñ«ßΓ¿ªÑ¡¿∩
  11476.         ¼á¬ß¿¼á½∞¡« ó«º¼«ª¡«⌐ »α«¿ºó«ñ¿Γѽ∞¡«ßΓ¿ ó Borland  Pascal  ó¡πΓ-
  11477.         αÑ¡¡¿⌐  ßΓѬ ß«»α«µÑßß«αá 80x87 ¿ß»«½∞ºπÑΓß∩ ñ½∩ σαá¡Ñ¡¿∩ óαѼѡ-
  11478.         ¡δσ αѺπ½∞ΓáΓ«ó ¿ ñ½∩ »ÑαÑñáτ¿ »áαá¼ÑΓα«ó »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼.
  11479.  
  11480.          B.Pascal 7 & Objects/LR     - 254 -
  11481.  
  11482.  
  11483.              ÆÑ«αÑΓ¿τÑ߬¿, ß½¿Φ¬«¼ ß½«ª¡δÑ óδαáªÑ¡¿∩  óÑΘÑßΓóÑ¡¡«ú«  Γ¿»á
  11484.         ¼«úπΓ óδºóáΓ∞ »ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá ß«»α«µÑßß«αá 80x87. Äñ¡á¬« φΓ«ú«
  11485.         ¡Ñ ¼«ªÑΓ ß½πτ¿Γ∞ß∩, »«ß¬«½∞¬π ñ½∩ φΓ«ú« »«ΓαÑí«óὫß∞ íδ, τΓ«íδ ó
  11486.         óδαáªÑ¡¿¿ »«½πτὫß∞ í«½ÑÑ ó«ß∞¼¿ »α«¼ÑªπΓ«τ¡δσ αѺπ½∞ΓáΓ«ó.
  11487.  
  11488.              ü«½ÑÑ óÑß«¼á∩ «»áß¡«ßΓ∞ Γá¿Γß∩ ó« ó½«ªÑ¡¡δσ ó맮óáσ Σπ¡¬µ¿⌐.
  11489.         àß½¿ ΓᬿѠ¬«¡ßΓαπ¬µ¿¿ ß«ßΓáó½Ñ¡δ ¡Ñ¬«ααÑ¬Γ¡«, Γ« «¡¿, ó»«½¡Ñ óÑ-
  11490.         α«∩Γ¡«, ¼«úπΓ »α¿óÑßΓ¿ ¬ »ÑαÑ»«½¡Ñ¡¿ε ßΓѬá ß«»α«µÑßß«αá 80x87.
  11491.  
  11492.              Éáßß¼«Γα¿¼, ß½ÑñπεΘπε Σπ¡¬µ¿ε,  ó ¬«Γ«α«⌐ ß »«¼«Θ∞ε αѬπαß¿¿
  11493.         óδτ¿ß½∩εΓß∩ τ¿ß½á ö¿í«¡áττ¿:
  11494.  
  11495.              function Fib(N: integer): extended;
  11496.              begin
  11497.                if N = 0 then
  11498.                   Fib := 0.0
  11499.                else
  11500.                  if N = 1 then
  11501.                     Fib := 1.0
  11502.                  else
  11503.                Fib := Fib(N-1) + Fib(N-2);
  11504.              end;
  11505.  
  11506.              ÄíαáΘÑ¡¿Ñ ¬  ñá¡¡«⌐ óÑαß¿¿ »α«µÑñπαδ Fib »α¿óÑñÑΓ ¬ »ÑαÑ»«½-
  11507.         ¡Ñ¡¿ε ßΓѬá ß«»α«µÑßß«αá 80x87, Γᬠ¬á¬ º¡áτÑ¡¿⌐ N í«½∞ΦÑ, τѼ 8.
  11508.         Åα¿τ¿¡á  ºá¬½ετáÑΓß∩  ó Γ«¼,  τΓ« »«ß½Ññ¡¿⌐ «»ÑαáΓ«α »α¿ßóá¿óá¡¿∩
  11509.         ΓαÑíπÑΓ óαѼѡ¡«ú« ß«σαá¡Ñ¡¿∩ αѺπ½∞ΓáΓá óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ Fib
  11510.         (N-1)  ó  ßΓѬѠ߫»α«µÑßß«αá 80x87.  èáªñ«Ñ αѬπαß¿ó¡«Ñ «íαáΘÑ¡¿Ñ
  11511.         óδñѽ∩ÑΓß∩ «ñ¡á ∩τÑ⌐¬á ßΓѬᠿ ¡á  ñÑó∩Γ«¼  «íαáΘÑ¡¿¿  »α«¿º«⌐ñÑΓ
  11512.         »ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá. è«ααÑ¬Γ¡«⌐ ¬«¡ßΓαπ¬µ¿Ñ⌐ ó φΓ«¼ ß½πτáÑ íπñÑΓ:
  11513.  
  11514.              function Fib(N : integer) : extended;
  11515.              var
  11516.                F1,F2 : Extended;
  11517.              begin
  11518.                if N = 0 then
  11519.                       Fib := 0.0
  11520.                   else
  11521.                     if N = 1
  11522.                        then Fib := 1.0
  11523.                     else
  11524.                       begin
  11525.                          F1 := Fib(N-1); F2 := Fib(N-2);
  11526.                          Fib := F1 + F2;
  11527.                       end;
  11528.              end;
  11529.  
  11530.              éαѼѡ¡δÑ αѺπ½∞ΓáΓδ  ΓÑ»Ñα∞  ß«σαá¡∩εΓß∩ ó »ÑαѼѡ¡δσ,  ñ½∩
  11531.         ¬«Γ«αδσ «Γó«ñ¿Γß∩ ßΓѬ »α«µÑßß«αá 8086. (æΓѬ »α«µÑßß«αá 8086 ¬«-
  11532.         ¡Ñτ¡«  Γ«ªÑ  ¼«ªÑΓ  »ÑαÑ»«½¡¿Γ∞ß∩,  ¡« φΓ« «íδτ¡« ΓαÑíπÑΓ ú«αáºñ«
  11533.         í«½∞ΦÑú« τ¿ß½á αѬπαß¿ó¡δσ ó맮ó«ó).
  11534.  
  11535.  
  11536.          B.Pascal 7 & Objects/LR     - 255 -
  11537.  
  11538.                             çỿß∞ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ
  11539.                       »α¿ ¿ß»«½∞º«óá¡¿¿ ß«»α«µÑßß«αá 80x87
  11540.         ─────────────────────────────────────────────────────────────────
  11541.  
  11542.              àß½¿ íδ½á π¬áºá¡á ñ¿αÑ¬Γ¿óá {$N+},  Γ« ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ
  11543.         Write ¿ Writeln, τΓ«íδ «íÑß»Ñτ¿Γ∞ »αÑñßΓáó½Ñ¡¿Ñ ó αáßΦ¿αÑ¡¡«¼ ñ¿-
  11544.         á»áº«¡Ñ,  óδó«ñ∩Γ ó ßΓα«¬Ñ ß ñÑß∩Γ¿τ¡δ¼¿ τ¿ß½á¼¿ ß »½áóáεΘÑ⌐ Γ«τ-
  11545.         ¬«⌐ τÑΓδαÑ µ¿Σαδ ñ½∩ »«¬áºáΓѽ∩ ßΓѻѡ¿ ó¼ÑßΓ« ñóπσ.  Ç¡á½«ú¿τ¡«,
  11546.         ßΓá¡ñáαΓ¡á∩ »α«µÑñπαá Str »α¿ óδí«αÑ Σ«α¼áΓá ß  »½áóáεΘÑ⌐  Γ«τ¬«⌐
  11547.         ó«ºóαáΘáÑΓ  º¡áτÑ¡¿Ñ  »«¬áºáΓѽ∩  ßΓѻѡ¿,  ß«ßΓ«∩ΘÑÑ  ¿º τÑΓδαÑσ
  11548.         µ¿Σα.
  11549.  
  11550.  
  11551.                 î«ñπ½¿, ó ¬«Γ«αδσ ¿ß»«½∞ºπÑΓß∩ ß«»α«µÑßß«α 80x87
  11552.         ─────────────────────────────────────────────────────────────────
  11553.  
  11554.              î«ñπ½¿, ó ¬«Γ«αδσ ¿ß»«½∞ºπÑΓß∩ ß«»α«µÑßß«α 80x87,  ¼«úπΓ óδ-
  11555.         ºδóáΓ∞ß∩ ñαπú¿¼¿ ¼«ñπ½∩¼¿ ¿½¿ »α«úαἼἿ Γ«½∞¬«  ó  Γ«¼  ß½πτáÑ,
  11556.         Ñß½¿  φΓ¿  ¼«ñπ½¿  ¿½¿ »α«úαá¼¼δ í뫨 ß¬«¼»¿½¿α«óá¡δ ß ñ¿αÑ¬Γ¿ó«⌐
  11557.         {$N+}.  Æ«, τΓ« ¼«ñπ½∞ ¿ß»«½∞ºπÑΓ ß«»α«µÑßß«α 80x87, «»αÑñѽ∩ÑΓß∩
  11558.         ¡á½¿τ¿Ñ¼ ó ¡Ñ¼ ¿¡ßΓαπ¬µ¿⌐ ß«»α«µÑßß«αá 80x87,  á ¡Ñ ñ¿αÑ¬Γ¿ó«⌐ $N
  11559.         ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.  ¥Γ« »«ºó«½∩ÑΓ ¬«¼»¿½∩Γ«απ íδΓ∞ í«½ÑÑ "ß¡¿ß-
  11560.         σ«ñ¿Γѽ∞¡δ¼",  ¬«úñá  óδ  ß½πτá⌐¡« ¬«¼»¿½¿απÑΓÑ ¼«ñπ½∞ (ó ¬«Γ«α«¼
  11561.         ¿ß»«½∞ºπÑΓß∩ ß«»α«µÑßß«α 80x87), ¡Ñ π¬áºáó ñ¿αÑ¬Γ¿óπ {$N+}.
  11562.  
  11563.              è«úñá óδ óδ»«½¡∩ÑΓÑ ¬«¼»¿½∩µ¿ε ó αѪ¿¼Ñ ¬«ñá 80σ87 (ñ¿αÑ¬Γ¿-
  11564.         óá  {$N+}),  Γ«  ó«ºóαáΘáѼδÑ »«ñ»α«úαἼἿ ¼«ñπ½∩ SystѼ (Sqrt,
  11565.         Éi,  Sin ¿ Γ.ñ.) º¡áτÑ¡¿∩ »αÑñßΓáó½∩εΓ ß«í«⌐ ¡Ñ óÑΘÑßΓóÑ¡¡δÑ τ¿ß-
  11566.         ½á, á τ¿ß½á Γ¿»á Extended (ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε).
  11567.  
  11568.  
  11569.  
  11570.  
  11571.          B.Pascal 7 & Objects/LR     - 256 -
  11572.  
  11573.                 Éáß»«º¡áóá¡¿Ñ ß«»α«µÑßß«αá 80σ87 ó »α«úαá¼¼áσ DOS
  11574.         ─────────────────────────────────────────────────────────────────
  11575.  
  11576.              êß»«½¡∩εΘá∩ í¿í½¿«ΓѬá Borland  Pascal,  óßΓα«Ñ¡¡á∩  ó  óáΦπ
  11577.         »α«úαá¼¼π  (߬«¼»¿½¿α«óá¡¡πε  ß ñ¿αÑ¬Γ¿ó«⌐ {$N+}) ó¬½ετáÑΓ ó ßÑí∩
  11578.         ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿,  ¬«Γ«αδ⌐ áóΓ«¼áΓ¿τÑ߬¿  αáß»«º¡áÑΓ  ¡á½¿τ¿Ñ  ó
  11579.         ß¿ßΓѼѠ¼¿¬α«ßσѼδ ß«»α«µÑßß«αá 8087.  àß½¿ ß«»α«µÑßß«α 8087 ¿¼Ñ-
  11580.         ÑΓß∩, Γ« »α«úαá¼¼á íπñÑΓ Ñú« áóΓ«¼áΓ¿τÑ߬¿ ¿ß»«½∞º«óáΓ∞. é ß½πτáÑ
  11581.         ªÑ Ñú« «ΓßπΓßΓó¿∩ »α«úαá¼¼á íπñÑΓ ¿ß»«½∞º«óáΓ∞ φ¼π½¿απεΘπε í¿í½¿-
  11582.         «ΓѬπ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ.  àß½¿ »α«úαἼᠬ«¼»¿½¿α«óá½áß∞ ß  ñ¿-
  11583.         αÑ¬Γ¿ó«⌐ {$E-} ¿ »« óαѼ∩ ¡áτá½á ÑÑ αáí«Γδ ß«»α«µÑßß«α ¡Ñ «í¡áαπ-
  11584.         ª¿óáÑΓß∩,  Γ« »α«úαἼᠺáóÑαΦáÑΓ  αáí«Γπ  ß  ß««íΘÑ¡¿Ñ¼  Numeric
  11585.         coprocessor  required  ("ÆαÑíπÑΓß∩ ß«»α«µÑßß«α áα¿Σ¼ÑΓ¿τÑ߬¿σ óδ-
  11586.         τ¿ß½Ñ¡¿⌐").
  11587.  
  11588.              àßΓ∞ ¡Ñ߬«½∞¬« ß½πτáÑó,  ¬«úñá óδ ó«º¼«ª¡« ºáσ«Γ¿ΓÑ ¿º¼Ñ¡¿Γ∞
  11589.         Γá¬πε »α¿¡∩Γπε  »«  π¼«½τá¡¿ε  ½«ú¿¬π áóΓ«¼áΓ¿τÑ߬«ú« «í¡áαπªÑ¡¿∩
  11590.         ß«»α«µÑßß«αá. ìá»α¿¼Ñα, ó óáΦÑ⌐ ß¿ßΓѼѠ¼«ªÑΓ »α¿ßπΓßΓó«óáΓ∞ ß«»-
  11591.         α«µÑßß«α 8087, ¡« óδ ºáσ«Γ¿ΓÑ »α«óÑα¿Γ∞, ¬á¬ íπñÑΓ αáí«ΓáΓ∞ »α«ú-
  11592.         αá¼¼á,  »αÑñ¡áº¡áτÑ¡¡á∩ ñ½∩ Σπ¡¬µ¿«¡¿α«óá¡¿∩ ¡á ß¿ßΓѼáσ íѺ ß«»-
  11593.         α«µÑßß«αá.   ê½¿  ªÑ  »«ΓαÑíπÑΓß∩  ºá»πßΓ¿Γ∞  óáΦπ  »α«úαá¼¼π  ¡á
  11594.         ß¿ßΓѼÑ, ß«ó¼ÑßΓ¿¼«⌐ ß ¬«¼»∞εΓÑα«¼ Éæ, ¡« ¡á φΓ«⌐ ß¿ßΓѼѠ»α¿ αá-
  11595.         í«ΓÑ  á½ú«α¿Γ¼á áóΓ««í¡áαπªÑ¡¿∩ íπñÑΓ óδó«ñ¿Γ∞ß∩ ¡Ñ¬«ααÑ¬Γ¡á∩ ¿¡-
  11596.         Σ«α¼áµ¿∩ (¡á»α¿¼Ñα, íπñÑΓ ß««íΘáΓ∞ß∩ « ¡á½¿τ¿Ñ ß«»α«µÑßß«αá, ¬«ú-
  11597.         ñá ¡á ßἫ¼ ñѽѠÑú« ¡ÑΓ, ¿½¿ ¡á«í«α«Γ).
  11598.  
  11599.              é Borland  Pascal  »αÑñπß¼«ΓαÑ¡á ó«º¼«ª¡«ßΓ∞ «Γ¼Ñ¡δ »α¿¡∩Γ«⌐
  11600.         »« π¼«½τá¡¿ε ½«ú¿¬¿ áóΓ«¼áΓ¿τÑ߬«ú«  αáß»«º¡áóá¡¿∩.  ¥Γᠠ󫺼«ª-
  11601.         ¡«ßΓ∞ ºáñáÑΓß∩ »ÑαѼѡ¡«⌐ «»Ñαᵿ«¡¡«⌐ ßαÑñδ 87.
  11602.  
  11603.              éδ ¼«ªÑΓÑ  πßΓá¡«ó¿Γ∞ »ÑαѼѡ¡πε «»Ñαᵿ«¡¡«⌐ ßαÑñδ 87 ó «Γ-
  11604.         óÑΓ ¡á »«ñ߬Ậπ DOS ß »«¼«Θ∞ε ¬«¼á¡ñδ SET,  ¡á»α¿¼Ñα,  ß½ÑñπεΘ¿¼
  11605.         «íαẫ¼:
  11606.  
  11607.              SET 87=Y
  11608.         ¿½¿
  11609.              SET 87=N
  11610.  
  11611.              ôßΓá¡«ó¬á ñ½∩  »ÑαѼѡ¡«⌐  «»Ñαᵿ«¡¡«⌐  ßαÑñδ 87 º¡áτÑ¡¿∩ N
  11612.         (ìÑΓ) π¬áºδóáÑΓ ¬«ñπ ¿¡¿µ¿á½¿ºáµ¿¿, τΓ« óδ ¡Ñ σ«Γ¿ΓÑ ¿ß»«½∞º«óáΓ∞
  11613.         ß«»α«µÑßß«α 8087, σ«Γ∩ «¡ ¼«ªÑΓ ¿ »α¿ßπΓßΓó«óáΓ∞ ó ß¿ßΓѼÑ. ê ¡á-
  11614.         «í«α«Γ: πßΓá¡«ó¬á ñ½∩ »ÑαѼѡ¡«⌐ 87 º¡áτÑ¡¿∩ Y (äá) «º¡áτáÑΓ, τΓ«
  11615.         ß«»α«µÑßß«α ¿¼ÑÑΓß∩,  ¿ óδ σ«Γ¿ΓÑ,  τΓ«íδ óáΦá »α«úαá¼¼á Ñú«  ¿ß-
  11616.         »«½∞º«óá½á.  Äñ¡á¬«  »α¿ φΓ«¼ ¡πª¡« »«¼¡¿Γ∞ « Γ«¼,  τΓ« πßΓá¡«ó¬á
  11617.         ñ½∩ »ÑαѼѡ¡«⌐ 87 º¡áτÑ¡¿∩ Y »α¿ «ΓßπΓßΓó¿¿ ó ß¿ßΓѼѠ߫»α«µÑßß«-
  11618.         αá 8087 »α¿óÑñÑΓ ¬ Γ«¼π, τΓ« óáΦá »α«úαá¼¼á áóáα¿⌐¡« ºáóÑαΦ¿Γ αá-
  11619.         í«Γπ ¿½¿ "ºáó¿ß¡ÑΓ".
  11620.  
  11621.              àß½¿ »ÑαѼѡ¡á∩ «»Ñαᵿ«¡¡«⌐ ßαÑñδ 87 «»αÑñѽѡá, á óδ σ«Γ¿-
  11622.         ΓÑ,  τΓ«íδ «¡á ßΓá½á ¡Ñ«»αÑñѽѡ¡«⌐,  Γ« ¼«ª¡« óóÑßΓ¿ ó «ΓóÑΓ  ¡á
  11623.         »«ñ߬Ậπ DOS:
  11624.  
  11625.              SET 87=
  11626.  
  11627.          B.Pascal 7 & Objects/LR     - 257 -
  11628.  
  11629.  
  11630.         ¿ ¡áªáΓ∞ ¬½áó¿Φπ Enter.
  11631.  
  11632.              àß½¿ ó  «»Ñαᵿ«¡¡«⌐ ßαÑñÑ DOS »α¿ßπΓßΓóπÑΓ ºá»¿ß∞ 87=Y, ¿½¿
  11633.         Ñß½¿ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿ πß»ÑΦ¡« αáß»«º¡áÑΓ ß«»α«µÑßß«α,  Γ«  ñá½ÑÑ
  11634.         ¬«ñ  ¿¡¿µ¿á½¿ºáµ¿¿ óδ»«½¡∩ÑΓ »«ß½ÑñπεΘ¿Ñ »α«óÑન,  τΓ«íδ «»αÑñÑ-
  11635.         ½¿Γ∞,  ¬á¬«⌐ φΓ« ß«»α«µÑßß«α (8087, 80287 ¿½¿ 80387). ¥Γ« ¡Ñ«íσ«-
  11636.         ñ¿¼«  ñ½∩ Γ«ú«,  τΓ«íδ Æπαí« Åá߬á½∞ ¼«ú ¬«ααÑ¬Γ¡« αáí«ΓáΓ∞ ß «Γ-
  11637.         ñѽ∞¡δ¼¿ ¡Ñß«ó¼ÑßΓ¿¼«ßΓ∩¼¿,  ¬«Γ«αδÑ ¿¼ÑεΓß∩ ¼Ñªñπ ß«»α«µÑßß«αἿ
  11638.         αẽ¿τ¡δσ Γ¿»«ó.
  11639.  
  11640.              ÉѺπ½∞ΓáΓ áóΓ«¼áΓ¿τÑ߬«ú« αáß»«º¡áóá¡¿∩ ¡á½¿τ¿∩ ß«»α«µÑßß«αá
  11641.         ¿ Ñú« ¼«ñѽ¿ ß«σαá¡∩ÑΓß∩ ó »ÑαѼѡ¡«⌐ Test8087 (¬«Γ«αá∩  «»¿ßδóá-
  11642.         ÑΓß∩ ó ¼«ñπ½Ñ System). ä½∩ ¡ÑÑ «»αÑñѽѡδ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
  11643.  
  11644.                ┌──────────────┬────────────────────────────────┐
  11645.                │  ç¡áτÑ¡¿Ñ    │   Ä»αÑñѽѡ¿Ñ                  │
  11646.                ├──────────────┼────────────────────────────────┤
  11647.                │       0      │   ß«»α«µÑßß«α ¡Ñ «í¡áαπªÑ¡     │
  11648.                │       1      │   «í¡áαπªÑ¡ ß«»α«µÑßß«α 8087   │
  11649.                │       2      │   «í¡áαπªÑ¡ ß«»α«µÑßß«α 80287  │
  11650.                │       3      │   «í¡áαπªÑ¡ ß«»α«µÑßß«α 80387  │
  11651.                └──────────────┴────────────────────────────────┘
  11652.  
  11653.              ùΓ«íδ «»αÑñѽ¿Γ∞ σáαá¬ΓÑα¿ßΓ¿¬¿ ß¿ßΓѼδ, ¡á ¬«Γ«α«⌐ αáí«ΓáÑΓ
  11654.         óáΦá »α«úαá¼¼á,  óδ ¼«ªÑΓÑ ó »α«úαἼѠ»α«óÑα¿Γ∞ ß«ñÑন¼«Ñ »ÑαÑ-
  11655.         ¼Ñ¡¡«⌐ Test8087.  é τáßΓ¡«ßΓ¿, φΓπ »ÑαѼѡ¡πε ¼«ª¡« »α«á¡á½¿º¿α«-
  11656.         óáΓ∞ ñ½∩ Γ«ú«,  τΓ«íδ «»αÑñѽ¿Γ∞, φ¼π½¿απεΓß∩ ¿¡ßΓαπ¬µ¿¿ αáí«Γδ ß
  11657.         »½áóáεΘÑ⌐ Γ«τ¬«⌐, ¿½¿ «¡¿ ñÑ⌐ßΓó¿Γѽ∞¡« óδ»«½¡∩εΓß∩.
  11658.  
  11659.  
  11660.               Éáß»«º¡áóá¡¿Ñ ß«»α«µÑßß«αá 80x87 ó »α«úαἼѠWindows
  11661.         ─────────────────────────────────────────────────────────────────
  11662.  
  11663.              Ä»Ñαᵿ«¡¡á∩ ßαÑñá Windows ¿ í¿í½¿«ΓѬá φ¼π½∩µ¿¿ WIN87EM.DLL
  11664.         áóΓ«¼áΓ¿τÑ߬¿  αáß»«º¡áÑΓ  ¡á½¿τ¿Ñ  ó  ß¿ßΓѼѠ»½áΓδ ß«»α«µÑßß«αá
  11665.         80x87. àß½¿ ß«»α«µÑßß«α 80x87 ¿¼ÑÑΓß∩, Γ« »α«úαá¼¼á íπñÑΓ Ñú« áó-
  11666.         Γ«¼áΓ¿τÑ߬¿  ¿ß»«½∞º«óáΓ∞.  é  ß½πτáÑ ªÑ Ñú« «ΓßπΓßΓó¿∩ »α«úαá¼¼á
  11667.         íπñÑΓ ¿ß»«½∞º«óáΓ∞ φ¼π½∩µ¿ε ß »«¼«Θ∞ε WIn87EM.DLL.  ùΓ«íδ «»αÑñÑ-
  11668.         ½¿Γ∞ ¡á½¿τ¿Ñ ó ß¿ßΓѼѠ߫»α«µÑßß«αá 80σ87, óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞
  11669.         Σπ¡¬µ¿ε GetWinFlags (¬«Γ«αá∩ «»αÑñѽѡá ó ¼«ñπ½Ñ WinProcs) ¿  í¿-
  11670.         Γ«óπε ¼á߬π wf_80x87 («»αÑñѽѡ¡πε ó ¼«ñπ½Ñ WinTypes). ìá»α¿¼Ñα:
  11671.  
  11672.              if GetWinFlags and wf_80x87 <> 0 then
  11673.                  Writeln('80x87 »α¿ßπΓßΓóπÑΓ') else
  11674.                  Writeln('80x87 «ΓßπΓßΓóπÑΓ');
  11675.  
  11676.  
  11677.  
  11678.  
  11679.          B.Pascal 7 & Objects/LR     - 258 -
  11680.  
  11681.                              êß»«½∞º«óá¡¿Ñ φ¼π½∩µ¿¿
  11682.                      ß«»α«µÑßß«αá 80x87 ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
  11683.         ─────────────────────────────────────────────────────────────────
  11684.  
  11685.              è«úñá ¬«¼»«¡«ó¬á «íΩÑ¬Γ¡δσ Σá⌐½«ó óδ»«½¡∩ÑΓß∩  ß  ñ¿αÑ¬Γ¿ó«⌐
  11686.         {$L ¿¼∩_Σá⌐½á}, ¡Ñ«íσ«ñ¿¼« «íÑß»Ñτ¿Γ∞, τΓ«íδ φΓ¿ Σá⌐½δ ¬«¼»¿½¿α«-
  11687.         óáΓ∞ ß αáºαÑΦÑ¡¿Ñ¼ φ¼π½∩µ¿¿ ß«»α«µÑßß«αá 80x87. ìá»α¿¼Ñα, Ñß½¿ óδ
  11688.         ¿ß»«½∞ºπÑΓÑ ¿¡ßΓαπ¬µ¿¿ ß«»α«µÑßß«αá 80x87 ó«  ó¡ÑΦ¡¿σ  »α«µÑñπαáσ
  11689.         ¡á ∩ºδ¬Ñ áßßѼí½Ñαá,  ¡Ñ«íσ«ñ¿¼« πíÑñ¿Γ∞ß∩, τΓ« »α¿ áßßÑ¼í½¿α«óá-
  11690.         ¡¿¿ Σá⌐½«ó .ASM ó Σá⌐½δ .OBJ φ¼π½∩µ¿∩ αáºαÑΦÑ¡á. é »α«Γ¿ó¡«¼ ß½π-
  11691.         τáÑ ¿¡ßΓαπ¬µ¿¿ ß«»α«µÑßß«αá 80x87 ¡Ñ ¼«úπΓ φ¼π½¿α«óáΓ∞ß∩ ¡á ¼áΦ¿-
  11692.         ¡áσ íѺ ß«»α«µÑßß«αá 80x87.  ä½∩ αáºαÑΦÑ¡¿∩ φ¼π½∩µ¿¿  ¿ß»«½∞ºπ⌐ΓÑ
  11693.         »áαá¼ÑΓα ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ Æπαí« ÇßßѼí½Ñαá /E.
  11694.  
  11695.  
  11696.  
  11697.          B.Pascal 7 & Objects/LR     - 259 -
  11698.  
  11699. ───────────────────────────────────────────────────────────────────────
  11700.                               â½áóá 16. î«ñπ½∞ D«s
  11701.         ─────────────────────────────────────────────────────────────────
  11702.  
  11703.              æ »«¼«Θ∞ε ¼«ñπ½Ñ⌐ Dos ¿ WinDos αÑ὿ºπÑΓß∩ µÑ½δ⌐  α∩ñ  »α«ú-
  11704.         αá¼¼ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿ »α«úαá¼¼ «íαáí«Γ¬¿ Σá⌐½«ó. ì¿ «ñ¡á ¿º
  11705.         »α«úαá¼¼ ¼«ñπ½∩ Dos ¡Ñ «»αÑñѽѡá ó ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ,  »«φΓ«¼π
  11706.         «¡¿ »«¼ÑΘáεΓß∩ ó «Γñѽ∞¡δ⌐ ¼«ñπ½∞.
  11707.  
  11708.              ü«½ÑÑ »«½¡«Ñ  «»¿ßá¡¿Ñ «»Ñαᵿ⌐ DOS »α¿óÑñÑ¡« ó απ¬«ó«ñßΓóáσ
  11709.         »« DOS Σ¿α¼δ IBM.
  11710.  
  11711.              Äß¡«ó¡«Ñ αẽ¿τ¿Ñ ¼«ñπ½Ñ⌐ Dos ¿ WinDos ß«ßΓ«¿Γ  ó  Γ«¼,  τΓ«
  11712.         »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Dos ¿ß»«½∞ºπεΓ ßΓá¡ñáαΓ¡δÑ ßΓ᫬¿ Åáß-
  11713.         ¬á½∩, á »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos - ßΓ᫬¿ ß  ºáóÑαΦáεΘ¿¼
  11714.         ¡π½Ñ¼. æΓá¡ñáαΓ¡á∩  ßΓα«¬á  Åá߬á½∩ - φΓ« íá⌐Γ ñ½¿¡δ,  ºá ¬«Γ«αδ¼
  11715.         ß½ÑñπÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó. æΓ᫬á ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ -
  11716.         φΓ« »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  ¡Ñ¡π½Ñóδσ ß¿¼ó«½«ó ß ºáóÑαΦáεΘ¿¼ ß¿¼ó«½«¼
  11717.         NULL (#0).
  11718.  
  11719.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ « αẽ¿τ¿¿ φΓ¿σ ßΓ᫬  αáß߬áºδ-
  11720.               óáÑΓß∩ ó â½áóÑ 18.
  11721.  
  11722.              àß½¿ óδ αáºαáíáΓδóáÑΓÑ Γ«½∞¬« »α«úαá¼¼δ Windows, ¿ß»«½∞ºπ⌐ΓÑ
  11723.         ¼«ñπ½∞ WinDos.
  11724.  
  11725.              àß½¿ óδ αáºαáíáΓδóáÑΓÑ Γ«½∞¬« »α«úαá¼¼δ DOS,  Γ«  ªÑ½áΓѽ∞¡«
  11726.         »«½∞º«óáΓ∞ß∩ ó »α«úαá¼¼áσ ¼«ñπ½Ñ¼ Dos,  Γᬠ¬á¬ í«½∞Φ¿¡ßΓó« »α«ú-
  11727.         αá¼¼ Åá߬á½∩ Γαáñ¿µ¿«¡¡« αáí«ΓáεΓ ß«  ßΓα«¬á¼¿  Åá߬á½∩.  Äñ¡á¬«,
  11728.         Ñß½¿ óδ  αáºαáíáΓδóáÑΓÑ  »α¿½«ªÑ¡¿∩ ñ½∩ ßαÑñδ Windows,  Γ« ¼«ªÑΓÑ
  11729.         ¡á»¿ßáΓ∞ »α«úαá¼¼π,  ¿ß»«½∞ºπѼπε ó  «íÑ¿σ  »½áΓΣ«α¼áσ  -  DOS  ¿
  11730.         Windows, »α¿¼Ñ¡∩∩ ñ½∩ φΓ«ú« ¼«ñπ½¿ WinDos ¿ Strings. Windows ΓαÑ-
  11731.         íπÑΓ ¿ß»«½∞º«óá¡¿∩ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼  ¡π½Ñ¼.  éδ  ¼«ªÑΓÑ  ΓᬪÑ
  11732.         ó«ß»«½∞º«óáΓ∞ß∩ ñá¡¡δ¼¿ ¼«ñπ½∩¼¿, Ñß½¿ π óáß ÑßΓ∞ Σá⌐½ ñá¡¡δσ æ¿,
  11733.         ¿ óδ σ«Γ¿ΓÑ Ñú« ¬«¡óÑαΓ¿α«óáΓ∞.  é ∩ºδ¬Ñ æ¿ ¿ß»«½∞ºπεΓß∩ ßΓ᫬¿ ß
  11734.         ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼.
  11735.  
  11736.  
  11737.  
  11738.          B.Pascal 7 & Objects/LR     - 260 -
  11739.  
  11740.                          Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Dos
  11741.         ─────────────────────────────────────────────────────────────────
  11742.  
  11743.              ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Dos.  ùΓ«íδ  ¿ß-
  11744.         »«½∞º«óáΓ∞ ¿σ, óδ ñ«½ª¡δ ßßδ½áΓ∞ß∩ ¡á ¼«ñπ½∞ Dos ß »«¼«Θ∞ε «»Ñαá-
  11745.         Γ«αá »α«úαá¼¼δ uses.  æ¼. ΓᬪѠâ½áóπ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓÑ-
  11746.         ¬Ñ") ó "Éπ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá".
  11747.  
  11748.                      Åα«µÑñπαδ ñ½∩ αáí«Γδ ß ñáΓ«⌐ ¿ óαѼѡѼ
  11749.         ┌──────────────────┬────────────────────────────────────────────┐
  11750.         │     Åα«µÑñπαá    │        Ä»¿ßá¡¿Ñ                            │
  11751.         ├──────────────────┼────────────────────────────────────────────┤
  11752.         │   GetDate        │ é«ºóαáΘáÑΓ ΓѬπΘπε  ñáΓπ,  πßΓá¡«ó½Ñ¡¡πε  ó│
  11753.         │                  │ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ.                      │
  11754.         ├──────────────────┼────────────────────────────────────────────┤
  11755.         │   GetFTime       │ é«ºóαáΘáÑΓ ñáΓπ  ¿  óαѼ∩  »«ß½Ññ¡Ñ⌐ ºá»¿ß¿│
  11756.         │                  │ Σá⌐½á.                                     │
  11757.         ├──────────────────┼────────────────────────────────────────────┤
  11758.         │   GetTi¼Ñ        │ é«ºóαáΘáÑΓ ΓѬπΘÑÑ óαѼ∩,  πßΓá¡«ó½Ñ¡¡«Ñ  ó│
  11759.         │                  │ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ.                      │
  11760.         ├──────────────────┼────────────────────────────────────────────┤
  11761.         │   ÉackTi¼Ñ       │ ÅαÑ«íαáºπÑΓ ºá»¿ß∞ DateTi¼Ñ ó τÑΓδαÑσíá⌐Γ«-│
  11762.         │                  │ ó«Ñ  π»á¬«óá¡¡«Ñ  ß¿¼ó«½∞¡«Ñ  »αÑñßΓáó½Ñ¡¿Ñ│
  11763.         │                  │ ñáΓδ ¿ óαѼѡ¿ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á,  ¬«Γ«-│
  11764.         │                  │ α«Ñ ¿ß»«½∞ºπÑΓß∩ ó »α«µÑñπαÑ  SetTi¼Ñ. Å«½∩│
  11765.         │                  │ ºá»¿ß¿  DateTi¼Ñ ¡Ñ »α«óÑα∩εΓß∩ ¡á ñ«»πßΓ¿-│
  11766.         │                  │ ¼«ßΓ∞ úαá¡¿µ.                              │
  11767.         ├──────────────────┼────────────────────────────────────────────┤
  11768.         │   SetDate        │ ôßΓá¡áó½¿óáÑΓ ñ½∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ  ΓÑ-│
  11769.         │                  │ ¬πΘπε ñáΓπ.                                │
  11770.         ├──────────────────┼────────────────────────────────────────────┤
  11771.         │   SetFTi¼Ñ       │ ôßΓá¡áó½¿óáÑΓ óαѼ∩ ¿ ñáΓπ »«ß½Ññ¡Ñ⌐ ºá»¿ß¿│
  11772.         │                  │ Σá⌐½á.                                     │
  11773.         ├──────────────────┼────────────────────────────────────────────┤
  11774.         │   SetTi¼Ñ        │ ôßΓá¡áó½¿óáÑΓ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠ ΓѬπ-│
  11775.         │                  │ ΘÑÑ óαѼ∩.                                 │
  11776.         ├──────────────────┼────────────────────────────────────────────┤
  11777.         │   UnpackTi¼Ñ     │ ÅαÑ«íαáºπÑΓ τÑΓδαÑσíá⌐Γ«ó«Ñ     π»á¬«óá¡¡«⌐│
  11778.         │                  │ ß¿¼ó«½∞¡«Ñ  »αÑñßΓáó½Ñ¡¿Ñ  ñáΓδ  ¿  óαѼѡ¿│
  11779.         │                  │ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á,  ó«ºóαáΘáѼ«ú« »α«µÑ-│
  11780.         │                  │ ñπαἿ GetFTi¼Ñ, FindFirst, FindNext ó αáß-│
  11781.         │                  │ »á¬«óá¡¡πε ºá»¿ß∞ DateTi¼Ñ.                │
  11782.         └──────────────────┴────────────────────────────────────────────┘
  11783.  
  11784.                    Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ «íß½πª¿óá¡¿∩ »αÑαδóá¡¿⌐
  11785.         ┌──────────────────┬────────────────────────────────────────────┐
  11786.         │   Åα«µÑñπαá      │      Ä»¿ßá¡¿Ñ                              │
  11787.         ├──────────────────┼────────────────────────────────────────────┤
  11788.         │    GetIntVÑß     │ é«ºóαáΘáÑΓ áñαÑß,  ß«σαá¡Ñ¡¡δ⌐  ó  ºáñá¡¡«¼│
  11789.         │                  │ óÑ¬Γ«αÑ »αÑαδóá¡¿⌐.                        │
  11790.         ├──────────────────┼────────────────────────────────────────────┤
  11791.         │    Intr          │ éδ»«½¡∩ÑΓ ºáñá¡¡«Ñ  »α«úαá¼¼¡«Ñ »αÑαδóá¡¿Ñ.│
  11792.         ├──────────────────┼────────────────────────────────────────────┤
  11793.  
  11794.          B.Pascal 7 & Objects/LR     - 261 -
  11795.  
  11796.         │    îsDos         │ éδ»«½¡∩ÑΓ ó맮ó Σπ¡¬µ¿¿ DOS.               │
  11797.         ├──────────────────┼────────────────────────────────────────────┤
  11798.         │    SetIntVÑß     │ ôßΓá¡áó½¿óáÑΓ »«  ºáñá¡¡«¼π áñαÑßπ ºáñá¡¡δ⌐│
  11799.         │                  │ óÑ¬Γ«α »αÑαδóá¡¿∩.                         │
  11800.         └──────────────────┴────────────────────────────────────────────┘
  11801.  
  11802.                       öπ¡¬µ¿¿, »α«óÑα∩εΘ¿Ñ ß«ßΓ«∩¡¿Ñ ñ¿ß¬á
  11803.         ┌──────────────────┬────────────────────────────────────────────┐
  11804.         │   öπ¡¡¬µ¿∩       │       Ä»¿ßá¡¿Ñ                             │
  11805.         ├──────────────────┼────────────────────────────────────────────┤
  11806.         │    DiskFrÑÑ      │ é«ºóαáΘáÑΓ τ¿ß½«  ßó«í«ñ¡δσ íá⌐Γ ¡á ñ¿ß¬Ñ ó│
  11807.         │                  │ ºáñá¡¡«¼ ñ¿ß¬«ó«ñÑ.                        │
  11808.         ├──────────────────┼────────────────────────────────────────────┤
  11809.         │    DiskSize      │ é«ºóαáΘáÑΓ »«½¡δ⌐ «íΩѼ ó  íá⌐Γáσ ºáñá¡¡«ú«│
  11810.         │                  │ ñ¿ß¬á.                                     │
  11811.         └──────────────────┴────────────────────────────────────────────┘
  11812.  
  11813.                            Åα«µÑñπαδ «íαáí«Γ¬¿ Σá⌐½«ó
  11814.         ┌──────────────────┬────────────────────────────────────────────┐
  11815.         │   Åα«µÑñπαá      │      Ä»¿ßá¡¿Ñ                              │
  11816.         ├──────────────────┼────────────────────────────────────────────┤
  11817.         │   FExpand        │ é«ß»α¿¡¿¼áÑΓ ¿¼∩ Σá⌐½á ¿  ó«ºóαáΘáÑΓ »«½¡«Ñ│
  11818.         │                  │ πΓ«τ¡Ñ¡¡«Ñ ¿¼∩ (ñ¿ß¬, ¬áΓὫú, αáßΦ¿αÑ¡¿Ñ).│
  11819.         ├──────────────────┼────────────────────────────────────────────┤
  11820.         │   FSearch        │ êΘÑΓ Σá⌐½ ó ß»¿ß¬Ñ ¬áΓὫú«ó.              │
  11821.         ├──────────────────┼────────────────────────────────────────────┤
  11822.         │   FindFirst      │ Åα«¿ºó«ñ¿Γ »«¿ß¬ ó ºáñá¡¡«¼  (¿½¿  ΓѬπΘѼ)│
  11823.         │                  │ ¬áΓὫúÑ ºá»¿ß¿,  ß«ñÑন¼«Ñ ¬«Γ«α«⌐ ß«ó»á-│
  11824.         │                  │ ñáÑΓ ß ºáñá¡¡δ¼ ¿¼Ñ¡Ñ¼ Σá⌐½á  ¿ áΓα¿íπΓἿ.│
  11825.         ├──────────────────┼────────────────────────────────────────────┤
  11826.         │   FindNext       │ é«ºóαáΘáÑΓ ß½ÑñπεΘπε ºá»¿ß∞,  ¿¼∩  Σá⌐½á  ¿│
  11827.         │                  │ áΓα¿íπΓδ ó ¬«Γ«α«⌐ ß«ó»áñáεΓ ß ΓѼ¿,  ¬«Γ«-│
  11828.         │                  │ αδÑ í뫨 ºáñá¡δ »α¿ »αÑñδñπΘѼ  «íαáΘÑ¡¿¿ ¬│
  11829.         │                  │ »α«µÑñπαÑ FindFirst.                       │
  11830.         ├──────────────────┼────────────────────────────────────────────┤
  11831.         │   GetFAttr       │ é«ºóαáΘáÑΓ áΓα¿íπΓδ Σá⌐½á.                 │
  11832.         ├──────────────────┼────────────────────────────────────────────┤
  11833.         │   SetFAttr       │ ôßΓá¡áó½¿óáÑΓ áΓα¿íπΓδ Σá⌐½á.              │
  11834.         └──────────────────┴────────────────────────────────────────────┘
  11835.  
  11836.                      öπ¡¬µ¿¿ π»αáó½Ñ¡¿∩ «»Ñαᵿ«¡¡«⌐ ßαÑñ«⌐
  11837.         ┌──────────────────┬────────────────────────────────────────────┐
  11838.         │      öπ¡¬µ¿∩     │         Ä»¿ßá¡¿Ñ                           │
  11839.         ├──────────────────┼────────────────────────────────────────────┤
  11840.         │     EnvCount     │ é«ºóαáΘáÑΓ τ¿ß½« ßΓ᫬, ß«ñÑαªáΘ¿σß∩ ó «»Ñ-│
  11841.         │                  │ αᵿ«¡¡«⌐ ßαÑñÑ DOS.                       │
  11842.         ├──────────────────┼────────────────────────────────────────────┤
  11843.         │     EnvStr       │ é«ºóαáΘáÑΓ ºáñá¡¡πε   ßΓ᫬𠠠«»Ñαᵿ«¡¡«⌐│
  11844.         │                  │ ßαÑñδ.                                     │
  11845.         ├──────────────────┼────────────────────────────────────────────┤
  11846.         │     GetEnv       │ é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ   ºáñá¡¡«⌐   »ÑαѼѡ¡«⌐│
  11847.         │                  │ «»Ñαᵿ«¡¡«⌐ ßαÑñδ.                        │
  11848.         └──────────────────┴────────────────────────────────────────────┘
  11849.  
  11850.          B.Pascal 7 & Objects/LR     - 262 -
  11851.  
  11852.  
  11853.                          Åα«µÑñπαδ π»αáó½Ñ¡¿∩ »α«µÑßßἿ
  11854.         ┌──────────────────┬────────────────────────────────────────────┐
  11855.         │      Åα«µÑñπαá   │         Ä»¿ßá¡¿Ñ                           │
  11856.         ├──────────────────┼────────────────────────────────────────────┤
  11857.         │    EσÑßutÑ       │ éδ»«½¡∩ÑΓ ºáñá¡¡πε  »α«úαá¼¼π  ß  π¬áºá¡¡«⌐│
  11858.         │                  │ ¬«¼á¡ñ¡«⌐ ßΓ᫬«⌐.                         │
  11859.         ├──────────────────┼────────────────────────────────────────────┤
  11860.         │    Keep          │ æ«σαá¡∩ÑΓ (»αѬαáΘáÑΓ óδ»«½¡Ñ¡¿Ñ ¿ ß«σαá¡∩-│
  11861.         │                  │ ÑΓ ó »á¼∩Γ¿) »αѬαáΓ¿óΦπε αáí«Γπ »α«úαá¼¼π,│
  11862.         │                  │ «ßΓáó½∩∩ ÑÑ αѺ¿ñÑ¡Γ¡«⌐ ó »á¼∩Γ¿.          │
  11863.         ├──────────────────┼────────────────────────────────────────────┤
  11864.         │    SwapVectors   │ îÑ¡∩ÑΓ ¼ÑßΓἿ  ß«ñÑন¼«Ñ ß«σαá¡Ñ¡¡δσ óѬ-│
  11865.         │                  │ Γ«α«ó »αÑαδóá¡¿⌐ ¿ ΓѬπΘ¿σ óÑ¬Γ«α«ó.       │
  11866.         └──────────────────┴────────────────────────────────────────────┘
  11867.  
  11868.                            Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  11869.         ┌──────────────────┬────────────────────────────────────────────┐
  11870.         │Åα«µÑñπαá/Σπ¡¬µ¿∩ │          Ä»¿ßá¡¿Ñ                          │
  11871.         ├──────────────────┼────────────────────────────────────────────┤
  11872.         │   DosVersion     │ é«ºóαáΘáÑΓ ¡«¼Ñα óÑαß¿¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ-│
  11873.         │                  │ ¼δ DOS.                                    │
  11874.         ├──────────────────┼────────────────────────────────────────────┤
  11875.         │   GetCBreak      │ é«ºóαáΘáÑΓ »α«óÑα∩Ѽ«Ñ    DOS     ß«ßΓ«∩¡¿Ñ│
  11876.         │                  │ Ctrl+Break.                                │
  11877.         ├──────────────────┼────────────────────────────────────────────┤
  11878.         │   SetCBreak      │ ôßΓá¡áó½¿óáÑΓ »α«óÑα∩Ѽ«Ñ   DOS   ß«ßΓ«∩¡¿Ñ│
  11879.         │                  │ Ctrl+Break.                                │
  11880.         ├──────────────────┼────────────────────────────────────────────┤
  11881.         │   GetVerify      │ é«ºóαáΘáÑΓ ß«ßΓ«∩¡¿Ñ Σ½áúá »α«óÑન ó DOS. │
  11882.         ├──────────────────┼────────────────────────────────────────────┤
  11883.         │   SetVerify      │ ôßΓá¡áó½¿óáÑΓ ß«ßΓ«∩¡¿Ñ  Σ½áúá  »α«óÑન  ó│
  11884.         │                  │ DOS.                                       │
  11885.         └──────────────────┴────────────────────────────────────────────┘
  11886.  
  11887.  
  11888.  
  11889.          B.Pascal 7 & Objects/LR     - 263 -
  11890.  
  11891.                      è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Dos
  11892.         ─────────────────────────────────────────────────────────────────
  11893.  
  11894.              é ñá¡¡«¼ αáºñѽѠ¬αáΓ¬« «íßπªñáεΓß∩ ¬«¡ßΓá¡Γδ,  Γ¿»δ ¿ »ÑαÑ-
  11895.         ¼Ñ¡¡δÑ, «»αÑñѽ∩ѼδѠ󠼫ñπ½Ñ Dos. ü«½ÑÑ ñÑΓá½∞¡á∩ ¿¡Σ«α¼áµ¿∩ ß«-
  11896.         ñÑনΓß∩ ó αáºñѽѠ"è«¡ßΓá¡Γδ Σ½áú«ó" (º¡áτÑ¡¿Ñ FParity) ó  â½áóÑ
  11897.         1  ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼-
  11898.         ¼¿ßΓá".
  11899.  
  11900.                                  âαπ»»δ ¬«¡ßΓá¡Γ
  11901.         ┌────────────────────────────┬──────────────────────────────────┐
  11902.         │    âαπ»»á ¬«¡ßΓá¡Γ         │        Ä»¿ßá¡¿Ñ                  │
  11903.         ├────────────────────────────┼──────────────────────────────────┤
  11904.         │    ö½áú¿                   │ êß»«½∞ºπεΓß∩ ñ½∩ »α«óÑન «Γñѽ∞-│
  11905.         │                            │ ¡δσ Σ½áú«ó »«ß½Ñ  ó맮óá  Σπ¡¬µ¿⌐│
  11906.         │                            │ Intr   ¿½¿  MsDos.   ¥Γ«   Σ½áú¿:│
  11907.         │                            │ FParity,    FAuxiliary,    FZero,│
  11908.         │                            │ FSign, FOverflow, fCarry.        │
  11909.         ├────────────────────────────┼──────────────────────────────────┤
  11910.         │    fmXXXX                  │ Ä»αÑñѽ∩ÑΓ  ñ«»πßΓ¿¼δÑ   º¡áτÑ¡¿∩│
  11911.         │                            │ »«½∩ Mode ºá»¿ß¿ TextRec  ΓѬßΓ«-│
  11912.         │                            │ ó«ú«  Σá⌐½á:  fmClosed,  fmInput,│
  11913.         │                            │ fmOutput, fmInOut.               │
  11914.         ├────────────────────────────┼──────────────────────────────────┤
  11915.         │    ÇΓα¿íπΓδ Σá⌐½á          │ êß»«½∞ºπεΓß∩ ñ½∩  »«ßΓα«Ñ¡¿∩  áΓ-│
  11916.         │                            │ α¿íπΓ«ó, »α¿¼Ñ¡∩Ѽδσ ó FindFirst,│
  11917.         │                            │ GetFAttr ¿  SetFAttr.  ¥Γ«  Σ½áú¿│
  11918.         │                            │ ReadOnly,     Hidden,    SysFile,│
  11919.         │                            │ VolumeID,   Directory,   Archive,│
  11920.         │                            │ AnyFile.                         │
  11921.         └────────────────────────────┴──────────────────────────────────┘
  11922.  
  11923.                                       Æ¿»δ
  11924.         ────────────────────────────────────────────────────────────────
  11925.  
  11926.              é ¼«ñπ½Ñ Dos «»αÑñѽ∩εΓß∩ ß½ÑñπεΘ¿Ñ Γ¿»δ:
  11927.  
  11928.         ┌──────────────────────────┬────────────────────────────────────┐
  11929.         │    Æ¿»                   │        Ä»¿ßá¡¿Ñ                    │
  11930.         ├──────────────────────────┼────────────────────────────────────┤
  11931.         │   Æ¿» ºá»¿ß¿ Σá⌐½á       │ Ä»αÑñѽѡ¿∩  ºá»¿ßÑ⌐, ¿ß»«½∞ºπεΘ¿Ñ-│
  11932.         │                          │ ß∩ ó  Borland Pascal ñ½∩ ó¡πΓαÑ¡¡¿σ│
  11933.         │                          │ µÑ½Ñ⌐,  «»¿ßδóáεΓß∩ ΓᬪѠ󠠼«ñπ½Ñ│
  11934.         │                          │ Dos.  Æ¿»  FilÑRÑß ¿ß»«½∞ºπÑΓß∩ ¬á¬│
  11935.         │                          │ ñ½∩ Γ¿»¿º«óá¡¡δσ, Γᬠ¿ ñ½∩ ¡ÑΓ¿»¿-│
  11936.         │                          │ º«óá¡¡δσ  Σá⌐½«ó,  ó Γ« óαѼ∩,  ¬á¬│
  11937.         │                          │ TÑσtRÑß »αÑñßΓáó½∩ÑΓ ß«í«⌐ ó¡πΓαÑ¡-│
  11938.         │                          │ ¡¿⌐  Σ«α¼áΓ  »ÑαѼѡ¡«⌐  ΓѬßΓ«ó«ú«│
  11939.         │                          │ Γ¿»á.                              │
  11940.         ├──────────────────────────┼────────────────────────────────────┤
  11941.         │   Registers              │ ÅÑαѼѡ¡δÑ αÑú¿ßΓα«ó«ú« Γ¿»á »α¿¼Ñ-│
  11942.         │                          │ ¡∩εΓß∩ ó  »α«µÑñπαáσ  Intr  ¿ îsDos│
  11943.         │                          │ ñ½∩  ºáñá¡¿∩  ß«ñÑন¼«ú«  óσ«ñ¡«ú«│
  11944.  
  11945.          B.Pascal 7 & Objects/LR     - 264 -
  11946.  
  11947.         │                          │ αÑú¿ßΓαá ¿ »α«óÑન ß«ñÑন¼«ú« óδ-│
  11948.         │                          │ σ«ñ¡«ú« αÑú¿ßΓαá  »α¿  »αÑαδóá¡¿∩σ,│
  11949.         │                          │ ¿ß»«½∞ºπεΘ¿σß∩  ó »α«úαá¼¼¡«¼ «íÑß-│
  11950.         │                          │ »ÑτÑ¡¿¿.                           │
  11951.         ├──────────────────────────┼────────────────────────────────────┤
  11952.         │   DateTime               │ ÅÑαѼѡ¡δÑ Γ¿»á  DateTi¼Ñ  (ñáΓδ  ¿│
  11953.         │                          │ óαѼѡ¿) ¿ß»«½∞ºπεΓß∩  ó »α«µÑñπαáσ│
  11954.         │                          │ Unαá߬Æi¼Ñ ¿ Éá߬Æi¼Ñ ñ½∩  á¡á½¿ºá,│
  11955.         │                          │ π»á¬«ó¬¿ ¿ »«ßΓα«Ñ¡¿∩ τÑΓδαÑσíá⌐Γ«-│
  11956.         │                          │ ó«ú« º¡áτÑ¡¿∩,  ß«ñÑαªáΘÑú« ñáΓπ  ¿│
  11957.         │                          │ óαѼ∩. ¥Γ« τÑΓδαÑσíá⌐Γ«ó«Ñ º¡áτÑ¡¿Ñ│
  11958.         │                          │ ¿ß»«½∞ºπÑΓß∩  ºáΓѼ  ó   »α«µÑñπαáσ│
  11959.         │                          │ GetFTi¼Ñ,   SetTi¼Ñ,   FindFirst  ¿│
  11960.         │                          │ FindNÑσt.                          │
  11961.         ├──────────────────────────┼────────────────────────────────────┤
  11962.         │   SearchRec              │ ÅÑαѼѡ¡δÑ Γ¿»á SearchRÑß ¿ß»«½∞ºπ-│
  11963.         │                          │ εΓß∩ ó   »α«µÑñπαáσ   FindFirst   ¿│
  11964.         │                          │ Findnext  ñ½∩  »α«ß¼«Γαá  ¬áΓὫú«ó│
  11965.         │                          │ Σá⌐½«ó.                            │
  11966.         ├──────────────────────────┼────────────────────────────────────┤
  11967.         │   æΓ᫬«óδÑ Γ¿»δ         │ ¥Γ¿ ßΓ᫬«óδÑ Γ¿»δ «»αÑñѽѡδ ó ¼«-│
  11968.         │   αáí«Γδ ß Σá⌐½á¼¿       │ ñπ½Ñ Dos ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩  αáí«Γδ│
  11969.         │                          │ ß ¿¼Ñ¡á¼¿  Σá⌐½«ó  ¿  ¼áαΦαπΓ«ó »α¿│
  11970.         │                          │ ó맮óÑ ßΓ᫬«ó«⌐ »α«µÑñπαδ  FSplit.│
  11971.         │                          │ ¥Γ« Γ¿»δ ComStr,  PathStr,  DirStr,│
  11972.         │                          │ NameStr, ExtStr.                   │
  11973.         └──────────────────────────┴────────────────────────────────────┘
  11974.  
  11975.                               ÅÑαѼѡ¡δÑ ¼«ñπ½∩ Dos
  11976.         ─────────────────────────────────────────────────────────────────
  11977.  
  11978.              î¡«ú¿¼¿ »«ñ»α«úαἼἿ  ¼«ñπ½∩  Dos  ñ½∩ ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ
  11979.         ¿ß»«½∞ºπÑΓß∩ »ÑαѼѡ¡á∩ DosError.
  11980.  
  11981.  
  11982.  
  11983.          B.Pascal 7 & Objects/LR     - 265 -
  11984.  
  11985.                         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos
  11986.         ─────────────────────────────────────────────────────────────────
  11987.  
  11988.              ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ  »α«µÑñπαδ  ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos.  ùΓ«íδ
  11989.         ¿ß»«½∞º«óáΓ∞ ¿σ,  óδ ñ«½ª¡δ ßßδ½áΓ∞ß∩ ¡á ¼«ñπ½∞ WinDos ß  »«¼«Θ∞ε
  11990.         «»ÑαáΓ«αá »α«úαá¼¼δ uses.
  11991.  
  11992.               Åα«µÑñπαδ ñ½∩ αáí«Γδ ß ñáΓ«⌐ ¿ óαѼѡѼ ¼«ñπ½∩ WinDos
  11993.         ┌──────────────────┬────────────────────────────────────────────┐
  11994.         │     Åα«µÑñπαá    │        Ä»¿ßá¡¿Ñ                            │
  11995.         ├──────────────────┼────────────────────────────────────────────┤
  11996.         │   GetDate        │ é«ºóαáΘáÑΓ ΓѬπΘπε  ñáΓπ,  πßΓá¡«ó½Ñ¡¡πε  ó│
  11997.         │                  │ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ.                      │
  11998.         ├──────────────────┼────────────────────────────────────────────┤
  11999.         │   GetFTime       │ é«ºóαáΘáÑΓ ñáΓπ  ¿  óαѼ∩  »«ß½Ññ¡Ñ⌐ ºá»¿ß¿│
  12000.         │                  │ Σá⌐½á.                                     │
  12001.         ├──────────────────┼────────────────────────────────────────────┤
  12002.         │   GetTi¼Ñ        │ é«ºóαáΘáÑΓ ΓѬπΘÑÑ óαѼ∩,  πßΓá¡«ó½Ñ¡¡«Ñ  ó│
  12003.         │                  │ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ.                      │
  12004.         ├──────────────────┼────────────────────────────────────────────┤
  12005.         │   ÉackTi¼Ñ       │ ÅαÑ«íαáºπÑΓ ºá»¿ß∞ DateTi¼Ñ ó τÑΓδαÑσíá⌐Γ«-│
  12006.         │                  │ ó«Ñ  π»á¬«óá¡¡«Ñ  ß¿¼ó«½∞¡«Ñ  »αÑñßΓáó½Ñ¡¿Ñ│
  12007.         │                  │ ñáΓδ ¿ óαѼѡ¿ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á,  ¬«Γ«-│
  12008.         │                  │ α«Ñ ¿ß»«½∞ºπÑΓß∩ ó »α«µÑñπαÑ  SetTi¼Ñ.     │
  12009.         ├──────────────────┼────────────────────────────────────────────┤
  12010.         │   SetDate        │ ôßΓá¡áó½¿óáÑΓ ñ½∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ  ΓÑ-│
  12011.         │                  │ ¬πΘπε ñáΓπ.                                │
  12012.         ├──────────────────┼────────────────────────────────────────────┤
  12013.         │   SetFTi¼Ñ       │ ôßΓá¡áó½¿óáÑΓ óαѼ∩ ¿ ñáΓπ »«ß½Ññ¡Ñ⌐ ºá»¿ß¿│
  12014.         │                  │ Σá⌐½á.                                     │
  12015.         ├──────────────────┼────────────────────────────────────────────┤
  12016.         │   SetTi¼Ñ        │ ôßΓá¡áó½¿óáÑΓ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠ ΓѬπ-│
  12017.         │                  │ ΘÑÑ óαѼ∩.                                 │
  12018.         ├──────────────────┼────────────────────────────────────────────┤
  12019.         │   UnpackTi¼Ñ     │ ÅαÑ«íαáºπÑΓ τÑΓδαÑσíá⌐Γ«ó«Ñ     π»á¬«óá¡¡«⌐│
  12020.         │                  │ ß¿¼ó«½∞¡«Ñ  »αÑñßΓáó½Ñ¡¿Ñ  ñáΓδ  ¿  óαѼѡ¿│
  12021.         │                  │ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á,  ó«ºóαáΘáѼ«ú« »α«µÑ-│
  12022.         │                  │ ñπαἿ GetFTi¼Ñ, FindFirst, FindNext ó αáß-│
  12023.         │                  │ »á¬«óá¡¡πε ºá»¿ß∞ DateTi¼Ñ.                │
  12024.         └──────────────────┴────────────────────────────────────────────┘
  12025.  
  12026.                  Åα«µÑñπαδ «íß½πª¿óá¡¿∩ »αÑαδóá¡¿⌐ ¼«ñπ½∩ WinDos
  12027.         ┌──────────────────┬────────────────────────────────────────────┐
  12028.         │   Åα«µÑñπαá      │      Ä»¿ßá¡¿Ñ                              │
  12029.         ├──────────────────┼────────────────────────────────────────────┤
  12030.         │    GetIntVÑß     │ é«ºóαáΘáÑΓ áñαÑß,  ß«σαá¡Ñ¡¡δ⌐  ó  ºáñá¡¡«¼│
  12031.         │                  │ óÑ¬Γ«αÑ »αÑαδóá¡¿⌐.                        │
  12032.         ├──────────────────┼────────────────────────────────────────────┤
  12033.         │    Intr          │ éδ»«½¡∩ÑΓ ºáñá¡¡«Ñ  »α«úαá¼¼¡«Ñ »αÑαδóá¡¿Ñ.│
  12034.         ├──────────────────┼────────────────────────────────────────────┤
  12035.         │    îsDos         │ éδ»«½¡∩ÑΓ ó맮ó Σπ¡¬µ¿¿ DOS.               │
  12036.         ├──────────────────┼────────────────────────────────────────────┤
  12037.         │    SetIntVÑß     │ ôßΓá¡áó½¿óáÑΓ »«  ºáñá¡¡«¼π áñαÑßπ ºáñá¡¡δ⌐│
  12038.  
  12039.          B.Pascal 7 & Objects/LR     - 266 -
  12040.  
  12041.         │                  │ óÑ¬Γ«α »αÑαδóá¡¿∩.                         │
  12042.         └──────────────────┴────────────────────────────────────────────┘
  12043.  
  12044.                öπ¡¬µ¿¿ ¼«ñπ½∩ WinDos, »α«óÑα∩εΘ¿Ñ ß«ßΓ«∩¡¿Ñ ñ¿ß¬á
  12045.         ┌──────────────────┬────────────────────────────────────────────┐
  12046.         │   öπ¡¡¬µ¿∩       │       Ä»¿ßá¡¿Ñ                             │
  12047.         ├──────────────────┼────────────────────────────────────────────┤
  12048.         │    DiskFrÑÑ      │ é«ºóαáΘáÑΓ τ¿ß½«  ßó«í«ñ¡δσ íá⌐Γ ¡á ñ¿ß¬Ñ ó│
  12049.         │                  │ ºáñá¡¡«¼ ñ¿ß¬«ó«ñÑ.                        │
  12050.         ├──────────────────┼────────────────────────────────────────────┤
  12051.         │    DiskSize      │ é«ºóαáΘáÑΓ »«½¡δ⌐ «íΩѼ ó  íá⌐Γáσ ºáñá¡¡«ú«│
  12052.         │                  │ ñ¿ß¬á.                                     │
  12053.         └──────────────────┴────────────────────────────────────────────┘
  12054.  
  12055.                     Åα«µÑñπαδ αáí«Γδ ß Σá⌐½á¼¿ ¼«ñπ½∩ WinDos
  12056.         ┌──────────────────┬────────────────────────────────────────────┐
  12057.         │   Åα«µÑñπαá      │      Ä»¿ßá¡¿Ñ                              │
  12058.         ├──────────────────┼────────────────────────────────────────────┤
  12059.         │   FileExpand     │ é«ß»α¿¡¿¼áÑΓ ¿¼∩ Σá⌐½á ¿  ó«ºóαáΘáÑΓ »«½¡«Ñ│
  12060.         │                  │ πΓ«τ¡Ñ¡¡«Ñ ¿¼∩ (ñ¿ß¬, ¬áΓὫú, αáßΦ¿αÑ¡¿Ñ).│
  12061.         ├──────────────────┼────────────────────────────────────────────┤
  12062.         │   FileSearch     │ êΘÑΓ Σá⌐½ ó ß»¿ß¬Ñ ¬áΓὫú«ó.              │
  12063.         ├──────────────────┼────────────────────────────────────────────┤
  12064.         │   FileSplit      │ Éáºí¿óáÑΓ »«½¡«Ñ ¿¼∩ Σá⌐½á ¡á Γα¿ ¬«¼»«¡Ñ¡-│
  12065.         │                  │ Γá (ñ¿ß¬, ¬áΓὫú, ¿¼∩ ¿ αáßΦ¿αÑ¡¿Ñ).      │
  12066.         ├──────────────────┼────────────────────────────────────────────┤
  12067.         │   FindFirst      │ Åα«¿ºó«ñ¿Γ »«¿ß¬ ó ºáñá¡¡«¼  (¿½¿  ΓѬπΘѼ)│
  12068.         │                  │ ¬áΓὫúÑ ºá»¿ß¿,  ß«ñÑন¼«Ñ ¬«Γ«α«⌐ ß«ó»á-│
  12069.         │                  │ ñáÑΓ ß ºáñá¡¡δ¼ ¿¼Ñ¡Ñ¼ Σá⌐½á  ¿ áΓα¿íπΓἿ.│
  12070.         ├──────────────────┼────────────────────────────────────────────┤
  12071.         │   FindNext       │ é«ºóαáΘáÑΓ ß½ÑñπεΘπε ºá»¿ß∞,  ¿¼∩  Σá⌐½á  ¿│
  12072.         │                  │ áΓα¿íπΓδ ó ¬«Γ«α«⌐ ß«ó»áñáεΓ ß ΓѼ¿,  ¬«Γ«-│
  12073.         │                  │ αδÑ í뫨 ºáñá¡δ »α¿ »αÑñδñπΘѼ  «íαáΘÑ¡¿¿ ¬│
  12074.         │                  │ »α«µÑñπαÑ FindFirst.                       │
  12075.         ├──────────────────┼────────────────────────────────────────────┤
  12076.         │   GetFAttr       │ é«ºóαáΘáÑΓ áΓα¿íπΓδ Σá⌐½á.                 │
  12077.         ├──────────────────┼────────────────────────────────────────────┤
  12078.         │   SetFAttr       │ ôßΓá¡áó½¿óáÑΓ áΓα¿íπΓδ Σá⌐½á.              │
  12079.         └──────────────────┴────────────────────────────────────────────┘
  12080.  
  12081.                   Åα«µÑñπαδ  ¿ Σπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß ¬áΓὫúἿ
  12082.         ┌──────────────────┬────────────────────────────────────────────┐
  12083.         │ Åα«µÑñπαá/Σπ¡¬µ¿∩│          Ä»¿ßá¡¿Ñ                          │
  12084.         ├──────────────────┼────────────────────────────────────────────┤
  12085.         │    CreateDir     │ æ«ºñáÑΓ ¡«óδ⌐ »«ñ¬áΓὫú.                  │
  12086.         ├──────────────────┼────────────────────────────────────────────┤
  12087.         │    GetCurDir     │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ ¬áΓὫú ¡á ºáñá¡¡«¼ ñ¿ß-│
  12088.         │                  │ ¬Ñ.                                        │
  12089.         ├──────────────────┼────────────────────────────────────────────┤
  12090.         │    RemoveDir     │ ôñá½∩ÑΓ »«ñ¬áΓὫú.                        │
  12091.         ├──────────────────┼────────────────────────────────────────────┤
  12092.         │    SetCurDir     │ êº¼Ñ¡∩ÑΓ ΓѬπΘ¿⌐ ¬áΓὫú.                  │
  12093.         └──────────────────┴────────────────────────────────────────────┘
  12094.  
  12095.          B.Pascal 7 & Objects/LR     - 267 -
  12096.  
  12097.  
  12098.             Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ «íß½πª¿óá¡¿∩ »αÑαδóá¡¿⌐ ¼«ñπ½∩ WinDos
  12099.         ┌──────────────────┬────────────────────────────────────────────┐
  12100.         │   Åα«µÑñπαá      │      Ä»¿ßá¡¿Ñ                              │
  12101.         ├──────────────────┼────────────────────────────────────────────┤
  12102.         │    GetArgCount   │ é«ºóαáΘáÑΓ   τ¿ß½«  »áαá¼ÑΓα«ó,  »ÑαÑñá¡¡δσ│
  12103.         │                  │ »α«úαἼѠ󠬫¼á¡ñ¡«⌐ ßΓ᫬Ñ.              │
  12104.         ├──────────────────┼────────────────────────────────────────────┤
  12105.         │    GetArgStr     │ é«ºóαáΘáÑΓ   ºáñá¡¡δ⌐   áαúπ¼Ñ¡Γ  ¬«¼á¡ñ¡«⌐│
  12106.         │                  │ ßΓ᫬¿.                                    │
  12107.         ├──────────────────┼────────────────────────────────────────────┤
  12108.         │    GetEnvVar     │ é«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á  º¡áτÑ¡¿Ñ  ºáñá¡¡«⌐│
  12109.         │                  │ »ÑαѼѡ¡«⌐ «»Ñαᵿ«¡¡«⌐ ßαÑñδ.             │
  12110.         └──────────────────┴────────────────────────────────────────────┘
  12111.  
  12112.                     Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos
  12113.         ┌──────────────────┬────────────────────────────────────────────┐
  12114.         │Åα«µÑñπαá/Σπ¡¬µ¿∩ │          Ä»¿ßá¡¿Ñ                          │
  12115.         ├──────────────────┼────────────────────────────────────────────┤
  12116.         │   DosVersion     │ é«ºóαáΘáÑΓ ¡«¼Ñα óÑαß¿¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ-│
  12117.         │                  │ ¼δ DOS.                                    │
  12118.         ├──────────────────┼────────────────────────────────────────────┤
  12119.         │   GetCBreak      │ é«ºóαáΘáÑΓ »α«óÑα∩Ѽ«Ñ    DOS     ß«ßΓ«∩¡¿Ñ│
  12120.         │                  │ Ctrl+Break.                                │
  12121.         ├──────────────────┼────────────────────────────────────────────┤
  12122.         │   SetCBreak      │ ôßΓá¡áó½¿óáÑΓ »α«óÑα∩Ѽ«Ñ   DOS   ß«ßΓ«∩¡¿Ñ│
  12123.         │                  │ Ctrl+Break.                                │
  12124.         ├──────────────────┼────────────────────────────────────────────┤
  12125.         │   SetVerify      │ ôßΓá¡áó½¿óáÑΓ ß«ßΓ«∩¡¿Ñ  Σ½áúá  »α«óÑન  ó│
  12126.         │                  │ DOS.                                       │
  12127.         └──────────────────┴────────────────────────────────────────────┘
  12128.  
  12129.  
  12130.  
  12131.          B.Pascal 7 & Objects/LR     - 268 -
  12132.  
  12133.                    è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ WinDos
  12134.         ─────────────────────────────────────────────────────────────────
  12135.  
  12136.              é ñá¡¡«¼ αáºñѽѠ¬αáΓ¬« «íßπªñáεΓß∩ ¬«¡ßΓá¡Γδ,  Γ¿»δ ¿ »ÑαÑ-
  12137.         ¼Ñ¡¡δÑ,  «»αÑñѽ∩ѼδѠ󠼫ñπ½Ñ WinDos. ü«½ÑÑ ñÑΓá½∞¡á∩ ¿¡Σ«α¼áµ¿∩
  12138.         ß«ñÑনΓß∩ ó αáºñѽѠ"è«¡ßΓá¡Γδ Σ½áú«ó" (º¡áτÑ¡¿Ñ FParity) ó â½á-
  12139.         óÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá  »α«ú-
  12140.         αá¼¼¿ßΓá".
  12141.  
  12142.                                  âαπ»»δ ¬«¡ßΓá¡Γ
  12143.         ┌────────────────────────────┬──────────────────────────────────┐
  12144.         │    âαπ»»á ¬«¡ßΓá¡Γ         │        Ä»¿ßá¡¿Ñ                  │
  12145.         ├────────────────────────────┼──────────────────────────────────┤
  12146.         │    ö½áú¿                   │ êß»«½∞ºπεΓß∩ ñ½∩ »α«óÑન «Γñѽ∞-│
  12147.         │                            │ ¡δσ Σ½áú«ó »«ß½Ñ  ó맮óá  Σπ¡¬µ¿⌐│
  12148.         │                            │ Intr   ¿½¿  MsDos.   ¥Γ«   Σ½áú¿:│
  12149.         │                            │ FParity,    FAuxiliary,    FZero,│
  12150.         │                            │ FSign, FOverflow, fCarry.        │
  12151.         ├────────────────────────────┼──────────────────────────────────┤
  12152.         │    fmXXXX                  │ Ä»αÑñѽ∩ÑΓ  ñ«»πßΓ¿¼δÑ   º¡áτÑ¡¿∩│
  12153.         │                            │ »«½∩ Mode ºá»¿ß¿ TextRec  ΓѬßΓ«-│
  12154.         │                            │ ó«ú«  Σá⌐½á:  fmClosed,  fmInput,│
  12155.         │                            │ fmOutput, fmInOut.               │
  12156.         ├────────────────────────────┼──────────────────────────────────┤
  12157.         │    faXXXX                  │ êß»«½∞ºπεΓß∩ ñ½∩  »«ßΓα«Ñ¡¿∩  áΓ-│
  12158.         │                            │ α¿íπΓ«ó, ¿σ »α«óÑન ¿  ¿º¼Ñ¡Ñ¡¿∩│
  12159.         │                            │ ó »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ αáí«Γδ  ß│
  12160.         │                            │ Σá⌐½á¼¿. ¥Γ« ¬«¡ßΓá¡Γδ  faHidden,│
  12161.         │                            │ faSysFile, faVolumeID, faDirecto-│
  12162.         │                            │ ry, faArchive, faAnyFile.        │
  12163.         ├────────────────────────────┼──────────────────────────────────┤
  12164.         │    fsXXXX                  │ îá¬ß¿¼á½∞¡δÑ   ñ½¿¡δ  ¬«¼»«¡Ñ¡Γ«ó│
  12165.         │                            │ ¿¼Ñ¡¿ Σá⌐½á, ¿ß»«½∞ºπѼδσ ó  »«ñ-│
  12166.         │                            │ »α«úαá¼¼áσ   FileSearch  ¿  File-│
  12167.         │                            │ Expand. ¥Γ«  ¬«¡ßΓá¡Γδ: fsPathNa-│
  12168.         │                            │ me,    fsDirectory,   fsFileName,│
  12169.         │                            │ fsExtension.                     │
  12170.         ├────────────────────────────┼──────────────────────────────────┤
  12171.         │    fcXXXX                  │ ö½áú¿,   ó«ºóαáΘáѼδÑ    Σπ¡¬µ¿Ñ⌐│
  12172.         │                            │ FileSplit:  fcExtension,  fcFile-│
  12173.         │                            │ Name, fcDirectory, fcWildcards.  │
  12174.         └────────────────────────────┴──────────────────────────────────┘
  12175.  
  12176.  
  12177.  
  12178.          B.Pascal 7 & Objects/LR     - 269 -
  12179.  
  12180.                                       Æ¿»δ
  12181.         ────────────────────────────────────────────────────────────────
  12182.  
  12183.              é ¼«ñπ½Ñ WinDos «»αÑñѽ∩εΓß∩ ß½ÑñπεΘ¿Ñ Γ¿»δ:
  12184.  
  12185.         ┌──────────────────────────┬────────────────────────────────────┐
  12186.         │         Æ¿»              │             Ä»¿ßá¡¿Ñ               │
  12187.         ├──────────────────────────┼────────────────────────────────────┤
  12188.         │   Æ¿» ºá»¿ß¿ Σá⌐½á       │ Ä»αÑñѽѡ¿∩  ºá»¿ßÑ⌐, ¿ß»«½∞ºπεΘ¿Ñ-│
  12189.         │                          │ ß∩ ó  Borland Pascal ñ½∩ ó¡πΓαÑ¡¡¿σ│
  12190.         │                          │ µÑ½Ñ⌐,  «»¿ßδóáεΓß∩ ΓᬪѠ󠠼«ñπ½Ñ│
  12191.         │                          │ Dos.  Æ¿» TFilÑRÑß ¿ß»«½∞ºπÑΓß∩ ¬á¬│
  12192.         │                          │ ñ½∩ Γ¿»¿º«óá¡¡δσ, Γᬠ¿ ñ½∩ ¡ÑΓ¿»¿-│
  12193.         │                          │ º¿α«óá¡¡δσ Σá⌐½«ó, ó Γ« óαѼ∩,  ¬á¬│
  12194.         │                          │ TTÑσtRÑß »αÑñßΓáó½∩ÑΓ  ß«í«⌐  ó¡πΓ-│
  12195.         │                          │ αÑ¡¡¿⌐ Σ«α¼áΓ »ÑαѼѡ¡«⌐ ΓѬßΓ«ó«ú«│
  12196.         │                          │ Γ¿»á.                              │
  12197.         ├──────────────────────────┼────────────────────────────────────┤
  12198.         │   TRegisters             │ ÅÑαѼѡ¡δÑ αÑú¿ßΓα«ó«ú« Γ¿»á »α¿¼Ñ-│
  12199.         │                          │ ¡∩εΓß∩ ó  »α«µÑñπαáσ  Intr  ¿ îsDos│
  12200.         │                          │ ñ½∩  ºáñá¡¿∩  ß«ñÑন¼«ú«  óσ«ñ¡«ú«│
  12201.         │                          │ αÑú¿ßΓαá ¿ »α«óÑન ß«ñÑন¼«ú« óδ-│
  12202.         │                          │ σ«ñ¡«ú« αÑú¿ßΓαá  »α¿  »αÑαδóá¡¿∩σ,│
  12203.         │                          │ ¿ß»«½∞ºπεΘ¿σß∩  ó »α«úαá¼¼¡«¼ «íÑß-│
  12204.         │                          │ »ÑτÑ¡¿¿.                           │
  12205.         ├──────────────────────────┼────────────────────────────────────┤
  12206.         │   TDateTime              │ ÅÑαѼѡ¡δÑ Γ¿»á TDateTi¼Ñ  (ñáΓδ  ¿│
  12207.         │                          │ óαѼѡ¿) ¿ß»«½∞ºπεΓß∩  ó »α«µÑñπαáσ│
  12208.         │                          │ Unαá߬Æi¼Ñ ¿ Pá߬Æi¼Ñ ñ½∩  á¡á½¿ºá,│
  12209.         │                          │ π»á¬«ó¬¿ ¿ »«ßΓα«Ñ¡¿∩ τÑΓδαÑσíá⌐Γ«-│
  12210.         │                          │ ó«ú« º¡áτÑ¡¿∩,  ß«ñÑαªáΘÑú« ñáΓπ  ¿│
  12211.         │                          │ óαѼ∩. ¥Γ« τÑΓδαÑσíá⌐Γ«ó«Ñ º¡áτÑ¡¿Ñ│
  12212.         │                          │ ¿ß»«½∞ºπÑΓß∩  ºáΓѼ  ó   »α«µÑñπαáσ│
  12213.         │                          │ GetFTi¼Ñ,   SetTi¼Ñ,   FindFirst  ¿│
  12214.         │                          │ FindNÑσt.                          │
  12215.         ├──────────────────────────┼────────────────────────────────────┤
  12216.         │   TSearchRec             │ ÅÑαѼѡ¡δÑ Γ¿»á TSearchRÑß  ¿ß»«½∞-│
  12217.         │                          │ ºπεΓß∩ ó  »α«µÑñπαáσ  FindFirst   ¿│
  12218.         │                          │ Findnext  ñ½∩  »α«ß¼«Γαá  ¬áΓὫú«ó│
  12219.         │                          │ Σá⌐½«ó.                            │
  12220.         └──────────────────────────┴────────────────────────────────────┘
  12221.  
  12222.                             ÅÑαѼѡ¡δÑ ¼«ñπ½∩ WinDos
  12223.         ─────────────────────────────────────────────────────────────────
  12224.  
  12225.              î¡«ú¿¼¿ »«ñ»α«úαἼἿ ¼«ñπ½∩ WinDos ñ½∩ ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ
  12226.         ¿ß»«½∞ºπÑΓß∩ »ÑαѼѡ¡á∩ DosError.
  12227.  
  12228.  
  12229.  
  12230.          B.Pascal 7 & Objects/LR     - 270 -
  12231.  
  12232. ───────────────────────────────────────────────────────────────────────
  12233.                â½áóá 17. Åα«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS
  12234.         ─────────────────────────────────────────────────────────────────
  12235.  
  12236.              î¿¬α«»α«µÑßß«α 80286 ñáÑΓ ¡«óδ⌐ ß»«ß«í áñαÑßᵿ¿  ¬  »á¼∩Γ¿:
  12237.         ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼  ó¿αΓπá½∞¡«⌐ áñαÑßᵿ¿ ¿½¿ »α«ßΓ« ºáΘ¿ΘÑ¡¡δ⌐ αÑ-
  12238.         ª¿¼. ¥Γ«Γ ¡«óδ⌐ αѪ¿¼ áñαÑßᵿ¿ ñáÑΓ Γα¿ «ß¡«ó¡δσ »αÑ¿¼πΘÑßΓóá:
  12239.  
  12240.              * ÇñαÑßᵿ∩ ¬ »á¼∩Γ¿ «íΩѼ«¼ ñ« 16 ¼Ñúáíá⌐Γ.
  12241.  
  12242.              * ï«ú¿τÑ߬«Ñ áñαÑß¡«Ñ »α«ßΓαá¡ßΓó«, »αÑóδΦáεΘÑÑ »α«ßΓαá¡ßΓó«
  12243.                Σ¿º¿τÑ߬¿σ áñαÑß«ó.
  12244.  
  12245.              * æ»«ß«í ¿º«½∩µ¿¿ »α«úαá¼¼ ñαπú «Γ ñαπúá, ΓᬠτΓ« «ñ¡á »α«ú-
  12246.                αἼᠡѠ¼«ªÑΓ ¡áαπΦáΓ∞ ñαπú«⌐ óδ»«½¡∩εΘÑ⌐ß∩  «ñ¡«óαѼѡ¡«
  12247.                ß ¡Ñ⌐ »α«úαá¼¼δ.
  12248.  
  12249.              æ »«¼«Θ∞ε Borland Pascal óδ ½Ñú¬« ¼«ªÑΓÑ »¿ßáΓ∞ αáí«ΓáεΘ¿Ñ ó
  12250.         ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ DOS íѺ ¡Ñ«íσ«ñ¿¼«ßΓ¿ »α¿-
  12251.         ¼Ñ¡Ñ¡¿∩ ñ«»«½¡¿Γѽ∞¡«ú«  "αáßΦ¿α¿Γѽ∩"  DOS.  éδ «í¡áαπª¿ΓÑ,  τΓ«
  12252.         ¼¡«ú¿Ñ »α«úαá¼¼δ αÑá½∞¡«ú« αѪ¿¼á »αѬαáß¡« αáí«ΓáεΓ ó ºáΘ¿ΘÑ¡¡«¼
  12253.         αѪ¿¼Ñ. äá¡¡á∩ ú½áóá »«¼«ªÑΓ óá¼ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ΓÑ »α«úαá¼¼δ, ¬«-
  12254.         Γ«αδÑ φΓ«ú« ¡Ñ ñѽáεΓ,  ¿ »α«∩ß¡¿Γ ¡Ñ¬«Γ«αδÑ «ß¡«ó¡δÑ ¼«¼Ñ¡Γδ ºá-
  12255.         Θ¿ΘÑ¡¡«ú« αѪ¿¼á ¿ Ñú« «Γ½¿τ¿∩ «Γ αÑá½∞¡«ú« αѪ¿¼á.
  12256.  
  12257.                            ùΓ« ΓᬫѠºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼?
  12258.         ─────────────────────────────────────────────────────────────────
  12259.  
  12260.              Åα«µÑßß«α 80286 ¿ í«½ÑÑ »«ºñ¡¿Ñ »α«µÑßß«αδ »«ññÑনóáεΓ  ñóá
  12261.         αѪ¿¼á «»Ñαᵿ⌐:  ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ ¿ αÑá½∞¡δ⌐ αѪ¿¼. ÉÑá½∞¡δ⌐ αÑ-
  12262.         ª¿¼ ß«ó¼ÑßΓ¿¼ ß αáí«Γ«⌐ »α«µÑßß«αá 8086  ¿  »«ºó«½∩ÑΓ  »α¿¬½áñ¡«⌐
  12263.         »α«úαἼѠáñαÑß«óáΓ∞ß∩ ¬ »á¼∩Γ¿ «íΩѼ«¼ ñ« «ñ¡«ú« ¼Ñúáíá⌐Γá.  çá-
  12264.         Θ¿ΘÑ¡¡δ⌐ αѪ¿¼ αáßΦ¿α∩ÑΓ ñ¿á»áº«¡ áñαÑßᵿ¿ ñ« 16  ¼Ñúáíá⌐Γ.  Äß-
  12265.         ¡«ó¡«Ñ «Γ½¿τ¿Ñ  ¼Ñªñπ αÑá½∞¡δ¼ ¿ ºáΘ¿ΘÑ¡¡δ¼ αѪ¿¼«¼ ºá¬½ετáÑΓß∩ ó
  12266.         ß»«ß«íÑ »αÑ«íαẫóá¡¿∩ »α«µÑßß«α«¼ ½«ú¿τÑ߬¿σ áñαÑß«ó ó  Σ¿º¿τÑß-
  12267.         ¬¿Ñ. ï«ú¿τÑ߬¿Ñ  áñαÑßá  - φΓ« áñαÑßá,  ¿ß»«½∞ºπѼδÑ ó »α¿¬½áñ¡«⌐
  12268.         »α«úαá¼¼Ñ. èᬠó αÑá½∞¡«¼, ΓᬪѠ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ ½«ú¿τÑ߬¿⌐
  12269.         áñαÑß  - φΓ« 32-αáºα∩ñ¡«Ñ º¡áτÑ¡¿Ñ,  ß«ßΓ«∩ΘÑÑ ¿º 16-í¿Γ«ó«ú« ßÑ-
  12270.         ½Ñ¬Γ«αá (áñαÑßá ßÑú¼Ñ¡Γá) ¿ 16-í¿Γ«ó«ú« ß¼ÑΘÑ¡¿∩.  ö¿º¿τÑ߬¿Ñ áñ-
  12271.         αÑßá - φΓ« áñαÑßá, ¬«Γ«αδÑ »α«µÑßß«α ¿ß»«½∞ºπÑΓ ñ½∩ «í¼Ñ¡á ñá¡¡δ-
  12272.         ¼¿ ß ¬«¼»«¡Ñ¡ΓἿ ß¿ßΓѼ¡«⌐ »á¼∩Γ¿.  é αÑá½∞¡«¼ αѪ¿¼Ñ Σ¿º¿τÑ߬¿⌐
  12273.         áñαÑß »αÑñßΓáó½∩ÑΓ ß«í«⌐ 20-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ,  á ó ºáΘ¿ΘÑ¡¡«¼ αÑ-
  12274.         ª¿¼Ñ - 24-í¿Γ«ó«Ñ.
  12275.  
  12276.  
  12277.          B.Pascal 7 & Objects/LR     - 271 -
  12278.  
  12279.  
  12280.              è«úñá »α«µÑßß«α «íαáΘáÑΓß∩ ¬ »á¼∩Γ¿ (ñ½∩ óδí«α¬¿  ¿¡ßΓαπ¬µ¿¿
  12281.         ¿½¿ ºá»¿ß¿ »ÑαѼѡ¡«⌐), «¡ úÑ¡Ñα¿απÑΓ ¿º ½«ú¿τÑ߬«ú« áñαÑßá Σ¿º¿-
  12282.         τÑ߬¿⌐ áñαÑß. é αÑá½∞¡«¼ αѪ¿¼Ñ úÑ¡Ñαᵿ∩ Σ¿º¿τÑ߬«ú« áñαÑßá ß«ß-
  12283.         Γ«¿Γ ¿º  ßñó¿úá  ßÑ½Ñ¬Γ«αá (áñαÑßá ßÑú¼Ñ¡Γá) ¡á 4 í¿Γá ó½Ñó« (φΓ«
  12284.         «º¡áτáÑΓ π¼¡«ªÑ¡¿Ñ ¡á 16) ¿ »α¿íáó½Ñ¡¿∩  ß¼ÑΘÑ¡¿∩.  Å«½πτÑ¡¡δ⌐  ó
  12285.         αѺπ½∞ΓáΓÑ 20-αáºα∩ñ¡δ⌐  áñαÑß  ¿ß»«½∞ºπÑΓß∩  ºáΓѼ ñ½∩ ñ«ßΓπ»á ¬
  12286.         »á¼∩Γ¿.
  12287.  
  12288.                                     16îí┌────────────────┐
  12289.                                         │                │
  12290.                           ┌────────┐    │                │
  12291.                           │æ¼ÑΘÑ¡¿Ñ├─┐  │                │
  12292.                           └────────┘ │  │                │
  12293.                                      │  ├────────────────┤┐
  12294.                                      └──┼─────>▒▒▒▒▒▒▒▒▒▒│├ ßÑú¼Ñ¡Γ 64è
  12295.                                      ┌─>├────────────────┤┘
  12296.                                      │  │                │
  12297.                                      │  │  Åα«ßΓαá¡ßΓó«  │
  12298.              ┌────────┐ ┌──────┐     │  │    áñαÑ߫󠠠  │
  12299.              │æÑ½Ñ¬Γ«α├─┤ x 16 ├─────┘  │                │
  12300.              └────────┘ └──────┘        │                │
  12301.                                        0└────────────────┘
  12302.  
  12303.  
  12304.              É¿ß. 17.1 âÑ¡Ñαᵿ∩ Σ¿º¿τÑ߬«ú« áñαÑßá ó αÑá½∞¡«¼ αѪ¿¼Ñ.
  12305.  
  12306.  
  12307.          B.Pascal 7 & Objects/LR     - 272 -
  12308.  
  12309.  
  12310.              ùΓ«íδ »«½πτ¿Γ∞ Σ¿º¿τÑ߬¿⌐ áñαÑß ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ,  ßѽѬ-
  12311.         Γ«α¡á∩ τáßΓ∞  ½«ú¿τÑ߬«ú«  áñαÑßá ¿ß»«½∞ºπÑΓß∩ ó ¬áτÑßΓóÑ ¿¡ñѬßá
  12312.         Γáí½¿µδ ñÑß¬α¿»Γ«α«ó.  çỿß∞  ó  Γáí½¿µÑ  ñÑß¬α¿»Γ«α«ó  ß«ñÑনΓ
  12313.         24-í¿Γ«óδ⌐ íẫóδ⌐ áñαÑß,  ¬ ¬«Γ«α«¼π ºáΓѼ ñ½∩ «íαẫóá¡¿∩ Σ¿º¿-
  12314.         τÑ߬«ú« áñαÑßá »α¿íáó½∩ÑΓß∩ ß¼ÑΘÑ¡¿Ñ ½«ú¿τÑ߬«ú« áñαÑßá.
  12315.  
  12316.                                     16îí┌────────────────┐
  12317.                                         │                │
  12318.                           ┌────────┐    │                │
  12319.                           │æ¼ÑΘÑ¡¿Ñ├─┐  │                │
  12320.                           └────────┘ │  │                │
  12321.                                      │  ├────────────────┤┐
  12322.                 Æáí½¿µá ñÑß¬α¿»Γ«α«ó └──┼─────>▒▒▒▒▒▒▒▒▒▒│├ ßÑú¼Ñ¡Γ 64è
  12323.                           ┌──────┐   ┌─>├────────────────┤┘
  12324.                           ├──────┤   │  │                │
  12325.                           ├──────┤   │  │  Åα«ßΓαá¡ßΓó«  │
  12326.                           ├──────┤   │  │    áñαÑ߫󠠠  │
  12327.                        ┌─>├──────┤───┘  │                │
  12328.                        │  ├──────┤      │                │
  12329.                        │  ├──────┤     0└────────────────┘
  12330.                        │  ├──────┤
  12331.                        │  ├──────┤
  12332.                        │  ├──────┤
  12333.                        │  ├──────┤
  12334.                        │  ├──────┤
  12335.                        │  ├──────┤
  12336.                        │  ├──────┤
  12337.                        │  ├──────┤
  12338.             ┌────────┐ │  ├──────┤
  12339.             │æÑ½Ñ¬Γ«α├─┘  └──────┘
  12340.             └────────┘
  12341.  
  12342.              É¿ß. 17.2 âÑ¡Ñαᵿ∩ Σ¿º¿τÑ߬«ú« áñαÑßá ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ.
  12343.  
  12344.              èáªñá∩ ºá»¿ß∞ ó Γáí½¿µÑ ñÑß¬α¿»Γ«α«ó ¡áºδóáÑΓß∩ ñÑß¬α¿»Γ«α«¼
  12345.         ¿ «»αÑñѽ∩ÑΓ ßÑú¼Ñ¡Γ ó »á¼∩Γ¿.  çỿß∞ Γáí½¿µδ ñÑß¬α¿»Γ«α«ó ºá¡¿-
  12346.         ¼áÑΓ 8 íá⌐Γ, á ºá»¿ßá¡¡á∩ ó ñÑß¬α¿»Γ«αÑ ¿¡Σ«α¼áµ¿∩ ó¬½ετáÑΓ ó ßÑ-
  12347.         í∩ íẫóδ⌐ áñαÑß,  »αÑñѽ∞¡«Ñ º¡áτÑ¡¿Ñ ¿ Σ½áú¿ »«½¡«¼«τ¿⌐ ñ«ßΓπ»á
  12348.         ¬ ßÑú¼Ñ¡Γπ.
  12349.  
  12350.              çỿ߿ »αÑñѽ∞¡«ú« º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γá ¿ »«½¡«¼«τ¿⌐ ñ«ßΓπ»á  ó
  12351.         ñÑß¬α¿»Γ«αÑ «»αÑñѽ∩εΓ  αẼÑα  ¿  Γ¿»  ßÑú¼Ñ¡Γá.  æÑú¼Ñ¡Γδ ¼«úπΓ
  12352.         ¿¼ÑΓ∞ αẼÑα «Γ 1 ñ« 65536 íá⌐Γ ¿ ¼«úπΓ íδΓ∞ ßÑú¼Ñ¡ΓἿ ¬«ñá  ¿½¿
  12353.         ßÑú¼Ñ¡ΓἿ ñá¡¡δσ.  æÑú¼Ñ¡Γδ ¬«ñá ¼«úπΓ ß«ñÑαªáΓ∞ óδ»«½¡∩ѼδÑ ¼á-
  12354.         Φ¿¡¡δÑ ¿¡ßΓαπ¬µ¿¿ ¿ ñ«ßΓπ»¡δÑ Γ«½∞¬« »«  τΓÑ¡¿ε  ñá¡¡δÑ. æÑú¼Ñ¡Γδ
  12355.         ñá¡¡δσ ¼«úπΓ ß«ñÑαªáΓ∞ ñá¡¡δÑ,  ñ«ßΓπ»¡δÑ »« τΓÑ¡¿ε ¿ ºá»¿ß¿. çá-
  12356.         »¿ßδóáΓ∞ ñá¡¡δÑ ó ßÑú¼Ñ¡Γδ ¬«ñá ¿½¿ óδ»«½¡∩Γ∞ ¿¡ßΓαπ¬µ¿¿  ó  ßÑú-
  12357.         ¼Ñ¡Γáσ ñá¡¡δσ ¡Ñ󫺼«ª¡«.  ïεíá∩ »«»δΓ¬á ßñѽáΓ∞ φΓ«  ¿½¿ »«»δΓ¬á
  12358.         ñ«ßΓπ»á ¬ ñá¡¡δ¼ ó¡Ñ úαá¡¿µ  ßÑú¼Ñ¡Γá óδºδóáÑΓ «íΘ¿⌐ ßí«⌐ »«  ¡á-
  12359.         απΦÑ¡¿ε ºáΘ¿Γδ  (ß«¬αáΘÑ¡¡« ßí«⌐ GP).  Å«φΓ«¼π αѪ¿¼ ¿ ¡áºδóáÑΓß∩
  12360.         ºáΘ¿ΘÑ¡¡δ¼.
  12361.  
  12362.  
  12363.          B.Pascal 7 & Objects/LR     - 273 -
  12364.  
  12365.              Å« ñá¡¡«¼π áñαÑßπ ó αÑá½∞¡«¼ αѪ¿¼Ñ »α¿¬½áñ¡á∩ »α«úαἼᠼ«-
  12366.         ªÑΓ  «»αÑñѽ¿Γ∞ Σ¿º¿τÑ߬¿⌐ áñαÑß.  é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ φΓ« «íδτ¡«
  12367.         ¡Ñ Γá¬,  »«ß¬«½∞¬π ßÑ½Ñ¬Γ«α¡á∩ τáßΓ∞ ½«ú¿τÑ߬«ú« áñαÑßá  ∩ó½∩ÑΓß∩
  12368.         ¿¡ñѬ߫¼ ó Γáí½¿µÑ ñÑß¬α¿»Γ«α«ó,  ¿ ßá¼ ßÑ½Ñ¬Γ«α ¡Ñ ¿¼ÑÑΓ »α∩¼«ú«
  12369.         «Γ¡«ΦÑ¡¿∩ ¬ óδτ¿ß½Ñ¡¿ε Σ¿º¿τÑ߬«ú« áñαÑßá.  ¥Γ« ñáÑΓ  Γ«  »αÑ¿¼π-
  12370.         ΘÑßΓó«,  τΓ« π»αáó½Ñ¡¿Ñ ó¿αΓπá½∞¡«⌐ »á¼∩Γ∞ε ¼«ª¡« αÑ὿º«óáΓ∞, ¡Ñ
  12371.         ó½¿∩∩ ¡á »α¿¬½áñ¡πε »α«úαá¼¼π.  ìá»α¿¼Ñα, »πΓѼ »α«ßΓ«ú« «í¡«ó½Ñ-
  12372.         ¡¿∩ »«½∩ íẫó«ú« áñαÑßá ñÑß¬α¿»Γ«αá ßÑú¼Ñ¡Γá,  «»Ñαᵿ«¡¡á∩ ß¿ß-
  12373.         ΓѼᠼ«ªÑΓ »ÑαѼÑΘáΓ∞ ßÑú¼Ñ¡Γ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿ íѺ ó½¿∩¡¿∩  ¡á
  12374.         ¿ß»«½∞ºπεΘπε  ßÑú¼Ñ¡Γ »α¿¬½áñ¡πε »α«úαá¼¼π.  Åਪ½áñ¡á∩ »α«úαá¼¼á
  12375.         ßßδ½áÑΓß∩ Γ«½∞¬« ¡á ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá,  ¿ ¡á ßÑ½Ñ¬Γ«α  ¡Ñ  ó½¿∩εΓ
  12376.         ¿º¼Ñ¡Ñ¡¿∩ ó ñÑß¬α¿»Γ«αÑ.
  12377.  
  12378.              Åਪ½áñ¡á∩ »α«úαἼᠠαÑñ¬« ¿¼ÑÑΓ ñѽ« ß ñÑß¬α¿»Γ«αἿ.  Åα¿
  12379.         ¡Ñ«íσ«ñ¿¼«ßΓ¿ ñÑß¬α¿»Γ«αδ ß«ºñáεΓß∩ ¿  π¡¿τΓ«ªáεΓß∩  «»Ñαᵿ«¡¡«⌐
  12380.         ß¿ßΓѼ«⌐ ¿ áñ¼¿¡¿ßΓαáΓ«α«¼ »á¼∩Γ¿, á »α¿¬½áñ¡á∩ »α«úαἼᠺ¡áÑΓ «
  12381.         ß««ΓóÑΓßΓóπεΘ¿σ ßÑ½Ñ¬Γ«αáσ.  æÑ½Ñ¬Γ«αδ á¡á½«ú¿τ¡δ «»¿ßáΓѽ∩¼ Σá⌐-
  12382.         ½«ó - ß Γ«τ¬¿ ºαÑ¡¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ φΓ« Γ«,  τΓ« «íß½πª¿óá-
  12383.         ÑΓß∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐, ¡« ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠ«¡¿ αáí«Γá-
  12384.         εΓ ¬á¬ ¿¡ñѬßδ ß«ñÑαªáΘ¿σ ñ«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε Γáí½¿µ.
  12385.  
  12386.  
  12387.  
  12388.          B.Pascal 7 & Objects/LR     - 274 -
  12389.  
  12390.                     ÉáßΦ¿αÑ¡¿∩ Borland ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS
  12391.         ─────────────────────────────────────────────────────────────────
  12392.  
  12393.              ÉáßΦ¿αÑ¡¿∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á Borland Pascal αÑ὿º«óá¡δ τÑ-
  12394.         αѺ ñóá ¬«¼»«¡Ñ¡Γá: DPMI-ßÑαóÑα (Σá⌐½ DPMI16BI.OVL) ¿ áñ¼¿¡¿ßΓαá-
  12395.         Γ«α φΓá»á óδ»«½¡Ñ¡¿∩ (Σá⌐½ RTM.EXE).
  12396.  
  12397.                                    DPMI-ßÑαóÑα
  12398.         ─────────────────────────────────────────────────────────────────
  12399.  
  12400.              ê¡ΓÑαΣÑ⌐ß ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á  DOS  (DPMI)  - φΓ« «Γαáß½Ñó«⌐
  12401.         ßΓá¡ñáαΓ, »«ºó«½∩εΘ¿⌐ »α«úαἼἠDOS á»»áαáΓ¡«-¡Ñºáó¿ß¿¼δ¼  »πΓѼ
  12402.         »«½πτ¿Γ∞  ñ«ßΓπ»  ¬  αáºó¿Γδ¼ ßαÑñßΓóá¼ »Ñαß«¡á½∞¡δ󠬫¼»∞εΓÑα«ó,
  12403.         αÑ὿º«óá¡¡δσ ¡á »α«µÑßß«αáσ 80286,  80386  ¿  80486.  Ä»αÑñѽѡδ
  12404.         Σπ¡¬µ¿¿ DPMI  ñ½∩ «íß½πª¿óá¡¿∩ Γáí½¿µ ñÑß¬α¿»Γ«α«ó,  »ÑαѬ½ετÑ¡¿∩
  12405.         αѪ¿¼á, αáß»αÑñѽѡ¿∩ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿,  óδñѽѡ¿∩ »á¼∩Γ¿  DOS,
  12406.         π»αáó½Ñ¡¿∩ »«ñß¿ßΓѼ«⌐  »αÑαδóá¡¿⌐ ¿ óºá¿¼«ñÑ⌐ßΓó¿∩ ß »α«úαἼἿ
  12407.         αÑá½∞¡«ú« αѪ¿¼á.
  12408.  
  12409.              ÉáßΦ¿αÑ¡¿∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á  Borland  Pascal  «ß¡«óá¡δ  ¡á
  12410.         ß»Ñµ¿Σ¿¬áµ¿¿ DPMI 0.9. ò«Γ∩ ß»Ñµ¿Σ¿¬áµ¿∩ DPMI ¡Ñ »«ññÑনóáÑΓ óδ-
  12411.         º«óδ DOS ¿º »α¿¬½áñ¡δσ »α«úαá¼¼ ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á,  DPMI-ßÑαóÑα
  12412.         Borland ¿  ßÑαóÑαδ  ¼¡«ú¿σ ñαπú¿σ Σ¿α¼,  ó¬½ετá∩ π½πτΦÑ¡¡δ⌐ αѪ¿¼
  12413.         Windows 3.x, »«ññÑনóáεΓ »αÑαδóá¡¿Ñ INT 21H ¿ ñαπú¿Ñ ßΓá¡ñáαΓ¡δÑ
  12414.         »αÑαδóá¡¿∩ DOS ¿ BIOS,  ¿ß»«½∞ºπѼδÑ «íδτ¡« ó »α¿½«ªÑ¡¿∩σ DOS ºá-
  12415.         Θ¿ΘÑ¡¡«ú« αѪ¿¼á.
  12416.  
  12417.                          Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩
  12418.         ─────────────────────────────────────────────────────────────────
  12419.  
  12420.              Çñ¼¿¡¿ßΓαáΓ«α φΓá»á  óδ»«½¡Ñ¡¿∩ (RTM.EXE) ∩ó½∩ÑΓß∩ ¡áñßΓα«⌐-
  12421.         ¬«⌐ DPMI-ßÑαóÑαá ¿ «íÑß»Ñτ¿óáΓ∞ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼  ºáΘ¿ΘÑ¡-
  12422.         ¡«ú« αѪ¿¼á ¡Ñ߬«½∞¬« ß½πªÑí¡δσ Σπ¡¬µ¿⌐.  Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ-
  12423.         »«½¡Ñ¡¿∩ ß«ñÑαª¿Γ ºáúαπºτ¿¬ ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á  ¿  áñ¼¿¡¿ßΓαáΓ«α
  12424.         »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á  ¿  »«ºó«½∩ÑΓ  »«ñ DPMI ß«ßπΘÑßΓó«óáΓ∞
  12425.         ¡Ñ߬«½∞¬¿¼ ¬½¿Ñ¡Γá¼ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.
  12426.  
  12427.              Åα¿½«ªÑ¡¿∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á Borland ¿ß»«½∞ºπεΓ ΓÑ ªÑ  Σ«α-
  12428.         ¼áΓδ óδ»«½¡∩Ѽδσ Σá⌐½«ó,  τΓ« ¿ Windows 3.x ¿ OS/2 1.x. Åα«úαá¼¼-
  12429.         ¡δ⌐ ºáúαπºτ¿¬ áñ¼¿¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩ ¼«ªÑΓ ºáúαπªáΓ∞ ¬á¬
  12430.         óδ»«½¡∩ѼδÑ Σá⌐½δ (.EXE), Γᬠ¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓÑ-
  12431.         ¬¿ (.DLL).
  12432.  
  12433.              Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á »«ºó«½∩ÑΓ »α¿¬½áñ¡δ¼
  12434.         »α«úαἼἠºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á αáß»αÑñѽ∩Γ∞ í½«¬¿ ñ¿¡á¼¿τÑ߬«⌐ »á-
  12435.         ¼∩Γ¿. Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ »«ññÑনóáÑΓ Σ¿¬ß¿α«óá¡¡δÑ, »ÑαѼÑΘáÑ-
  12436.         ¼δÑ ¿ óδúαπªáѼδÑ í½«¬¿,  á ΓᬪѠ«íß½πª¿óáÑΓ ¬«ñ ¿ ßÑú¼Ñ¡Γδ ñá¡-
  12437.         ¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  êß»«½∞ºπ∩ π¡¿¬á½∞¡δÑ  ñ½∩  ºáΘ¿ΘÑ¡¡«ú«
  12438.         αѪ¿¼á ßαÑñßΓóá,  áñ¼¿¡¿ßΓαáΓ«α  »á¼∩Γ¿ Σπ¡¬µ¿«¡¿απÑΓ ΓᬪѠó ¬á-
  12439.         τÑßΓóÑ áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó, áóΓ«¼áΓ¿τÑ߬¿ ºáúαπªá∩ ¿ óδúαπªá∩
  12440.         ßÑú¼Ñ¡Γδ ¬«ñá  (»«  φΓ«⌐ »α¿τ¿¡Ñ »α¿¬½áñ¡«⌐ »α«úαἼѠºáΘ¿ΘÑ¡¡«ú«
  12441.         αѪ¿¼á ¡Ñ ΓαÑíπÑΓß∩ ¼«ñπ½∞ Overlay).
  12442.  
  12443.  
  12444.          B.Pascal 7 & Objects/LR     - 275 -
  12445.  
  12446.              Åਪ½áñ¡δÑ »α«úαá¼¼δ ¼«úπΓ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ »α«úαἼἠ ºá-
  12447.         Θ¿ΘÑ¡¡«ú« αѪ¿¼á τÑαѺ ¼«ñπ½∞ WinAPI.  î«ñπ½∞ WinAPI, «»¿ßá¡¡δ⌐ ó
  12448.         ß½ÑñπεΘѼ αáºñѽÑ, αÑ὿ºπÑΓ »«ñ¼¡«ªÑßΓó« Σπ¡¬µ¿⌐ API (»α¿¬½áñ¡«-
  12449.         ú«  »α«úαá¼¼¡«ú« ¿¡ΓÑαΣÑ⌐ßá) Windows,  «íÑß»Ñτ¿óá∩ π»αáó½Ñ¡¿Ñ »á-
  12450.         ¼∩Γ∞ε,  «íß½πª¿óá¡¿Ñ »α«úαá¼¼¡δσ ¼«ñπ½Ñ⌐,  π»αáó½Ñ¡¿Ñ  αÑßπαßἿ,
  12451.         ºáúαπº¬π  ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδσ í¿í½¿«ΓѬ ¿ ñ«ßΓπ» ¬ ßÑ½Ñ¬Γ«αá¼
  12452.         ¡á ¡¿ª¡Ñ¼ πα«ó¡Ñ.  Å«ß¬«½∞¬π áñ¼¿¡¿ßΓαáΓ«α φΓá»á  óδ»«½¡Ñ¡¿∩  API
  12453.         ∩ó½∩ÑΓß∩ »«ñ¼¡«ªÑßΓó«¼ API Windows,  óδ ¼«ªÑΓÑ ¡á»¿ßáΓ∞ ß«ó¼ÑßΓ¿-
  12454.         ¼δÑ ¡á πα«ó¡Ñ ñó«¿τ¡«ú« ¬«ñá ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδÑ  í¿í½¿«ΓѬ¿,
  12455.         ¬«Γ«αδÑ  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ¿  ó  ºáΘ¿ΘÑ¡¡«¼  αѪ¿¼Ñ  DOS,  ¿ ó
  12456.         Windows.
  12457.  
  12458.  
  12459.  
  12460.          B.Pascal 7 & Objects/LR     - 276 -
  12461.  
  12462.               Éáºαáí«Γ¬á »α¿¬½áñ¡δσ »α«úαá¼¼ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
  12463.         ─────────────────────────────────────────────────────────────────
  12464.  
  12465.              ìỿßá¡¿Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¡Ñ  »αÑñß-
  12466.         Γáó½∩ÑΓ ß«í«⌐ ß½«ª¡«⌐ ºáñáτ¿.  éá¼ ¡Ñ ¡πª¡« íÑß»«¬«¿Γ∞ß∩ « ßѽѬ-
  12467.         Γ«αáσ ¿  áñαÑßáσ  »á¼∩Γ¿.  Ä»Ñαᵿ«¡¡á∩  ß¿ßΓѼᠠߠ αáßΦ¿αÑ¡¿∩¼¿
  12468.         Borland óßÑ ñѽáÑΓ ºá óáß. öá¬Γ¿τÑ߬¿, í«½∞Φ¿¡ßΓó« óáΦ¿σ »α«úαá¼¼
  12469.         αÑá½∞¡«ú« αѪ¿¼á ¼«ªÑΓ »αѬαáß¡« αáí«ΓáΓ∞ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ.  é
  12470.         ß½ÑñπεΘ¿σ αáºñѽáσ «»¿ßδóáÑΓß∩ ¡Ñ¬«Γ«αá∩ αạ¿µá ¼Ñªñπ αÑá½∞¡δ¼ ¿
  12471.         ºáΘ¿ΘÑ¡¡δ¼ αѪ¿¼«¼,  « ¬«Γ«αδσ óδ  ñ«½ª¡δ  º¡áΓ∞  »α¿  αáºαáí«Γ¬Ñ
  12472.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.
  12473.  
  12474.  
  12475.                   ìáñѪ¡«Ñ »α«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
  12476.         ─────────────────────────────────────────────────────────────────
  12477.  
  12478.              æπΘÑßΓóπÑΓ ¡Ñ߬«½∞¬« »α¿Ñ¼«ó, ¿ß»«½∞ºπѼδσ «íδτ¡« ó »α«úαá¼-
  12479.         ¼áσ αÑá½∞¡«ú« αѪ¿¼á, ¬«Γ«αδÑ ó »α«úαá¼¼áσ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á íπ-
  12480.         ñπΓ »α¿ó«ñ¿Γ∞ ¬ «íΘѼπ ¡áαπΦÑ¡¿ε ºáΘ¿Γδ (ßí«⌐ GP). Borland Pascal
  12481.         »α¿ ßí«Ñ GP óδó«ñ¿Γ «Φ¿í¬π φΓá»á óδ»«½¡Ñ¡¿∩ 216. æí«⌐ GP »α«¿ßσ«-
  12482.         ñ¿Γ, ¬«úñá óδ »δΓáÑΓÑß∞ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ »á¼∩Γ¿,  ¬ ¬«Γ«α«⌐ óáΦá
  12483.         »α¿¬½áñ¡á∩ »α«úαἼᠠ«íαáΘáΓ∞ß∩  ¡Ñ ¼«ªÑΓ.  Ä»Ñαᵿ«¡¡á∩ ß¿ßΓѼá
  12484.         «ßΓá¡áó½¿óáÑΓ »α¿¬½áñ¡πε  »α«úαá¼¼π,  ¡« ßí«∩ ß¿ßΓÑ¼δ ¡Ñ »α«¿ßσ«-
  12485.         ñ¿Γ.  ò«Γ∩ ßí«¿ GP ¿ »αѬαáΘáεΓ αáí«Γπ óáΦÑ⌐  »α«úαá¼¼δ,  ß¿ßΓѼá
  12486.         "ºáΘ¿ΘÑ¡á" «Γ ßí«∩. è ßí«ε GP »α¿ó«ñ¿Γ ß½ÑñπεΘÑÑ:
  12487.  
  12488.              * ºáúαπº¬á ó ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ ¡Ññ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐;
  12489.  
  12490.              * «íαáΘÑ¡¿Ñ ¬ »á¼∩Γ¿ ó¡Ñ úαá¡¿µδ ßÑú¼Ñ¡Γá;
  12491.  
  12492.              * ºá»¿ß∞ ó ßÑú¼Ñ¡Γ ¬«ñá;
  12493.  
  12494.              * αáºδ¼Ñ¡«óá¡¿Ñ π¬áºáΓѽÑ⌐ nil.
  12495.  
  12496.                    Åα¿¼Ñτá¡¿Ñ: æí«¿ »« ¡áαπΦÑ¡¿ε ºáΘ¿Γδ »αÑñ«σαá¡∩εΓ óáΦπ
  12497.               ß¿ßΓѼπ «Γ »½«σ«⌐ »αá¬Γ¿¬¿ »α«úαá¼¼¿α«óá¡¿∩.
  12498.  
  12499.  
  12500.  
  12501.          B.Pascal 7 & Objects/LR     - 277 -
  12502.  
  12503.                               çáúαπº¬á ó ßÑú¼Ñ¡Γ¡δÑ
  12504.                          αÑú¿ßΓαδ ¡Ññ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐
  12505.         ─────────────────────────────────────────────────────────────────
  12506.  
  12507.              è«úñá »α«µÑßß«α αáí«ΓáÑΓ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ, ßÑú¼Ñ¡Γ¡δÑ αÑ-
  12508.         ú¿ßΓαδ (CS,  DS,  ES ¿ SS) ¼«úπΓ ß«ñÑαªáΓ∞ Γ«½∞¬« ßÑ½Ñ¬Γ«αδ. Å«ß-
  12509.         ¬«½∞¬π ßÑ½Ñ¬Γ«αδ ∩ó½∩εΓß∩ ¿¡ñѬßἿ ó Γáí½¿µÑ  ñÑß¬α¿»Γ«α«ó,  «¡¿
  12510.         ¡Ñ ¿¼ÑεΓ  Σ¿º¿τÑ߬«ú«  «Γ¡«ΦÑ¡¿∩ ¬ »á¼∩Γ¿,  ¡á ¬«Γ«απε ßßδ½áÑΓß∩.
  12511.         àß½¿ óδ »δΓáÑΓÑß∞ ºáúαπº¿Γ∞  ó  ßÑú¼Ñ¡Γ¡δ⌐  αÑú¿ßΓα  »α«¿ºó«½∞¡«Ñ
  12512.         º¡áτÑ¡¿Ñ, Γ«  ó«º¼«ª¡«  »«½πτ¿ΓÑ ßí«⌐ GP,  »«ß¬«½∞¬π φΓ« º¡áτÑ¡¿Ñ
  12513.         ¼«ªÑΓ ¡Ñ »αÑñßΓáó½∩Γ∞ ñ«»πßΓ¿¼«ú« ñÑß¬α¿»Γ«αá.
  12514.  
  12515.                             öπ¡¬µ¿∩ Ptr ¿ ¼áßß¿óδ Mem
  12516.         ─────────────────────────────────────────────────────────────────
  12517.  
  12518.              Åα¿ αáºδ¼Ñ¡«óá¡¿¿ π¬áºáΓѽÑ⌐ ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ  ¬«ñ  ñ½∩
  12519.         ºáúαπº¬¿ ßÑú¼Ñ¡Γ¡«ú«  αÑú¿ßΓαá.  àß½¿  óδ ßΓα«¿ΓÑ π¬áºáΓѽ¿ ß »«-
  12520.         ¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿ Ptr,  Γ« ¡πª¡« «íÑß»Ñτ¿Γ∞,  τΓ«íδ  ßÑú-
  12521.         ¼Ñ¡Γ¡á∩ τáßΓ∞  π¬áºáΓѽ∩ íδ½á ñ«»πßΓ¿¼δ¼ ßÑ½Ñ¬Γ«α«¼.  Ç¡á½«ú¿τ¡«,
  12522.         »α¿ αáí«ΓÑ ß ¼áßß¿óἿ Mem,  MemW ¿ MemL óδ ó¼ÑßΓ« Σ¿º¿τÑ߬¿σ áñ-
  12523.         αÑß«ó ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ß∩ ßÑ½Ñ¬Γ«αδ.  ìá»α¿¼Ñα,  »α¿ ñ«ßΓπ»Ñ  ¬
  12524.         αáí«τÑ⌐  «í½áßΓ¿ ROM BIOS (ßÑú¼Ñ¡Γ $0040) ¿½¿ ¬ «í½áßΓ∩¼ ó¿ñÑ«»á-
  12525.         ¼∩Γ¿ (ßÑú¼Ñ¡Γδ $A000,  $B000 ¿ $B800) ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ ó¼ÑßΓ«
  12526.         áíß«½εΓ¡δσ º¡áτÑ¡¿⌐ »ÑαѼѡ¡δÑ SegXXXX.  (ÅÑαѼѡ¡δÑ SegXXXX «»¿-
  12527.         ßδóáεΓß∩ ¡¿ªÑ.)
  12528.  
  12529.                               Çíß«½εΓ¡δÑ »ÑαѼѡ¡δÑ
  12530.         ─────────────────────────────────────────────────────────────────
  12531.  
  12532.              é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ óδ ¡Ñ ¼«ªÑΓÑ ºáñáóáΓ∞  áíß«½εΓ¡δ⌐  áñαÑß
  12533.         »ÑαѼѡ¡«⌐. ïεí«⌐ ¿ßσ«ñ¡δ󠬫ñ, úñÑ ßÑú¼Ñ¡Γ ¿ ß¼ÑΘÑ¡¿Ñ ºáñáεΓß∩ ó
  12534.         «»ÑαáΓ«αÑ absolute,  ¡πª¡« »ÑαÑ»¿ßáΓ∞. ìá»α¿¼Ñα, óá¼ ¼«ªÑΓ »«ΓαÑ-
  12535.         í«óáΓ∞ß∩ »«ßΓα«¿Γ∞ π¬áºáΓѽ∞, ¿ß»«½∞ºπ∩ »ÑαѼѡ¡δÑ SegXXXX.
  12536.  
  12537.  
  12538.  
  12539.          B.Pascal 7 & Objects/LR     - 278 -
  12540.  
  12541.                               Ä»Ñαᵿ¿ ß ßÑú¼Ñ¡ΓἿ
  12542.         ─────────────────────────────────────────────────────────────────
  12543.  
  12544.              ä«íáó½Ñ¡¿Ñ ¿½¿ óδτ¿Γá¡¿Ñ º¡áτÑ¡¿⌐ ¿º ßÑ½Ñ¬Γ«α¡«⌐ τáßΓ¿  π¬á-
  12545.         ºáΓѽ∩ «íδτ¡« ¡Ñ ñ«»π߬áÑΓß∩.  ìá»α¿¼Ñα, ñ«íáó½Ñ¡¿Ñ ¬ ßÑ½Ñ¬Γ«α¡«⌐
  12546.         τáßΓ¿ π¬áºáΓѽ∩ $1000 ó αÑá½∞¡«¼ αѪ¿¼Ñ πóѽ¿τ¿óáÑΓ π¬áºáΓѽ∞  ¡á
  12547.         64è, ¡«  ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ αѺπ½∞Γ¿απεΘ¿⌐ π¬áºáΓѽ∞ íπñÑΓ ¡Ññ«-
  12548.         »πßΓ¿¼δ¼. é¼ÑßΓ« φΓ«ú« ñ½∩ óδñѽѡ¿∩ ¿ π»αáó½Ñ¡¿∩ í½«¬á¼¿  »á¼∩Γ¿
  12549.         ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε GlobalXXXX ¼«ñπ½∩ WinAPI.
  12550.  
  12551.              é Borland Pascal ßπΘÑßΓóπÑΓ ß»«ß«í óδ»«½¡Ñ¡¿∩ áα¿Σ¼ÑΓ¿τÑ߬¿σ
  12552.         «»Ñαᵿ⌐ ß ßÑ½Ñ¬Γ«αἿ ß »«¼«Θ∞ε »ÑαѼѡ¡«⌐ SelectorInc  (ß¼. ¡¿-
  12553.         ªÑ).
  12554.  
  12555.                              êß»«½∞º«óá¡¿Ñ ßÑú¼Ñ¡Γ¡δσ
  12556.                     αÑú¿ßΓα«ó ó ¬áτÑßΓóÑ óαѼѡ¡δσ »ÑαѼѡ¡δσ
  12557.         ─────────────────────────────────────────────────────────────────
  12558.  
  12559.              é αÑá½∞¡«¼  αѪ¿¼Ñ  ¡Ñ¬«Γ«αδÑ ßΓáαδÑ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ
  12560.         ¿ß»«½∞ºπεΓ ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ ñ½∩ σαá¡Ñ¡¿∩ óαѼѡ¡δσ »ÑαѼѡ¡δσ.
  12561.         é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ φΓ« αáí«ΓáΓ∞ ¡Ñ íπñÑΓ,  Γᬠ¬á¬ «íδτ¡« ß«σαá-
  12562.         ¡∩ѼδÑ ó ßÑú¼Ñ¡Γ¡δσ αÑú¿ßΓαáσ óαѼѡ¡δÑ º¡áτÑ¡¿∩ ¡Ñ ∩ó½∩εΓß∩  ñ«-
  12563.         »πßΓ¿¼δ¼¿ ßÑ½Ñ¬Γ«αἿ.
  12564.  
  12565.                        ä«ßΓπ» ¬ »á¼∩Γ¿ ó¡Ñ úαá¡¿µ ßÑú¼Ñ¡Γá
  12566.         ─────────────────────────────────────────────────────────────────
  12567.  
  12568.              é αÑá½∞¡«¼  αѪ¿¼Ñ ¬áªñδ⌐ ßÑú¼Ñ¡Γ ¿¼ÑÑΓ αẼÑα 64è.  é ºáΘ¿-
  12569.         ΘÑ¡¡«¼ αѪ¿¼Ñ ñÑß¬α¿»Γ«α ßÑú¼Ñ¡Γá ß«ñÑαª¿Γ »«½Ñ,  ß»Ñµ¿Σ¿µ¿απεΘÑÑ
  12570.         »αÑñѽ∞¡δ⌐ αẼÑα ßÑú¼Ñ¡Γá, ¿ Ñß½¿ óδ »δΓáÑΓÑß∞ «íαáΓ¿Γ∞ß∩ ¬ ñá¡-
  12571.         ¡δ¼ ó¡Ñ úαá¡¿µ ßÑú¼Ñ¡Γá,  »« »«½πτ¿ΓÑ ßí«⌐ GP. Åα¿ ºáúαπº¬Ñ »α¿¬-
  12572.         ½áñ¡«⌐ »α«úαá¼¼δ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ πßΓá¡áó½¿óáÑΓ ß«-
  12573.         «ΓóÑΓßΓóπεΘ¿Ñ »αÑñѽ∞¡δÑ º¡áτÑ¡¿∩ ñ½∩ ßÑú¼Ñ¡Γ«ó  ¬«ñá,  ñá¡¡δσ  ¿
  12574.         ßΓѬá.  èα«¼Ñ Γ«ú«, í½«¬ »á¼∩Γ¿, αáß»αÑñѽ∩Ѽδ⌐ ß »«¼«Θ∞ε Σπ¡¬µ¿¿
  12575.         GlobalAlloc ¼«ñπ½∩ WinAPI,  ¿¼ÑÑΓ »αÑñѽ∞¡«Ñ  º¡áτÑ¡¿Ñ  ßÑú¼Ñ¡Γá,
  12576.         ß««ΓóÑΓßΓóπεΘÑÑ αẼÑαπ í½«¬á »á¼∩Γ¿.
  12577.  
  12578.  
  12579.  
  12580.          B.Pascal 7 & Objects/LR     - 279 -
  12581.  
  12582.                               çỿß∞ ó ßÑú¼Ñ¡Γ ¬«ñá
  12583.         ─────────────────────────────────────────────────────────────────
  12584.  
  12585.              é αÑá½∞¡«¼  αѪ¿¼Ñ ¼«ª¡« ºá»¿ßδóáΓ∞ »ÑαѼѡ¡δÑ ó ßÑú¼Ñ¡Γ ¬«-
  12586.         ñá, »«ß¬«½∞¬π αÑá½∞¡δÑ αѪ¿¼ ¡Ñ «»αÑñѽ∩ÑΓ,  τΓ« ¼«ªÑΓ ¿  τΓ«  ¡Ñ
  12587.         ¼«ªÑΓ ßπΘÑßΓó«óáΓ∞  ó  ßÑú¼Ñ¡ΓÑ.  é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ φΓ« ¡Ñ Γá¬.
  12588.         æÑ½Ñ¬Γ«α ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¿¼ÑÑΓ Σ½áú τΓÑ¡¿∩/ºá»¿ß¿ ¿½¿  ñ«ßΓπ»á
  12589.         Γ«½∞¬« »« τΓÑ¡¿ε,  á ßÑ½Ñ¬Γ«αδ ¬«ñá óßÑúñá «Γ¼ÑτÑ¡δ ¬á¬ ñ«ßΓπ»¡δÑ
  12590.         Γ«½∞¬« »« τΓÑ¡¿ε. àß½¿ óδ »δΓáÑΓÑß∞ ºá»¿ßδóáΓ∞ ó ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡-
  12591.         Γá ¬«ñá,  »α«¿ßσ«ñ¿Γ ßí«⌐ GP. Äñ¡á¬« óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ »ßÑó-
  12592.         ñ«¡¿¼ ¿ ¡á»¿ßáΓ∞ ßἫ¼«ñ¿Σ¿µ¿απεΘ¿⌐ß∩ ¬«ñ (ß¼. ¡¿ªÑ).
  12593.  
  12594.                           Éáºδ¼Ñ¡«óá¡¿Ñ π¬áºáΓѽÑ⌐ nil
  12595.         ─────────────────────────────────────────────────────────────────
  12596.  
  12597.              Åα¿ »αÑ«íαẫóá¡¿¿  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ αÑá½∞¡«ú« αѪ¿¼á ó
  12598.         ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼, ó »α«úαá¼¼Ñ, ¬«Γ«αá∩ πªÑ ú«ñδ αáí«Γá½á íѺ «Φ¿-
  12599.         í«¬,  ó«º¼«ª¡« ó¡Ñºá»¡«Ñ »«∩ó½Ñ¡¿Ñ «»αÑñѽѡ¡δσ «Φ¿í«¬. ìá»α¿¼Ñα,
  12600.         óδ ¼«ªÑΓÑ ß½πτá⌐¡« αáºδ¼Ñ¡«óδóáΓ∞ π¬áºáΓѽ∞ nil,  ¿½¿ «í¡áαπª¿ΓÑ,
  12601.         τΓ« óáΦá »α«úαá¼¼á ß«ñÑαª¿Γ "»«ΓÑα∩¡¡δÑ" π¬áºáΓѽ¿, ¬«Γ«αδÑ αáºδ-
  12602.         ¼Ñ¡«óδóáεΓß∩ »«ß½Ñ ¿σ «ßó«í«ªñÑ¡¿∩. é αÑá½∞¡«¼ αѪ¿¼Ñ ΓᬿѠ«Φ¿í-
  12603.         ¬¿ ¡Ñ «í∩ºáΓѽ∞¡« »α«∩ó½∩εΓß∩,  ¡« ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ «¡¿ «íδτ¡«
  12604.         »α¿ó«ñ∩Γ  ¬ ßí«ε GP.  æ«ú½áß¡« ßó«Ñ¼π ¡áºóá¡¿ε,  ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼
  12605.         º¡áτ¿Γѽ∞¡« ½πτΦÑ »αÑñ«σαá¡∩ÑΓ óáß «Γ «Φ¿í«¬,  ßó∩ºá¡¡δσ ß π¬áºá-
  12606.         Γѽ∩¼¿.
  12607.  
  12608.                              æÑú¼Ñ¡Γδ ¬«ñá ¿ ñá¡¡δσ
  12609.         ─────────────────────────────────────────────────────────────────
  12610.  
  12611.              Ç¡á½«ú¿τ¡« »α«úαἼѠBorland Pascal αÑá½∞¡«ú« αѪ¿¼á,  »α«ú-
  12612.         αἼᠺáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ß«ñÑαª¿Γ ¡Ñ߬«½∞¬« ßÑú¼Ñ¡Γ«ó ¬«ñá,  ßÑú-
  12613.         ¼Ñ¡Γ ñá¡¡δσ  ¿ ßÑú¼Ñ¡Γ ßΓѬá.  Åα¿ ºáúαπº¬Ñ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú«
  12614.         αѪ¿¼á áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ áóΓ«¼áΓ¿τÑ߬¿ óδñѽ∩ÑΓ  ßÑ-
  12615.         ½Ñ¬Γ«αδ ñ½∩  ßÑú¼Ñ¡Γ«ó ¬«ñá,  ñá¡¡δσ ¿ ßΓѬá.  ä½∩ ßÑú¼Ñ¡Γ«ó ¬«ñá
  12616.         ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $C ¼«ª¡« π»αáó½∩Γ∞ «Γñѽ∞¡δ¼¿ áΓ-
  12617.         α¿íπΓἿ. é τáßΓ¡«ßΓ¿,  ßÑú¼Ñ¡Γδ ¬«ñá ¼«ª¡« ßñѽáΓ∞ »ÑαѼÑΘáÑ¼δ¼¿
  12618.         ¿½¿ Σ¿¬ß¿α«óá¡¡δ¼¿ ó Σ¿º¿τÑ߬«⌐  »á¼∩Γ¿,  «¡¿  ¼«úπΓ  ºáúαπªáΓ∞ß∩
  12619.         »αÑñóáα¿Γѽ∞¡« ¿½¿  »«  ºá»α«ßπ,  á ΓᬪѠ¼«úπΓ íδΓ∞ óδúαπªáÑ¼δ¼¿
  12620.         ¿½¿ »«ßΓ«∩¡¡δ¼¿.
  12621.  
  12622.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ « ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá $C αáßß-
  12623.               ¬áºδóáÑΓß∩ ó â½áóÑ 21 ñá¡¡«ú« απ¬«ó«ñßΓóá ¿ ó â½áóÑ 2 ("ä¿-
  12624.               αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá  »α«úαá¼¼¿ß-
  12625.               Γá".
  12626.  
  12627.              ÇΓα¿íπΓδ ßÑú¼Ñ¡Γá  ¬«ñá »«ºó«½∩εΓ óá¼ «í«º¡áτáΓ∞ ßÑú¼Ñ¡Γ ¬á¬
  12628.         ßΓáΓ¿τÑ߬¿⌐ (»ÑαѼÑΘáѼδ⌐,  »αÑñóáα¿Γѽ∞¡« ºáúαπªáѼδ⌐,  »«ßΓ«∩¡-
  12629.         ¡δ⌐) ¿½¿ ñ¿¡á¼¿τÑ߬¿⌐ (»ÑαѼÑΘáѼδ⌐, ºáúαπªáѼδ⌐ »« ºá»α«ßπ, óδú-
  12630.         απªáѼδ⌐). Æá¬¿¼ «íαẫ¼,  ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ óá¼ ¡Ñ  ¡πª¡«  ¿ß-
  12631.         »«½∞º«óáΓ∞ ¼«ñπ½∞ Overlay ¿ ñ¿αÑ¬Γ¿ó𠬫¼»¿½∩Γ«αá $O,  ¿ ó óÑαß¿¿
  12632.         ¼«ñπ½∩ System ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á »ÑαѼѡ¡δÑ OvrXXXXXX «ΓßπΓß-
  12633.         ΓóπεΓ.
  12634.  
  12635.  
  12636.          B.Pascal 7 & Objects/LR     - 280 -
  12637.  
  12638.                   ô»αáó½Ñ¡¿Ñ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε
  12639.         ─────────────────────────────────────────────────────────────────
  12640.  
  12641.              Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐   «í½áßΓ¿   »á¼∩Γ¿
  12642.         Borland Pascal ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ñ«ó«½∞¡« ßπΘÑßΓóÑ¡¡« «Γ½¿τáÑΓß∩
  12643.         «Γ áñ¼¿¡¿ßΓαáΓ«αá  ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐   »á¼∩Γ¿   Borland
  12644.         Pascal αÑá½∞¡«ú«   αѪ¿¼á.   é   τáßΓ¡«ßΓ¿,  »ÑαѼѡ¡δÑ  HeapOrg,
  12645.         HeapEnd, HeapPtr ¿ FreeList ó óÑαß¿¿ ¼«ñπ½∩ System ñ½∩ ºáΘ¿ΘÑ¡¡«-
  12646.         ú« αѪ¿¼á  ¡Ñ «»αÑñѽѡδ.  Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ ñ¿¡á¼¿-
  12647.         τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿  Borland  Pascal  ºáΘ¿ΘÑ¡¡«ú«
  12648.         αѪ¿¼á (¬«Γ«αδ⌐ ¿ñÑ¡Γ¿τÑ¡ áñ¼¿¡¿ßΓαáΓ«απ φΓá»á óδ»«½¡Ñ¡¿∩ ñ¿¡á¼¿-
  12649.         τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ Borland Pascal  ñ½∩  Windows)
  12650.         ñ½∩ óδ»«½¡Ñ¡¿∩  «ß¡«ó¡δσ «»Ñαᵿ⌐ »« óδñѽѡ¿ε ¿ «ßó«í«ªñÑ¡¿ε »á-
  12651.         ¼∩Γ¿ ¿ß»«½∞ºπÑΓ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩, á ñ½∩ «»Γ¿¼¿ºáµ¿¿
  12652.         αáß»αÑñѽѡ¿∩ ¡Ñí«½∞Φ¿σ  í½«¬«ó »á¼∩Γ¿ ó¬½ετáÑΓ ó ßÑí∩ »«ñß¿ßΓѼπ
  12653.         óΓ«α¿τ¡«ú« αáß»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γá.  Å«ñα«í¡ÑÑ  «í  áñ¼¿¡¿ßΓαáΓ«αÑ
  12654.         ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿ »á¼∩Γ¿ φΓá»á óδ»«½¡Ñ¡¿∩ αáßß-
  12655.         ¬áºδóáÑΓß∩ ó â½áóÑ 21.
  12656.  
  12657.                            ÅαÑñ«»αÑñѽѡ¡δÑ ßÑ½Ñ¬Γ«αδ
  12658.         ─────────────────────────────────────────────────────────────────
  12659.  
  12660.              é ¼«ñπ½Ñ  System  ñ½∩  «íδτ¡« ¿ß»«½∞ºπѼδσ áñαÑß«ó αÑá½∞¡«ú«
  12661.         αѪ¿¼á »αÑñπß¼«ΓαÑ¡«  ¡Ñ߬«½∞¬« »αÑñ«»αÑñѽѡ¡δσ ßÑ½Ñ¬Γ«α«ó.  Ä¡¿
  12662.         ¿¼Ñ¡πεΓß∩ »«  Σ¿º¿τÑ߬«¼π  ßÑú¼Ñ¡Γπ,  ¬«Γ«α«¼π  ñá¡¡δÑ  ßÑ½Ñ¬Γ«αδ
  12663.         »α¿ßó«Ñ¡δ,  ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ¼Ñªñπ αÑá½∞¡δ¼ ¿ ºá-
  12664.         Θ¿ΘÑ¡¡δ¼ αѪ¿¼«¼ DOS.
  12665.  
  12666.                            ÅαÑñ«»αÑñѽѡ¡δÑ ßÑ½Ñ¬Γ«αδ        Æáí½¿µá 17.1
  12667.         ┌──────────────────┬────────────────────────────────────────────┐
  12668.         │    æÑ½Ñ¬Γ«α      │              Ä»¿ßá¡¿Ñ                      │
  12669.         ├──────────────────┼────────────────────────────────────────────┤
  12670.         │    Seg0040       │ êß»«½∞ºπÑΓß∩ ñ½∩  ñ«ßΓπ»á ¬ «í½áßΓ¿  ñá¡¡δσ│
  12671.         │                  │ BIOS $40 ó ¼½áñΦ¿σ áñαÑßáσ.                │
  12672.         ├──────────────────┼────────────────────────────────────────────┤
  12673.         │    SegA000       │ êß»«½∞ºπÑΓß∩ ñ½∩  ñ«ßΓπ»á ¬ úαáΣ¿τÑ߬«⌐ »á-│
  12674.         │                  │ ¼∩Γ¿ EGA ¿ VGA »« áñαÑßπ ßÑú¼Ñ¡Γá $A000.   │
  12675.         ├──────────────────┼────────────────────────────────────────────┤
  12676.         │    SegB000       │ êß»«½∞ºπÑΓß∩ ñ½∩  ñ«ßΓπ»á ¬ ó¿ñÑ«»á¼∩Γ¿ ¼«-│
  12677.         │                  │ ¡«σα«¼¡«ú« áñá»ΓÑαá  »«   áñαÑßπ   ßÑú¼Ñ¡Γá│
  12678.         │                  │ $A000.                                     │
  12679.         ├──────────────────┼────────────────────────────────────────────┤
  12680.         │    SegB800       │ êß»«½∞ºπÑΓß∩   ñ½∩  ñ«ßΓπ»á  ¬  ó¿ñÑ«»á¼∩Γ¿│
  12681.         │                  │ µóÑΓ¡«ú« úαáΣ¿τÑ߬«ú« áñá»ΓÑαá  »«   áñαÑßπ│
  12682.         │                  │ ßÑú¼Ñ¡Γá $A000.                            │
  12683.         └──────────────────┴────────────────────────────────────────────┘
  12684.  
  12685.              é αÑá½∞¡«¼ αѪ¿¼Ñ »ÑαѼѡ¡δÑ SegXXXX óßÑúñá ß«ñÑαªáΓ  º¡áτÑ-
  12686.         ¡¿∩ $0040,  $A000, $B000 ¿ $B800 ß««ΓóÑΓßΓóÑ¡¡«. é ºáΘ¿ΘÑ¡¡«¼ αÑ-
  12687.         ª¿¼Ñ ¬«ñ ºá»π߬á í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐  ß¿ßΓÑ¼δ  ß«ºñáÑΓ  τÑΓδαÑ
  12688.         ßÑ½Ñ¬Γ«αá, ßßδ½áεΘ¿σß∩ ¡á ¬«¡¬αÑΓ¡δÑ «í½áßΓ¿ »á¼∩Γ¿ αÑá½∞¡«ú« αÑ-
  12689.         ª¿¼á. Åα¿ ßßδ½¬Ñ ¡á φΓ¿ «í½áßΓ¿ »á¼∩Γ¿ óá¼  ß½ÑñπÑΓ  ¿ß»«½∞º«óáΓ∞
  12690.         »ÑαѼѡ¡δÑ SegXXXX. ìá»α¿¼Ñα, Ñß½¿ π óáß íδ½ ¬«ñ ß½ÑñπεΘÑú« ó¿ñá:
  12691.  
  12692.          B.Pascal 7 & Objects/LR     - 281 -
  12693.  
  12694.  
  12695.              CtrMode := Mem[$40: $49];
  12696.  
  12697.         Γ« ó¼ÑßΓ« ¡Ñú« ß½ÑñπÑΓ ºá»¿ßáΓ∞:
  12698.  
  12699.              CtrMode := Mem[Seg0040: $49];
  12700.  
  12701.              êß»«½∞ºπ∩ »ÑαѼѡ¡δÑ SegXXXX,  óδ ¼«ªÑΓÑ úáαá¡Γ¿α«óáΓ∞,  τΓ«
  12702.         óáΦá »α«úαá¼¼á íѺ ¿º¼Ñ¡Ñ¡¿⌐ íπñÑΓ αáí«ΓáΓ∞ ó αÑá½∞¡«¼ ¿ ºáΘ¿ΘÑ¡-
  12703.         ¡«¼ αѪ¿¼áσ.
  12704.  
  12705.                              ÅÑαѼѡ¡á∩ SelectorInc
  12706.         ─────────────────────────────────────────────────────────────────
  12707.  
  12708.              ÅÑαѼѡ¡á∩ SelectorInc ¼«ñπ½∩ System ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ,  ¬«-
  12709.         Γ«α«Ñ ñ«½ª¡«  »α¿íáó½∩Γ∞ß∩ ¬ ßÑ½Ñ¬Γ«απ ¿½¿ óδτ¿ΓáΓ∞ß∩ ¿º ¡Ñú« ñ½∩
  12710.         »«½πτÑ¡¿∩ ß½ÑñπεΘÑú« ¿½¿ »αÑñδñπΘÑú« ßÑ½Ñ¬Γ«αá ó Γáí½¿µÑ ñÑß¬α¿»-
  12711.         Γ«α«ó. SelectorInc  »«½Ñº¡«  ¿ß»«½∞º«óáΓ∞  »α¿  αáí«ΓÑ ß í«½∞Φ¿¼¿
  12712.         í½«¬á¼¿ »á¼∩Γ¿ (»αÑóδΦáεΘ¿¼¿ 64è) ¿  »α¿  ñ«ßΓπ»Ñ  ¬  »ßÑóñ«¡¿¼á¼
  12713.         ßÑú¼Ñ¡Γ«ó.
  12714.  
  12715.              ä½∩ óδñѽѡ¿∩ í½«¬«ó,  »αÑóδΦáεΘ¿σ 64è (Γá¬¿Ñ í½«¬¿ ¡áºδóáεΓ
  12716.         Γá¬ªÑ í«½∞Φ¿¼¿  í½«¬á¼¿  »á¼∩Γ¿),  ¼«ª¡«   ¿ß»«½∞º«óáΓ∞   Σπ¡¬µ¿¿
  12717.         GlobalAlloc ¿ GlobalAllocPrt ó ¼«ñπ½Ñ WinAPI.  ü«½∞Φ¿Ñ í½«¬¿ ¡Ñ»-
  12718.         αÑαδó¡δ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿,  ¡« ¿º-ºá  16-αáºα∩ñ¡«⌐  áασ¿ΓѬΓπαδ
  12719.         »α«µÑßß«αá »α¿¬½áñ¡á∩  »α«úαἼᠠ¡Ñ  ¼«ªÑΓ »«½πτ¿Γ∞ ¬ ¡¿¼ ñ«ßΓπ»
  12720.         µÑ½¿¬«¼. ä½∩ í«½∞Φ«ú« í½«¬á »á¼∩Γ¿ áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿  óδñѽ∩ÑΓ
  12721.         ¡Ñ߬«½∞¬« ¡Ñ»αÑαδó¡δσ  (ß½ÑñπεΘ¿σ  »«ñα∩ñ) ßÑ½Ñ¬Γ«α«ó,  ¬áªñδ⌐ ¿º
  12722.         ¬«Γ«αδσ (¬α«¼Ñ »«ß½Ññ¡Ñú«) ßßδ½áÑΓß∩ ¡á τáßΓ∞ í«½∞Φ«ú« í½«¬á  »á-
  12723.         ¼∩Γ¿ αẼÑα«¼ 64è. ìá»α¿¼Ñα, τΓ«íδ óδñѽ¿Γ∞ í½«¬á »á¼∩Γ¿ αẼÑα«¼
  12724.         ó 220è,  áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ß«ºñáÑΓ τÑΓδαÑ ßÑ½Ñ¬Γ«αá,  »α¿ φΓ«¼
  12725.         »ÑαóδÑ Γα¿  ßÑ½Ñ¬Γ«αá ßßδ½áεΓß∩ ¡á í½«¬¿ »« 64è,  á »«ß½Ññ¡¿⌐ ßÑ-
  12726.         ½Ñ¬Γ«α - ¡á í½«¬ αẼÑα«¼ 28è. Åα¿íáó½∩∩ SelectorInc ¬ ßÑ½Ñ¬Γ«απ,
  12727.         »α¿¡áñ½ÑªáΘѼπ í«½∞Φ«¼π í½«¬π,  óδ ¼«ªÑΓÑ »«½πτ¿Γ∞  ßÑ½Ñ¬Γ«α  ñ½∩
  12728.         ß½ÑñπεΘÑú« ßÑú¼Ñ¡Γá, á óδτ¿Γá∩ SelectorInc - ñ½∩ »αÑñδñπΘÑú«.
  12729.  
  12730.              Åα¿ αáß»αÑñѽѡ¿¿ í«½∞Φ«ú« í½«¬á Σπ¡¬µ¿∩ GlobalAlloc  óßÑúñá
  12731.         ó«ºóαáΘáÑΓ «»¿ßáΓѽ∞ »Ñαó«ú« ßÑú¼Ñ¡Γá,  á GlobalAllocPtr - π¬áºá-
  12732.         Γѽ∞ ¡á »Ñαóδ⌐ ßÑú¼Ñ¡Γ.
  12733.  
  12734.              Åα¿óÑñÑ¡¡á∩ ¡¿ªÑ Σπ¡¬µ¿∩ GetPtr ó«ß»α¿¡¿¼áÑΓ π¬áºáΓѽ∞ í«½∞-
  12735.         Φ«ú« í½«¬á  (ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ GlobalAllocPtr) ¿ 32-αáºα∩ñ¡«Ñ
  12736.         ß¼ÑΘÑ¡¿Ñ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ºáñá¡¡«Ñ ó¡πΓα¿  í½«¬á  ß¼ÑΘÑ-
  12737.         ¡¿Ñ.
  12738.  
  12739.              function GetPtr(P: Pointer; Offset: Longint): Pointer;
  12740.              type
  12741.                 Long = record
  12742.                          Lo, Hi: Word;
  12743.                        end;
  12744.  
  12745.              begin
  12746.                 GetPtr := Ptr(
  12747.  
  12748.          B.Pascal 7 & Objects/LR     - 282 -
  12749.  
  12750.                      Long(P).Hi + Long(Offset).Hi * SelectorInc,
  12751.                      Long(P).Lo + Long(Offset).Lo);
  12752.              end;
  12753.  
  12754.              çá¼ÑΓ¿¼, τΓ« ßΓáαΦÑÑ ß½«ó« »áαá¼ÑΓαá Offset ¿ß»«½∞ºπÑΓß∩ ñ½∩
  12755.         «»αÑñѽѡ¿∩ Γ«ú«, ß¬«½∞¬« αẠ¡πª¡« πóѽ¿τ¿Γ∞ ßÑ½Ñ¬Γ«α¡πε τáßΓ∞ P
  12756.         ñ½∩ »«½πτÑ¡¿∩ ¬«ααÑ¬Γ¡«ú« ßÑú¼Ñ¡Γá.  ìá»α¿¼Ñα,  Ñß½¿ Offset αáó¡«
  12757.         $24000, Γ«  ßÑ½Ñ¬Γ«α¡á∩  τáßΓ∞  P  íπñÑΓ   πóѽ¿τѡᠠ ¡á   2   *
  12758.         SelectorInc, á ß¼ÑΘÑ¡¿Ñ P - ¡á $4000.
  12759.  
  12760.              æ½ÑñπεΘá∩ Σπ¡¬µ¿∩ LoadFile ºáúαπªáÑΓ ó í½«¬ »á¼∩Γ¿ óÑß∞ Σá⌐½
  12761.         ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á í½«¬. àß½¿ Σá⌐½ »αÑóδΦáÑΓ 64è, Γ« óδñÑ-
  12762.         ½∩ÑΓß∩ í«½∞Φ«⌐ í½«¬ »á¼∩Γ¿.
  12763.  
  12764.              function LoadFile(const FileName: string): Pointer;
  12765.              var
  12766.                Buffer: Pointer;
  12767.                Size, Offset, Count: Longint;
  12768.                F: file;
  12769.              begin
  12770.                Buffer := nil;
  12771.                Assign(F, FileName);
  12772.                Reset(F, 1);
  12773.                Size := FileSize(F);
  12774.                Buffer := GlobalAllocPtr(gmem_Moveable, Size);
  12775.                if Buffer <> nil then
  12776.                begin
  12777.                  Offset := 0;
  12778.                  while Offset < Size do
  12779.                  begin
  12780.                     Count := Size - Offset;
  12781.                     if Count > $8000 then Count := $8000;
  12782.                     BlockRead(F, GetPtr(Buffer, Offset)^, Count);
  12783.                     Inc(Offset, Count);
  12784.                  end;
  12785.                end;
  12786.                LoadFile := Buffer;
  12787.              end;
  12788.  
  12789.              ÅÑαѼѡ¡á∩ SelectorInc  «»αÑñѽѡᠠΓᬪѠ ó  óÑαß¿¿  ¼«ñπ½∩
  12790.         System ñ½∩ αÑá½∞¡«ú« αѪ¿¼á.  é αÑá½∞¡«¼ αѪ¿¼Ñ «¡á óßÑúñá ß«ñÑα-
  12791.         ª¿Γ º¡áτÑ¡¿Ñ $1000,  ¬«Γ«α«Ñ »α¿ ß½«ªÑ¡¿¿ Ñú« ß ßÑú¼Ñ¡Γ¡«⌐ τáßΓ∞ε
  12792.         π¬áºáΓѽ∩ αÑá½∞¡«ú« αѪ¿¼á πóѽ¿τ¿óáÑΓ π¬áºáΓѽ∞ ¡á 64è.
  12793.  
  12794.              äαπú¿¼ «íαẫ¼ óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ »ÑαѼѡ¡πε SelectorInß
  12795.         Γ«½∞¬« ó »α«úαá¼¼áσ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.  êß»«½∞ºπ⌐ΓÑ »ÑαѼѡ-
  12796.         ¡πε SelectorInc ñ½∩ ñ«ßΓπ»á ¬ »ßÑóñ«¡¿¼á¼  ßÑú¼Ñ¡Γ«ó,  óδñѽ∩Ѽδσ
  12797.         áñ¼¿¡¿ßΓαáΓ«α«¼ φΓá»á óδ»«½¡Ñ¡¿∩ »α¿ ºáúαπº¬Ñ »α¿¬½áñ¡«⌐ »α«úαá¼-
  12798.         ¼δ.  ä½∩ ¬áªñ«ú« ßÑú¼Ñ¡Γá ¬«ñá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ áñ¼¿¡¿ßΓαáΓ«α
  12799.         φΓá»á  óδ»«½¡Ñ¡¿∩ ß«ºñáÑΓ ßÑ½Ñ¬Γ«α-»ßÑóñ«¡¿¼,  ßßδ½áεΘ¿⌐ß∩ ¡á Γ«Γ
  12800.         ªÑ ßÑú¼Ñ¡Γ, ¡« ¿¼ÑεΘ¿⌐ »«½¡«¼«τ¿∩ ßÑ½Ñ¬Γ«αá ñá¡¡δσ. ä½∩ ßÑú¼Ñ¡Γ«ó
  12801.         ßΓѬᠿ ñá¡¡δσ ßÑ½Ñ¬Γ«αδ-»ßÑóñ«¡¿¼δ ¡Ñ ß«ºñáεΓß∩.
  12802.  
  12803.  
  12804.          B.Pascal 7 & Objects/LR     - 283 -
  12805.  
  12806.              ùΓ«íδ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ßÑ½Ñ¬Γ«απ-»ßÑóñ«¡¿¼π ñ½∩ ¬«¡¬αÑΓ¡«ú«
  12807.         ßÑú¼Ñ¡Γá, ñ«íáó∞ΓÑ ¬ ßÑ½Ñ¬Γ«απ ßÑú¼Ñ¡Γá SelectorInc. ÅαÑñ»«½«ª¿¼,
  12808.         ¡á»α¿¼Ñα,  τΓ« P - φΓ« »ÑαѼѡ¡á∩ Γ¿»á Pointer, á Foo - »α«µÑñπαá
  12809.         ¿½¿ Σπ¡¬µ¿∩. Æ«úñá »α¿ßóá¿óá¡¿Ñ ó¿ñá:
  12810.  
  12811.              P := Addr(Foo)
  12812.  
  12813.         »α¿ó«ñ¿Γ ¬  Γ«¼π,  τΓ« P íπñÑΓ π¬áºδóáΓ∞ ¡á óδ»«½¡∩Ѽπε ñ«ßΓπ»¡πε
  12814.         Γ«½∞¬« »« τΓÑ¡¿ε Γ«τ¬π óσ«ñá Foo, á »«ß½Ñ «»ÑαáΓ«αá:
  12815.  
  12816.              P := Ptr(Seg(Foo) + SelectorInc, Ofs(Foo));
  12817.  
  12818.         P íπñÑΓ ßßδ½áΓ∞ß∩ ¡á Γ«Γ ªÑ áñαÑß,  ¡«  ß  »«½¡«¼«τ¿∩¼¿  ¡á  τΓÑ-
  12819.         ¡¿Ñ/ºá»¿ß∞.
  12820.  
  12821.  
  12822.  
  12823.          B.Pascal 7 & Objects/LR     - 284 -
  12824.  
  12825.                                   î«ñπ½∞ WinAPI
  12826.         ─────────────────────────────────────────────────────────────────
  12827.  
  12828.              î«ñπ½∞ WinAPI ñáÑΓ óá¼ ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐ ñ«ßΓπ» ¬ αáßΦ¿αÑ¡¿∩¼
  12829.         Borland ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS. ùΓ«íδ «í½Ñúτ¿Γ∞ ¡á»¿ßá¡¿Ñ »ÑαÑ¡«-
  12830.         ß¿¼δσ »α¿¬½áñ¡δσ »α«úαá¼¼ ¿ ß«ó¼ÑßΓ¿¼δσ ¡á πα«ó¡Ñ ñó«¿τ¡«ú«  ¬«ñá
  12831.         DLL, αáºαáí«Γá¡ ¿¡ΓÑαΣÑ⌐ß WinAPI, ∩ó½∩εΘ¿⌐ß∩ »«ñ¼¡«ªÑßΓó«¼ ¿¡ΓÑα-
  12832.         ΣÑ⌐ßá API Windows.
  12833.  
  12834.              î«ñπ½∞ WinAPI  »«ºó«½∩ÑΓ óá¼ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ π»αáó½Ñ¡¿∩
  12835.         »á¼∩Γ∞ε,  π»αáó½Ñ¡¿∩ αÑßπαßἿ,  ¼«ñπ½∩¼¿,  ßÑ½Ñ¬Γ«αἿ ¿  ¼¡«ú¿Ñ
  12836.         ñαπú¿Ñ  Σπ¡¬µ¿¿ API.  ì¿ªÑ »α¿óÑñÑ¡« ¿σ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ.  Å«½¡«Ñ
  12837.         «»¿ßá¡¿Ñ ¬«¡ßΓá¡Γ, Γ¿»«ó, »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¼«ñπ½∩ WinAPI óδ ¼«-
  12838.         ªÑΓÑ ¡á⌐Γ¿ ó "æ»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá".
  12839.  
  12840.              Åα¿ αáí«ΓÑ »«ñ Windows »«ñ»α«úαá¼¼δ  API,  »«ññÑনóáѼδÑ  ß
  12841.         »«¼«Θ∞ε ¼«ñπ½∩ WinAPI, ¡áσ«ñ∩Γß∩ ó ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδσ í¿í½¿-
  12842.         «ΓѬáσ KERNEL.DLL ¿ USER.DLL.  é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS φΓ¿ DLL ¡Ñ
  12843.         ΓαÑíπεΓß∩, Γᬠ¬á¬ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ ºáΘ¿ΘÑ¡¡«ú« αÑ-
  12844.         ª¿¼á ß«ñÑαª¿Γ αÑ὿ºáµ¿ε »«ñ»α«úαá¼¼  KERNEL ¿ USER, áóΓ«¼áΓ¿τÑß-
  12845.         ¬¿ »ÑαÑ¡á»αáó½∩∩ ¿σ ó맮óδ áñ¼¿¡¿ßΓαáΓ«απ.
  12846.  
  12847.                                ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε
  12848.         ─────────────────────────────────────────────────────────────────
  12849.  
  12850.              Åα¿ αáºαáí«Γ¬Ñ »α«úαá¼¼,  αáí«ΓáεΘ¿σ ß ñ¿¡á¼¿τÑ߬«⌐ »á¼∩Γ∞ε,
  12851.         «íδτ¡« ¿ß»«½∞ºπεΓß∩ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ New,  Dispose, GetMem ¿
  12852.         FreeMem. Äñ¡á¬« »«½πτ¿Γ∞ ñ«ßΓπ» ¬ áñ¼¿¡¿ßΓαáΓ«απ »á¼∩Γ¿  ºáΘ¿ΘÑ¡-
  12853.         ¡«ú«  αѪ¿¼á Borland óδ ¼«ªÑΓÑ ß »«¼«Θ∞ε Σπ¡¬µ¿⌐ GlobalXXXX ó ¼«-
  12854.         ñπ½Ñ WinAPI.
  12855.  
  12856.              çá¼ÑΓ¿¼, τΓ« Σπ¡¬µ¿¿ GlobalXXXXPtr ¬«¼í¿¡¿απεΓ ó «ñ¡«⌐ »«ñ»-
  12857.         α«úαἼѠ«íΘ¿Ñ  »«ß½Ññ«óáΓѽ∞¡«ßΓ¿  ó맮ó«ó  Σπ¡¬µ¿⌐,  ΓᬿѠ ¬á¬
  12858.         GlobalAlloc,  ºá ¬«Γ«α묨 ß½ÑñπεΓ ó맮óδ GlobalLock, GlobalUnlock
  12859.         ¿½¿ GlobalFree.
  12860.  
  12861.  
  12862.  
  12863.          B.Pascal 7 & Objects/LR     - 285 -
  12864.  
  12865.                        Å«ñ»α«úαá¼¼δ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε API
  12866.                                                             Æáí½¿µá 17.2
  12867.         ┌─────────────────────┬─────────────────────────────────────────┐
  12868.         │    öπ¡¬µ¿∩          │                 Ä»¿ßá¡¿Ñ                │
  12869.         ├─────────────────────┼─────────────────────────────────────────┤
  12870.         │   GetFreeSpace      │ Ä»αÑñѽ∩ÑΓ «íΩѼ ßó«í«ñ¡«⌐ »á¼∩Γ¿  ó ñ¿-│
  12871.         │                     │ ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.       │
  12872.         ├─────────────────────┼─────────────────────────────────────────┤
  12873.         │   GlobalAlloc       │ éδñѽ∩ÑΓ í½«¬ »á¼∩Γ¿ ó ñ¿¡á¼¿τÑ߬¿ αáß»-│
  12874.         │                     │ αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.                     │
  12875.         ├─────────────────────┼─────────────────────────────────────────┤
  12876.         │   GlobalAllocPtr    │ éδñѽ∩ÑΓ ¿ í½«¬¿απÑΓ í½«¬ »á¼∩Γ¿ (ß  »«-│
  12877.         │                     │ ¼«Θ∞ε ó맮ó«ó GlobalAlloc ¿ GlobalLock).│
  12878.         │                     │                                         │
  12879.         ├─────────────────────┼─────────────────────────────────────────┤
  12880.         │   GlobalCompact     │ ÅÑαÑπ»«α∩ñ«τ¿óáÑΓ  »á¼∩Γ∞,  αáß»αÑñѽѡ-│
  12881.         │                     │ ¡πε ó ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿,  ΓᬠτΓ« «ß-│
  12882.         │                     │ ó«í«ªñáÑΓß∩ ºáñá¡¡δ⌐ «íΩѼ »á¼∩Γ¿.      │
  12883.         ├─────────────────────┼─────────────────────────────────────────┤
  12884.         │   GlobalDiscard     │ éδúαπªáÑΓ ºáñá¡¡δ⌐ «íΩÑ¬Γ »á¼∩Γ¿.       │
  12885.         ├─────────────────────┼─────────────────────────────────────────┤
  12886.         │   GlobalDosAlloc    │ Éáß»αÑñѽ∩ÑΓ »á¼∩Γ∞, ¬ ¬«Γ«α«⌐ ¼«ª¡« »«-│
  12887.         │                     │ ½πτ¿Γ∞ ñ«ßΓπ» ó αÑá½∞¡«¼ αѪ¿¼Ñ DOS. ¥Γá│
  12888.         │                     │ »á¼∩Γ∞ íπñÑΓ ßπΘÑßΓó«óáΓ∞ ó »Ñαó«¼ ¼Ñúá-│
  12889.         │                     │ íá⌐ΓÑ ½¿¡Ñ⌐¡«ú« áñαÑß¡«ú« »α«ßΓαá¡ßΓóá. │
  12890.         ├─────────────────────┼─────────────────────────────────────────┤
  12891.         │   GlobalDosFree     │ Äßó«í«ªñáÑΓ »á¼∩Γ∞, óδñѽѡ¡πε  αá¡ÑÑ  ß│
  12892.         │                     │ »«¼«Θ∞ε GlobalDosAlloc.                 │
  12893.         ├─────────────────────┼─────────────────────────────────────────┤
  12894.         │   GlobalFlags       │ Å«½πτáÑΓ ¿¡Σ«α¼áµ¿ε « í½«¬Ñ »á¼∩Γ¿.     │
  12895.         ├─────────────────────┼─────────────────────────────────────────┤
  12896.         │   GlobalFree        │ Äßó«í«ªñáÑΓ αáºí½«¬¿α«óá¡¡δ⌐ í½«¬ »á¼∩Γ¿│
  12897.         │                     │ ¿ ñѽáÑΓ Ñú« «»¿ßáΓѽ∞ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼.│
  12898.         ├─────────────────────┼─────────────────────────────────────────┤
  12899.         │   GlobalFreePtr     │ Éáºí½«¬¿απÑΓ ¿ «ßó«í«ªñáÑΓ  í½«¬  »á¼∩Γ¿│
  12900.         │                     │ ß »«¼«Θ∞ε GlobalUnlock ¿ GlobalFree.    │
  12901.         ├─────────────────────┼─────────────────────────────────────────┤
  12902.         │   GlobalHandle      │ Å«½πτáÑΓ «»¿ßáΓѽ∞ «íΩѬΓá ó  »á¼∩Γ¿  »«│
  12903.         │                     │ ºáñá¡¡«¼π áñαÑßπ ßÑú¼Ñ¡Γá.              │
  12904.         ├─────────────────────┼─────────────────────────────────────────┤
  12905.         │   GlobalLock        │ ôóѽ¿τ¿óáÑΓ ßτÑΓτ¿¬ ßß佬¿ í½«¬á  »á¼∩Γ¿│
  12906.         │                     │ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¡Ñú«.         │
  12907.         ├─────────────────────┼─────────────────────────────────────────┤
  12908.         │   GlobalLockPtr     │ Æ« ªÑ, τΓ« ¿ GlobalLock, ¡« ó¼ÑßΓ«  «»¿-│
  12909.         │                     │ ßáΓѽ∩ ó«ß»α¿¡¿¼áÑΓ π¬áºáΓѽ∞.          │
  12910.         ├─────────────────────┼─────────────────────────────────────────┤
  12911.         │   GlobalLRUNewest   │ ÅÑαѼÑΘáÑΓ «íΩÑ¬Γ ó »á¼∩Γ¿ ¡á ¡«óπε  ¡Ñ-│
  12912.         │                     │ ñáó¡« ¿ß»«½∞ºπѼπε »«º¿µ¿ε, ¼¿¡¿¼¿º¿απ∩,│
  12913.         │                     │ Γᬿ¼   «íαẫ¼,   óÑα«∩Γ¡«ßΓ∞  óδúαπº¬¿│
  12914.         │                     │ «íΩѬΓá.                                │
  12915.         ├─────────────────────┼─────────────────────────────────────────┤
  12916.         │   GlobalLRUOldest   │ ÅÑαѼÑΘáÑΓ  «íΩÑ¬Γ  ó  »á¼∩Γ¿  ¡á  ßá¼πε│
  12917.         │                     │ "ßΓáαπε" ¡Ññáó¡«  ¿ß»«½∞ºπѼπε  »«º¿µ¿ε,│
  12918.  
  12919.          B.Pascal 7 & Objects/LR     - 286 -
  12920.  
  12921.         │                     │ ¼á¬ß¿¼¿º¿απε óÑα«∩Γ¡«ßΓ∞  óδúαπº¬¿  «íΩ-│
  12922.         │                     │ Ñ¬Γá.                                   │
  12923.         ├─────────────────────┼─────────────────────────────────────────┤
  12924.         │   GlobalNorify      │ éδºδóáÑΓ áñαÑß φ¬ºÑ¼»½∩αá »α«µÑñπαδ πóÑ-│
  12925.         │                     │ ñ«¼½Ñ¡¿∩, »ÑαÑñáóá∩ «»¿ßáΓѽ∞ í½«¬á, ¬«-│
  12926.         │                     │ Γ«αδ⌐ ¡πª¡« óδúαπº¿Γ∞.                  │
  12927.         ├─────────────────────┼─────────────────────────────────────────┤
  12928.         │   GlobalPageLock    │ ôóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á  í½«¬¿α«ó-│
  12929.         │                     │ ¬¿ ñ½∩ »á¼∩Γ¿, ßó∩ºá¡¡«⌐ ß ñá¡¡δ¼ ßѽѬ-│
  12930.         │                     │ Γ«α«¼.                                  │
  12931.         ├─────────────────────┼─────────────────────────────────────────┤
  12932.         │   GlobalPageUnlock  │ ô¼Ñ¡∞ΦáÑΓ º¡áτÑ¡¿Ñ  ßτÑΓτ¿¬á  í½«¬¿α«ó¬¿│
  12933.         │                     │ ñ½∩ »á¼∩Γ¿,  ßó∩ºá¡¡«⌐ ß ñá¡¡δ¼ ßÑ½Ñ¬Γ«-│
  12934.         │                     │ α«¼.                                    │
  12935.         ├─────────────────────┼─────────────────────────────────────────┤
  12936.         │   GlobalPtrHandle   │ Å« ºáñá¡¡«¼π π¬áºáΓÑ½ε  ¡á  í½«¬  »á¼∩Γ¿│
  12937.         │                     │ ó«ºóαáΘáÑΓ «»¿ßáΓѽ∞ φΓ«ú« í½«¬á.       │
  12938.         ├─────────────────────┼─────────────────────────────────────────┤
  12939.         │   GlobalReAlloc     │ ÅÑαÑαáß»αÑñѽ∩ÑΓ í½«¬ »á¼∩Γ¿.           │
  12940.         ├─────────────────────┼─────────────────────────────────────────┤
  12941.         │   GlobalReAllocPtr  │ Éáºí½«¬¿απÑΓ, »ÑαÑαáß»αÑñѽ∩ÑΓ ¿  í½«¬¿-│
  12942.         │                     │ απÑΓ í½«¬   »á¼∩Γ¿   (¿ß»«½∞ºπ∩  Σπ¡¬µ¿¿│
  12943.         │                     │ GlobalUnlock,      GlobalReAlloc       ¿│
  12944.         │                     │ GlobalLock).                            │
  12945.         ├─────────────────────┼─────────────────────────────────────────┤
  12946.         │   GlobalSize        │ Ä»αÑñѽ∩ÑΓ ΓѬπΘ¿⌐ αẼÑα í½«¬á »á¼∩Γ¿. │
  12947.         ├─────────────────────┼─────────────────────────────────────────┤
  12948.         │   GlobalUnfix       │ Éáºí½«¬¿απÑΓ í½«¬ »á¼∩Γ¿,  í½«¬¿α«óá¡¡δ⌐│
  12949.         │                     │ αá¡ÑÑ ß »«¼«Θ∞ε GlobalLock.             │
  12950.         ├─────────────────────┼─────────────────────────────────────────┤
  12951.         │   GlobalUnockPtr    │ Æ« ªÑ,  τΓ« ¿  GlobalUnlock,  ¡«  ó¼ÑßΓ«│
  12952.         │                     │ «»¿ßáΓѽ∩ ó«ß»α¿¡¿¼áÑΓ π¬áºáΓѽ∞.       │
  12953.         ├─────────────────────┼─────────────────────────────────────────┤
  12954.         │   LockSegment       │ ü½«¬¿απÑΓ ºáñá¡¡δ⌐ óδúαπªáѼδ⌐ ßÑú¼Ñ¡Γ. │
  12955.         ├─────────────────────┼─────────────────────────────────────────┤
  12956.         │   UnlockSegment     │ Éáºí½«¬¿απÑΓ ßÑú¼Ñ¡Γ.                   │
  12957.         └─────────────────────┴─────────────────────────────────────────┘
  12958.  
  12959.              öπ¡¬µ¿∩ GlobalAlloc ¿ß»«½∞ºπÑΓß∩  ñ½∩  αáß»αÑñѽѡ¿∩  í½«¬«ó
  12960.         »á¼∩Γ¿. ä½∩ ¿σ «ßó«í«ªñÑ¡¿∩ »α¿¼Ñ¡∩ÑΓß∩ Σπ¡¬µ¿∩ GlobalFree. Çñ¼¿-
  12961.         ¡¿ßΓαáΓ«α »á¼∩Γ¿ »«ññÑনóáÑΓ Γα¿ Γ¿»á í½«¬«ó »á¼∩Γ¿: Σ¿¬ß¿α«óá¡-
  12962.         ¡δ⌐, »ÑαѼÑΘáѼδ⌐  ¿  óδúαπªáѼδ⌐.  ö¿¬ß¿α«óá¡¡δ⌐ í½«¬ «ßΓáÑΓß∩ ó
  12963.         «ñ¡¿σ ¿ ΓÑσ ªÑ áñαÑßáσ Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿. ÅÑαѼÑΘáѼδ⌐ í½«¬ ¼«ªÑΓ
  12964.         »ÑαѼÑΘáΓ∞ß∩ ó  Σ¿º¿τÑ߬«⌐  »á¼∩Γ¿ ¿ «ßó«í«ªñáΓ∞ ¼ÑßΓ« ñ½∩ ñαπú¿σ
  12965.         ºá»α«ß«ó ¡á óδñѽѡ¿Ñ »á¼∩Γ¿,  á óδúαπªáѼδÑ í½«¬¿  ¼«úπΓ  óδúαπ-
  12966.         ªáΓ∞ß∩ ¿º »á¼∩Γ¿,  «ßó«í«ªñá∩ ¼ÑßΓ« ñ½∩ ñαπú¿σ í½«¬«ó.  æ »«¼«Θ∞ε
  12967.         »ÑαÑñáóáѼδσ GlobalAlloc Σ½áú«ó óδ ¼«ªÑΓÑ óδíαáΓ∞  «ñ¿¡  ¿º  φΓ¿σ
  12968.         ΓαÑσ Γ¿»«ó:
  12969.  
  12970.              * gmem_Fixed                          (Σ¿¬ß¿α«óá¡¡δ⌐)
  12971.              * gmem_Moveable                       (»ÑαѼÑΘáѼδ⌐)
  12972.              * gmem_Moveable + gmem_Discardable    (óδúαπªáѼδ⌐)
  12973.  
  12974.  
  12975.          B.Pascal 7 & Objects/LR     - 287 -
  12976.  
  12977.              Åਪ½áñ¡á∩ »α«úαἼᠠ«íδτ¡«  óδñѽ∩ÑΓ  Γ«½∞¬«  »ÑαѼÑΘáѼδÑ
  12978.         í½«¬¿ »á¼∩Γ¿,  ¬«Γ«αδÑ  »αÑñßΓáó½∩εΓß∩  Γ¿»«¼  THandle  ó  ¼«ñπ½Ñ
  12979.         WinAPI. Ä»¿ßáΓѽ∞ »á¼∩Γ¿ - φΓ« º¡áτÑ¡¿Ñ αẼÑα«¼ ó ß½«ó«, ¬«Γ«α«Ñ
  12980.         ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ í½«¬ »á¼∩Γ¿ á¡á½«ú¿τ¡« Γ«¼π, ¬á¬ «»¿ßáΓѽ∞ Σá⌐½á -
  12981.         φΓ« º¡áτÑ¡¿Ñ αẼÑα«¼ ó ß½«ó«, ¿ñÑ¡Γ¿Σ¿µ¿απεΘÑÑ «Γ¬αδΓδ⌐ Σá⌐½.
  12982.  
  12983.              ÅÑαÑñ ΓѼ ¬á¬ óδ ß¼«ªÑΓÑ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ »á¼∩Γ¿, Ñú« ¡πª¡«
  12984.         ºáí½«¬¿α«óáΓ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GlobalAlloc, á ¬«úñá óδ ºá¬«¡τ¿ΓÑ
  12985.         ¬ ¡Ñ¼π  «íαáΘáΓ∞ß∩,  Ñú«  ¡πª¡«  αáºí½«¬¿α«óáΓ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿
  12986.         GlobalUnlock. GlobalLock ó«ºóαáΘáÑΓ »«½¡δ⌐ 32-αáºα∩ñ¡δ⌐ π¬áºáΓѽ∞
  12987.         ¡á »Ñαóδ⌐ íá⌐Γ í½«¬á.  æ¼ÑΘÑ¡¿Ñ π¬áºáΓѽ∩ óßÑúñá αáó¡« 0. é ºáΘ¿-
  12988.         ΘÑ¡¡«¼ αѪ¿¼Ñ DOS ßÑ½Ñ¬Γ«α π¬áºáΓѽ∩ - φΓ« Γ«ªÑ ßἫÑ, τΓ« «»¿ßá-
  12989.         Γѽ∞ í½«¬á, ¡« ó Windows φΓ« ¡Ñ óßÑúñá Γá¬.
  12990.  
  12991.              Åαáó¿½∞¡á∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ó맮ó«ó ñ½∩ óδñѽѡ¿∩,  í½«¬¿-
  12992.         α«ó¬¿, αáºí½«¬¿α«ó¬¿ ¿½¿ «ßó«í«ªñÑ¡¿∩ í½«¬á »«¬áºá¡á ó  »α¿óÑñÑ¡-
  12993.         ¡«¼ ¡¿ªÑ  »α¿¼ÑαÑ.  é  ñá¡¡«¼  »α¿¼ÑαÑ  H  -  φΓ« »ÑαѼѡ¡á∩ Γ¿»á
  12994.         THandle, á P - π¬áºáΓѽ∞:
  12995.  
  12996.              H := GlobalAlloc(gmem_Moveable, 8192);   { óδñѽѡ¿Ñ í½«¬á }
  12997.              if H <> then                        { Ñß½¿ »á¼∩Γ∞ óδñѽѡá }
  12998.              begin
  12999.                 P := GlobalLock(H);                  { í½«¬¿α«ó¬á í½«¬á }
  13000.                     .
  13001.                     .                          { ñ«ßΓπ» ¬ í½«¬π τÑαѺ P }
  13002.                     .
  13003.                 GlobalUnlock(H);                  { αáºí½«¬¿α«óáΓ∞ í½«¬ }
  13004.                 GlobalFree(H);                        { «ßó«í«ñ¿Γ∞ í½«¬ }
  13005.              end;
  13006.  
  13007.              ü½«¬¿α«ó¬á ¿ αáºí½«¬¿α«ó¬á í½«¬á »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ ¡Ñ¼π
  13008.         ñ«ßΓáΓ«τ¡« πΓ«¼¿Γѽ∞¡á ¿ óÑñÑΓ ¬ «Φ¿í¬á¼, ¿ αÑá½∞¡« «¡á ¡Ñ«íσ«ñ¿-
  13009.         ¼á Γ«½∞¬«  ñ½∩  óδúαπªáѼδσ  í½«¬«ó  ¿  ó  »α¿¬½áñ¡δσ  »α«úαá¼¼áσ
  13010.         Windows, αáí«ΓáεΘ¿σ ó αÑá½∞¡«¼ αѪ¿¼Ñ.  é« óßÑσ ñαπú¿σ  ß¿Γπᵿ∩σ
  13011.         ½πτΦ¿¼ αÑΦÑ¡¿Ñ¼ ∩ó½∩ÑΓß∩ í½«¬¿α«ó¬á í½«¬á ßαáºπ »«ß½Ñ Ñú« óδñѽÑ-
  13012.         ¡¿∩ ¿ ß«σαá¡Ñ¡¿Ñ φΓ«ú« ß«ßΓ«∩¡¿∩ ñ« «ßó«í«ªñÑ¡¿∩  í½«¬á.  æ  φΓ«⌐
  13013.         µÑ½∞ε ¼«ñπ½∞ WinAPI ó¬½ετáÑΓ ó ßÑí∩ ßѼÑ⌐ßΓó« »«ñ»α«úαá¼¼-"«í«½«-
  13014.         τѬ" GlobalXXXXPtr.   Äß«íδ⌐   ¿¡ΓÑαÑß    »αÑñßΓáó½∩ÑΓ    Σπ¡¬µ¿∩
  13015.         GlobalAllocPtr, ¬«Γ«αá∩ óδñѽ∩ÑΓ ¿ í½«¬¿απÑΓ í½«¬ »á¼∩Γ¿, ¿ Σπ¡¬-
  13016.         µ¿∩ GlobalFreePtr,  αáºí½«¬¿απεΘá∩ ¿ «ßó«í«ªñáεΘá∩ í½«¬ »á¼∩Γ¿. æ
  13017.         »«¼«Θ∞ε φΓ¿σ »«ñ»α«úαá¼¼ »α¿óÑñÑ¡¡δ⌐ óδΦÑ »α¿¼Ñα ¼«ª¡« π»α«ßΓ¿Γ∞:
  13018.  
  13019.              H := GlobalAlloc(gmem_Moveable, 8192);   { óδñѽѡ¿Ñ í½«¬á }
  13020.              if H <> then                        { Ñß½¿ »á¼∩Γ∞ óδñѽѡá }
  13021.              begin
  13022.                     .
  13023.                     .                                  { ñ«ßΓπ» ¬ í½«¬π }
  13024.                     .
  13025.                 GlobalFreePtr(P);                     { «ßó«í«ñ¿Γ∞ í½«¬ }
  13026.              end;
  13027.  
  13028.              éδºóáó Σπ¡¬µ¿ε GlobalReAlloc,  óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ αẼÑα ¿½¿
  13029.         áΓα¿íπΓδ í½«¬á   »á¼∩Γ¿,   ß«σαá¡¿ó   Ñú«   ß«ñÑন¼«Ñ.   öπ¡¬µ¿∩
  13030.  
  13031.          B.Pascal 7 & Objects/LR     - 288 -
  13032.  
  13033.         GlobalReAlloc ó«ºóαáΘáÑΓ ¡«óδ⌐ «»¿ßáΓѽ∞ í½«¬á, ¬«Γ«αδ⌐ ¼«ªÑΓ «Γ-
  13034.         ½¿τáΓ∞ß∩ «Γ  »ÑαÑñáóáѼ«ú« Σπ¡¬µ¿¿ «»¿ßáΓѽ∩,  Ñß½¿ ßΓáαδ⌐ αẼÑα
  13035.         ¿½¿ ¡«óδ⌐ αẼÑα í½«¬ »αÑóδΦáÑΓ 64è.  çá¼ÑΓ¿¼, τΓ« ó ΓÑσ ß½πτá∩σ,
  13036.         ¬«úñá ßΓáαδ⌐   αẼÑα  í½«¬á  ¿  ¡«óδ⌐  Ñú«  αẼÑα  ¼Ñ¡∞ΦÑ  64è,
  13037.         GlobalReAlloc óßÑúñá ¼«ªÑΓ ¿º¼Ñ¡¿Γ∞ αẼÑα í½«¬á,  ¡Ñ ¿º¼Ñ¡∩∩ Ñú«
  13038.         «»¿ßáΓѽ∩.
  13039.  
  13040.              öπ¡¬µ¿∩ GlobalReAlloc ¼«ª¡« ΓᬪѠ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ¿º¼Ñ¡Ñ-
  13041.         ¡¿∩   áΓα¿íπΓ«ó   í½«¬á.   ¥Γ«  ¼«ª¡«  ßñѽáΓ∞,  ºáñáó  ¡áα∩ñπ  ß
  13042.         gmem_Moveable ¿½¿ gmem_Discardable Σ½áú gmem_Modify.
  13043.  
  13044.              öπ¡¬µ¿∩ GlobalReAlloc   óδ»«½¡∩ÑΓ  ΓÑ  ªÑ  ñÑ⌐ßΓó¿∩,  τΓ«  ¿
  13045.         GlobalReAlloc, ¡« «íÑ «¡¿ ó¼ÑßΓ« «»¿ßáΓѽÑ⌐ ¿ß»«½∞ºπÑΓ π¬áºáΓѽ¿.
  13046.  
  13047.              ê¼ÑÑΓß∩ ΓᬪѠ  α∩ñ   ñαπú¿σ,   ¼Ñ¡ÑÑ   τáßΓ«   ¿ß»«½∞ºπѼδσ
  13048.         GlobalXXXX. éßÑ  «¡¿  »«ñα«í¡«  «»¿ßá¡δ ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »«
  13049.         í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  13050.  
  13051.  
  13052.  
  13053.          B.Pascal 7 & Objects/LR     - 289 -
  13054.  
  13055.                                ô»αáó½Ñ¡¿Ñ ¼«ñπ½Ñ¼
  13056.         ─────────────────────────────────────────────────────────────────
  13057.  
  13058.              Çñ¼¿¡¿ßΓαáΓ«α φΓá»á  óδ»«½¡Ñ¡¿∩ »«ññÑনóáÑΓ ß½ÑñπεΘ¿Ñ »«ñ»-
  13059.         α«úαá¼¼δ «íß½πª¿óá¡¿∩ ¼«ñπ½Ñ⌐:
  13060.  
  13061.                       Å«ñ»α«úαá¼¼δ API «íß½πª¿óá¡¿∩ ¼«ñπ½Ñ⌐ Æáí½¿µá 17.3
  13062.         ┌───────────────────────────┬───────────────────────────────────┐
  13063.         │   Å«ñ»α«úαἼᠠ          │         Ä»¿ßá¡¿Ñ                  │
  13064.         ├───────────────────────────┼───────────────────────────────────┤
  13065.         │   FreeLibrary             │ äѽáÑΓ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼  ºáúαπªÑ¡-│
  13066.         │                           │ ¡δ⌐ ¼«ñπ½∞ í¿í½¿«ΓѬ¿,  ¿ «ßó«í«ª-│
  13067.         │                           │ ñáÑΓ ß««ΓóÑΓßΓóπεΘπε »á¼∩Γ∞,  Ñß½¿│
  13068.         │                           │ ßß佫¬ ¡á ¼«ñπ½∞ í«½∞ΦÑ ¡ÑΓ.      │
  13069.         ├───────────────────────────┼───────────────────────────────────┤
  13070.         │   GetModuleFileName       │ äáÑΓ »«½¡δ⌐ ¼áαΦαπΓ ¿ ¿¼∩ óδ»«½¡∩-│
  13071.         │                           │ Ñ¼«ú« Σá⌐½á, ºáñáεΘ¿⌐, «Γ¬πñá ºáú-│
  13072.         │                           │ απªÑ¡ ¼«ñπ½∞.                     │
  13073.         ├───────────────────────────┼───────────────────────────────────┤
  13074.         │   GetModuleHandle         │ Ä»αÑñѽ∩ÑΓ «»¿ßáΓѽ∞ ºáñá¡¡«ú« ¼«-│
  13075.         │                           │ ñπ½∩.                             │
  13076.         ├───────────────────────────┼───────────────────────────────────┤
  13077.         │   GetModuleUsage          │ Ä»αÑñѽ∩ÑΓ ßτÑΓτ¿¬  ßß佫¬ ¡á  ¼«-│
  13078.         │                           │ ñπ½∞.                             │
  13079.         ├───────────────────────────┼───────────────────────────────────┤
  13080.         │   GetProcAddress          │ Ä»αÑñѽ∩ÑΓ   áñαÑß  φ¬ß»«αΓ¿απѼ«⌐│
  13081.         │                           │ í¿í½¿«ΓÑτ¡«⌐ Σπ¡¬µ¿¿.             │
  13082.         ├───────────────────────────┼───────────────────────────────────┤
  13083.         │   LoadLibrary             │ çáúαπªáÑΓ  π¬áºá¡¡δ⌐  í¿í½¿«ΓÑτ¡δ⌐│
  13084.         │                           │ ¼«ñπ½∞.                           │
  13085.         └───────────────────────────┴───────────────────────────────────┘
  13086.  
  13087.              ìѬ«Γ«αδÑ ¿º φΓ¿σ »«ñ»α«úαá¼¼ ó«ß»α¿¡¿¼áεΓ ó ¬áτÑßΓóÑ  »áαá-
  13088.         ¼ÑΓαá «»¿ßáΓѽ∞  ¼«ñπ½∩.  Ä»¿ßáΓѽ∞ ¼«ñπ½∩ ßἫ⌐ »α¿¬½áñ¡«⌐ »α«ú-
  13089.         αá¼¼δ σαá¡¿Γß∩ ó »ÑαѼѡ¡«⌐ HInstance, «»¿ßá¡¡«⌐ ó ¼«ñπ½Ñ System.
  13090.  
  13091.  
  13092.  
  13093.          B.Pascal 7 & Objects/LR     - 290 -
  13094.  
  13095.                               ô»αáó½Ñ¡¿Ñ αÑßπαßἿ
  13096.         ─────────────────────────────────────────────────────────────────
  13097.  
  13098.              Çñ¼¿¡¿ßΓαáΓ«α φΓá»á  óδ»«½¡Ñ¡¿∩ »«ññÑনóáÑΓ ß½ÑñπεΘ¿Ñ »«ñ»-
  13099.         α«úαá¼¼δ π»αáó½Ñ¡¿∩ αÑßπαßἿ:
  13100.  
  13101.                         öπ¡¬µ¿¿ API π»αáó½Ñ¡¿∩ αÑßπαßἿ     Æáí½¿µá 17.4
  13102.         ┌──────────────────────┬────────────────────────────────────────┐
  13103.         │    öπ¡¬µ¿∩           │                 Ä»¿ßá¡¿Ñ               │
  13104.         ├──────────────────────┼────────────────────────────────────────┤
  13105.         │   AccessResource     │ ÄΓ¬αδóáÑΓ ºáñá¡¡δ⌐  óδ»«½¡∩Ѽδ⌐  Σá⌐½ ¿│
  13106.         │                      │ »ÑαѼÑΘáÑΓ π¬áºáΓѽ∞  Σá⌐½á  ¡á  ¡áτὫ│
  13107.         │                      │ ºáñá¡¡«ú« αÑßπαßá.                     │
  13108.         ├──────────────────────┼────────────────────────────────────────┤
  13109.         │   FindResource       │ Ä»αÑñѽ∩ÑΓ  áñαÑß  αÑßπαßá  ó  ºáñá¡¡«¼│
  13110.         │                      │ Σá⌐½Ñ αÑßπαßá.                         │
  13111.         ├──────────────────────┼────────────────────────────────────────┤
  13112.         │   FreeResource       │ ô¼Ñ¡∞ΦáÑΓ ßτÑΓτ¿¬ ßß佫¬ ñ½∩  ºáúαπªÑ¡-│
  13113.         │                      │ ¡«ú« αÑßπαßá.  è«úñá   º¡áτÑ¡¿Ñ   φΓ«ú«│
  13114.         │                      │ ßτÑΓτ¿¬á ßΓá¡«ó¿Γß∩ αáó¡δ¼ ¡π½ε, Γ« ¿ß-│
  13115.         │                      │ »«½∞ºπѼá∩ αÑßπαß«¼ »á¼∩Γ∞ «ßó«í«ªñáÑΓ-│
  13116.         │                      │ ß∩.                                    │
  13117.         ├──────────────────────┼────────────────────────────────────────┤
  13118.         │   LoadResource       │ çáúαπªáÑΓ ºáñá¡¡δ⌐ αÑßπαß ó »á¼∩Γ∞.    │
  13119.         ├──────────────────────┼────────────────────────────────────────┤
  13120.         │   LoadString         │ çáúαπªáÑΓ ºáñá¡¡πε ßΓ᫬π αÑßπαßá.     │
  13121.         ├──────────────────────┼────────────────────────────────────────┤
  13122.         │   LockResource       │ ü½«¬¿απÑΓ ºáñá¡¡δ⌐ αÑßπαß  ó  »á¼∩Γ¿  ¿│
  13123.         │                      │ πóѽ¿τ¿óáÑΓ Ñú« ßτÑΓτ¿¬ ßß佫¬.        │
  13124.         ├──────────────────────┼────────────────────────────────────────┤
  13125.         │   SizeOfResource     │ é«ºóαáΘáÑΓ αẼÑα (ó íá⌐Γáσ)  ºáñá¡¡«ú«│
  13126.         │                      │ αÑßπαßá.                               │
  13127.         ├──────────────────────┼────────────────────────────────────────┤
  13128.         │   UnlockResource     │ Éáºí½«¬¿απÑΓ ºáñá¡¡δ⌐ αÑßπαß ¿ π¼Ñ¡∞Φá-│
  13129.         │                      │ ÑΓ ¡á 1 ßτÑΓτ¿¬ ßß佫¬ ¡á αÑßπαß.      │
  13130.         └──────────────────────┴────────────────────────────────────────┘
  13131.  
  13132.              ÉÑßπαßδ ¼«úπΓ ¬«¼»«¡«óáΓ∞ß∩ ß »α¿¬½áñ¡«⌐  »α«úαá¼¼«⌐  ß  »«-
  13133.         ¼«Θ∞ε ñ¿αÑ¬Γ¿ó ¬«¼»¿½∩Γ«αá {$R ¿¼∩_Σá⌐½á}. ô¬áºá¡¡δÑ Σá⌐½δ ñ«½ª¡δ
  13134.         íδΓ∞ Σá⌐½á¼¿ αÑßπαß«ó Windows (.RES).  Äíδτ¡« ß »α¿¬½áñ¡δ¼¿ »α«ú-
  13135.         αἼἿ  ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á DOS ¬«¼»«¡πεΓß∩ Γ«½∞¬« ßΓ᫬«óδÑ αÑ-
  13136.         ßπαßδ ¿ αÑßπαßδ, «»αÑñѽѡ¡δÑ »«½∞º«óáΓѽѼ. äαπú¿Ñ Γ¿»δ αÑßπαß«ó
  13137.         Windows ¬ »α¿¬½áñ¡«⌐ »α«úαἼѠDOS «íδτ¡« ¡Ñ»α¿¼Ñ¡¿¼δ.
  13138.  
  13139.                    Åα¿¼Ñτá¡¿Ñ: ÉÑßπαßδ Turbo Vision  ¡Ñ  ß½ÑñπεΓ  ΓѼ  ªÑ
  13140.               ß«ú½áΦÑ¡¿∩¼, τΓ« αÑßπαßδ Windows, ¿ ¬ ¡¿¼ ¡Ñ½∞º∩ «íαáΘáΓ∞ß∩
  13141.               ß »«¼«Θ∞ε »«ñ»α«úαá¼¼ API.
  13142.  
  13143.              ìѬ«Γ«αδÑ »«ñ»α«úαá¼¼δ API π»αáó½Ñ¡¿∩ αÑßπαßἿ ΓαÑíπεΓ π¬á-
  13144.         ºá¡¿∩ «»¿ßáΓѽ∩ φ¬ºÑ¼»½∩αá, ¬«Γ«αδ¼ «íδτ¡« ∩ó½∩ÑΓß∩ π¬áºáΓѽ∞ φ¬-
  13145.         ºÑ¼»½∩αá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ (¬«Γ«αδ⌐  ß«ñÑনΓß∩  ó  »ÑαѼѡ¡«⌐
  13146.         HInstance ¼«ñπ½∩ System).
  13147.  
  13148.  
  13149.          B.Pascal 7 & Objects/LR     - 291 -
  13150.  
  13151.                               ô»αáó½Ñ¡¿Ñ ßÑ½Ñ¬Γ«α«¼
  13152.         ─────────────────────────────────────────────────────────────────
  13153.  
  13154.              Åਪ½áñ¡«⌐ »α«úαἼѠ«íδτ¡« ¡Ñ ΓαÑíπÑΓß∩ ¼á¡¿»π½¿α«óáΓ∞  ßÑ-
  13155.         ½Ñ¬Γ«αἿ, ¡«  ó «Γñѽ∞¡δσ ß¿Γπᵿ∩σ »«½Ñº¡« ¿ß»«½∞º«óáΓ∞ ß½Ññπε-
  13156.         Θ¿Ñ »«ñ»α«úαá¼¼δ «íß½πª¿óá¡¿∩ ßÑ½Ñ¬Γ«αá:
  13157.  
  13158.                      Å«ñ»α«úαá¼¼δ API π»αáó½Ñ¡¿∩ ßÑ½Ñ¬Γ«α«¼  Æáí½¿µá 17.5
  13159.         ┌───────────────────────┬───────────────────────────────────────┐
  13160.         │    öπ¡¬µ¿∩            │               Ä»¿ßá¡¿Ñ                │
  13161.         ├───────────────────────┼───────────────────────────────────────┤
  13162.         │   AllocDStoCSAlias    │ ÄΓ«íαáªáÑΓ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá ñá¡¡δσ ¡á│
  13163.         │                       │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá ¬«ñá.               │
  13164.         ├───────────────────────┼───────────────────────────────────────┤
  13165.         │   AllocSelector       │ éδñѽ∩ÑΓ ¡«óδ⌐ ßÑ½Ñ¬Γ«α.              │
  13166.         ├───────────────────────┼───────────────────────────────────────┤
  13167.         │   ChangeSelector      │ âÑ¡Ñα¿απÑΓ ßÑ½Ñ¬Γ«α ¬«ñá, ß««ΓóÑΓßΓóπ-│
  13168.         │                       │ Θ¿⌐  ºáñá¡¡«¼π ßÑ½Ñ¬Γ«απ  ñá¡¡δσ,  ¿½¿│
  13169.         │                       │ úÑ¡Ñα¿απÑΓ  ºáñá¡¡δ⌐  ßÑ½Ñ¬Γ«α,  ß««Γ-│
  13170.         │                       │ óÑΓßΓóπεΘ¿⌐ ßÑ½Ñ¬Γ«α𠬫ñá.           │
  13171.         ├───────────────────────┼───────────────────────────────────────┤
  13172.         │   FreeSelector        │ Äßó«í«ªñáÑΓ  ßÑ½Ñ¬Γ«α,   »Ñαó«¡áτá½∞¡«│
  13173.         │                       │ óδñѽѡ¡δ⌐ Σπ¡¬µ¿∩¼¿  AllocDStoCSAlias│
  13174.         │                       │ ¿½¿ AllocSelector.                    │
  13175.         ├───────────────────────┼───────────────────────────────────────┤
  13176.         │   GetSelectorBase     │ äáÑΓ íẫóδ⌐ áñαÑß ßÑ½Ñ¬Γ«αá.         │
  13177.         ├───────────────────────┼───────────────────────────────────────┤
  13178.         │   GetSelectorLimit    │ é«ºóαáΘáÑΓ »αÑñѽ∞¡«Ñ º¡áτÑ¡¿Ñ ñ½∩ ºá-│
  13179.         │                       │ ñá¡¡«ú« ßÑ½Ñ¬Γ«αá.                    │
  13180.         ├───────────────────────┼───────────────────────────────────────┤
  13181.         │   PrestoChangoSelector│ âÑ¡Ñα¿απÑΓ ßÑ½Ñ¬Γ«α ¬«ñá, ß««ΓóÑΓßΓóπ-│
  13182.         │                       │ εΘ¿⌐ ºáñá¡¡«¼π  ßÑ½Ñ¬Γ«απ ñá¡¡δσ, ½¿í«│
  13183.         │                       │ úÑ¡Ñα¿απÑΓ ßÑ½Ñ¬Γ«α ñá¡¡δσ,  ß««ΓóÑΓß-│
  13184.         │                       │ ΓóπεΘ¿⌐ ßÑ½Ñ¬Γ«α𠬫ñá.               │
  13185.         ├───────────────────────┼───────────────────────────────────────┤
  13186.         │   SetSelectorBase     │ ôßΓá¡áó½¿óáÑΓ íẫóδ⌐ áñαÑß ßÑ½Ñ¬Γ«αá.│
  13187.         ├───────────────────────┼───────────────────────────────────────┤
  13188.         │   SetSelectorLomit    │ ôßΓá¡áó½¿óáÑΓ »αÑñѽ∞¡«Ñ  º¡áτÑ¡¿Ñ ßÑ-│
  13189.         │                       │ ½Ñ¬Γ«αá.                              │
  13190.         └───────────────────────┴───────────────────────────────────────┘
  13191.  
  13192.  
  13193.  
  13194.          B.Pascal 7 & Objects/LR     - 292 -
  13195.  
  13196.                              äαπú¿Ñ »«ñ»α«úαá¼¼δ API
  13197.         ─────────────────────────────────────────────────────────────────
  13198.  
  13199.              Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »«ññÑনóáÑΓ ß½ÑñπεΘ¿Ñ ñ«»«½-
  13200.         ¡¿Γѽ∞¡δÑ »«ñ»α«úαá¼¼δ API:
  13201.  
  13202.                              Åα«τ¿Ñ »«ñ»α«úαá¼¼δ API         Æáí½¿µá 17.6
  13203.         ┌───────────────────┬───────────────────────────────────────────┐
  13204.         │    öπ¡¬µ¿∩        │                   Ä»¿ßá¡¿Ñ                │
  13205.         ├───────────────────┼───────────────────────────────────────────┤
  13206.         │   DOS3Call        │ éδºδóáÑΓ Σπ¡¬µ¿ε »αÑαδóá¡¿∩ DOS 21h; óδºδ-│
  13207.         │                   │ óáÑΓß∩ Γ«½∞¬« ¿º »«ñ»α«úαá¼¼ áßßѼí½Ñαá.  │
  13208.         ├───────────────────┼───────────────────────────────────────────┤
  13209.         │   FatalExit       │ ÅÑαÑñáÑΓ «Γ½áñτ¿¬π ΓѬπΘÑÑ  ß«ßΓ«∩¡¿Ñ «»Ñ-│
  13210.         │                   │ αᵿ«¡¡«⌐ ßαÑñδ  ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á ¿ óδ-│
  13211.         │                   │ óδó«ñ¿Γ »«ñ߬Ậπ ñ½∩ óó«ñá  ¿¡ßΓαπ¬µ¿⌐  «│
  13212.         │                   │ »α«ñ«½ªÑ¡¿¿ αáí«Γδ.                       │
  13213.         ├───────────────────┼───────────────────────────────────────────┤
  13214.         │   GetDOSEnviroment│ Ä»αÑñѽ∩ÑΓ  ΓѬπΘπε   ßΓ᫬𠠫»Ñαᵿ«¡¡«⌐│
  13215.         │                   │ ßαÑñδ ºáñáτ¿.                             │
  13216.         ├───────────────────┼───────────────────────────────────────────┤
  13217.         │   GetVersion      │ äáÑΓ  ΓѬπΘπε  óÑαß¿ε  «»Ñαᵿ«¡¡«⌐  ßαÑñδ│
  13218.         │                   │ Windows ¿½¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ DOS.     │
  13219.         ├───────────────────┼───────────────────────────────────────────┤
  13220.         │   GetWinFlags     │ äáÑΓ ¿ß»«½∞ºπѼδÑ Windows Σ½áú¿ ¬«¡Σ¿úπαá-│
  13221.         │                   │ µ¿¿ »á¼∩Γ¿.                               │
  13222.         ├───────────────────┼───────────────────────────────────────────┤
  13223.         │   MessageBox      │ æ«ºñáÑΓ, óδó«ñ¿Γ  ¡á  φ¬αá¡  ¿ «íß½πª¿óáÑΓ│
  13224.         │                   │ «¬¡« ß««íΘÑ¡¿⌐.                           │
  13225.         └───────────────────┴───────────────────────────────────────────┘
  13226.  
  13227.              æ«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼá∩ DLL, τΓ«íδ «»αÑñѽ¿Γ∞, óδ»«½¡∩ÑΓß∩ ½¿
  13228.         «¡á ó  ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS ¿½¿ »«ñ Windows,  ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞
  13229.         Σπ¡¬µ¿ε GetWinFlags, ¡á»α¿¼Ñα:
  13230.  
  13231.              if GetWinFlags and wf_DPMI <> 0 then
  13232.                    Message('Éáí«Γá ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS')
  13233.              else
  13234.                    Message('Éáí«Γá ó ßαÑñÑ Windows');
  13235.  
  13236.  
  13237.  
  13238.          B.Pascal 7 & Objects/LR     - 293 -
  13239.  
  13240.                           Åα∩¼«⌐ ñ«ßΓπ» ¬ DPMI-ßÑαóÑαπ
  13241.         ─────────────────────────────────────────────────────────────────
  13242.  
  13243.              Åα∩¼«⌐ ñ«ßΓπ» ¬ DPMI-ßÑαóÑαπ óδ ¼«ªÑΓÑ »«½πτ¿Γ∞ τÑαѺ »αÑαδ-
  13244.         óá¡¿Ñ $31,  ¬«Γ«α«Ñ  ¡Ñ»«ßαÑñßΓóÑ¡¡« óδºδóáÑΓ DPMI-ßÑαóÑα ó «íσ«ñ
  13245.         áñ¼¿¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩.  Äñ¡á¬« φΓ« «»áß¡δ⌐ »α¿Ñ¼.  DPMI
  13246.         ¡Ñ »«ññÑনóáÑΓ  «τ¿ßΓ¬π  αÑßπαß«ó,  Γᬿσ ¬á¬ óÑ¬Γ«αδ »αÑαδóá¡¿⌐
  13247.         »á¼∩Γ¿; ¬«ααÑ¬Γ¡« ß φΓ¿¼¿ »α«í½Ñ¼á¼¿ αáí«ΓáÑΓ áñ¼¿¡¿ßΓαáΓ«α φΓá»á
  13248.         óδ»«½¡Ñ¡¿∩.  éδ ñ«½ª¡δ ú½πí«¬« »«¡¿¼áΓ∞ ¬«¡µÑ»µ¿¿ ºáΘ¿ΘÑ¡¡«ú« αÑ-
  13249.         ª¿¼á ¿ º¡áΓ∞ « ßπΘÑßΓóÑ¡¡«¼ α¿ß¬Ñ,  ß ¬«Γ«αδ¼ ßó∩ºá¡« ¿ß»«½∞º«óá-
  13250.         ¡¿Ñ ñá¡¡«ú« ¼ÑΓ«ñá ñ«ßΓπ»á ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.
  13251.  
  13252.                è«¼»¿½∩µ¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
  13253.         ─────────────────────────────────────────────────────────────────
  13254.  
  13255.              é í«½∞Φ¿¡ßΓóÑ ß½πτáÑó ñ½∩ »«½πτÑ¡¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºá-
  13256.         Θ¿ΘÑ¡¡«ú« αѪ¿¼á  óá¼  ¡Ñ ¡πª¡« ñѽáΓ∞ ¡¿τÑú« «ß«íÑ¡¡«ú«.  Åα«ßΓ«
  13257.         ß¬«¼»¿½¿απ⌐ΓÑ ßó«ε »α«úαá¼¼π, ºáñáó ó ¬áτÑßΓóÑ µÑ½Ñó«⌐ αáí«Γδ ºá-
  13258.         Θ¿ΘÑ¡¡δ⌐ αѪ¿¼ «ñ¡¿¼ ¿º ß½ÑñπεΘ¿σ ß»«ß«í«ó:
  13259.  
  13260.              * é  IDE óδíÑα¿ΓÑ ¬«¼á¡ñπ Compile│Target ¿ ó ñ¿á½«ú«ó«¼ «¬¡Ñ
  13261.                Target    Platform    (ûѽÑóá∩     »½áΓΣ«α¼á)     óδíÑα¿ΓÑ
  13262.                Protected-mode Application.
  13263.  
  13264.              * Åα¿  ¿ß»«½∞º«óá¡¿¿  ¬«¼»¿½∩Γ«αá,  αáí«ΓáεΘÑú« ó αѪ¿¼Ñ ¬«-
  13265.                ¼á¡ñ¡«⌐ ßΓ᫬¿,  π¬áª¿ΓÑ ñ½∩  óδí«αá  ó  ¬áτÑßΓóÑ  µÑ½Ñó«⌐
  13266.                »½áΓΣ«α¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á »áαá¼ÑΓα /CP.
  13267.  
  13268.  
  13269.  
  13270.          B.Pascal 7 & Objects/LR     - 294 -
  13271.  
  13272.                    éδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS
  13273.         ─────────────────────────────────────────────────────────────────
  13274.  
  13275.              è«úñá óδ óδ»«½¡∩ÑΓÑ »α«úαá¼¼π DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á,  ¡πª¡«
  13276.         «íÑß»Ñτ¿Γ∞ ¡á½¿τ¿Ñ  ó ΓѬπΘѼ ¬áΓὫúÑ ¿½¿ »« ¼áαΦαπΓπ DOS Σá⌐½«ó
  13277.         DPMI16BI.OVL (ßÑαóÑα DPMI), RTM.EXE (áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ-
  13278.         ¡¿∩) ¿ óßÑσ DLL, ß ¬«Γ«α묨 αáí«ΓáÑΓ óáΦá »α«úαá¼¼á.
  13279.  
  13280.                    Åα¿¼Ñτá¡¿Ñ: ï¿µÑ¡º¿«¡¡«Ñ   ß«ú½áΦÑ¡¿Ñ   »«ºó«½∩ÑΓ  óá¼
  13281.               αáß»α«ßΓαá¡∩Γ∞ Σá⌐½δ DPMI16BI.OVL ¿ RTM.EXE ó¼ÑßΓÑ ß  óáΦÑ⌐
  13282.               »α«úαá¼¼«⌐.
  13283.  
  13284.              é óδ»«½¡∩Ѽ«¼ Σá⌐½Ñ .EXE ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿ß»«½∞ºπÑΓß∩
  13285.         Γ«Γ ªÑ Σ«α¼áΓ Σá⌐½á,  τΓ« ¿ ó Windows 3.x ¿ OS/2 1.x. ¥Γ«Γ Σ«α¼áΓ
  13286.         Σá⌐½á ∩ó½∩ÑΓß∩  ¡áñ¼¡«ªÑßΓó«¼ «íδτ¡«ú« Σ«α¼áΓá .EXE DOS ¿ ß«ßΓ«¿Γ
  13287.         ¿º «íδτ¡«ú« «íαáºá Σá⌐½á .EXE,  ¡áºδóáѼ«ú« Σ¿¬Γ¿ó¡δ¼ ¼«ñπ½Ñ¼, ºá
  13288.         ¬«Γ«αδ¼ ß½ÑñπÑΓ αáßΦ¿αÑ¡¡δ⌐ ºáú«½«ó«¬ ¿ ¬«ñ, ñá¡¡δÑ ¿ αÑßπαßδ ºá-
  13289.         Θ¿ΘÑ¡¡«ú« αѪ¿¼á.  ì¿ªÑ »«¬áºá¡á »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  ß«íδΓ¿⌐  »α¿
  13290.         óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.
  13291.  
  13292.              1. DOS ºáúαπªáÑΓ Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ αÑá½∞¡«ú« αѪ¿¼á ¿ »ÑαÑñá-
  13293.                 ÑΓ Ñ¼π π»αáó½Ñ¡¿Ñ.
  13294.  
  13295.              2. àß½¿ ßαÑñßΓóá DPMI «ΓßπΓßΓóπεΓ,  Γ« Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ ºáú-
  13296.                 απªáÑΓ DPMI-ßÑαóÑα ¿º Σá⌐½á DPMI16BI.OVL. ìѬ«Γ«αδÑ ¡«óδÑ
  13297.                 áñ¼¿¡¿ßΓαáΓ«αδ  »á¼∩Γ¿  »«ññÑনóáεΓ  ßαÑñßΓóá DPMI (¬á¬,
  13298.                 ¡á»α¿¼Ñα,  φΓ« ñѽáÑΓß∩ ó  «¬¡Ñ  DOS  π½πτΦÑ¡¡«ú«  αѪ¿¼á
  13299.                 Windows  3.σ).  é Γá¬¿σ ¬«¡Σ¿úπαᵿ∩σ Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ ¡Ñ
  13300.                 ºáúαπªáÑΓ DPMI-ßÑαóÑα, ¡« ¿ß»«½∞ºπÑΓ πªÑ ¿¼ÑεΘ¿⌐ß∩.
  13301.  
  13302.              3. äá½ÑÑ,  Ñß½¿ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ ÑΘÑ ¡Ñ ºáúαπ-
  13303.                 ªÑ¡ ó »á¼∩Γ∞,  Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ ºáúαπªáÑΓ  Ñú«  ¿º  Σá⌐½á
  13304.                 RTM.EXE. àß½¿ »α¿¬½áñ¡á∩ »α«úαἼᠺáΘ¿ΘÑ¡¡«ú« αѪ¿¼á óδ-
  13305.                 »«½¡∩ÑΓ ñαπúπε »α«úαá¼¼π ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á,  «íÑ ¿ß»«½∞-
  13306.                 ºπεΓ «ñ¡π ¬«»¿ε áñ¼¿¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩.
  13307.  
  13308.              4. àß½¿  ßαÑñßΓóá DPMI ¿ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »α¿-
  13309.                 ßπΓßΓóπεΓ,  Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ »ÑαѬ½ετáÑΓß∩ ¿º αÑá½∞¡«ú« ó
  13310.                 ºáΘ¿ΘÑ¡¡δ⌐  αѪ¿¼ ¿ »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ αáßΦ¿αÑ¡¡«¼π ºáú-
  13311.                 απºτ¿¬π .EXE ó áñ¼¿¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩.
  13312.  
  13313.              5. çáúαπºτ¿¬ ß¡áτá½á ºáúαπªáÑΓ ¿ß»«½∞ºπѼπε »α¿¬½áñ¡«⌐ »α«ú-
  13314.                 αá¼¼«⌐ DLL  (Ñß½¿ «¡á ¿¼ÑÑΓß∩),  ºáΓѼ ºáúαπªáÑΓ ßÑú¼Ñ¡Γδ
  13315.                 ¬«ñá ¿ ñá¡¡δσ »α¿¬½áñ¡«⌐  »α«úαá¼¼δ.  ìᬫ¡Ñµ,  ºáúαπºτ¿¬
  13316.                 »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ¡á Γ«τ¬π óσ«ñá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  13317.  
  13318.              Åα¿ óδ»«½¡Ñ¡¿¿ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
  13319.         DOS óßÑúñá ó«º¼«ª¡« ß¿Γπᵿ∩, ¬«úñá πªÑ »α¿ßπΓßΓóπÑΓ DMPI-ßÑαóÑα,
  13320.         «Γ½¿τ¡δ⌐ «Γ ßÑαóÑαá Borland. Å«ß¬«½∞¬π ¼Ñªñπ ßÑαóÑαἿ ¼«úπΓ íδΓ∞
  13321.         ¡Ñí«½∞Φ¿Ñ αẽ¿τ¿∩, «ß«íÑ¡¡« ó »½á¡Ñ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ DOS, óδ
  13322.         ñ«½ª¡δ »α«óÑα¿Γ∞ »α«úαá¼¼π ¿ πíÑñ¿Γ∞ß∩, τΓ« «¡á αáí«ΓáÑΓ ß« óßѼ¿
  13323.         ó«º¼«ª¡δ¼¿ ßÑαóÑαἿ, ¬«Γ«αδÑ ¼«úπΓ Ñ⌐ óßΓαÑΓ¿Γ∞ß∩.
  13324.  
  13325.  
  13326.          B.Pascal 7 & Objects/LR     - 295 -
  13327.  
  13328.              è«úñá »α¿¬½áñ¡á∩ »α«úαἼᠺáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS óδ»«½¡∩ÑΓ-
  13329.         ß∩ ó «¬¡Ñ DOS π½πτΦÑ¡¡«ú« αѪ¿¼á  Windows,  óδ  ¼«ªÑΓÑ  π»αáó½∩Γ∞
  13330.         «íΩѼ«¼ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿,  ¬«Γ«απε óδñѽ∩ÑΓ áñ¼¿¡¿ßΓαáΓ«α φΓá»á
  13331.         óδ»«½¡Ñ¡¿∩,  ºáñáó ó Σá⌐½Ñ .PIF »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  »αÑñѽ∞¡«Ñ
  13332.         º¡áτÑ¡¿Ñ »á¼∩Γ¿ XMS.
  13333.  
  13334.  
  13335.                    ô»αáó½Ñ¡¿Ñ «íΩѼ«¼ ¿ß»«½∞ºπѼ«⌐ RTM »á¼∩Γ¿
  13336.         ─────────────────────────────────────────────────────────────────
  13337.  
  13338.              Å« π¼«½τá¡¿ε  áñ¼¿¡¿ßΓαáΓ«α  φΓá»á óδ»«½¡Ñ¡¿∩ ¿ß»«½∞ºπÑΓ »α¿
  13339.         ºáúαπº¬Ñ óßε ñ«ßΓπ»¡πε »á¼∩Γ∞.  çáΓѼ »« ºá»α«ßá¼ «¡ óδñѽ∩ÑΓ »á-
  13340.         ¼∩Γ∞ ßó«¿¼  ¬½¿Ñ¡Γá¼ (τÑαѺ »«ñ»α«úαá¼¼δ API áñ¼¿¡¿ßΓαáΓ«αá »á¼∩-
  13341.         Γ¿).
  13342.  
  13343.              é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ ¡ÑΓ αạ¿µδ ¼Ñªñπ «íδτ¡«⌐ »á¼∩Γ∞ε  (¡¿ªÑ
  13344.         1 ¼Ñúáíá⌐Γá) ¿ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ∞ε (ß áñαÑßἿ óδΦÑ 1 ¼Ñúáíá⌐Γá);
  13345.         ñ½∩ »α«úαá¼¼ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ñ«ßΓπ»¡δ «íá Γ¿»á »á¼∩Γ¿.  Äñ¡á¬«
  13346.         áñ¼¿¡¿ßΓαáΓ«α φΓá»á  óδ»«½¡Ñ¡¿Ñ  «ΓñáÑΓ  »αÑñ»«τΓÑ¡¿Ñ αáßΦ¿αÑ¡¡«⌐
  13347.         »á¼∩Γ¿. Æ«½∞¬« »«ß½Ñ Γ«ú« ¬á¬ óß∩ αáßΦ¿αÑ¡¡á∩ »á¼∩Γ∞ íπñÑΓ  óδñÑ-
  13348.         ½Ñ¡á, ¿½¿   ¬«úñá  »α¿¬½áñ¡á∩  »α«úαἼᠠ߻ѵ¿á½∞¡«  ºá»αáΦ¿óáÑΓ
  13349.         «íδτ¡πε »á¼∩Γ∞ (¡á»α¿¼Ñα,  ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GlobalDosAlloc), áñ-
  13350.         ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ óδñѽ∩ÑΓ «íδτ¡πε »á¼∩Γ∞.
  13351.  
  13352.              Åα¿τ¿¡á, »« ¬«Γ«α«⌐ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »αÑñ»«τ¿-
  13353.         ΓáÑΓ αáßΦ¿αÑ¡¡πε »á¼∩Γ∞,  ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ« »α¿¬½áñ¡á∩ »α«ú-
  13354.         αἼᠼ«ªÑΓ ß »«¼«Θ∞ε ó맮óá »«ñ»α«úαá¼¼δ Exec ó ¼«ñπ½Ñ  Dos  »«-
  13355.         α«ªñáΓ∞ ñαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ. Å«α«ªñÑ¡¡δÑ »α¿¬½áñ¡δÑ »α«ú-
  13356.         αá¼¼δ ¡Ñ «í∩ºáΓѽ∞¡« ∩ó½∩εΓß∩ »α«úαἼἿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á; Γá-
  13357.         ¬¿¼ «íαẫ¼,  ¿¼ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ «íδτ¡á∩ »á¼∩Γ∞.  öá¬Γ¿τÑ߬¿,
  13358.         »«α«ªñÑ¡¡δÑ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ºá»π߬áεΓß∩ ¬á¬ »α«úαá¼-
  13359.         ¼δ  αÑá½∞¡«ú«  αѪ¿¼á  ¿  »ÑαѬ½ετáεΓß∩ ó ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ Γ«½∞¬«
  13360.         »«ß½Ñ πß»ÑΦ¡«⌐ ºáúαπº¬¿ Σ¿¬Γ¿ó¡δ¼ ¼«ñπ½Ñ¼ ßαÑñßΓó  DPMI  ¿  áñ¼¿-
  13361.         ¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩.
  13362.  
  13363.              Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »ÑαÑñ »«α«ªñÑ¡¿Ñ¼  »α¿¬½áñ¡«⌐
  13364.         »α«úαá¼¼δ »δΓáÑΓß∩  «ßó«í«ñ¿Γ∞  ¼á¬ß¿¼á½∞¡δ⌐ «íΩѼ «íδτ¡«⌐ »á¼∩Γ¿
  13365.         (¡á»α¿¼Ñα, »ÑαÑ¡Ñß∩ »ÑαѼÑΘáѼδÑ í½«¬¿ ó αáßΦ¿αÑ¡¡πε »á¼∩Γ∞). Äñ-
  13366.         ¡á¬« »«»δΓ¬¿  «ßó«í«ªñÑ¡¿∩ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ¡Ñ »αÑñ»α¿¡¿¼áεΓß∩.
  13367.         Æá¬¿¼ «íαẫ¼, Ñß½¿ ñ«½ª¡δ »«α«ªñáΓ∞ß∩ »α¿¬½áñ¡δÑ »α«úαá¼¼δ ºáΘ¿-
  13368.         ΘÑ¡¡«ú« αѪ¿¼á,  ¡Ñ ¿ß»«½∞ºπεΘ¿Ñ áñ¼¿¡¿ßΓαáΓ«α φΓá»á  óδ»«½¡Ñ¡¿∩,
  13369.         Γ«  ¡Ñ«íσ«ñ¿¼ ß»«c«í π»αáó½Ñ¡¿∩ αáß»αÑñѽѡ¿Ñ¼ »á¼∩Γ¿ áñ¼¿¡¿ßΓαá-
  13370.         Γ«α«¼ φΓá»á óδ»«½¡Ñ¡¿∩.
  13371.  
  13372.              ùΓ«íδ π»αáó½∩Γ∞ ΓѼ, ß¬«½∞¬« »á¼∩Γ¿ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ áñ¼¿-
  13373.         ¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩,  ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ  DOS  ñ«íáó∞ΓÑ  ¬
  13374.         ßΓα«¬Ñ «»Ñαᵿ«¡¡«⌐ ßαÑñδ DOS »ÑαѼѡ¡πε ßαÑñδ RTM:
  13375.  
  13376.              SET RTM={»áαá¼ÑΓα nnnn}
  13377.  
  13378.              é«º¼«ª¡δÑ »áαá¼ÑΓαδ »ÑαÑτ¿ß½Ñ¡δ ó ß½ÑñπεΘÑ⌐ Γáí½¿µÑ.  ç¡áτÑ-
  13379.         ¡¿Ñ nnnn ¼«ªÑΓ íδΓ∞ ñÑß∩Γ¿τ¡δ¼ ¿½¿ ΦÑßΓ¡áñµáΓ¿α¿τ¡δ¼ τ¿ß½«¼ ó ó¿-
  13380.         ñÑ xAB54 ¿½¿ xab54.
  13381.  
  13382.          B.Pascal 7 & Objects/LR     - 296 -
  13383.  
  13384.  
  13385.                      Åáαá¼ÑΓαδ »ÑαѼѡ¡«⌐ «»Ñαᵿ«¡¡«⌐
  13386.              ßαÑñδ RTM, ¿ß»«½∞ºπѼδÑ ñ½∩ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε  Æáí½¿µá 17.7
  13387.         ┌────────────────────┬──────────────────────────────────────────┐
  13388.         │    Åáαá¼ÑΓα        │                 Ä»¿ßá¡¿Ñ                 │
  13389.         ├────────────────────┼──────────────────────────────────────────┤
  13390.         │   EXTLEAVE nnnn    │ éßÑúñá «ßΓáó½∩ÑΓ ¡Ñ ¼Ñ¡ÑÑ  nnnn  ¬¿½«íá⌐Γ│
  13391.         │                    │ ñ«ßΓπ»¡«⌐ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿.  Å« π¼«½τá-│
  13392.         │                    │ ¡¿ε φΓ« º¡áτÑ¡¿Ñ αáó¡« 640è.             │
  13393.         ├────────────────────┼──────────────────────────────────────────┤
  13394.         │   EXTMAX nnnn      │ ìÑ óδñѽ∩ÑΓ í«½ÑÑ nnnn ¬¿½«íá⌐Γ αáßΦ¿αÑ¡-│
  13395.         │                    │ ¡«⌐ »á¼∩Γ¿.   Å«  π¼«½τá¡¿ε  ¿ß»«½∞ºπÑΓß∩│
  13396.         │                    │ º¡áτÑ¡¿Ñ 4 ú¿úáíá⌐Γá. é Windows ¿ß»«½∞ºπ-│
  13397.         │                    │ Ñ¼«Ñ »« π¼«½τá¡¿ε º¡áτÑ¡¿Ñ αáó¡« »«½«ó¿¡Ñ│
  13398.         │                    │ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿.                        │
  13399.         ├────────────────────┼──────────────────────────────────────────┤
  13400.         │   EXTMIN nnnn      │ àß½¿ »«ß½Ñ »α¿¼Ñ¡Ñ¡¿∩ EXTMAX ¿½¿ EXTLEAVE│
  13401.         │                    │ ñ«ßΓπ»¡« ¼Ñ¡ÑÑ nnnn ¬¿½«íá⌐Γ, Γ« »α«úαá¼-│
  13402.         │                    │ ¼á ºáóÑαΦáÑΓß∩ ß  ß««íΘÑ¡¿Ñ¼  «  ¡ÑσóáΓ¬Ñ│
  13403.         │                    │ »á¼∩Γ¿ (Out of memory).  Å« π¼«½τá¡¿ε φΓ«│
  13404.         │                    │ º¡áτÑ¡¿Ñ αáó¡« 0.                        │
  13405.         ├────────────────────┼──────────────────────────────────────────┤
  13406.         │   REALLEAVE nnnn   │ éßÑúñá «ßΓáó½∩ÑΓ ¡Ñ ¼Ñ¡ÑÑ nnnn »áαáúαáΣ«ó│
  13407.         │                    │ ñ«ßΓπ»¡«⌐ αÑá½∞¡«⌐  »á¼∩Γ¿.  Å« π¼«½τá¡¿ε│
  13408.         │                    │ φΓ«  º¡áτÑ¡¿Ñ αáó¡« 64è ¿½¿ 4096 »áαáúαá-│
  13409.         │                    │ Σ«ó.                                     │
  13410.         ├────────────────────┼──────────────────────────────────────────┤
  13411.         │   REALMAX nnnn     │ ìÑ  óδñѽ∩ÑΓ í«½ÑÑ nnnn »áαáúαáΣ«ó αÑá½∞-│
  13412.         │                    │ ¡«⌐ »á¼∩Γ¿.  Å«  π¼«½τá¡¿ε  φΓ«  º¡áτÑ¡¿Ñ│
  13413.         │                    │ αáó¡« 1 ¼Ñúáíá⌐Γπ ¿½¿ 65535 »áαáúαáΣ«ó.  │
  13414.         ├────────────────────┼──────────────────────────────────────────┤
  13415.         │   REALMIN nnnn     │ àß½¿ »«ß½Ñ »α¿¼Ñ¡Ñ¡¿∩ REALMAX ¿ REALLEAVE│
  13416.         │                    │ ñ«ßΓπ»¡« ¼Ñ¡ÑÑ nnnn »áαáúαáΣ«ó,  Γ« »α«ú-│
  13417.         │                    │ αἼᠺáóÑαΦáÑΓß∩ ß ß««íΘÑ¡¿Ñ¼ « ¡ÑσóáΓ¬Ñ│
  13418.         │                    │ »á¼∩Γ¿ (Out of memory).  Å« π¼«½τá¡¿ε φΓ«│
  13419.         │                    │ º¡áτÑ¡¿Ñ αáó¡« 0.                        │
  13420.         └────────────────────┴──────────────────────────────────────────┘
  13421.  
  13422.              æ½ÑñπεΘá∩ ¬«¼á¡ñá DOS «úαá¡¿τ¿óáÑΓ RTM 2 ¼Ñúáíá⌐ΓἿ  αáßΦ¿-
  13423.         αÑ¡¡«⌐  »á¼∩Γ¿  ¿  «íÑß»Ñτ¿óáÑΓ,  τΓ« ¡Ñαáß»αÑñѽѡ¡δ¼¿ «ßΓá¡πΓß∩
  13424.         128è αÑá½∞¡«⌐ »á¼∩Γ¿.
  13425.  
  13426.              SET RTM=EXTMAX 2048 REALLEAVE 8192
  13427.  
  13428.          B.Pascal 7 & Objects/LR     - 297 -
  13429.  
  13430. ───────────────────────────────────────────────────────────────────────
  13431.                       â½áóá 18. æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼
  13432.         ─────────────────────────────────────────────────────────────────
  13433.  
  13434.              é Borland Pascal »«ññÑনóáÑΓß∩ ¬½áßß ß¿¼ó«½∞¡δσ ßΓ᫬,  ¬«-
  13435.         Γ«αδÑ ¡áºδóáεΓß∩ ßΓα«¬á¼¿, ºáóÑαΦáεΘ¿¼¿ß∩ ¡π½Ñ¼. ü½áú«ñáα∩ αáßΦ¿-
  13436.         αÑ¡¡«¼π ß¿¡Γá¬ß¿ßπ Borland Pascal ¿ ¼«ñπ½ε Strings óáΦ¿ »α«úαá¼¼δ
  13437.         (¬á¬ ñ½∩ DOS,  Γᬠ¿ ñ½∩ Windows) ¼«úπΓ ¿ß»«½∞º«óáΓ∞ ßΓ᫬¿ ß ºá-
  13438.         óÑαΦáεΘ¿¼ ¡π½Ñ¼ »πΓѼ ºáñá¡¿∩ ó «»ÑαáΓ«αÑ uses ¼«ñπ½∩ Strings.
  13439.  
  13440.                       ùΓ« ΓᬫѠßΓ᫬á ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼?
  13441.         ─────────────────────────────────────────────────────────────────
  13442.  
  13443.              é Borland  Pascal ßΓ᫬¿ «íδτ¡«ú« Γ¿»á (String) σαá¡∩Γß∩ ¬á¬
  13444.         íá⌐Γ ñ½¿¡δ,  ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó. îá¬-
  13445.         ß¿¼á½∞¡á∩ ñ½¿¡á ßΓ᫬¿ ó Åá߬á½Ñ αáó¡á 255 ß¿¼ó«½á¼.  Æá¬¿¼ «íαá-
  13446.         º«¼, ßΓ᫬á Åá߬á½∩ ºá¡¿¼áÑΓ «Γ 1 ñ« 256 íá⌐Γ »á¼∩Γ¿.
  13447.  
  13448.              æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ¡Ñ ß«ñÑαªáΓ íá⌐Γá  ñ½¿¡δ.  é¼ÑßΓ«
  13449.         φΓ«ú«  «¡¿  ß«ßΓ«∩Γ ¿º »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¡Ñ¡π½Ñóδσ ß¿¼ó«½«ó,  ºá
  13450.         ¬«Γ«α묨 ß½ÑñπÑΓ ß¿¼ó«½ NULL (#0).  ì¿¬á¬¿σ «úαá¡¿τÑ¡¿⌐ ¡á  ñ½¿¡π
  13451.         ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ¡Ñ ¡á¬½áñδóáÑΓß∩, ¡« 16-αáºα∩ñ¡á∩ áασ¿-
  13452.         ΓѬΓπαá DOS ¿ Windows «úαá¡¿τ¿óáÑΓ ¿σ αẼÑα 65535 ß¿¼ó«½á¼¿.
  13453.  
  13454.                              öπ¡¬µ¿¿ ¼«ñπ½∩ Strings
  13455.         ─────────────────────────────────────────────────────────────────
  13456.  
  13457.              Borland Pascal  ¡Ñ ¿¼ÑÑΓ óßΓα«Ñ¡¡δσ »«ñ»α«úαá¼¼,  »αÑñ¡áº¡á-
  13458.         τÑ¡¡δσ ß»Ñµ¿á½∞¡« ñ½∩ αáí«Γδ ß« ßΓα«¬á¼¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼. ¥Γ¿
  13459.         Σπ¡¬µ¿¿ óδ  ¼«ªÑΓÑ  ¡á⌐Γ¿ ó ¼«ñπ½Ñ Strings.  æαÑñ¿ ¡¿σ óδ ¡á⌐ñÑΓÑ
  13460.         Σπ¡¬µ¿ε StrPCopy,  ¬«Γ«απε  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ñ½∩  ¬«»¿α«óá¡¿∩
  13461.         ßΓ᫬¿ Åá߬á½∩ ó ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼, ¿ StrPos, ¿ß»«½∞ºπÑ-
  13462.         ¼πε ñ½∩ »αÑ«íαẫóá¡¿∩ ßΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ó ßΓ᫬π Åá߬á-
  13463.         ½∩. Åα¿óÑñѼ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ ¬áªñ«⌐ Σπ¡¬µ¿¿:
  13464.  
  13465.  
  13466.  
  13467.          B.Pascal 7 & Objects/LR     - 298 -
  13468.  
  13469.                              öπ¡¬µ¿¿ ¼«ñπ½∩ Strings
  13470.         ┌──────────────┬────────────────────────────────────────────────┐
  13471.         │     öπ¡¬µ¿∩  │       Ä»¿ßá¡¿Ñ                                 │
  13472.         ├──────────────┼────────────────────────────────────────────────┤
  13473.         │   StrCat     │ ä«íáó½∩ÑΓ ¿ßσ«ñ¡πε ßΓ᫬𠬠¬«¡µπ µÑ½Ñó«⌐ ßΓα«-│
  13474.         │              │ ¬¿ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á µÑ½Ñóπε ßΓ᫬π.   │
  13475.         ├──────────────┼────────────────────────────────────────────────┤
  13476.         │   StrComp    │ æαáó¡¿óáÑΓ  ñóÑ  ßΓ᫬¿  S1  ¿   S2. é«ºóαáΘáÑΓ│
  13477.         │              │ º¡áτÑ¡¿Ñ < 0, Ñß½¿ S1 < S2, αáó¡«Ñ 0, Ñß½¿ S1 =│
  13478.         │              │ S2 ¿ > 0, Ñß½¿ S1 > S2.                        │
  13479.         ├──────────────┼────────────────────────────────────────────────┤
  13480.         │   StrCopy    │ è«»¿απÑΓ ¿ßσ«ñ¡πε ßΓ᫬π  ó  µÑ½Ñóπε  ßΓα«¬π  ¿│
  13481.         │              │ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á µÑ½Ñóπε ßΓ᫬π.        │
  13482.         ├──────────────┼────────────────────────────────────────────────┤
  13483.         │   StrECopy   │ è«»¿απÑΓ ¿ßσ«ñ¡πε ßΓ᫬π  ó  µÑ½Ñóπε  ßΓα«¬π  ¿│
  13484.         │              │ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¬«¡Ñµ µÑ½Ñó«⌐ ßΓ᫬¿.  │
  13485.         ├──────────────┼────────────────────────────────────────────────┤
  13486.         │   StrIComp   │ æαáó¡¿óáÑΓ  ñóÑ  ßΓ᫬¿  íѺ  αẽ¿τ¿∩ αÑú¿ßΓαá│
  13487.         │              │ ß¿¼ó«½«ó.                                      │
  13488.         ├──────────────┼────────────────────────────────────────────────┤
  13489.         │   StrLCat    │ Åα¿ß«Ññ¿¡∩ÑΓ  ¿ßσ«ñ¡πε  ßΓ᫬𠠬 ¬«¡µπ µÑ½Ñó«⌐│
  13490.         │              │ ßΓ᫬¿. Åα¿ φΓ«¼ «íÑß»Ñτ¿óáÑΓß∩,  τΓ« ñ½¿¡á αÑ-│
  13491.         │              │ ºπ½∞Γ¿απεΘÑ⌐ ßΓ᫬¿ ¡Ñ »αÑóδΦáÑΓ ºáñá¡¡«ú« ¼á¬-│
  13492.         │              │ ß¿¼π¼á.  é«ºóαáΘáÑΓß∩ π¬áºáΓѽ∞  ¡á  ßΓ᫬π-αÑ-│
  13493.         │              │ ºπ½∞ΓáΓ.                                       │
  13494.         ├──────────────┼────────────────────────────────────────────────┤
  13495.         │   StrLComp   │ æαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿ ß  ºáñá¡¡«⌐  ¼á¬ß¿¼á½∞¡«⌐│
  13496.         │              │ ñ½¿¡«⌐.                                        │
  13497.         ├──────────────┼────────────────────────────────────────────────┤
  13498.         │   StrLCopy   │ è«»¿απÑΓ ºáñá¡¡«Ñ τ¿ß½«  ß¿¼ó«½«ó  ¿º  ¿ßσ«ñ¡«⌐│
  13499.         │              │ ßΓ᫬¿ ó  µÑ½Ñóπε ßΓα«¬π ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞│
  13500.         │              │ ¡á µÑ½Ñóπε ßΓ᫬π.                             │
  13501.         ├──────────────┼────────────────────────────────────────────────┤
  13502.         │   StrEnd     │ é«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á ¬«¡Ñµ ßΓ᫬¿, Γ« ÑßΓ∞│
  13503.         │              │ π¬áºáΓѽ∞ ¡á ºáóÑαΦáεΘ¿⌐ ßΓ᫬π ¡π½Ñó«⌐ ß¿¼ó«½.│
  13504.         ├──────────────┼────────────────────────────────────────────────┤
  13505.         │   StrDispose │ ô¡¿τΓ«ªáÑΓ αá¡ÑÑ óδñѽѡ¡πε ßΓ᫬π.            │
  13506.         ├──────────────┼────────────────────────────────────────────────┤
  13507.         │   StrLen     │ é«ºóαáΘáÑΓ ñ½¿¡π ßΓ᫬¿.                       │
  13508.         ├──────────────┼────────────────────────────────────────────────┤
  13509.         │   StrLIComp  │ æαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿  ß  ºáñá¡¡«⌐ ¼á¬ß¿¼á½∞¡«⌐│
  13510.         │              │ ñ½¿¡«⌐ íѺ αẽ¿τ¿∩ αÑú¿ßΓαá ß¿¼ó«½«ó.         │
  13511.         ├──────────────┼────────────────────────────────────────────────┤
  13512.         │   StrLower   │ ÅαÑ«íαáºπÑΓ ßΓ᫬π ó ¡¿ª¡¿⌐ αÑú¿ßΓα ¿ ó«ºóαáΘá-│
  13513.         │              │ ÑΓ π¬áºáΓѽ∞ ¡á ¡ÑÑ.                           │
  13514.         ├──────────────┼────────────────────────────────────────────────┤
  13515.         │   StrMove    │ ÅÑαѼÑΘáÑΓ  í½«¬  ß¿¼ó«½«ó ¿º ¿ßσ«ñ¡«⌐ ßΓ᫬¿ ó│
  13516.         │              │ µÑ½Ñóπε ßΓα«¬π ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á  µÑ½Ñ-│
  13517.         │              │ óπε ßΓ᫬π. äóá í½«¬á ¼«úπΓ »ÑαѬαδóáΓ∞ß∩.     │
  13518.         ├──────────────┼────────────────────────────────────────────────┤
  13519.         │   StrNew     │ éδñѽ∩ÑΓ  ñ½∩  ßΓ᫬¿ »á¼∩Γ∞ ó ñ¿¡á¼¿τÑ߬¿ αáß-│
  13520.         │              │ »αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.                           │
  13521.         ├──────────────┼────────────────────────────────────────────────┤
  13522.  
  13523.          B.Pascal 7 & Objects/LR     - 299 -
  13524.  
  13525.         │   StrPas     │ ÅαÑ«íαáºπÑΓ ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ó ßΓ᫬π│
  13526.         │              │ Åá߬á½∩.                                       │
  13527.         ├──────────────┼────────────────────────────────────────────────┤
  13528.         │   StrPCopy   │ è«»¿απÑΓ  ßΓ᫬π Åá߬á½∩ ó ßΓ᫬π ß ºáóÑαΦáεΘ¿¼│
  13529.         │              │ ¡π½Ñ¼ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π ß ºáóÑα-│
  13530.         │              │ ΦáεΘ¿¼ ¡π½Ñ¼.                                  │
  13531.         ├──────────────┼────────────────────────────────────────────────┤
  13532.         │   StrPos     │ é«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ ºáñá¡-│
  13533.         │              │ ¡«⌐ »«ñßΓ᫬¿ ó ßΓ᫬Ñ, ¿½¿ nil, Ñß½¿ »«ñßΓ᫬á│
  13534.         │              │ ó ßΓα«¬Ñ ¡Ñ ß«ñÑনΓß∩.                        │
  13535.         ├──────────────┼────────────────────────────────────────────────┤
  13536.         │   StrRScan   │ é«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á  »«ß½Ññ¡ÑÑ  óσ«ªñÑ¡¿Ñ│
  13537.         │              │ π¬áºá¡¡«ú« ß¿¼ó«½á ó ßΓ᫬π, ¿½¿ nil, Ñß½¿ ß¿¼-│
  13538.         │              │ ó«½ ó ßΓα«¬Ñ «ΓßπΓßΓóπÑΓ.                      │
  13539.         ├──────────────┼────────────────────────────────────────────────┤
  13540.         │   StrScan    │ é«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ π¬á-│
  13541.         │              │ ºá¡¡«ú« ß¿¼ó«½á ó ßΓ᫬π,  ¿½¿ nil, Ñß½¿ ß¿¼ó«½│
  13542.         │              │ ó ßΓα«¬Ñ «ΓßπΓßΓóπÑΓ.                          │
  13543.         ├──────────────┼────────────────────────────────────────────────┤
  13544.         │   StrUpper   │ ÅαÑ«íαáºπÑΓ  ßΓ᫬π ó óÑασ¡¿⌐ αÑú¿ßΓα ¿ ó«ºóαá-│
  13545.         │              │ ΘáÑΓ π¬áºáΓѽ∞ ¡á ¡ÑÑ.                         │
  13546.         └──────────────┴────────────────────────────────────────────────┘
  13547.  
  13548.                      êß»«½∞º«óá¡¿Ñ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼
  13549.         ─────────────────────────────────────────────────────────────────
  13550.  
  13551.              æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ σαá¡∩Γß∩ ó ó¿ñÑ ß¿¼ó«½∞¡δσ ¼áßß¿-
  13552.         ó«ó ß ¡π½Ñó«⌐ íẫ⌐ (¡áτ¿¡áεΘ¿σß∩ ß 0) ß ¿¡ñѬ߫¼ µÑ½«ú« Γ¿»á, Γ«
  13553.         ÑßΓ∞ ó ó¿ñÑ ¼áßß¿óá:
  13554.  
  13555.              array[0..X] of Char;
  13556.  
  13557.         úñÑ X - »«½«ª¿Γѽ∞¡«Ñ ¡Ñ¡π½Ñó«Ñ µÑ½«Ñ τ¿ß½«.  Æá¬¿Ñ ¼áßß¿óδ ¡áºδ-
  13558.         óáεΓß∩ ß¿¼ó«½∞¡δ¼¿ ¼áßß¿óἿ ß ¡π½Ñó«⌐ íẫ⌐.  Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ
  13559.         »α¿¼Ñαδ «»¿ßá¡¿⌐ ß¿¼ó«½∞¡δσ ¼áßß¿ó«ó ß ¡π½Ñó«⌐ íẫ⌐, ¬«Γ«αδÑ ¼«-
  13560.         úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ σαá¡Ñ¡¿∩ ºáóÑαΦáεΘ¿σß∩ ¡π½Ñ¼ ßΓ᫬.
  13561.  
  13562.              type
  13563.                 TIdentifier = array[0..15] of Char;
  13564.                 TFileName   = array[0..79] of Char;
  13565.                 TMemoText   = array[0..1023] of Char;
  13566.  
  13567.  
  13568.          B.Pascal 7 & Objects/LR     - 300 -
  13569.  
  13570.              ü«½ÑÑ óßÑú«  ßΓ᫬¿ Åá߬á½∩ ¿ ßΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ «Γ-
  13571.         ½¿τáεΓß∩ ¿¡Γѡ߿ó¡«ßΓ∞ε ¿ß»«½∞º«óá¡¿∩ π¬áºáΓѽÑ⌐.  Borland Pascal
  13572.         óδ»«½¡∩ÑΓ  «»Ñαᵿ¿  ß φΓ¿¼¿ π¬áºáΓѽ∩¼¿,  ¿ß»«½∞ºπ∩ ¡áí«α »αáó¿½
  13573.         αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá.  èα«¼Ñ Γ«ú«,  ó Borland  Pascal  ¿¼ÑÑΓß∩
  13574.         óßΓα«Ñ¡¡δ⌐  Γ¿»  PChar,  ¬«Γ«αδ⌐  »αÑñßΓáó½∩ÑΓ ß«í«⌐ π¬áºáΓѽ∞ ¡á
  13575.         ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼. é ¼«ñπ½Ñ System Γ¿» PChar «»αÑñѽ∩ÑΓ-
  13576.         ß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
  13577.  
  13578.              type PChar = ^Char;
  13579.  
  13580.              Åαáó¿½á¼¿ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá π»αáó½∩ÑΓ ñ¿αÑ¬Γ¿óá ¬«¼»¿-
  13581.         ½∩Γ«αá $X. é ß«ßΓ«∩¡¿¿ {$X+} (»« π¼«½τá¡¿ε) αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß
  13582.         αáºαÑΦÑ¡. Åαáó¿½á αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá «»¿ßδóáεΓß∩ ó ß½ÑñπεΘ¿σ
  13583.         αáºñѽáσ.
  13584.  
  13585.  
  13586.  
  13587.          B.Pascal 7 & Objects/LR     - 301 -
  13588.  
  13589.                     æ¿¼ó«½∞¡δÑ π¬áºáΓѽ¿ ¿ ßΓ᫬«óδÑ ½¿ΓÑαá½δ
  13590.         ─────────────────────────────────────────────────────────────────
  13591.  
  13592.              Åα¿ αáºαÑΦÑ¡¿¿  αáßΦ¿αÑ¡¡«ú«  ß¿¡Γá¬ß¿ßá  ßΓ᫬«óδ⌐  ½¿ΓÑαá½
  13593.         ß«ó¼ÑßΓ¿¼ »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ PChar.  ¥Γ« «º¡áτáÑΓ, τΓ« »ÑαÑ-
  13594.         ¼Ñ¡¡«⌐ Γ¿»á PChar ¼«ª¡« »α¿ßó«¿Γ∞ ßΓ᫬«óδ⌐ ½¿ΓÑαá½. ìá»α¿¼Ñα:
  13595.  
  13596.              var
  13597.                 P: PChar;
  13598.                 .
  13599.                 .
  13600.              begin
  13601.                 P := 'Åα¿óÑΓ...';
  13602.              end;
  13603.  
  13604.              é αѺπ½∞ΓáΓÑ  Γᬫú« »α¿ßóá¿óá¡¿∩ π¬áºáΓѽ∞ π¬áºδóáÑΓ ¡á «í-
  13605.         ½áßΓ∞ »á¼∩Γ¿,  ß«ñÑαªáΘπε ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼,  ∩ó½∩εΘπεß∩
  13606.         ¬«»¿Ñ⌐ ßΓ᫬«ó«ú« ½¿ΓÑαá½á. è«¼»¿½∩Γ«α ºá»¿ßδóáÑΓ ßΓ᫬«óδÑ ½¿ΓÑ-
  13607.         αá½δ ó ßÑú¼Ñ¡Γ ñá¡¡δσ, á¡á½«ú¿τ¡« «»¿ßá¡¿ε "߬αδΓδσ" Γ¿»¿º¿α«óá¡-
  13608.         ¡δ󠬫¡ßΓá¡Γ:
  13609.  
  13610.              const
  13611.                 TempString: array[0..14] of Char = 'Åα¿óÑΓ...'#0;
  13612.              var
  13613.                 P: PChar;
  13614.                 .
  13615.                 .
  13616.              begin
  13617.                 P := @TempString;
  13618.              end;
  13619.  
  13620.              è«úñá ß««ΓóÑΓßΓóπεΘ¿Ñ  Σ«α¼á½∞¡δÑ  »áαá¼ÑΓαδ ¿¼ÑεΓ Γ¿» Char,
  13621.         ßΓ᫬«óδÑ ½¿ΓÑαá½δ óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ¬á¬  Σá¬Γ¿τÑ߬¿Ñ  »áαá-
  13622.         ¼ÑΓαδ »α¿ ó맮óáσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐. ìá»α¿¼Ñα, Ñß½¿ ¿¼ÑÑΓß∩ »α«-
  13623.         µÑñπαá ß «»¿ß᡿Ѽ:
  13624.  
  13625.              procedure PrintStr(Str: PChar);
  13626.  
  13627.         Γ« ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ó맮óδ »α«µÑñπαδ:
  13628.  
  13629.              procedure PrintStr('æΓ᫬á ñ½∩ »α«óÑન');
  13630.              PrintStr(#10#13);
  13631.  
  13632.              Ç¡á½«ú¿τ¡« Γ«¼π, ¬á¬ φΓ« »α«¿ßσ«ñ¿Γ »α¿ »α¿ßóá¿óá¡¿¿, ¬«¼»¿-
  13633.         ½∩Γ«α úÑ¡Ñα¿απÑΓ ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼, »αÑñßΓáó½∩εΘπε ß«í«⌐
  13634.         ¬«»¿ε ½¿ΓÑαá½∞¡«⌐ ßΓ᫬¿ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ,  ¿ »ÑαÑñáÑΓ π¬áºáΓѽ∞
  13635.         ¡á φΓπ «í½áßΓ∞ »á¼∩Γ¿ ó »áαá¼ÑΓαÑ Str »α«µÑñπαδ PrintStr.
  13636.  
  13637.              ìᬫ¡Ñµ, Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá Γ¿»á PChar ¼«ªÑΓ ¿¡¿µ¿á½¿-
  13638.         º¿α«óáΓ∞ß∩ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐. ¥Γ« ß»αáóÑñ½¿ó« ΓᬪѠñ½∩ ßΓαπ¬-
  13639.         Γπα¡δσ Γ¿»«ó,  Γᬿσ ¬á¬ ¼áßß¿óδ PChar ¿ ºá»¿ß¿,  á ΓᬪѠ«íΩѬΓδ
  13640.         PChar.
  13641.  
  13642.  
  13643.          B.Pascal 7 & Objects/LR     - 302 -
  13644.  
  13645.              const
  13646.                 Message: PChar = 'Program terminated';
  13647.                 Prompt: PChar = 'Enter values: ';
  13648.                 Digits; array [0..9] of PChar = {
  13649.                  'Zero', 'One', 'Two', 'Three', 'Four', 'Five',
  13650.                  'Six', 'Seven', Eight', 'Nine'};
  13651.  
  13652.              æΓ᫬«óá∩ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá óßÑúñá óδτ¿ß½∩ÑΓß∩ ¬á¬  ßΓ᫬á
  13653.         Åá߬á½∩, ñáªÑ  Ñß½¿ «¡á ¿¡¿µ¿á½¿º¿απÑΓß∩ ¬á¬ Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ß-
  13654.         Γá¡Γá Γ¿»á PChar.  Æá¬¿¼ «íαẫ¼,  ßΓ᫬«ó«Ñ  óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá
  13655.         óßÑúñá «úαá¡¿τÑ¡« ñ½¿¡«⌐ ó 255 ß¿¼ó«½«ó.
  13656.  
  13657.                     æ¿¼ó«½∞¡δÑ π¬áºáΓѽ¿ ¿ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ
  13658.         ─────────────────────────────────────────────────────────────────
  13659.  
  13660.              àß½¿ óδ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ $X αáºαÑΦáÑΓÑ  αáßΦ¿αÑ¡¡δ⌐  ß¿¡-
  13661.         Γá¬ß¿ß,  Γ«  ß¿¼ó«½∞¡δ⌐  ¼áßß¿ó ß ¡π½Ñó«⌐ íẫ⌐ ß«ó¼ÑßΓ¿¼ ß Γ¿»«¼
  13662.         PChar.  ¥Γ« «º¡áτáÑΓ,  τΓ« Γá¼,  úñÑ »αÑñ»«½áúáÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ
  13663.         Γ¿»á PChar,  ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ß ¡π½Ñó«⌐ íá-
  13664.         º«⌐.  è«úñá ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ¿ß»«½∞ºπÑΓß∩ ó¼ÑßΓ« º¡áτÑ¡¿∩ PChar,
  13665.         ¬«¼»¿½∩Γ«α  »αÑ«íαáºπÑΓ  ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ó π¬áºáΓѽ∞-¬«¡ßΓá¡Γπ,
  13666.         º¡áτÑ¡¿Ñ ¬«Γ«α«⌐ ß««ΓóÑΓßΓóπÑΓ áñαÑßπ »Ñαó«ú«  φ½Ñ¼Ñ¡Γá  ¼áßß¿óá.
  13667.         ìá»α¿¼Ñα:
  13668.  
  13669.              var
  13670.                 A: array[0..63] of Char;
  13671.                 P: PChar;
  13672.                 .
  13673.                 .
  13674.                 .
  13675.              begin
  13676.                 P := A;
  13677.                 PrintStr(A);
  13678.                 PrintStr(P);
  13679.              end;
  13680.  
  13681.              ü½áú«ñáα∩ «»ÑαáΓ«απ »α¿ßóá¿óá¡¿∩ P ΓÑ»Ñα∞ π¬áºδóáÑΓ ¡á  »Ñα-
  13682.         óδ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá A, »«φΓ«¼π PrintStr óδºδóáÑΓß∩ ñóáªñδ ß «ñ¡¿¼
  13683.         ¿ ΓѼ ªÑ º¡áτÑ¡¿Ñ¼.
  13684.  
  13685.              éδ ¼«ªÑΓÑ ¿¡¿µ¿á½¿º¿α«óáΓ∞ Γ¿»¿º«óá¡¡πε  ¬«¡ßΓá¡Γπ,  ¿¼ÑεΘπε
  13686.         Γ¿» ß¿¼ó«½∞¡«ú« ¼áßß¿óá ß ¡π½Ñó«⌐ íẫ⌐, ß »«¼«Θ∞ε ßΓ᫬«ó«ú« ½¿-
  13687.         ΓÑαá½á,  ¿¼ÑεΘÑú« ¼Ñ¡∞Φπε ñ½¿¡π,  τѼ αẼÑα ¼áßß¿óá.  ÄßΓáóΦ¿Ñß∩
  13688.         ß¿¼ó«½δ πßΓá¡áó½¿óáεΓß∩ ó º¡áτÑ¡¿Ñ NULL (#0),  ¿ ¼áßß¿ó íπñÑΓ ß«-
  13689.         ñÑαªáΓ∞ ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼.
  13690.  
  13691.              type
  13692.                 TFileName = array[0..79] of Char;
  13693.              const
  13694.                 FileNameBuf: TfileName = 'TEST.PAS';
  13695.                 FileNamePtr: PCahr = FileNameBuf;
  13696.  
  13697.  
  13698.  
  13699.          B.Pascal 7 & Objects/LR     - 303 -
  13700.  
  13701.                       ê¡ñѬ߿α«óá¡¿Ñ ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩
  13702.         ─────────────────────────────────────────────────────────────────
  13703.  
  13704.              Æá¬ ¬á¬  ß¿¼ó«½∞¡δ⌐  ¼áßß¿ó ß ¡π½Ñó«⌐ íẫ⌐ ß«ó¼ÑßΓ¿¼ ß ß¿¼-
  13705.         ó«½∞¡δ¼ π¬áºáΓѽѼ, ß¿¼ó«½∞¡δ⌐ π¬áºáΓѽ∞ ¼«ª¡« ¿¡ñѬ߿α«óáΓ∞ á¡á-
  13706.         ½«ú¿τ¡« ß¿¼ó«½∞¡«¼π ¼áßß¿óπ ß ¡π½Ñó«⌐ íẫ⌐.
  13707.  
  13708.              var
  13709.                 A: array[0..63] of Char;
  13710.                 P: PChar;
  13711.                 Ch: Char;
  13712.                 .
  13713.                 .
  13714.                 .
  13715.              begin
  13716.                 P := A;
  13717.                 Ch := A[5];
  13718.                 Ch := P[5];
  13719.              end;
  13720.  
  13721.              Äíá »«ß½Ññ¡¿σ »α¿ßóá¿óá¡¿∩ »α¿ßóá¿óáεΓ Ch º¡áτÑ¡¿Ñ, ß«ñÑαªá-
  13722.         ΘÑÑß∩ ó ΦÑßΓ«¼ ß¿¼ó«½Ñ-φ½Ñ¼Ñ¡ΓÑ A.
  13723.  
  13724.              Åα¿ ¿¡ñѬ߿α«óá¡¿¿ ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩ ¿¡ñѬߠºáñáÑΓ íѺº-
  13725.         ¡á¬«ó«Ñ ß¼ÑΘÑ¡¿Ñ, ¬«Γ«α«Ñ ñ«íáó½∩ÑΓß∩ ¬ π¬áºáΓÑ½ε »ÑαÑñ Ñú« αáºδ-
  13726.         ¼Ñ¡«ó᡿Ѽ.  Æá¬¿¼ «íαẫ¼, P[0] φ¬ó¿óá½Ñ¡Γ¡« P^ ¿ ºáñáÑΓ ß¿¼ó«½,
  13727.         ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ P. P[1] ºáñáÑΓ ß¿¼ó«½ ß»αáóá «Γ Γ«ú«, ¡á ¬«-
  13728.         Γ«αδ⌐ π¬áºδóáÑΓ P,  P[2] ºáñáÑΓ ß½ÑñπεΘ¿⌐ ß¿¼ó«½ ¿ Γ.ñ. ä½∩ µÑ½Ñ⌐
  13729.         ¿¡ñѬ߿α«óá¡¿∩  PChar  óÑñÑΓ  ßÑí∩ Γᬿ¼ «íαẫ¼,  ¬á¬ Ñß½¿ íδ «¡
  13730.         «»¿ßδóá½ß∩:
  13731.  
  13732.              type
  13733.                TCharArray = array[0..65535] of Char;
  13734.                Pchar = ^TCharArray;
  13735.  
  13736.              è«¼»¿½∩Γ«α »α¿ ¿¡ñѬ߿α«óá¡¿¿ ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩  ¡Ñ  óδ-
  13737.         »«½¡∩ÑΓ »α«óÑα¬π ñ¿á»áº«¡á, Γᬠ¬á¬ π ¡Ñú« ¡ÑΓ ¿¡Σ«α¼áµ¿¿ « Γ¿»Ñ,
  13738.         »« ¬«Γ«α«⌐ ¼«ª¡« «»αÑñѽ¿Γ∞ ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ßΓ᫬¿ ß ºáóÑαΦáε-
  13739.         Θ¿¼ ¡π½Ñ¼, ¡á ¬«Γ«απε π¬áºδóáÑΓ ß¿¼ó«½∞¡δ⌐ π¬áºáΓѽ∞.
  13740.  
  13741.              Å«¬áºá¡¡á∩ ¡¿ªÑ  Σπ¡¬µ¿∩ StrUpper ¿½½εßΓα¿απÑΓ ¿ß»«½∞º«óá¡¿Ñ
  13742.         ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩ ñ½∩ »αÑ«íαẫóá¡¿∩ ßΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π-
  13743.         ½Ñ¼ ó óÑασ¡¿⌐ αÑú¿ßΓα.
  13744.  
  13745.              function StrUpper(Srt: Pchar): Pchar;
  13746.              var
  13747.                 I: Word;
  13748.              begin
  13749.                 I := 0;
  13750.                 while Str[I] <> #0 do
  13751.                 begin
  13752.                   Str[I] := UpCase(Str[I]);
  13753.                   Inc(I);
  13754.  
  13755.          B.Pascal 7 & Objects/LR     - 304 -
  13756.  
  13757.                 end;
  13758.                 StrUpper := Str;
  13759.              end;
  13760.  
  13761.              ÄíαáΓ¿ΓѠ󡿼᡿Ñ,  τΓ« StrUppper - φΓ« Σπ¡¬µ¿∩, á ¡Ñ »α«µÑ-
  13762.         ñπαá,  ¿ τΓ« «¡á óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ »ÑαÑñáóὫß∞
  13763.         Ñ⌐ ó ¬áτÑßΓóÑ »áαá¼ÑΓαá.  Æá¬ ¬á¬ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß ñ«»π߬áÑΓ
  13764.         ¿ú¡«α¿α«óá¡¿Ñ  αѺπ½∞ΓáΓá  Σπ¡¬µ¿¿,  StrUpper ¼«ªÑΓ ¿¡ΓÑα»αÑΓ¿α«-
  13765.         óáΓ∞ß∩, ¬á¬ »α«µÑñπαá:
  13766.  
  13767.              StrUpper(A);
  13768.              PrintStr(A);
  13769.  
  13770.              Äñ¡á¬«, StrUpper óßÑúñá ó«ºóαáΘáÑΓ »ÑαÑñáóáѼ«Ñ Ñ⌐ º¡áτÑ¡¿Ñ,
  13771.         »α¿óÑñÑ¡¡δÑ óδΦÑ «»ÑαáΓ«αδ ¼«ª¡« ß¬«¼í¿¡¿α«óáΓ∞ ó «ñ¿¡:
  13772.  
  13773.              PrintStr(StrUpper(A));
  13774.  
  13775.              é½«ªÑ¡¡δÑ ó맮óδ Σπ¡¬µ¿⌐ αáí«Γδ ß«  ßΓα«¬á¼¿  ß  ºáóÑαΦáεΘ¿¼
  13776.         ¡π½Ñ¼ ¼«úπΓ «¬áºáΓ∞ß∩ «τÑ¡∞ πñ«í¡δ¼¿, ¬«úñá óδ σ«Γ¿ΓÑ π¬áºáΓ∞ «»-
  13777.         αÑñѽѡ¡πε  óºá¿¼«ßó∩º∞  ¼Ñªñπ  »«ß½Ññ«óáΓѽ∞¡δ¼¿  «»Ñαᵿ∩¼¿  ß«
  13778.         ßΓα«¬á¼¿.
  13779.  
  13780.                        Ä»Ñαᵿ¿ ß ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿
  13781.         ─────────────────────────────────────────────────────────────────
  13782.  
  13783.              ÉáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß Borland Pascal »«ºó«½∩ÑΓ  ¿ß»«½∞º«óáΓ∞
  13784.         ñ½∩ αáí«Γδ ß ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿ «Γñѽ∞¡δÑ «»Ñαᵿ¿. ä½∩ πóÑ-
  13785.         ½¿τÑ¡¿∩ ¿½¿ π¼Ñ¡∞ΦÑ¡¿∩ ß¼ÑΘÑ¡¿∩ ó º¡áτÑ¡¿¿  π¬áºáΓѽ∩  ¼«ª¡«  ¿ß-
  13786.         »«½∞º«óáΓ∞ «»Ñαᵿ¿ »½εß (+) ¿ ¼¿¡πß (-). Ä»Ñαáµ¿ε ¼¿¡πß (-) ¼«ª-
  13787.         ¡« ¿ß»«½∞º«óáΓ∞ ñ½∩  óδτ¿ß½Ñ¡¿∩  αáßßΓ«∩¡¿∩  (αạ«ßΓ¿  ß¼ÑΘÑ¡¿⌐)
  13788.         ¼Ñªñπ ñóπ¼∩ ß¿¼ó«½∞¡δ¼¿  π¬áºáΓѽ∩¼¿.  ÅαÑñ»«½«ª¿¼,  τΓ«  P  ¿  Q
  13789.         »αÑñßΓáó½∩εΓ ß«í«⌐ º¡áτÑ¡¿∩ Γ¿» PChar,  á I - º¡áτÑ¡¿Ñ Γ¿»á Word.
  13790.         Æ«úñá ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ¬«¡ßΓαπ¬µ¿¿:
  13791.  
  13792.              P + I     I »α¿íáó½∩ÑΓß∩ ¬ ß¼ÑΘÑ¡¿ε P
  13793.              I + P     I »α¿íáó½∩ÑΓß∩ ¬ ß¼ÑΘÑ¡¿ε P
  13794.              P - I     I óδτ¿ΓáÑΓß∩ ¿º ß¼ÑΘÑ¡¿∩ P
  13795.              P - Q     æ¼ÑΘÑ¡¿Ñ Q óδτ¿ΓáÑΓß∩ ¿º ß¼ÑΘÑ¡¿∩ P
  13796.  
  13797.              é «»Ñαᵿ∩σ P + I ¿ I + P I »α¿íáó½∩ÑΓß∩ ¬ áñαÑßπ,  ºáñáóáÑ-
  13798.         ¼«¼π  P.  Åα¿  φΓ«¼ »«½πτáÑΓß∩ π¬áºáΓѽ∞,  ¬«Γ«αδ⌐ π¬áºδóáÑΓ ¡á I
  13799.         ß¿¼ó«½«ó »«ß½Ñ P.  é «»Ñαᵿ¿ P - I I óδτ¿ΓáÑΓß∩ ¿º áñαÑßá, ºáñá-
  13800.         óáѼ«ú« P,  ¿ »«½πτáÑΓß∩ π¬áºáΓѽ∞,  π¬áºδóáεΘ¿⌐ ¡á I ß¿¼ó«½«ó ñ«
  13801.         P.
  13802.  
  13803.              Ä»Ñαᵿ∩ P  - Q óδτ¿ß½∩ÑΓ αáßßΓ«∩¡¿Ñ ¼Ñªñπ Q (¼½áñΦ¿⌐ áñαÑß)
  13804.         ¿ P (ßΓáαΦ¿⌐ áñαÑß).  Åα¿ φΓ«¼ ó«ºóαáΘáÑΓß∩ αѺπ½∞ΓáΓ Γ¿»á  Word,
  13805.         »«¬áºδóáεΘ¿⌐ τ¿ß½« ß¿¼ó«½«ó ¼Ñªñπ Q ¿ P. ¥Γá «»Ñαᵿ∩ »αÑñ»«½áúá-
  13806.         ÑΓ,  τΓ« P ¿ Q π¬áºδóáεΓ ¡á «ñ¿¡ ¿ Γ«Γ ªÑ ¼áßß¿ó  ß¿¼ó«½«ó.  àß½¿
  13807.         φΓ¿ ñóá π¬áºáΓѽ∩ π¬áºδóáεΓ ¡á αạδÑ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ,  Γ« αÑ-
  13808.         ºπ½∞ΓáΓ ¡Ñ»αÑñ߬áºπѼ.
  13809.  
  13810.  
  13811.          B.Pascal 7 & Objects/LR     - 305 -
  13812.  
  13813.              æΓá¡ñáαΓ¡δ⌐ ß¿¡Γá¬ß¿ß Borland Pascal »«ºó«½∩ÑΓ »α¿ ßαáó¡Ñ¡¿¿
  13814.         π¬áºáΓѽÑ⌐ «»αÑñѽ∩Γ∞ Γ«½∞¬« ¿σ αáóÑ¡ßΓó« ¿½¿ ¡ÑαáóÑ¡ßΓó«. ÉáßΦ¿-
  13815.         αÑ¡¡δ⌐  ß¿¡Γá¬ß¿ß  (αáºαÑΦÑ¡¡δ⌐  »«  ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá {$X+})
  13816.         »«ºó«½∩ÑΓ »α¿¼Ñ¡∩Γ∞ «»Ñαᵿ¿ <, >, <= ¿ <= ¬ º¡áτÑ¡¿∩¼ PChar. çá-
  13817.         ¼ÑΓ¿¼,  «ñ¡á¬«,  τΓ« »α¿ Γᬿσ »α«óÑα¬áσ »αÑñ»«½áúáÑΓß∩,  τΓ« ñóá
  13818.         ßαáó¡¿óáѼδσ π¬áºáΓѽ∩ π¬áºδóáεΓ ¡á «ñ¿¡ ¿ Γ«Γ ªÑ  ¼áßß¿ó  ß¿¼ó«-
  13819.         ½«ó. Å« φΓ«⌐ »α¿τ¿¡Ñ ßαáó¡¿óáεΓß∩ Γ«½∞¬« ß¼ÑΘÑ¡¿∩ π¬áºáΓѽÑ⌐. àß-
  13820.         ½¿ ñóá π¬áºáΓѽ∩ π¬áºδóáεΓ ¡á αẽ¿τ¡δÑ  ß¿¼ó«½∞¡δÑ  ¼áßß¿óδ,  Γ«
  13821.         αѺπ½∞ΓáΓ ¡Ñ «»αÑñѽѡ.
  13822.  
  13823.              var
  13824.                 A, B: array[0..79] of Char;
  13825.                 P, Q: PChar;
  13826.              begin
  13827.                 P := A;                { P π¬áºδóáÑΓ ¡á A[0] }
  13828.                 Q := A + 5;            { Q π¬áºδóáÑΓ ¡á A[5] }
  13829.                 if P < Q then ...;     { ñ«»πßΓ¿¼á∩ »α«óÑα¬á,
  13830.                                          αѺπ½∞ΓáΓ - True }
  13831.                 Q := B;                { Q π¬áºδóáÑΓ ¡á B[0] }
  13832.                 if P < Q then ...;     { αѺπ½∞ΓáΓ ¡Ñ «»αÑñѽѡ }
  13833.              end;
  13834.  
  13835.              Å«ñα«í¡ÑÑ «í «»Ñαᵿ∩σ ß PChar αáß߬áºδóáÑΓß∩ ó â½áóÑ 6.
  13836.  
  13837.                æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ¿ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ
  13838.         ─────────────────────────────────────────────────────────────────
  13839.  
  13840.              ÉáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß Borland Pascal »«ºó«½∩ÑΓ  »α¿¼Ñ¡∩Γ∞  ¬
  13841.         ß¿¼ó«½∞¡δ¼  ¼áßß¿óá¼  ß ¡π½Ñó«⌐ íẫ⌐ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Read,
  13842.         ReadLn ¿ Val, á ¬ ß¿¼ó«½∞¡δ¼ ¼áßß¿óá ß ¡π½Ñó«⌐ íẫ⌐ ¿ ß¿¼ó«½∞¡δ¼
  13843.         π¬áºáΓѽ∩¼ - ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Write,  WriteLn, Val, Assign ¿
  13844.         Rename. ü«½ÑÑ »«ñα«í¡δÑ «»¿ßá¡¿∩ φΓ¿σ »α«µÑñπα ¼«ª¡« ¡á⌐Γ¿ ó â½á-
  13845.         óÑ 1  ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«ú-
  13846.         αá¼¼¿ßΓá".
  13847.  
  13848.  
  13849.  
  13850.          B.Pascal 7 & Objects/LR     - 306 -
  13851.  
  13852.                 Åα¿¼Ñα ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿⌐ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼
  13853.         ─────────────────────────────────────────────────────────────────
  13854.  
  13855.              Åα¿óÑñѼ »α¿¼Ñα ¿ßσ«ñ¡«ú« ¬«ñá,  »«¬áºδóáεΘ¿⌐, ¬á¬ ¼«ª¡« ¿ß-
  13856.         »«½∞º«óáΓ∞ ¡Ñ¬«Γ«αδÑ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ ßΓ᫬. ¥Γ«Γ »α¿¼Ñα ¿ß»«½∞-
  13857.         º«óá¡ »α¿ αáºαáí«Γ¬Ñ Σπ¡¬µ¿¿ FileSplit ó ¼«ñπ½Ñ WinDos.
  13858.  
  13859.              { ¼á¬ß¿¼á½∞¡δÑ αẼÑαδ ¬«¼»«¡Ñ¡Γ«ó ¿¼Ñ¡¿ Σá⌐½á }
  13860.  
  13861.              const
  13862.                fsPathName    = 79;            { ¿¼∩ ¼áαΦαπΓá }
  13863.                fsDirectory   = 67;            { ¿¼∩ ¬áΓὫúá }
  13864.                fsFileName    = 8;             { ¿¼∩ Σá⌐½á }
  13865.                fsExtension   = 4;             { αáßΦ¿αÑ¡¿Ñ ¿¼Ñ¡¿ Σá⌐½á }
  13866.  
  13867.              { Σ½áú¿, ó«ºóαáΘáѼδÑ FileSplit }
  13868.  
  13869.              const
  13870.                     fcWildcards   = $0008     { ΓαáΣáαÑΓ¡δÑ ß¿¼ó«½δ }
  13871.                     fcDirectory   = $0004     { ¿¼∩ ¬áΓὫúá }
  13872.                     fcFileName    = $0002     { ¿¼∩ Σá⌐½á }
  13873.                     fcExtension   = $0001     { αáßΦ¿αÑ¡¿Ñ ¿¼Ñ¡¿ Σá⌐½á }
  13874.  
  13875.            { FileSplit αáºí¿óáÑΓ ¿¼∩ Σá⌐½á,  ºáñá¡¡«Ñ ¼áαΦαπΓ«¼,  ¡á Γα¿ }
  13876.            { ¬«¼»«¡Ñ¡Γá.  Dir  »α¿¡¿¼áÑΓ  º¡áτÑ¡¿Ñ  ñ¿ß¬á  ¿  ¬áΓὫúá ß }
  13877.            { »αÑñΦÑßΓóπεΘÑ⌐ ¿ ºáóÑαΦáεΘÑ⌐ «íαáΓ¡«⌐  ¬«ß«⌐  τÑαΓ«⌐,  Name }
  13878.            { »α¿¡¿¼áÑΓ  º¡áτÑ¡¿Ñ  ¿¼Ñ¡¿  Σá⌐½á,  á  Ext  -  αáßΦ¿αÑ¡¿∩ ß }
  13879.            { »αÑñΦÑßΓóπεΘÑ⌐  Γ«τ¬«⌐.  àß½¿  ¬«¼»«¡Ñ¡Γ   ßΓ᫬¿-»áαá¼ÑΓαá }
  13880.            { αáóÑ¡   NIL,   Γ«   ß««ΓóÑΓßΓóπεΘá∩   τáßΓ∞   ¼áαΦαπΓá   ¡Ñ }
  13881.            { ºá»¿ßδóáÑΓß∩.  àß½¿ ¼áαΦαπΓ ¡Ñ ß«ñÑαª¿Γ ñá¡¡«ú« ¬«¼»«¡Ñ¡Γá, }
  13882.            { Γ«    ó«ºóαáΘáѼá∩    ßΓα«¬á   ¬«¼»«¡Ñ¡Γá   íπñÑΓ   »πßΓ«⌐. }
  13883.            { îá¬ß¿¼á½∞¡δÑ ñ½¿¡δ ßΓ᫬,  ó«ºóαáΘáѼδσ ó Dir,  Name ¿ Ext, }
  13884.            { «»αÑñѽ∩εΓß∩   í¿Γ«ó묨  ¼á߬Ἷ  fsDirectory,  fsFileName, }
  13885.            { fsExtension.  é«ºóαáΘáѼ«Ñ  º¡áτÑ¡¿Ñ   »αÑñßΓáó½∩ÑΓ   ß«í«⌐ }
  13886.            { ¬«¼í¿¡áµ¿ε   í¿Γ«óδσ   ¼áß«¬   fßDirectory,   fßFileName  ¿ }
  13887.            { fßExtension,  »«¬áºδóáεΘπε, ¬á¬¿Ñ ¬«¼»«¡Ñ¡Γδ »α¿ßπΓßΓóπεΓ ó }
  13888.            { ¼áαΦαπΓÑ.   àß½¿  ¿¼∩  ¿  αáßΦ¿αÑ¡¿Ñ  ß«ñÑαªáΓ  ΓαáΣáαÑΓ¡δÑ }
  13889.            { ß¿¼ó«½δ (* ¿ ?), Γ« ó ó«ºóαáΘáѼ«¼ º¡áτÑ¡¿¿ πßΓá¡áó½¿óáÑΓß∩ }
  13890.            { Σ½áú fcWildcards. }
  13891.  
  13892.              function FileSplit(Path, Dir, Name, Ext: PChar): Word;
  13893.              var
  13894.                 DirLen, NameLEn, Flags: Word;
  13895.                 NamePtr, ExtPtr: PChar;
  13896.              begin
  13897.                 NamePtr := StrRScan(Path, '/');
  13898.                 if NamePtr = nil then NamePtr := StrRScan(Path, ':');
  13899.                 if NamePtr = nil then NamePtr := Path else Inc(NamePtr);
  13900.                 ExtPtr := StrScan(NamePtr, '.');
  13901.                 if ExtPtr = nil then ExtPtr := StrEnd(NamePtr);
  13902.                 DirLen := NamePtr - Path;
  13903.                 if DirLen > fsDirectory then DirLen := fsDirectory;
  13904.                 NameLen := ExtPtr - NamePtr;
  13905.  
  13906.          B.Pascal 7 & Objects/LR     - 307 -
  13907.  
  13908.                 if NameLen > fsFilename then NameLen := fsFileName;
  13909.                 Flags := 0;
  13910.                 if (StrScan(NamePtr, '?') <> nil) or
  13911.                    (StrScan(NamePtr, '*') <> nil) then
  13912.                    Falgs := fcWildcards;
  13913.                 if DirLen <> 0 then Flags := Flags or fcDirectory;
  13914.                 if NameLen <> 0 then Flags := Flags or fcFilename;
  13915.                 if ExtPtr[0] <> #0 then Flags := Flags or fcExtension;
  13916.                 if Dir <> nil then StrLCopy(Dir, Path, DirLen);
  13917.                 if Name <> nil then StrLCopy(Name, NamePtr, NameLen);
  13918.                 if Ext <> nil then StrLCopy(Ext, ExtPtr, fsExtension);
  13919.                 FileSplit := Flags:
  13920.              end;
  13921.  
  13922.  
  13923.  
  13924.          B.Pascal 7 & Objects/LR     - 308 -
  13925.  
  13926. ───────────────────────────────────────────────────────────────────────
  13927.              â½áóá 19. êß»«½∞º«óá¡¿Ñ úαáΣ¿τÑ߬«ú« ¿¡ΓÑαΣÑ⌐ßá Borland
  13928.         ─────────────────────────────────────────────────────────────────
  13929.  
  13930.              î«ñπ½∞ Graph αÑ὿ºπÑΓ »«½¡πε í¿í½¿«ΓÑ¬π  ¿º  í«½ÑÑ  τѼ  50
  13931.         úαáΣ¿τÑ߬¿σ  »α«úαá¼¼  -  «Γ  ó맮ó«ó »α«µÑñπα ¿ Σπ¡¬µ¿⌐ óδß«¬«ú«
  13932.         πα«ó¡∩, ¬á¬, ¡á»α¿¼Ñα, SetViewPort, Bár3D, DráwPoly, ñ« »α«úαá¼¼,
  13933.         «α¿Ñ¡Γ¿α«óá¡¡δσ  ¡á  αáí«Γπ  ß  í¿ΓἿ,  Γᬿσ,  ¬á¬ GetImage ¿½¿
  13934.         ÉutImage. Å«ññÑনóáÑΓß∩ ¡Ñ߬«½∞¬« ó¿ñ«ó ºá¬αáΦ¿óá¡¿∩ ¿ Γ¿»«ó ½¿-
  13935.         ¡¿⌐, ¿ ¿¼ÑÑΓß∩ ¡Ñ߬«½∞¬« Φα¿ΣΓ«ó, ¬«Γ«αδÑ ¼«ª¡« ¿º¼Ñ¡∩Γ∞ »« óѽ¿-
  13936.         τ¿¡Ñ,  óδαáó¡¿óáΓ∞ ¿ «α¿Ñ¡Γ¿α«óáΓ∞ ú«α¿º«¡Γá½∞¡« ¿½¿ óÑαΓ¿¬á½∞¡«.
  13937.  
  13938.              ä½∩ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘÑ⌐ ¼«ñπ½∞ Gráph, óá¼ ¡Ñ
  13939.         »«ΓαÑíπÑΓß∩  ¡¿¬á¬¿σ  ó¡ÑΦ¡¿σ Σá⌐½«ó (¬α«¼Ñ,  ¬«¡Ñτ¡«,  ¿ßσ«ñ¡«ú«
  13940.         ΓѬßΓá óáΦÑ⌐ »α«úαá¼¼δ, ¬«¼»¿½∩Γ«αá ¿ ñ«ßΓπ»á ¬ ßΓá¡ñáαΓ¡δ¼ ¼«ñπ-
  13941.         ½∩¼  ó  í¿í½¿«ΓѬѠ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ).
  13942.  
  13943.                        ê¼Ñ¡á í¿í½¿«ΓѬ ¿ ¼«ñπ½∩ Graph   Æáí½¿µá 19.1
  13944.             ┌───────────────────┬───────────────┬──────────────────┐
  13945.             │ Æ¿» »α«úαá¼¼δ     │ ü¿í½¿«ΓѬᠠ  │ ê¼∩ ¼«ñπ½∩ Graph │
  13946.             ├───────────────────┼───────────────┼──────────────────┤
  13947.             │ ÉÑá½∞¡δ⌐ αѪ¿¼    │ TURBO.TPL     │ GRAPH.TPU        │
  13948.             │ çáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼  │ TPP.TPL       │ GRAPH.TPP        │
  13949.             └───────────────────┴───────────────┴──────────────────┘
  13950.  
  13951.              ä½∩ ºá»π߬ᠻα«úαá¼¼δ,  ¿ß»«½∞ºπεΘÑ⌐ ¼«ñπ½∞ Gráαh, ¬α«¼Ñ óá-
  13952.         ΦÑ⌐ »α«úαá¼¼δ ß αáßΦ¿αÑ¡¿Ñ¼ .EXE óá¼ »«ΓαÑíπεΓß∩ «ñ¿¡  ¿½¿  í«½ÑÑ
  13953.         úαáΣ¿τÑ߬¿σ ñαá⌐óÑα«ó (ß¼. ñá½ÑÑ Σá⌐½δ .BGI). èα«¼Ñ Γ«ú« óá¼ »«Γ-
  13954.         αÑíπÑΓß∩ ΓᬪѠ«ñ¿¡ ¿½¿ í«½ÑÑ Σá⌐½«ó Φα¿ΣΓ«ó (.CìR), Ñß½¿ ó óáΦÑ⌐
  13955.         »α«úαἼѠ¿ß»«½∞ºπεΓß∩ ¬á¬¿Ñ-½¿í« Φα¿ΣΓδ.
  13956.  
  13957.                    Åα¿¼Ñτá¡¿Ñ: é  ß««ΓóÑΓßΓó¿¿  ß ½¿µÑ¡º¿«¡¡δ¼¿ πß½«ó¿∩¼¿
  13958.               óδ ¼«ªÑΓÑ αáß»α«ßΓαá¡∩Γ∞ Σá⌐½δ .CHR ¿ .BGI ¡áα∩ñπ ß« ßó«¿¼¿
  13959.               »α«úαἼἿ.
  13960.  
  13961.                                     äαá⌐óÑαδ
  13962.         ─────────────────────────────────────────────────────────────────
  13963.  
  13964.              ä½∩ »ÑαÑτ¿ß½Ñ¡¡δσ  ¡¿ªÑ  úαáΣ¿τÑ߬¿σ  áñá»ΓÑα«ó  ¿ »«½¡«ßΓ∞ε
  13965.         ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼¿ »αÑñπß¼«ΓαÑ¡δ ß½ÑñπεΘ¿Ñ  úαáΣ¿τÑ߬¿Ñ ñαá⌐óÑαδ:
  13966.  
  13967.                          CGA                  ìÑrcules
  13968.                          îæGA                 AT&T 400
  13969.                          EGA                  3270 PC
  13970.                          VGA                  IBM 8514
  13971.  
  13972.              èáªñδ⌐ ñαá⌐óÑα  ß«ñÑαª¿Γ óδ»«½¡∩Ѽδ⌐ ¬«ñ ¿ ñá¡¡δÑ ¿ σαá¡¿Γß∩
  13973.         ó «Γñѽ∞¡«¼ Σá⌐½Ñ ¡á ñ¿ß¬Ñ.  é« óαѼ∩ αáí«Γδ »α«µÑñπαá  InitGraph
  13974.         ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ  úαáΣ¿τÑ߬πε  á»»áαáΓπαπ  ¿  »α«¿ºó«ñ¿Γ ºáúαπº¬π ¿
  13975.         ¿¡¿µ¿á½¿ºáµ¿ε ß««ΓóÑΓßΓóπεΘÑú« úαáΣ¿τÑ߬«ú«  ñαá⌐óÑαá,  »ÑαÑó«ñ¿Γ
  13976.         ß¿ßΓѼπ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼,  á ºáΓѼ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ óδºδ-
  13977.         óáεΘÑ⌐ »α«úαá¼¼Ñ. Åα«µÑñπαá CloseGraph óδúαπªáÑΓ ñαá⌐óÑα ¿º »á¼∩-
  13978.         Γ¿  ¿  ó«ßßΓá¡áó½¿óáÑΓ »αÑñδñπΘ¿⌐ ó¿ñÑ«αѪ¿¼.  æ »«¼«Θ∞ε »α«úαá¼¼
  13979.         RÑstoreCrtMode ¿ SetGraphMode óδ ¼«ªÑΓÑ »ÑαѬ½ετáΓ∞ß∩ ¼Ñªñπ ΓѬß-
  13980.  
  13981.          B.Pascal 7 & Objects/LR     - 309 -
  13982.  
  13983.         Γ«óδ¼ ¿ úαáΣ¿τÑ߬¿¼ αѪ¿¼«¼.  æ¼. â½áóπ 1 ó "æ»αáó«τ¡«¼ απ¬«ó«ñß-
  13984.         ΓóÑ »α«úαá¼¼¿ßΓá".
  13985.  
  13986.              î«ñπ½∞ Gráph ¼«ªÑΓ ΓᬪѠαáí«ΓáΓ∞ ¡á ¬«¼»∞εΓÑαáσ ß ñóπ¼∩ ¼«-
  13987.         ¡¿Γ«αἿ.  Åα¿ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩  Graph  ß  »«¼«Θ∞ε  »α«µÑñπαδ
  13988.         InitGraph  ñ½∩  úαáΣ¿τÑ߬«ú«  ñαá⌐óÑαá  ¿ ΓαÑíπѼ«ú« αѪ¿¼á íπñÑΓ
  13989.         óδíαá¡ ¡πª¡δ⌐ ¼«¡¿Γ«α. Åα¿ ºáóÑαΦÑ¡¿¿ αáí«Γδ úαáΣ¿τÑ߬«⌐ »α«úαá¼-
  13990.         ¼δ »αÑñδñπΘ¿⌐ ó¿ñÑ«αѪ¿¼ íπñÑΓ ó«ßßΓá¡«ó½Ñ¡. àß½¿ ñ½∩ úαáΣ¿τÑ߬«⌐
  13991.         á»»áαáΓπαδ ß ñóπ¼∩ ¼«¡¿Γ«αἿ ΓαÑíπÑΓß∩ áóΓ«¼áΓ¿τÑ߬«Ñ  αáß»«º¡á-
  13992.         óá¡¿Ñ,  Γ« »α«µÑñπαá InitGraph óδíÑαÑΓ ¼«¡¿Γ«α ¿ úαáΣ¿τÑ߬πε »½á-
  13993.         Γπ,  »α¿ ¬«Γ«α«⌐ íπñÑΓ »«½πτáΓ∞ß∩  ¡á¿½πτΦÑÑ  ¬áτÑßΓó«  óδó«ñ¿¼«⌐
  13994.         úαáΣ¿τÑ߬«⌐ ¿¡Σ«α¼áµ¿¿.
  13995.  
  13996.         ┌──────────────┬────────────────────────────────────────────────┐
  13997.         │    äαá⌐óÑα   │           Ç»»áαáΓπαá                           │
  13998.         ├──────────────┼────────────────────────────────────────────────┤
  13999.         │  CGA.BGI     │ äαá⌐óÑα ñ½∩ áñá»ΓÑα«ó CGA, MCGA Σ¿α¼δ IBM.     │
  14000.         │  EGAVGA.BGI  │ äαá⌐óÑα ñ½∩ áñá»ΓÑα«ó EGA, VGA Σ¿α¼δ IBM.      │
  14001.         │  HERC.BGI    │ äαá⌐óÑα ñ½∩ ¼«¡«σα«¼¡«ú« áñá»ΓÑαá Hercules Σ¿α-│
  14002.         │              │ ¼δ IBM.                                        │
  14003.         │  ATT.BGI     │ äαá⌐óÑα ñ½∩ AT&T 6300 (400 ßΓ᫬).             │
  14004.         │  PC3270.BGI  │ äαá⌐óÑα ñ½∩ IBM 3270 Éæ.                       │
  14005.         │  IBM8514.BGI │ äαá⌐óÑα ñ½∩ IBM 8514.                          │
  14006.         └──────────────┴────────────────────────────────────────────────┘
  14007.  
  14008.  
  14009.  
  14010.          B.Pascal 7 & Objects/LR     - 310 -
  14011.  
  14012.                           Å«ññÑ᪬á πßΓα«⌐ßΓóá IBM 8514
  14013.         ─────────────────────────────────────────────────────────────────
  14014.  
  14015.              Borland Pascal »«ññÑনóáÑΓ úαáΣ¿τÑ߬πε »½áΓπ IBM 8514,  ¬«-
  14016.         Γ«αá∩ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡«óπε úαáΣ¿τÑ߬πε »½áΓπ ß óδß«¬¿¼ αáºαÑ-
  14017.         ΦÑ¡¿Ñ¼,  »«ºó«½∩εΘπε »«½πτ¿Γ∞ αáºαÑΦáεΘπε ß»«ß«í¡«ßΓ∞ ñ« 1024σ768
  14018.         Γ«τѬ  ¿  »á½¿Γαπ,  ß«ñÑαªáΘπε  256 «ΓΓÑ¡¬«ó ¿º 256 µóÑΓ«ó.  öá⌐½
  14019.         ñαá⌐óÑαá ñ½∩ φΓ«⌐ úαáΣ¿τÑ߬«⌐ »½áΓδ ¡áºδóáÑΓß∩ IBM8514.BGI.
  14020.  
  14021.              âαáΣ¿τÑ߬á∩ »½áΓá IBM 8514 ¡Ñ ¼«ªÑΓ »αáó¿½∞¡« αáß»«º¡áóáΓ∞ß∩
  14022.         Borland Pascal  »α¿ áóΓ«¼áΓ¿τÑ߬«¼ «í¡áαπªÑ¡¿¿ («¡á íπñÑΓ αáß»«º-
  14023.         ¡áóáΓ∞ß∩ á½ú«α¿Γ¼á¼¿ áóΓ««í¡áαπªÑ¡¿∩, ¬á¬ »½áΓá VGA). Æá¬¿¼ «íαá-
  14024.         º«¼,  τΓ«íδ  ¿ß»«½∞º«óáΓ∞ »½áΓπ IBM 8514,  »ÑαѼѡ¡«⌐ GraphDriver
  14025.         »α¿ ó맮óÑ InitGraph ¡πª¡« »α¿ßó«¿Γ∞  º¡áτÑ¡¿Ñ  IBM8514  (¬«Γ«α«Ñ
  14026.         «»αÑñѽѡ« ó ¼«ñπ½Ñ Graph).  Åα¿ αáí«ΓÑ ß »½áΓ«⌐ IBM 8514 ¡Ñ ß½Ñ-
  14027.         ñπÑΓ ¿ß»«½∞º«óáΓ∞ ß InitGraph DetectGraph ¿½¿ DETECT (Ñß½¿ Γ«½∞¬«
  14028.         óδ ¡Ñ σ«Γ¿ΓÑ φ¼π½¿α«óáΓ∞ αѪ¿¼ VGA).
  14029.  
  14030.             ä½∩ »½áΓδ IBM 8514 »«ññÑনóáεΓß∩ ß½ÑñπεΘ¿Ñ αѪ¿¼δ: IBM8514LO
  14031.         (640σ480 φ½Ñ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩) ¿ IBM8514HI  (1024σ768  φ½Ñ¼Ñ¡Γ«ó
  14032.         ¿º«íαáªÑ¡¿∩). ÄíÑ ¬«¡ßΓá¡Γδ αѪ¿¼á «»αÑñѽѡδ ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ τáß-
  14033.         Γ¿ GRAPH.TPU.
  14034.  
  14035.             ä½∩ «»αÑñѽѡ¿∩ µóÑΓ«ó ó  »½áΓÑ  IBM  8514  ¿ß»«½∞ºπεΓß∩  Γα¿
  14036.         6-í¿Γ«óδσ º¡áτÑ¡¿∩. ä½∩ ¬áªñ«ú« «»αÑñѽ∩Ѽ«ú« µóÑΓá ¿¼ÑεΓß∩ 6-í¿-
  14037.         Γ«óδÑ ¬«¼»«¡Ñ¡Γδ Red (¬αáß¡δ⌐), Green (ºÑ½Ñ¡δ⌐) ¿ Blue (ú«½πí«⌐).
  14038.         ä½∩ Γ«ú«,  τΓ«íδ »α¿ αáí«ΓÑ ß úαáΣ¿τÑ߬«⌐ »½áΓ«⌐ IBM 8514 »«½∞º«-
  14039.         óáΓѽ∞ ¼«ú ºáñáóáΓ∞ µóÑΓá, ó í¿í½¿«ΓѬπ BGI ñ«íáó½Ñ¡á ¡«óá∩ »α«ú-
  14040.         αá¼¼á.  ¥Γá  »α«úαἼᠠ«»αÑñѽ∩ÑΓß∩ ó ¼«ñπ½Ñ GRAPH.TPU ß½ÑñπεΘ¿¼
  14041.         «íαẫ¼:
  14042.  
  14043.             procedure SetRGBPalette(ColorNum, Red, Green, Blue: Word);
  14044.  
  14045.             Çαúπ¼Ñ¡Γ ColorNum ºáñáÑΓ ºá»¿ß∞ »á½¿Γαδ, ¬«Γ«απε ¡πª¡« ºáúαπ-
  14046.         º¿Γ∞. ¥Γ«Γ áαúπ¼Ñ¡Γ »αÑñßΓáó½∩ÑΓ ß«í«⌐ µÑ½«Ñ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ
  14047.         «Γ 0 ñ« 255 (ñÑß.). Çαúπ¼Ñ¡Γδ Red, Green ¿ Blue «»αÑñѽ∩εΓ ¬«¼»«-
  14048.         ¡Ñ¡Γδ  µóÑΓ«ó ó ºá»¿ß¿ »á½¿Γαδ.  êß»«½∞ºπÑΓß∩ Γ«½∞¬« ¼½áñΦ¿⌐ íá⌐Γ
  14049.         φΓ¿σ º¡áτÑ¡¿⌐ ¿ Γ«½∞¬« 6 ßΓáαΦ¿σ í¿Γ«ó φΓ«ú« íá⌐Γá  ºáúαπªáεΓß∩ ó
  14050.         »á½¿Γαπ.
  14051.  
  14052.             äαπú¿Ñ »α«úαá¼¼δ,   ¼«ñ¿Σ¿µ¿απεΘ¿Ñ   »á½¿Γαπ  (SetAllPalette,
  14053.         SetPalette, GetPalette), »α¿ αáí«ΓÑ ß úαáΣ¿τÑ߬«⌐ »½áΓ«⌐ IBM 8514
  14054.         ¿ß»«½∞º«óáΓ∞ ¡Ñ ß½ÑñπÑΓ.
  14055.  
  14056.             ä½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß úαáΣ¿τÑ߬¿¼¿ áñá»ΓÑαἿ Σ¿α¼δ IBM ñαá⌐óÑ-
  14057.         αδ Σ«α¼áΓá BGI «»αÑñѽ∩εΓ ñ½∩ »Ñαóδσ 16 µóÑΓ«ó »á½¿Γαδ  IBM  8514
  14058.         º¡áτÑ¡¿∩ µóÑΓ«ó, »α¿¡∩ΓδÑ »« π¼«½τá¡¿ε ñ½∩ áñá»ΓÑα«ó EGA/VGA. ¥Γ¿
  14059.         º¡áτÑ¡¿∩ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¡Ñ¿º¼Ñ¡Ñ¡¡«¼ ó¿ñÑ ¿½¿ ¼«ñ¿Σ¿µ¿α«-
  14060.         óáΓ∞ß∩ ß »«¼«Θ∞ε »α«µÑñπαδ SetGRBPalette.
  14061.  
  14062.  
  14063.  
  14064.          B.Pascal 7 & Objects/LR     - 311 -
  14065.  
  14066.                                 æ¿ßΓѼᠬ««αñ¿¡áΓ
  14067.         ─────────────────────────────────────────────────────────────────
  14068.  
  14069.              Å« ß«ú½áΦÑ¡¿ε óÑασ¡¿⌐ ½Ñóδ⌐  πú«½  φ¬αá¡á  ¿¼ÑÑΓ  ¬««αñ¿¡áΓπ
  14070.         (0,0).  ô í«½ÑÑ »αáó«ú« ßΓ«½íµá ¬««αñ¿¡áΓá σ í«½∞ΦÑ, π í«½ÑÑ ¡¿ª-
  14071.         ¡Ñ⌐ ßΓ᫬¿ í«½∞ΦÑ ¬««αñ¿¡áΓá y. Æ« ÑßΓ∞ ¬««αñ¿¡áΓá σ πóѽ¿τ¿óáÑΓ-
  14072.         ß∩ »α¿ »ÑαѼÑΘÑ¡¿¿ ó»αáó«, á ¬««αñ¿¡áΓá y - »α¿ »ÑαѼÑΘÑ¡¿¿ ó¡¿º.
  14073.         Æá¬¿¼ «íαẫ¼ ¬««αñ¿¡áΓδ ¬áªñ«ú« ¿º τÑΓδαÑσ  πú½«ó  ¿  ¬«¡¬αÑΓ¡«⌐
  14074.         Γ«τ¬¿ (ßÑαÑñ¿¡δ φ¬αá¡á) íπñπΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  14075.  
  14076.                          (0,0)                   (319,0)
  14077.                             ┌───────────────────────┐
  14078.                             │                       │
  14079.                             │       (159,99)        │
  14080.                             │           .           │
  14081.                             │                       │
  14082.                             │                       │
  14083.                             │                       │
  14084.                             └───────────────────────┘
  14085.                           (0,199)                  (319,199)
  14086.  
  14087.              É¿ß. 19.1 ¥¬αá¡ ß ¬««αñ¿¡áΓἿ xy.
  14088.  
  14089.  
  14090.                                 ÆÑ¬πΘ¿⌐ π¬áºáΓѽ∞
  14091.         ─────────────────────────────────────────────────────────────────
  14092.  
  14093.              Å«¡∩Γ¿Ñ ΓѬπΘÑú«  π¬áºáΓѽ∩ ¿ß»«½∞ºπÑΓß∩ ó« ¼¡«ú¿σ úαáΣ¿τÑß-
  14094.         ¬¿σ ß¿ßΓѼáσ.  Å«¡∩Γ¿Ñ ΓѬπΘÑú« π¬áºáΓѽ∩ á¡á½«ú¿τ¡« »«¡∩Γ¿ε ¬πα-
  14095.         ß«αá ñ½∩ ΓѬßΓ«ó«ú« αѪ¿¼á, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« ΓѬπΘ¿⌐ π¬á-
  14096.         ºáΓѽ∞ ¡Ñó¿ñ¿¼.
  14097.  
  14098.              Write('ABC');
  14099.  
  14100.          B.Pascal 7 & Objects/LR     - 312 -
  14101.  
  14102.  
  14103.              é ΓѬßΓ«ó«¼ αѪ¿¼Ñ  »αÑñΦÑßΓóπεΘ¿⌐  «»ÑαáΓ«α  Write  «ßΓáó¿Γ
  14104.         ¬παß«α  ó  ¬«½«¡¬Ñ,  ¡Ñ»«ßαÑñßΓóÑ¡¡« ß½ÑñπεΘ¿¼ ºá íπ¬ó«⌐ C.  àß½¿
  14105.         íπ¬óá C íδ½á óóÑñÑ¡á ó ¬«½«¡¬Ñ 80,  Γ« ¬παß«α »ÑαÑ⌐ñÑΓ ¡á ¬«½«¡¬π
  14106.         1 ß½ÑñπεΘÑ⌐ ßΓ᫬¿. àß½¿ íπ¬óá c íδ½á óóÑñÑ¡á ó »«º¿µ¿¿ 80 ßΓ᫬¿
  14107.         25, Γ« »α«¿º«⌐ñÑΓ »α«½¿ßΓδóá¡¿Ñ (»α«¬απΓ¬á)  φ¬αá¡á  óóÑασ  ¡á  1
  14108.         ßΓα«¬π ¿ ¬παß«α íπñÑΓ ¡áσ«ñ¿Γß∩ ó 1 »«º¿µ¿¿ 25 ßΓ᫬¿.
  14109.  
  14110.              MoveTo(0,0);
  14111.              LineTo(20,20)
  14112.  
  14113.              é úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ ñá¡¡δ⌐ «»ÑαáΓ«α LinÑÆ«  «ßΓáó¿Γ ΓѬπΘ¿⌐
  14114.         π¬áºáΓѽ∞ ó »«ß½Ññ¡Ñ⌐ ºáñá¡¡«⌐ Γ«τ¬Ñ (20,20).  àß½¿ ñÑ⌐ßΓóπÑΓ αÑ-
  14115.         ª¿¼ «ΓßÑτÑ¡¿∩,  Γ« αÑá½∞¡« óδó«ñ¿¼á∩ »α∩¼á∩ íπñÑΓ «ΓßÑτÑ¡á ñ« ΓÑ-
  14116.         ¬πΘÑ⌐ Γ«τ¬¿.  çá¼ÑΓ¿¼, τΓ« ΓѬπΘ¿⌐ π¬áºáΓѽ∞ ¡¿¬«úñá ¡Ñ «ΓßѬáÑΓ-
  14117.         ß∩.
  14118.  
  14119.              è«¼á¡ñá î«vÑÆ« ∩ó½∩ÑΓß∩ φ¬ó¿óá½Ñ¡Γ«¼ ¬«¼á¡ñδ GotoXY.  àñ¿¡ß-
  14120.         ΓóÑ¡¡«Ñ ÑÑ ¡áº¡áτÑ¡¿Ñ - φΓ« »ÑαѼÑΘÑ¡¿Ñ ΓѬπΘÑú« π¬áºáΓѽ∩. ÅÑαÑ-
  14121.         ¼ÑΘÑ¡¿Ñ  ΓѬπΘÑú« π¬áºáΓѽ∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ Γ«½∞¬« ó ß½Ññπε-
  14122.         Θ¿σ ¬«¼á¡ñáσ,  ¿ß»«½∞ºπεΘ¿σ ΓѬπΘ¿⌐ π¬áºáΓѽ∞: MoveTo, InitGraph,
  14123.         MoveRel,  LineTo,  LineRel,  OutText,  SetGraphMode, ClearDevice,
  14124.         SetViewPort ¿ ClearViewPort.  Å«ß½Ññ¡¿Ñ 5 ¿º ¡¿σ »ÑαѼÑΘáεΓ ΓѬπ-
  14125.         Θ¿⌐ π¬áºáΓѽ∞ ó Γ«τ¬π (0,0).
  14126.  
  14127.          B.Pascal 7 & Objects/LR     - 313 -
  14128.  
  14129.                                       ÆÑ¬ßΓ
  14130.         ─────────────────────────────────────────────────────────────────
  14131.  
  14132.              é úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ ñ½∩ óδó«ñá ΓѬßΓá ¿ß»«½∞ºπÑΓß∩  Φα¿ΣΓ ß
  14133.         αáßΓα«¼ 8σ8 ¿ ¡Ñ߬«½∞¬« óÑ¬Γ«α¡δσ Φα¿ΣΓ«ó. ÉáßΓα«óδ⌐ ß¿¼ó«½ ºáñá-
  14134.         ÑΓß∩ ß »«¼«Θ∞ε ¼áΓα¿µδ φ½Ñ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩. éÑ¬Γ«α¡δ⌐ Φα¿ΣΓ ºá-
  14135.         ñáÑΓß∩ α∩ñ«¼ óÑ¬Γ«α«ó, ¬«Γ«αδÑ π¬áºδóáεΓ úαáΣ¿τÑ߬«⌐ ß¿ßΓѼÑ, ¬á¬
  14136.         α¿ß«óáΓ∞ Φα¿ΣΓ.
  14137.  
  14138.              ÅαÑ¿¼πΘÑßΓó« ¿ß»«½∞º«óá¡¿∩ óÑ¬Γ«α¡δσ Φα¿ΣΓ«ó ßΓá¡«ó¿Γß∩ «τÑ-
  14139.         ó¿ñ¡δ¼,  ¬«úñá  óδ ¡áτ¿¡áÑΓÑ α¿ß«óáΓ∞ í«½∞Φ¿Ñ ß¿¼ó«½δ.  Å«ß¬«½∞¬π
  14140.         ΦΓα¿σ«ó«⌐ Φα¿ΣΓ ºáñáÑΓß∩ óÑ¬Γ«αἿ,  Γ« »α¿ πóѽ¿τÑ¡¿¿ Φα¿ΣΓá ¬á-
  14141.         τÑßΓó« ¿ αáºαÑΦÑ¡¿Ñ «ßΓáεΓß∩, ΓѼ ¡Ñ ¼Ñ¡ÑÑ, σ«α«Φ¿¼¿.
  14142.  
  14143.              è«úñá πóѽ¿τ¿óáÑΓß∩  αáßΓα«óδ⌐ Φα¿ΣΓ,  Γ« ¼áΓα¿µá π¼¡«ªáÑΓß∩
  14144.         ¡á ¼áßΦΓáí¡δ⌐ ¬«φΣΣ¿µ¿Ñ¡Γ,  á ¬«úñá φëà ¼áßΦΓáí¡δ⌐  ¬«φΣΣ¿µ¿Ñ¡Γ
  14145.         πóѽ¿τ¿óáÑΓß∩, αáºαÑΦÑ¡¿Ñ π ß¿¼ó«½«ó ßΓá¡«ó¿Γß∩ í«½ÑÑ úαπíδ¼. ä½∩
  14146.         ¼á½Ñ¡∞¬¿σ Φα¿ΣΓ«ó αáßΓα«óδ⌐ Φα¿ΣΓ ñ«½ªÑ¡ íδΓ∞ ñ«ßΓáΓ«τ¡« »α¿Ñ¼½Ñ-
  14147.         ¼δ¼,  ¡« ñ½∩ í«½∞Φ¿σ Φα¿ΣΓ«ó óδ,  óÑα«∩Γ¡«, ºáσ«Γ¿ΓÑ óδíαáΓ∞ óѬ-
  14148.         Γ«α¡δ⌐ Φα¿ΣΓ.
  14149.  
  14150.              éδαáó¡¿óá¡¿Ñ úαáΣ¿τÑ߬«ú«  ΓѬßΓá   π»αáó½∩ÑΓß∩   »α«µÑñπα«⌐
  14151.         SetTextJustify.  îáßΦΓáí¿α«óá¡¿Ñ  ¿ óδí«α Φα¿ΣΓá «ßπΘÑßΓó½∩ÑΓß∩ ß
  14152.         »«¼«Θ∞ε »α«µÑñπαδ SetTextStyle. âαáΣ¿τÑ߬¿⌐ ΓѬßΓ óδó«ñ¿Γß∩ ß »«-
  14153.         ¼«Θ∞ε  »α«µÑñπα ÄutText ¿½¿ ÄutTextòY.  çá»α«ß « ΓѬπΘ¿σ πßΓá¡«ó-
  14154.         ½Ñ¡¡δσ ñ½∩ ΓѬßΓá »áαá¼ÑΓαáσ óδ»«½¡∩ÑΓß∩ ß  »«¼«Θ∞ε  «íαáΘÑ¡¿∩  ¬
  14155.         »α«µÑñπαÑ GetTextSettings. éÑ¬Γ«α¡δÑ Φα¿ΣΓδ σαá¡∩Γß∩ ¬áªñδ⌐ ó «Γ-
  14156.         ñѽ∞¡«¼ Σá⌐½Ñ ¡á ñ¿ß¬Ñ ¿ ñ«½ª¡δ »α¿ßπΓßΓó«óáΓ∞ Γá¼ ó« óαѼ∩ αáí«-
  14157.         Γδ (»α¿ ó맮óÑ »α«µÑñπαδ SetTextStyle).  ÉẼÑα óÑ¬Γ«α¡«ú« Φα¿ΣΓá
  14158.         ¼«ª¡« ¡áßΓα«¿Γ∞ ß »«¼«Θ∞ε »α«µÑñπαδ SetUserCharSize.  öá⌐½δ Φα¿Σ-
  14159.         Γ«ó (¬«Γ«αδÑ ¿¼ÑεΓ αáßΦ¿αÑ¡¿Ñ .CHR) ¼«úπΓ ºáúαπªáΓ∞ß∩ ß ñ¿ß¬á áó-
  14160.         Γ«¼áΓ¿τÑ߬¿ ¼«ñπ½Ñ¼ Graph,  ¿½¿ ¿σ ¼«ª¡« ¬«¼»«¡«óáΓ∞ ß »α«úαá¼¼«⌐
  14161.         »«½∞º«óáΓѽ∩  ¿½¿  ºáúαπªáΓ∞  ¿ "αÑú¿ßΓα¿α«óáΓ∞" ß »«¼«Θ∞ε ¼«ñπ½∩
  14162.         Graph.
  14163.  
  14164.              ä½∩ »αÑ«íαẫóá¡¿∩ Σá⌐½á Φα¿ΣΓá (¿½¿ ½εí«ú« ñαπú«ú« »αÑñ¡áº-
  14165.         ¡áτÑ¡¡«ú« ñ½∩ φΓ«⌐ µÑ½¿ ñó«¿τ¡«ú« Σá⌐½á ñá¡¡δσ) ó Σá⌐½ .OBJ,  ¬«-
  14166.         Γ«αδ⌐ ¼«ª¡« ¬«¼»«¡«óáΓ∞ ß ¼«ñπ½Ñ¼ ¿½¿ »α«úαá¼¼«⌐ ß »«¼«Θ∞ε ñ¿αѬ-
  14167.         Γ¿óδ ¬«¼»¿½∩Γ«αá  $L  ó  Borland Pascal »αÑñπß¼«ΓαÑ¡á ß»Ñµ¿á½∞¡á∩
  14168.         πΓ¿½¿Γá BINOBJ.EXE.  Åα¿ φΓ«¼ ßΓá¡«ó¿Γß∩ ó«º¼«ª¡δ¼ »«¼ÑßΓ¿Γ∞  óßÑ
  14169.         Σá⌐½δ  Φα¿ΣΓ«ó ó óδ»«½¡∩Ѽδ⌐ Σá⌐½ .EXE (ß¼.  ¬«¼¼Ñ¡Γáα¿¿ ó ¡áτá½Ñ
  14170.         »α¿¼Ñαá »α«úαá¼¼δ BGILINK.PAS ¡á ñ¿ßΓα¿íπΓ¿ó¡«¼ ñ¿ß¬Ñ).
  14171.  
  14172.          B.Pascal 7 & Objects/LR     - 314 -
  14173.  
  14174.                         âαáΣ¿τÑ߬¿Ñ ¿º«íαáªÑ¡¿∩ ¿ ¿σ ó¿ñδ
  14175.         ─────────────────────────────────────────────────────────────────
  14176.  
  14177.              ä½∩ óδτÑατ¿óá¡¿∩  ¿  ºá¬αáΦ¿óá¡¿∩  úαáΣ¿τÑ߬¿σ  ¿º«íαáªÑ¡¿∩,
  14178.         ó¬½ετá∩ Γ«τ¬¿, »α∩¼δÑ, «¬απª¡«ßΓ¿, ñπú¿, φ½½¿»ßδ, »α∩¼«πú«½∞¡¿¬¿,
  14179.         ¼¡«ú«πú«½∞¡¿¬¿, ΦΓα¿σ«ó¬π, ΓαÑσ¼Ñα¡πε ΦΓα¿σ«ó¬π ¿ ßÑ¬Γ«αδ, ¿¼ÑÑΓ-
  14180.         ß∩ µÑ½δ⌐ α∩ñ «íÑß»Ñτ¿óáεΘ¿σ »α«úαá¼¼.  ä½∩ π»αáó½Ñ¡¿∩ ó¿ñ«¼ ½¿¡¿¿
  14181.         - íπñÑΓ «¡á Γ«¡¬«⌐ ¿½¿ Γ«½ßΓ«⌐,  ¡Ñ»αÑαδó¡«⌐ ¿½¿ ß«ßΓ«∩ΘÑ⌐ ¿º Γ«-
  14182.         τѬ,  ¿½¿  ªÑ  »«ßΓα«Ñ¡¡«⌐ »« óáΦѼπ ß«íßΓóÑ¡¡«¼π «íαẵπ - ¼«ª¡«
  14183.         ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ SetLineStyle.
  14184.  
  14185.              ä½∩ ºá¬αáΦ¿óá¡¿∩  «í½áßΓ¿  ¿½¿ ¼¡«ú«πú«½∞¡¿¬á »ÑαÑßѬáεΘÑ⌐ß∩
  14186.         ΦΓα¿σ«ó¬«⌐ ¿½¿ τѼ-½¿í« í«½ÑÑ ß½«ª¡δ¼ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ »α«µÑñπ-
  14187.         αδ SetFillStyle, SetFloodPattern, FillPoly ¿ FloodFill.
  14188.  
  14189.                        Äí½áßΓ¿ »α«ß¼«Γαá ¿ ñó«¿τ¡δÑ «íαáºδ
  14190.         ─────────────────────────────────────────────────────────────────
  14191.  
  14192.              Åα«µÑñπαá ViewPoint »«ºó«½∩ÑΓ óßѼ ¬«¼á¡ñá¼  óδó«ñá αáí«ΓáΓ∞
  14193.         ó »α∩¼«πú«½∞¡«⌐ «í½áßΓ¿ φ¬αá¡á.  âαáΣ¿¬¿,  »α∩¼δÑ ¿ ñαπú¿Ñ úαáΣ¿-
  14194.         τÑ߬¿Ñ ¿º«íαáªÑ¡¿∩ (óÑß∞ úαáΣ¿τÑ߬¿⌐  óδó«ñ)  ßó∩ºδóáÑΓß∩  ß  «í-
  14195.         ½áßΓ∞ε »α«ß¼«Γαá,  »«¬á φΓá «í½áßΓ∞ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩.  ÅαÑñπß¼«ΓαÑ¡δ
  14196.         »α«úαá¼¼δ ñ½∩ «τ¿ßΓ¬¿ «í½áßΓ¿ »α«ß¼«Γαá ¿ ßτ¿Γδóá¡¿∩  ÑÑ  ΓѬπΘ¿σ
  14197.         «»αÑñѽѡ¿⌐.  àß½¿ ºáñá¡ αѪ¿¼ «ΓßÑτÑ¡¿∩, Γ« óÑß∞ úαáΣ¿τÑ߬¿⌐ óδ-
  14198.         ó«ñ «ΓßÑτÑΓß∩ ñ« ΓѬπΘÑ⌐ Γ«τ¬¿.  çá¼ÑΓ¿¼,  τΓ« ΓѬπΘ¿⌐  π¬áºáΓѽ∞
  14199.         ¡¿¬«úñá ¡Ñ «ΓßѬáÑΓß∩.
  14200.  
  14201.              ä½∩ ßτ¿Γδóá¡¿∩  ¿ óδó«ñá φ½Ñ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩ »αÑñπß¼«ΓαÑ¡δ
  14202.         »α«µÑñπαδ GetPixel ¿ Putpixel.  ùΓ«íδ ß«σαá¡¿Γ∞ ¿ ó«ßßΓá¡«ó¿Γ∞ ¡á
  14203.         φ¬αá¡Ñ   »α∩¼«πú«½∞¡πε   «í½áßΓ∞,  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  »α«µÑñπαδ
  14204.         GetImage ¿ PutImage.  Ä¡¿ «íÑß»Ñτ¿óáεΓ »«½¡«Ñ óδ»«½¡Ñ¡¿Ñ «»Ñαᵿ⌐
  14205.         »α«µÑñπαδ éitélt (¡«α¼á½∞¡«Ñ, σ«r, «r, ánd, n«t).
  14206.  
  14207.  
  14208.  
  14209.          B.Pascal 7 & Objects/LR     - 315 -
  14210.  
  14211.                            Å«ññÑ᪬á ßΓαá¡¿µ ¿ µóÑΓ«ó
  14212.         ─────────────────────────────────────────────────────────────────
  14213.  
  14214.              ê¼ÑÑΓß∩ ¼¡«ú« ñαπú¿σ »«ññÑনóáεΘ¿σ »α«úαá¼¼,  ó¬½ετá∩  »«ñ-
  14215.         ñÑ᪬π  ñ½∩  ¡Ñ߬«½∞¬¿σ úαáΣ¿τÑ߬¿σ ßΓαá¡¿µ (Γ«½∞¬« ñ½∩ áñá»ΓÑα«ó
  14216.         EGA,  VGA ¿ ìÑrcules;  φΓ« «ß«íÑ¡¡« »«½Ñº¡« »α¿  ¿ß»«½∞º«óá¡¿¿  ó
  14217.         ¼π½∞Γ¿»½¿¬áµ¿¿), »á½¿Γαδ, µóÑΓá ¿ Γᬠñá½ÑÑ.
  14218.  
  14219.                                 Äíαáí«Γ¬á «Φ¿í«¬
  14220.         ─────────────────────────────────────────────────────────────────
  14221.  
  14222.              é¡πΓαÑ¡¡¿Ñ «Φ¿í¬¿   ¼«ñπ½∩   Graph   ó«ºóαáΘáεΓß∩   Σπ¡¬µ¿Ñ⌐
  14223.         GraphResult. ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¬«ñ «Φ¿í¬¿, »«¬áºδóáεΘ¿⌐ ß«ß-
  14224.         Γ«∩¡¿Ñ »«ß½Ññ¡Ñ⌐ úαáΣ¿τÑ߬«⌐ «»Ñαᵿ¿.  è«ñδ  ó«ºóαáΓá  »α¿óÑñÑ¡δ
  14225.         ó αáºñѽѠ »«  GraphResult ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬ¿")
  14226.         "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  14227.  
  14228.              ç¡áτÑ¡¿Ñ ¬«ñá  ó«ºóαáΓá ñ½∩ Σπ¡¬µ¿¿ GraphResult πßΓá¡áó½¿óá-
  14229.         ÑΓß∩ ß½ÑñπεΘ¿¼¿ »α«µÑñπαἿ:
  14230.  
  14231.               DetectGraph         SetTextStile          SetAllPalette
  14232.               InitGraph           SetGraphMode          SetFillPattern
  14233.               FloodFill           CloseGraph            SetFillStyle
  14234.               FillPoly            GetGraphMode          SetGraphBufSize
  14235.               DrawPoly            ImageSize             SetGraphMode
  14236.               Bar                 InstallUserDriver     SetLineStyle
  14237.               Bár3D               InstallUserFont       SetPalette
  14238.               PieSlice            RegisterBGIDriver     SetTextJustify
  14239.               ClearViewPort       RegisterGBIFont
  14240.  
  14241.              çá¼ÑΓ¿¼, τΓ« Σπ¡¬µ¿∩ GraphResult »«ß½Ñ «íαáΘÑ¡¿∩ ¬ ¡Ñ⌐ ßíαá-
  14242.         ßδóáÑΓ ¬«ñ «Φ¿í¬¿ ó 0.  Æá¬¿¼ «íαẫ¼, »«½∞º«óáΓѽ∞ ñ«½ªÑ¡ ß«σαá-
  14243.         ¡¿Γ∞ º¡áτÑ¡¿Ñ ¬«ñá «Φ¿í¬¿ ó« óαѼѡ¡«⌐ »ÑαѼѡ¡«⌐ ¿ ºáΓѼ  »α«óÑ-
  14244.         α¿Γ∞ Ñú«.
  14245.  
  14246.  
  14247.  
  14248.          B.Pascal 7 & Objects/LR     - 316 -
  14249.  
  14250.                                   ìáτὫ αáí«Γδ
  14251.         ─────────────────────────────────────────────────────────────────
  14252.  
  14253.              Åα¿óÑñѼ »α¿¼Ñα »α«ßΓ«⌐ úαáΣ¿τÑ߬«⌐ »α«úαá¼¼δ:
  14254.  
  14255.              1 program GraphTest;
  14256.              2 uses
  14257.              3   Graph;
  14258.              4 var
  14259.              5   GraphDriver  : integer;
  14260.              6   GraphMode    : integer;
  14261.              7   ErrorCode    : integer;
  14262.              8 begin
  14263.              9   GraphDriver := Detect;    { ôßΓá¡«ó¿Γ∞ Σ½áú: óδ»«½¡¿Γ∞
  14264.                                              αáß»«º¡áóá¡¿Ñ }
  14265.              10  InitGraph(GraphDriver, GraphMode, 'C:\DRIVERS');
  14266.              11  ErrorCode := GraphResult;
  14267.              12  if ErrorCode <> grOk then  { «Φ¿í¬á? }
  14268.              13  begin
  14269.              14    Writeln('ÄΦ¿í¬á úαáΣ¿¬¿: ',GraphErrorMsg(ErrorCode);
  14270.              15    Writeln('Åα«úαá¼¼á áóáα¿⌐¡« ºáóÑαΦ¿½á αáí«Γπ...');
  14271.              16    Halt(1);
  14272.              17  end;
  14273.              18  Rectangle(0, 0, GetMaxX, GetMaxY); { ¡áα¿ß«óáΓ∞  αἬπ
  14274.                                                      αẼÑα«¼ ó φ¬αá¡ }
  14275.              19  SetTextJustify(CenterText, CenterText); {  µÑ¡Γα¿α«óá-
  14276.                                                      ¡¿Ñ ΓѬßΓá }
  14277.              20  SetTextStyle(DefaultFont, HorizDir, 3);
  14278.              21  OutTextXY(GetMaxX div 2, GetMaxY div 2, { µÑ¡Γα φ¬αá¡á }
  14279.              22         'âαáΣ¿τÑ߬¿⌐ ¿¡ΓÑαΣÑ⌐ß Σ¿α¼δ Borland (BGI)');
  14280.              23  Readln;
  14281.              24  CloseGraph;
  14282.              25 end. { GraphTest }
  14283.  
  14284.              Åα«úαἼᠡáτ¿¡áÑΓß∩ ß «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ InitGraph,  ¬«-
  14285.         Γ«αá∩ áóΓ«¼áΓ¿τÑ߬¿ »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ á»»áαáΓπαδ ¿ ºáúαπªáÑΓ  ß«-
  14286.         «ΓóÑΓßΓóπεΘ¿⌐  úαáΣ¿τÑ߬¿⌐  ñαá⌐óÑα  (¡áσ«ñ∩Θ¿⌐ß∩  ó  ¬áΓὫúÑ C:
  14287.         DRIVERS). àß½¿ úαáΣ¿τÑ߬á∩ á»»áαáΓπαá ¡Ñ αáß»«º¡á¡á ¿½¿ ó »α«µÑß-
  14288.         ßÑ ¿¡¿µ¿á½¿ºáµ¿¿ »α«¿º«Φ½á «Φ¿í¬á,  Γ« ¡á φ¬αá¡ óδó«ñ¿Γß∩ ß««íΘÑ-
  14289.         ¡¿Ñ «í «Φ¿í¬Ñ ¿ »α«úαἼᠻαѬαáΘáÑΓ αáí«Γπ.  é »α«Γ¿ó¡«¼  ß½πτáÑ
  14290.         óñ«½∞ ¬αáÑó φ¬αá¡á α¿ßπÑΓß∩ »α∩¼«πú«½∞¡¿¬ ¿ ó µÑ¡ΓαÑ φ¬αá¡á óδó«-
  14291.         ñ¿Γß∩ ΓѬßΓ.
  14292.  
  14293.              Å½áΓá AT&T  400  ¿½¿ IBM 8514 ¡Ñ αáß»«º¡áÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿.
  14294.         ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, óδ ¼«ªÑΓÑ »«½∞º«óáΓ∞ß∩ ñαá⌐óÑα«¼ úαáΣ¿¬¿ AT&T »πΓѼ
  14295.         «Γ¼Ñ¡δ áóΓ«¼áΓ¿τÑ߬«⌐ »α«óÑન, »ÑαÑß佬¿ ¿ß»«½¡∩Ѽ«ú« ¬«ñá ñαá⌐-
  14296.         óÑαá AT&T »α«µÑñπαÑ InitGraph ¿ πßΓᡫ󬿠ñ«»πßΓ¿¼«ú« úαáΣ¿τÑ߬«-
  14297.         ú« αѪ¿¼á.  çá¼Ñ¡¿ΓÑ 8 ¿ 9 ßΓ᫬π ó »αÑñδñπΘѼ »α¿¼ÑαÑ ß½ÑñπεΘ¿¼¿
  14298.         ΓαѼ∩ ßΓα«¬á¼¿:
  14299.  
  14300.              GraphDriver := ATT400;
  14301.              GraphMode := ATT400Hi;
  14302.              InitGraph(GraphDriver, GraphMode, 'C:\BP\BGI');
  14303.  
  14304.          B.Pascal 7 & Objects/LR     - 317 -
  14305.  
  14306.  
  14307.              ¥Γ« π¬áªÑΓ  úαáΣ¿τÑ߬«⌐  ß¿ßΓѼѠ ¡á  ¡Ñ«íσ«ñ¿¼«ßΓ∞ ºáúαπº¬¿
  14308.         ñαá⌐óÑαá πßΓα«⌐ßΓóá AT&T400, αáß»«½«ªÑ¡¡«ú« ó ¬áΓὫúÑ C:\BP\BGI,
  14309.         ¿ πßΓá¡«ó¿Γ úαáΣ¿τÑ߬¿⌐ αѪ¿¼ 640 ¡á 400.
  14310.  
  14311.              Åα¿óÑñѼ ÑΘÑ «ñ¿¡ »α¿¼Ñα,  ¬«Γ«αδ⌐ »«¬áºδóáÑΓ, ¬á¬ ¼«ª¡« »Ñ-
  14312.         αѬ½ετáΓ∞ß∩ ¼Ñªñπ úαáΣ¿τÑ߬¿¼ ¿ ΓѬßΓ«óδ¼ αѪ¿¼á¼¿:
  14313.  
  14314.              1 program GraphTest;
  14315.              2 uses
  14316.              3   Graph;
  14317.              4 var
  14318.              5   GraphDriver  : integer;
  14319.              6   GraphMode    : integer;
  14320.              7   ErrorCode    : integer;
  14321.              8 begin
  14322.              9   GraphDriver := Detect;    { ôßΓá¡«ó¿Γ∞ Σ½áú: óδ»«½¡¿Γ∞
  14323.                                              αáß»«º¡áóá¡¿Ñ }
  14324.              10  InitGraph(GraphDriver, GraphMode, 'C:\DRIVERS');
  14325.              11  ErrorCode := GraphResult;
  14326.              12  if ErrorCode <> grOk then  { «Φ¿í¬á? }
  14327.              13  begin
  14328.              14    Writeln('ÄΦ¿í¬á úαáΣ¿¬¿: ',GraphErrorMsg(ErrorCode);
  14329.              15    Writeln('Åα«úαá¼¼á áóáα¿⌐¡« ºáóÑαΦ¿½á αáí«Γπ...');
  14330.              16    Helt(1);
  14331.              17  end;
  14332.              18  OutText('âαáΣ¿τÑ߬¿⌐ αѪ¿¼. ì᪼¿ΓÑ <RETURN>');
  14333.              19  Readln;
  14334.              20  RestoreCrtMode;
  14335.              21  Write('ÆÑ¬ßΓ«óδ⌐ αѪ¿¼. ì᪼¿ΓÑ <RETURN>');
  14336.              22  Readln;
  14337.              23  SetGraphMode(GraphMode);
  14338.              24  OutText('æ¡«óá úαáΣ¿τÑ߬¿⌐ αѪ¿¼. ì᪼¿ΓÑ <RETURN>');
  14339.              25  Readln;
  14340.              26  CloseGraph;
  14341.              27 end. { GraphTest }
  14342.  
  14343.              çá¼ÑΓ¿¼, τΓ« ó맮ó »α«µÑñπαδ SetGraphMode ¡á ßΓα«¬Ñ 23 ßíαá-
  14344.         ßδóáÑΓ óßÑ úαáΣ¿τÑ߬¿Ñ »áαá¼ÑΓαδ (»á½¿Γαá, ΓѬπΘ¿⌐ π¬áºáΓѽ∞, «ß-
  14345.         ¡«ó¡«⌐  ¿  Σ«¡«óδ⌐  µóÑΓá  ¿ Γ.ñ.) ¿ ¿¼ »α¿ßóá¿óáεΓß∩ »α¿¡∩ΓδÑ »«
  14346.         π¼«½τá¡¿ε º¡áτÑ¡¿∩.
  14347.  
  14348.              é맮ó CloseGraph  ó«ßßΓá¡áó½¿óáÑΓ »Ñαó«¡áτá½∞¡« «í¡áαπªÑ¡¡δ⌐
  14349.         ó¿ñÑ«αѪ¿¼ (InitGraph) ¿ «ßó«í«ªñáÑΓ »á¼∩Γ∞,  ¿ß»«½∞ºπѼπε úαáΣ¿-
  14350.         τÑ߬¿¼ ñαá⌐óÑα«¼.
  14351.  
  14352.  
  14353.  
  14354.          B.Pascal 7 & Objects/LR     - 318 -
  14355.  
  14356.                            Å«½∞º«óáΓѽ∞߬¿Ñ »α«úαá¼¼δ
  14357.                   π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε
  14358.         ─────────────────────────────────────────────────────────────────
  14359.  
  14360.              ä½∩ ¼«ñπ½∩  Graph »αÑñπß¼«ΓαÑ¡δ ñóÑ »α«úαá¼¼δ π»αáó½Ñ¡¿∩ ñ¿-
  14361.         ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ∞ε  GraphFrÑÑîѼ  ¿  GraphGetîѼ.
  14362.         ÅÑαóá∩ ¿º ¡¿σ «ßó«í«ªñáÑΓ »á¼∩Γ∞, αáß»αÑñѽѡ¡πε ñ½∩ ñαá⌐óÑα«ó, á
  14363.         óΓ«αá∩ - αáß»αÑñѽ∩ÑΓ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑα«ó úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó.
  14364.         æΓá¡ñáαΓ¡δÑ »α«úαá¼¼δ ¿¼ÑεΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
  14365.  
  14366.              procedure GraphGetMem(var P : Pointer; Size : word);
  14367.                 { óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑα«ó úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó }
  14368.  
  14369.              procedure GraphFreeMem(var P : Pointer; Size : word);
  14370.                 { «ßó«í«ñ¿Γ∞ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑα«ó úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó }
  14371.  
  14372.              é ¼«ñπ½Ñ Graph ¿¼ÑεΓß∩ ñóá π¬áºáΓѽ∩,  ¬«Γ«αδÑ »«  π¼«½τá¡¿ε
  14373.         π¬áºδóáεΓ ¡á ñóÑ «»¿ßá¡¡δÑ ºñÑß∞  ßΓá¡ñáαΓ¡δÑ  »«ñ»α«úαá¼¼δ.  ¥Γ¿
  14374.         π¬áºáΓѽ∞ «»αÑñѽ∩εΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
  14375.  
  14376.              var
  14377.                GraphGetMemPtr  : pointer;
  14378.                   { π¬áºáΓѽ∞ ¡á »α«úαá¼¼π αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ }
  14379.                GraphFreeMemPtr : pointer;
  14380.                   { π¬áºáΓѽ∞ ¡á »α«úαá¼¼π «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿ }
  14381.  
  14382.              é« óαѼ∩ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ Graph φΓ¿  π¬áºáΓѽ¿ ßßδ½áεΓß∩
  14383.         ¡á  ßΓá¡ñáαΓ¡δÑ úαáΣ¿τÑ߬¿Ñ »α«úαá¼¼δ αáß»αÑñѽѡ¿∩/«ßó«í«ªñÑ¡¿∩,
  14384.         ¬«Γ«αδÑ «»αÑñѽ∩εΓß∩  ó  ßѬµ¿¿  αÑ὿ºáµ¿¿ ¼«ñπ½∩ Graph.  Åá¼∩Γ∞
  14385.         αáß»αÑñѽ∩Γß∩ ó ΓαÑσ αẽ¿τ¡δσ µÑ½∩σ:
  14386.  
  14387.              * ñ½∩ ¼¡«ú«µÑ½Ñóδσ úαáΣ¿τÑ߬¿σ íπΣÑα«ó, αẼÑα ¬«Γ«αδσ πßΓá-
  14388.                ¡áó½¿óáÑΓß∩ ó맮ó«ó SegGraphBufSize (»« π¼«½τá¡¿ε φΓ« 4è);
  14389.  
  14390.              * ñ½∩  ñαá⌐óÑαá  πßΓα«⌐ßΓóá,  ºáúαπªáѼ«ú«  InitGraph (Σá⌐½δ
  14391.                *.BGI);
  14392.  
  14393.              * ñ½∩ Σá⌐½á  óÑ¬Γ«α¡«ú«  Φα¿ΣΓá,  ºáúαπªÑ¡¡«ú«  SetTextStyle
  14394.                (Σá⌐½δ *.CHR).
  14395.  
  14396.              âαáΣ¿τÑ߬¿⌐ íπΣÑα  óßÑúñá óδñѽ∩ÑΓß∩ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
  14397.         ½∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿.  Åá¼∩Γ∞ ñ½∩ ñαá⌐óÑαá πßΓα«⌐ßΓóá óδñѽ∩ÑΓß∩
  14398.         ó ñ¿¡á¼¿τÑ߬«⌐  »á¼∩Γ¿,  Ñß½¿  »α«úαἼᠠ¡Ñ ºáúαπªáÑΓ Ñú« ¿½¿ ¡Ñ
  14399.         ¬«¼»«¡πÑΓß∩ ß ¡¿¼ óδº«ó«¼ RegisterBGIdriver. Åα¿ óδí«αÑ óÑ¬Γ«α¡«-
  14400.         ú« Φα¿ΣΓá  ß »«¼«Θ∞ε SetTextStyle ΓᬪѠóδñѽ∩ÑΓß∩ »á¼∩Γ∞ ó ñ¿¡á-
  14401.         ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ (Ñß½¿ óáΦá »α«úαἼᠡѠ¬«¼»«¡πÑΓ-
  14402.         ß∩ ß« Φα¿ΣΓ«¼ ¿ ¡Ñ ¿ß»«½∞ºπÑΓ RegisterBGIfont).
  14403.  
  14404.              ùΓ«íδ ºáñáΓ∞  óáΦÑ ß«íßΓóÑ¡¡«Ñ π»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε,  ó ¼«ñπ½Ñ
  14405.         Graph óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ º¡áτÑ¡¿∩ φΓ¿σ π¬áºáΓѽÑ⌐ Γá¬,  τΓ«íδ «¡¿
  14406.         ßßδ½á½¿ß∞  ¡á  óáΦ¿  ß«íßΓóÑ¡¡δÑ »α«úαá¼¼δ.  Åα«úαá¼¼δ,  ºáñá¡¡δÑ
  14407.         »«½∞º«óáΓѽѼ, ñ«½ª¡δ ¿¼ÑΓ∞ Γ«Γ ªÑ ß»¿ß«¬ »áαá¼ÑΓα«ó, τΓ« ¿ ßΓá¡-
  14408.         ñáαΓ¡δÑ  »α«úαá¼¼δ,  ¿ ñ«½ª¡δ ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá.  Åα¿óÑñѼ
  14409.  
  14410.          B.Pascal 7 & Objects/LR     - 319 -
  14411.  
  14412.         ñá½ÑÑ »α¿¼Ñα ºáñá¡¡δσ »«½∞º«óáΓѽѼ »α«úαá¼¼ αáß»αÑñѽѡ¿∩ ¿  «ß-
  14413.         ó«í«ªñÑ¡¿∩ »á¼∩Γ¿.  çá¼ÑΓ¿¼, τΓ« »α¿ ¿ß»«½∞º«óá¡¿¿ »α«µÑñπαδ Eσit
  14414.         áóΓ«¼áΓ¿τÑ߬¿ óδºδóáÑΓß∩ »α«µÑñπαá CloseGraph.
  14415.  
  14416.               program UserHeapManegement;
  14417.               { »α«úαἼᠻ«¬áºδóáÑΓ,  ¬á¬ »«½∞º«óáΓѽ∞ ¼«ªÑΓ αáí«ΓáΓ∞  ß
  14418.                 »«ñ»α«úαἼἿ  π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í-
  14419.                 ½áßΓ∞ε »á¼∩Γ¿, ¿ß»«½∞ºπÑ¼δ¼¿ ó ¼«ñπ½Ñ Graph }
  14420.               uses
  14421.                  Graph;
  14422.               var
  14423.                  GraphDriver, GraphMode : Integer;
  14424.                  ErrorCode              : Integer; { ¿ß»«½∞ºπÑΓß∩ ñ½∩
  14425.                            ß«σαá¡Ñ¡¿∩ ¬«ñá ó«ºóαáΓá Σπ¡¬µ¿¿ GraphResult }
  14426.                  PreGraphExitProc       : Pointer { ¿ß»«½∞ºπÑΓß∩ ñ½∩ ß«σ-
  14427.                            αá¡Ñ¡¿∩ ¿ßσ«ñ¡«⌐ »α«µÑñπαδ óδσ«ñá }
  14428.                  { »α«µÑñπαδ »«½∞º«óáΓѽ∩ ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ ñá½∞¡¿⌐ Γ¿»
  14429.                    «íαáΘÑ¡¿∩ }
  14430.                   procedure MyGetMem(var P : Pointer; Size : word); far;
  14431.                  { óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑα«ó úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó }
  14432.                begin
  14433.                  Write('üδ½á óδºóá¡á »α«µÑñπαá ',
  14434.                         'MyGetMem, ¡áª¼¿ΓÑ <Enter>:');
  14435.                  GetMem(P, Size);
  14436.                end; { MyGetMem }
  14437.  
  14438.                procedure MyFreeMem(ver P : Pointer; Size : word); far;
  14439.                { «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, ºá¡∩Γπε ñαá⌐óÑαἿ úαáΣ¿τÑ߬¿σ
  14440.                  πßΓα«⌐ßΓó }
  14441.                begin
  14442.                  RestoreCRTMode;
  14443.                  Write('üδ½á óδºóá¡á »α«µÑñπαá MyFreeMem, ¡áª¼¿ΓÑ ',
  14444.                         '<Enter>:'); Readln;
  14445.                  if P <> Nil Then { ¡Ñ «ßó«í«ªñáΓ∞ »πßΓδÑ π¬áºáΓѽ¿ }
  14446.                  begin
  14447.                    FreeMem(P, Size);
  14448.                    P := Nil;
  14449.                  end; { MyFreeMem }
  14450.  
  14451.               procedure MyExitProc; far;
  14452.               { »α«µÑñπαá óßÑúñá »«½πτáÑΓ ó맮ó »α¿ »αѬαáΘÑ¡¿¿ αáí«Γδ
  14453.                 »α«úαá¼¼δ }
  14454.               begin
  14455.                 ExitProc := PreGraphExitProc; { ó«ßßΓá¡«ó¿Γ∞ ¿ßσ«ñ¡πε
  14456.                                                 »α«µÑñπαπ óδσ«ñá }
  14457.                 CloseGraph;         { «τ¿ßΓ¿Γ∞ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε
  14458.                                       «í½áßΓ∞ }
  14459.               end; { MyExitProc }
  14460.  
  14461.               begin
  14462.               { ¿¡¿µ¿á½¿º¿α«óáΓ∞ »α«úαá¼¼π «τ¿ßΓ¬¿ »á¼∩Γ¿ }
  14463.                  PreGraphExitProc := ExitProc;
  14464.                  ExitProc := @MyExitProc;
  14465.  
  14466.          B.Pascal 7 & Objects/LR     - 320 -
  14467.  
  14468.                  GraphGetMemPtr := @MyGetMem ; { ºá¼Ñ¡¿Γ∞ αáß»αÑñѽѡ¿Ñ
  14469.                                                  »á¼∩Γ¿ }
  14470.                  GraphFreeMemPtr := @MyFreeMem ; { ºá¼Ñ¡¿Γ∞ «ßó«í«ªñÑ¡¿Ñ
  14471.                                                  »á¼∩Γ¿ }
  14472.                  GraphDriver := Detect;
  14473.                  InitGraph(GraphDriver, GraphMode, '');
  14474.                  ErrorCode := GraphResult;
  14475.                  if ErrorCode <> grOk then
  14476.                begin
  14477.                 Writeln('âαáΣ¿τÑ߬á∩ «Φ¿í¬á: ' GraphErrorMsg(ErrorCode);
  14478.                 Readln;
  14479.                 Halt(1);
  14480.                end;
  14481.                Line(0, 0, GetMaxX, GetMaxY);
  14482.                OutText(1, 1, 'ì᪼¿ΓÑ ¬½áó¿Φπ <Enter>:');
  14483.                Readln;
  14484.               end. { UserHeapManegement }
  14485.  
  14486.              àß½¿ µÑ½Ñó«⌐  »½áΓΣ«α¼«⌐  ∩ó½∩ÑΓß∩ ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ DOS,  Γ«
  14487.         »α¿ ¿ß»«½∞º«óá¡¿¿ »«ñ«í¡δσ »α«úαá¼¼ ß½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ  ß½Ññπε-
  14488.         ΘÑÑ: óδ  ñ«½ª¡δ «íÑß»Ñτ¿Γ∞,  τΓ« ½εí«⌐ ó«ºóαáΘáѼδ⌐ GetMem π¬áºá-
  14489.         Γѽ∞ ñ«½ªÑ¡ ¿¼ÑΓ∞ ¡π½Ñó«Ñ ß¼ÑΘÑ¡¿Ñ.  æñѽáΓ∞ φΓ« ¼«ª¡« ß  »«¼«Θ∞ε
  14490.         Σπ¡¬µ¿¿ GlobalAllocPtr:
  14491.  
  14492.              procedure MyGetMem(var P: Pointer; Size: Word); far;
  14493.              var
  14494.                 P: Pointer;
  14495.              bagin
  14496.                 P:= GlobalAllocPtr(HeapAllocFlags, Size);
  14497.                 GetMem(P, 4096);
  14498.              end;  { MyGetMem }
  14499.  
  14500.  
  14501.  
  14502.          B.Pascal 7 & Objects/LR     - 321 -
  14503.  
  14504.                              Åα«µÑñπαδ ¼«ñπ½∩ Graph
  14505.                                                              Æáí½¿µá 19.3
  14506.         ┌───────────────────┬───────────────────────────────────────────┐
  14507.         │   Å«ñ»α«úαἼᠠ  │                   Ä»¿ßá¡¿Ñ                │
  14508.         ├───────────────────┼───────────────────────────────────────────┤
  14509.         │  Arß              │ É¿ßπÑΓ ñπú𠫬απª¡«ßΓ¿ «Γ  ¡áτá½∞¡«ú« πú½á│
  14510.         │                   │ ñ« ¬«¡Ñτ¡«ú« πú½á;  Γ«τ¬á (x,y) íÑαÑΓß∩  ó│
  14511.         │                   │ ¬áτÑßΓóÑ µÑ¡Γαá «¬απª¡«ßΓ¿.               │
  14512.         ├───────────────────┼───────────────────────────────────────────┤
  14513.         │  Bár              │ É¿ßπÑΓ ßΓ«½íѵ, ¿ß»«½∞ºπ∩ ΓѬπΘ¿⌐ Γ¿» ºá¬-│
  14514.         │                   │ αá߬¿.                                    │
  14515.         ├───────────────────┼───────────────────────────────────────────┤
  14516.         │  Bár3D            │ É¿ßπÑΓ  ΓαÑσ¼Ñα¡δ⌐  ßΓ«½íѵ, ¿ß»«½∞ºπ∩ ΓÑ-│
  14517.         │                   │ ¬πΘ¿⌐ Γ¿» ºá¬αá߬¿.                       │
  14518.         ├───────────────────┼───────────────────────────────────────────┤
  14519.         │  CirclÑ           │ É¿ßπÑΓ «¬απª¡«ßΓ∞ ß µÑ¡Γα«¼ ó Γ«τ¬Ñ (x,y).│
  14520.         ├───────────────────┼───────────────────────────────────────────┤
  14521.         │  ClearDevißÑ      │ æíαáßδóáÑΓ  ΓѬπΘ¿Ñ »áαá¼ÑΓαδ, πßΓá¡«ó½Ñ¡-│
  14522.         │                   │ ¡δÑ ñ½∩ πßΓα«⌐ßΓóá óδó«ñá, ¿ »«ñú«Γáó½¿óá-│
  14523.         │                   │ ÑΓ Ñú« ñ½∩ óδó«ñá.                        │
  14524.         ├───────────────────┼───────────────────────────────────────────┤
  14525.         │  ClearViewPort    │ Äτ¿ΘáÑΓ  ΓѬπΘπε  «í½áßΓ∞  »α«ß¼«Γαá («¬¡«│
  14526.         │                   │ φ¬αá¡á).                                  │
  14527.         ├───────────────────┼───────────────────────────────────────────┤
  14528.         │  CloseGraph       │ éδ»«½¡∩ÑΓ «ßΓá¡«ó úαáΣ¿τÑ߬«⌐ ß¿ßΓѼδ.    │
  14529.         ├───────────────────┼───────────────────────────────────────────┤
  14530.         │  DetectGraph      │ Éáß»«º¡áÑΓ á»»áαáΓπαπ ¿ «»αÑñѽ∩ÑΓ,  ¬á¬«⌐│
  14531.         │                   │ úαáΣ¿τÑ߬¿⌐ ñαá⌐óÑα  ¿ αѪ¿¼ ¡πª¡« ¿ß»«½∞-│
  14532.         │                   │ º«óáΓ∞.                                   │
  14533.         ├───────────────────┼───────────────────────────────────────────┤
  14534.         │  DrawPoly         │ É¿ßπÑΓ  ¼¡«ú«πú«½∞¡¿¬,  ¿ß»«½∞ºπ∩  ΓѬπΘ¿⌐│
  14535.         │                   │ Γ¿» ½¿¡¿¿ ¿ µóÑΓ.                         │
  14536.         ├───────────────────┼───────────────────────────────────────────┤
  14537.         │  Ellipse          │ É¿ßπÑΓ  φ½½¿»Γ¿τÑ߬πε  ñπúπ «Γ  ¡áτá½∞¡«ú«│
  14538.         │                   │ πú½á ñ« ¬«¡Ñτ¡«ú« πú½á,  ¿ß»«½∞ºπε  (ò,Y),│
  14539.         │                   │ ¬á¬ Γ«τ¬π µÑ¡Γαá.                         │
  14540.         ├───────────────────┼───────────────────────────────────────────┤
  14541.         │  FillPoly         │ çá¬αáΦ¿óáÑΓ  ¼¡«ú«πú«½∞¡¿¬, ¿ß»«½∞ºπ∩ »αÑ-│
  14542.         │                   │ «íαẫóáΓѽ∞ αáºóÑαΓ¬¿.                   │
  14543.         ├───────────────────┼───────────────────────────────────────────┤
  14544.         │  FloodFill        │ çá¬αáΦ¿óáÑΓ  «úαá¡¿τÑ¡¡πε «í½áßΓ∞, ¿ß»«½∞-│
  14545.         │                   │ ºπ∩ ΓѬπΘ¿⌐ «íαáºÑµ ºá¬αá߬¿.             │
  14546.         ├───────────────────┼───────────────────────────────────────────┤
  14547.         │  GetArcCoords     │ Å«ºó«½∩ÑΓ  »«½∞º«óáΓÑ½ε  ºá»αáΦ¿óáΓ∞ ¬««α-│
  14548.         │                   │ ñ¿¡áΓδ »«ß½Ññ¡Ñ⌐ ¬«¼á¡ñδ Arß.             │
  14549.         ├───────────────────┼───────────────────────────────────────────┤
  14550.         │  GetAspectRatio   │ é«ºóαáΘáÑΓ ñÑ⌐ßΓóπεΘÑÑ  αáºαÑΦÑ¡¿Ñ úαáΣ¿- │
  14551.         │                   │ τÑ߬«ú« φ¬αá¡á,  ¡á  «ß¡«óÑ ¬«Γ«α«ú« ¼«ªÑΓ│
  14552.         │                   │ íδΓ∞ óδτ¿ß½Ñ¡  ¬«φΣΣ¿µ¿Ñ¡Γ  «Γ¡«ß¿Γѽ∞¡«ú«│
  14553.         │                   │ πñ½¿¡Ñ¡¿∩ (òásα,Yásα).                    │
  14554.         ├───────────────────┼───────────────────────────────────────────┤
  14555.         │  GetBkæ«lor       │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ Σ«¡«óδ⌐ µóÑΓ.          │
  14556.         ├───────────────────┼───────────────────────────────────────────┤
  14557.  
  14558.          B.Pascal 7 & Objects/LR     - 322 -
  14559.  
  14560.         │  GetC«lor         │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ µóÑΓ α¿ßπ¡¬á.          │
  14561.         ├───────────────────┼───────────────────────────────────────────┤
  14562.         │  GetDefaultPalette│ é ºá»¿ß¿ Γ¿»á  PaletteType  ó«ºóαáΘáÑΓ ¿ß-│
  14563.         │                   │ »«½∞ºπѼπε »« π¼«½τá¡¿ε »á½¿Γαπ.          │
  14564.         ├───────────────────┼───────────────────────────────────────────┤
  14565.         │  GetDriverName    │ é«ºóαáΘáÑΓ  ßΓ᫬π,   ß«ñÑαªáΘπε   ¿¼∩ ΓÑ-│
  14566.         │                   │ ¬πΘÑú« ñαá⌐óÑαá.                          │
  14567.         ├───────────────────┼───────────────────────────────────────────┤
  14568.         │  GetFillPattern   │ é«ºóαáΘáÑΓ  »«ß½Ññ¡¿⌐ «íαáºÑµ ºá»«½¡¿Γѽ∩,│
  14569.         │                   │ πßΓá¡«ó½Ñ¡¡δ⌐ ß »«¼«Θ∞ε «íαáΘÑ¡¿∩ ¬ »α«µÑ-│
  14570.         │                   │ ñπαÑ SetFillPattern.                      │
  14571.         ├───────────────────┼───────────────────────────────────────────┤
  14572.         │  GetFillSetting   │ Å«ºó«½∩ÑΓ  »«½∞º«óáΓѽε óδ»«½¡¿Γ∞ ºá»α«ß «│
  14573.         │                   │ ΓѬπΘѼ «íαẵѠ¿ µóÑΓÑ ºá¬αá߬¿, πßΓá¡«ó-│
  14574.         │                   │ ½Ñ¡¡δ¼¿  ß »«¼«Θ∞ε »α«µÑñπα SetFillStyle ¿│
  14575.         │                   │ SetFillPattern.                           │
  14576.         ├───────────────────┼───────────────────────────────────────────┤
  14577.         │  GetImage         │ æ«σαá¡∩ÑΓ  ñó«¿τ¡δ⌐ «íαẠºáñá¡¡«⌐ «í½áßΓ¿│
  14578.         │                   │ ó íπΣÑαÑ.                                 │
  14579.         ├───────────────────┼───────────────────────────────────────────┤
  14580.         │  GetGraphMode     │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.     │
  14581.         ├───────────────────┼───────────────────────────────────────────┤
  14582.         │  GetLineSettings  │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ Γ¿» ½¿¡¿¿,  «íαáºÑµ ½¿-│
  14583.         │                   │ ¡¿¿ ¿ Γ«½Θ¿¡π ½¿¡¿¿,  ºáñá¡¡δÑ  »α«µÑñπα«⌐│
  14584.         │                   │ SetLineStyle.                             │
  14585.         ├───────────────────┼───────────────────────────────────────────┤
  14586.         │  GetMaxColor      │ é«ºóαáΘáÑΓ  ¼á¬ß¿¼á½∞¡«Ñ  º¡áτÑ¡¿Ñ  µóÑΓá,│
  14587.         │                   │ ¬«Γ«α«Ñ ¼«ª¡« »ÑαÑñáΓ∞ »α«µÑñπαÑ SetColor.│
  14588.         ├───────────────────┼───────────────────────────────────────────┤
  14589.         │  GetMAxMode       │ é«ºóαáΘáÑΓ  ¼á¬ß¿¼á½∞¡δ⌐  ¡«¼Ñα αѪ¿¼á ñ½∩│
  14590.         │                   │ ΓѬπΘÑú« ºáúαπªÑ¡¡«ú« ñαá⌐óÑαá.           │
  14591.         ├───────────────────┼───────────────────────────────────────────┤
  14592.         │  Getîáσò          │ é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« ñαá⌐-│
  14593.         │                   │ óÑαá ¿ αѪ¿¼á ßá¼πε »αáóπε ¬«½«¡¬π (αáºαÑ-│
  14594.         │                   │ ΦÑ¡¿Ñ »« σ).                              │
  14595.         ├───────────────────┼───────────────────────────────────────────┤
  14596.         │  GetîáσY          │ é«ºóαáΘáÑΓ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« ñαá⌐-│
  14597.         │                   │ óÑαá ¿ αѪ¿¼á ßá¼πε ¡¿ª¡εε ßΓ᫬π  (αáºαÑ-│
  14598.         │                   │ ΦÑ¡¿Ñ »« π).                              │
  14599.         ├───────────────────┼───────────────────────────────────────────┤
  14600.         │  GetPaletteSize   │ é«ºóαáΘáÑΓ αẼÑα Γáí½¿µδ »α«ß¼«Γαᠻ὿Γ-│
  14601.         │                   │ αδ.                                       │
  14602.         ├───────────────────┼───────────────────────────────────────────┤
  14603.         │  GetPixel         │ é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ¿º«íαáªÑ¡¿∩ ó│
  14604.         │                   │ Γ«τ¬Ñ ò,Y.                                │
  14605.         ├───────────────────┼───────────────────────────────────────────┤
  14606.         │  GetPalette       │ é«ºóαáΘáÑΓ ΓѬπΘπε »á½¿Γαπ ¿  ÑÑ αẼÑα.  │
  14607.         ├───────────────────┼───────────────────────────────────────────┤
  14608.         │  GetTextSettings  │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ ΓѬßΓ«óδ⌐  Φα¿ΣΓ,  ¡á»-│
  14609.         │                   │ αáó½Ñ¡¿Ñ, αẼÑα ¿ óδαáó¡¿óá¡¿Ñ ñ½∩  ¡Ñú«,│
  14610.         │                   │ πßΓá¡«ó½Ñ¡¡δÑ     ß    »«¼«Θ∞ε    »α«µÑñπα│
  14611.         │                   │ SetTextStyle ¿ SetTextJustify.            │
  14612.         ├───────────────────┼───────────────────────────────────────────┤
  14613.  
  14614.          B.Pascal 7 & Objects/LR     - 323 -
  14615.  
  14616.         │  GetViewSettings  │ Å«ºó«½∩ÑΓ »«½∞º«óáΓѽε óδñáΓ∞ ºá»α«ß « ΓÑ-│
  14617.         │                   │ ¬πΘÑ⌐ «í½áßΓ¿ ¿º«íαáªÑ¡¿∩ ¿ »áαá¼ÑΓαáσ «Γ-│
  14618.         │                   │ ßÑτÑ¡¿∩ ¿º«íαáªÑ¡¿∩.                      │
  14619.         ├───────────────────┼───────────────────────────────────────────┤
  14620.         │  Getò             │ é«ºóαáΘáÑΓ  ¬««αñ¿¡áΓπ   ò ΓѬπΘÑ⌐ »«º¿µ¿¿│
  14621.         │                   │ (ΓѬπΘÑú« π¬áºáΓѽ∩).                     │
  14622.         ├───────────────────┼───────────────────────────────────────────┤
  14623.         │  GetY             │ é«ºóαáΘáÑΓ  ¬««αñ¿¡áΓπ  Y  ΓѬπΘÑ⌐ »«º¿µ¿¿│
  14624.         │                   │ (ΓѬπΘÑú« π¬áºáΓѽ∩).                     │
  14625.         ├───────────────────┼───────────────────────────────────────────┤
  14626.         │  GraphErrorMsg    │ ä½∩ ºáñá¡¡«ú« ¬«ñá «Φ¿í¬¿ ó«ºóαáΘáÑΓ ßΓα«-│
  14627.         │                   │ ¬π ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ.                   │
  14628.         ├───────────────────┼───────────────────────────────────────────┤
  14629.         │  GraphResult      │ é«ºóαáΘáÑΓ   ¬«ñ «Φ¿í¬¿ ñ½∩ »«ß½Ññ¡Ñ⌐ úαá-│
  14630.         │                   │ Σ¿τÑ߬«⌐ «»Ñαᵿ¿.                        │
  14631.         ├───────────────────┼───────────────────────────────────────────┤
  14632.         │  InitGraph        │ ê¡¿µ¿á½¿º¿απÑΓ  úαáΣ¿τÑ߬πε  ß¿ßΓÑ¼π ¿ »Ñ-│
  14633.         │                   │ αÑó«ñ¿Γ á»»áαáΓπαπ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼.   │
  14634.         ├───────────────────┼───────────────────────────────────────────┤
  14635.         │  ImageSize        │ é«ºóαáΘáÑΓ τ¿ß½«  íá⌐Γ,  ¬«Γ«αδÑ  ΓαÑíπεΓ-│
  14636.         │                   │ ß∩ ñ½∩  ß«σαá¡Ñ¡¿∩  »α∩¼«πú«½∞¡«⌐  «í½áßΓ¿│
  14637.         │                   │ φ¬αá¡á.                                   │
  14638.         ├───────────────────┼───────────────────────────────────────────┤
  14639.         │  InstallUserDriver│ ôßΓá¡áó½¿óáÑΓ  ñ«íáó½Ñ¡¡δ⌐   »«½∞º«óáΓѽѼ│
  14640.         │                   │ ñαá⌐óÑα ó Γáí½¿µÑ ñαá⌐óÑα«ó πßΓα«⌐ßΓó BGI.│
  14641.         ├───────────────────┼───────────────────────────────────────────┤
  14642.         │  InstallUserFont  │ ôßΓá¡áó½¿óáÑΓ ¡«óδ⌐ Σá⌐½ Φα¿ΣΓá, ¡Ñ óßΓα«-│
  14643.         │                   │ Ñ¡¡δ⌐ ó úαáΣ¿τÑ߬πε ß¿ßΓѼπ.              │
  14644.         ├───────────────────┼───────────────────────────────────────────┤
  14645.         │  InitGraph        │ ê¡¿µ¿á½¿º¿απÑΓ úαáΣ¿τÑ߬πε ß¿ßΓÑ¼π ¿ »ÑαÑ-│
  14646.         │                   │ ó«ñ¿Γ á»»áαáΓ¡δÑ  ßαÑñßΓóá  ó  úαáΣ¿τÑ߬¿⌐│
  14647.         │                   │ αѪ¿¼.                                    │
  14648.         ├───────────────────┼───────────────────────────────────────────┤
  14649.         │  Line             │ É¿ßπÑΓ  »α∩¼πε  ½¿¡¿ε  ¿º  Γ«τ¬¿ (x1,y1) ó│
  14650.         │                   │ (x2,y2).                                  │
  14651.         ├───────────────────┼───────────────────────────────────────────┤
  14652.         │  LineRel          │ É¿ßπÑΓ »α∩¼πε ½¿¡¿ε  ñ«  Γ«τ¬¿,  »αÑñßΓáó-│
  14653.         │                   │ ½∩εΘÑ⌐ ß«í«⌐  «Γ¡«ß¿Γѽ∞¡«Ñ  αáßßΓ«∩¡¿Ñ «Γ│
  14654.         │                   │ ΓѬπΘÑú« π¬áºáΓѽ∩.                       │
  14655.         ├───────────────────┼───────────────────────────────────────────┤
  14656.         │  LinÑT«           │ É¿ßπÑΓ   ½¿¡¿ε  ¿º  ΓѬπΘÑú«  »«½«ªÑ¡¿∩  ó│
  14657.         │                   │ Γ«τ¬π (x,y).                              │
  14658.         ├───────────────────┼───────────────────────────────────────────┤
  14659.         │  î«veRÑl          │ ÅÑαѼÑΘáÑΓ  ΓѬπΘ¿⌐  π¬áºáΓѽ∞ ¡á αáßßΓ«∩-│
  14660.         │                   │ ¡¿Ñ, ∩ó½∩εΘÑÑß∩ «Γ¡«ß¿Γѽ∞¡δ¼  αáßßΓ«∩¡¿Ñ¼│
  14661.         │                   │ «Γ ΓѬπΘÑ⌐ »«º¿µ¿¿.                       │
  14662.         ├───────────────────┼───────────────────────────────────────────┤
  14663.         │  î«vÑÆ«           │ ÅÑαѼÑΘáÑΓ   ΓѬπΘ¿⌐   π¬áºáΓѽ∞  ó  Γ«τ¬π│
  14664.         │                   │ (x,y).                                    │
  14665.         ├───────────────────┼───────────────────────────────────────────┤
  14666.         │  ÄutText          │ Å«ßδ½áÑΓ  ßΓ᫬π ¡á πßΓα«⌐ßΓó« óδó«ñá, ¡á-│
  14667.         │                   │ τ¿¡á∩ ß ΓѬπΘÑú« π¬áºáΓѽ∩.               │
  14668.         ├───────────────────┼───────────────────────────────────────────┤
  14669.  
  14670.          B.Pascal 7 & Objects/LR     - 324 -
  14671.  
  14672.         │  ÄutTextòY        │ Å«ßδ½áÑΓ ßΓ᫬π ¡á πßΓα«⌐ßΓó« óδó«ñá.     │
  14673.         ├───────────────────┼───────────────────────────────────────────┤
  14674.         │  PieSlice         │ É¿ßπÑΓ ßÑ¬Γ«α.  Æ«τ¬á (ò,Y) ¿ß»«½∞ºπÑΓß∩ ó│
  14675.         │                   │ ¬áτÑßΓóÑ µÑ¡Γαá,  á ßÑ¬Γ«α α¿ßπÑΓß∩ «Γ ¡á-│
  14676.         │                   │ τá½∞¡«ú« ñ« ¬«¡Ñτ¡«ú« πú½á.               │
  14677.         ├───────────────────┼───────────────────────────────────────────┤
  14678.         │  ÉutImagÑ         │ éδó«ñ¿Γ ¡á φ¬αá¡ ñó«¿τ¡δ⌐ «íαáº.          │
  14679.         ├───────────────────┼───────────────────────────────────────────┤
  14680.         │  ÉutÉiσÑl         │ æΓα«¿Γ φ½Ñ¼Ñ¡Γ ¿º«íαáªÑ¡¿∩ ó Γ«τ¬Ñ x,y.   │
  14681.         ├───────────────────┼───────────────────────────────────────────┤
  14682.         │  RÑßtanglÑ        │ É¿ßπÑΓ  »α∩¼«πú«½∞¡¿¬,  ¿ß»«½∞ºπ∩  ΓѬπΘ¿⌐│
  14683.         │                   │ Γ¿» ½¿¡¿¿ ¿ µóÑΓ.                         │
  14684.         ├───────────────────┼───────────────────────────────────────────┤
  14685.         │  RegisterBGIDriver│ ÉÑú¿ßΓα¿απÑΓ  ñ«»πßΓ¿¼δ⌐  ñαá⌐óÑα (Σ«α¼áΓá│
  14686.         │                   │ BGI) ó úαáΣ¿τÑ߬«⌐ ß¿ßΓѼÑ.               │
  14687.         ├───────────────────┼───────────────────────────────────────────┤
  14688.         │  RegisterBGIFont  │ ÉÑú¿ßΓα¿απÑΓ ó úαáΣ¿τÑ߬«⌐  ß¿ßΓѼѠñ«»πß-│
  14689.         │                   │ Γ¿¼δ⌐ (Σ«α¼áΓá BGI) Φα¿ΣΓ.                │
  14690.         ├───────────────────┼───────────────────────────────────────────┤
  14691.         │  RÑstoreCRTî«dÑ   │ é«ßßΓá¡áó½¿óáÑΓ  ¿ßσ«ñ¡δ⌐  αѪ¿¼   φ¬αá¡á,│
  14692.         │                   │ ¬«Γ«αδ⌐ íδ½  πßΓá¡«ó½Ñ¡  »α¿ ¿¡¿µ¿á½¿ºáµ¿¿│
  14693.         │                   │ úαáΣ¿¬¿.                                  │
  14694.         ├───────────────────┼───────────────────────────────────────────┤
  14695.         │  SetActivePage    │ ôßΓá¡áó½¿óáÑΓ ñ½∩  úαáΣ¿τÑ߬«ú« óδó«ñá á¬-│
  14696.         │                   │ Γ¿ó¡πε ßΓαá¡¿µπ.                          │
  14697.         ├───────────────────┼───────────────────────────────────────────┤
  14698.         │  SetAllPalette    │ êº¼Ñ¡∩ÑΓ  óßÑ µóÑΓᠻ὿Γαδ, ¬á¬ í佫 π¬á-│
  14699.         │                   │ ºá¡«.                                     │
  14700.         ├───────────────────┼───────────────────────────────────────────┤
  14701.         │  SetAspectRatio   │ êº¼Ñ¡∩ÑΓ »α¿¡∩Γδ⌐ »« π¼«½τá¡¿ε ¬«φΣΣ¿µ¿Ñ¡Γ│
  14702.         │                   │ «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡Ñ¡¿∩.                 │
  14703.         ├───────────────────┼───────────────────────────────────────────┤
  14704.         │  SetBkæ«lor       │ êß»«½∞ºπ∩ »á½¿Γαπ,  πßΓá¡áó½¿óáÑΓ  ΓѬπΘ¿⌐│
  14705.         │                   │ Σ«¡«óδ⌐ µóÑΓ.                             │
  14706.         ├───────────────────┼───────────────────────────────────────────┤
  14707.         │  SetColor         │ êß»«½∞ºπ∩ »á½¿Γαπ,  πßΓá¡áó½¿óáÑΓ  ΓѬπΘ¿⌐│
  14708.         │                   │ µóÑΓ α¿ßπ¡¬á.                             │
  14709.         ├───────────────────┼───────────────────────────────────────────┤
  14710.         │  SetFillPattern   │ éδí¿αáÑΓ «íαáºÑµ ºá¬αá߬¿,  ºáñá¡¡δ⌐ »«½∞-│
  14711.         │                   │ º«óáΓѽѼ.                                │
  14712.         ├───────────────────┼───────────────────────────────────────────┤
  14713.         │  SetFillStyle     │ ôßΓá¡áó½¿óáÑΓ «íαáºÑµ ºá¬αá߬¿ ¿ ÑÑ µóÑΓ. │
  14714.         ├───────────────────┼───────────────────────────────────────────┤
  14715.         │  SetGraphBufSize  │ Å«ºó«½∩ÑΓ ¿º¼Ñ¡¿Γ∞ αẼÑα  íπΣÑαá, ¿ß»«½∞-│
  14716.         │                   │ ºπѼ«ú« ñ½∩ «»α«ßá ¿ ºá¬αá߬¿.            │
  14717.         ├───────────────────┼───────────────────────────────────────────┤
  14718.         │  SetGraphMode     │ ÅÑαѬ½ετáÑΓ  ß¿ßΓѼπ  ó  úαáΣ¿τÑ߬¿⌐ αѪ¿¼│
  14719.         │                   │ ¿ «τ¿ΘáÑΓ φ¬αá¡.                          │
  14720.         ├───────────────────┼───────────────────────────────────────────┤
  14721.         │  SetLineStyle     │ ôßΓá¡áó½¿óáÑΓ  ΓѬπΘ¿⌐  Γ¿» ½¿¡¿¿ ¿ ÑÑ Φ¿-│
  14722.         │                   │ α¿¡π.                                     │
  14723.         ├───────────────────┼───────────────────────────────────────────┤
  14724.         │  SetPalette       │ êº¼Ñ¡∩ÑΓ  «ñ¿¡  µóÑΓ »á½¿Γαδ, ºáñá¡¡δ⌐ »Ñ-│
  14725.  
  14726.          B.Pascal 7 & Objects/LR     - 325 -
  14727.  
  14728.         │                   │ αѼѡ¡δ¼¿ Colornum ¿ Color.               │
  14729.         ├───────────────────┼───────────────────────────────────────────┤
  14730.         │  SetGRBPalette    │ Å«ºó«½∩ÑΓ  ¼«ñ¿Σ¿µ¿α«óáΓ∞   ºá»¿ß¿  »á½¿Γ-│
  14731.         │                   │ αδ ñ½∩ ñαá⌐óÑα«ó IBM 8514 ¿ VGA.          │
  14732.         ├───────────────────┼───────────────────────────────────────────┤
  14733.         │  SetTextJustify   │ æ  »«¼«Θ∞ε  ÄutTÑxt   ¿  ÄutTÑσtòY   πßΓá-│
  14734.         │                   │ ¡áó½¿óáÑΓ º¡áτÑ¡¿∩ ñ½∩ óδαáó¡¿óá¡¿∩  ΓѬß-│
  14735.         │                   │ Γá.                                       │
  14736.         ├───────────────────┼───────────────────────────────────────────┤
  14737.         │  SetTextStyle     │ çáñáÑΓ  ΓѬπΘ¿⌐ ΓѬßΓ«óδ⌐ Φα¿ΣΓ, Ñú« Γ¿» ¿│
  14738.         │                   │ ¬«φΣΣ¿µ¿Ñ¡Γ αẼÑαá ß¿¼ó«½á.              │
  14739.         ├───────────────────┼───────────────────────────────────────────┤
  14740.         │  SetUserCharSize  │ Å«ºó«½∩ÑΓ óá¼ ñ½∩  óÑ¬Γ«α¡δσ  Φα¿ΣΓ«ó  ¿º-│
  14741.         │                   │ ¼Ñ¡¿Γ∞ óδß«Γπ ¿ Φ¿α¿¡π ß¿¼ó«½á.           │
  14742.         ├───────────────────┼───────────────────────────────────────────┤
  14743.         │  SetViewPort      │ ä½∩  úαáΣ¿τÑ߬«ú«   óδó«ñá   πßΓá¡áó½¿óáÑΓ│
  14744.         │                   │ ΓѬπΘπε «í½áßΓ∞ óδó«ñá ¿½¿ «¬¡«.          │
  14745.         ├───────────────────┼───────────────────────────────────────────┤
  14746.         │  SetVisualPage    │ çáñáÑΓ  ó¿ºπá½∞¡δ⌐ ¡«¼Ñα úαáΣ¿τÑ߬«⌐ ßΓαá-│
  14747.         │                   │ ¡¿µδ.                                     │
  14748.         ├───────────────────┼───────────────────────────────────────────┤
  14749.         │  SetWriteMode     │ ôßΓá¡áó½¿óáÑΓ  αѪ¿¼ óδó«ñá ¡á φ¬αá¡  (¬«-│
  14750.         │                   │ »¿α«óá¡¿Ñ ¿½¿ ß »«¼«Θ∞ε «»Ñαᵿ¿ XOR)  ñ½∩│
  14751.         │                   │ ½¿¡¿⌐, óδτÑατ¿óáѼδσ »α«µÑñπαἿ DrawPoly,│
  14752.         │                   │ Line, LineRel, LineTo, Rectangle.         │
  14753.         ├───────────────────┼───────────────────────────────────────────┤
  14754.         │  TÑσtìÑight       │ é«ºóαáΘáÑΓ  óδß«Γπ  ßΓαá¡¿µ  ó   φ½Ñ¼Ñ¡Γáσ│
  14755.         │                   │ ¿º«íαáªÑ¡¿∩.                              │
  14756.         ├───────────────────┼───────────────────────────────────────────┤
  14757.         │  TÑσtWidth        │ é«ºóαáΘáÑΓ  Φ¿α¿¡π   ßΓ᫬¿  ó   φ½Ñ¼Ñ¡Γáσ│
  14758.         │                   │ ¿º«íαáªÑ¡¿∩.                              │
  14759.         └───────────────────┴───────────────────────────────────────────┘
  14760.  
  14761.              Å«ñα«í¡«Ñ «»¿ßá¡¿Ñ ¬áªñ«⌐ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñá¡« ó â½áóÑ 1
  14762.         ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ß-
  14763.         Γá".
  14764.  
  14765.  
  14766.  
  14767.          B.Pascal 7 & Objects/LR     - 326 -
  14768.  
  14769.                     è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Graph
  14770.         ─────────────────────────────────────────────────────────────────
  14771.  
  14772.              é ¼«ñπ½Ñ Graph ¿¼ÑÑΓß∩ ¼¡«ú« »«½Ñº¡δσ «»¿ßá¡¿⌐ Γ¿»«ó ¿ ¬«¡ß-
  14773.         Γá¡Γ, ¡á ¬«Γ«α«Ñ óδ ¼«ªÑΓÑ ßßδ½áΓ∞ß∩.
  14774.  
  14775.                                     è«¡ßΓá¡Γδ
  14776.         ─────────────────────────────────────────────────────────────────
  14777.  
  14778.              è«¡ßΓá¡Γδ ¼«ñπ½∩ Graph ¼«ª¡« ßúαπ»»¿α«óáΓ∞ »« ¿σ ¡áº¡áτÑ¡¿ε.
  14779.         Å«ñα«í¡«Ñ «»¿ßá¡¿Ñ ¬áªñ«⌐ ¬«¡ßΓá¡Γδ ñá¡« ó â½áóÑ  1  ("æ»αáó«τ¡¿¬
  14780.         »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  14781.  
  14782.                            âαπ»»δ ¬«¡ßΓá¡Γ ¼«ñπ½∩ Graph      Æáí½¿µá 19.4
  14783.         ┌─────────────────────────┬─────────────────────────────────────┐
  14784.         │    âαπ»»á ¬«¡ßΓá¡Γ      │           Ä»¿ßá¡¿Ñ                  │
  14785.         ├─────────────────────────┼─────────────────────────────────────┤
  14786.         │   è«¡ßΓá¡Γδ ñαá⌐óÑα«ó   │ è«¡ßΓá¡Γδ, «»αÑñѽ∩εΘ¿Ñ ó¿ñÑ«ñαá⌐óÑ-│
  14787.         │   ¿ αѪ¿¼«ó             │ αδ ¿ αѪ¿¼δ; ¿ß»«½∞ºπεΓß∩ ó »«ñ»α«ú-│
  14788.         │                         │ αá¼¼áσ   InitGraph,   DetectGraph  ¿│
  14789.         │                         │ GetModeRange.                       │
  14790.         ├─────────────────────────┼─────────────────────────────────────┤
  14791.         │   grXXXX                │ è«¡ßΓá¡Γδ,   ¿ñÑ¡Γ¿Σ¿µ¿απεΘ¿Ñ    Γ¿»│
  14792.         │                         │ «Φ¿í¬¿, ó«ºóαáΘáѼ«⌐ GraphResult.   │
  14793.         ├─────────────────────────┼─────────────────────────────────────┤
  14794.         │   è«¡ßΓá¡Γδ µóÑΓ«ó      │ è«¡ßΓá¡Γδ,  «»αÑñѽ∩εΘ¿Ñ  µóÑΓá. êß-│
  14795.         │                         │ »«½∞ºπεΓß∩ ó           »«ñ»α«úαá¼¼áσ│
  14796.         │                         │ SetPalette ¿ SetAllPalette.         │
  14797.         ├─────────────────────────┼─────────────────────────────────────┤
  14798.         │   è«¡ßΓá¡Γδ µóÑΓ«ó      │ è«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ  ó  »«ñ»α«ú-│
  14799.         │   ñ½∩ SetRGBPalette     │ αἼѠSetGRBPalette  ñ½∩  óδí«αá  ¡á│
  14800.         │                         │ IBM 8514 ßΓá¡ñáαΓ¡δσ µóÑΓ«ó EGA.    │
  14801.         ├─────────────────────────┼─────────────────────────────────────┤
  14802.         │   è«¡ßΓá¡Γδ ßΓ¿½∩       │ è«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ ñ½∩  «»αÑñÑ-│
  14803.         │   ½¿¡¿¿                 │ ½Ñ¡¿∩ ßΓ¿½∩ ¿ Γ«½Θ¿¡δ ½¿¡¿¿; ¿ß»«½∞-│
  14804.         │                         │ ºπεΓß∩ ß      GetLineSettings      ¿│
  14805.         │                         │ SetLineStyle.                       │
  14806.         ├─────────────────────────┼─────────────────────────────────────┤
  14807.         │   è«¡ßΓá¡Γδ Φα¿ΣΓá      │ êß»«½∞ºπεΓß∩ ñ½∩ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ Φα¿Σ-│
  14808.         │                         │ Γ«ó ó  »«ñ»α«úαá¼¼áσ GetTextSettings│
  14809.         │                         │ ¿ SetTextSetting.                   │
  14810.         ├─────────────────────────┼─────────────────────────────────────┤
  14811.         │   è«¡ßΓá¡Γδ óδαáó¡¿óá¡¿∩│ è«¡ßΓá¡Γδ, π»αáó½∩εΘ¿Ñ  ú«α¿º«¡Γá½∞-│
  14812.         │                         │ ¡δ¼ ¿   óÑαΓ¿¬á½∞¡δ¼  óδαáó¡¿ó᡿Ѽ.│
  14813.         │                         │ êß»«½∞ºπεΓß∩ ó SetTextJustify.      │
  14814.         ├─────────────────────────┼─────────────────────────────────────┤
  14815.         │   è«¡ßΓá¡Γδ «ΓßÑτÑ¡¿⌐   │ è«¡ßΓá¡Γδ,  π»αáó½∩εΘ¿Ñ  «ΓßÑτÑ¡¿Ñ¼.│
  14816.         │                         │ êß»«½∞ºπεΓß∩ ó SetViewPort.         │
  14817.         ├─────────────────────────┼─────────────────────────────────────┤
  14818.         │   è«¡ßΓá¡Γδ ßΓ«½íµ«ó    │ ô»αáó½∩εΓ   ¿º«íαáªÑ¡¿Ñ¼   "óÑαΦ¿¡δ"│
  14819.         │                         │ ΓαÑσ¼Ñα¡«ú« ßΓ«½íµá;  ¿ß»«½∞ºπεΓß∩ ó│
  14820.         │                         │ Bar3D.                              │
  14821.         ├─────────────────────────┼─────────────────────────────────────┤
  14822.  
  14823.          B.Pascal 7 & Objects/LR     - 327 -
  14824.  
  14825.         │   Äíαáºµδ ºá¬αá߬¿      │ Ä»αÑñѽ∩εΓ «íαáºÑµ ºá¬αá߬¿ «í½áßΓ¿.│
  14826.         │                         │ êß»«½∞ºπεΓß∩ ó   GetFillSettings   ¿│
  14827.         │                         │ SetFillStyle.                       │
  14828.         ├─────────────────────────┼─────────────────────────────────────┤
  14829.         │   Ä»Ñαᵿ¿ BitBlt       │ Ä»Ñαᵿ¿ (¬«»¿α«óá¡¿Ñ, xor, or, and,│
  14830.         │                         │ not), ¬«Γ«αδÑ     ¿ß»«½∞ºπεΓß∩     ó│
  14831.         │                         │ PutImage ¿ SetWriteMode.            │
  14832.         ├─────────────────────────┼─────────────────────────────────────┤
  14833.         │   MaxColors             │ è«¡ßΓá¡Γδ, «»αÑñѽ∩εΘ¿Ñ ¼á¬ß¿¼á½∞¡«Ñ│
  14834.         │                         │ τ¿ß½« µóÑΓ«ó      ó      GetPalette,│
  14835.         │                         │ GetDefaultPalette ¿ SetAllPalette.  │
  14836.         └─────────────────────────┴─────────────────────────────────────┘
  14837.  
  14838.  
  14839.  
  14840.          B.Pascal 7 & Objects/LR     - 328 -
  14841.  
  14842.                                       Æ¿»δ
  14843.         ─────────────────────────────────────────────────────────────────
  14844.  
  14845.              é ¼«ñπ½Ñ Graph «»αÑñѽѡδ ß½ÑñπεΘ¿Ñ Γ¿»δ:
  14846.  
  14847.                                 Æ¿»δ ¼«ñπ½∩ Graph            Æáí½¿µá 19.5
  14848.         ┌────────────────────────┬──────────────────────────────────────┐
  14849.         │         Æ¿»            │               Ä»¿ßá¡¿Ñ               │
  14850.         ├────────────────────────┼──────────────────────────────────────┤
  14851.         │   PaletteType          │ çỿß∞, «»αÑñѽ∩εΘá∩  αẼÑα ¿  µóÑΓá│
  14852.         │                        │ »á½¿Γαδ; ¿ß»«½∞ºπÑΓß∩  ó  GetPalette,│
  14853.         │                        │ GetDefaultPalette ¿ SetAllPalette.   │
  14854.         ├────────────────────────┼──────────────────────────────────────┤
  14855.         │   LineSettingsType     │ çỿß∞, «»αÑñѽ∩εΘá∩ ßΓ¿½∞, «íαáºÑµ ¿│
  14856.         │                        │ Γ«½Θ¿¡π ½¿¡¿¿; ¿ß»«½∞ºπÑΓc∩          │
  14857.         │                        │ GetLineSettings.                     │
  14858.         ├────────────────────────┼──────────────────────────────────────┤
  14859.         │   FillSettingsType     │ çỿß∞, «»αÑñѽ∩εΘá∩ ΓѬßΓ. êß»«½∞ºπ-│
  14860.         │                        │ ÑΓß∩ ó GetTextSettings.              │
  14861.         ├────────────────────────┼──────────────────────────────────────┤
  14862.         │   FillPatternType      │ çỿß∞, «»αÑñѽ∩εΘá∩  ºáñá¡¡δ⌐  »«½∞-│
  14863.         │                        │ º«óáΓѽѼ «íαáºÑµ   ºá¬αá߬¿.  äá¡¡á∩│
  14864.         │                        │ ºá»¿ß∞    ¿ß»«½∞ºπÑΓß∩    »α«µÑñπαἿ│
  14865.         │                        │ GetFillPattern ¿ SetFillPattern.     │
  14866.         ├────────────────────────┼──────────────────────────────────────┤
  14867.         │   PointType            │ Æ¿»,  «»αÑñѽѡ¡δ⌐ ñ½∩ óáΦÑú« πñ«íßΓ-│
  14868.         │                        │ óá.                                  │
  14869.         ├────────────────────────┼──────────────────────────────────────┤
  14870.         │   ViewPortType         │ çỿß∞, ß««íΘáεΘá∩ « ß«ßΓ«∩¡¿¿  ΓѬπ-│
  14871.         │                        │ ΘÑ⌐ «í½áßΓ¿  »α«ß¼«Γαá;  ¿ß»«½∞ºπÑΓß∩│
  14872.         │                        │ GetViewSettings.                     │
  14873.         ├────────────────────────┼──────────────────────────────────────┤
  14874.         │   ArcCoordsType        │ çỿß∞  ñ½∩  »«½πτÑ¡¿∩  ¿¡Σ«α¼áµ¿¿  «│
  14875.         │                        │ »«ß½Ññ¡Ñ¼ ó맮óÑ Arc ¿½¿ Ellipse; ¿ß-│
  14876.         │                        │ »«½∞ºπÑΓß∩ GetArcCoords.             │
  14877.         └────────────────────────┴──────────────────────────────────────┘
  14878.  
  14879.                                    ÅÑαѼѡ¡δÑ
  14880.         ─────────────────────────────────────────────────────────────────
  14881.  
  14882.              î«ñπ½∞ Graph ß«ñÑαª¿Γ ñóÑ »ÑαѼѡ¡δÑ,  ¬«Γ«αδÑ óδ ¼«ªÑΓÑ ¿ß-
  14883.         »«½∞º«óáΓ∞: GraphGetMemPtr ¿ GraphFreeMemPtr.  Ä¡¿ »α¿¼Ñ¡∩εΓß∩  ó
  14884.         »«ñ»α«úαá¼¼áσ π»αáó½Ñ¡¿∩  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á-
  14885.         ¼∩Γ¿. Åα«τ¿ΓáΓ∞ « ¡¿σ ¼«ª¡« ó â½áóÑ 1 ("æ»αáó«τ¡¿¬  »«  í¿í½¿«ΓÑ-
  14886.         ¬Ñ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  14887.  
  14888.  
  14889.  
  14890.          B.Pascal 7 & Objects/LR     - 329 -
  14891.  
  14892. ───────────────────────────────────────────────────────────────────────
  14893.                         â½áóá 20. êß»«½∞º«óá¡¿Ñ «óÑα½ÑÑó
  14894.         ─────────────────────────────────────────────────────────────────
  14895.  
  14896.              ÄóÑα½Ñ¿ »αÑñßΓáó½∩εΓ ß«í«⌐ τáßΓ¿ »α«úαá¼¼δ, ¬«Γ«αδÑ ß«ó¼ÑßΓ-
  14897.         ¡« ¿ß»«½∞ºπεΓ «íΘπε «í½áßΓ∞ »á¼∩Γ¿. é «ñ¿¡ ¿ Γ«Γ ªÑ ¼«¼Ñ¡Γ óαѼÑ-
  14898.         ¡¿ αѺ¿ñÑ¡Γ¡« αẼÑΘáΓ∞ß∩ ó »á¼∩Γ¿ ¼«ªÑΓ Γá ¿½¿ ¿¡á∩ τáßΓ∞  »α«ú-
  14899.         αá¼¼δ,  ¡Ñ«íσ«ñ¿¼á∩  ñ½∩ óδ»«½¡Ñ¡¿∩ ºáñá¡¡«⌐ Σπ¡¬µ¿¿.  é »α«µÑßßÑ
  14900.         óδ»«½¡Ñ¡¿∩ φΓ¿ τáßΓ¿ »α«úαá¼¼δ ¼«úπΓ ºá¼ÑΘáΓ∞ ñαπú ñαπúá.
  14901.  
  14902.              ÄóÑα½Ñ¿ »«½Ñº¡δ Γ«½∞¬« ó »α«úαá¼¼áσ  DOS  αÑá½∞¡«ú«  αѪ¿¼á.
  14903.         Å«ß¬«½∞¬π ñ½∩ »α«úαá¼¼  Windows »á¼∩Γ∞ε π»αáó½∩ÑΓ ßá¼á Windows, á
  14904.         ñ½∩ »α«úαá¼¼ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á - áñ¼¿¡¿ßΓαáΓ«α φΓá»á  óδ»«½¡Ñ¡¿∩
  14905.         (RTM.EXE), φΓ¿  ßαÑñßΓóá ó¬½ετáεΓ ó ßÑí∩ »«½¡δ⌐ ¼Ñσá¡¿º¼ «íß½πª¿-
  14906.         óá¡¿∩ «óÑα½ÑÑó,  ¿ ó »α«úαá¼¼áσ Windows ¿ »α«úαá¼¼áσ  ºáΘ¿ΘÑ¡¡«ú«
  14907.         αѪ¿¼á ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ «óÑα½ÑÑó «Γ»áñáÑΓ.
  14908.  
  14909.              ÄóÑα½Ñ¿ ¼«úπΓ º¡áτ¿Γѽ∞¡« ß«¬αáΓ¿Γ∞ «íΩѼ »á¼∩Γ¿,  ¡Ñ«íσ«ñ¿-
  14910.         ¼δ⌐ ñ½∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.  öá¬Γ¿τÑ߬¿, Γᬠ¬á¬ ó ½εí«⌐ ¼«¼Ñ¡Γ
  14911.         óαѼѡ¿ ó »á¼∩Γ¿ αѺ¿ñÑ¡Γ¡« αẼÑΘáεΓß∩ Γ«½∞¬« τáßΓ¿ »α«úαá¼¼δ, ß
  14912.         »«¼«Θ∞ε «óÑα½ÑÑó óδ ¼«ªÑΓÑ óδ»«½¡∩Γ∞ »α«úαá¼¼δ,  º¡áτ¿Γѽ∞¡« »αÑ-
  14913.         ó«ßσ«ñ∩Θ¿Ñ »« «íΩѼπ ñ«ßΓπ»¡πε »á¼∩Γ∞.
  14914.  
  14915.              Borland Pascal π»αáó½∩ÑΓ «óÑα½Ñ∩¼¿ ¡á πα«ó¡Ñ ¼«ñπ½Ñ⌐,  ¬«Γ«-
  14916.         αδÑ ∩ó½∩εΓß∩ ¡á¿¼Ñ¡∞ΦÑ⌐ τáßΓ∞ε »α«úαá¼¼δ, «íαáºπεΘÑ⌐ «óÑα½Ñ⌐. Åα¿
  14917.         ¬«¼»¿½∩µ¿¿   »α«úαá¼¼δ,  ¿¼ÑεΘÑ⌐  «óÑα½Ñ⌐¡πε  ßΓαπ¬Γπαπ,  Borland
  14918.         Pascal úÑ¡Ñα¿απÑΓ ¡áα∩ñπ ß óδ»«½¡∩Ñ¼δ¼ Σá⌐½«¼ (¬«Γ«αδ⌐ ¿¼ÑÑΓ αáß-
  14919.         Φ¿αÑ¡¿Ñ  .EXE) «óÑα½Ñ⌐¡δ⌐ Σá⌐½ (¿¼ÑεΘ¿⌐ αáßΦ¿αÑ¡¿Ñ .OVR).  öá⌐½ ß
  14920.         αáßΦ¿αÑ¡¿Ñ¼ .EXE ß«ñÑαª¿Γ ßΓáΓ¿τÑ߬¿Ñ (¡Ñ «óÑα½Ñ⌐¡δÑ) τáßΓ¿ »α«ú-
  14921.         αá¼¼δ,  á Σá⌐½ ß αáßΦ¿αÑ¡¿Ñ¼ .OVR ß«ñÑαª¿Γ óßÑ «óÑα½Ñ⌐¡δÑ ¼«ñπ½¿,
  14922.         ¬«Γ«αδÑ »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ íπñπΓ »«ñ¬áτ¿óáΓ∞ß∩ ó »á¼∩Γ∞ ¿½¿
  14923.         óδó«ñ¿Γ∞ß∩ ¿º ¡ÑÑ ¡á ñ¿ß¬.
  14924.  
  14925.              çᠿ߬½ετÑ¡¿Ñ¼ ¡Ñ߬«½∞¬¿σ »αáó¿½,  ¬áßáεΘ¿σß∩ Ñú« »α«úαá¼¼¿-
  14926.         α«óá¡¿∩,  «óÑα½Ñ⌐¡δ⌐ ¼«ñπ½∞ »«½¡«ßΓ∞ε ¿ñÑ¡Γ¿τÑ¡ ¡Ñ«óÑα½Ñ⌐¡«¼π ¼«-
  14927.         ñπ½ε. öá¬Γ¿τÑ߬¿, Ñß½¿ óδ ß«í½εñáÑΓÑ φΓ¿ »αáó¿½á, π óáß ¡ÑΓ ¡Ñ«í-
  14928.         σ«ñ¿¼«ßΓ¿  »ÑαѬ«¼»¿½¿α«óáΓ∞  ¼«ñπ½∞,  τΓ«íδ  «íαẫóáΓ∞  ¿º ¡Ñú«
  14929.         «óÑα½Ñ⌐. ÉÑΦÑ¡¿Ñ « Γ«¼, íπñÑΓ ¼«ñπ½∞ «óÑα½Ñ⌐¡δ¼ ¿½¿ ¡ÑΓ, »α¿¡¿¼á-
  14930.         ÑΓß∩ »α«úαá¼¼«⌐, ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓ ñá¡¡δ⌐ ¼«ñπ½∞.
  14931.  
  14932.             Åα¿ ºáúαπº¬Ñ  «óÑα½ÑÑó  ó  »á¼∩Γ∞ «¡¿ »«¼ÑΘáεΓß∩ ó «óÑα½Ñ⌐¡δ⌐
  14933.         íπΣÑα, ¬«Γ«αδ⌐ αẼÑΘáÑΓß∩ ó »á¼∩Γ¿ ¼Ñªñπ ßÑú¼Ñ¡Γ«¼ ßΓѬᠿ ñ¿¡á-
  14934.         ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿. Å« π¼«½τá¡¿ε ñ½∩ «óÑα½Ñ⌐-
  14935.         ¡«ú« íπΣÑαá óδí¿αáÑΓß∩ ¼¿¡¿¼á½∞¡δ⌐ ó«º¼«ª¡δ⌐ αẼÑα,  ¡« ó« óαѼ∩
  14936.         óδ»«½¡Ñ¡¿∩  »α«úαá¼¼δ  Ñú« αẼÑα ¼«ªÑΓ íδΓ∞ ½Ñú¬« πóѽ¿τÑ¡ »πΓѼ
  14937.         óδñѽѡ¿∩ ñ«»«½¡¿Γѽ∞¡«⌐ «í½áßΓ¿ »á¼∩Γ¿ ¿º ñ¿¡á¼¿τÑ߬¿  αáß»αÑñÑ-
  14938.         ½∩Ѽ«⌐ «í½áßΓ¿. Ç¡á½«ú¿τ¡« ßÑú¼Ñ¡Γπ ñá¡¡δσ ¿ ¼¿¡¿¼á½∞¡«¼π αẼÑαπ
  14939.         ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, «óÑα½Ñ⌐¡δ⌐ íπΣÑα »α¿¡∩Γ«ú« »«
  14940.         π¼«½τá¡¿ε αẼÑαá óδñѽ∩ÑΓß∩ »α¿ ºáúαπº¬Ñ Σá⌐½á .EXE. Åα¿ «ΓßπΓß-
  14941.         Γó¿¿ »á¼∩Γ¿ ¡Ñ«íσ«ñ¿¼«ú« «íΩѼᠼ«ñπ½Ñ¼ Dos  ¿½¿  ¿¡ΓÑúα¿α«óá¡¡«⌐
  14942.         »α«úαá¼¼¡«⌐ ßαÑñ«⌐  IDE  íπñÑΓ  óδó«ñ¿Γ∞ß∩  ß««íΘÑ¡¿Ñ  «í  «Φ¿í¬Ñ
  14943.         (Program  too  big  to fit in memory - "Åα«úαá¼¼á ß½¿Φ¬«¼ óѽ¿¬á,
  14944.         τΓ«íδ αẼÑßΓ¿Γ∞ß∩ ó »á¼∩Γ¿")  ¿½¿  (Not  enough  memory  to  run
  14945.         program - "ä½∩ ºá»π߬ᠻα«úαá¼¼δ ¡Ñ σóáΓáÑΓ »á¼∩Γ¿").
  14946.  
  14947.          B.Pascal 7 & Objects/LR     - 330 -
  14948.  
  14949.  
  14950.              Äñ¡«⌐ ¿º «τÑ¡∞  ó᪡δσ  ó«º¼«ª¡«ßΓÑ⌐  »«ñß¿ßΓÑ¼δ  π»αáó½Ñ¡¿∩
  14951.         «óÑα½Ñ∩¼¿  ∩ó½∩ÑΓß∩  ó«º¼«ª¡«ßΓ∞  »α¿ ¡á½¿τ¿¿ ñ«ßΓáΓ«τ¡«ú« »α«ßΓ-
  14952.         αá¡ßΓóá ºáúαπªáΓ∞  «óÑα½Ñ⌐¡δ⌐  Σá⌐½ ó ñ«»«½¡¿Γѽ∞¡πε »á¼∩Γ∞.  ä½∩
  14953.         φΓ«⌐ µÑ½¿ ó Borland Pascal »«ññÑনóáÑΓß∩ ßαÑñßΓó« αáßΦ¿αÑ¡¿∩ »á-
  14954.         ¼∩Γ¿  EMS  (Lotus/Intel/Microsoft Expanded Memory Specification).
  14955.         Åα¿ αẼÑΘÑ¡¿¿ «óÑα½Ñ⌐¡«ú« Σá⌐½á ó  »á¼∩Γ¿  EMS  óßÑ  »«ß½ÑñπεΘ¿Ñ
  14956.         ºáúαπº¬¿ «óÑα½ÑÑó ßó«ñ∩Γß∩ ¬ íδßΓα«⌐ »ÑαÑñáτÑ ¿¡Σ«α¼áµ¿¿ ¿º »á¼∩-
  14957.         Γ¿ ó »á¼∩Γ∞.
  14958.  
  14959.                              Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó
  14960.         ─────────────────────────────────────────────────────────────────
  14961.  
  14962.              Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó (¿½¿ »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿)
  14963.         Borland Pascal αÑ὿ºπÑΓß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«ú« ¼«ñπ½∩ Overlay.
  14964.         é ¼«ñπ½Ñ Overlay ¿ß»«½∞ºπεΓß∩ πß«óÑαΦÑ¡ßΓó«óá¡¡δÑ ¼ÑΓ«ñδ π»αáó½Ñ-
  14965.         ¡¿∩ íπΣÑαἿ, τΓ« «íÑß»Ñτ¿óáÑΓ «»Γ¿¼á½∞¡«Ñ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ó
  14966.         ¿¼ÑεΘÑ⌐ß∩ «í½áßΓ¿ »á¼∩Γ¿. ìá»α¿¼Ñα, »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ-
  14967.         ∩¼¿ ß«σαá¡∩ÑΓ ó «óÑα½Ñ⌐¡«¼ íπΣÑαÑ ßΓ«½∞¬« «óÑα½ÑÑó,  ß¬«½∞¬« ó«º-
  14968.         ¼«ª¡«. ¥Γ« »«ºó«½∩ÑΓ π¼Ñ¡∞Φ¿Γ∞ τáßΓ«Γπ ßτ¿Γδóá¡¿∩ «óÑα½ÑÑó ß ñ¿ß-
  14969.         ¬á.  Å«ß½Ñ ºáúαπº¬¿ «óÑα½Ñ∩ ó맮ó «ñ¡«⌐ ¿º Ñú« »«ñ»α«úαá¼¼ óδ»«½-
  14970.         ¡∩ÑΓß∩ ΓᬪѠíδßΓα«, ¬á¬ «íαáΘÑ¡¿Ñ ¬ ¡Ñ«óÑα½Ñ⌐¡«⌐ »α«úαá¼¼Ñ. èα«-
  14971.         ¼Ñ Γ«ú«,  ¬«úñá π áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó ó«º¡¿¬áÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞
  14972.         óδóÑßΓ¿ «ñ¿¡ «óÑα½Ñ⌐, τΓ«íδ «ßó«í«ñ¿Γ∞ ¼ÑßΓ« ñ½∩ ñαπú«ú«, «¡ ß¡á-
  14973.         τá½á »δΓáÑΓß∩ óδóÑßΓ¿ ΓÑ «óÑα½Ñ¿,  ¬«Γ«αδÑ ¡Ñ ∩ó½∩εΓß∩  á¬Γ¿ó¡δ¼¿
  14974.         (Γ« ÑßΓ∞ ΓÑ, ¬«Γ«αδÑ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ óαѼѡ¿ ¡Ñ ß«ñÑαªáΓ á¬Γ¿ó¡δσ
  14975.         »α«úαá¼¼).
  14976.  
  14977.              ä½∩ αÑ὿ºáµ¿¿  π½πτΦÑ¡¡δσ  ¼ÑΓ«ñ«ó   π»αáó½Ñ¡¿∩   «óÑα½Ñ∩¼¿
  14978.         Borland Pascal ΓαÑíπÑΓ «Γ óáß »α¿ ¡á»¿ßá¡¿¿ »α«úαá¼¼δ,  ó ¬«Γ«α«⌐
  14979.         ¿ß»«½∞ºπεΓß∩ «óÑα½Ñ¿, ß«í½εñáΓ∞ ñóá ó᪡δσ »αáó¿½á:
  14980.  
  14981.              1.  éßÑ «óÑα½Ñ⌐¡δÑ ¼«ñπ½¿ ñ«½ª¡δ ß«ñÑαªáΓ∞  ñ¿αÑ¬Γ¿óπ {$O+},
  14982.                  »α¿ó«ñ∩Θπε ¬ Γ«¼π, τΓ« ¬«¼»¿½∩Γ«α «íÑß»Ñτ¿óáÑΓ úÑ¡Ñα¿α«-
  14983.                  óá¡¿Ñ «óÑα½Ñ⌐¡«ú« ¬«ñá.
  14984.  
  14985.              2.  Åα¿  ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ «óÑα½Ñ⌐¡«⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿
  14986.                  óδ ñ«½ª¡δ «íÑß»Ñτ¿Γ∞ ¿ß»«½∞º«óá¡¿Ñ óßѼ¿ á¬Γ¿ó¡δ¼¿  »α«-
  14987.                  µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿ ó맮ó«ó Γ¿»á FAR (ñá½∞¡¿⌐ Γ¿» ó맮-
  14988.                  óá).
  14989.  
  14990.              Äíá »αáó¿½á íπñπΓ »«∩ß¡∩Γ∞ß∩ ñá½ÑÑ ó αáºñѽѠ »«ñ ºáú«½«ó¬«¼
  14991.         "Éáºαáí«Γ¬á «óÑα½Ñ⌐¡δσ »α«úαá¼¼".  æÑ⌐τáß ¼δ »α«ßΓ« «Γ¼ÑΓ¿¼,  τΓ«
  14992.         óδ ¼«ªÑΓÑ ½Ñú¬« πñ«ó½ÑΓó«α¿Γ∞  φΓ¿  »αáó¿½á,  »«¼ÑßΓ¿ó  ó  ¡áτá½Ñ
  14993.         «óÑα½Ñ⌐¡δσ  ¼«ñπ½Ñ⌐  ñ¿αÑ¬Γ¿óπ  ¬«¼»¿½∩Γ«αá {$O+,F+},  á ó ¡áτá½Ñ
  14994.         óßÑσ ñαπú¿σ ¼«ñπ½Ñ⌐ ¿ «ß¡«ó¡«⌐ »α«úαá¼¼δ - ñ¿αÑ¬Γ¿óπ {$F+}.
  14995.  
  14996.                    Åα¿¼Ñτá¡¿Ñ: ìÑß«í½εñÑ¡¿Ñ  ΓαÑí«óá¡¿∩ «íÑß»ÑτÑ¡¿∩ ñá½∞-
  14997.               ¡Ñú« Γ¿»á ó맮óá ó «óÑα½Ñ⌐¡«⌐ »α«úαἼѠó맮óÑΓ  ¡Ñ»αÑñ߬á-
  14998.               ºπѼδÑ  ¿ ó«º¼«ª¡« ¬áΓáßΓα«Σ¿τÑ߬¿Ñ αѺπ½∞ΓáΓδ »α¿ óδ»«½¡Ñ-
  14999.               ¡¿¿ »α«úαá¼¼δ.
  15000.  
  15001.              ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá  {$O  ¿¼∩_¼«ñπ½∩} ¿ß»«½∞ºπÑΓß∩ ó »α«ú-
  15002.  
  15003.          B.Pascal 7 & Objects/LR     - 331 -
  15004.  
  15005.         αἼѠñ½∩ π¬áºá¡¿∩ Γ«ú«,  ¬á¬«⌐ ¿º ¼«ñπ½Ñ⌐ íπñÑΓ «óÑα½Ñ⌐¡δ¼.  ¥Γá
  15006.         ñ¿αÑ¬Γ¿óá ñ«½ª¡á αẼÑΘáΓ∞ß∩ ºá «»ÑαáΓ«α«¼ uses »α«úαá¼¼δ, ó ¬«Γ«-
  15007.         α«¼ »ÑαÑñ ¿¼Ñ¡á¼¿ óßÑσ ñαπú¿σ «óÑα½Ñ⌐¡δσ  ¼«ñπ½Ñ⌐  ñ«½ª¡«  π¬áºδ-
  15008.         óáΓ∞ß∩  ¿¼∩ ßΓá¡ñáαΓ¡«ú« ¼«ñπ½∩ Overlay.  Åα¿óÑñѼ ß½ÑñπεΘ¿⌐ »α¿-
  15009.         ¼Ñα:
  15010.  
  15011.              program Editor;
  15012.              {$F+}           { éßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ íπñπΓ ¿ß»«½∞º«óáΓ∞
  15013.                                ñá½∞¡¿⌐ Γ¿» ó맮óá }
  15014.              uses
  15015.                Overlay, Crt, Dos, EdInOut, EdFormat, EdPrint, EdFind,
  15016.                 EdMain;
  15017.              {$O EdInOut }
  15018.              {$O EdFormat }
  15019.              {$O EdPrint }
  15020.              {$O EdFind }
  15021.              {$O EdMain }
  15022.  
  15023.              àß½¿ óδ  »δΓáÑΓÑß∞  ¿ß»«½∞º«óáΓ∞  ó ¬áτÑßΓóÑ «óÑα½Ñ⌐¡«ú« ¼«-
  15024.         ñπ½∞, »α¿ ¬«¼»¿½∩µ¿¿ ¬«Γ«α«ú« ¡Ñ íδ½á π¬áºá¡á ñ¿αÑ¬Γ¿óá {$O+}, Γ«
  15025.         ¬«¼»¿½∩Γ«α óδóÑñÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.  ùΓ« ¬áßáÑΓß∩ ßΓá¡ñáαΓ¡δσ
  15026.         ¼«ñπ½Ñ⌐, Γ« «óÑα½Ñ⌐¡δ¼ ¼«ªÑΓ íδΓ∞ Γ«½∞¬« ¼«ñπ½∞ Dos. äαπú¿Ñ ßΓá¡-
  15027.         ñáαΓ¡δÑ  ¼«ñπ½¿ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ «óÑα½Ñ⌐¡δσ.  è
  15028.         Γ«¼π ªÑ »α«úαá¼¼δ,  ß«ñÑαªáΘ¿Ñ «óÑα½Ñ⌐¡δÑ ¼«ñπ½¿, »α¿ ¿ß»«½∞º«óá-
  15029.         ¡¿¿ IDE αÑá½∞¡«ú« αѪ¿¼á ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩ ¡á ñ¿ß¬.  àß½¿ óδ
  15030.         »δΓáÑΓÑß∞ óδ»«½¡¿Γ∞ ¬«¼»¿½∩µ¿ε Γᬿσ »α«úαá¼¼ ó »á¼∩Γ∞, Γ« ¬«¼»¿-
  15031.         ½∩Γ«α óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  15032.  
  15033.                           ô»αáó½Ñ¡¿Ñ «óÑα½Ñ⌐¡δ¼ íπΣÑα«¼
  15034.         ─────────────────────────────────────────────────────────────────
  15035.  
  15036.              ÄóÑα½Ñ⌐¡δ⌐ íπΣÑα Borland Pascal ½πτΦÑ  óßÑú«  «»¿ßδóáÑΓß∩  ó
  15037.         ó¿ñÑ ¬«½∞µÑó«ú« íπΣÑαá, ó ¬«Γ«α«¼ ¿¼ÑÑΓß∩ π¬áºáΓѽ∞ ¡áτá½á ¿ π¬á-
  15038.         ºáΓѽ∞ ¬«¡µá.  ÄóÑα½Ñ¿ óßÑúñá ºáúαπªáεΓß∩ ó  ¡áτὫ  íπΣÑαá.  Åα¿
  15039.         φΓ«¼  í«½ÑÑ  "ßΓáαδÑ" «óÑα½Ñ¿ ß¼ÑΘáεΓß∩ ¬ Ñú« ¬«¡µπ.  è«úñá íπΣÑα
  15040.         ºá»«½¡∩ÑΓß∩ (Γ« ÑßΓ∞ ¼Ñªñπ Ñú« ¡áτὫ¼ ¿ ¬«¡µ«¼ ¡Ñ  íπñÑΓ  ñ«ßΓá-
  15041.         Γ«τ¡« ßó«í«ñ¡«ú« »α«ßΓαá¡ßΓóá),  Γ« «óÑα½Ñ¿ ó ¬«¡µÑ íπΣÑαá óδúαπ-
  15042.         ªáεΓß∩ («ßó«í«ªñáεΓß∩), ¿ «ßó«í«ªñáÑΓß∩ ¼ÑßΓ« ñ½∩ ¡«óδσ «óÑα½ÑÑó.
  15043.  
  15044.              Å«ß¬«½∞¬π «íδτ¡á∩ »á¼∩Γ∞ »« ßó«Ñ⌐ »α¿α«ñÑ ¡Ñ ¿¼ÑÑΓ σáαá¬ΓÑαá
  15045.         ¬«½∞µÑó«ú« íπΣÑαá,  ñÑ⌐ßΓó¿Γѽ∞¡á∩ αÑ὿ºáµ¿∩  ¬«½∞µÑó«ú«  íπΣÑαá
  15046.         »αÑñπß¼áΓα¿óáÑΓ ¡Ñ߬«½∞¬«  Φáú«ó,  «íÑß»Ñτ¿óáεΘ¿σ,  τΓ«íδ   íπΣÑα
  15047.         ñÑ⌐ßΓó¿Γѽ∞¡« ßΓá½ ¬«½∞µÑóδ¼.  ¥Γ«Γ »α«µÑßß »«¬áºá¡ ¡á É¿ß. 20.1.
  15048.         çñÑß∞ ¿º«íαáªÑ¡ »α«µÑßß ºáúαπº¬¿ «óÑα½ÑÑó ó  »Ñαó«¡áτá½∞¡« »πßΓ«⌐
  15049.         «óÑα½Ñ⌐¡δ⌐ íπΣÑα.  æ¡áτá½á ºáúαπªáÑΓß∩ «óÑα½Ñ⌐ A, ºáΓѼ - «óÑα½Ñ⌐
  15050.         B, »«Γ«¼ C, ¿, ¡á¬«¡Ñµ, D. çáΦΓα¿σ«óá¡¡δÑ «í½áßΓ¿ »«¬áºδóáεΓ ßó«-
  15051.         í«ñ¡«Ñ »α«ßΓαá¡ßΓó« ó íπΣÑαÑ.
  15052.  
  15053.  
  15054.          B.Pascal 7 & Objects/LR     - 332 -
  15055.  
  15056.  
  15057.                                ÿáú 1                         ÿáú 2
  15058.                            ┌────────────┐               ┌────────────┐
  15059.                            │ ░░░░░░░░░░ │               │ ░░░░░░░░░░ │
  15060.                            │ ░░░░░░░░░░ │               │ ░░░░░░░░░░ │
  15061.                            │ ░░░░░░░░░░ │               │ ░░░░░░░░░░ │
  15062.                            │ ░░░░░░░░░░ │   ìáτὫ ───> ├────────────┤
  15063.                            │ ░░░░░░░░░░ │               │  ÄóÑα½Ñ⌐ B │
  15064.               ìáτὫ ────> ├────────────┤               ├────────────┤
  15065.                            │  ÄóÑα½Ñ⌐ Ç │               │  ÄóÑα½Ñ⌐ Ç │
  15066.               è«¡Ñµ  ────> └────────────┘   è«¡Ñµ  ───> └────────────┘
  15067.  
  15068.  
  15069.                                ÿáú 3                         ÿáú 4
  15070.                            ┌────────────┐               ┌────────────┐
  15071.                            │ ░░░░░░░░░░ │               │  ÄóÑα½Ñ⌐ æ │
  15072.                            │ ░░░░░░░░░░ │               ├────────────┤
  15073.               ìáτὫ ────> ├────────────┤               │  ÄóÑα½Ñ⌐ é │
  15074.                            │  ÄóÑα½Ñ⌐ æ │   è«¡Ñµ  ───> ├────────────┤
  15075.                            ├────────────┤               │ ░░░░░░░░░░ │
  15076.                            │  ÄóÑα½Ñ⌐ é │               │ ░░░░░░░░░░ │
  15077.                            ├────────────┤   ìáτὫ ───> ├────────────┤
  15078.                            │  ÄóÑα½Ñ⌐ Ç │               │  ÄóÑα½Ñ⌐ D │
  15079.               è«¡Ñµ  ────> └────────────┘               └────────────┘
  15080.  
  15081.              É¿ß. 20.1 çáúαπº¬á ¿ «ßó«í«ªñÑ¡¿Ñ «óÑα½ÑÑó.
  15082.  
  15083.              èᬠ¼«ª¡« ºá¼ÑΓ¿Γ∞, »α¿ »ÑαÑσ«ñÑ «Γ Φáúá 3 ¬ Φáúπ 4 »α«¿ßσ«-
  15084.         ñ¿Γ ¡Ñ߬«½∞¬«  ¿¡ΓÑαÑß¡δσ ¼«¼Ñ¡Γ«ó.  é«-»Ñαóδσ,  ºáú«½«ó«¬ ¡áτá½á
  15085.         »ÑαѼÑΘáÑΓß∩ ¬ ¬«¡µπ «óÑα½Ñ⌐¡«ú« íπΣÑαá, »α¿ó«ñ∩ ¬ Γ«¼π, τΓ« »«ñ-
  15086.         ß¿ßΓѼá π»αáó½Ñ¡¿∩  «óÑα½Ñ∩¼¿  ß¼ÑΘáÑΓ óßÑ ºáúαπªÑ¡¡δÑ «óÑα½Ñ¿ (¿
  15087.         π¬áºáΓѽ∞ ¬«¡µá) óóÑασ.  ¥Γ« ß¼ÑΘÑ¡¿Ñ ¡Ñ«íσ«ñ¿¼«, τΓ«íδ ßó«í«ñ¡á∩
  15088.         «í½áßΓ∞ óßÑúñá  ¡áσ«ñ¿½áß∞  ¼Ñªñπ  π¬áºáΓѽѼ ¡áτá½á ¿ π¬áºáΓѽѼ
  15089.         ¬«¡µá. é«-óΓ«αδσ,  τΓ«íδ ºáúαπº¿Γ∞ «óÑα½Ñ⌐ D, »«ñß¿ßΓѼѠπ»αáó½Ñ-
  15090.         ¡¿∩ «óÑα½Ñ∩¼¿  »α¿σ«ñ¿Γß∩ óδúαπº¿Γ∞ ¿º ¬«¡µá íπΣÑαá «óÑα½Ñ⌐ A.  é
  15091.         φΓ«¼ ß½πτáÑ «óÑα½Ñ⌐ A ∩ó½∩ÑΓß∩  «óÑα½ÑѼ,  ¬«Γ«αδσ  íδ½  ºáúαπªÑ¡
  15092.         αá¡∞ΦÑ óßÑσ,  »«φΓ«¼π  »αѪñÑ τѼ »α«ñ«½ª¿Γ∞ αáí«Γπ,  ½πτΦÑ óßÑú«
  15093.         óδúαπº¿Γ∞ ¿¼Ñ¡¡« Ñú«.  Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó »α«ñ«½ªáÑΓ «ßó«í«ª-
  15094.         ñáΓ∞  «óÑα½Ñ¿  ó ¬«¡µÑ íπΣÑαá,  «ßó«í«ªñá∩ ¼ÑßΓ« ó Ñú« ¡áτá½Ñ ñ½∩
  15095.         ¡«óδσ «óÑα½ÑÑó. Åα¿ φΓ«¼ ¬áªñδ⌐ αẠ»«óΓ«α∩ÑΓß∩ «»Ñαᵿ∩ ß¼ÑΘÑ¡¿∩
  15096.         ¿ »ÑαÑ¡«ßá π¬áºáΓѽ∩ ¡áτá½á.
  15097.  
  15098.              ¥Γ«Γ αѪ¿¼  «»Ñαᵿ∩  ¿ß»«½∞ºπÑΓß∩  áñ¼¿¡¿ßΓαáΓ«α«¼ «óÑα½ÑÑó
  15099.         Borland Pascal 0 »« π¼«½τá¡¿ε.  Äñ¡á¬«, Borland Pascal ΓᬪѠ»«º-
  15100.         ó«½∩ÑΓ  óá¼ ¿ß»«½∞º«óáΓ∞ ó«º¼«ª¡«ßΓ∞ «»Γ¿¼¿ºáµ¿¿ á½ú«α¿Γ¼á π»αáó-
  15101.         ½Ñ¡¿∩ «óÑα½Ñ∩¼¿.
  15102.  
  15103.              ÅαÑñ»«½«ª¿¼, τΓ« «óÑα½Ñ⌐ A ß«ñÑαª¿Γ ¡Ñ¬«Γ«αδÑ τáßΓ«  ¿ß»«½∞-
  15104.         ºπѼδÑ »«ñ»α«úαá¼¼δ. ò«Γ∩ ¡Ñ¬«Γ«αδÑ ¿º φΓ¿σ »«ñ»α«úαá¼¼ ¿ß»«½∞ºπ-
  15105.         εΓß∩ óßÑ óαѼ∩,  ßπΘÑßΓóπÑΓ  óÑα«∩Γ¡«ßΓ∞,  τΓ«  «óÑα½Ñ⌐  A  íπñÑΓ
  15106.         óδúαπªÑ¡ ¿º íπΣÑαá ¿ ó߬«αÑ ºáúαπªÑ¡ ó ¡Ñú« ß¡«óá. Åα«í½Ñ¼á ºñÑß∞
  15107.         ß«ßΓ«¿Γ ó Γ«¼, τΓ« »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ ¡¿τÑú« ¡Ñ º¡á-
  15108.         ÑΓ «  τáßΓ«ΓÑ  ó맮ó«ó »«ñ»α«úαá¼¼ ó ¼«ñπ½Ñ A.  Ä¡á º¡áÑΓ Γ«½∞¬«,
  15109.  
  15110.          B.Pascal 7 & Objects/LR     - 333 -
  15111.  
  15112.         τΓ« Ñß½¿ »α¿ «íαáΘÑ¡¿¿ ¬ »«ñ»α«úαἼѠ«óÑα½Ñ∩ A Ñú« ¡ÑΓ ó »á¼∩Γ¿,
  15113.         Γ« ¡πª¡« ºáúαπº¿Γ∞ φëà«óÑα½Ñ⌐. Äñ¡« ¿º αÑΦÑ¡¿⌐ ºñÑß∞ ¼«ªÑΓ ß«ß-
  15114.         Γ«∩Γ∞ ó Γ«¼, τΓ«íδ »ÑαÑσóáΓδóáΓ∞ ¬áªñ«Ñ «íαáΘÑ¡¿Ñ ¬ »«ñ»α«úαá¼¼á¼
  15115.         «óÑα½Ñ∩ A ¿ ºáΓѼ »α¿ ¬áªñ«¼ ó맮óÑ »ÑαѼÑΘáΓ∞ «óÑα½Ñ⌐ A ó ¡áτὫ
  15116.         «óÑα½Ñ⌐¡«ú« íπΣÑαá,  τΓ«íδ í佫 «ΓαáªÑ¡« Ñú« ¡«ó«Ñ ß«ßΓ«∩¡¿Ñ, ¬á¬
  15117.         »«ß½Ññ¡Ñú« ¿ß»«½∞º«óá¡¡«ú« «óÑα½Ñ∩.  Æá¬«⌐ »ÑαÑσóáΓ ó맮ó«ó ¬ ß«-
  15118.         ªá½Ñ¡¿ε íπñÑΓ ß½¿Φ¬«¼ ¡Ñ»α«¿ºó«ñ¿Γѽ∞¡δ¼ ó ß¼δ߽Ѡ߬«α«ßΓ¿ óδ»«½-
  15119.         ¡Ñ¡¿∩,  ¿ ó ¡Ñ¬«Γ«αδσ ß½πτá∩σ ¼«ªÑΓ ñáªÑ í«½ÑÑ  ºá¼Ññ½¿Γ∞  αáí«Γπ
  15120.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  τѼ ñ«»«½¡¿Γѽ∞¡á∩ «»Ñαᵿ∩ ºáúαπº¬¿ «óÑα-
  15121.         ½Ñ∩.
  15122.  
  15123.              é Borland  Pascal  »αÑñπß¼áΓα¿óáÑΓß∩  ¬«¼»α«¼¿ßß¡«Ñ αÑΦÑ¡¿Ñ,
  15124.         ¬«Γ«α«Ñ »αá¬Γ¿τÑ߬¿  ¡Ñ  πóѽ¿τ¿óáÑΓ ¡Ñ»α«¿ºó«ñ¿Γѽ∞¡δÑ αáßσ«ñδ ¿
  15125.         «íÑß»Ñτ¿óáÑΓ óδß«¬πε ßΓѻѡ∞ πß»Ñσá ó ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«ß½Ññ¡¿σ ¿ß-
  15126.         »«½∞º«óá¡¡δσ «óÑα½ÑÑó, ¬«Γ«αδÑ ¡Ñ ß½ÑñπεΓ αáºúαπªáΓ∞. è«úñá «óÑα-
  15127.         ½Ñ⌐ »α¿í½¿ªáÑΓß∩ ¬ ¬«¡µπ «óÑα½Ñ⌐¡«ú« íπΣÑαá,  Γ«  ¡áτ¿¡áÑΓß∩  Ñú«
  15128.         "ΓÑßΓ¿α«óá¡¿Ñ".  àß½¿ ó σ«ñÑ φΓ«ú« "ΓÑßΓ¿α«óá¡¿∩" óδ»«½¡∩ÑΓß∩ óδ-
  15129.         º«ó »«ñ»α«úαá¼¼δ ñá¡¡«ú« «óÑα½Ñ∩, "»α¿ú«ó«α" Ñ¼π íπñÑΓ «Γ¼Ñ¡Ñ¡, ¿
  15130.         «¡ ¡Ñ íπñÑΓ αáºúαπªÑ¡,  ¬«úñá ñ«ßΓ¿ú¡ÑΓ ¬«¡µá «óÑα½Ñ⌐¡«ú« íπΣÑαá.
  15131.         é¼ÑßΓ« φΓ«ú« «¡ »α«ßΓ« »ÑαѼÑΘáÑΓß∩ ó ¡áτὫ íπΣÑαá, ¿ ¡áτ¿¡áÑΓß∩
  15132.         ¡«óδÑ µ¿¬½ Ñú« »ÑαѼÑΘÑ¡¿∩ »« ¬«½∞µÑó«¼π «óÑα½Ñ⌐¡«¼π íπΣÑαπ.  àß-
  15133.         ½¿, ß ñαπú«⌐ ßΓ«α«¡δ, ó »α«µÑßßÑ "ΓÑßΓ¿α«óá¡¿∩" «íαáΘÑ¡¿⌐ ¬ «óÑα-
  15134.         ½Ñε ¡Ñ íπñÑΓ, Γ« «óÑα½Ñ⌐ »α¿ ñ«ßΓ¿ªÑ¡¿¿ ¬«¡µá íπΣÑαá óδúαπªáÑΓß∩.
  15135.  
  15136.              æσѼá ΓÑßΓ¿α«óá¡¿∩ (»α«í/«Γ¬áº«ó) »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« τáßΓ«
  15137.         ¿ß»«½∞ºπѼδÑ  «óÑα½Ñ¿  íπñπΓ  ß«σαá¡∩Γ∞ß∩  ó «óÑα½Ñ⌐¡«¼ íπΣÑαÑ ºá
  15138.         ßτÑΓ Γ«ú«,  τΓ« íπñÑΓ »ÑαÑσóáΓδóáΓ∞ß∩ »«τΓ¿ ¬áªñδ⌐  ó맮ó,  ¬«úñá
  15139.         «óÑα½Ñ⌐ »α¿í½¿ªáÑΓß∩ ¬ ¬«¡µπ «óÑα½Ñ⌐¡«ú« íπΣÑαá.
  15140.  
  15141.              îÑσá¡¿º¼«¼ ΓÑßΓ¿α«óá¡¿∩  π»αáó½∩εΓ  ñóÑ  ¡«óδÑ  »«ñ»α«úαá¼¼δ
  15142.         »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩  «óÑα½Ñ∩¼¿  -  OvrSetRetry  ¿  OvrGetRetry.
  15143.         Å«ñ»α«úαá¼¼á OvrGetRetry πßΓá¡áó½¿óáÑΓ αẼÑα «í½áßΓ¿ ó  «óÑα½Ñ⌐-
  15144.         ¡«¼ íπΣÑαÑ,  ¬«Γ«απε ¡πª¡« ΓÑßΓ¿α«óáΓ∞,  á OvrGetRetry ó«ºóαáΘáÑΓ
  15145.         ΓѬπΘÑÑ ß«ßΓ«∩¡¿Ñ. àß½¿ «óÑα½Ñ⌐ ß¼ÑΘáÑΓß∩ ó »«ß½Ññ¡¿Ñ OvrGetRetry
  15146.         íá⌐Γ »ÑαÑñ  ¬«¡µ«¼ «óÑα½Ñ⌐¡«ú« íπΣÑαá,  Γ« «¡ íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿
  15147.         »«ñóÑαúáΓ∞ß∩ ΓÑßΓ¿α«óá¡¿ε.  éßÑ ßó«í«ñ¡«Ñ »α«ßΓαá¡ßΓó« ó «óÑα½Ñ⌐-
  15148.         ¡«¼ íπΣÑαÑ αáßß¼áΓα¿óáÑΓß∩,  ¬á¬ τáßΓ∞ »α«í¡«⌐  «í½áßΓ¿  («í½áßΓ¿
  15149.         ΓÑßΓ¿α«óá¡¿∩).
  15150.  
  15151.  
  15152.  
  15153.          B.Pascal 7 & Objects/LR     - 334 -
  15154.  
  15155.                        Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Overlay
  15156.         ─────────────────────────────────────────────────────────────────
  15157.  
  15158.              é ¼«ñπ½Ñ Overlay «»αÑñѽ∩εΓß∩ ¡Ñ߬«½∞¬« »α«µÑñπα ¿  Σπ¡¬µ¿⌐.
  15159.         Å«½¡δÑ ¿σ «»¿ßá¡¿∩ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í-
  15160.         ½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  15161.  
  15162.                        Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Overlay    Æáí½¿µá 20.1
  15163.         ┌─────────────────────────┬─────────────────────────────────────┐
  15164.         │    Å«ñ»α«úαἼᠠ       │                Ä»¿ßá¡¿Ñ             │
  15165.         ├─────────────────────────┼─────────────────────────────────────┤
  15166.         │   OvrClearBuf           │ Äτ¿ΘáÑΓ «óÑα½Ñ⌐¡δ⌐ íπΣÑα.           │
  15167.         ├─────────────────────────┼─────────────────────────────────────┤
  15168.         │   OvrGetBuf             │ é«ºóαáΘáÑΓ ΓѬπΘ¿⌐ αẼÑα «óÑα½Ñ⌐¡«-│
  15169.         │                         │ ú« íπΣÑαá.                          │
  15170.         ├─────────────────────────┼─────────────────────────────────────┤
  15171.         │   OvrGetRetry           │ é«ºóαáΘáÑΓ  ΓѬπΘ¿⌐  αẼÑα  »α«í¡«⌐│
  15172.         │                         │ «í½áßΓ¿ (»«ß½Ññ¡ÑÑ  º¡áτÑ¡¿Ñ,  πßΓá-│
  15173.         │                         │ ¡«ó½Ñ¡¡«Ñ OvrSetRetry).             │
  15174.         ├─────────────────────────┼─────────────────────────────────────┤
  15175.         │   OvtInit               │ ¥Γá »α«µÑñπαá ¿¡¿µ¿á½¿º¿απÑΓ »«ñß¿ß-│
  15176.         │                         │ ΓѼπ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ ¿ «Γ¬αδóá-│
  15177.         │                         │ ÑΓ «óÑα½Ñ⌐¡δ⌐ Σá⌐½.                 │
  15178.         ├─────────────────────────┼─────────────────────────────────────┤
  15179.         │   OvrInitEMS            │ äá¡¡á∩ »α«µÑñπαá, Ñß½¿ φΓ« ó«º¼«ª¡«,│
  15180.         │                         │ ºáúαπªáÑΓ «óÑα½Ñ⌐¡δ⌐ Σá⌐½  ó  »á¼∩Γ∞│
  15181.         │                         │ EMS.  Åα¿  φΓ«¼ óßÑ »«ß½ÑñπεΘ¿Ñ ºáú-│
  15182.         │                         │ απº¬¿ «óÑα½ÑÑó  ßó«ñ∩Γß∩  ¬  íδßΓα«⌐│
  15183.         │                         │ »ÑαÑñáτÑ  ¿¡Σ«α¼áµ¿¿ ¿º »á¼∩Γ¿ ó »á-│
  15184.         │                         │ ¼∩Γ∞.                               │
  15185.         ├─────────────────────────┼─────────────────────────────────────┤
  15186.         │   OvrSetBuf             │ ôßΓá¡áó½¿óáÑΓ αẼÑα «óÑα½Ñ⌐¡«ú« íπ-│
  15187.         │                         │ ΣÑαá.                               │
  15188.         ├─────────────────────────┼─────────────────────────────────────┤
  15189.         │   OvrSetRetry           │ çáñáÑΓ   αẼÑα  »α«í¡«⌐  «í½áßΓ¿  ó│
  15190.         │                         │ «óÑα½Ñ⌐¡«¼ íπΣÑαÑ.                  │
  15191.         └─────────────────────────┴─────────────────────────────────────┘
  15192.  
  15193.                       è«¡ßΓá¡Γδ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Overlay
  15194.         ─────────────────────────────────────────────────────────────────
  15195.  
  15196.  
  15197.          B.Pascal 7 & Objects/LR     - 335 -
  15198.  
  15199.  
  15200.              é ¼«ñπ½Ñ Overlay «»αÑñÑ½Ñ¡δ »∩Γ∞ »ÑαѼѡ¡δσ:
  15201.  
  15202.                             ÅÑαѼѡ¡δÑ ¼«ñπ½∩ Overlay         Æáí½¿µá 20.2
  15203.         ┌──────────────────────┬────────────────────────────────────────┐
  15204.         │   ÅÑαѼѡ¡á∩         │                Ä»¿ßá¡¿Ñ                │
  15205.         ├──────────────────────┼────────────────────────────────────────┤
  15206.         │   OvrFileMode        │ Ä»αÑñѽ∩ÑΓ »ÑαÑñáóáѼδ⌐ DOS »α¿  «Γ¬αδ-│
  15207.         │                      │ Γ¿¿ Σá⌐½á ¬«ñ ñ«ßΓπ»á.                 │
  15208.         ├──────────────────────┼────────────────────────────────────────┤
  15209.         │   OvrLoadCount       │ äá¡¡á∩   »ÑαѼѡ¡á∩  πóѽ¿τ¿óáÑΓß∩  »α¿│
  15210.         │                      │ ¬áªñ«⌐ ºáúαπº¬Ñ «óÑα½Ñ∩.               │
  15211.         ├──────────────────────┼────────────────────────────────────────┤
  15212.         │   OvrReadBuf         │ ¥Γá  »α«µÑñπα¡á∩  »ÑαѼѡ¡á∩  »«ºó«½∩ÑΓ│
  15213.         │                      │ óá¼ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ «»Ñαᵿ¿  ºáúαπº¬¿│
  15214.         │                      │ «óÑα½Ñ∩.                               │
  15215.         ├──────────────────────┼────────────────────────────────────────┤
  15216.         │   OvrResult          │ ÅÑαÑñ  ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩ ¬áªñá∩ »α«-│
  15217.         │                      │ µÑñπαá ó ¼«ñπ½Ñ Overlay ß«σαá¡∩ÑΓ  ßó«⌐│
  15218.         │                      │ ¬«ñ αѺπ½∞ΓáΓá ó »ÑαѼѡ¡«⌐ OvrResult. │
  15219.         ├──────────────────────┼────────────────────────────────────────┤
  15220.         │   OvrTrapCount       │ èáªñδ⌐ αáº,  ¬«úñá «íαáΘÑ¡¿Ñ ¬ »«ñ»α«ú-│
  15221.         │                      │ αἼѠ«óÑα½Ñ∩ »ÑαÑσóáΓδóáÑΓß∩ »«ñß¿ßΓÑ-│
  15222.         │                      │ ¼«⌐ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ (¬«úñá «óÑα½Ñ∩│
  15223.         │                      │ ¡ÑΓ ó »á¼∩Γ¿ ¿½¿ «¡ ¡áσ«ñ¿Γß∩ ¡á ΓÑßΓ¿-│
  15224.         │                      │ α«óá¡¿¿)       º¡áτÑ¡¿Ñ      »ÑαѼѡ¡«⌐│
  15225.         │                      │ OvrTrapCount  πóѽ¿τ¿óáÑΓß∩.  ìáτá½∞¡«Ñ│
  15226.         │                      │ ÑÑ º¡áτÑ¡¿Ñ αáó¡« 0.                   │
  15227.         └──────────────────────┴────────────────────────────────────────┘
  15228.  
  15229.              ç¡áτÑ¡¿∩ φΓ¿σ  »ÑαѼѡ¡δσ  óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 1 ("æ»αá-
  15230.         ó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  15231.  
  15232.                                  è«ñδ αѺπ½∞ΓáΓá
  15233.         ─────────────────────────────────────────────────────────────────
  15234.  
  15235.              Äí «Φ¿í¬áσ   ¼«ñπ½∞   Overlay   ß««íΘáÑΓ   τÑαѺ  »ÑαѼѡ¡πε
  15236.         OvrResult. æ¼. ¬«¡ßΓá¡Γδ ovrXXXX  ó â½áóÑ 1 ("æ»αáó«τ¡¿¬  »« í¿í-
  15237.         ½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  15238.  
  15239.                          Éáºαáí«Γ¬á »α«úαá¼¼ ß «óÑα½Ñ∩¼¿
  15240.         ─────────────────────────────────────────────────────────────────
  15241.  
  15242.              é φΓ«¼  αáºñѽѠ ñáÑΓß∩ ¡á¿í«½ÑÑ ó᪡á∩ ¿¡Σ«α¼áµ¿∩ »« αáºαá-
  15243.         í«Γ¬Ñ »α«úαá¼¼ ß «óÑα½Ñ∩¼¿. Åα«ß¼«Γα¿ΓÑ ÑÑ ó¡¿¼áΓѽ∞¡«: ñ½∩ σ«α«-
  15244.         ΦÑ⌐  αáí«Γδ »α¿¬½áñ¡δσ »α«úαá¼¼,  ó ¬«Γ«αδσ ¿ß»«½∞ºπεΓß∩ «óÑα½Ñ¿,
  15245.         ¼¡«ú¿Ñ «íßπªñáѼδÑ ó«»α«ßδ ∩ó½∩εΓß∩ ª¿º¡Ñ¡¡« óáª¡δ¼¿.
  15246.  
  15247.  
  15248.  
  15249.          B.Pascal 7 & Objects/LR     - 336 -
  15250.  
  15251.                            âÑ¡Ñαᵿ∩ «óÑα½Ñ⌐¡«ú« ¬«ñá
  15252.         ─────────────────────────────────────────────────────────────────
  15253.  
  15254.              Borland Pascal ñ«»π߬áÑΓ  ¿ß»«½∞º«óá¡¿Ñ  ¼«ñπ½∩  ó  ¬áτÑßΓóÑ
  15255.         «óÑα½Ñ⌐¡«ú« Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿ «¡ úÑ¡Ñα¿α«óá½ß∩ ß ñ¿αÑ¬Γ¿-
  15256.         ó«⌐ {$O+}. è«úñá ºáñá¡á φΓá ñ¿αÑ¬Γ¿óá, úÑ¡ÑαáΓ«α óδ»«½¡∩Ѽ«ú« ¬«-
  15257.         ñá,  »α¿ »ÑαÑñáτÑ ßΓ᫬¿ ¿º «ñ¡«⌐ «óÑα½Ñ⌐¡«⌐ »α«µÑñπαδ ó ñαπúπε ¿
  15258.         ºáñá¡¿¿ »«ßΓ«∩¡¡δσ »áαá¼ÑΓα«ó,  »αÑñ»α¿¡¿¼áÑΓ «ß«íδÑ ¼Ñαδ »αÑñ«ß-
  15259.         Γ«α«ª¡«ßΓ¿.  ìá»α¿¼Ñα,  Ñß½¿ ¼«ñπ½∞ UnitA ß«ñÑαª¿Γ  »α«µÑñπαπ  ß«
  15260.         ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
  15261.  
  15262.              procedure WriteStr(s: string);
  15263.  
  15264.         ¿ ¼«ñπ½∞ UnitB ß«ñÑαª¿Γ «»ÑαáΓ«α:
  15265.  
  15266.              WriteStr('Hello word...');
  15267.  
  15268.         Γ« Borland Pascal  »«¼ÑΘáÑΓ ßΓ᫬«óπε ¬«¡ßΓá¡Γπ 'Hello word...' ó
  15269.         ßÑú¼Ñ¡Γ ¬«ñá ¼«ñπ½∩ UnitB ¿ »ÑαÑñáÑΓ π¬áºáΓѽ∞ ¡á  ¡Ñú« »α«µÑñπαÑ
  15270.         WriteStr.  Äñ¡á¬«,  Ñß½¿ «íá ¼«ñπ½∩ ∩ó½∩εΓß∩ «óÑα½Ñ⌐¡δ¼¿,  Γ« φΓ«
  15271.         αáí«ΓáΓ∞ ¡Ñ íπñÑΓ, »«ß¬«½∞¬π »α¿ «íαáΘÑ¡¿¿ ó WriteStr ßÑú¼Ñ¡Γ ¬«-
  15272.         ñá  ¼«ñπ½∩  UnitB ¼«ªÑΓ íδΓ∞ »ÑαѬαδΓ ¼«ñπ½Ñ¼ UnitA,  ¿ ßßδ½¬á ¡á
  15273.         ßΓ᫬𠫬áªÑΓß∩ ¡Ññ«»πßΓ¿¼«⌐.  ä½∩ Γ«ú«, τΓ«íδ ¿ºíѪáΓ∞ φΓ¿ »α«í-
  15274.         ½Ñ¼δ, ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá {$O+}.  èáªñδ⌐ αáº, ¬«úñá Æπαí« Åáß-
  15275.         ¬á½∞ óßΓαÑτáÑΓ «íαáΘÑ¡¿Ñ ¿º «ñ¡«ú«  ¼«ñπ½∩,  ß¬«¼»¿½¿α«óá¡¡«ú«  ß
  15276.         ñ¿αÑ¬Γ¿ó«⌐ {$O+},  ¬ ñαπú«¼π ¼«ñπ½ε, ß¬«¼»¿½¿α«óá¡¡«¼π ß ñ¿αÑ¬Γ¿-
  15277.         ó«⌐ {$O+},  ¬«¼»¿½∩Γ«α »ÑαÑñ »ÑαÑñáτÑ⌐ ßß佫¬ ¡á ¡¿σ «íÑß»Ñτ¿óáÑΓ
  15278.         óαѼѡ¡«Ñ ¬«»¿α«óá¡¿Ñ óßÑσ αẼÑΘÑ¡¡δσ ó ßÑú¼Ñ¡ΓÑ ¬«ñá ¬«¡ßΓá¡Γ ó
  15279.         ßΓѬ.
  15280.  
  15281.              ô¬áºá¡¿Ñ ó ¼«ñπ½Ñ ñ¿αÑ¬Γ¿óδ {$O+} ¡Ñ «í∩ºδóáÑΓ óáß ¿ß»«½∞º«-
  15282.         óáΓ∞  φëà ¼«ñπ½∞  ¬á¬ «óÑα½Ñ⌐¡δ⌐.  Ä¡á »α«ßΓ« π¬áºδóáÑΓ Borland
  15283.         Pascal ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ «íÑß»ÑτÑ¡¿∩,  Ñß½¿ φΓ« ¡πª¡«, ¿ß»«½∞º«óá-
  15284.         ¡¿∩ ñá¡¡«ú« ¼«ñπ½∩ ó ¬áτÑßΓóÑ «óÑα½Ñ⌐¡«ú«. àß½¿ óδ αáºαáíáΓδóáÑΓÑ
  15285.         ¼«ñπ½¿, ¬«Γ«αδÑ »½á¡¿απÑΓÑ ¿ß»«½∞º«óáΓ∞ ¬á¬ ó «óÑα½Ñ⌐¡δσ, Γᬠ¿ ó
  15286.         ¡Ñ«óÑα½Ñ⌐¡δσ »α¿¬½áñ¡δσ »α«úαá¼¼áσ, Γ« ¬«¼»¿½∩µ¿∩ ¿σ ß ñ¿αÑ¬Γ¿ó«⌐
  15287.         {$O+} «íÑß»Ñτ¿óáÑΓ ¿ß»«½∞º«óá¡¿Ñ «ñ¡«⌐ óÑαß¿¿  ¼«ñπ½∩  ñ½∩  «í«¿σ
  15288.         ß½πτáÑó.
  15289.  
  15290.  
  15291.  
  15292.          B.Pascal 7 & Objects/LR     - 337 -
  15293.  
  15294.                  ÆαÑí«óá¡¿Ñ ¿ß»«½∞º«óá¡¿∩ ñá½∞¡Ñú« Γ¿»á ó맮ó«ó
  15295.         ─────────────────────────────────────────────────────────────────
  15296.  
  15297.              èᬠπªÑ π»«¼¿¡á½«ß∞ αá¡ÑÑ,  »α¿ ½εí«¼ «íαáΘÑ¡¿¿ ¬ «óÑα½Ñ⌐¡«⌐
  15298.         »α«µÑñπαÑ  ¿½¿ Σπ¡¬µ¿¿ ¿º ñαπú«ú« ¼«ñπ½∩ óδ ñ«½ª¡δ «íÑß»Ñτ¿Γ∞ ñ½∩
  15299.         óßÑσ á¬Γ¿ó¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó맮óδ Γ¿»á FAR (ñá½∞¡¿⌐ Γ¿» óδ-
  15300.         º«óá).
  15301.  
  15302.              ¥Γ« ¼«ª¡«  σ«α«Φ«  »α«¿½½εßΓα¿α«óáΓ∞  ¡á  ß½ÑñπεΘѼ »α¿¼ÑαÑ.
  15303.         ÅαÑñ»«½«ª¿¼,  τΓ« OvrA »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«µÑñπαπ ó  «óÑα½Ñ⌐¡«¼
  15304.         ¼«ñπ½Ñ, á »α«µÑñπαδ MainC ¿ MainD - »α«µÑñπαδ ó «ß¡«ó¡«⌐ »α«úαá¼-
  15305.         ¼Ñ. àß½¿ «ß¡«ó¡á∩ »α«úαá¼¼á óδºδóáÑΓ MainC, ¬«Γ«αá∩ óδºδóáÑΓ »α«-
  15306.         µÑñπαπ MainB, ¬«Γ«αá∩ ó ßó«ε «τÑαÑñ∞ «íαáΘáÑΓß∩ ¬ »α«µÑñπαÑ OvrA,
  15307.         Γ« ó« óαѼ∩ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ OvrA »α«µÑñπαδ  MainC  ¿  MainB
  15308.         ∩ó½∩εΓß∩ á¬Γ¿ó¡δ¼¿ («¡¿ ÑΘÑ ¡Ñ óδ»«½¡¿½¿ ó«ºóαáΓ π»αáó½Ñ¡¿∩), »«-
  15309.         φΓ«¼π ¡Ñ«íσ«ñ¿¼« ¿ß»«½∞º«óáΓ∞ ñ½∩ ¡¿σ ñá½∞¡¿⌐ Γ¿» ó맮óá. Ä»¿ßá¡-
  15310.         ¡δÑ ó «ß¡«ó¡«⌐ »α«úαá¼¼Ñ, »α«µÑñπαδ MainC ¿ MainB ó «íδτ¡«⌐ ß¿Γπ-
  15311.         áµ¿¿ ¿ß»«½∞ºπεΓ í½¿ª¡¿⌐ Γ¿» ó맮ó«ó (NEAR).  æ »«¼«Θ∞ε  ñ¿αÑ¬Γ¿óδ
  15312.         ¬«¼»¿½∩Γ«αá {$F+} ¡Ñ«íσ«ñ¿¼« ºáñáΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮ó«ó.
  15313.  
  15314.              æá¼δ⌐ ½Ñú¬¿⌐  ß»«ß«í πñ«ó½ÑΓó«αÑ¡¿∩ ΓαÑí«óá¡¿∩ ¿ß»«½∞º«óá¡¿∩
  15315.         ñá½∞¡Ñú« Γ¿»á ó맮ó«ó ß«ßΓ«¿Γ  ó  αẼÑΘÑ¡¿¿  ó  ¡áτá½Ñ  «ß¡«ó¡«⌐
  15316.         »α«úαá¼¼δ ¿ ó ¡áτá½Ñ ¬áªñ«ú« ¼«ñπ½∩ ñ¿αÑ¬Γ¿óδ {$F+}. Ç½∞ΓÑα¡áΓ¿ó-
  15317.         ¡δ⌐ ß»«ß«í ß«ßΓ«¿Γ ó ¿º¼Ñ¡Ñ¡¿¿ »α¿¡∩Γ«⌐ »« π¼«½τá¡¿ε πßΓᡫ󬿠$F
  15318.         ¡á {$F+}  ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ /$F+ ¿½¿ ß »«¼«Θ∞ε
  15319.         »áαá¼ÑΓαá Force Far Calls (êß»«½∞º«óáΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá) ó ñ¿-
  15320.         á½«ú«ó«¼  ¼Ñ¡ε  Options│Compiler (Åáαá¼ÑΓαδ│諼»¿½∩Γ«α) ßαÑñδ IDE
  15321.         ¿¡ΓÑαá¬Γ¿ó¡«ú« ¬«¼»¿½∩Γ«αá. Å« ßαáó¡Ñ¡¿ε ß« ß¼ÑΦá¡¡δ¼ ¿ß»«½∞º«óá-
  15322.         ¡¿Ñ¼ ó맮ó«ó í½¿ª¡Ñú« ¿ ñá½∞¡Ñú« Γ¿»á ¿ß»«½∞º«óá¡¿Ñ ó맮ó«ó Γ«½∞-
  15323.         ¬« Γ¿»á FAR ¡Ñ »α¿ó«ñ¿Γ ¬ «ß«íÑ¡¡« í«½∞Φ¿¼ ñ«»«½¡¿Γѽ∞¡δ¼  ºáΓαá-
  15324.         Γá¼ »á¼∩Γ¿:  ñ½∩ φΓ«ú« ΓαÑíπÑΓß∩ «ñ¡« ñ«»«½¡¿Γѽ∞¡«Ñ ß½«ó« »α«ßΓ-
  15325.         αá¡ßΓóá ßΓѬᠡá á¬Γ¿ó¡πε »α«µÑñπαπ ¿ «ñ¿¡ ñ«»«½¡¿Γѽ∞¡δ⌐ íá⌐Γ ¡á
  15326.         ¬áªñδ⌐ ó맮ó.
  15327.  
  15328.  
  15329.  
  15330.          B.Pascal 7 & Objects/LR     - 338 -
  15331.  
  15332.                       ê¡¿µ¿á½¿ºáµ¿∩ áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó
  15333.         ─────────────────────────────────────────────────────────────────
  15334.  
  15335.              çñÑß∞ ¼δ αáßß¼«Γα¿¼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ Γ«ú«,  ¬á¬ ¿¡¿µ¿á½¿º¿-
  15336.         απÑΓß∩ áñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó (»«ñß¿ßΓѼá π»αáó½Ñ¡¿∩  «óÑα½Ñ∩¼¿).
  15337.         è«ñ  ¿¡¿µ¿á½¿ºáµ¿¿  ñ«½ªÑ¡ íδΓ∞ »«¼ÑΘÑ¡ »ÑαÑñ »Ñαóδ¼ «íαáΘÑ¡¿Ñ¼ ¬
  15338.         «óÑα½Ñ⌐¡«⌐ »α«úαá¼¼Ñ.  ê¡¿µ¿á½¿ºáµ¿ε «íδτ¡« ß½ÑñπÑΓ ñѽáΓ∞ ó «»Ñ-
  15339.         αáΓ«α¡«⌐ τáßΓ¿ »α«úαá¼¼δ.
  15340.  
  15341.              æ½ÑñπεΘá∩ τáßΓ∞ »α«úαá¼¼δ »«¬áºδóáÑΓ,  ¬á¬ ¡Ñ¼¡«ú« ΓαÑíπÑΓß∩
  15342.         ñ½∩ Γ«ú«, τΓ«íδ ¿¡¿µ¿á½¿º¿α«óáΓ∞ áñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó.
  15343.  
  15344.              begin
  15345.                OvrInit('EDITOR.OVR');
  15346.              end;
  15347.  
  15348.              Åα«óÑα¬á ¡á «Φ¿í¬¿ ¡Ñ ñѽáÑΓß∩. Å«φΓ«¼π Ñß½¿ ñ½∩ «óÑα½Ñ⌐¡«ú«
  15349.         íπΣÑαá  ¡Ñ  σóáΓáÑΓ »á¼∩Γ¿ ¿½¿ «óÑα½Ñ⌐¡δ⌐ Σá⌐½ ¡Ñ ¡á⌐ñÑ¡,  Γ« »α¿
  15350.         »«»δΓ¬Ñ  ó맮óá  «óÑα½Ñ⌐¡«⌐  »α«úαá¼¼δ  »α«¿º«⌐ñÑΓ   «Φ¿í¬á   208
  15351.         (Overlay manager not installed - "Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó ¡Ñ πßΓá-
  15352.         ¡«ó½Ñ¡").
  15353.  
  15354.              Åα¿óÑñѼ ñαπú«⌐  ¡Ñí«½∞Φ«⌐  »α¿¼Ñα,  ∩ó½∩εΘ¿⌐ß∩  αáßΦ¿αÑ¡¿Ñ¼
  15355.         »αÑñδñπΘÑú«.
  15356.  
  15357.              begin
  15358.                OvrInit('EDITOR.OVR');
  15359.                OvrInitEMS;
  15360.              end;
  15361.  
  15362.              é φΓ«¼ ß½πτáÑ, Ñß½¿ »αÑñ»«½«ª¿Γ∞, τΓ« ñ½∩ «óÑα½Ñ⌐¡«ú« íπΣÑαá
  15363.         ¿¼ÑÑΓß∩ ñ«ßΓáΓ«τ¡« »á¼∩Γ¿ ¿ τΓ« ¼«ª¡« ¡á⌐Γ¿ «óÑα½Ñ⌐¡δ⌐ Σá⌐½,  áñ-
  15364.         ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó »α«óÑα∩ÑΓ, ¿¼ÑÑΓß∩ ½¿ »á¼∩Γ∞ EMS, ¿ Ñß½¿ φΓ«
  15365.         Γá¬, ºáúαπªáÑΓ «óÑα½Ñ⌐¡δ⌐ Σá⌐½ ó αáßΦ¿αÑ¡¡πε »á¼∩Γ∞.
  15366.  
  15367.              èᬠπªÑ π»«¼¿¡á½«ß∞ αá¡ÑÑ,  ¡áτá½∞¡δ⌐ αẼÑα «óÑα½Ñ⌐¡«ú« íπ-
  15368.         ΣÑαá óδí¿αáÑΓß∩ ¼¿¡¿¼á½∞¡« ó«º¼«ª¡δ¼ ¿½¿, ¿¡áτÑ ú«ó«α∩, ¡áßΓ«½∞¬«
  15369.         í«½∞Φ¿¼,  τΓ«íδ ó¼ÑßΓ¿Γ∞ «óÑα½Ñ⌐ ¡á¿í«½∞ΦÑú« αẼÑαá. ä½∩ ¡Ñ¬«Γ«-
  15370.         αδσ »α¿¬½áñ¡δσ ºáñáτ φΓ«ú« ¼«ªÑΓ íδΓ∞ ñ«ßΓáΓ«τ¡δ¼,  «ñ¡á¬« »αÑñß-
  15371.         Γáó¿¼ ß¿Γπᵿε, »α¿ ¬«Γ«α«⌐ «ñ¡á ¿º Σπ¡¬µ¿⌐ »α«úαá¼¼δ αÑ὿ºπÑΓß∩
  15372.         ß »«¼«Θ∞ε ñóπσ ¿½¿ í«½ÑÑ  ¼«ñπ½Ñ⌐,  ¬áªñδ⌐  ¿º  ¬«Γ«αδσ  ∩ó½∩ÑΓß∩
  15373.         «óÑα½Ñ⌐¡δ¼.  àß½¿  «íΘ¿⌐ αẼÑα Γá¬¿σ ¼«ñπ½Ñ⌐ í«½∞ΦÑ,  τѼ αẼÑα
  15374.         ¡á¿í«½∞ΦÑú« «óÑα½Ñ∩,  Γ« τáßΓ«Ñ «íαáΘÑ¡¿Ñ ¼«ñπ½Ñ⌐  ñαπú  ¬  ñαπúπ
  15375.         »α¿óÑñÑΓ ¬ ¿¡Γѡ߿󡫼π ßó«»¿¡úπ.
  15376.  
  15377.              ÄτÑó¿ñ¡«, αÑΦÑ¡¿Ñ ºá¬½ετáÑΓß∩ ó Γ«¼,  τΓ«íδ πóѽ¿τ¿Γ∞ αẼÑα
  15378.         «óÑα½Ñ⌐¡«ú« íπΣÑαá Γᬿ¼ «íαẫ¼,  τΓ«íδ ó ½εí«⌐ ºáñá¡¡δ⌐  ¼«¼Ñ¡Γ
  15379.         óαѼѡ¿ ¿¼Ñ½«ß∞ ñ«ßΓáΓ«τ¡« »á¼∩Γ¿ ñ½∩ Γ«ú«, τΓ«íδ ß«ñÑαªáΓ∞ ó ßÑ-
  15380.         íÑ óßÑ «óÑα½Ñ¿,  τáßΓ« «íαáΘáεΘ¿Ñß∩ ñαπú ¬ ñαπúπ. æ½ÑñπεΘá∩ τáßΓ∞
  15381.         »α«úαá¼¼δ  »«¬áºδóáÑΓ  ¿ß»«½∞º«óá¡¿Ñ ñ½∩ πóѽ¿τÑ¡¿∩ αẼÑαá «óÑα-
  15382.         ½Ñ⌐¡«ú« íπΣÑαá »α«µÑñπαδ OvrSetBuf:
  15383.  
  15384.              const
  15385.  
  15386.          B.Pascal 7 & Objects/LR     - 339 -
  15387.  
  15388.                OvrMaxSize = 80000;
  15389.              begin
  15390.                OvrInit('EDITOR.OVR');
  15391.                OvrInitEMS;
  15392.                OvrSetBuf(OvrMaxSize);
  15393.              end;
  15394.  
  15395.              ä½∩ «»αÑñѽѡ¿∩ ¿ñÑá½∞¡«ú« αẼÑαá «óÑα½Ñ⌐¡«ú«  íπΣÑαá «íΘ¿σ
  15396.         αѬ«¼Ñ¡ñᵿ⌐  ¡ÑΓ.  Å«ñσ«ñ∩ΘÑÑ  º¡áτÑ¡¿Ñ  ¼«ª¡« «»αÑñѽ¿Γ∞ Γ«½∞¬«
  15397.         ¿¼Ñ∩ ¡Ñ¬«Γ«απε ¿¡Σ«α¼áµ¿ε « »α¿¬½áñ¡«⌐ ºáñáτ¿ ¿ φ¬ß»Ñα¿¼Ñ¡Γá½∞¡δ¼
  15398.         »πΓѼ.
  15399.  
  15400.              êß»«½∞º«óá¡¿Ñ »α«µÑñπαδ OvrInitEMS ñ½∩ αẼÑΘÑ¡¿∩ «óÑα½Ñ⌐¡«-
  15401.         ú« Σá⌐½á ó αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ¡Ñ πßΓαá¡∩ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ αáí«Γδ ß
  15402.         «óÑα½Ñ⌐¡δ¼  íπΣÑα«¼.  éÑñ∞ «óÑα½Ñ¿ »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ ΓѼ ¡Ñ ¼Ñ¡ÑÑ
  15403.         ñ«½ª¡δ ¬«»¿α«óáΓ∞ß∩ ¿º αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ó «íδτ¡πε  (Γ«  ÑßΓ∞  ó
  15404.         «óÑα½Ñ⌐¡δ⌐ íπΣÑα).  Äñ¡á¬«,  »«ß¬«½∞¬π ΓᬿѠ»ÑαÑñáτ¿ ¿º »á¼∩Γ¿ ó
  15405.         »á¼∩Γ∞ óδ»«½¡∩εΓß∩ º¡áτ¿Γѽ∞¡« íδßΓαÑÑ,  τѼ τΓÑ¡¿Ñ ß  ñ¿ß¬á,  Γ«
  15406.         ¡Ñ«íσ«ñ¿¼«ßΓ∞  πóѽ¿τÑ¡¿∩  αẼÑαá  «óÑα½Ñ⌐¡«ú« íπΣÑαá ßΓá¡«ó¿Γß∩
  15407.         ¼Ñ¡ÑÑ  «τÑó¿ñ¡«⌐.
  15408.  
  15409.              ìπª¡« ΓᬪѠ»«¼¡¿Γ∞ « Γ«¼,  τΓ« »α«µÑñπαá OvrSetBuf πóѽ¿τ¿-
  15410.         óáÑΓ αẼÑα «óÑα½Ñ⌐¡«ú« íπΣÑαá ºá ßτÑΓ π¼Ñ¡∞ΦÑ¡¿∩ αẼÑαá ñ¿¡á¼¿-
  15411.         τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿.  Æá¬¿¼ «íαẫ¼,  ñ¿¡á¼¿τÑ߬¿
  15412.         αáß»αÑñѽ∩Ѽá∩   «í½áßΓ∞  ñ«½ª¡á  íδΓ∞  »πßΓ«⌐,  ¿¡áτÑ  »α«µÑñπαá
  15413.         OvrSetBuf ¡Ñ «¬áªÑΓ ¡¿¬á¬«ú« ñÑ⌐ßΓó¿∩. àß½¿ óδ ¿ß»«½∞ºπÑΓÑ ¼«ñπ½∞
  15414.         Graph,  πíÑñ¿ΓÑß∞ ó Γ«¼, τΓ« óδ «íαáΘáÑΓÑß∞ ¬ »α«µÑñπαÑ OvrSetBuf
  15415.         »ÑαÑñ óδº«ó«¼ »α«µÑñπαδ InitGraph,  ¬«Γ«αá∩ óδñѽ∩ÑΓ »á¼∩Γ∞ ó ñ¿-
  15416.         ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.
  15417.  
  15418.              Åα¿óÑñѼ ΓÑ»Ñα∞  í«½ÑÑ  ¿ßτÑα»δóáεΘ¿⌐  »α¿¼Ñα  ¿¡¿µ¿á½¿ºáµ¿¿
  15419.         »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿, ó¬½ετáεΘÑ⌐ ó ßÑí∩ »«½¡πε »α«óÑα-
  15420.         ¬π ¡á ó«º¼«ª¡«Ñ ó«º¡¿¬¡«óÑ¡¿Ñ «Φ¿í«¬.
  15421.  
  15422.              const
  15423.                OvrMaxSize = 80000;
  15424.              var
  15425.                OvrName: string[79];
  15426.                Size: Longint;
  15427.              begin
  15428.                OvrName:='EDITOR.OVR';
  15429.                repeat
  15430.                  OvrInit(OvrName);
  15431.                  if OvrResult=ovrNotFound then
  15432.                  begin
  15433.                    WriteLn('ÄóÑα½Ñ⌐¡δ⌐ Σá⌐½ ¡Ñ ¡á⌐ñÑ¡');
  15434.                    WriteLn('éóÑñ¿ΓÑ »αáó¿½∞¡«Ñ ¿¼∩ «óÑα½Ñ⌐¡«ú« Σá⌐½á:');
  15435.                    ReadLn(OvrName);
  15436.                  end;
  15437.                 until OvrResult<>ovrNotFound;
  15438.                 if OvrResult<>ovrOk then
  15439.                 begin
  15440.                   WriteLn('ÄΦ¿í¬á áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó.')
  15441.  
  15442.          B.Pascal 7 & Objects/LR     - 340 -
  15443.  
  15444.                   Halt(1);
  15445.                 end;
  15446.                 OvrInEMS;
  15447.                 if OvrResult<>OvrOk then
  15448.                 begin
  15449.                   case OvrResult of
  15450.                     ovrIOError:      Write('ÄΦ¿í¬á óó«ñá-óδó«ñá',
  15451.                                             ' «óÑα½Ñ⌐¡«ú« Σá⌐½á');
  15452.                     ovrNoEMSDriver:  Write('äαá⌐óÑα EMS ¡Ñ',
  15453.                                             ' πßΓá¡«ó½Ñ¡');
  15454.                     ovrNoEMSMemory:  Write('ìÑ σóáΓáÑΓ αáßΦ¿αÑ¡¡«⌐',
  15455.                                             ' »á¼∩Γ¿');
  15456.                 end;
  15457.                 Write('. ì᪼¿ΓÑ ¬½áó¿Φπ Enter...');
  15458.                 ReadLn;
  15459.               end;
  15460.               OvrSetBuf(OvrMaxSize);
  15461.              end;
  15462.  
  15463.              æ¡áτá½á, Ñß½¿  »α¿¡∩Γ«Ñ  »«  π¼«½τá¡¿ε ¿¼∩ «óÑα½Ñ⌐¡«ú« Σá⌐½á
  15464.         í佫 ¡ÑóÑα¡δ¼,  »«½∞º«óáΓѽε íπñÑΓ óδó«ñ¿Γ∞ß∩ »«ñ߬Ậᠡá óóÑñÑ-
  15465.         ¡¿Ñ »αáó¿½∞¡«ú« ¿¼Ñ¡¿ Σá⌐½á.
  15466.  
  15467.              äá½ÑÑ »α«óÑα∩εΓß∩ ñαπú¿Ñ «Φ¿í¬¿, ¬«Γ«αδÑ ¼«úπΓ »α«¿º«⌐Γ¿ »α¿
  15468.         ¿¡¿µ¿á½¿ºáµ¿¿. é ß½πτáÑ «í¡áαπªÑ¡¿∩ «Φ¿í¬¿ »α«úαἼᠫßΓá¡áó½¿óá-
  15469.         ÑΓß∩, Γᬠ¬á¬ «Φ¿í¬¿ ó OvrInit ∩ó½∩εΓß∩ ΣáΓá½∞¡δ¼¿. (àß½¿ «¡¿ ¿ú-
  15470.         ¡«α¿απεΓß∩,  Γ« »α¿ »Ñαó«¼ «íαáΘÑ¡¿¿ ¬  «óÑα½Ñ⌐¡«⌐  »α«úαἼѠ ó«
  15471.         óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«¿º«⌐ñÑΓ «Φ¿í¬á.)
  15472.  
  15473.              àß½¿ »αÑñ»«½«ª¿Γ∞, τΓ« ¿¡¿µ¿á½¿ºáµ¿∩ »α«σ«ñ¿Γ πß»ÑΦ¡«, ñá½ÑÑ
  15474.         ñ½∩ ºáúαπº¬¿ «óÑα½Ñ⌐¡«ú« Σá⌐½á ó  αáßΦ¿αÑ¡¡πε  »á¼∩Γ∞  (Ñß½¿  φΓ«
  15475.         ó«º¼«ª¡«) óδ»«½¡∩ÑΓß∩ «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ OvrInitEMS.  é ß½πτáÑ
  15476.         «Φ¿í¬¿ ¡á φ¬αá¡ óδó«ñ¿Γß∩ ñ¿áú¡«ßΓ¿τÑ߬«Ñ ß««íΘÑ¡¿Ñ, «ñ¡á¬« »α«ú-
  15477.         αἼᠡѠ«ßΓá¡áó½¿óáÑΓß∩. é¼ÑßΓ« φΓ«ú« «¡á »α«ßΓ« »α«ñ«½ªáÑΓ ßτ¿-
  15478.         ΓδóáΓ∞ «óÑα½Ñ¿ ß ñ¿ß¬á.
  15479.  
  15480.              ìᬫ¡Ñµ, ñ½∩ ºáñá¡¿∩ º¡áτÑ¡¿∩  αẼÑαá  «óÑα½Ñ⌐¡«ú«  íπΣÑαá,
  15481.         «»αÑñѽѡ¡«ú«  ß  »«¼«Θ∞ε  á¡á½¿ºá  ¿½¿ φ¬ß»Ñα¿¼Ñ¡Γá ß ¬«¡¬αÑΓ¡«⌐
  15482.         »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐,  óδºδóáÑΓß∩ »α«µÑñπαá  OvrSetBuf.  ÄΦ¿í¬¿,
  15483.         ¬«Γ«αδÑ ¼«úπΓ ó«º¡¿¬¡πΓ∞ »α¿ óδ»«½¡Ñ¡¿¿ ñá¡¡«⌐ »α«µÑñπαδ, ¿ú¡«α¿-
  15484.         απεΓß∩, σ«Γ∩ OvrResult ¼«ªÑΓ ó«ºóαáΘáΓ∞ ¬«ñ ó«ºóαáΓá »« «Φ¿í¬Ñ -3
  15485.         (OvrNoMemory).  àß½¿  »á¼∩Γ¿ ¡Ññ«ßΓáΓ«τ¡«,  »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩
  15486.         «óÑα½Ñ∩¼¿ íπñÑΓ »α«ßΓ« »α«ñ«½ªáΓ∞ ¿ß»«½∞º«óáΓ∞ íπΣÑα ¼¿¡¿¼á½∞¡«ú«
  15487.         αẼÑαá, óδñѽѡ¡δ⌐ »α¿ ºá»π߬Ѡ»α«úαá¼¼δ.
  15488.  
  15489.  
  15490.  
  15491.          B.Pascal 7 & Objects/LR     - 341 -
  15492.  
  15493.                    ÉáºñÑ½δ ¿¡¿µ¿á½¿ºáµ¿¿ ó «óÑα½Ñ⌐¡δσ ¼«ñπ½∩σ
  15494.         ─────────────────────────────────────────────────────────────────
  15495.  
  15496.              Ç¡á½«ú¿τ¡« ßΓáΓ¿τÑ߬¿¼ ¼«ñπ½∩¼ «óÑα½Ñ⌐¡δÑ ¼«ñπ½¿  ¼«úπΓ  ß«-
  15497.         ñÑαªáΓ∞ ßѬµ¿ε  ¿¡¿µ¿á½¿ºáµ¿¿.  ò«Γ∩ «óÑα½Ñ⌐¡δ⌐ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿
  15498.         ¡Ñ «Γ½¿τáÑΓß∩ «Γ «íδτ¡«ú« ¬«ñá ¿¡¿µ¿á½¿ºáµ¿¿, áñ¼¿¡¿ßΓαáΓ«α «óÑα-
  15499.         ½ÑÑó ñ«½ªÑ¡ »Ñαó«¡áτá½∞¡« ¿¡¿µ¿á½¿º¿α«óáΓ∞ß∩ Γᬿ¼ «íαẫ¼, τΓ«íδ
  15500.         «¡ ¼«ú ºáúαπªáΓ∞ ¿ óδ»«½¡∩Γ∞ «óÑα½Ñ⌐¡δÑ ¼«ñπ½¿.
  15501.  
  15502.              éº∩ó ó  ¬áτÑßΓóÑ  »α¿¼Ñαá  αá¡ÑÑ   αáßß¼«ΓαÑ¡¡πε   »α«úαá¼¼π
  15503.         Editor,  »αÑñ»«½«ª¿¼,  τΓ«  ¼«ñπ½¿  EdInOut ¿ EdMain ß«ñÑαªáΓ ¬«ñ
  15504.         ¿¡¿µ¿á½¿ºáµ¿¿.  Åα¿ φΓ«¼ ΓαÑíπÑΓß∩, τΓ«íδ »α«µÑñπαá OvrInit óδºδ-
  15505.         óá½áß∞  »ÑαÑñ ¬«ñ«¼ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ EdInOut,  ¿ Ññ¿¡ßΓóÑ¡¡δ⌐
  15506.         ß»«ß«í «ßπΘÑßΓó¿Γ∞ φΓ« ß«ßΓ«¿Γ ó« óóÑñÑ¡¿¿  ñ«»«½¡¿Γѽ∞¡«ú«  ¡Ñ«-
  15507.         óÑα½Ñ⌐¡«ú«  ¼«ñπ½∩,  ¬«Γ«αδ⌐  ß½ÑñπÑΓ  »ÑαÑñ EdInOut ¿ óδºδóáÑΓ ó
  15508.         ßó«Ñ¼ αáºñѽѠ¿¡¿µ¿á½¿ºáµ¿¿ »α«µÑñπαπ OvrInit.
  15509.  
  15510.              unit EdInit;
  15511.              interface
  15512.              implementation
  15513.              uses Overlay;
  15514.              const
  15515.                OvrMaxSize = 80000;
  15516.              begin
  15517.                OvrInit('EDITOR.OVR');
  15518.                OvrInitEMS;
  15519.                OvrSetBuf(OvrMaxSize);
  15520.              end.
  15521.  
  15522.              é «»ÑαáΓ«αÑ uses »α«úαá¼¼δ ¼«ñπ½∞  EdInit  ñ«½ªÑ¡  ß½Ññ«óáΓ∞
  15523.         »ÑαÑñ óßѼ¿ «óÑα½Ñ⌐¡δ¼¿ ¼«ñπ½∩¼¿:
  15524.  
  15525.              program Editor;
  15526.              {$F}
  15527.              uses
  15528.               Overlay,Crt,Dos,EdInit,EdInOut,EdFormat,EdPrint,EdMain;
  15529.              {$O EdInOut }
  15530.              {$O EdFormat }
  15531.              {$O EdPrint }
  15532.              {$O EdFind }
  15533.              {$O EdMain }
  15534.  
  15535.              é «íΘѼ  ß½πτáÑ,  σ«Γ∩  ¿ß»«½∞º«óá¡¿Ñ  ¬«ñá  ¿¡¿µ¿á½¿ºáµ¿¿ ó
  15536.         «óÑα½Ñ⌐¡δσ ¼«ñπ½∩σ ¿ ñ«»π߬áÑΓß∩,  »« α∩ñπ »α¿τ¿¡ Ñú« ß½ÑñπÑΓ ¿º-
  15537.         íÑúáΓ∞.
  15538.  
  15539.              é«-»Ñαóδσ, ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿, ñáªÑ Ñß½¿ «¡ óδ»«½¡∩ÑΓß∩ Γ«½∞-
  15540.         ¬« «ñ¿¡ αáº,  ∩ó½∩ÑΓß∩ τáßΓ∞ε «óÑα½Ñ∩ ¿ íπñÑΓ ºá¡¿¼áΓ∞ »α«ßΓαá¡ß-
  15541.         Γó«  ó «óÑα½Ñ⌐¡«¼ íπΣÑαÑ »α¿ ¬áªñ«⌐ ºáúαπº¬Ñ «óÑα½Ñ∩.  é«-óΓ«αδσ,
  15542.         Ñß½¿ í«½∞Φ«Ñ τ¿ß½« «óÑα½Ñ⌐¡δσ ¼«ñπ½Ñ⌐ ß«ñÑαªáΓ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿,
  15543.         ¬áªñδ⌐ ¿º ¡¿σ »α¿ñÑΓß∩ ßτ¿ΓδóáΓ∞ ó »á¼∩Γ∞ »α¿ ºáúαπº¬Ñ »α«úαá¼¼δ.
  15544.  
  15545.              ìἡ«ú« í«½ÑÑ  »α¿ó½Ñ¬áΓѽ∞¡δ⌐  »«ñσ«ñ ß«ßΓ«¿Γ ó Γ«¼,  τΓ«íδ
  15546.  
  15547.          B.Pascal 7 & Objects/LR     - 342 -
  15548.  
  15549.         ß«íαáΓ∞ óÑß∞ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿ ó «óÑα½Ñ⌐¡δ⌐ ¼«ñπ½∞ ¿¡¿µ¿á½¿ºáµ¿¿,
  15550.         ¬«Γ«αδ⌐ óδºδóáÑΓß∩ Γ«½∞¬« «ñ¿¡ αẠ»α¿ ºáúαπº¬Ñ »α«úαá¼¼δ ¿ ¬ ¬«-
  15551.         Γ«α«¼π ºáΓѼ »α«úαἼᠡѠ«íαáΘáÑΓß∩.
  15552.  
  15553.                 ùΓ« ¡Ñ ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ «óÑα½ÑÑó
  15554.         ─────────────────────────────────────────────────────────────────
  15555.  
  15556.              ÄΓñѽ∞¡δÑ ¼«ñπ½¿ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩,  ¬á¬ «óÑα½Ñ⌐¡δÑ. é
  15557.         τáßΓ¡«ßΓ¿,  ¡Ñ »δΓá⌐ΓÑß∞ ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ «óÑα½Ñ⌐¡δσ ¼«ñπ-
  15558.         ½Ñ⌐ ß½ÑñπεΘ¿Ñ:
  15559.  
  15560.              1.  î«ñπ½¿, ß¬«¼»¿½¿α«óá¡¡δÑ ß ñ¿αÑ¬Γ¿ó«⌐ {$O-}. àß½¿ óδ »δ-
  15561.                  ΓáÑΓÑß∞ ¿ß»«½∞º«óáΓ∞ ¬á¬ «óÑα½Ñ⌐¡δ⌐ ¼«ñπ½∞,  ¬«Γ«αδ⌐  ¡Ñ
  15562.                  íδ½ ß¬«¼»¿½¿α«óá¡ ß ñ¿αÑ¬Γ¿ó«⌐ {$O+},  Γ« ¬«¼»¿½∩Γ«α óδ-
  15563.                  ñáÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.  Æá¬¿¼¿ ¡Ñ«óÑα½Ñ⌐¡δ¼¿ ¼«ñπ½∩¼¿
  15564.                  ∩ó½∩εΓß∩ ¼«ñπ½¿ System,  Overlay,  Crt,  Graph, Turbo3 ¿
  15565.                  Graph3.
  15566.  
  15567.              2.  î«ñπ½¿,  ¬«Γ«αδÑ ß«ñÑαªáΓ ñαá⌐óÑαδ »αÑαδóá¡¿⌐. êº-ºá Γ«-
  15568.                  ú«, τΓ« ßá¼á «»Ñαᵿ«¡¡á∩ ß¿ßΓѼá DOS ¿¼ÑÑΓ ¡Ñ«óÑα½Ñ⌐¡πε
  15569.                  ßΓαπ¬Γπαπ,   ¼«ñπ½¿,  αÑ὿ºπεΘ¿Ñ  »α«µÑñπαδ  »αÑαδóá¡¿⌐
  15570.                  (interrupt), ¡Ñ ñ«½ª¡δ íδΓ∞ «óÑα½Ñ⌐¡δ¼¿. é ¬áτÑßΓóÑ »α¿-
  15571.                  ¼Ñαá  Γᬫú«  ¼«ñπ½∩  ¼«ª¡«  »α¿óÑßΓ¿ ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞
  15572.                  Crt, αÑ὿ºπεΘ¿⌐ ñαá⌐óÑα «íαáí«Γ¬¿ »αÑαδóá¡¿∩, ó«º¡¿¬áε-
  15573.                  ΘÑú« »α¿ ¡áªáΓ¿¿ ¬½áó¿Φ Ctrl+Break.
  15574.  
  15575.              3.  äαá⌐óÑαδ  BGI  ¿½¿ Φα¿ΣΓδ,  ºáαÑú¿ßΓα¿α«óá¡¡δÑ ß »«¼«Θ∞ε
  15576.                  ó맮óá      »«ñ»α«úαá¼¼      RegisterBGIdriver       ¿½¿
  15577.                  RegisterBGIfont.
  15578.  
  15579.              Çñ¼¿¡¿ßΓαáΓ«α«¼ «óÑα½ÑÑó Borland Pascal »«½¡«ßΓ∞ε  »«ññÑন-
  15580.         óáÑΓß∩ ó맮ó «óÑα½Ñ⌐¡δσ »α«µÑñπα ß »«¼«Θ∞ε π¬áºáΓѽÑ⌐ »α«µÑñπα. é
  15581.         ¬áτÑßΓóÑ »α¿¼Ñα«ó ¿ß»«½∞º«óá¡¿∩ π¬áºáΓѽÑ⌐ »α«µÑñπα ¼«ª¡« »α¿óÑß-
  15582.         Γ¿  »α«µÑñπαδ  ºáóÑαΦÑ¡¿∩ ¿ ñαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐-
  15583.         ½«ó.
  15584.  
  15585.              Ç¡á½«ú¿τ¡«, »«½¡«ßΓ∞ε   »«ññÑনóáÑΓß∩  »ÑαÑñáτá  «óÑα½Ñ⌐¡δσ
  15586.         »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó  ¬áτÑßΓóÑ  »áαá¼ÑΓα«ó  »α«µÑñπα¡«ú«  Γ¿»á  ¿
  15587.         »α¿ßóá¿óá¡¿Ñ «óÑα½Ñ⌐¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ »ÑαѼѡ¡δ¼ »α«µÑñπα¡«-
  15588.         ú« Γ¿»á.
  15589.  
  15590.  
  15591.  
  15592.          B.Pascal 7 & Objects/LR     - 343 -
  15593.  
  15594.                                 ÄΓ½áñ¬á «óÑα½ÑÑó
  15595.         ─────────────────────────────────────────────────────────────────
  15596.  
  15597.              ü«½∞Φ¿¡ßΓó« «Γ½áñτ¿¬«ó «í½áñáεΓ óÑß∞¼á «úαá¡¿τÑ¡¡δ¼¿ ó«º¼«ª-
  15598.         ¡«ßΓ∩¼¿ «Γ½áñ¬¿ «óÑα½ÑÑó,  Ñß½¿ «¡¿ ó««íΘÑ «í½áñáεΓ Γᬿ¼¿ ßαÑñß-
  15599.         ΓóἿ. ¥Γ«ú« ¡Ñ½∞º∩ ß¬áºáΓ∞ « Borland Pascal  ¿  Æπαí«  «Γ½áñτ¿¬Ñ
  15600.         (Turbo Debugger).  éßΓα«Ñ¡¡δ⌐ «Γ½áñτ¿¬ »«½¡«ßΓ∞ε »«ññÑনóáÑΓ »α¿
  15601.         αáí«ΓÑ ß «óÑα½Ñ∩¼¿ »«Φáú«óδ⌐ αѪ¿¼ ¿  Γ«τ¬¿  «ßΓá¡«óá,  ¿ß»«½∞ºπ∩
  15602.         »α¿ φΓ«¼ ¼ÑΓ«ñ,  »«½¡«ßΓ∞ε »α«ºαáτ¡δ⌐ ñ½∩ »«½∞º«óáΓѽ∩. æ »«¼«Θ∞ε
  15603.         «óÑα½ÑÑó óδ ½Ñú¬« ¼«ªÑΓÑ ¬«¡ßΓαπ¿α«óáΓ∞ ¿  «Γ½áª¿óáΓ∞  »α¿¬½áñ¡δÑ
  15604.         »á¬ÑΓδ í«½∞Φ«ú« «íΩѼá.  éßÑ φΓ« ¼«ª¡« ñѽáΓ∞ ¬á¬ ß »«¼«Θ∞ε Æπαí«
  15605.         «Γ½áñτ¿¬á, Γᬠ¿ ¿º ¿¡ΓÑαá¬Γ¿ó¡«⌐ ßαÑñδ ¬«¼»¿½∩Γ«αá IDE.
  15606.  
  15607.  
  15608.                           é¡ÑΦ¡¿Ñ »α«úαá¼¼δ ó «óÑα½Ñ∩σ
  15609.         ─────────────────────────────────────────────────────────────────
  15610.  
  15611.              Ç¡á½«ú¿τ¡« «íδτ¡δ¼ »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼ Borland Pascal  »α¿
  15612.         ¿ß»«½∞º«óá¡¿¿  ó¡ÑΦ¡¿σ »α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ñ½∩ «íÑß»ÑτÑ-
  15613.         ¡¿∩ ¬«ααÑ¬Γ¡«⌐ αáí«Γδ »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ ñ«½ª¡δ ß«í-
  15614.         ½εñáΓ∞ß∩ «»αÑñѽѡ¡δÑ »αáó¿½á »α«úαá¼¼¿α«óá¡¿∩.
  15615.  
  15616.              àß½¿ ó  »α«úαἼѠ¡á ∩ºδ¬Ñ áßßѼí½Ñαá «ßπΘÑßΓó½∩ÑΓß∩ «íαáΘÑ-
  15617.         ¡¿Ñ ¬ ½εí«⌐ «óÑα½Ñ⌐¡«⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿,  Γ« ó »α«úαἼѠáß-
  15618.         ßѼí½Ñαá ñ«½ªÑ¡  ¿ß»«½∞º«óáΓ∞ß∩  ñá½∞¡¿⌐ Γ¿» ó맮óá,  ¿ ß »«¼«Θ∞ε
  15619.         αÑú¿ßΓαá BP ñ«½ª¡δ  íδΓ∞  πßΓá¡«ó½Ñ¡δ  úαá¡¿µδ  ßΓѬá.  ìá»α¿¼Ñα,
  15620.         »αÑñ»«½«ª¿¼,  τΓ« OtherProc ∩ó½∩ÑΓß∩ «óÑα½Ñ⌐¡«⌐ »α«µÑñπα«⌐ ó ñαπ-
  15621.         ú«¼ ¼«ñπ½Ñ ¿ ÑÑ óδºδóáÑΓ »α«úαá¼¼á ExternProc ¡á ∩ºδ¬Ñ  áßßѼí½Ñ-
  15622.         αá.  Æ«úñá »α«úαá¼¼á ExternProc ñ«½ª¡á ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá ¿
  15623.         πßΓá¡áó½¿óáΓ∞ úαá¡¿µδ ßΓѬá ß½ÑñπεΘ¿¼ «íαẫ¼:
  15624.  
  15625.              ExternProc      PROC       FAR
  15626.                    PUSH      bp         ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
  15627.                    mov       bp,sp      ; πßΓá¡«ó¿Γ∞ úαá¡¿µδ ßΓѬá
  15628.                    SUB       sp,LocalSize ; óδñѽ¿Γ∞ ½«¬á½∞¡δÑ
  15629.                                         ;   »ÑαѼѡ¡δÑ
  15630.                    ...
  15631.                    CALL      OtherProc  ; óδºóáΓ∞ ñαπú«⌐ «óÑα½Ñ⌐¡δ⌐
  15632.                                         ; ¼«ñπ½∞
  15633.                    ...
  15634.                    mov       sp,bp      ; «Γ¼Ñ¡¿Γ∞ ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ
  15635.                    pop       bp         ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
  15636.                    RET       ParamSize  ; ó«ºóαáΓ π»αáó½Ñ¡¿∩
  15637.              ExternProc      ENDP
  15638.  
  15639.         úñÑ LocalSize »αÑñßΓáó½∩ÑΓ ß«í«⌐ αẼÑα ½«¬á½∞¡δσ  »ÑαѼѡ¡δσ,  á
  15640.         ParamSize  - αẼÑα »áαá¼ÑΓα«ó.  àß½¿ º¡áτÑ¡¿Ñ LocalSize αáó¡« 0,
  15641.         Γ« ñóÑ ßΓ᫬¿,  ó ¬«Γ«αδσ óδñѽ∩εΓß∩ ¿ π¡¿τΓ«ªáεΓß∩ ½«¬á½∞¡δÑ »Ñ-
  15642.         αѼѡ¡δÑ, ¼«ª¡« «»πßΓ¿Γ∞.
  15643.  
  15644.              àß½¿ ó  »α«úαἼѠ ExternProc  ¿¼ÑεΓß∩  ¬«ßóÑ¡¡δÑ  ßß佬¿ ¡á
  15645.         «óÑα½Ñ⌐¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  Γ« φΓ¿ ΓαÑí«óá¡¿∩ «ßΓáεΓß∩  ΓѼ¿
  15646.         ªÑ. ìá»α¿¼Ñα, Ñß½¿ »α«µÑñπαá OtherProc óδºδóáÑΓ «óÑα½Ñ⌐¡δÑ »α«µÑ-
  15647.  
  15648.          B.Pascal 7 & Objects/LR     - 344 -
  15649.  
  15650.         ñπαδ ¿½¿ Σπ¡¬µ¿¿,  ¡« ßá¼á ¡Ñ ∩ó½∩ÑΓß∩ «óÑα½Ñ⌐¡«⌐,  Γ«  »α«úαá¼¼á
  15651.         ExternProc ñ«½ª¡á, ΓѼ ¡Ñ ¼Ñ¡ÑÑ, ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá ¿ πßΓá-
  15652.         ¡áó½¿óáΓ∞ úαá¡¿µδ ßΓѬá.
  15653.  
  15654.              é Γ«¼ ß½πτáÑ,  Ñß½¿ ó »α«úαἼѠ¡á ∩ºδ¬Ñ áßßѼí½Ñαá  «ΓßπΓß-
  15655.         ΓóπεΓ  »α∩¼δÑ  ¿½¿  ¬«ßóÑ¡¡δÑ  ßß佬¿ ¡á «óÑα½Ñ⌐¡δÑ »α«µÑñπαδ ¿½¿
  15656.         Σπ¡¬µ¿¿, Γ« ¡¿¬á¬¿σ ß»Ñµ¿á½∞¡δσ ΓαÑí«óá¡¿⌐ ß«í½εñáΓ∞ß∩ ¡Ñ ñ«½ª¡«:
  15657.         »α«úαá¼¼á áßßѼí½ÑαÑ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ í½¿ª¡¿⌐ Γ¿» ó맮óá  ¿  ¡Ñ
  15658.         πßΓá¡áó½¿óáΓ∞ úαá¡¿µ ßΓѬá.
  15659.  
  15660.              ÄóÑα½Ñ⌐¡δÑ »α«úαá¼¼δ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¡Ñ ñ«½ª¡δ ß«ºñáóáΓ∞
  15661.         »ÑαѼѡ¡δσ ó  ßÑú¼Ñ¡ΓÑ  ¬«ñá,  »«ß¬«½∞¬π »α¿ «ßó«í«ªñÑ¡¿¿ «óÑα½Ñ∩
  15662.         ½εíδÑ ¿º¼Ñ¡Ñ¡¿∩,  ó¡ÑßÑ¡¡δÑ ó «óÑα½Ñ⌐¡δ⌐ ßÑú¼Ñ¡Γ ¬«ñá,  ΓÑα∩εΓß∩.
  15663.         Ç¡á½«ú¿τ¡«,  ¡Ñ  ß½ÑñπÑΓ ßτ¿ΓáΓ∞,  τΓ« π¬áºáΓѽ¿ ¡á αẼÑΘÑ¡¡δÑ ó
  15664.         «óÑα½Ñ⌐¡«¼ ßÑú¼Ñ¡ΓÑ ¬«ñá «íΩѬΓδ  «ßΓá¡πΓß∩  ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿  »α¿
  15665.         ó맮óÑ ñαπú¿σ «óÑα½ÑÑó, »«ß¬«½∞¬π »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿
  15666.         ¼«ªÑΓ ßó«í«ñ¡« »ÑαѼÑΘáΓ∞ ¿ «ßó«í«ªñáΓ∞ «óÑα½Ñ⌐¡δÑ ßÑú¼Ñ¡Γδ ¬«ñá.
  15667.  
  15668.  
  15669.  
  15670.          B.Pascal 7 & Objects/LR     - 345 -
  15671.  
  15672.                          çáñá¡¿Ñ Σπ¡¬µ¿¿ τΓÑ¡¿∩ «óÑα½Ñ∩
  15673.         ─────────────────────────────────────────────────────────────────
  15674.  
  15675.              ÅÑαѼѡ¡á∩ OvrReadBuf  »«ºó«½∩ÑΓ  óá¼ »ÑαÑσóáΓδóáΓ∞ «»Ñαᵿ¿
  15676.         ºáúαπº¬¿ «óÑα½ÑÑó. ìá»α¿¼Ñα, óδ ¼«ªÑΓÑ αÑ὿º«óáΓ∞ «íαáí«Γ¬π «Φ¿-
  15677.         í«¬ ¿½¿  »α«óÑα¬π  ¡á½¿τ¿∩  ß¼Ñ¡¡«ú« ñ¿ß¬á.  è«úñá áñ¼¿¡¿ßΓαáΓ«απ
  15678.         «óÑα½ÑÑó ΓαÑíπÑΓß∩ ßτ¿ΓáΓ∞ «óÑα½Ñ⌐,  «¡ óδºδóáÑΓ  Σπ¡¬µ¿ε,  áñαÑß
  15679.         ¬«Γ«α«⌐ ºá»¿ßá¡  ó  OverReadBuf.  àß½¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡π½Ñó«Ñ
  15680.         º¡áτÑ¡¿Ñ, Γ« áñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó  »αÑñ»«½áúáÑΓ,  τΓ«  «»Ñαᵿ∩
  15681.         íδ½á  πß»ÑΦ¡«⌐.  àß½¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡Ñ¡π½Ñó«⌐ αѺπ½∞ΓáΓ,  Γ«
  15682.         ¬«¼»¿½∩Γ«α  úÑ¡Ñα¿απÑΓ  «Φ¿í¬π  φΓá»á  óδ»«½¡Ñ¡¿∩  209.  Åáαá¼ÑΓα
  15683.         OvrSeg π¬áºδóáÑΓ,  ¬á¬«⌐ ¿¼Ñ¡¡« «óÑα½Ñ⌐ ΓαÑíπÑΓß∩ ºáúαπº¿Γ∞,  ¡«,
  15684.         ¬á¬ óδ ñá½ÑÑ πó¿ñ¿ΓÑ, óá¼ φΓá ¿¡Σ«α¼áµ¿∩ ¡Ñ »«ΓαÑíπÑΓß∩.
  15685.  
  15686.              ùΓ«íδ πßΓá¡«ó¿Γ∞ ßó«ε ß«íßΓóÑ¡¡πε  Σπ¡¬µ¿ε  τΓÑ¡¿∩  «óÑα½Ñ∩,
  15687.         óá¼ ¡πª¡«  ß¡áτá½á ß«σαá¡¿Γ∞ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ OvrReadBuf ó »Ñ-
  15688.         αѼѡ¡«⌐ Γ¿»á OvrReadFunc,  á  ºáΓѼ  »α¿ßó«¿Γ∞  OvrReadBuf  óáΦπ
  15689.         Σπ¡¬µ¿ε τΓÑ¡¿∩  «óÑα½Ñ∩.  é  ßó«Ñ⌐ Σπ¡¬µ¿¿ τΓÑ¡¿∩ óá¼ ß½ÑñπÑΓ ñ½∩
  15690.         óδ»«½¡Ñ¡¿∩ Σá¬Γ¿τÑ߬«⌐  «»Ñαᵿ¿  ºáúαπº¬¿  óδºóáΓ∞   ß«σαá¡Ñ¡¡πε
  15691.         Σπ¡¬µ¿ε τΓÑ¡¿∩  «óÑα½Ñ∩.  ïεíδÑ  ¡πª¡δÑ óá¼ »α«óÑન ñ«»πßΓ¿¼«ßΓ¿
  15692.         (ΓᬿѠ¬á¬ »α«óÑα¬á ¡á½¿τ¿∩ ß¼Ñ¡¡«ú« ñ¿ß¬á) ß½ÑñπÑΓ óδ»«½¡∩Γ∞ »Ñ-
  15693.         αÑñ óδº«ó«¼ ß«σαá¡Ñ¡¡«⌐ Σπ¡¬µ¿¿ τΓÑ¡¿∩,  á óßÑ »α«óÑન ¡á «Φ¿í¬¿
  15694.         ß½ÑñπÑΓ óδ»«½¡∩Γ∞ »«ß½Ñ ó맮óá.
  15695.  
  15696.                    Åα¿¼Ñτá¡¿Ñ: ìÑ »δΓá⌐ΓÑß∞  óδºδóáΓ∞  ¿º  ßó«Ñ⌐  Σπ¡¬µ¿¿
  15697.               τΓÑ¡¿∩  «óÑα½Ñ∩  ¬á¬¿Ñ-½¿í«  «óÑα½Ñ⌐¡δÑ  »«ñ»α«úαá¼¼δ - φΓ«
  15698.               »α¿óÑñÑΓ ¬ ßí«ε ß¿ßΓѼδ.
  15699.  
  15700.              è«ñ ñ½∩ πßΓᡫ󬿠Σπ¡¬µ¿¿ τΓÑ¡¿∩  «óÑα½Ñ∩  ñ«½ªÑ¡  ß½Ññ«óáΓ∞
  15701.         ¡Ñ»«ßαÑñßΓóÑ¡¡« »«ß½Ñ  ó맮óá  OvrInit;  ó φë༫¼Ñ¡Γ OvrReadBuf
  15702.         íπñÑΓ ß«ñÑαªáΓ∞ áñαÑß ¿ß»«½∞ºπѼ«⌐ »« π¼«½τá¡¿ε Σπ¡¬µ¿¿ τΓÑ¡¿∩  ß
  15703.         ñ¿ß¬á.
  15704.  
  15705.              àß½¿ óδ  ΓᬪѠ óδºδóáÑΓÑ  OvrInitEMS,  «¡á  ¿ß»«½∞ºπÑΓ óáΦπ
  15706.         Σπ¡¬µ¿ε τΓÑ¡¿∩ ñ½∩ τΓÑ¡¿∩ «óÑα½ÑÑó ß ñ¿ß¬á ó »á¼∩Γ∞ EMS, ¿ ó ß½π-
  15707.         τáÑ «ΓßπΓßΓó¿∩  «Φ¿í«¬  ß«σαá¡∩ÑΓ áñαÑß ¿ß»«½∞ºπѼ«⌐ »« π¼«½τá¡¿ε
  15708.         Σπ¡¬µ¿¿ τΓÑ¡¿∩ ó EMS ó OvrReadBuf. àß½¿ óδ σ«Γ¿ΓÑ ΓᬪѠ»ÑαÑ«»αÑ-
  15709.         ñѽ¿Γ∞ Σπ¡¬µ¿ε  τΓÑ¡¿∩  ó  EMS,  »α«ßΓ«  »«óΓ«α¿ΓÑ  »«ß½Ñ  ó맮óá
  15710.         OvrInitEMS »α«µÑßß πßΓá¡«ó¬¿.
  15711.  
  15712.              êß»«½∞ºπѼá∩ »« π¼«½τá¡¿ε Σπ¡¬µ¿∩ τΓÑ¡¿∩ ß  ñ¿ß¬á  ó  ß½πτáÑ
  15713.         πß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩ ó«ºóαáΘáÑΓ 0. é »α«Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓ-
  15714.         ß∩ ¬«ñ «Φ¿í¬¿ DOS.  Ç¡á½«ú¿τ¡«, ¿ß»«½∞ºπѼá∩ »« π¼«½τá¡¿ε Σπ¡¬µ¿∩
  15715.         τΓÑ¡¿∩ ¿º EMS ó ß½πτáÑ πß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩ ó«ºóαáΘáÑΓ 0.  é »α«-
  15716.         Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓß∩ ¬«ñ «Φ¿í¬¿ EMS («Γ $80 ñ«  $FF).  Å«ñ-
  15717.         α«í¡« ¬«ñδ «Φ¿í«¬ DOS «»¿ßδóáεΓß∩ ó "æ»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »α«ú-
  15718.         αá¼¼¿ßΓá". è«ñδ «Φ¿í«¬ EMS ¼«ª¡« ¡á⌐Γ¿ ó ñ«¬π¼Ñ¡Γᵿ¿ »« EMS.
  15719.  
  15720.              æ½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ »α«úαá¼¼δ »«¬áºδóáÑΓ,  ¬á¬ ¡á»¿ßáΓ∞ ¿ πß-
  15721.         Γá¡«ó¿Γ∞ Σπ¡¬µ¿ε  τΓÑ¡¿∩  «óÑα½Ñ∩.  ì«óá∩  Σπ¡¬µ¿∩ τΓÑ¡¿∩ «óÑα½Ñ∩
  15722.         »«óΓ«α¡« óδºδóáÑΓ ß«σαá¡Ñ¡¡δÑ Σπ¡¬µ¿¿  τΓÑ¡¿∩  «óÑα½Ñ∩,  »«¬á  ¡Ñ
  15723.         ó«º¡¿¬áÑΓ «Φ¿í¬á.
  15724.  
  15725.  
  15726.          B.Pascal 7 & Objects/LR     - 346 -
  15727.  
  15728.              éßÑ «Φ¿í¬¿  »ÑαÑñáεΓß∩ »α«µÑñπαá¼ DOSError ¿½¿ EMSError (¬«-
  15729.         Γ«αδÑ ºñÑß∞ ¡Ñ »«¬áºá¡δ),  ¬«Γ«αδÑ ¼«úπΓ óδóÑßΓ¿ «Φ¿í¬π »«½∞º«óá-
  15730.         Γѽε. çá¼ÑΓ¿¼,  τΓ« »áαá¼ÑΓα OvrSeg »α«ßΓ« »ÑαÑñáÑΓß∩ ß«σαá¡Ñ¡¡«⌐
  15731.         Σπ¡¬µ¿¿ τΓÑ¡¿∩ «óÑα½Ñ∩ ¿ ¡Ñ «íαáíáΓδóáÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«  ¡«ó«⌐
  15732.         Σπ¡¬µ¿Ñ⌐ τΓÑ¡¿∩ «óÑα½Ñ∩.
  15733.  
  15734.              uses Overlay;
  15735.              var
  15736.                 SaveOvrRead: OvrReadFunc;
  15737.                 UsingEMS: Boolean;
  15738.  
  15739.              function MyOvrRead(OvrSeg: Word): Integer: far;
  15740.              var
  15741.                E: Integer;
  15742.              begin
  15743.                 repeat
  15744.                   E := SaveOvrRead(OvrSeg);
  15745.                      if E <> 0 then
  15746.                          if UsingEMS then
  15747.                             EMSError(E) else DOSError(E);
  15748.                 until E = 0;
  15749.                 MyOvrRead := 0;
  15750.              end;
  15751.  
  15752.              begin
  15753.                 OvrInit('MYPROG.OVR');
  15754.                 SaveOvrRead := OvrReadBuf;  { ß«σαá¡¿Γ∞ }
  15755.                 OvrReadBuf := MyOvrRead;    { πßΓá¡«ó¿Γ∞ ßó«ε }
  15756.                 UsingEMS := False;
  15757.                 OvrInitEMS;
  15758.                 if OvrResult = OvrOK then
  15759.                    begin
  15760.                      SaveOvrRead := OvrReadBuf   { ß«σαá¡Ñ¡¿Ñ }
  15761.                      OvrReadBuf := MyOvrRead;    { πßΓá¡«ó¿Γ∞ ßó«ε }
  15762.                      UsingEMS := True;
  15763.                    end;
  15764.                     .
  15765.                     .
  15766.                     .
  15767.              end.
  15768.  
  15769.  
  15770.  
  15771.          B.Pascal 7 & Objects/LR     - 347 -
  15772.  
  15773.                               ÄóÑα½Ñ¿ ó Σá⌐½áσ .EXE
  15774.         ─────────────────────────────────────────────────────────────────
  15775.  
  15776.              Borland Pascal ΓᬪѠ»«ºó«½∩ÑΓ óá¼ ºá»¿ßδóáΓ∞ «óÑα½Ñ¿ ó  ¬«-
  15777.         ¡Ñµ óδ»«½¡∩Ѽ«ú« Σá⌐½á .EXE »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  á ¡Ñ ó «Γñѽ∞-
  15778.         ¡δ⌐ Σá⌐½ .OVR.  ùΓ«íδ »α¿ß«Ññ¿¡¿Γ∞ Σá⌐½ .OVR ¬ ¬«¡µπ Σá⌐½á  .EXE,
  15779.         ¿ß»«½∞ºπ⌐ΓÑ  ¬«¼á¡ñπ  DOS  COPY ß »áαá¼ÑΓα«¼ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ /B,
  15780.         ¡á»α¿¼Ñα:
  15781.  
  15782.              COPY/B MYPROG.EXE + MYPROG.OVR
  15783.  
  15784.              éδ ñ«½ª¡δ πíÑñ¿Γ∞ß∩,  τΓ« Σá⌐½ .EXE ¬«¼»¿½¿α«óá½ß∩ íѺ ó¬½ε-
  15785.         τÑ¡¿∩ ó ¡Ñú« ¿¡Σ«α¼áµ¿¿ ñ½∩ «Γ½áñ¬¿.  Æá¬¿¼ «íαẫ¼, ó ¿¡ΓÑúα¿α«-
  15786.         óá¡¡«⌐ ¿¡ΓÑαá¬Γ¿ó¡«⌐  ßαÑñÑ IDE ó ¼Ñ¡ε Options│Compiler (Åáαá¼ÑΓ-
  15787.         αδ│諼»¿½∩Γ«α) »α«óÑα∞ΓÑ »áαá¼ÑΓα Standalone  (ÇóΓ«¡«¼¡á∩  «Γ½áñ-
  15788.         ¬á). Åα¿ ¿ß»«½∞º«óá¡¿¿ ¬«¼»¿½∩Γ«αá, αáí«ΓáεΘÑú« ß ¬«¼á¡ñ¡«⌐ ßΓα«-
  15789.         ¬«⌐, π¬áª¿ΓÑ »áαá¼ÑΓα /V.
  15790.  
  15791.              ä½∩ τΓÑ¡¿∩ «óÑα½Ñ∩ ¡Ñ ¿º «Γñѽ∞¡«ú« Σá⌐½á .OVR,  á ¿º  ¬«¡µá
  15792.         Σá⌐½á .EXE »α«ßΓ« ºáñá⌐ΓÑ »α¿ ó맮óÑ OvrInit ¿¼∩ Σá⌐½á .EXE. àß½¿
  15793.         óδ αáí«ΓáÑΓÑ »«ñ π»αáó½Ñ¡¿Ñ¼ DOS óÑαß¿¿ 3.σ,  Γ« ¼«ªÑΓÑ ¿ß»«½∞º«-
  15794.         óáΓ∞ ñ½∩ »«½πτÑ¡¿∩ ¿¼Ñ¡¿ Σá⌐½á .EXE ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε ParamStr,
  15795.         ¡á»α¿¼Ñα:
  15796.  
  15797.              OvrInit(ParamStr(0));
  15798.  
  15799.  
  15800.  
  15801.          B.Pascal 7 & Objects/LR     - 348 -
  15802.  
  15803. ───────────────────────────────────────────────────────────────────────
  15804.                         ùáßΓ∞ III. é ßαÑñÑ Borland Pascal
  15805.         ─────────────────────────────────────────────────────────────────
  15806.  
  15807.  
  15808.                          â½áóá 21. êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿
  15809.         ─────────────────────────────────────────────────────────────────
  15810.  
  15811.              é ñá¡¡«⌐ ú½áóÑ «»¿ßδóáÑΓß∩, ¬á¬ »α«úαá¼¼δ Borland Pascal ¿ß-
  15812.         »«½∞ºπεΓ »á¼∩Γ∞.  Borland Pascal ¼«ªÑΓ ß«ºñáóáΓ∞ »α¿¬½áñ¡δÑ »α«ú-
  15813.         αá¼¼δ  ñ½∩  αÑá½∞¡«ú«  αѪ¿¼á  DOS,  ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á  DOS,  ¿
  15814.         Windows;  ó  ¬áªñ«¼ Γ¿»Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ »á¼∩Γ∞ ¿ß»«½∞ºπÑΓß∩
  15815.         »«-αạ«¼π. é ñá¡¡«⌐ ú½áóÑ »«∩ß¡∩ÑΓß∩, ¬á¬ ¿ß»«½∞ºπÑΓ »á¼∩Γ∞ ¬áª-
  15816.         ñδ⌐ ¿º φΓ¿σ Γ¿»«ó »α«úαá¼¼. îδ αáßß¼«Γα¿¼ ΓᬪѠó¡πΓαÑ¡¡¿Ñ Σ«α¼á-
  15817.         Γδ ñá¡¡δσ,  »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í-
  15818.         ½áßΓ∞ε »á¼∩Γ¿ ¿ »α∩¼«⌐ ñ«ßΓπ» ¬ »á¼∩Γ¿.
  15819.  
  15820.               êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ »α«úαἼἿ αÑá½∞¡«ú« αѪ¿¼á DOS
  15821.         ─────────────────────────────────────────────────────────────────
  15822.  
  15823.              ìá É¿ß.  21.1 »α¿óÑñÑ¡á ßσѼá αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ »α«úαá¼¼δ
  15824.         Borland Pascal, ñ½∩ αÑá½∞¡«ú« αѪ¿¼á DOS.
  15825.  
  15826.              ÅαÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá (PSP) - φΓ« «í½áßΓ∞ ñ½¿¡«⌐ 256
  15827.         íá⌐Γ,  ¬«Γ«αá∩ ßΓα«¿Γß∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐  DOS  »α¿  ºáúαπº¬Ñ
  15828.         Σá⌐½á .EXE.  ÇñαÑß  PSP  ß«σαá¡∩ÑΓß∩  ó  »αÑñ«»¿ßá¡¡«⌐ »ÑαѼѡ¡«⌐
  15829.         Borland Pascal ñ½¿¡«⌐ ó ß½«ó« ß ¿¼Ñ¡Ñ¼ PrefixSeg.
  15830.  
  15831.              èáªñ«⌐ »α«úαἼѠ(¬«Γ«αá∩ ó¬½ετáÑΓ ó ßÑí∩ «ß¡«ó¡πε »α«úαá¼¼π
  15832.         ¿ ¬áªñδ⌐ ¼«ñπ½∞) ß««ΓóÑΓßΓóπÑΓ ßÑú¼Ñ¡Γ ÑÑ ¬«ñá. Äß¡«ó¡á∩ »α«úαá¼-
  15833.         ¼á  ºá¡¿¼áÑΓ »Ñαóδ⌐ ßÑú¼Ñ¡Γ ¬«ñá.  æ½ÑñπεΘ¿Ñ ßÑú¼Ñ¡Γδ ¬«ñá ºá¡∩Γδ
  15834.         ¼«ñπ½∩¼¿ (ó »«α∩ñ¬Ñ,  «íαáΓ¡«¼ Γ«¼π, ó ¬«Γ«α«¼ «¡¿ π¬áºá¡δ ó «»Ñ-
  15835.         αáΓ«αÑ uses).  Å«ß½Ññ¡¿⌐ ßÑú¼Ñ¡Γ ¬«ñá ºá¡∩Γ í¿í½¿«ΓѬ«⌐ ¿ß»«½¡∩ε-
  15836.         ΘÑ⌐ ß¿ßΓѼδ (¼«ñπ½∞ System).  ÉẼÑα «Γñѽ∞¡«ú« ßÑú¼Ñ¡Γá ¡Ñ ¼«ªÑΓ
  15837.         »αÑóδΦáΓ∞ 64è,  «ñ¡á¬« «íΘ¿⌐ αẼÑα ¬«ñá «úαá¡¿τÑ¡ Γ«½∞¬« «íΩѼ«¼
  15838.         ¿¼ÑεΘÑ⌐ß∩ »á¼∩Γ¿.
  15839.  
  15840.  
  15841.          B.Pascal 7 & Objects/LR     - 349 -
  15842.  
  15843.  
  15844.                               éÑασ¡∩∩ úαá¡¿µá »á¼∩Γ¿ DOS
  15845.               HeapEnd   ──>┌────────────────────────────┐
  15846.                            │                            │
  15847.                            │   ßó«í«ñ¡á∩ »á¼∩Γ∞         │
  15848.                            │                            │
  15849.               HeapPtr   ──>│............................│
  15850.                            │ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ │
  15851.                            │      «í½áßΓ∞ »á¼∩Γ¿        │
  15852.                            │      (αáßΓÑΓ óóÑασ) ^      │
  15853.               HeapOrg   ──>├────────────────────────────┤<──  OvrHeapEnd
  15854.                            │      «óÑα½Ñ⌐¡δ⌐ íπΣÑα      │
  15855.                            ├────────────────────────────┤<──  OvrHeapOrg
  15856.                            │     ßΓѬ (αáßΓÑΓ ó¡¿º) v   │
  15857.               SSeg:SPtr ──>│............................│
  15858.                            │       ßó«í«ñ¡δ⌐ ßΓѬ       │
  15859.               SSeg:0000 ──>├────────────────────────────┤
  15860.                            │   ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ    │
  15861.                            │............................│<───────┐
  15862.                            │   Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ │        │
  15863.               DSeg:0000 ──>├────────────────────────────┤        │
  15864.                            │   ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ          │        │
  15865.                            │    ¼«ñπ½∩ System           │        │
  15866.                            │............................│        │
  15867.                            │   ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ          │        │
  15868.                            │    »Ñαó«ú« ¼«ñπ½∩          │        │
  15869.                            │............................│        │
  15870.                            └────────────────────────────┘    ß«ñÑন¼«Ñ
  15871.                            .   ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ          .      «íαáºá
  15872.                            .   ñαπú¿σ   ¼«ñπ½Ñ⌐         .    Σá⌐½á .EXE
  15873.                            ┌────────────────────────────┐        │
  15874.                            │............................│        │
  15875.                            │   ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ          │        │
  15876.                            │ »«ß½Ññ¡Ñú«  ¼«ñπ½∩         │        │
  15877.                            ├────────────────────────────┤        │
  15878.                            │   ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ          │        │
  15879.                            │  ú½áó¡«⌐ »α«úαá¼¼δ         │        │
  15880.                            ├────────────────────────────┤<───────┘
  15881.                            │ »αÑΣ¿¬ß ßÑú¼Ñ¡Γá »α«úαá¼¼δ │
  15882.                            │        (PSP)               │
  15883.               PrefixSeg ──>└────────────────────────────┘
  15884.  
  15885.              É¿ß. 21.1 æσѼᠻá¼∩Γ¿ ñ½∩ »α«úαá¼¼δ αÑá½∞¡«ú« αѪ¿¼á DOS.
  15886.  
  15887.              æÑú¼Ñ¡Γ ñá¡¡δσ  (áñαÑßπѼδ⌐  τÑαѺ  αÑú¿ßΓα DS) ß«ñÑαª¿Γ óßÑ
  15888.         Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ,  ºá ¬«Γ«α묨 ß½ÑñπεΓ óßÑ ú½«íá½∞¡δÑ »Ñ-
  15889.         αѼѡ¡δÑ.  é  »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ αÑú¿ßΓα DS ¡¿¬«úñá ¡Ñ
  15890.         ¿º¼Ñ¡∩ÑΓß∩. ÉẼÑα ßÑú¼Ñ¡Γá ñá¡¡δσ ¡Ñ ¼«ªÑΓ »αÑóδΦáΓ∞ 64è.
  15891.  
  15892.              Åα¿ óσ«ñÑ ó »α«úαá¼¼π αÑú¿ßΓα ßÑú¼Ñ¡Γá ßΓѬá (SS)  ¿  π¬áºá-
  15893.         Γѽ∞ ßΓѬá (SÉ) ºáúαπªáεΓß∩ Γá¬,  τΓ« »áαá αÑú¿ßΓα«ó SS:SÉ π¬áºδ-
  15894.         óáÑΓ ¡á »Ñαóδ⌐ íá⌐Γ,  ß½ÑñπεΘ¿⌐ ºá ßÑú¼Ñ¡Γ«¼ ßΓѬá.  ÉÑú¿ßΓα SS ó
  15895.         »α«µÑßßÑ  óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ ¡¿¬«úñá ¡Ñ ¿º¼Ñ¡∩ÑΓß∩,  á SP ¼«ªÑΓ
  15896.  
  15897.          B.Pascal 7 & Objects/LR     - 350 -
  15898.  
  15899.         »ÑαѼÑΘáΓ∞ß∩ ó¡¿º,  »«¬á ¡Ñ ñ«ßΓ¿ú¡ÑΓ  ¡¿ª¡Ñ⌐  úαá¡¿µδ  ßÑú¼Ñ¡Γá.
  15900.         ÉẼÑα  ßÑú¼Ñ¡Γá  ßΓѬᠡѠ¼«ªÑΓ »αÑóδΦáΓ∞ 64è.  Å« π¼«½τá¡¿ε Ñ¼π
  15901.         ¡áº¡áτáÑΓß∩ αẼÑα, αáó¡δ⌐ 16è, ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«-
  15902.         αá $î φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
  15903.  
  15904.              ÄóÑα½Ñ⌐¡δ⌐ íπΣÑα  ¿ß»«½∞ºπÑΓß∩  ßΓá¡ñáαΓ¡δ¼  ¼«ñπ½Ñ¼ Overlay
  15905.         ñ½∩ σαá¡Ñ¡¿∩ «óÑα½Ñ⌐¡«ú« ¬«ñá.  Å« π¼«½τá¡¿ε  αẼÑα  «óÑα½Ñ⌐¡«ú«
  15906.         íπΣÑαá ß««ΓóÑΓßΓóπÑΓ αẼÑαπ ¡á¿í«½∞ΦÑú« «óÑα½Ñ∩ ó »α«úαá¼¼Ñ. àß-
  15907.         ½¿ »α«úαἼᠡѠ¿¼ÑÑΓ «óÑα½ÑÑó,  Γ« αẼÑα «óÑα½Ñ⌐¡«ú« íπΣÑαá íπ-
  15908.         ñÑΓ ¡π½Ñóδ¼.  ÉẼÑα «óÑα½Ñ⌐¡«ú« íπΣÑαá ¼«ª¡« πóѽ¿τ¿Γ∞ ß »«¼«Θ∞ε
  15909.         ó맮óá »«ñ»α«úαá¼¼δ OvrSetBuf ¼«ñπ½∩ Overlay.  é φΓ«¼ ß½πτáÑ αáº-
  15910.         ¼Ñα ñ¿¡á¼¿τÑ߬¿   αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿  »á¼∩Γ¿  ß««ΓóÑΓßΓóÑ¡¡«
  15911.         π¼Ñ¡∞ΦáÑΓß∩, á HeapOrg »ÑαѼÑΘáÑΓß∩ óóÑασ.
  15912.  
  15913.              é ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß«σαá¡∩εΓß∩  ñ¿¡á¼¿τÑß-
  15914.         ¬¿Ñ »ÑαѼѡ¡δÑ,  Γ« ÑßΓ∞ »ÑαѼѡ¡δÑ,  óδñѽѡ¡δÑ »α¿ «íαáΘÑ¡¿∩σ ¬
  15915.         ßΓá¡ñáαΓ¡δ¼ »α«µÑñπαá¼ New ¿ GetMem.  Ä¡á ºá¡¿¼áÑΓ óßε  ßó«í«ñ¡πε
  15916.         »á¼∩Γ∞  ¿½¿  τáßΓ∞  ßó«í«ñ¡«⌐  »á¼∩Γ¿,  «ßΓáóΦπεß∩ »α¿ óδ»«½¡Ñ¡¿¿
  15917.         »α«úαá¼¼δ.  äÑ⌐ßΓó¿Γѽ∞¡δ⌐ αẼÑα ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í-
  15918.         ½áßΓ¿  ºáó¿ß¿Γ «Γ ¼á¬ß¿¼á½∞¡«ú« ¿ ¼¿¡¿¼á½∞¡«ú« º¡áτÑ¡¿⌐,  ¬«Γ«αδÑ
  15919.         ¼«ª¡« πßΓá¡«ó¿Γ∞ ñ½∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß »«¼«Θ∞ε
  15920.         ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $î.  âáαá¡Γ¿α«óá¡¡δ⌐ ¼¿¡¿¼á½∞¡δ⌐ αẼÑα ñ¿-
  15921.         ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ ¼¿¡¿¼á½∞¡«-
  15922.         ú« º¡áτÑ¡¿∩,  πßΓá¡«ó½Ñ¡¡«ú« ñ½∩ φΓ«⌐ «í½áßΓ¿. Å« π¼«½τá¡¿ε ¼¿¡¿-
  15923.         ¼á½∞¡δÑ αẼÑα ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ αáóÑ¡ 0 íá⌐Γ, á
  15924.         ¼á¬ß¿¼á½∞¡δ⌐ - 640è;  φΓ« «º¡áτáÑΓ,  τΓ« »« π¼«½τá¡¿ε ñ¿¡á¼¿τÑ߬¿
  15925.         αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ ºá¡¿¼áÑΓ óßε ñ«ßΓπ»¡πε »á¼∩Γ∞.
  15926.  
  15927.              Å«ñß¿ßΓѼá ñ¿¡á¼¿τÑ߬«ú«  αáß»αÑñѽѡ¿∩  »á¼∩Γ¿  (∩ó½∩εΘá∩ß∩
  15928.         τáßΓ∞ε í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ), ¬á¬ ¼«ª¡« ñ«úáñáΓ∞ß∩, π»-
  15929.         αáó½∩ÑΓ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε. äÑΓá½∞¡« «¡á  «»¿ßδ-
  15930.         óáÑΓß∩ ó ß½ÑñπεΘѼ αáºñѽÑ.
  15931.  
  15932.            Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ DOS
  15933.         ─────────────────────────────────────────────────────────────────
  15934.  
  15935.              ä¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ -  φΓ«  »«σ«ªá∩  ¡á  ßΓѬ
  15936.         ßΓαπ¬Γπαá,  ¬«Γ«αá∩ πóѽ¿τ¿óáÑΓß∩, ¡áτ¿¡á∩ «Γ ¼½áñΦ¿σ áñαÑß«ó »á-
  15937.         ¼∩Γ¿. Åα¿  φΓ«¼  ¿ß»«½∞ºπÑΓß∩  ßÑú¼Ñ¡Γ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
  15938.         «í½áßΓ¿. ì¿ª¡∩∩ úαá¡¿µá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿  ºá»«-
  15939.         ¼¿¡áÑΓß∩  ó  »ÑαѼѡ¡«⌐  HÑápOrg,  á  óÑασ¡∩∩ úαá¡¿µá ñ¿¡á¼¿τÑ߬¿
  15940.         αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß««ΓóÑΓßΓóπÑΓ ¡¿ª¡Ñ⌐ úαá¡¿µÑ ßó«í«ñ¡«⌐ »á-
  15941.         ¼∩Γ¿ ¿ ß«σαá¡∩ÑΓß∩ ó »ÑαѼѡ¡«⌐ ìÑápPtr. Åα¿ ¬áªñ«¼ óδñѽѡ¿¿ ñ¿-
  15942.         ¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿  »«ñ-
  15943.         ß¿ßΓѼá ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ (áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿-
  15944.         τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿) »ÑαѼÑΘáÑΓ »ÑαѼѡ¡πε HeapPtr óóÑασ
  15945.         ¡á αẼÑα »ÑαѼѡ¡«⌐, ¬á¬ íδ «αúá¡¿ºπ∩ »α¿ φΓ«¼ ßΓѬ ñ¿¡á¼¿τÑ߬¿σ
  15946.         »ÑαѼѡ¡δσ, ó ¬«Γ«α«¼ «ñ¡á »ÑαѼѡ¡á∩ αẼÑΘáÑΓß∩ ¡áñ ñαπú«⌐.
  15947.  
  15948.              ÅÑαѼѡ¡á∩ ìÑápPtr »«ß½Ñ ¬áªñ«⌐ «»Ñαᵿ¿ ¬á¬ »αá󿽫  ¡«α¼á-
  15949.         ½¿ºπÑΓß∩,  ¿ ß¼ÑΘÑ¡¿Ñ, Γᬿ¼ «íαẫ¼, »α¿¡¿¼áÑΓ º¡áτÑ¡¿∩ ó ñ¿á»á-
  15950.         º«¡Ñ «Γ $0000 ñ« $000F.  Æá¬ ¬á¬ ¬áªñá∩ »ÑαѼѡ¡á∩ ñ«½ª¡á µÑ½¿¬«¼
  15951.         ß«ñÑαªáΓ∞ß∩ ó «ñ¡«¼ ßÑú¼Ñ¡ΓÑ, ¼á¬ß¿¼á½∞¡δ⌐ αẼÑα «Γñѽ∞¡«⌐ »ÑαÑ-
  15952.  
  15953.          B.Pascal 7 & Objects/LR     - 351 -
  15954.  
  15955.         ¼Ñ¡¡«⌐, ¬«Γ«αá∩ ¼«ªÑΓ íδΓ∞ αẼÑΘÑ¡á ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
  15956.         «í½áßΓ¿,  ß«ßΓáó½∩ÑΓ  65521  íá⌐Γ (τΓ« ß««ΓóÑΓßΓóπÑΓ $10000 ¼¿¡πß
  15957.         $000F).
  15958.  
  15959.  
  15960.  
  15961.          B.Pascal 7 & Objects/LR     - 352 -
  15962.  
  15963.                                îÑΓ«ñδ «ßó«í«ªñÑ¡¿∩
  15964.                    «í½áßΓÑ⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ¿
  15965.         ─────────────────────────────────────────────────────────────────
  15966.  
  15967.              ä¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ, ß«σαá¡∩ѼδÑ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
  15968.         ½∩Ѽ«⌐ «í½áßΓ¿, «ßó«í«ªñáεΓß∩ «ñ¡¿¼ ¿º ñóπσ ß½ÑñπεΘ¿σ ß»«ß«í«ó:
  15969.  
  15970.              1.  æ »«¼«Θ∞ε »α«µÑñπα Dispose ¿½¿ FrÑÑîѼ.
  15971.  
  15972.              2.  æ »«¼«Θ∞ε »α«µÑñπα îárk ¿ RÑlÑásÑ.
  15973.  
  15974.              Åα«ßΓÑ⌐ΦÑ⌐ ßσѼ«⌐ ¿ß»«½∞º«óá¡¿∩  »α«µÑñπα  îárk  ¿  RÑlÑásÑ,
  15975.         ¡á»α¿¼Ñα, ∩ó½∩ÑΓß∩ óδ»«½¡Ñ¡¿Ñ ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó:
  15976.  
  15977.              New(Ptr1);
  15978.              New(Ptr2);
  15979.              Mark(P);
  15980.              New(Ptr3);
  15981.              New(Ptr4);
  15982.              New(Ptr5);
  15983.  
  15984.              æσѼá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »α¿ φΓ«¼ íπñÑΓ óδú-
  15985.         ½∩ñÑΓ∞, ¬á¬ »«¬áºá¡« ¡á É¿ß. 21.2.
  15986.  
  15987.           HeapEnd   ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
  15988.                        │                          │ »á¼∩Γ¿
  15989.                        │                          │
  15990.           HeapPtr   ──>├──────────────────────────┤
  15991.                        │   ß«ñÑন¼«Ñ Ptr5^       │
  15992.               Ptr5  ──>├──────────────────────────┤
  15993.                        │   ß«ñÑন¼«Ñ Ptr4^       │
  15994.               Ptr4  ──>├──────────────────────────┤
  15995.                        │   ß«ñÑন¼«Ñ Ptr3^       │
  15996.               Ptr3  ──>├──────────────────────────┤
  15997.                        │   ß«ñÑন¼«Ñ Ptr2^       │
  15998.               Ptr2  ──>├──────────────────────────┤
  15999.                        │   ß«ñÑন¼«Ñ Ptr1^       │
  16000.               Ptr1  ──>└──────────────────────────┘ ì¿ª¡∩∩ úαá¡¿µá »á¼∩Γ¿
  16001.  
  16002.              É¿ß. 21.2  îÑΓ«ñ «ßó«í«ªñÑ¡¿∩ «í½áßΓÑ⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
  16003.         ½∩Ѽ«⌐ «í½áßΓ¿ »«¼«Θ∞ε »α«µÑñπα îárk ¿ RÑlÑásÑ.
  16004.  
  16005.              Ä»ÑαáΓ«α îárk(P) «Γ¼ÑτáÑΓ ß«ßΓ«∩¡¿Ñ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ñ-
  16006.         ¼«⌐  «í½áßΓ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ óδñѽѡ¿Ñ¼ »á¼∩Γ¿ ñ½∩ »ÑαѼѡ-
  16007.         ¡«⌐ Ptr3 (»πΓѼ ß«σαá¡Ñ¡¿∩ ΓѬπΘÑú« º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ ìÑápPtr ó
  16008.         P).  àß½¿  óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α RÑleásÑ(P),  Γ« ßσѼá ñ¿¡á¼¿τÑ߬¿
  16009.         αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ßΓá¡«ó¿Γß∩ Γᬫ⌐,  ¬á¬  »«¬áºá¡«  ¡á  É¿ß.
  16010.         21.3.  Åα¿  φΓ«¼,  »«ß¬«½∞¬π  »α«¿ºó«ñ¿Γß∩  «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ
  16011.         îárk, «ßó«í«ªñáÑΓß∩ »á¼∩Γ∞, óδñѽѡ¡á∩ »«ñ óßÑ π¬áºáΓѽ¿.
  16012.  
  16013.                    Åα¿¼Ñτá¡¿Ñ: éδ»«½¡Ñ¡¿Ñ »α«µÑñπαδ RÑleásÑ(ìÑápÄrg) »«½-
  16014.               ¡«ßΓ∞ε «ßó«í«ªñáÑΓ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞ »á¼∩-
  16015.               Γ¿, »«ß¬«½∞¬π »ÑαѼѡ¡á∩ ìÑápOrg π¬áºδóáÑΓ ¡á ¡¿ª¡εε úαá¡¿-
  16016.  
  16017.          B.Pascal 7 & Objects/LR     - 353 -
  16018.  
  16019.               µπ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.
  16020.  
  16021.           HeapEnd   ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
  16022.                        │                          │ »á¼∩Γ¿
  16023.                        │                          │
  16024.                        │                          │
  16025.                        │                          │
  16026.                        │                          │
  16027.                        │                          │
  16028.           HeapPtr   ──>├──────────────────────────┤
  16029.                        │   ß«ñÑন¼«Ñ Ptr2^       │
  16030.               Ptr2  ──>├──────────────────────────┤
  16031.                        │   ß«ñÑন¼«Ñ Ptr1^       │
  16032.               Ptr1  ──>└──────────────────────────┘ ì¿ª¡∩∩ úαá¡¿µá »á¼∩Γ¿
  16033.  
  16034.              É¿ß. 21.3  æσѼᠠñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »α¿ óδ-
  16035.         »«½¡Ñ¡¿¿ »α«µÑñπαδ RÑleásÑ(P).
  16036.  
  16037.              Åα¿¼Ñ¡Ñ¡¿Ñ »α«µÑñπα îárk ¿ RÑlÑásÑ ñ½∩  «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿,
  16038.         óδñѽѡ¡«⌐ ñ½∩ ñ¿¡á¼¿τÑ߬¿σ »ÑαѼѡ¡δσ, ¡á ¬«Γ«αδÑ ßßδ½áεΓß∩ π¬á-
  16039.         ºáΓѽ¿, óδ»«½¡∩Ѽ«Ñ ó »«α∩ñ¬Ñ,  ó Γ«τ¡«ßΓ¿ «íαáΓ¡«¼ »«α∩ñ¬π óδñÑ-
  16040.         ½Ñ¡¿∩ »á¼∩Γ¿,  óÑß∞¼á φΣΣÑ¬Γ¿ó¡«.  Äñ¡á¬« ó í«½∞Φ¿¡ßΓóÑ  »α«úαá¼¼
  16041.         ¿¼ÑÑΓß∩ ΓÑ¡ñÑ¡µ¿∩ ó í«½ÑÑ ß½πτá⌐¡«¼π óδñѽѡ¿ε ¿ «ßó«í«ªñÑ¡¿ε »á-
  16042.         ¼∩Γ¿, «ΓóÑñÑ¡¡«⌐ ñ½∩ ñ¿¡á¼¿τÑ߬¿σ »ÑαѼѡ¡δσ, ¡á ¬«Γ«αδÑ ßßδ½áεΓ-
  16043.         ß∩ π¬áºáΓѽ¿, τΓ« ó½ÑτÑΓ ºá ß«í«⌐ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ í«-
  16044.         ½ÑÑ Γ«¡¬¿σ ¼ÑΓ«ñ«ó π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε,  ¬«Γ«αδÑ αÑ὿º«óá¡δ ß »«-
  16045.         ¼«Θ∞ε »α«µÑñπα Dispose ¿ FrÑÑMem. ¥Γ¿ »α«µÑñπαδ »«ºó«½∩εΓ ó ½εí«⌐
  16046.         ¼«¼Ñ¡Γ «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩ ½εí«⌐ ñ¿¡á¼¿τÑ߬«⌐ »ÑαÑ-
  16047.         ¼Ñ¡¡«⌐, ¡á ¬«Γ«απε ßßδ½áÑΓß∩ π¬áºáΓѽ∞.
  16048.  
  16049.              è«úñá ß »«¼«Θ∞ε »α«µÑñπα Dispose ¿ FrÑÑîѼ «ßó«í«ªñáÑΓß∩ »á-
  16050.         ¼∩Γ∞,  «ΓóÑñÑ¡¡á∩ ñ½∩ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, ¡Ñ ∩ó½∩εΘá∩ß∩ "ßá-
  16051.         ¼«⌐ óÑασ¡Ñ⌐" »ÑαѼѡ¡«⌐ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿, Γ«
  16052.         ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ ßΓá¡«ó¿Γß∩ Σαáú¼Ñ¡Γ¿α«óá¡¡«⌐.
  16053.         ÅαÑñ»«½«ª¿¼, τΓ« óδ»«½¡∩½áß∞ ΓᠪѠ»«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó,
  16054.         τΓ«  ¿  ó  »αÑñδñπΘѼ  »α¿¼ÑαÑ.  Æ«úñá »«ß½Ñ óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ
  16055.         Dispose(Ptr3) ó µÑ¡ΓαÑ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿ »á¼∩Γ¿
  16056.         «íαáºπÑΓß∩ ¡Ñºá¡∩Γ«Ñ »α«ßΓαá¡ßΓó« ("ñδαá").  ¥Γ« »«¬áºá¡« ¡á É¿ß.
  16057.         21.4.
  16058.  
  16059.  
  16060.          B.Pascal 7 & Objects/LR     - 354 -
  16061.  
  16062.  
  16063.           HeapEnd   ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
  16064.                        │                          │ »á¼∩Γ¿
  16065.                        │                          │
  16066.           HeapPtr   ──>├──────────────────────────┤
  16067.                        │   ß«ñÑন¼«Ñ Ptr5^       │
  16068.               Ptr5  ──>├──────────────────────────┤
  16069.                        │   ß«ñÑন¼«Ñ Ptr4^       │
  16070.               Ptr4  ──>├──────────────────────────┤
  16071.                        │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  16072.                        │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  16073.                        ├──────────────────────────┤
  16074.                        │   ß«ñÑন¼«Ñ Ptr2^       │
  16075.               Ptr2  ──>├──────────────────────────┤
  16076.                        │   ß«ñÑন¼«Ñ Ptr1^       │
  16077.               Ptr1  ──>└──────────────────────────┘ ì¿ª¡∩∩ úαá¡¿µá »á¼∩Γ¿
  16078.  
  16079.              É¿ß. 21.4 æ«ºñá¡¿Ñ ¡Ñºá¡∩Γ«⌐ «í½áßΓ¿ ("ñδαδ")  ó ñ¿¡á¼¿τÑ߬¿
  16080.         αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  16081.  
  16082.              àß½¿ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ óδ»«½¡∩ÑΓß∩ »α«µÑñπαá New(Ptr3), Γ« φΓ«
  16083.         «»∩Γ∞ »α¿óÑñÑΓ ¬ óδñѽѡ¿ε Γ«⌐ ªÑ «í½áßΓ¿ »á¼∩Γ¿. æ ñαπú«⌐ ßΓ«α«-
  16084.         ¡δ, óδ»«½¡Ñ¡¿Ñ »α«µÑñπαδ Dispose(Ptr4) πóѽ¿τ¿Γ αẼÑα ßó«í«ñ¡«ú«
  16085.         í½«¬á,  Γᬠ¬á¬ Ptr3 ¿ Ptr4  í뫨  ß«ßÑñ¡¿¼¿  í½«¬á¼¿  (ß¼.  É¿ß.
  16086.         21.5).
  16087.  
  16088.           HeapEnd   ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
  16089.                        │                          │ »á¼∩Γ¿
  16090.                        │                          │
  16091.           HeapPtr   ──>├──────────────────────────┤
  16092.                        │   ß«ñÑন¼«Ñ Ptr5^       │
  16093.               Ptr5  ──>├──────────────────────────┤
  16094.                        │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  16095.                        │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  16096.                        │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  16097.                        │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
  16098.                        ├──────────────────────────┤
  16099.                        │   ß«ñÑন¼«Ñ Ptr2^       │
  16100.               Ptr2  ──>├──────────────────────────┤
  16101.                        │   ß«ñÑন¼«Ñ Ptr1^       │
  16102.               Ptr1  ──>└──────────────────────────┘ ì¿ª¡∩∩ úαá¡¿µá »á¼∩Γ¿
  16103.  
  16104.              É¿ß. 21.5 ôóѽ¿τÑ¡¿Ñ αẼÑαᠡѺá¡∩Γ«ú« í½«¬á »á¼∩Γ¿.
  16105.  
  16106.              é ¬«¡Ñτ¡«¼ ¿Γ«úÑ óδ»«½¡Ñ¡¿Ñ »α«µÑñπαδ Dispose(Ptr5) »α¿óÑñÑΓ
  16107.         ß¡áτá½á  ¬  ß«ºñá¡¿ε  ¡Ñºá¡∩Γ«ú« í½«¬á í«½∞ΦÑú« αẼÑαá,  á ºáΓѼ
  16108.         ìÑápPtr »ÑαѼÑßΓ¿Γß∩ ó í«½ÑÑ  ¼½áñΦ¿Ñ  áñαÑßá  »á¼∩Γ¿.  Å«ß¬«½∞¬π
  16109.         »«ß½Ññ¡¿¼  ñ«»πßΓ¿¼δ¼  π¬áºáΓѽѼ  ΓÑ»Ñα∞  íπñÑΓ  Ptr2 (ß¼.  É¿ß.
  16110.         21 6),  Γ« φΓ« »α¿óÑñÑΓ ¬ ñÑ⌐ßΓó¿Γѽ∞¡«¼π «ßó«í«ªñÑ¡¿ε ¡Ñºá¡∩Γ«ú«
  16111.         í½«¬á.
  16112.  
  16113.           HeapEnd   ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
  16114.                        │                          │ »á¼∩Γ¿
  16115.  
  16116.          B.Pascal 7 & Objects/LR     - 355 -
  16117.  
  16118.                        │                          │
  16119.                        │                          │
  16120.                        │                          │
  16121.                        │                          │
  16122.                        │                          │
  16123.                        │                          │
  16124.                        │                          │
  16125.           HeapPtr   ──>├──────────────────────────┤
  16126.                        │   ß«ñÑন¼«Ñ Ptr2^       │
  16127.               Ptr2  ──>├──────────────────────────┤
  16128.                        │   ß«ñÑন¼«Ñ Ptr1^       │
  16129.               Ptr1  ──>└──────────────────────────┘ ì¿ª¡∩∩ úαá¡¿µá »á¼∩Γ¿
  16130.  
  16131.              É¿ß. 21.7 Äßó«í«ªñÑ¡¿Ñ ¡Ñºá¡∩Γ«ú« í½«¬á »á¼∩Γ¿.
  16132.  
  16133.              èᬠ»«¬áºá¡«  ¡á É¿ß.  21.7,  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í-
  16134.         ½áßΓ∞ »á¼∩Γ¿ ΓÑ»Ñα∞ ¡áσ«ñ¿Γß∩ ó Γ«¼ ªÑ ßἫ¼ ß«ßΓ«∩¡¿¿,  ó  ¬á¬«¼
  16135.         «¡á  ¡áσ«ñ¿½áß∞ íδ »«ß½Ñ óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ RÑlÑásÑ(P).  Äñ¡á¬«
  16136.         ß«ºñáóáѼδÑ ¿ «ßó«í«ªñáѼδÑ »α¿ Γᬫ¼  »α«µÑßßÑ  ¡Ñºá¡∩ΓδÑ  í½«¬¿
  16137.         «Γ߽Ѫ¿óáεΓß∩ ñ½∩ ¿σ ó«º¼«ª¡«ú« »«óΓ«α¡«ú« ¿ß»«½∞º«óá¡¿∩.
  16138.  
  16139.  
  16140.                              æ»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó
  16141.         ─────────────────────────────────────────────────────────────────
  16142.  
  16143.              ÇñαÑßá ¿ αẼÑαδ ßó«í«ñ¡δσ í½«¬«ó,  ß«ºñá¡¡δσ »α¿  «»Ñαᵿ∩σ
  16144.         Dispose  ¿ FrÑÑîѼ,  σαá¡∩Γß∩ ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó,  ¬«Γ«αδ⌐
  16145.         πóѽ¿τ¿óáÑΓß∩ ó¡¿º, ¡áτ¿¡á∩ ß« ßΓáαΦ¿σ áñαÑß«ó »á¼∩Γ¿, ó ßÑú¼Ñ¡ΓÑ
  16146.         ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.  èáªñδ⌐ αẠ»ÑαÑñ óδñѽѡ¿Ñ¼
  16147.         »á¼∩Γ¿ ñ½∩ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐,  »ÑαÑñ ΓѼ,  ¬á¬  ñ¿¡á¼¿τÑ߬¿
  16148.         αáß»αÑñѽ∩Ѽá∩  «í½áßΓ∞ íπñÑΓ αáßΦ¿αÑ¡á,  »α«óÑα∩ÑΓß∩ ß»¿ß«¬ ßó«-
  16149.         í«ñ¡δσ í½«¬«ó.  àß½¿ ¿¼ÑÑΓß∩ í½«¬  ß««ΓóÑΓßΓóπεΘÑú«  αẼÑαá  (Γ«
  16150.         ÑßΓ∞ αẼÑα ¬«Γ«α«ú« í«½∞ΦÑ ¿½¿ αáóÑ¡ ΓαÑíπѼ«¼π αẼÑαπ),  Γ« «¡
  16151.         ¿ß»«½∞ºπÑΓß∩.
  16152.  
  16153.              Åα«µÑñπαá RÑlÑásÑ óßÑúñá «τ¿ΘáÑΓ  ß»¿ß«¬  ßó«í«ñ¡δσ  í½«¬«ó.
  16154.         Æá¬¿¼ «íαẫ¼,  »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ "ºá-
  16155.         íδóáÑΓ" « ¡Ñºá¡∩Γδσ í½«¬áσ,  ¬«Γ«αδÑ ¼«úπΓ ßπΘÑßΓó«óáΓ∞ ¡¿ªÑ π¬á-
  16156.         ºáΓѽ∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.  àß½¿ óδ τÑαÑñπÑΓÑ «í-
  16157.         αáΘÑ¡¿∩ ¬ »α«µÑñπαá¼ îárk ¿ RÑlÑásÑ ß  «íαáΘÑ¡¿∩¼¿  ¬  »α«µÑñπαá¼
  16158.         Dispose ¿ FrÑÑîѼ, Γ« ¡πª¡« «íÑß»Ñτ¿Γ∞ «ΓßπΓßΓó¿Ñ Γᬿσ ßó«í«ñ¡δσ
  16159.         í½«¬«ó.
  16160.  
  16161.              ÅÑαѼѡ¡á∩ FreeList ¼«ñπ½∩ System π¬áºδóáÑΓ ¡á  »Ñαóδ⌐  ßó«-
  16162.         í«ñ¡δ⌐  í½«¬  ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿.  äá¡¡δ⌐
  16163.         í½«¬ ß«ñÑαª¿Γ π¬áºáΓѽ∞ ¡á ß½ÑñπεΘ¿⌐ ßó«í«ñ¡δ⌐ í½«¬ ¿  Γ.ñ.  Å«ß-
  16164.         ½Ññ¡¿⌐  ßó«í«ñ¡δ⌐  í½«¬ ß«ñÑαª¿Γ π¬áºáΓѽ∞ ¡á óÑαΦ¿¡π ñ¿¡á¼¿τÑ߬¿
  16165.         αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ (Γ« ÑßΓ∞ áñαÑß,  ºáñá¡¡δ⌐  HeapPtr).  àß½¿
  16166.         ßó«í«ñ¡δσ í½«¬«ó ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó ¡ÑΓ, Γ« FreeList íπñÑΓ
  16167.         αáó¡« HeapPtr.
  16168.  
  16169.              ö«α¼áΓ »Ñαóδσ  8  íá⌐Γ  ßó«í«ñ¡«ú«  í½«¬á   ºáñáÑΓß∩   Γ¿»«¼
  16170.         TFreeRec:
  16171.  
  16172.          B.Pascal 7 & Objects/LR     - 356 -
  16173.  
  16174.  
  16175.             type
  16176.                PFreeRec = ^TFreeRec;
  16177.                TFreeRec = record
  16178.                               Next: PFreeRec;
  16179.                               Size: Pointer;
  16180.                           end;
  16181.  
  16182.              Å«½Ñ Next π¬áºδóáÑΓ ¡á ß½ÑñπεΘ¿⌐ ßó«í«ñ¡δ⌐ í½«¬,  ¿½¿ ¡á  Γπ
  16183.         ªÑ ∩τÑ⌐¬π,  τΓ« ¿ HeapPtr, Ñß½¿ í½«¬ ∩ó½∩ÑΓß∩ »«ß½Ññ¡¿¼ ßó«í«ñ¡δ¼
  16184.         í½«¬«¼.  é »«½Ñ Size ºá»¿ßá¡ αẼÑα ßó«í«ñ¡«ú« í½«¬á.  ç¡áτÑ¡¿Ñ ó
  16185.         »«½Ñ  Size  »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡Ñ «íδτ¡«Ñ 32-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ,  á
  16186.         "¡«α¼á½¿º«óá¡¡«Ñ" º¡áτÑ¡¿Ñ-π¬áºáΓѽ∞ ß τ¿ß½«¼ ßó«í«ñ¡δσ  »áαáúαá-
  16187.         Σ«ó  (16-íá⌐Γ«óδσ  í½«¬«ó)  ó ßΓáαΦѼ ß½«óÑ ¿ ßτÑΓτ¿¬«¼ ßó«í«ñ¡δσ
  16188.         íá⌐Γ («Γ 0 ñ« 15) ó ¼½áñΦѼ ß½«óÑ.  æ½ÑñπεΘá∩  Σπ¡¬µ¿∩  BlockSize
  16189.         »αÑ«íαáºπÑΓ º¡áτÑ¡¿Ñ »«½∩ Size ó «íδτ¡«Ñ º¡áτÑ¡¿Ñ Γ¿»á Longint:
  16190.  
  16191.             function BlockSize(Size: Pointer): Longint;
  16192.             type
  16193.                PtrRec = record Lo, Hi: Word end;
  16194.             begin
  16195.                BlockSize := Longint(PtrRec(Size)).Hi)*16+PtrRec(Size).Lo
  16196.             end;
  16197.  
  16198.             ùΓ«íδ «íÑß»Ñτ¿Γ∞, τΓ« ó ¡áτá½Ñ ßó«í«ñ¡«ú« í½«¬á óßÑúñá ¿¼ÑÑΓ-
  16199.         ß∩ ¼ÑßΓ« ñ½∩ TFreePtr,  »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  16200.         ñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ «¬απú½∩ÑΓ αẼÑα ¬áªñ«ú« í½«¬á, óδñѽѡ-
  16201.         ¡«ú« »«ñ»α«úαἼἿ New ¿ GetMem  ñ«  8-íá⌐Γ«ó«⌐  úαá¡¿µδ.  Æá¬¿¼
  16202.         «íαẫ¼,  8  íá⌐Γ óδñѽ∩ÑΓß∩ ñ½∩ í½«¬«ó αẼÑα«¼ 1..8,  16 íá⌐Γ -
  16203.         ñ½∩ í½«¬«ó αẼÑα«¼ 9..16 ¿ Γ.ñ. æ¡áτá½á φΓ« ¬áªÑΓß∩ ¡Ñ»α«¿ºó«ñ¿-
  16204.         Γѽ∞¡«⌐ ΓαáΓ«⌐ »á¼∩Γ¿.  ¥Γ« ó ßἫ¼ ñѽѠΓá¬, Ñß½¿ íδ ¬áªñδ⌐ í½«¬
  16205.         íδ½ αẼÑα«¼ 1 íá⌐Γ. ì« «íδτ¡« í½«¬¿ ¿¼ÑεΓ í«½∞Φ¿⌐ αẼÑα, »«φΓ«-
  16206.         ¼π «Γ¡«ß¿Γѽ∞¡δ⌐ αẼÑα ¡Ñ¿ß»«½∞ºπѼ«ú« »α«ßΓαá¡ßΓóᠼѡ∞ΦÑ.
  16207.  
  16208.               8-íá⌐Γ«óδ⌐ ¬«φΣΣ¿µ¿Ñ¡Γ  αáºñα«í½Ñ¡¡«ßΓ¿  «íÑß»Ñτ¿óáÑΓ,  τΓ«
  16209.         »α¿ í«½∞Φ«¼ τ¿ß½Ñ ß½πτá⌐¡«ú« óδñѽѡ¿∩ ¿ «ßó«í«ªñÑ¡¿∩ í½«¬«ó  «Γ-
  16210.         ¡«ß¿Γѽ∞¡« ¡Ñí«½∞Φ«ú« αẼÑαá (τΓ« Γ¿»¿τ¡« ñ½∩ ºá»¿ßÑ⌐ »ÑαѼѡ¡«⌐
  16211.         ñ½¿¡δ ó »α«úαá¼¼áσ «íαáí«Γ¬¿ ΓѬßΓá) ¡Ñ »α¿óÑñÑΓ ¬ ß¿½∞¡«⌐  Σαáú-
  16212.         ¼Ñ¡Γᵿ¿  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.  é ¬áτÑßΓóÑ »α¿¼Ñαá
  16213.         »αÑñ»«½«ª¿¼,  τΓ« ºá¡¿¼áÑΓß∩ ¿  «ßó«í«ªñáÑΓß∩  í½«¬  αẼÑα«¼  50
  16214.         íá⌐Γ.  Å«ß½Ñ  Ñú«  «ßó«í«ªñÑ¡¿∩  ºá»¿ß∞ « ¡Ñ¼ ó¬½ετáÑΓß∩ ó ß»¿ß«¬
  16215.         ßó«í«ñ¡δσ í½«¬«ó.  ¥Γ«Γ í½«¬ «¬απú½∩ÑΓß∩ ñ« 56 (7*8) íá⌐Γ. àß½¿ ó
  16216.         ñá½∞¡Ñ⌐ΦѼ »«ΓαÑíπÑΓß∩ í½«¬ αẼÑα«¼ «Γ 49 ñ« 56 íá⌐Γ,  Γ« ñá¡¡δ⌐
  16217.         í½«¬ íπñÑΓ »«½¡«ßΓ∞ε »«óΓ«α¡« ¿ß»«½∞º«óá¡, á ¡Ñ «ßΓá¡ÑΓß∩ «Γ 1 ñ«
  16218.         7 íá⌐Γ »á¼∩Γ¿ (¿ß»«½∞º«óá¡¿Ñ ¬«Γ«αδ⌐ ¼á½«óÑα«∩Γ¡«), ¬«Γ«αδÑ íπñπΓ
  16219.         Γ«½∞¬« Σαáú¼Ñ¡Γ¿α«óáΓ∞ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞.
  16220.  
  16221.  
  16222.                               ÅÑαѼѡ¡á∩ HeapError
  16223.         ─────────────────────────────────────────────────────────────────
  16224.  
  16225.              ÅÑαѼѡ¡á∩ HeapError »«ºó«½∩ÑΓ óá¼ αÑ὿º«óáΓ∞ Σπ¡¬µ¿ε «íαá-
  16226.         í«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. ¥Γá Σπ¡¬-
  16227.  
  16228.          B.Pascal 7 & Objects/LR     - 357 -
  16229.  
  16230.         µ¿∩ óδºδóáÑΓß∩ ¬áªñδ⌐ αáº,  ¬«úñá »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑ-
  16231.         ñѽѡ¿∩  »á¼∩Γ¿  ¡Ñ  ¼«ªÑΓ  óδ»«½¡¿Γ∞ ºá»α«ß ¡á óδñѽѡ¿Ñ »á¼∩Γ¿.
  16232.         ìÑápàrror ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ,  ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ ¡á  Σπ¡¬µ¿ε  ß«
  16233.         ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
  16234.  
  16235.              function HeapFunc(Size: Word): Integer; far;
  16236.  
  16237.              çá¼ÑΓ¿¼, τΓ« ñ¿αÑ¬Γ¿óá far π¬áºδóáÑΓ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í-
  16238.         ¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ ¡Ñ«íσ«ñ¿¼«ßΓ∞  ¿ß»«½∞º«-
  16239.         óáΓ∞ ñá½∞¡εε ¼«ñѽ∞ ó맮óá.
  16240.  
  16241.              öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
  16242.         αÑ὿ºπÑΓß∩ »πΓѼ »α¿ßóá¿óá¡¿∩ ÑÑ áñαÑßá »ÑαѼѡ¡«⌐ ìÑápEror:
  16243.  
  16244.              HeapError := @HeapFunc;
  16245.  
  16246.              öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
  16247.         »á¼∩Γ¿ »«½πτáÑΓ π»αáó½Ñ¡¿Ñ,  ¬«úñá »α¿ «íαáΘÑ¡¿¿ ¬ »α«µÑñπαá¼ New
  16248.         ¿½¿ GetîѼ ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡.  Åáαá¼ÑΓα Size ß«ñÑনΓ
  16249.         αẼÑα í½«¬á,  ñ½∩ ¬«Γ«α«ú« ¡Ñ «¬áºá½«ß∞ «í½áßΓ¿ »á¼∩Γ¿ ß««ΓóÑΓß-
  16250.         ΓóπεΘÑú« αẼÑαá,  ¿ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  16251.         ñѽ∩Ѽ«⌐ «í½áßΓ¿ »«»δΓáÑΓß∩ «ßó«í«ñ¿Γ∞ í½«¬,  αẼÑα ¬«Γ«α«ú«  ¡Ñ
  16252.         ¼Ñ¡∞ΦÑ ñá¡¡«ú« αẼÑαá.
  16253.  
  16254.              é ºáó¿ß¿¼«ßΓ¿ «Γ πß»Ñσá óδ»«½¡Ñ¡¿∩ φΓ«⌐ »«»δΓ¬¿ Σπ¡¬µ¿∩  «í-
  16255.         αáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ó«ºóαáΘáÑΓ º¡á-
  16256.         τÑ¡¿∩ 0,  1 ¿½¿ 2. é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞ßΓóπÑΓ « ¡Ñπ-
  16257.         ñáτ¡«⌐ »«»δΓ¬Ñ, τΓ« ¡Ñ¼Ññ½Ñ¡¡« »α¿ó«ñ¿Γ ¬ ó«º¡¿¬¡«óÑ¡¿ε «Φ¿í¬¿ ó«
  16258.         óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.  é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 1 ΓᬪѠßó¿ñÑ-
  16259.         Γѽ∞ßΓóπÑΓ « ¡Ñπñáτ¡«⌐ »«»δΓ¬Ñ, ¡« ó¼ÑßΓ« «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩
  16260.         «¡« »α¿ó«ñ¿Γ ¬ Γ«¼π,  τΓ« »α«µÑñπαδ GetîѼ ¿½¿ FrÑÑîѼ ó«ºóαáΘáεΓ
  16261.         π¬áºáΓѽ∞ nil.  ìᬫ¡Ñµ,  ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 2 ßó¿ñÑΓѽ∞ßΓóπÑΓ
  16262.         «í  πñáτ¡«⌐  »«»δΓ¬Ñ ¿ óδºδóáÑΓ »«óΓ«α¡πε »«»δΓ¬π óδñѽ¿Γ∞ »á¼∩Γ∞
  16263.         (¬«Γ«αá∩ ΓᬪѠ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ó맮óπ Σπ¡¬µ¿¿  «íαáí«Γ¬¿  «Φ¿í¬¿
  16264.         ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿).
  16265.  
  16266.              æΓá¡ñáαΓ¡á∩ «íαáí«Γ¬¿ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-
  16267.         Ñ¼«⌐ «í½áßΓ¿ óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0,  »α¿ó«ñ∩,  Γᬿ¼ «íαá-
  16268.         º«¼, ¬ «Φ¿í¬Ñ óß∩¬¿⌐ αáº, ¬«úñá ¡Ñ ¼«úπΓ íδΓ∞ óδ»«½¡Ñ¡δ »α«µÑñπαδ
  16269.         New ¿½¿ GetîѼ.  Äñ¡á¬« ñ½∩ ¼¡«ú¿σ »α¿¬½áñ¡δσ »α«úαá¼¼ í«½ÑÑ »«ñ-
  16270.         σ«ñ∩ΘÑ⌐  ∩ó½∩ÑΓß∩  »α«ßΓá∩  Σπ¡¬µ¿∩  «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿
  16271.         αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, »α¿¼Ñα ¬«Γ«α«⌐ »α¿óÑñÑ¡ ¡¿ªÑ:
  16272.  
  16273.              function HeapFunc(Size: Word): Integer; far;
  16274.              begin
  16275.                HeapFunc := 1;
  16276.              end;
  16277.  
  16278.              àß½¿ Γá¬á∩ Σπ¡¬µ¿∩ αÑ὿º«óá¡á,  Γ«  ó¼ÑßΓ«  »α¿¡πñ¿Γѽ∞¡«ú«
  16279.         ºáóÑαΦÑ¡¿∩  αáí«Γδ »α«úαá¼¼δ ó ß¿Γπᵿ¿,  ¬«úñá »α«µÑñπαδ New ¿½¿
  16280.         GetîѼ ¡Ñ ¼«úπΓ óδ»«½¡¿Γ∞ ºá»α«ß,  «¡á  íπñÑΓ  ó«ºóαáΘáΓ∞  »πßΓ«⌐
  16281.         π¬áºáΓѽ∞ (π¬áºáΓѽ∞ nil).
  16282.  
  16283.  
  16284.          B.Pascal 7 & Objects/LR     - 358 -
  16285.  
  16286.              é맮ó Σπ¡¬µ¿¿  «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á-
  16287.         ¼∩Γ¿ ß« º¡áτÑ¡¿Ñ¼ »áαá¼ÑΓαá Size, αáó¡δ¼ 0, »«¬áºδóáÑΓ, τΓ« πñ«ó-
  16288.         ½ÑΓó«αÑ¡¿Ñ ºá»α«ßá ¡á óδñѽѡ¿Ñ »á¼∩Γ¿ »α¿óѽ« ¬ αáßΦ¿αÑ¡¿ε ñ¿¡á-
  16289.         ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ »πΓѼ  »ÑαѼÑΘÑ¡¿∩  HeapPtr
  16290.         óóÑασ.  ¥Γ« »α«¿ßσ«ñ¿Γ,  ¬«úñá ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó ¡ÑΓ ßó«-
  16291.         í«ñ¡δσ í½«¬«ó,  ¿½¿ ¬«úñá óßÑ ßó«í«ñ¡δÑ í½«¬¿  ß½¿Φ¬«¼  ¼á½δ  ñ½∩
  16292.         πñ«ó½ÑΓó«αÑ¡¿∩ ñá¡¡«ú« ºá»α«ßá.  é맮ó ß« º¡áτÑ¡¿Ñ¼ Size,  αáó¡δ¼
  16293.         0,  ¡Ñ π¬áºδóáÑΓ ¡á ß«ßΓ«∩¡¿Ñ «Φ¿í¬¿,  »«ß¬«½∞¬π ¼Ñªñπ HeapPtr  ¿
  16294.         HeapEnd ñ«ßΓáΓ«τ¡« »α«ßΓαá¡ßΓóá ñ½∩ αáßΦ¿αÑ¡¿∩,  «ñ¡á¬« Γᬫ⌐ óδ-
  16295.         º«ó  ß½πª¿Γ  »αÑñπ»αѪñÑ¡¿Ñ¼,  τΓ«  ¡Ñ¿ß»«½∞ºπѼá∩  «í½áßΓ∞  óδΦÑ
  16296.         HeapPtr ß«¬αáΓ¿½áß∞,  ¿ »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  16297.         ñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ ¿ú¡«α¿απÑΓ  º¡áτÑ¡¿Ñ,  ó«ºóαáΘáѼ«Ñ  »α¿
  16298.         ó맮óÑ Γᬫú« Γ¿»á.
  16299.  
  16300.  
  16301.  
  16302.          B.Pascal 7 & Objects/LR     - 359 -
  16303.  
  16304.                               êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿
  16305.                        ó »α«úαá¼¼áσ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
  16306.         ─────────────────────────────────────────────────────────────────
  16307.  
  16308.              é ñá¡¡«¼ αáºñѽѠ»«∩ß¡∩ÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ »á¼∩Γ∞ ó  »α«úαá¼-
  16309.         ¼áσ Borland Pascal ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.
  16310.  
  16311.                                   æÑú¼Ñ¡Γδ ¬«ñá
  16312.         ─────────────────────────────────────────────────────────────────
  16313.  
  16314.              Åਪ½áñ¡á∩ »α«úαἼᠿ ¬áªñá∩ í¿í½¿«ΓѬá ó »α¿¬½áñ¡«⌐  »α«ú-
  16315.         αἼѠ¿½¿  DLL ¿¼ÑÑΓ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ßÑú¼Ñ¡Γ ¬«ñá.  Å« π¼«½τá¡¿ε
  16316.         ¼«ñπ½¿ ß á¡á½«ú¿τ¡δ¼¿ áΓα¿íπΓἿ úαπ»»¿απεΓß∩ ó  ßÑú¼Ñ¡Γáσ  ¬«ñá.
  16317.         éδ ¼«ªÑΓÑ  π»αáó½∩Γ∞ Γᬿ¼ úαπ»»¿α«ó᡿Ѽ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó $S ¿
  16318.         $G ¿¼∩_¼«ñπ½∩.  ÉẼÑα «ñ¡«ú« ßÑú¼Ñ¡Γá ¬«ñá  ¡Ñ  ¼«ªÑΓ  »αÑóδΦáΓ∞
  16319.         64è, ¡«  «íΘ¿⌐ αẼÑα ¬«ñá «úαá¡¿τÑ¡ Γ«½∞¬« «íΩѼ«¼ ñ«ßΓπ»¡«⌐ »á-
  16320.         ¼∩Γ¿.
  16321.  
  16322.                                 ÇΓα¿íπΓδ ßÑú¼Ñ¡Γá
  16323.         ─────────────────────────────────────────────────────────────────
  16324.  
  16325.              èáªñδ⌐ ßÑú¼Ñ¡Γ ¬«ñá ¿¼ÑÑΓ ¡áí«α áΓα¿íπΓ«ó,  «»αÑñѽ∩εΘ¿σ »«-
  16326.         óÑñÑ¡¿Ñ ßÑú¼Ñ¡Γá ¬«ñá »α¿ ºáúαπº¬Ñ ó »á¼∩Γ∞.
  16327.  
  16328.                            ÇΓα¿íπΓδ MOVEABLE ¿½¿ FIXED
  16329.         ─────────────────────────────────────────────────────────────────
  16330.  
  16331.              è«úñá ßÑú¼Ñ¡Γ  ¬«ñá  ¿¼ÑÑΓ  áΓα¿íπΓ MOVEABLE (»ÑαѼÑΘáѼδ⌐),
  16332.         áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ¼«ªÑΓ »ÑαѼÑΘáΓ∞ ßÑú¼Ñ¡Γ ó Σ¿º¿τÑ߬«⌐  »á¼∩-
  16333.         Γ¿, τΓ«íδ πñ«ó½ÑΓó«α¿Γ∞ ñαπú¿Ñ ºá»α«ßδ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿. è«ú-
  16334.         ñá ßÑú¼Ñ¡Γ ¬«ñá ¿¼ÑÑΓ áΓα¿íπΓ FIXED (Σ¿¬ß¿α«óá¡¡δ⌐),  «¡  ¡¿  »α¿
  16335.         ¬á¬¿σ «íßΓ«∩Γѽ∞ßΓóáσ ¡Ñ »ÑαѼÑΘáÑΓß∩ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿.  ÅαÑñ-
  16336.         »«τΓ¿Γѽ∞¡δ¼ áΓα¿íπΓ«¼ ∩ó½∩ÑΓß∩ MOVEABLE,  ¿ »«¬á ¡Ñ íπñÑΓ  áíß«-
  16337.         ½εΓ¡« ¡Ñ«íσ«ñ¿¼« σαá¡¿Γ∞ ßÑú¼Ñ¡Γá ó «ñ¡¿σ ¿ ΓÑσ ªÑ áñαÑßáσ »á¼∩Γ¿
  16338.         (φΓ« ¿¼ÑÑΓ ¼ÑßΓ«,  ¡á»α¿¼Ñα, ñ½∩ «íαáí«Γτ¿¬á »αÑαδóá¡¿⌐), ß½ÑñπÑΓ
  16339.         ¿ß»«½∞º«óáΓ∞ φëà áΓα¿íπΓ.  è«úñá  óá¼ »«ΓαÑíπÑΓß∩ Σ¿¬ß¿α«óá¡¡δ⌐
  16340.         ßÑú¼Ñ¡Γ ¬«ñá,  Γᬫ⌐ ßÑú¼Ñ¡Γ ¬«ñá ß½ÑñπÑΓ ßñѽáΓ∞ »«  ó«º¼«ª¡«ßΓ¿
  16341.         ¼á½Ñ¡∞¬¿¼.
  16342.  
  16343.                          ÇΓα¿íπΓδ PRELOAD ¿½¿ DEMANDLOAD
  16344.         ─────────────────────────────────────────────────────────────────
  16345.  
  16346.              æÑú¼Ñ¡Γ ¬«ñá, ¿¼ÑεΘ¿⌐ áΓα¿íπΓ PRELOAD (»αÑñóáα¿Γѽ∞¡« ºáúαπ-
  16347.         ªáѼδ⌐), áóΓ«¼áΓ¿τÑ߬¿  ºáúαπªáÑΓß∩  »α¿  á¬Γ¿ó¿ºáµ¿¿  »α¿¬½áñ¡«⌐
  16348.         »α«úαá¼¼δ ¿½¿ í¿í½¿«ΓѬ¿. ÇΓα¿íπΓ DEMANDLOAD (ºáúαπªáѼδ⌐ »« ºá»-
  16349.         α«ßπ) «Γ¬½áñδóáÑΓ ºáúαπº¬π ßÑú¼Ñ¡Γá ¿½¿ »α«úαá¼¼δ ñ« Σá¬Γ¿τÑ߬«ú«
  16350.         ó맮óá ßÑú¼Ñ¡Γá.  ò«Γ∩ φΓ« ΓαÑíπÑΓ í«½∞ΦÑ óαѼѡ¿,  ¡«  »«ºó«½∩ÑΓ
  16351.         »α¿¬½áñ¡«⌐ »α«úαἼѠφ¬«¡«¼¿Γ∞ »á¼∩Γ∞.
  16352.  
  16353.                        ÇΓα¿íπΓδ DISCARDABLE ¿½¿ PERMAMENT
  16354.         ─────────────────────────────────────────────────────────────────
  16355.  
  16356.              è«úñá ßÑú¼Ñ¡Γ ¿¼ÑÑΓ áΓα¿íπΓ DIASCARDABLE (óδúαπªáѼδ⌐),  áñ-
  16357.  
  16358.          B.Pascal 7 & Objects/LR     - 360 -
  16359.  
  16360.         ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¼«ªÑΓ «ßó«í«ñ¿Γ∞ ºá¡¿¼áѼπε
  16361.         ßÑú¼Ñ¡Γ«¼ »á¼∩Γ∞,  ¬«úñá  ΓαÑíπÑΓß∩ ñ«»«½¡¿Γѽ∞¡á∩ »á¼∩Γ∞.  è«úñá
  16362.         ßÑú¼Ñ¡Γ ¿¼ÑÑΓ áΓα¿íπΓ PERMANENT (»«ßΓ«∩¡¡δ⌐),  «¡ óßÑ óαѼ∩  σαá-
  16363.         ¡¿Γß∩ ó  »á¼∩Γ¿.  è«úñá  »α¿¬½áñ¡á∩  »α«úαἼᠠóδºδóáÑΓ  ßÑú¼Ñ¡Γ
  16364.         DISCARDABLE, «ΓßπΓßΓóπεΘ¿⌐  ó  »á¼∩Γ¿,  áñ¼¿¡¿ßΓαáΓ«α ºáΘ¿ΘÑ¡¡«ú«
  16365.         αѪ¿¼á ß¡áτá½á ºáúαπªáÑΓ Ñú« ¿º Σá⌐½á .EXE.  ¥Γ«  ΓαÑíπÑΓ  í«½∞ΦÑ
  16366.         óαѼѡ¿, τѼ Ñß½¿ íδ ßÑú¼Ñ¡Γ ¿¼Ñ½ áΓα¿íπΓ PERMANENT, ¡« »«ºó«½∩ÑΓ
  16367.         óδ»«½¡∩Γ∞ »α¿¬½áñ¡πε »α«úαá¼¼π ó ¼Ñ¡∞ΦѼ «íΩѼѠ»á¼∩Γ¿.
  16368.  
  16369.              æÑú¼Ñ¡Γ DISCARDABLE  ó »α«úαἼѠDOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á á¡á-
  16370.         ½«ú¿τÑ¡ «óÑα½Ñ⌐¡«¼π ßÑú¼Ñ¡Γπ ó »α«úαἼѠDOS, ó Γ« óαѼ∩ ¬á¬ ßÑú-
  16371.         ¼Ñ¡Γ PERMANENT  ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS á¡á½«ú¿τÑ¡ ßÑú¼Ñ¡Γπ »α«ú-
  16372.         αá¼¼δ DOS, ¡Ñ ∩ó½∩εΘѼπß∩ «óÑα½Ñ⌐¡δ¼.
  16373.  
  16374.  
  16375.  
  16376.          B.Pascal 7 & Objects/LR     - 361 -
  16377.  
  16378.                              æÑú¼Ñ¡Γδ ñá¡¡δσ ¿ ßΓѬá
  16379.         ─────────────────────────────────────────────────────────────────
  16380.  
  16381.              èáªñá∩ »α¿¬½áñ¡á∩  »α«úαἼᠺáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿½¿ í¿í-
  16382.         ½¿«ΓѬá ß«ñÑαª¿Γ ßÑú¼Ñ¡Γ ñá¡¡δσ,  ¬«Γ«αδÑ ¼«ªÑΓ ¿¼ÑΓ∞  αẼÑα  ñ«
  16383.         64è. ìá ßÑú¼Ñ¡Γ óßÑúñá π¬áºδóáÑΓ αÑú¿ßΓα  ßÑú¼Ñ¡Γá  ñá¡¡δσ  (DS).
  16384.         ¥Γ«Γ ßÑú¼Ñ¡Γ ß«ñÑαª¿Γ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¿ ú½«íá½∞¡δÑ »ÑαÑ-
  16385.         ¼Ñ¡¡δÑ.
  16386.  
  16387.              èα«¼Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ,  »α¿¬½áñ¡á∩ »α«úαἼᠺáΘ¿ΘÑ¡¡«ú« αÑ-
  16388.         ª¿¼á DOS ¿¼ÑÑΓ ßÑú¼Ñ¡Γ ßΓѬá,  ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ñ½∩  σαá¡Ñ¡¿∩
  16389.         ½«¬á½∞¡δσ »ÑαѼѡ¡δσ,  αáß»αÑñѽѡ¡δσ »α«µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿. ìá
  16390.         óσ«ñÑ ó »α¿¬½áñ¡πε »α«úαá¼¼π αÑú¿ßΓα ßÑú¼Ñ¡Γá ßΓѬá (SS) ¿ π¬áºá-
  16391.         Γѽ∞ ßΓѬá (SP) ºáúαπªÑ¡δ Γᬿ¼ «íαẫ¼, τΓ« »áαá αÑú¿ßΓα«ó SS:SP
  16392.         π¬áºδóáÑΓ  ¡á »Ñαóδ⌐ íá⌐Γ »«ß½Ñ ßÑú¼Ñ¡Γá ßΓѬá.  è«úñá óδºδóáεΓß∩
  16393.         »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  SP ñ½∩ óδñѽѡ¿∩ »α«ßΓαá¡ßΓóá ñ½∩  »áαá¼ÑΓ-
  16394.         α«ó,  áñαÑßá  ó«ºóαáΓá  ¿ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ »ÑαѼÑΘáÑΓß∩ ó¡¿º.
  16395.         è«úñá »«ñ»α«úαá¼¼á ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ,  »α«µÑßß ¿º¼Ñ¡∩ÑΓß∩  ¡á
  16396.         «íαáΓ¡δ⌐:  π¬áºáΓѽ∞ ßΓѬá πóѽ¿τ¿óáÑΓß∩ ñ« º¡áτÑ¡¿∩,  ¬«Γ«α«Ñ «¡
  16397.         ¿¼Ñ½ »ÑαÑñ ó맮ó«¼. Å« π¼«½τá¡¿ε αẼÑα ßÑú¼Ñ¡Γá ßΓѬá αáóÑ¡ 16è,
  16398.         ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $M Ñú« ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
  16399.  
  16400.              é «Γ½¿τ¿Ñ «Γ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, DDL DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿-
  16401.         ¼á ¡Ñ ¿¼ÑÑΓ ßÑú¼Ñ¡Γá ßΓѬá.  è«úñá ó DLL óδºδóáÑΓß∩ »α«µÑñπαá ¿½¿
  16402.         Σπ¡¬µ¿∩, αÑú¿ßΓα DS ¿º¼Ñ¡∩ÑΓß∩, τΓ«íδ π¬áºδóáΓ∞ ¡á ßÑú¼Ñ¡Γ ñá¡¡δσ
  16403.         DLL, ¡«  »áαá  αÑú¿ßΓα«ó SS:SP ¡Ñ ¼«ñ¿Σ¿µ¿απÑΓß∩.  Æá¬¿¼ «íαẫ¼,
  16404.         DLL óßÑúñá ¿ß»«½∞ºπÑΓ ßÑú¼Ñ¡Γ ßΓѬá óδºδóáεΘÑ⌐  »α¿¬½áñ¡«⌐  »α«ú-
  16405.         αá¼¼δ.
  16406.  
  16407.                                êº¼Ñ¡Ñ¡¿Ñ áΓα¿íπΓ«ó
  16408.         ─────────────────────────────────────────────────────────────────
  16409.  
  16410.              êß»«½∞ºπѼδÑ »« π¼«½τá¡¿ε áΓα¿íπΓδ ßÑú¼Ñ¡Γá ¬«ñá - φΓ« áΓα¿-
  16411.         íπΓδ MOVEABLE,  DEMANDLOAD ¿ DISCARDABLE.  ì« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
  16412.         ¬«¼»¿½∩Γ«αá $C  óδ ¼«ªÑΓÑ ºáñáΓ∞ ñαπú¿Ñ ¿ß»«½∞ºπѼδÑ »« π¼«½τá¡¿ε
  16413.         áΓα¿íπΓδ, ¡á»α¿¼Ñα:
  16414.  
  16415.              {$C MOVEABLE PRELOAD PERMANENT}
  16416.  
  16417.              é »α¿¬½áñ¡«⌐ »α«úαἼѠºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¡ÑΓ  ¡Ñ«íσ«ñ¿-
  16418.         ¼«ßΓ¿ ó  áñ¼¿¡¿ßΓαáΓ«αÑ «óÑα½ÑÑó.  Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ DOS ºáΘ¿-
  16419.         ΘÑ¡¡«ú« αѪ¿¼á ó¬½ετáÑΓ ó ßÑí∩ »«½¡δ⌐  ¡áí«α  ßαÑñßΓó  π»αáó½Ñ¡¿∩
  16420.         «óÑα½Ñ∩¼¿, π»αáó½∩Γ∞ ¬«Γ«α묨 ¼«ª¡« τÑαѺ áΓα¿íπΓδ ßÑú¼Ñ¡Γá ¬«ñá.
  16421.         Ä»¿ßδóáѼδÑ ¡¿ªÑ ßαÑñßΓóá ñ«ßΓπ»¡δ ñ½∩ ½εí«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«-
  16422.         ú« αѪ¿¼á DOS.
  16423.  
  16424.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡«ßΓ¿  «  ñ¿αÑ¬Γ¿óÑ  ¬«¼»¿½∩Γ«αá  $C
  16425.               ¼«ª¡« ¡á⌐Γ¿ ó â½áóÑ 2 ("ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá") ó "æ»αáó«τ-
  16426.               ¡«¼ απ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá".
  16427.  
  16428.  
  16429.  
  16430.          B.Pascal 7 & Objects/LR     - 362 -
  16431.  
  16432.                             Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿
  16433.                         αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ DOS
  16434.         ─────────────────────────────────────────────────────────────────
  16435.  
  16436.              ÉáßΦ¿αÑ¡¿∩ Borland ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS  ó¬½ετáεΓ  ó  ßÑí∩
  16437.         »«½¡δ⌐ áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á.  Åα¿  óδ»«½¡Ñ¡¿¿
  16438.         »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS óß∩ ñ«ßΓπ»¡á∩ »á¼∩Γ∞ »αÑóαáΘáÑΓ-
  16439.         ß∩ ó ú½«íá½∞¡πε ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞ »á¼∩Γ¿,  ¬«Γ«-
  16440.         αá∩  π»αáó½∩ÑΓß∩  áñ¼¿¡¿ßΓαáΓ«α«¼  »á¼∩Γ¿ (»«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩
  16441.         »á¼∩Γ∞ε) ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.  Åਪ½áñ¡á∩ »α«úαἼᠼ«ªÑΓ »«½πτ¿Γ∞
  16442.         ñ«ßΓπ» ¬ ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ τÑ-
  16443.         αѺ »«ñ»α«úαá¼¼δ GlobalXXXX ¼«ñπ½∩ WinAPI.  ò«Γ∩ ¼«ª¡«  αáß»αÑñÑ-
  16444.         ½∩Γ∞  í½«¬¿ ú½«íá½∞¡«⌐ »á¼∩Γ¿ ½εí«ú« αẼÑαá,  ú½«íá½∞¡á∩ ñ¿¡á¼¿-
  16445.         τÑ߬¿ αáß»αÑñѽ∩Ѽá∩  «í½áßΓ∞  »á¼∩Γ¿  »αÑñ¡áº¡áτÑ¡á  Γ«½∞¬«  ñ½∩
  16446.         í«½∞Φ¿σ í½«¬«ó (1024 íá⌐Γ ¿½¿ í«½ÑÑ).  ä½∩ ¬áªñ«ú« í½«¬á ú½«íá½∞-
  16447.         ¡«⌐ »á¼∩Γ¿ ΓαÑíπÑΓß∩ ñ«»«½¡¿Γѽ∞¡« 32 íá⌐Γá (φΓ« ¡Ñ»α«¿ºó«ñ¿Γѽ∞-
  16448.         ¡δÑ  ºáΓαáΓδ),  á  «íΘÑÑ  τ¿ß½« í½«¬«ó ú½«íá½∞¡«⌐ »á¼∩Γ¿ ¡Ñ ¼«ªÑΓ
  16449.         »αÑóδΦáΓ∞ 8192.
  16450.  
  16451.                    Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ  αáßΦ¿αÑ¡¿∩  Borland ºáΘ¿ΘÑ¡¡«ú«
  16452.               αѪ¿¼á DOS «»¿ßδóáεΓß∩ ó â½áóÑ 17 "Åα«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿-
  16453.               ΘÑ¡¡«¼ αѪ¿¼Ñ DOS".
  16454.  
  16455.              Borland Pascal ó¬½ετáÑΓ ó ßÑí∩ áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ (¬«Γ«αδ⌐
  16456.         ¡áºδóáεΓ ΓᬪѠ»«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε), αÑ὿ºπεΘ¿⌐ ßΓá¡-
  16457.         ñáαΓ¡δÑ »α«µÑñπαδ New,  Dispose,  GetMem ¿ FreeMem. Çñ¼¿¡¿ßΓαáΓ«α
  16458.         »á¼∩Γ¿  ¿ß»«½∞ºπÑΓ ñ½∩ óßÑσ αáß»αÑñѽѡ¿⌐ »á¼∩Γ¿ ú½«íá½∞¡πε ñ¿¡á-
  16459.         ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞.  Å«ß¬«½∞¬π ú½«íá½∞¡á∩ ñ¿¡á¼¿τÑ߬¿
  16460.         αáß»αÑñѽ∩Ѽá∩  «í½áßΓ∞  »á¼∩Γ¿ «úαá¡¿τÑ¡á 8192 í½«¬á¼¿ (τΓ« «τÑ-
  16461.         ó¿ñ¡« ¼Ñ¡∞ΦÑ,  τѼ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ ñ½∩  ¡Ñ¬«Γ«αδσ  »α¿¬½áñ¡δσ
  16462.         »α«úαá¼¼), áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ Borland Pascal αÑ὿ºπÑΓ á½ú«α¿Γ¼
  16463.         óΓ«α¿τ¡«ú« αáß»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γ«ó,  ¬«Γ«αδ⌐ π½πτΦáÑΓ  »α«¿ºó«ñ¿-
  16464.         Γѽ∞¡«ßΓ∞  ¿  ñ«»π߬áÑΓ  αáß»αÑñѽѡ¿Ñ ßπΘÑßΓóÑ¡¡« í«½∞ΦÑú« ¬«½¿-
  16465.         τÑßΓóá í½«¬«ó.
  16466.  
  16467.                    Åα¿¼Ñτá¡¿Ñ: Borland Pascal ñ½∩ αáßΦ¿αÑ¡¡«ú« αѪ¿¼á DOS
  16468.               ¡Ñ »«ññÑনóáÑΓ ßσѼπ αáß»αÑñѽѡ¿∩ ß »«¼«Θ∞ε »α«µÑñπα MArk
  16469.               ¿ Release, »αÑñπß¼«ΓαÑ¡¡πε ñ½∩ αÑá½∞¡«ú« αѪ¿¼á DOS.
  16470.  
  16471.              Ç½ú«α¿Γ¼ óΓ«α¿τ¡«ú«  αáß»αÑñѽѡ¿∩ í½«¬«ó αáí«ΓáÑΓ ß½ÑñπεΘ¿¼
  16472.         «íαẫ¼. Åα¿ óδñѽѡ¿¿ í«½∞Φ«ú« í½«¬á áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ »α«ßΓ«
  16473.         óδñѽ∩ÑΓ ú½«íá½∞¡πε  »á¼∩Γ∞  ß  »«¼«Θ∞ε »«ñ»α«úαá¼¼δ GlobalAlloc.
  16474.         Åα¿ óδñѽѡ¿¿ ¼á½Ñ¡∞¬«ú« í½«¬á áñ¼¿¡¿ßΓαáΓ«α óδñѽ∩ÑΓ í«½ÑÑ ¬απ»-
  16475.         ¡δ⌐ í½«¬ »á¼∩Γ¿, á ºáΓѼ αáºí¿óáÑΓ Ñú« (óΓ«α¿τ¡« αáß»αÑñѽ∩ÑΓ) »«
  16476.         ΓαÑí«óá¡¿ε ¡á í«½ÑÑ ¼Ñ½¬¿Ñ í½«¬¿.  ÅÑαÑñ ΓѼ,  ¬á¬  áñ¼¿¡¿ßΓαáΓ«α
  16477.         »á¼∩Γ¿ óδñѽ∩ÑΓ  ¡«óδ⌐  í½«¬ ú½«íá½∞¡«⌐ »á¼∩Γ¿,  ¬«Γ«αδ⌐,  ó ßó«ε
  16478.         «τÑαÑñ∞, íπñÑΓ αáß»αÑñѽ∩Γ∞ß∩ »«óΓ«α¡«, »α¿ αáß»αÑñѽѡ¿¿ ¼á½Ñ¡∞-
  16479.         ¬¿σ  í½«¬«ó »«óΓ«α¡« ¿ß»«½∞ºπÑΓß∩ óßÑ ñ«ßΓπ»¡«Ñ »α«ßΓαá¡ßΓó« óΓ«-
  16480.         α¿τ¡«ú« αáß»αÑñѽѡ¿∩.
  16481.  
  16482.                    Åα¿¼Ñτá¡¿Ñ: Äí ¿ß»«½∞º«óá¡¿¿ áñ¼¿¡¿ßΓαáΓ«αá  »á¼∩Γ¿  ó
  16483.               DLL »«ñα«í¡ÑÑ αáß߬áºδóáÑΓß∩ ó â½áóÑ 11 "信ἿτÑ߬¿ ¬«¼»«-
  16484.               ¡πѼδÑ í¿í½¿«ΓѬ¿".
  16485.  
  16486.          B.Pascal 7 & Objects/LR     - 363 -
  16487.  
  16488.  
  16489.              ÅÑαѼѡ¡á∩ HeapLimit  «»αÑñѽ∩ÑΓ  »«α«ú  ¼Ñªñπ  ¼á½Ñ¡∞¬¿¼¿ ¿
  16490.         í«½∞Φ¿¼¿ í½«¬á¼¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ¿.  Å« π¼«½τá¡¿ε
  16491.         ÑÑ º¡áτÑ¡¿Ñ αáó¡« 1024 íá⌐Γá¼.  ÅÑαѼѡ¡á∩  HeapBlock  «»αÑñѽ∩ÑΓ
  16492.         αẼÑα, ¿ß»«½∞ºπѼδ⌐  áñ¼¿¡¿ßΓαáΓ«α«¼  »á¼∩Γ¿  »α¿  αáß»αÑñѽѡ¿¿
  16493.         í½«¬«ó, óδñѽѡ¡δσ ñ½∩  óΓ«α¿τ¡«ú«  αáß»αÑñѽѡ¿∩.  Å«  π¼«½τá¡¿ε
  16494.         º¡áτÑ¡¿Ñ HeapBlock  αáó¡«  8192 íá⌐Γá¼.  ç¡áτÑ¡¿∩ φΓ¿σ »ÑαѼѡ¡δσ
  16495.         ¿º¼Ñ¡∩Γ∞ ¡Ñ ß½ÑñπÑΓ, ¡« Ñß½¿ óδ φΓ« ßñѽáÑΓÑ, πíÑñ¿ΓÑß∞, τΓ« º¡á-
  16496.         τÑ¡¿Ñ HeapBlock  ß«ßΓáó½∩ÑΓ  ¡Ñ  ¼Ñ¡∞ΦÑ  τÑΓδαÑσ¬αáΓ¡«ú«  αẼÑαá
  16497.         HeapLimit.
  16498.  
  16499.              ÅÑαѼѡ¡á∩ HeapAllocFpals «»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ Σ½áú«ó áΓα¿íπ-
  16500.         Γ«ó, »ÑαÑñáóáѼδσ GlobalAlloc, ¬«úñá áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ αáß»αÑ-
  16501.         ñѽ∩ÑΓ í½«¬¿ ú½«íá½∞¡«⌐ »á¼∩Γ¿.  Å« π¼«½τá¡¿ε ÑÑ  º¡áτÑ¡¿Ñ  αáó¡«
  16502.         gmem_Moveable.
  16503.  
  16504.                               ÅÑαѼѡ¡á∩ HeapError
  16505.         ─────────────────────────────────────────────────────────────────
  16506.  
  16507.              ÅÑαѼѡ¡á∩ HeapError »«ºó«½∩ÑΓ óá¼ αÑ὿º«óáΓ∞ Σπ¡¬µ¿ε «íαá-
  16508.         í«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. ¥Γá Σπ¡¬-
  16509.         µ¿∩ óδºδóáÑΓß∩ ¬áªñδ⌐ αáº,  ¬«úñá »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑ-
  16510.         ñѽѡ¿∩  »á¼∩Γ¿  ¡Ñ  ¼«ªÑΓ  óδ»«½¡¿Γ∞ ºá»α«ß ¡á óδñѽѡ¿Ñ »á¼∩Γ¿.
  16511.         ìÑápError ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ,  ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ ¡á  Σπ¡¬µ¿ε  ß«
  16512.         ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
  16513.  
  16514.              function HeapFunc(Size: word): integer; far;
  16515.  
  16516.              çá¼ÑΓ¿¼, τΓ« ñ¿αÑ¬Γ¿óá far π¬áºδóáÑΓ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í-
  16517.         ¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ ¡Ñ«íσ«ñ¿¼«ßΓ∞  ¿ß»«½∞º«-
  16518.         óáΓ∞ ñá½∞¡εε ¼«ñѽ∞ ó맮óá.
  16519.  
  16520.              öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
  16521.         αÑ὿ºπÑΓß∩ »πΓѼ »α¿ßóá¿óá¡¿∩ ÑÑ áñαÑßá »ÑαѼѡ¡«⌐ ìÑápEror:
  16522.  
  16523.              HeapError := @HeapFunc;
  16524.  
  16525.              öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿
  16526.         »á¼∩Γ¿ »«½πτáÑΓ π»αáó½Ñ¡¿Ñ,  ¬«úñá »α¿ «íαáΘÑ¡¿¿ ¬ »α«µÑñπαá¼ New
  16527.         ¿½¿ GetîѼ ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡.  Åáαá¼ÑΓα Size ß«ñÑনΓ
  16528.         αẼÑα í½«¬á,  ñ½∩ ¬«Γ«α«ú« ¡Ñ «¬áºá½«ß∞ «í½áßΓ¿ »á¼∩Γ¿ ß««ΓóÑΓß-
  16529.         ΓóπεΘÑú« αẼÑαá,  ¿ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  16530.         ñѽ∩Ѽ«⌐  «í½áßΓ¿  »α«¿ºóÑñÑΓ »«»δΓ¬π «ßó«í«ªñÑ¡¿∩ í½«¬á,  αẼÑα
  16531.         ¬«Γ«α«ú« ¡Ñ ¼Ñ¡∞ΦÑ ñá¡¡«ú« αẼÑαá.
  16532.  
  16533.              ÅÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
  16534.         ½∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿  áñ¼¿¡¿ßΓαáΓ«α  ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐
  16535.         »á¼∩Γ¿ »δΓáÑΓß∩ óδñѽ¿Γ∞ ßó«í«ñ¡δ⌐ í½«¬ ¿º í½«¬«ó óΓ«α¿τ¡«ú« αáº-
  16536.         í¿Ñ¡¿∩,  á  ΓᬪѠ ¿ß»«½∞º«óáΓ∞  ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐  ó맮ó  Σπ¡¬µ¿¿
  16537.         GlobalAlloc.
  16538.  
  16539.              é ºáó¿ß¿¼«ßΓ¿ «Γ πß»Ñσá óδ»«½¡Ñ¡¿∩ φΓ«⌐ »«»δΓ¬¿ Σπ¡¬µ¿∩  «í-
  16540.         αáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ó«ºóαáΘáÑΓ º¡á-
  16541.  
  16542.          B.Pascal 7 & Objects/LR     - 364 -
  16543.  
  16544.         τÑ¡¿∩ 0,  1 ¿½¿ 2. é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞ßΓóπÑΓ « ¡Ñπ-
  16545.         ñáτ¡«⌐ »«»δΓ¬Ñ, τΓ« ¡Ñ¼Ññ½Ñ¡¡« »α¿ó«ñ¿Γ ¬ ó«º¡¿¬¡«óÑ¡¿ε «Φ¿í¬¿ ó«
  16546.         óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.  é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 1 ΓᬪѠßó¿ñÑ-
  16547.         Γѽ∞ßΓóπÑΓ « ¡Ñπñáτ¡«⌐ »«»δΓ¬Ñ, ¡« ó¼ÑßΓ« «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩
  16548.         «¡« »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« »α«µÑñπαδ New ¿½¿ GetîѼ ó«ºóαáΘáεΓ π¬á-
  16549.         ºáΓѽ∞ nil.  ìᬫ¡Ñµ,  ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 2 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í
  16550.         πñáτ¡«⌐ »«»δΓ¬Ñ ¿ óδºδóáÑΓ »«óΓ«α¡πε »«»δΓ¬π óδñѽ¿Γ∞ »á¼∩Γ∞ (¬«-
  16551.         Γ«αá∩ ΓᬪѠ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ó맮óπ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿  ñ¿-
  16552.         ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿).
  16553.  
  16554.              æΓá¡ñáαΓ¡á∩ «íαáí«Γ¬¿ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-
  16555.         Ñ¼«⌐ «í½áßΓ¿ óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0,  »α¿ó«ñ∩,  Γᬿ¼ «íαá-
  16556.         º«¼, ¬ «Φ¿í¬Ñ óß∩¬¿⌐ αáº, ¬«úñá ¡Ñ ¼«úπΓ íδΓ∞ óδ»«½¡Ñ¡δ »α«µÑñπαδ
  16557.         New ¿½¿ GetîѼ. Äñ¡á¬« ñ½∩ ¼¡«ú¿σ »α¿¬½áñ¡δσ ºáñáτ í«½ÑÑ »«ñσ«ñ∩-
  16558.         ΘÑ⌐ ∩ó½∩ÑΓß∩ »α«ßΓá∩ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  16559.         ñѽ∩Ѽ«⌐ «í½áßΓ¿, »α¿¼Ñα ¬«Γ«α«⌐ »α¿óÑñÑ¡ ¡¿ªÑ:
  16560.  
  16561.              function HeapFunc(Size: Word): Integer; far;
  16562.              begin
  16563.                HeapFunc := 1;
  16564.              end;
  16565.  
  16566.              àß½¿ Γá¬á∩ Σπ¡¬µ¿∩ αÑ὿º«óá¡á,  Γ«  ó¼ÑßΓ«  »α¿¡πñ¿Γѽ∞¡«ú«
  16567.         ºáóÑαΦÑ¡¿∩  αáí«Γδ »α«úαá¼¼δ ó ß¿Γπᵿ¿,  ¬«úñá »α«µÑñπαδ New ¿½¿
  16568.         GetîѼ ¡Ñ ¼«úπΓ óδ»«½¡¿Γ∞ ºá»α«ß,  «¡á  íπñÑΓ  ó«ºóαáΘáΓ∞  »πßΓ«⌐
  16569.         π¬áºáΓѽ∞ (π¬áºáΓѽ∞ nil).
  16570.  
  16571.  
  16572.  
  16573.          B.Pascal 7 & Objects/LR     - 365 -
  16574.  
  16575.                     êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α«úαá¼¼áσ Windows
  16576.         ─────────────────────────────────────────────────────────────────
  16577.  
  16578.              é ñá¡¡«¼ αáºñѽѠ»«∩ß¡∩ÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó  »α«úαá¼-
  16579.         ¼áσ Borland Pascal ñ½∩ Windows.
  16580.  
  16581.                                ÇΓα¿íπΓδ ßÑú¼Ñ¡Γ«ó
  16582.         ─────────────────────────────────────────────────────────────────
  16583.  
  16584.              èáªñδ⌐ ßÑú¼Ñ¡Γ ¬«ñá ¿¼ÑÑΓ ¡áí«α áΓα¿íπΓ«ó,  «»αÑñѽ∩εΘ¿σ Ñú«
  16585.         »«óÑñÑ¡¿Ñ »α¿ ºáúαπº¬Ñ ó »á¼∩Γ∞.
  16586.  
  16587.                            ÇΓα¿íπΓδ MOVEABLE ¿½¿ FIXED
  16588.         ─────────────────────────────────────────────────────────────────
  16589.  
  16590.              è«úñá ßÑú¼Ñ¡Γ  ∩ó½∩ÑΓß∩  »ÑαѼÑΘáÑ¼δ¼  (MOVEABLE),  Windows,
  16591.         τΓ«íδ πñ«ó½ÑΓó«α¿Γ∞ »«ΓαÑí¡«ßΓ¿ ó  αáß»αÑñѽ∩Ѽ«⌐  »á¼∩Γ¿,  ¼«ªÑΓ
  16592.         »ÑαѼÑΘáΓ∞ ßÑú¼Ñ¡Γ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿. è«úñá ßÑú¼Ñ¡Γ ¬«ñá Σ¿¬ß¿-
  16593.         α«óá¡¡δ⌐ (FIXED),  «¡ ¡Ñ »ÑαѼÑΘáÑΓß∩ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿.  ü«½ÑÑ
  16594.         »αÑñ»«τΓ¿Γѽѡ áΓα¿íπΓ MOVEABLE,  ¿ Ñß½¿ ¡ÑΓ áíß«½εΓ¡«⌐ ¡Ñ«íσ«ñ¿-
  16595.         ¼«ßΓ¿ σαá¡¿Γ∞ ßÑú¼Ñ¡Γ ¬«ñá »« «ñ¡«¼π ¿ Γ«¼π ªÑ áñαÑßπ ó  Σ¿º¿τÑß-
  16596.         ¬«⌐  »á¼∩Γ¿  (¬á¬  íδóáÑΓ ó Γ«¼ ß½πτáÑ,  Ñß½¿ «¡ ß«ñÑαª¿Γ ñαá⌐óÑα
  16597.         »αÑαδóá¡¿⌐), ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ áΓα¿íπΓ MOVEABLE.
  16598.  
  16599.                          ÇΓα¿íπΓδ PRELOAD ¿½¿ DEMANDLOAD
  16600.         ─────────────────────────────────────────────────────────────────
  16601.  
  16602.              æÑú¼Ñ¡Γ ¬«ñá, ¿¼ÑεΘ¿⌐ áΓα¿íπΓ PRELOAD, »α¿ á¬Γ¿ó¿ºáµ¿¿ »α¿¬-
  16603.         ½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ í¿í½¿«ΓѬ¿ ºáúαπªáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿.  ÇΓα¿-
  16604.         íπΓ DEMANDLOAD «Γ¬½áñδóáÑΓ ºáúαπº¬π ßÑú¼Ñ¡Γá  ñ«  ΓÑσ  »«α,  »«¬á
  16605.         »«ñ»α«úαá¼¼á ó ßÑú¼Ñ¡ΓÑ ñÑ⌐ßΓó¿Γѽ∞¡« ¡Ñ íπñÑΓ óδºóá¡á.
  16606.  
  16607.                        ÇΓα¿íπΓδ DISCARDABLE ¿½¿ PERMANENT
  16608.         ─────────────────────────────────────────────────────────────────
  16609.  
  16610.              è«úñá ßÑú¼Ñ¡Γ ¿¼ÑÑΓ áΓα¿íπΓ DISCARDABLE, Windows »α¿ ¡Ñ«íσ«-
  16611.         ñ¿¼«ßΓ¿ óδñѽѡ¿∩ ñ«»«½¡¿Γѽ∞¡«⌐ »á¼∩Γ¿ ¼«ªÑΓ «ßó«í«ªñáΓ∞ »á¼∩Γ∞,
  16612.         ºá¡¿¼áѼπε ñá¡¡δ¼ ßÑú¼Ñ¡Γ«¼. è«úñá »α¿¬½áñ¡á∩ »α«úαἼᠫíαáΘáÑΓ-
  16613.         ß∩ ¬ óδúαπªáѼ«¼π ßÑú¼Ñ¡Γπ (DISCARDABLE),  ¬«Γ«α«ú« ¡ÑΓ ó »á¼∩Γ¿,
  16614.         Windows ºáúαπªáÑΓ Ñú« ß¡áτá½á ¿º Σá⌐½á .EXE. ¥Γ« ºá¡¿¼áÑΓ í«½∞ΦÑÑ
  16615.         óαѼ∩,  τѼ Ñß½¿ íδ ßÑú¼Ñ¡Γ íδ½ »«ßΓ«∩¡¡δ¼ (PERMANENT), ¡« »«ºó«-
  16616.         ½∩ÑΓ »α¿¬½áñ¡«⌐ »α«úαἼѠ»α¿ óδ»«½¡Ñ¡¿¿ ºá¡¿¼áΓ∞ ¼Ñ¡∞ΦÑ ¼ÑßΓá.
  16617.  
  16618.              âαπí« ú«ó«α∩,  ßÑú¼Ñ¡Γ  DISCARDABLE  ó  »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ
  16619.         Windows «τÑ¡∞ ¡á»«¼¿¡áÑΓ «óÑα½Ñ⌐¡δ⌐ ßÑú¼Ñ¡Γ ó »α«úαἼѠDOS.
  16620.  
  16621.                                êº¼Ñ¡Ñ¡¿Ñ áΓα¿íπΓ«ó
  16622.         ─────────────────────────────────────────────────────────────────
  16623.  
  16624.              Å« π¼«½τá¡¿ε ßÑú¼Ñ¡Γ𠬫ñá  ¡áº¡áτáεΓß∩  áΓα¿íπΓδ  MOVEABLE,
  16625.         PRELOAD ¿ PERMANEMT, ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $C óδ ¼«-
  16626.         ªÑΓÑ ¿σ ¿º¼Ñ¡¿Γ∞. ìá»α¿¼Ñα:
  16627.  
  16628.  
  16629.          B.Pascal 7 & Objects/LR     - 366 -
  16630.  
  16631.              {$C MOVEABLE DEMANDLOAD DISCARDABLE}
  16632.  
  16633.                    Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ »«ñα«í¡« « ñ¿αÑ¬Γ¿óÑ $C  αáß߬áºδóá-
  16634.               ÑΓß∩ ó â½áóÑ 2 ("ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá") "æ»αáó«τ¡«ú« απ¬«-
  16635.               ó«ñßΓóá »α«úαá¼¼¿ßΓá".
  16636.  
  16637.              é »α¿¬½áñ¡«⌐ »α«úαἼѠWindows  ¡ÑΓ  ¡Ñ«íσ«ñ¿¼«ßΓ¿  óδñѽ∩Γ∞
  16638.         »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩  «óÑα½Ñ∩¼¿.  Çñ¼¿¡¿ßΓαáΓ«α  »á¼∩Γ¿  Windows
  16639.         ó¬½ετáÑΓ  ó ßÑí∩ »«½¡δ⌐ ¡áí«α «íß½πª¿óáεΘ¿σ ßαÑñßΓó,  π»αáó½∩Ѽδσ
  16640.         áΓα¿íπΓἿ ßÑú¼Ñ¡Γá ¬«ñá.  ¥Γ¿ ßαÑñßΓóá ñ«ßΓπ»¡δ ½εí«⌐ »α¿¬½áñ¡«⌐
  16641.         »α«úαἼѠWindows.
  16642.  
  16643.  
  16644.  
  16645.          B.Pascal 7 & Objects/LR     - 367 -
  16646.  
  16647.                       æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ
  16648.         ─────────────────────────────────────────────────────────────────
  16649.  
  16650.              èáªñá∩ »α¿¬½áñ¡á∩  »α«úαἼᠠ¿½¿ í¿í½¿«ΓѬᠿ¼ÑÑΓ «ñ¿¡ ßÑú-
  16651.         ¼Ñ¡Γ ñá¡¡δσ,  ¬«Γ«αδ⌐ ¡áºδóáÑΓß∩ ßÑú¼Ñ¡Γ«¼ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ
  16652.         ñá¡¡δσ ¿ ¼«ªÑΓ ºá¡¿¼áΓ∞ ñ« 64è. ìá ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ
  16653.         ñá¡¡δσ  óßÑúñá π¬áºδóáÑΓ αÑú¿ßΓα ßÑú¼Ñ¡Γá ñá¡¡δσ DS.  Ä¡ αáºñѽѡ
  16654.         ¡á τÑΓδαÑ τáßΓ¿:
  16655.  
  16656.                       æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ
  16657.                       ┌───────────────────────────────────┐
  16658.                       │                                   │
  16659.                       │ ï«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩- │
  16660.                       │ Ñ¼á∩ «í½áßΓ∞ »á¼∩Γ¿               │
  16661.                       │                                   │
  16662.                       ├───────────────────────────────────┤
  16663.                       │                                   │
  16664.                       │             æΓѬ                  │
  16665.                       │                                   │
  16666.                       ├───────────────────────────────────┤
  16667.                       │                                   │
  16668.                       │       æΓáΓ¿τÑ߬¿Ñ ñá¡¡δÑ          │
  16669.                       │                                   │
  16670.                       ├───────────────────────────────────┤
  16671.                       │                                   │
  16672.                       │         çáú«½«ó«¬ ºáñáτ¿          │
  16673.                       │                                   │
  16674.                       └───────────────────────────────────┘
  16675.  
  16676.              É¿ß. 21.7 æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ.
  16677.  
  16678.              ÅÑαóδ⌐ 16 íá⌐Γ ßÑú¼Ñ¡Γá ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ óßÑúñá
  16679.         ß«ñÑαªáΓ ºáú«½«ó«¬ ºáñáτ¿,  ó ¬«Γ«α«¼ Windows ß«σαá¡∩ÑΓ αẽ¿τ¡πε
  16680.         ß¿ßΓѼ¡πε ¿¡Σ«α¼áµ¿ε.
  16681.  
  16682.              Äí½áßΓ∞ ßΓáΓ¿τÑ߬¿σ ñá¡¡δσ ß«ñÑαª¿Γ óßÑ ú½«íá½∞¡δÑ  »ÑαѼѡ-
  16683.         ¡δÑ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ,  «»¿ßá¡¡δÑ ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ
  16684.         ¿½¿ í¿í½¿«ΓѬÑ.
  16685.  
  16686.              æÑú¼Ñ¡Γ ßΓѬᠿ߻«½∞ºπÑΓß∩ ñ½∩ σαá¡Ñ¡¿∩  ½«¬á½∞¡δσ  »ÑαѼѡ-
  16687.         ¡δσ,  αáß»αÑñѽ∩Ѽδσ »α«µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿. ìá óσ«ñÑ ó »α¿¬½áñ-
  16688.         ¡πε »α«úαá¼¼π αÑú¿ßΓα ßÑú¼Ñ¡Γá ßΓѬá SS ¿ π¬áºáΓѽ∞ ßΓѬá SP ºáú-
  16689.         απªáεΓß∩ Γᬿ¼ «íαẫ¼,  τΓ« SS:SP π¬áºδóáÑΓ ¡á »Ñαóδ⌐ íá⌐Γ »«ß½Ñ
  16690.         «í½áßΓ¿ ßΓѬá ó ßÑú¼Ñ¡ΓÑ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ. Åα¿ ó맮-
  16691.         óÑ  »α«µÑñπα  ¿ Σπ¡¬µ¿⌐ SP »ÑαѼÑΘáÑΓß∩ ó¡¿º,  óδñѽ∩∩ »á¼∩Γ∞ ñ½∩
  16692.         »áαá¼ÑΓα«ó,  áñαÑßá ó«ºóαáΓá ¿ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ.  è«úñá »«ñ»-
  16693.         α«úαἼᠠó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ,  »α«µÑßß ¿º¼Ñ¡∩ÑΓß∩ ¡á «íαáΓ¡δ⌐:
  16694.         SP πóѽ¿τ¿óáÑΓß∩ ¿ »α¿¡¿¼áÑΓ Γ« º¡áτÑ¡¿Ñ,  ¬«Γ«α«Ñ í佫 »ÑαÑñ óδ-
  16695.         º«ó«¼. êß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε αẼÑα «í½áßΓ¿ ßΓѬá ó áóΓ«¼áΓ¿-
  16696.         τÑ߬«¼ ßÑú¼Ñ¡ΓÑ ñá¡¡δσ αáóÑ¡ 8è,  ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩-
  16697.         Γ«αá $M φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
  16698.  
  16699.              é «Γ½¿τ¿Ñ  «Γ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ í¿í½¿«ΓѬá ó ßÑú¼Ñ¡ΓÑ ½«-
  16700.  
  16701.          B.Pascal 7 & Objects/LR     - 368 -
  16702.  
  16703.         ¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ ¡Ñ ¿¼ÑÑΓ «í½áßΓ¿ ßΓѬá.  Åα¿ ó맮óÑ ó
  16704.         ñ¿¡á¼¿τÑ߬¿  ¬«¼»«¡πѼ«⌐ í¿í½¿«ΓѬѠDLL »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ αÑ-
  16705.         ú¿ßΓα DS π¬áºδóáÑΓ ¡á ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ  í¿í-
  16706.         ½¿«ΓѬ¿,  ¡«  »áαá αÑú¿ßΓα«ó SS:SP ¡Ñ ¿º¼Ñ¡∩ÑΓß∩.  Æá¬¿¼ «íαẫ¼,
  16707.         í¿í½¿«ΓѬá óßÑúñá ¿ß»«½∞ºπÑΓ ßΓѬ óδºδóáεΘÑ⌐ »α¿¬½áñ¡«⌐  »α«úαá¼-
  16708.         ¼δ.
  16709.  
  16710.              Å«ß½Ññ¡∩∩ τáßΓ∞  ó  ßÑú¼Ñ¡ΓÑ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ -
  16711.         ½«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞.  Ä¡á  ß«ñÑαª¿Γ  óßÑ
  16712.         ½«¬á½∞¡δÑ  ñ¿¡á¼¿τÑ߬¿Ñ ñá¡¡δÑ,  ¬«Γ«αδÑ αáß»αÑñѽ∩½¿ß∞ ß »«¼«Θ∞ε
  16713.         Σπ¡¬µ¿¿ LocalAlloc ó Windows.  Å« π¼«½τá¡¿ε ½«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿
  16714.         αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ ¿¼ÑÑΓ αẼÑα 8è, ¡« φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º-
  16715.         ¼Ñ¡¿Γ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $M.
  16716.  
  16717.              Windows ñ«»π߬áÑΓ, τΓ«íδ ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡-
  16718.         ¡δσ  íδ½  »ÑαѼÑΘáѼδ¼,  ¡« Borland Pascal φΓ«ú« ¡Ñ »«ññÑনóáÑΓ.
  16719.         æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  ¿½¿
  16720.         í¿í½¿«ΓѬ¿ Borland Pascal óßÑúñá í½«¬¿απÑΓß∩,  φΓ¿¼ «íÑß»Ñτ¿óáÑΓ-
  16721.         ß∩, τΓ« ßÑ½Ñ¬Γ«α (áñαÑß ßÑú¼Ñ¡Γá) ßÑú¼Ñ¡Γá ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ
  16722.         ñá¡¡δσ ¡¿¬«úñá ¡Ñ ¿º¼Ñ¡∩ÑΓß∩. Åα¿ αáí«ΓÑ ó ßΓá¡ñáαΓ¡«¼ ¿½¿ αáßΦ¿-
  16723.         αÑ¡¡«¼ αѪ¿¼Ñ φΓ« ¡Ñ »α¿ó«ñ¿Γ ¡¿ ¬  ¬á¬«¼π  πσπñΦÑ¡¿ε,  »«ß¬«½∞¬π
  16724.         ßÑú¼Ñ¡Γ ß«σαá¡∩ÑàëàªÑ ßÑ½Ñ¬Γ«α ñáªÑ »α¿ »ÑαѼÑΘÑ¡¿¿ ó Σ¿º¿τÑß-
  16725.         ¬«⌐ »á¼∩Γ¿.  Äñ¡á¬« ó αÑá½∞¡«¼ αѪ¿¼Ñ,  Ñß½¿ ΓαÑíπÑΓß∩ αáßΦ¿αÑ¡¿Ñ
  16726.         ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿,  Windows, ó«º¼«ª¡«,
  16727.         ¡Ñ ß¼«ªÑΓ φΓ«ú« ßñѽáΓ∞, »«ß¬«½∞¬π ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ
  16728.         ñá¡¡δσ »ÑαѼÑΘáΓ∞ß∩ ¡Ñ ¼«ªÑΓ.  àß½¿ óáΦá »α¿¬½áñ¡á∩ »α«úαἼᠿß-
  16729.         »«½∞ºπÑΓ ½«¬á½∞¡πε ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε  «í½áßΓ∞  »á¼∩Γ¿  ¿
  16730.         ñ«½ª¡á óδ»«½¡∩Γ∞ß∩ ó αÑá½∞¡«¼ αѪ¿¼Ñ, Γ« ß½ÑñπÑΓ «íÑß»Ñτ¿Γ∞, τΓ«-
  16731.         íδ ¡áτá½∞¡δ⌐ αẼÑα ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿
  16732.         íδ½ Γᬿ¼,  τΓ«íδ «¡ πñ«ó½ÑΓó«α∩½ óßѼ »«ΓαÑí¡«ßΓ∩¼ ó αáß»αÑñѽÑ-
  16733.         ¡¿¿ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ (ñ½∩ φΓ«ú« ¿ß»«½∞ºπÑΓß∩ ñ¿αѬ-
  16734.         Γ¿óá ¬«¼»¿½∩Γ«αá $M).
  16735.  
  16736.  
  16737.              Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿
  16738.         ─────────────────────────────────────────────────────────────────
  16739.  
  16740.              Windows »«ññÑনóáÑΓ  ñ¿¡á¼¿τÑ߬«Ñ  αáß»αÑñѽѡ¿Ñ  »á¼∩Γ¿  ó
  16741.         ñóπσ  αẽ¿τ¡δσ  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽδσ «í½áßΓ∩σ:  ú½«íá½∞¡«⌐
  16742.         ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¿ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿  αáß»-
  16743.         αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.
  16744.  
  16745.                    Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ  »«ñα«í¡«  «  ½«¬á½∞¡«⌐ ¿ ú½«íá½∞¡«⌐
  16746.               ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ αáß߬áºδóáÑΓß∩ ó  "Éπ¬«-
  16747.               ó«ñßΓóÑ »α«úαá¼¼¿ßΓá »« Windows".
  16748.  
  16749.              â½«íá½∞¡á∩ ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ - φΓ« »π½ »á-
  16750.         ¼∩Γ¿,  ñ«ßΓπ»¡δ⌐ ñ½∩ óßÑσ »α¿¬½áñ¡δσ »α«úαá¼¼.  ò«Γ∩ ¼«úπΓ  óδñÑ-
  16751.         ½∩Γ∞ß∩ í½«¬¿ ú½«íá½∞¡«⌐ »á¼∩Γ¿ ½εí«ú« αẼÑαá, ú½«íá½∞¡á∩ ñ¿¡á¼¿-
  16752.         τÑ߬¿ αáß»αÑñѽ∩Ѽá∩  «í½áßΓ∞  »á¼∩Γ¿  »αÑñ¡áº¡áτÑ¡á  Γ«½∞¬«  ñ½∩
  16753.         "í«½∞Φ¿σ" «í½áßΓÑ⌐ »á¼∩Γ¿ (256 íá⌐Γ ¿½¿ í«½ÑÑ).  èáªñδ⌐ í½«¬ ú½«-
  16754.         íá½∞¡«⌐ »á¼∩Γ¿ ¿¼ÑÑΓ ¿ºíδΓ«τ¡δ⌐ αẼÑα 20 íá⌐Γ,  ¿ »α¿  αáí«ΓÑ  ó
  16755.         ßΓá¡ñáαΓ¡«⌐  ßαÑñÑ Windows ó π½πτΦÑ¡¡«¼ αѪ¿¼Ñ 386 ßπΘÑßΓóπÑΓ «ú-
  16756.  
  16757.          B.Pascal 7 & Objects/LR     - 369 -
  16758.  
  16759.         αá¡¿τÑ¡¿Ñ ó 8192 í½«¬á »á¼∩Γ¿,  Γ«½∞¬« ¡Ñ¬«Γ«αδÑ ¿º ¬«Γ«αδσ  ñ«ß-
  16760.         Γπ»¡δ ñ½∩ «Γñѽ∞¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  16761.  
  16762.              ï«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽá∩  «í½áßΓ∞  »á¼∩Γ¿ - φΓ«
  16763.         »π½ »á¼∩Γ¿,  ñ«ßΓπ»¡«⌐ Γ«½∞¬« ñ½∩ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ  ¿½¿
  16764.         í¿í½¿«ΓѬ¿. Ä¡á αáß»«½«ªÑ¡á ó óÑασ¡Ñ⌐ τáßΓ¿ ßÑú¼Ñ¡Γá ñá¡¡δσ »α¿¬-
  16765.         ½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ í¿í½¿«ΓѬ¿.  ÄíΘ¿⌐ αẼÑα  í½«¬«ó  ½«¬á½∞¡«⌐
  16766.         »á¼∩Γ¿,  ¬«Γ«αδÑ ¼«úπΓ óδñѽ∩Γ∞ß∩ ó ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  16767.         ñѽ∩Ѽ«⌐ «í½áßΓ¿,  αáóÑ¡ 64è, ¼¿¡πß αẼÑα ßΓÑ¬á »α¿¬½áñ¡«⌐ »α«ú-
  16768.         αá¼¼δ ¿ ßΓáΓ¿τÑ߬¿σ ñá¡¡δσ. Å« φΓ«⌐ »α¿τ¿¡Ñ ½«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿
  16769.         αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ »á¼∩Γ¿ ½πτΦÑ »«ñσ«ñ¿Γ ñ½∩ "¡Ñí«½∞Φ¿σ" í½«-
  16770.         ¬«ó »á¼∩Γ¿ (26 íá⌐Γ ¿½¿ ¼Ñ¡ÑÑ). Å« π¼«½τá¡¿ε αẼÑα ½«¬á½∞¡«⌐ ñ¿-
  16771.         ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ αáóÑ¡ 8è, ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
  16772.         ¬«¼»¿½∩Γ«αá $M φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
  16773.  
  16774.                    Åα¿¼Ñτá¡¿Ñ: Borland  Pascal  ¡Ñ  »«ññÑনóáÑΓ ¼Ñσá¡¿º¼
  16775.               αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ ß »«¼«Θ∞ε »α«µÑñπα Mark ¿ Release, ¬«-
  16776.               Γ«αδÑ »αÑñπß¼«ΓαÑ¡δ ó óÑαß¿¿ ñ½∩ DOS.
  16777.  
  16778.              Borland Pascal ó¬½ετáÑΓ ó ßÑí∩ »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿-
  16779.         τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε (áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿), ¬«Γ«αá∩ αÑá-
  16780.         ½¿ºπÑΓ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ New,  Dispose, GetMem ¿ FreeMem. ä½∩
  16781.         óßÑσ óδñѽѡ¿⌐ »á¼∩Γ¿ »«ñß¿ßΓѼá ñ¿¡á¼¿τÑ߬¿ π»αáó½Ñ¡¿∩ αáß»αÑñÑ-
  16782.         ½∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ ¿ß»«½∞ºπÑΓ ú½«íá½∞¡πε ñ¿¡á¼¿τÑ߬¿  αáß»αÑ-
  16783.         ñѽ∩Ѽπε «í½áßΓ∞. Å«ß¬«½∞¬π ú½«íá½∞¡á∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩
  16784.         «í½áßΓ∞ »á¼∩Γ¿ ¿¼ÑÑΓ ß¿ßΓѼ¡«Ñ «úαá¡¿τÑ¡¿Ñ ó 8192 í½«¬á (τΓ«  «»-
  16785.         αÑñѽѡ¡« ¼Ñ¡∞ΦÑ,  τѼ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ ó ¡Ñ¬«Γ«αδσ »α¿¬½áñ¡δσ
  16786.         ºáñáτáσ),  »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐  «í-
  16787.         ½áßΓ∞ε  »á¼∩Γ¿  Borland Pascal ñ½∩ π½πτΦÑ¡¿∩ »α«¿ºó«ñ¿Γѽ∞¡«ßΓ¿ ¿
  16788.         «íÑß»ÑτÑ¡¿∩ óδñѽѡ¿∩ ßπΘÑßΓóÑ¡¡« í«½∞ΦÑú« τ¿ß½á í½«¬«ó  ó¬½ετáÑΓ
  16789.         ó ßÑí∩ á½ú«α¿Γ¼ óΓ«α¿τ¡«ú« αáß»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γá.
  16790.  
  16791.                    Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ »«ñα«í¡« «í  φΓ«¼  αáß߬áºδóáÑΓß∩  ó
  16792.               â½áóÑ 11 "信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿".
  16793.  
  16794.              Ç½ú«α¿Γ¼ óΓ«α¿τ¡«ú«  óδñѽѡ¿∩  ßÑú¼Ñ¡Γá  αáí«ΓáÑΓ ß½ÑñπεΘ¿¼
  16795.         «íαẫ¼: »α¿  αáß»αÑñѽѡ¿¿  í«½∞Φ«ú« í½«¬á áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿-
  16796.         τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿  »α«ßΓ«  óδñѽ∩ÑΓ  ú½«íá½∞¡δ⌐
  16797.         í½«¬ »á¼∩Γ¿,  ¿ß»«½∞ºπ∩ »«ñ»α«úαá¼¼π Windows ClobalAlloc. Åα¿ óδ-
  16798.         ñѽѡ¿¿ ¼á½Ñ¡∞¬«ú« í½«¬á áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
  16799.         «í½áßΓ¿ »á¼∩Γ¿ óδñѽ∩ÑΓ í«½∞Φ¿⌐ í½«¬ »á¼∩Γ¿, á ºáΓѼ ñѽ¿Γ Ñú« ¡á
  16800.         í«½ÑÑ ¼Ñ½¬¿Ñ í½«¬¿ (¬á¬  ΓαÑíπÑΓß∩).  Åα¿  óδñѽѡ¿¿  "¼á½Ñ¡∞¬¿σ"
  16801.         í½«¬«ó  »ÑαÑñ  ΓѼ,  ¬á¬ áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
  16802.         «í½áßΓ¿ »á¼∩Γ¿ óδñѽ¿Γ í½«¬ ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
  16803.         »á¼∩Γ¿  (¬«Γ«αδ⌐ íπñÑΓ ó ßó«ε «τÑαÑñ∞ αáºí¿Γ ¡á í½«¬¿),  »«óΓ«α¡«
  16804.         ¿ß»«½∞ºπεΓß∩ óßÑ ñ«ßΓπ»¡δÑ ¼Ñ½¬¿Ñ í½«¬¿.
  16805.  
  16806.              âαá¡¿µπ ¼Ñªñπ ¼á½Ñ¡∞¬¿¼¿ ¿ í«½∞Φ¿¼¿ í½«¬á¼¿ «»αÑñѽ∩ÑΓß∩ »Ñ-
  16807.         αѼѡ¡«⌐  HeapLimit.  Å« π¼«½τá¡¿ε «¡á ¿¼ÑÑΓ º¡áτÑ¡¿Ñ 1024 íá⌐Γá.
  16808.         ÅÑαѼѡ¡á∩ HeapBlock «»αÑñѽ∩ÑΓ αẼÑα,  ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓ  »«ñ-
  16809.         ß¿ßΓѼá π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ »α¿
  16810.         óδñѽѡ¿¿ í½«¬«ó ñ½∩ óΓ«α¿τ¡«ú« αáºí¿Ñ¡¿∩. Å« π¼«½τá¡¿ε «¡á ¿¼ÑÑΓ
  16811.         º¡áτÑ¡¿Ñ 8192 íá⌐Γá.  êº¼Ñ¡∩Γ∞ φΓ¿ º¡áτÑ¡¿∩ óá¼ ¡ÑºáτѼ,  ¡« Ñß½¿
  16812.  
  16813.          B.Pascal 7 & Objects/LR     - 370 -
  16814.  
  16815.         óδ αÑΦ¿ΓÑ φΓ« ßñѽáΓ∞,  πíÑñ¿ΓÑß∞ τΓ« HeapBlock ¿¼ÑÑΓ º¡áτÑ¡¿Ñ »«
  16816.         ¬αá⌐¡Ñ⌐ ¼ÑαÑ ó τÑΓδαÑ αáºá »αÑóδΦáεΘÑÑ HeapLimit.
  16817.  
  16818.              ÅÑαѼѡ¡á∩ HeapAllocFlags «»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ Σ½áú«ó áΓα¿íπ-
  16819.         Γ«ó, »ÑαÑñáóáѼδσ GlobalAlloc, ¬«úñá áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ αáß»αÑ-
  16820.         ñѽ∩ÑΓ ú½«íá½∞¡δÑ  í½«¬¿.  é  »α«úαἼѠ»« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩
  16821.         º¡áτÑ¡¿Ñ gmem_Moveable,  á  ó  í¿í½¿«ΓѬѠ  -   gmem_Moveable   +
  16822.         gmem_SSEShure.
  16823.  
  16824.              ü½«¬¿ ú½«íá½∞¡«⌐ »á¼∩Γ¿,  óδñѽ∩ѼδÑ áñ¼¿¡¿ßΓαáΓ«α«¼ ñ¿¡á¼¿-
  16825.         τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿,  óßÑúñá  í½«¬¿απεΓß∩  ¡Ñ»«ß-
  16826.         αÑñßΓóÑ¡¡«  »«ß½Ñ  ßó«Ñú« óδñѽѡ¿∩ (ß »«¼«Θ∞ε GlobalLock) ¡Ñ¼Ññ-
  16827.         ½Ñ¡¡« »«ß½Ñ ßó«Ñú« óδñѽѡ¿∩ ¿ ¡Ñ αáºí½«¬¿απεΓß∩,  »«¬á ¡Ñ  íπñπΓ
  16828.         «ßó«í«ªñÑ¡δ.  ¥Γ¿¼ «íÑß»Ñτ¿óáÑΓß∩,  τΓ« ßÑ½Ñ¬Γ«αδ (áñαÑßá ßÑú¼Ñ¡-
  16829.         Γ«ó) í½«¬«ó ¡Ñ ¿º¼Ñ¡∩εΓß∩. é ßΓá¡ñáαΓ¡«⌐ ßαÑñÑ Windows ¿ π½πτΦÑ¡-
  16830.         ¡δσ αѪ¿¼áσ »α«µÑßß«αá 386 Σ¿¬ß¿α«óá¡¡δÑ í½«¬¿ ¼«úπΓ,  ΓѼ ¡Ñ ¼Ñ-
  16831.         ¡ÑÑ,  »ÑαѼÑΘáΓ∞ß∩ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿, «ßó«í«ªñá∩ ¼ÑßΓ« ñ½∩ ñαπ-
  16832.         ú¿σ ºá»α«ß«ó »« óδñѽѡ¿ε »á¼∩Γ¿,  »«φΓ«¼π φΓ« ¡Ñ πσπñΦáÑΓ »α«¿º-
  16833.         ó«ñ¿Γѽ∞¡«ßΓ¿ áñ¼¿¡¿ßΓαáΓ«αá ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿
  16834.         »á¼∩Γ¿ Borland Pascal.  Äñ¡á¬« ó αÑá½∞¡«¼ αѪ¿¼Ñ, Ñß½¿ «Γ Windows
  16835.         ΓαÑíπÑΓß∩ αáßΦ¿αÑ¡¿Ñ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áß-
  16836.         Γ¿, áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ Windows, ó«º¼«ª¡«, ¡Ñ ß¼«ªÑΓ »ÑαѼÑßΓ¿Γ∞
  16837.         ¿σ,  τΓ«íδ óδñѽ¿Γ∞ ñαπú¿Ñ í½«¬¿.  àß½¿ óáΦá »α¿¬½áñ¡á∩ »α«úαá¼¼á
  16838.         ¿ß»«½∞ºπÑΓ  ½«¬á½∞¡πε ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞ ¿ ñ«½ª¡á
  16839.         óδ»«½¡∩Γ∞ß∩ ó αÑá½∞¡«¼ αѪ¿¼Ñ,  ¼«ª¡« αáßß¼«ΓαÑΓ∞  »α¿  óδñѽѡ¿¿
  16840.         í½«¬«ó  ñ¿¡á¼¿τÑ߬«⌐  »á¼∩Γ¿  ó«º¼«ª¡«ßΓ∞  ¿ß»«½∞º«óá¡¿∩  ßαÑñßΓó
  16841.         αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, »αÑñ«ßΓáó½∩Ѽδσ Windows.
  16842.  
  16843.  
  16844.                               ÅÑαѼѡ¡á∩ HeapError
  16845.         ─────────────────────────────────────────────────────────────────
  16846.  
  16847.              ÅÑαѼѡ¡á∩ HeapError »«ºó«½∩ÑΓ óá¼ αÑ὿º«óáΓ∞ Σπ¡¬µ¿ε «íαá-
  16848.         í«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. ¥Γá Σπ¡¬-
  16849.         µ¿∩ óδºδóáÑΓß∩ ¬áªñδ⌐ αáº,  ¬«úñá »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑ-
  16850.         ñѽѡ¿∩ »á¼∩Γ¿ ¡Ñ ¼«ªÑΓ óδ»«½¡¿Γ∞  ºá»α«ß  ¡á  óδñѽѡ¿Ñ  »á¼∩Γ¿.
  16851.         ìÑápError  ∩ó½∩ÑΓß∩  π¬áºáΓѽѼ,  ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ ¡á Σπ¡¬µ¿ε ß«
  16852.         ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
  16853.  
  16854.              function HeapFunc(Size: word): integer; far;
  16855.  
  16856.              çá¼ÑΓ¿¼, τΓ« ñ¿αÑ¬Γ¿óá far π¬áºδóáÑΓ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í-
  16857.         ¬¿  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«-
  16858.         óáΓ∞ ñá½∞¡εε ¼«ñѽ∞ ó맮óá.
  16859.  
  16860.              öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿
  16861.         αÑ὿ºπÑΓß∩ »πΓѼ »α¿ßóá¿óá¡¿∩ ÑÑ áñαÑßá »ÑαѼѡ¡«⌐ ìÑápEror:
  16862.  
  16863.              HeapError := @HeapFunc;
  16864.  
  16865.              öπ¡¬µ¿∩ «íαáí«Γ¬¿  «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
  16866.         »á¼∩Γ¿ »«½πτáÑΓ π»αáó½Ñ¡¿Ñ,  ¬«úñá »α¿ «íαáΘÑ¡¿¿ ¬ »α«µÑñπαá¼ New
  16867.         ¿½¿ GetîѼ ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡.  Åáαá¼ÑΓα Size ß«ñÑনΓ
  16868.  
  16869.          B.Pascal 7 & Objects/LR     - 371 -
  16870.  
  16871.         αẼÑα í½«¬á,  ñ½∩ ¬«Γ«α«ú« ¡Ñ «¬áºá½«ß∞ «í½áßΓ¿ »á¼∩Γ¿ ß««ΓóÑΓß-
  16872.         ΓóπεΘÑú« αẼÑαá,  ¿ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  16873.         ñѽ∩Ѽ«⌐ «í½áßΓ¿ »«»δΓáÑΓß∩ «ßó«í«ñ¿Γ∞ í½«¬,  αẼÑα ¬«Γ«α«ú«  ¡Ñ
  16874.         ¼Ñ¡∞ΦÑ ñá¡¡«ú« αẼÑαá.
  16875.  
  16876.              ÅÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
  16877.         ½∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ »«ñß¿ßΓѼá ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩  »á-
  16878.         ¼∩Γ¿ »δΓáÑΓß∩ óδñѽ¿Γ∞ ßó«í«ñ¡δ⌐ í½«¬ ¿º í½«¬«ó óΓ«α¿τ¡«ú« αáºí¿-
  16879.         Ñ¡¿∩,  á  ΓᬪѠ ¿ß»«½∞º«óáΓ∞  ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐   óδº«ó   Σπ¡¬µ¿¿
  16880.         GlobalAlloc.
  16881.  
  16882.              é ºáó¿ß¿¼«ßΓ¿  «Γ πß»Ñσá óδ»«½¡Ñ¡¿∩ φΓ«⌐ »«»δΓ¬¿ Σπ¡¬µ¿∩ «í-
  16883.         αáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ó«ºóαáΘáÑΓ º¡á-
  16884.         τÑ¡¿∩ 0,  1 ¿½¿ 2. é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞ßΓóπÑΓ « ¡Ñπ-
  16885.         ñáτ¡«⌐ »«»δΓ¬Ñ, τΓ« ¡Ñ¼Ññ½Ñ¡¡« »α¿ó«ñ¿Γ ¬ ó«º¡¿¬¡«óÑ¡¿ε «Φ¿í¬¿ ó«
  16886.         óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.  é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 1 ΓᬪѠßó¿ñÑ-
  16887.         Γѽ∞ßΓóπÑΓ « ¡Ñπñáτ¡«⌐ »«»δΓ¬Ñ, ¡« ó¼ÑßΓ« «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩
  16888.         «¡« »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« »α«µÑñπαδ New ¿½¿ GetîѼ ó«ºóαáΘáεΓ π¬á-
  16889.         ºáΓѽ∞ nil.  ìᬫ¡Ñµ,  ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 2 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í
  16890.         πñáτ¡«⌐ »«»δΓ¬Ñ ¿ óδºδóáÑΓ »«óΓ«α¡πε »«»δΓ¬π óδñѽ¿Γ∞ »á¼∩Γ∞ (¬«-
  16891.         Γ«αá∩ ΓᬪѠ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ó맮óπ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿  ñ¿-
  16892.         ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿).
  16893.  
  16894.              æΓá¡ñáαΓ¡á∩ «íαáí«Γ¬¿ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-
  16895.         Ñ¼«⌐ «í½áßΓ¿ óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0,  »α¿ó«ñ∩,  Γᬿ¼ «íαá-
  16896.         º«¼, ¬ «Φ¿í¬Ñ óß∩¬¿⌐ αáº, ¬«úñá ¡Ñ ¼«úπΓ íδΓ∞ óδ»«½¡Ñ¡δ »α«µÑñπαδ
  16897.         New ¿½¿ GetîѼ. Äñ¡á¬« ñ½∩ ¼¡«ú¿σ »α¿¬½áñ¡δσ ºáñáτ í«½ÑÑ »«ñσ«ñ∩-
  16898.         ΘÑ⌐ ∩ó½∩ÑΓß∩ »α«ßΓá∩ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  16899.         ñѽ∩Ѽ«⌐ «í½áßΓ¿, »α¿¼Ñα ¬«Γ«α«⌐ »α¿óÑñÑ¡ ¡¿ªÑ:
  16900.  
  16901.              function HeapFunc(Size: word) integer; far;
  16902.              begin
  16903.                HeapFunc := 1;
  16904.              end;
  16905.  
  16906.              àß½¿ Γá¬á∩  Σπ¡¬µ¿∩  αÑ὿º«óá¡á,  Γ« ó¼ÑßΓ« »α¿¡πñ¿Γѽ∞¡«ú«
  16907.         ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ ó ß¿Γπᵿ¿,  ¬«úñá »α«µÑñπαδ New  ¿½¿
  16908.         GetîѼ  ¡Ñ  ¼«úπΓ  óδ»«½¡¿Γ∞ ºá»α«ß,  «¡á íπñÑΓ ó«ºóαáΘáΓ∞ »πßΓ«⌐
  16909.         π¬áºáΓѽ∞ (π¬áºáΓѽ∞ nil).
  16910.  
  16911.  
  16912.  
  16913.          B.Pascal 7 & Objects/LR     - 372 -
  16914.  
  16915.                     ö«α¼áΓδ ó¡πΓαÑ¡¡Ñú« »αÑñßΓáó½Ñ¡¿∩ ñá¡¡δσ
  16916.         ─────────────────────────────────────────────────────────────────
  16917.  
  16918.              äá½ÑÑ «»¿ßδóáεΓß∩  Σ«α¼áΓδ  ó¡πΓαÑ¡¡Ñú« »αÑñßΓáó½Ñ¡¿∩ ñá¡¡δσ
  16919.         Borland Pascal.
  16920.  
  16921.                                ûѽ«τ¿ß½Ñ¡¡δÑ Γ¿»δ
  16922.         ─────────────────────────────────────────────────────────────────
  16923.  
  16924.              ö«α¼áΓ, óδí¿αáѼδ⌐ ñ½∩ »αÑñßΓáó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ µÑ½«ú« Γ¿»á,
  16925.         ºáó¿ß¿Γ «Γ ÑÑ ¼¿¡¿¼á½∞¡«⌐ ¿ ¼á¬ß¿¼á½∞¡«⌐ úαá¡¿µ:
  16926.  
  16927.              1.  àß½¿  «íÑ  úαá¡¿µδ  ¡áσ«ñ∩Γß∩   ó   ñ¿á»áº«¡Ñ  -128..127
  16928.                  (Shotrint - ¬«α«Γ¬«Ñ µÑ½«Ñ), Γ« »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬
  16929.                  íá⌐Γ ß« º¡á¬«¼.
  16930.  
  16931.              2.  àß½¿ «íÑ úαá¡¿µδ ¡áσ«ñ∩Γß∩ ó ñ¿á»áº«¡Ñ  0..255  (Byte  -
  16932.                  íá⌐Γ«óá∩  »ÑαѼѡ¡á∩),  Γ« »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬ íá⌐Γ
  16933.                  íѺ º¡á¬á.
  16934.  
  16935.              3.  àß½¿ «íÑ úαá¡¿µδ  ¡áσ«ñ∩Γß∩  ó  ñ¿á»áº«¡Ñ  -32768..32767
  16936.                  (Integer - µÑ½«Ñ),  Γ« »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬ ß½«ó« ß«
  16937.                  º¡á¬«¼.
  16938.  
  16939.              4.  àß½¿ «íÑ úαá¡¿µδ ¡áσ«ñ∩Γß∩ ó ñ¿á»áº«¡Ñ 0..65535  (Word -
  16940.                  »ÑαѼѡ¡á∩ ñ½¿¡«⌐ ó ß½«ó«),  Γ« »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬
  16941.                  ß½«ó«.
  16942.  
  16943.              5.  é »α«Γ¿ó¡«¼ ß½πτáÑ »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬ ñó«⌐¡«Ñ ß½«-
  16944.                  ó« ß« º¡á¬«¼ (Longint - ñ½¿¡¡«Ñ µÑ½«Ñ).
  16945.  
  16946.                                  æ¿¼ó«½∞¡δ⌐ Γ¿»
  16947.         ─────────────────────────────────────────────────────────────────
  16948.  
  16949.              æ¿¼ó«½∞¡δ⌐ Γ¿» ¿½¿ »«ññ¿á»áº«¡  («ΓαѺ«¬)  ß¿¼ó«½∞¡«ú«  Γ¿»á
  16950.         (Char) σαá¡¿Γß∩, ¬á¬ íá⌐Γ íѺ º¡á¬á.
  16951.  
  16952.                                   üπ½Ñó߬¿⌐ Γ¿»
  16953.         ─────────────────────────────────────────────────────────────────
  16954.  
  16955.              ç¡áτÑ¡¿∩ ¿ »ÑαѼѡ¡δÑ íπ½Ñó߬«ú« Γ¿»á Boolean  σαá¡∩Γß∩  ¬á¬
  16956.         íá⌐Γ,  WordBool  - ¬á¬ ß½«ó«,  á LongBool - ¬á¬ º¡áτÑ¡¿Ñ Longint.
  16957.         Åα¿ φΓ«¼ »«ñαáºπ¼ÑóáεΓß∩,  τΓ« «¡¿  ¼«úπΓ  »α¿¡¿¼áΓ∞  º¡áτÑ¡¿∩  0
  16958.         (FalsÑ) ¿½¿ 1 (ÆruÑ).
  16959.  
  16960.                                 ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿»
  16961.         ─────────────────────────────────────────────────────────────────
  16962.  
  16963.              ç¡áτÑ¡¿∩ »ÑαÑτ¿ß½¿¼«ú«  Γ¿»á  σαá¡∩Γß∩,  ¬á¬ íá⌐Γ íѺ º¡á¬á,
  16964.         Ñß½¿ ¡π¼Ñαᵿ∩ ¡Ñ »αÑóδΦáÑΓ 256. é »α«Γ¿ó¡«¼ ß½πτáÑ «¡¿ σαá¡∩Γß∩,
  16965.         ¬á¬ ß½«ó« íѺ º¡á¬á.
  16966.  
  16967.  
  16968.  
  16969.          B.Pascal 7 & Objects/LR     - 373 -
  16970.  
  16971.                              Æ¿»δ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
  16972.         ─────────────────────────────────────────────────────────────────
  16973.  
  16974.              Æ¿»δ º¡áτÑ¡¿⌐  ß  »½áóáεΘÑ⌐  Γ«τ¬«⌐  Real,  Single,  Double,
  16975.         Extended ¿ Comp (óÑΘÑßΓóÑ¡¡δ⌐,  ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε,  ß ñó«⌐¡«⌐
  16976.         Γ«τ¡«ßΓ∞ε, ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿ ß½«ª¡δ⌐) σαá¡∩Γß∩ ó ó¿ñÑ ñó«-
  16977.         ¿τ¡«ú« »αÑñßΓáó½Ñ¡¿∩ º¡á¬á (+ ¿½¿ -), »«¬áºáΓѽ∩ ßΓѻѡ¿ ¿ º¡áτá-
  16978.         ΘÑ⌐ τáßΓ¿ τ¿ß½á. ÅαÑñßΓáó½∩Ѽ«Ñ τ¿ß½« ¿¼ÑÑΓ º¡áτÑ¡¿Ñ:
  16979.  
  16980.              +/- º¡áτáΘá∩_τáßΓ∞ ò 2^»«¬áºáΓѽ∞_ßΓѻѡ¿
  16981.  
  16982.         úñÑ º¡áτáΘá∩ τáßΓ∞ τ¿ß½á »αÑñßΓáó½∩ÑΓ ß«í«⌐ «Γñѽ∞¡δ⌐  í¿Γ  ß½Ñóá
  16983.         «Γ ñó«¿τ¡«⌐  ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿ (Γ« ÑßΓ∞ 0 <= º¡áτáΘá∩ τáßΓ∞ <= 2).
  16984.  
  16985.              é ß½ÑñπεΘÑ⌐ ñá½ÑÑ ßσѼѠ߽Ñóá αáß»«½«ªÑ¡δ  ßΓáαΦ¿Ñ  º¡áτáΘ¿Ñ
  16986.         í¿Γδ, á ß»αáóá - ¼½áñΦ¿Ñ º¡áτáΘ¿Ñ í¿Γδ. æá¼«Ñ ½Ñó«Ñ º¡áτÑ¡¿Ñ σαá-
  16987.         ¡¿Γß∩ ó ßá¼δσ ßΓáαΦ¿σ áñαÑßáσ.  ìá»α¿¼Ñα, ñ½∩ º¡áτÑ¡¿∩ óÑΘÑßΓóÑ¡-
  16988.         ¡«ú« Γ¿»á e ß«σαá¡∩ÑΓß∩ ó »Ñαó«¼ íá⌐ΓÑ, f - ó ß½ÑñπεΘ¿σ »∩Γ¿ íá⌐-
  16989.         Γáσ, á s - ó ßΓáαΦѼ º¡áτáΘѼ í¿ΓÑ »«ß½Ññ¡Ñú« íá⌐Γá.
  16990.  
  16991.                                 éÑΘÑßΓóÑ¡¡δ⌐ Γ¿»
  16992.         ─────────────────────────────────────────────────────────────────
  16993.  
  16994.              ÿÑßΓ¿íá⌐Γ«ó«Ñ (48-í¿Γ«ó«Ñ) óÑΘÑßΓóÑ¡¡«Ñ τ¿ß½« (Real) »«ñαáº-
  16995.         ñѽ∩ÑΓß∩ ¡á Γα¿ »«½∩:
  16996.  
  16997.                             1        39           8
  16998.                           ┌───┬──────..───────┬────────┐
  16999.                           │ s │      f        │   e    │
  17000.                           └───┴──────..───────┴────────┘
  17001.                               msb          lsb msb   lsb
  17002.  
  17003.              ç¡áτÑ¡¿Ñ v τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
  17004.  
  17005.              if 0 < e <= 255, then v = (-1)^s * 2^(e-129)*(l.f).
  17006.              if e = 0,        then v = 0.
  17007.  
  17008.              éÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ¡Ñ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ σαá¡Ñ¡¿∩ ¡Ñ¡«α-
  17009.         ¼á½¿º«óá¡¡δσ τ¿ßѽ, º¡áτÑ¡¿⌐, ¡Ñ ∩ó½∩εΘ¿σß∩ τ¿ß½«¼ (NaN), á ΓᬪÑ
  17010.         íÑ߬«¡Ñτ¡« ¼á½δσ ¿ íÑ߬«¡Ñτ¡« í«½∞Φ¿σ º¡áτÑ¡¿⌐. ìÑ¡«α¼á½¿º«óá¡¡«Ñ
  17011.         τ¿ß½« »α¿ ß«σαá¡Ñ¡¿¿ Ñú« ó ó¿ñÑ óÑΘÑßΓóÑ¡¡«ú«  »α¿¡¿¼áÑΓ  ¡π½Ñó«Ñ
  17012.         º¡áτÑ¡¿Ñ,  á ¡Ñ τ¿ß½á, íÑ߬«¡Ñτ¡« ¼á½δÑ ¿ íÑ߬«¡Ñτ¡« í«½∞Φ¿Ñ º¡á-
  17013.         τÑ¡¿∩ »α¿ »«»δΓ¬Ñ ¿ß»«½∞º«óáΓ∞ ñ½∩ ¿σ ºá»¿ß¿ Σ«α¼áΓ óÑΘÑßΓóÑ¡¡«ú«
  17014.         τ¿ß½á »α¿ó«ñ∩Γ ¬ «Φ¿í¬Ñ »ÑαÑ»«½¡Ñ¡¿∩.
  17015.  
  17016.              çñÑß∞ ¿  ñá½ÑÑ msb «º¡áτáÑΓ í«½ÑÑ º¡áτáΘ¿⌐ í¿Γ (ßΓáαΦ¿Ñ αáº-
  17017.         α∩ñδ),  lsb - ¼Ñ¡ÑÑ º¡áτáΘ¿⌐ (¼½áñΦ¿Ñ αáºα∩ñδ).
  17018.  
  17019.  
  17020.  
  17021.          B.Pascal 7 & Objects/LR     - 374 -
  17022.  
  17023.                          Æ¿» τ¿ß½á ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε
  17024.         ─────────────────────────────────────────────────────────────────
  17025.  
  17026.              ùÑΓδαÑσíá⌐Γ«ó«Ñ (32-í¿Γ«ó«Ñ) τ¿ß½« Γ¿»á Single »«ñαáºñѽ∩ÑΓ-
  17027.         ß∩ ¡á Γα¿ »«½∩:
  17028.  
  17029.                            1    8           23
  17030.                          ┌───┬──────┬───────..─────────┐
  17031.                          │ s │  e   │        f         │
  17032.                          └───┴──────┴───────..─────────┘
  17033.                              msb   lsb msb            lsb
  17034.  
  17035.              ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
  17036.  
  17037.              if 0 < e < 255,      then v = (-1)^s * 2^(e-12) * (l.f).
  17038.              if e = 0 and f <> 0, then v = (-1)^s * 2^(126) * (o.f).
  17039.              if e = 0 and f = 0,  then v = (-1)^s * O.
  17040.              if e = 255 and f = 0, then v = (-1)^s * Inf.
  17041.              if e = 255 and f <> 0, then v = NaN.
  17042.  
  17043.                           Æ¿» τ¿ß½á ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε
  17044.         ─────────────────────────────────────────────────────────────────
  17045.  
  17046.              é«ß∞¼¿íá⌐Γ«ó«Ñ (64-í¿Γ«ó«Ñ) τ¿ß½« Γ¿»á Double »«ñαáºñѽ∩ÑΓß∩
  17047.         ¡á Γα¿ »«½∩:
  17048.  
  17049.                          1    11          52
  17050.                        ┌───┬──────┬───────..────────┐
  17051.                        │ s │  e   │        f        │
  17052.                        └───┴──────┴───────..────────┘
  17053.                           msb  lsb msb             lsb
  17054.  
  17055.              ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
  17056.  
  17057.              if 0 < e < 2047,   then v = (-1)^s * 2^(e-1023) * (l.f).
  17058.              if e = 0 and f <> 0, then v = (-1)^s * 2^(1022) * (o.f).
  17059.              if e = 0 and f = 0,  then v = (-1)^s * O.
  17060.              if e = 2047 and f = 0, then v = (-1)^s * Inf.
  17061.              if e = 2047 and f <> 0, then v = NaN.
  17062.  
  17063.  
  17064.  
  17065.  
  17066.          B.Pascal 7 & Objects/LR     - 375 -
  17067.  
  17068.                         Æ¿» τ¿ß½á ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
  17069.         ─────────────────────────────────────────────────────────────────
  17070.  
  17071.              äÑß∩Γ¿íá⌐Γ«ó«Ñ (80-í¿Γ«ó«Ñ) τ¿ß½« Γ¿»á Extended  »«ñαáºñѽ∩-
  17072.         ÑΓß∩ ¡á τÑΓδαÑ »«½∩:
  17073.  
  17074.                          1    15      1          63
  17075.                        ┌───┬────────┬───┬────────..───────┐
  17076.                        │ s │  e     │ i │        f        │
  17077.                        └───┴────────┴───┴────────..───────┘
  17078.                            msb     lsb  msb              lsb
  17079.  
  17080.              ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
  17081.  
  17082.              if 0 < e < 32767,  then v = (-1)^s * 2^(e-1023) * (l.f).
  17083.              if e = 32767 and f = 0, then v = (-1)^s * Inf.
  17084.              if e = 32767 and f <> 0, then v = NaN.
  17085.  
  17086.                                    æ½«ª¡δ⌐ Γ¿»
  17087.         ─────────────────────────────────────────────────────────────────
  17088.  
  17089.              é«ß∞¼¿íá⌐Γ«ó«Ñ (64-í¿Γ«ó«Ñ) τ¿ß½« ß½«ª¡«ú« Γ¿»á (Comp)  »«ñ-
  17090.         αáºñѽ∩ÑΓß∩ ¡á ñóá »«½∩:
  17091.  
  17092.                          1             63
  17093.                        ┌───┬───────────..──────────────┐
  17094.                        │ s │           d               │
  17095.                        └───┴───────────..──────────────┘
  17096.                            msb                        lsb
  17097.  
  17098.              ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
  17099.  
  17100.              if s = 1 and d = 0, then v = NaN.
  17101.  
  17102.         ó »α«Γ¿ó¡«¼ ß½πτáÑ v »αÑñßΓáó½∩ÑΓ ß«í«⌐ 64-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ,  ∩ó-
  17103.         ½∩εΘÑÑß∩ ñ«»«½¡Ñ¡¿Ñ¼ ñ« ñóπσ.
  17104.  
  17105.                              ç¡áτÑ¡¿∩ Γ¿»á π¬áºáΓѽ∞
  17106.         ─────────────────────────────────────────────────────────────────
  17107.  
  17108.              ç¡áτÑ¡¿Ñ Γ¿»á  π¬áºáΓѽ∞ σαá¡¿Γß∩ ó ó¿ñÑ ñó«⌐¡«ú« ß½«óá, »α¿
  17109.         φΓ«¼ ß¼ÑΘÑ¡¿Ñ σαá¡¿Γß∩ ó ¼½áñΦѼ ß½«óÑ,  á  áñαÑß  ßÑú¼Ñ¡Γá  -  ó
  17110.         ßΓáαΦѼ  ß½«óÑ.  ç¡áτÑ¡¿Ñ  π¬áºáΓѽ∩ nil σαá¡¿Γß∩ ó ó¿ñÑ ñó«⌐¡«ú«
  17111.         ß½«óá, ºá»«½¡Ñ¡¡«ú« 0.
  17112.  
  17113.  
  17114.  
  17115.          B.Pascal 7 & Objects/LR     - 376 -
  17116.  
  17117.                             ç¡áτÑ¡¿∩ ßΓ᫬«ó«ú« Γ¿»á
  17118.         ─────────────────────────────────────────────────────────────────
  17119.  
  17120.              æΓα«¬á ºá¡¿¼áÑΓ  ßΓ«½∞¬«  íá⌐Γ,  ¬á¬«óá  ¼á¬ß¿¼á½∞¡á∩  ñ½¿¡á
  17121.         ßΓ᫬¿, »½εß «ñ¿¡ íá⌐Γ. ÅÑαóδ⌐ íá⌐Γ ß«ñÑαª¿Γ ΓѬπΘπε ñ¿¡á¼¿τÑ߬πε
  17122.         ñ½¿¡π  ßΓ᫬¿,  á »«ß½ÑñπεΘ¿Ñ íá⌐Γδ ß«ñÑαªáΓ ß¿¼ó«½δ ßΓ᫬¿.  ü¿Γ
  17123.         ñ½¿¡δ ¿ ß¿¼ó«½δ αáßß¼áΓα¿óáεΓß∩,  ¬á¬ º¡áτÑ¡¿∩ íѺ º¡á¬á.  îá¬ß¿-
  17124.         ¼á½∞¡á∩   ñ½¿¡á   ßΓ᫬¿   -   255   ß¿¼ó«½«ó,  »½εß  íá⌐Γ  ñ½¿¡δ
  17125.         (string[255]).
  17126.  
  17127.                           ç¡áτÑ¡¿∩ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
  17128.         ─────────────────────────────────────────────────────────────────
  17129.  
  17130.              î¡«ªÑßΓó« - φΓ« ¼áßß¿ó í¿Γ,  ó ¬«Γ«α«¼ ¬áªñδ⌐ í¿Γ π¬áºδóáÑΓ,
  17131.         ∩ó½∩ÑΓß∩ φ½Ñ¼Ñ¡Γ »α¿¡áñ½ÑªáΘ¿¼ ¼¡«ªÑßΓóπ  ¿½¿  ¡ÑΓ.  îá¬ß¿¼á½∞¡«Ñ
  17132.         τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¼¡«ªÑßΓóá - 256, ΓᬠτΓ« ¼¡«ªÑßΓó« ¡¿¬«úñá ¡Ñ ¼«-
  17133.         ªÑΓ ºá¡¿¼áΓ∞ í«½ÑÑ 32 íá⌐Γ.  ù¿ß½« íá⌐Γ,  ºá¡∩Γδσ «Γñѽ∞¡δ¼  ¼¡«-
  17134.         ªÑßΓó«¼, óδτ¿ß½∩ÑΓß∩, ¬á¬:
  17135.  
  17136.              ByteSize = (Max div 8) - (Min div 8) + 1
  17137.  
  17138.         úñÑ îin ¿ îáσ - ¡¿ª¡∩∩ ¿ óÑασ¡∩∩ úαá¡¿µá íẫó«ú« Γ¿»á φΓ«ú« ¼¡«-
  17139.         ªÑßΓóá.  ì«¼Ñα íá⌐Γá ñ½∩ ¬«¡¬αÑΓ¡«ú« φ½Ñ¼Ñ¡Γá  E  óδτ¿ß½∩ÑΓß∩  »«
  17140.         Σ«α¼π½Ñ:
  17141.  
  17142.              ByteNumber = (E div 8) - (Min div 8)
  17143.  
  17144.         á ¡«¼Ñα í¿Γá ó¡πΓα¿ φΓ«ú« íá⌐Γá »« Σ«α¼π½Ñ:
  17145.  
  17146.              BitNumber = E mod 8
  17147.  
  17148.         úñÑ E «í«º¡áτáÑΓ »«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá.
  17149.  
  17150.                               ç¡áτÑ¡¿∩ Γ¿»á ¼áßß¿ó
  17151.         ─────────────────────────────────────────────────────────────────
  17152.  
  17153.              îáßß¿ó σαá¡¿Γß∩ ó ó¿ñÑ ¡Ñ»αÑαδó¡«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿  »ÑαÑ-
  17154.         ¼Ñ¡¡δσ,  ¬áªñá∩ ¿º ¬«Γ«αδσ ¿¼ÑÑΓ Γ¿» ¼áßß¿óá. ¥½Ñ¼Ñ¡Γδ ß ¡á¿¼Ñ¡∞-
  17155.         Φ¿¼¿ ¿¡ñѬßἿ σαá¡∩Γß∩ ó  ¼½áñΦ¿σ  áñαÑßáσ  »á¼∩Γ¿.  î¡«ú«¼Ñα¡δ⌐
  17156.         ¼áßß¿ó σαá¡¿Γß∩ Γᬿ¼ «íαẫ¼, τΓ« »αáóδ⌐ ¿¡ñѬߠó«ºαáßΓáÑΓ íδßΓ-
  17157.         αÑÑ.
  17158.  
  17159.                               ç¡áτÑ¡¿∩ Γ¿»á ºá»¿ß∞
  17160.         ─────────────────────────────────────────────────────────────────
  17161.  
  17162.              Å«½∩ ºá»¿ß¿ σαá¡∩Γß∩, ¬á¬ ¡Ñ»αÑαδó¡á∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »Ñ-
  17163.         αѼѡ¡δσ.  ÅÑαó«Ñ »«½Ñ σαá¡¿Γß∩ ó ¼½áñΦ¿σ áñαÑßáσ »á¼∩Γ¿.  àß½¿ ó
  17164.         ºá»¿ß¿  ß«ñÑαªáΓß∩ αẽ¿τ¡δÑ τáßΓ¿,  Γ« ¬áªñá∩ τáßΓ∞ ¡áτ¿¡áÑΓß∩ ß
  17165.         «ñ¡«ú« ¿ Γ«ú« ªÑ áñαÑßá »á¼∩Γ¿.
  17166.  
  17167.  
  17168.  
  17169.          B.Pascal 7 & Objects/LR     - 377 -
  17170.  
  17171.                                  ÄíΩÑ¬Γ¡δÑ Γ¿»δ
  17172.         ─────────────────────────────────────────────────────────────────
  17173.  
  17174.              é¡πΓαÑ¡¡¿⌐ Σ«α¼áΓ ñá¡¡δσ «íΩѬΓá ¿¼ÑÑΓ ßσ«ñßΓó« ß ó¡πΓαÑ¡¡¿¼
  17175.         Σ«α¼áΓ«¼ ºá»¿ß¿.  Å«½∩ «íΩѬΓᠺỿßδóáεΓß∩ ó »«α∩ñ¬Ñ ¿σ «»¿ßá¡¿⌐
  17176.         ¬á¬ ¡Ñ»αÑαδó¡á∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »ÑαѼѡ¡δσ.  ïεí«Ñ »«½Ñ, π¡áß-
  17177.         ½Ññ«óá¡¡«Ñ «Γ α«ñ¿Γѽ∞߬«ú« (»«α«ªñáεΘÑú«) Γ¿»á, ºá»¿ßδóáÑΓß∩ »Ñ-
  17178.         αÑñ ¡«ó묨 »«½∩¼¿, «»αÑñѽѡ¡δ¼¿ ó ñ«τÑα¡Ñ¼ (»«α«ªñÑ¡¡«¼) Γ¿»Ñ.
  17179.  
  17180.              àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» «»αÑñѽ∩ÑΓ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ,  ¬«¡ßΓαπ¬-
  17181.         Γ«α ¿½¿ ñÑßΓαπ¬Γ«α,  Γ« ¬«¼»¿½∩Γ«α αẼÑΘáÑΓ ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ ñ«-
  17182.         »«½¡¿Γѽ∞¡«Ñ »«½Ñ ñá¡¡δσ.  ¥Γ« 16-í¿Γ«ó«Ñ »«½Ñ,  ¡áºδóáѼ«Ñ »«½Ñ¼
  17183.         Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó (VMP),  ¿ß»«½∞ºπÑΓß∩ ñ½∩  ºá»«¼¿¡á¡¿∩
  17184.         ß¼ÑΘÑ¡¿∩ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ. Å«½Ñ Γáí-
  17185.         ½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ß½ÑñπÑΓ  ¡Ñ»«ßαÑñßΓóÑ¡¡«  »«ß½Ñ  «íδτ¡δσ
  17186.         »«½Ñ⌐  «íΩÑ¬Γ¡«ú« Γ¿»á.  àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ¡áß½ÑñπÑΓ ó¿αΓπá½∞¡δÑ
  17187.         ¼ÑΓ«ñδ, ¬«¡ßΓαπ¬Γ«αδ ¿½¿ ñÑßΓαπ¬Γ«αδ  (ßí«αΘ¿¬¿  ¼πß«αá),  Γ«  «¡
  17188.         ΓᬪѠ¡áß½ÑñπÑΓ ¿ »«½Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, í½áú«ñáα∩ τÑ-
  17189.         ¼π ñ«»«½¡¿Γѽ∞¡«Ñ »«½Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¡Ñ óδñѽ∩ÑΓß∩.
  17190.  
  17191.              ê¡¿µ¿á½¿ºáµ¿∩ »«½∩ Γáí½¿µδ  ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó  φ¬ºÑ¼»½∩αá
  17192.         «íΩѬΓá «ßπΘÑßΓó½∩ÑΓß∩ ¬«¡ßΓαπ¬Γ«α«¼ (¿½¿ ¬«¡ßΓαπ¬Γ«αἿ) «íΩѬΓ-
  17193.         ¡«ú« Γ¿»á.  Åα«úαἼᠡ¿¬«úñá ¡Ñ ¿¡¿µ¿á½¿º¿απÑΓ »«½Ñ Γáí½¿µδ ó¿α-
  17194.         Γπá½∞¡δσ ¼ÑΓ«ñ«ó ∩ó¡« ¿ ¡Ñ ¿¼ÑÑΓ ¬ ¡Ñ¼π ñ«ßΓπ»á.
  17195.  
  17196.              æ½ÑñπεΘ¿Ñ »α¿¼Ñαδ  ¿½½εßΓα¿απεΓ  ó¡πΓαÑ¡¡¿Ñ  Σ«α¼áΓδ  ñá¡¡δσ
  17197.         «íΩÑ¬Γ¡δσ Γ¿»«ó.
  17198.  
  17199.              type
  17200.                PLocation = ^TLocation;
  17201.                TLocation = object
  17202.                X,Y: integer;
  17203.                procedure Init(PX, PY: Integer);
  17204.                function GetX: Integer;
  17205.                function GetY: Integer;
  17206.              end;
  17207.  
  17208.              PPoint = ^TPoint;
  17209.  
  17210.              TPoint = object(TLocation)
  17211.                Color: Integer;
  17212.                constructor Init(PX, PY, PColor: Integer);
  17213.                destructor Done; virtual;
  17214.                procedure Show; virtual;
  17215.                procedure Hide; virtual;
  17216.                procedure MoveTo(PX, PY: I+nteger); virtual;
  17217.              end;
  17218.  
  17219.              PCircle = ^TCircle;
  17220.              TCircle = object(TPoint)
  17221.                Radius: Integer;
  17222.                constructor Init(PX, PY, PColor, PRadius: Integer);
  17223.                procedure Show; virtual;
  17224.  
  17225.          B.Pascal 7 & Objects/LR     - 378 -
  17226.  
  17227.                procedure Hide; virtual;
  17228.                procedure Fill; virtual;
  17229.              end;
  17230.  
  17231.              É¿ßπ¡«¬ 21.8   »«¬áºδóáÑΓ   αẼÑΘÑ¡¿Ñ   φ¬ºÑ¼»½∩α«ó   Γ¿»«ó
  17232.         TLocation, TPoint ¿ TCircle:  ¬áªñδ⌐ »α∩¼«πú«½∞¡¿¬  ß««ΓóÑΓßΓóπÑΓ
  17233.         «ñ¡«¼π ß½«óπ »á¼∩Γ¿.
  17234.  
  17235.                    TLocation          TPoint           TCircle
  17236.                  ┌──────────┐     ┌───────────┐     ┌───────────┐
  17237.                  │ X        │     │ X         │     │ X         │
  17238.                  ├──────────┤     ├───────────┤     ├───────────┤
  17239.                  │ Y        │     │ Y         │     │ Y         │
  17240.                  └──────────┘     ├───────────┤     ├───────────┤
  17241.                                   │ Color     │     │ Color     │
  17242.                                   ├───────────┤     ├───────────┤
  17243.                                   │ VMT       │     │ VMT       │
  17244.                                   └───────────┘     ├───────────┤
  17245.                                                     │ Radius    │
  17246.                                                     └───────────┘
  17247.  
  17248.              É¿ß. 21.8  æσѼᠠφ¬ºÑ¼»½∩α«ó  Γ¿»«ó  TLocation,  TPoint   ¿
  17249.         TCircle.
  17250.  
  17251.              Æá¬ ¬á¬  TPoint  ∩ó½∩ÑΓß∩  »Ñαóδ¼ Γ¿»«¼ ó ¿Ñαáασ¿¿,  ¬«Γ«αδ⌐
  17252.         óó«ñ¿Γ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ,  Γ« »«½Ñ Γáí½¿µδ  ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó
  17253.         αẼÑΘáÑΓß∩ ßαáºπ »«ß½Ñ »«½∩ Color.
  17254.  
  17255.  
  17256.                            Æáí½¿µá ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
  17257.         ─────────────────────────────────────────────────────────────────
  17258.  
  17259.              èáªñδ⌐ «íΩÑ¬Γ¡δ⌐ Γ¿», ß«ñÑαªáΘ¿⌐ ¿½¿ ¡áß½ÑñπεΘ¿⌐ ó¿αΓπá½∞¡δÑ
  17260.         ¼ÑΓ«ñδ,  ¬«¡ßΓαπ¬Γ«αδ ¿½¿ ñÑßΓαπ¬Γ«αδ, ¿¼ÑÑΓ ßó∩ºá¡¡πε ß ¡¿¼ Γáí-
  17261.         ½¿µπ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, ó ¬«Γ«α«⌐ ºá»«¼¿¡áÑΓß∩ ¿¡¿µ¿á½¿º¿απѼá∩
  17262.         τáßΓ∞ ßÑú¼Ñ¡Γá ñá¡¡δσ »α«úαá¼¼δ.  ä½∩ ¬áªñ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á (¡«
  17263.         ¡Ñ  ñ½∩ ¬áªñ«ú« φ¬ºÑ¼»½∩αá) ¿¼ÑÑΓß∩ Γ«½∞¬« «ñ¡á Γáí½¿µá ó¿αΓπá½∞-
  17264.         ¡δσ ¼ÑΓ«ñ«ó,  «ñ¡á¬« ñóá αẽ¿τ¡δσ «íΩÑ¬Γ¡δσ Γ¿»á ¡¿¬«úñá ¡Ñ αáº-
  17265.         ñѽ∩εΓ «ñ¡π Γáí½¿µπ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, ¡Ñºáó¿ß¿¼« «Γ Γ«ú«, ¡áß-
  17266.         ¬«½∞¬« φΓ¿ Γ¿»δ ¿ñÑ¡Γ¿τ¡δ.  Æáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ß«ºñáεΓß∩
  17267.         áóΓ«¼áΓ¿τÑ߬¿  ¬«¼»¿½∩Γ«α«¼, ¿  »α«úαἼᠡ¿¬«úñá ¡Ñ ¼á¡¿»π½¿απÑΓ
  17268.         ¿¼¿ ¡Ñ»«ßαÑñßΓóÑ¡¡«. Ç¡á½«ú¿τ¡«, π¬áºáΓѽ¿ ¡á Γáí½¿µδ ó¿αΓπá½∞¡δσ
  17269.         ¼ÑΓ«ñ«ó  áóΓ«¼áΓ¿τÑ߬¿ ºá»«¼¿¡áεΓß∩ ó αÑ὿ºáµ¿∩σ «íΩÑ¬Γ¡δσ Γ¿»«ó
  17270.         ß »«¼«Θ∞ε ¬«¡ßΓαπ¬Γ«α«ó »α«úαἼᠡ¿¬«úñá  ¡Ñ  αáí«ΓáÑΓ  ß  φΓ¿¼¿
  17271.         π¬áºáΓѽ∩¼¿ ¡Ñ»«ßαÑñßΓóÑ¡¡«.
  17272.  
  17273.               ÅÑαó«Ñ ß½«ó«  Γáí½¿µδ  ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó ß«ñÑαª¿Γ αẼÑα
  17274.         φ¬ºÑ¼»½∩α«ó ß««ΓóÑΓßΓóπεΘÑú« «íΩÑ¬Γ¡«ú« Γ¿»á.  ¥Γá ¿¡Σ«α¼áµ¿∩ ¿ß-
  17275.         »«½∞ºπÑΓß∩  ¬«¡ßΓαπ¬Γ«αἿ  ¿ ñÑßΓαπ¬Γ«αἿ ñ½∩ «»αÑñѽѡ¿∩ Γ«ú«,
  17276.         ß¬«½∞¬« íá⌐Γ óδñѽ∩ÑΓß∩ ¿½¿ «ßó«í«ªñáÑΓß∩ »α¿ ¿ß»«½∞º«óá¡¿¿  αáß-
  17277.         Φ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá ßΓá¡ñáαΓ¡δσ »α«µÑñπα New ¿ Dispose.
  17278.  
  17279.              éΓ«α«Ñ ß½«ó«  Γáí½¿µδ  ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó ß«ñÑαª¿Γ «Γα¿µá-
  17280.  
  17281.          B.Pascal 7 & Objects/LR     - 379 -
  17282.  
  17283.         Γѽ∞¡δ⌐ αẼÑα φ¬ºÑ¼»½∩α«ó ß««ΓóÑΓßΓóπεΘÑú« «íΩÑ¬Γ¡«ú«  Γ¿»á  φΓá
  17284.         ¿¡Σ«α¼áµ¿∩   ¿ß»«½∞ºπÑΓß∩  αáΓ¿Σ¿¬áµ¿«¡¡δ¼  (Γ.Ñ.  »«ñΓóÑαªñáεΘ¿¼
  17285.         ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ∞) ¼Ñσá¡¿º¼«¼ ó맮óá ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá ñ½∩ óδ∩ó-
  17286.         ½Ñ¡¿∩ ¿¡¿µ¿á½¿º¿απѼδσ «íΩÑ¬Γ«ó (φ¬ºÑ¼»½∩α«ó,  ñ½∩ ¬«Γ«αδσ ñ«½ªÑ¡
  17287.         óδ»«½¡∩Γ∞ß∩ ¬«¡ßΓαπ¬Γ«α) ¿ ñ½∩ »α«óÑન  ß«ú½áß«óá¡¡«ßΓ¿  Γáí½¿µδ
  17288.         ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó. è«úñá αáºαÑΦÑ¡á αáΓ¿Σ¿¬áµ¿∩ ó¿αΓπá½∞¡«ú« óδ-
  17289.         º«óá (ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ {$R+} ¬«¼»¿½∩Γ«αá,  ¬«Γ«αá∩ αáßΦ¿αѡᠿ
  17290.         ó¬½ετáÑΓ ó ßÑí∩ »α«óÑα¬π ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó), ¬«¼»¿½∩Γ«α úÑ¡Ñα¿-
  17291.         απÑΓ ó맮ó »α«úαá¼¼δ αáΓ¿Σ¿¬áµ¿¿ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó  »Ñ-
  17292.         αÑñ  ¬áªñδ¼  óδº«ó«¼  ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá.  Åα«úαá¼¼á αáΓ¿Σ¿¬áµ¿¿
  17293.         Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó »α«óÑα∩ÑΓ,  τΓ« »Ñαó«Ñ ß½«ó«  Γáí½¿µδ
  17294.         ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¡Ñ αáó¡« ¡π½ε ¿ τΓ« ßπ¼¼á »Ñαó«ú«  ¿  óΓ«α«ú«
  17295.         ß½«ó αáó¡á ¡π½ε. àß½¿ ½εíá∩ ¿º »α«óÑ᫬ ¡Ñπñáτ¡á, Γ« úÑ¡Ñα¿απÑΓß∩
  17296.         «Φ¿í¬á 210 ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland Pascal.
  17297.  
  17298.              ÉáºαÑΦÑ¡¿Ñ »α«óÑ᫬  úαá¡¿µ  ñ¿á»áº«¡«ó  ¿  »α«óÑ᫬ ó맮ó«ó
  17299.         ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ºá¼Ññ½∩ÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ  ¿  ñѽáÑΓ  ÑÑ
  17300.         ¡Ñ߬«½∞¬«  í«½∞ΦÑ,  »«φΓ«¼π ¿ß»«½∞ºπ⌐ΓÑ {$R+} Γ«½∞¬« ó« óαѼ∩ «Γ-
  17301.         ½áñ¬¿ ¿ »ÑαѬ½ετ¿ΓÑ φΓπ ñ¿αÑ¬Γ¿óπ ó ß«ßΓ«∩¡¿Ñ {$R-} ó «¬«¡τáΓѽ∞-
  17302.         ¡«⌐ óÑαß¿¿ »α«úαá¼¼δ.
  17303.  
  17304.              ìᬫ¡Ñµ, ¡áτ¿¡á∩  ß«  ß¼ÑΘÑ¡¿∩ 4 Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
  17305.         ß½ÑñπÑΓ ß»¿ß«¬ 32-αáºα∩ñ¡δσ π¬áºáΓѽÑ⌐ ¼ÑΓ«ñ«ó, «ñ¿¡ π¬áºáΓѽ∞ ¡á
  17306.         ¬áªñδ⌐  ó¿αΓπá½∞¡δ⌐  ¼ÑΓ«ñ ó »«α∩ñ¬Ñ ¿σ «»¿ßá¡¿⌐.  èáªñá∩ »«º¿µ¿∩
  17307.         ß«ñÑαª¿Γ áñαÑß Γ«τ¬¿ óσ«ñá ß««ΓóÑΓßΓóπεΘÑú«  ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá.
  17308.  
  17309.  
  17310.          B.Pascal 7 & Objects/LR     - 380 -
  17311.  
  17312.  
  17313.              ìá É¿ß.  21.9 »«¬áºá¡« αẼÑΘÑ¡¿Ñ Γáí½¿µ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
  17314.         Γ¿»«ó Point ¿ Circle (Γ¿» Location ¡Ñ ¿¼ÑÑΓ  Γáí½¿µδ  ó¿αΓπá½∞¡δσ
  17315.         ¼ÑΓ«ñ«ó, Γ.¬. ¡Ñ ß«ñÑαª¿Γ ó ßÑíÑ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, ¬«¡ßΓαπ¬Γ«-
  17316.         α«ó ¿ ñÑßΓαπ¬Γ«α«ó): ¬áªñδ⌐ ¼á½Ñ¡∞¬¿⌐ »α∩¼«πú«½∞¡¿¬ ß««ΓóÑΓßΓóπÑΓ
  17317.         «ñ¡«¼π ß½«óπ »á¼∩Γ¿, á ¬áªñδ⌐ í«½∞Φ«⌐ »α∩¼«πú«½∞¡¿¬ - ñóπ¼ ß½«óá¼
  17318.         »á¼∩Γ¿.
  17319.  
  17320.                       Point VMT                 Circle VMT
  17321.                   ┌───────────────┐         ┌────────────────┐
  17322.                   │ 8             │         │ 8              │
  17323.                   ├───────────────┤         ├────────────────┤
  17324.                   │ -8            │         │ -8             │
  17325.                   ├───────────────┤         ├────────────────┤
  17326.                   │ 0             │         │ 0              │
  17327.                   ├───────────────┤         ├────────────────┤
  17328.                   │ 0             │         │ 0              │
  17329.                   ├───────────────┤         ├────────────────┤
  17330.                   │               │         │                │
  17331.                   │ @TPoint.Done  │         │ @TPoint.Done   │
  17332.                   │               │         │                │
  17333.                   ├───────────────┤         ├────────────────┤
  17334.                   │               │         │                │
  17335.                   │ @TPoint.Show  │         │ @TCircle.Show  │
  17336.                   │               │         │                │
  17337.                   ├───────────────┤         ├────────────────┤
  17338.                   │               │         │                │
  17339.                   │ @TPoint.Hide  │         │ @TCircle.Hide  │
  17340.                   │               │         │                │
  17341.                   ├───────────────┤         ├────────────────┤
  17342.                   │               │         │                │
  17343.                   │ @TPoint.MoveTo│         │ @TPoint.MoveTo │
  17344.                   │               │         │                │
  17345.                   └───────────────┘         ├────────────────┤
  17346.                                             │                │
  17347.                                             │ @TCircle.Fill  │
  17348.                                             │                │
  17349.                                             └────────────────┘
  17350.  
  17351.              É¿ß. 21.9  æσÑ¼δ  Γáí½¿µ  ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó  ñ½∩ TPoint ¿
  17352.         TCircle.
  17353.  
  17354.              ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á Γ«, ¬á¬ TCircle ¡áß½ÑñπÑΓ ¼ÑΓ«ñδ Done ¿
  17355.         MoveTo Γ¿»á TPoint ¿ ¬á¬ «¡ »ÑαÑ«»αÑñѽ∩ÑΓ Show ¿ Hide.
  17356.  
  17357.              èᬠπªÑ  π»«¼¿¡á½«ß∞,  ¬«¡ßΓαπ¬Γ«αδ «íΩÑ¬Γ¡δσ Γ¿»«ó ß«ñÑαªáΓ
  17358.         ß»Ñµ¿á½∞¡δ⌐ ¬«ñ,  ¬«Γ«αδ⌐ ºá»«¼¿¡áÑΓ ß¼ÑΘÑ¡¿Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ
  17359.         ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á ó ¿¡¿µ¿á½¿º¿απѼδσ φ¬ºÑ¼»½∩αáσ. ìá»α¿¼Ñα,
  17360.         Ñß½¿ ¿¼ÑÑΓß∩ φ¬ºÑ¼»½∩α P Γ¿»á TPoint ¿ φ¬ºÑ¼»½∩α C Γ¿»á  TCircle,
  17361.         Γ«  ó맮ó  P.Init íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿ ºá»¿ßδóáΓ∞ ß¼ÑΘÑ¡¿Ñ Γáí½¿µδ
  17362.         ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó Γ¿»á TPoint ó »«½Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ  ¼ÑΓ«-
  17363.         ñ«ó  φ¬ºÑ¼»½∩αá  P,  á ó맮ó C.Init Γ«τ¡« ΓᬠªÑ ºá»¿ΦÑΓ ß¼ÑΘÑ¡¿Ñ
  17364.         Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó Γ¿»á TCircle ó »«½Ñ Γáí½¿µδ ó¿αΓπá½∞-
  17365.  
  17366.          B.Pascal 7 & Objects/LR     - 381 -
  17367.  
  17368.         ¡δσ ¼ÑΓ«ñ«ó φ¬ºÑ¼»½∩αá C.  ¥Γá áóΓ«¼áΓ¿τÑ߬á∩ ¿¡¿µ¿á½¿ºáµ¿∩ ∩ó½∩-
  17369.         ÑΓß∩ τáßΓ∞ε ¬«ñá óσ«ñá ¬«¡ßΓαπ¬Γ«αá,  »«φΓ«¼π Ñß½¿ π»αáó½Ñ¡¿Ñ »Ñ-
  17370.         αÑñáÑΓß∩ ó ¡áτὫ «»ÑαáΓ«α¡«⌐ ßѬµ¿¿, Γ« »«½Ñ Self Γáí½¿µδ ó¿αΓπ-
  17371.         á½∞¡δσ ¼ÑΓ«ñ«ó ΓᬪѠíπñÑΓ πßΓá¡«ó½Ñ¡«.  Æá¬¿¼ «íαẫ¼,  »α¿ ó«º-
  17372.         ¡¿¬¡«óÑ¡¿¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿,  ¬«¡ßΓαπ¬Γ«α ¼«ªÑΓ óδ»«½¡¿Γ∞ ó맮ó ó¿α-
  17373.         Γπá½∞¡«ú« ¼ÑΓ«ñá.
  17374.  
  17375.                           Æáí½¿µá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó
  17376.         ─────────────────────────────────────────────────────────────────
  17377.  
  17378.              Æáí½¿µá ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó  «íΩÑ¬Γ¡«ú«  Γ¿»á  ß«ñÑαª¿Γ ñ½∩
  17379.         ¬áªñ«ú« «»¿ßá¡¡«ú« ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ  ó¿αΓπá½∞¡«ú«  ¼ÑΓ«ñá  ¿  Ñú«
  17380.         »αÑñ¬«ó τÑΓδαÑσíá⌐Γ«óπε ºá»¿ß∞.  é ΓÑσ ß½πτá∩σ, ¬«úñá ó »«α«ªñáε-
  17381.         Θ¿σ Γ¿»áσ (»αÑñ¬áσ) «»αÑñѽ∩ÑΓß∩ í«½∞ΦÑÑ τ¿ß½« ó¿αΓπá½∞¡δσ  ¼ÑΓ«-
  17382.         ñ«ó,  ó  »α«µÑßßÑ ß«ºñá¡¿∩ »α«¿ºó«ñ¡δσ Γ¿»«ó ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
  17383.         ñ«ßΓáΓ«τ¡« í«½∞Φ«⌐ «íΩѼ »á¼∩Γ¿,  «ß«íÑ¡¡« Ñß½¿  ß«ºñáÑΓß∩  ¼¡«ú«
  17384.         »α«¿ºó«ñ¡δσ Γ¿»«ó. ò«Γ∩ ó »α«¿ºó«ñ¡δσ Γ¿»áσ ¼«úπΓ »ÑαÑ«»αÑñѽ∩Γ∞-
  17385.         ß∩ Γ«½∞¬« ¡Ñ¬«Γ«αδÑ ¿º ¡áß½ÑñπѼδσ ¼ÑΓ«ñ«ó,  Γáí½¿µá  ó¿αΓπá½∞¡δσ
  17386.         ¼ÑΓ«ñ«ó  ¬áªñ«ú«  »α«¿ºó«ñ¡«ú« Γ¿»á ß«ñÑαª¿Γ π¬áºáΓѽ¿ ¼ÑΓ«ñá ñ½∩
  17387.         óßÑσ ¡áß½ÑñπѼδσ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó,  ñáªÑ Ñß½¿ «¡¿  ¡Ñ  ¿º¼Ñ¡∩-
  17388.         ½¿ß∞.
  17389.  
  17390.              ä¿¡á¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ «íÑß»Ñτ¿óáεΓ ó Γᬿσ ß¿Γπᵿ∩σ á½∞ΓÑα¡á-
  17391.         Γ¿óπ.  é Borland Pascal ¿¼ÑÑΓß∩ Σ«α¼áΓ Γáí½¿µδ  ¼ÑΓ«ñ«ó  ¿  ¡«óδ⌐
  17392.         ß»«ß«í ñ¿ß»ÑΓτÑα¿ºáµ¿¿ ¼ÑΓ«ñ«ó ß »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ.  é¼ÑßΓ« ¬«-
  17393.         ñ¿α«óá¡¿∩ ñ½∩ óßÑσ ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á ß »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ,
  17394.         ó Γáí½¿µÑ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ¬«ñ¿απεΓß∩ Γ«½∞¬« ΓÑ ¼ÑΓ«ñδ, ¬«Γ«-
  17395.         αδÑ í뫨 ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ »ÑαÑ«»αÑñѽѡδ.  àß½¿ ó ¡áß½ÑñπεΘ¿σ Γ¿-
  17396.         »áσ »ÑαÑ«»αÑñѽ∩εΓß∩ Γ«½∞¬« ¡Ñ¬«Γ«αδÑ ¿º í«½∞Φ«ú« τ¿ß½á ¼ÑΓ«ñ«ó ß
  17397.         »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ,  Σ«α¼áΓ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ¿ß»«½∞-
  17398.         ºπÑΓ  ¼Ñ¡∞ΦÑÑ »α«ßΓαá¡ßΓó«,  τѼ Σ«α¼áΓ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«-
  17399.         ñ«ó.
  17400.  
  17401.          B.Pascal 7 & Objects/LR     - 382 -
  17402.  
  17403.  
  17404.              ö«α¼áΓ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó  ¿½½εßΓα¿απεΓ  ß½ÑñπεΘ¿Ñ
  17405.         ñóá «íΩÑ¬Γ¡δσ Γ¿»á:
  17406.  
  17407.              type
  17408.                 TBase = object
  17409.                    X: Integer;
  17410.                    constructor Init;
  17411.                    destructor Done; virtual;
  17412.                    procedure P10; virtual 10;
  17413.                    procedure P20; virtual 20;
  17414.                    procedure P30; virtual 30;
  17415.                    procedure P30; virtual 30;
  17416.                 end;
  17417.  
  17418.              type
  17419.                 TDerived = object(TBase)
  17420.                    Y: Integer;
  17421.                    constructor Init;
  17422.                    destructor Done; virtual;
  17423.                    procedure P10; virtual 10;
  17424.                    procedure P30; virtual 30;
  17425.                    procedure P50; virtual 50;
  17426.                 end;
  17427.  
  17428.  
  17429.          B.Pascal 7 & Objects/LR     - 383 -
  17430.  
  17431.  
  17432.              ìá É¿ß. 21.10 ¿ 21.11 »«¬áºá¡δ ßσѼδ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼Ñ-
  17433.         Γ«ñ«ó ¿ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ñ½∩ TBase ¿ TDerived. èáªñá∩
  17434.         ∩τÑ⌐¬á ß««ΓóÑΓßΓóπÑΓ ß½«óπ »á¼∩Γ¿, á ¬áªñá∩ í«½∞Φá∩ ∩τÑ⌐¬á - ñóπ¼
  17435.         ß½«óá¼ »á¼∩Γ¿.
  17436.  
  17437.                    Æéî TBase                    Æäî TBase
  17438.                    ┌──────────────────┐         ┌──────────────────┐
  17439.                    │ 4                │         │ 0                │
  17440.                    ├──────────────────┤         ├──────────────────┤
  17441.                    │ -4               │         │ ¿¡ñѬߠó ¬φΦ     │
  17442.                    ├──────────────────┤         ├──────────────────┤
  17443.                    │ æ¼ÑΘ. Æäî TBase  │         │ ß¼ÑΘÑ¡¿Ñ ºá»¿ß¿  │
  17444.                    ├──────────────────┤         ├──────────────────┤
  17445.                    │ 0                │         │ 4                │
  17446.                    ├──────────────────┤         ├──────────────────┤
  17447.                    │                  │         │ 10               │
  17448.                    │ @TBase.Done      │         ├──────────────────┤
  17449.                    │                  │         │ 20               │
  17450.                    └──────────────────┘         ├──────────────────┤
  17451.                                                 │ 30               │
  17452.                                                 ├──────────────────┤
  17453.                                                 │ 40               │
  17454.                                                 ├──────────────────┤
  17455.                                                 │                  │
  17456.                                                 │ @TBase.P10       │
  17457.                                                 │                  │
  17458.                                                 ├──────────────────┤
  17459.                                                 │                  │
  17460.                                                 │ @TBase.P20       │
  17461.                                                 │                  │
  17462.                                                 ├──────────────────┤
  17463.                                                 │                  │
  17464.                                                 │ @TBase.P30       │
  17465.                                                 │                  │
  17466.                                                 ├──────────────────┤
  17467.                                                 │                  │
  17468.                                                 │ @TBase.P40       │
  17469.                                                 │                  │
  17470.                                                 └──────────────────┘
  17471.  
  17472.              É¿ß. 21.10 æσѼδ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¿ Γáí½¿µδ ñ¿¡á-
  17473.         ¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ñ½∩ TBase.
  17474.  
  17475.  
  17476.          B.Pascal 7 & Objects/LR     - 384 -
  17477.  
  17478.  
  17479.              ÄíΩÑ¬Γ¡δ⌐ Γ¿»  ¿¼ÑÑΓ  Γáí½¿µπ  ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó Γ«½∞¬« ó
  17480.         Γ«¼ ß½πτáÑ, Ñß½¿ ó ¡Ñ¼ óó«ñ∩Γß∩ ¿½¿ »ÑαÑ«»αÑñѽ∩εΓß∩ ñ¿¡á¼¿τÑ߬¿Ñ
  17481.         ¼ÑΓ«ñδ.  àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ¡áß½ÑñπÑΓ ñ¿¡á¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ, ¡« «¡¿
  17482.         ¡Ñ »ÑαÑ«»αÑñѽ∩εΓß∩,  ¿ ¡«óδÑ ñ¿¡á¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ ¡Ñ óó«ñ∩Γß∩, Γ«
  17483.         «¡ »α«ßΓ« ¡áß½ÑñπÑΓ Γáí½¿µπ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ßó«Ñú« »αÑñ¬á.
  17484.  
  17485.              èᬠ¿ ó ß½πτáÑ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó,  Γáí½¿µá ñ¿¡á¼¿-
  17486.         τÑ߬¿σ ¼ÑΓ«ñ«ó ºá»¿ßδóáÑΓß∩ ó ¿¡¿µ¿á½¿º¿α«óá¡¡πε  τáßΓ∞  ßÑú¼Ñ¡Γá
  17487.         ñá¡¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  17488.  
  17489.                    Æéî TDerived                         Æäî TDerived
  17490.                    ┌───────────────────┐        ┌──────────────────┐
  17491.                    │ 6                 │        │ æ¼ÑΘ. Æäî TBase  │
  17492.                    ├───────────────────┤        ├──────────────────┤
  17493.                    │ -6                │        │ ¿¡ñѬߠó ¬ÑΦÑ    │
  17494.                    ├───────────────────┤        ├──────────────────┤
  17495.                    │ æ¼ÑΘ. Æäî TDerived│        │ ß¼ÑΘÑ¡¿Ñ ºá»¿ß¿  │
  17496.                    ├───────────────────┤        ├──────────────────┤
  17497.                    │ 0                 │        │ 3                │
  17498.                    ├───────────────────┤        ├──────────────────┤
  17499.                    │                   │        │ 10               │
  17500.                    │ @TBase.Done       │        ├──────────────────┤
  17501.                    │                   │        │ 30               │
  17502.                    └───────────────────┘        ├──────────────────┤
  17503.                                                 │ 50               │
  17504.                                                 ├──────────────────┤
  17505.                                                 │                  │
  17506.                                                 │ @TDerived.P10    │
  17507.                                                 │                  │
  17508.                                                 ├──────────────────┤
  17509.                                                 │                  │
  17510.                                                 │ @TDerived.P30    │
  17511.                                                 │                  │
  17512.                                                 ├──────────────────┤
  17513.                                                 │                  │
  17514.                                                 │ @TDerived.T50    │
  17515.                                                 │                  │
  17516.                                                 └──────────────────┘
  17517.  
  17518.              É¿ß. 21.11.  æσѼδ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¿ Γáí½¿µδ ñ¿-
  17519.         ¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ñ½∩ TDerived.
  17520.  
  17521.              ÅÑαó«Ñ ß½«ó«  Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ß«ñÑαª¿Γ ß¼ÑΘÑ¡¿Ñ
  17522.         ßÑú¼Ñ¡Γá ñá¡¡δσ α«ñ¿Γѽ∞߬«⌐ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó, ¿½¿ 0,
  17523.         Ñß½¿ α«ñ¿Γѽ∞߬á∩ Γáí½¿µá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó «ΓßπΓßΓóπÑΓ.
  17524.  
  17525.              éΓ«α«Ñ ¿ ΓαÑΓ∞Ñ ß½«ó« Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ¿ß»«½∞ºπ-
  17526.         ÑΓß∩ ó ¬ÑΦ-íπΣÑαÑ »α«ß¼«Γαá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó (ß¼. ñá½ÑÑ).
  17527.  
  17528.              ùÑΓóÑαΓ«Ñ ß½«ó« Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ß«ñÑαª¿Γ  ßτÑΓ-
  17529.         τ¿¬  ºá»¿ß¿ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó.  ìÑ»«ßαÑñßΓóÑ¡¡« ºá ¡¿¼
  17530.         ß½ÑñπÑΓ ß»¿ß«¬ ß½«ó, ¬áªñ«Ñ ¿º ¬«Γ«αδσ ß«ñÑαª¿Γ ¿¡ñѬߠñ¿¡á¼¿τÑß-
  17531.  
  17532.          B.Pascal 7 & Objects/LR     - 385 -
  17533.  
  17534.         ¬«ú«  ¼ÑΓ«ñá,  á ºáΓѼ ß»¿ß«¬ ß««ΓóÑΓßΓóπεΘ¿σ π¬áºáΓѽÑ⌐ ¼ÑΓ«ñ«ó.
  17535.         ä½¿¡á ¬áªñ«ú« ß»¿ß¬á ºáñáÑΓß∩ ßτÑΓτ¿¬«¼ ºá»¿ß¿ Γáí½¿µδ ñ¿¡á¼¿τÑß-
  17536.         ¬¿σ ¼ÑΓ«ñ«ó.
  17537.  
  17538.                              ç¡áτÑ¡¿∩ Σá⌐½«ó«ú« Γ¿»á
  17539.         ─────────────────────────────────────────────────────────────────
  17540.  
  17541.              ç¡áτÑ¡¿∩ Σá⌐½«ó«ú« Γ¿»á »αÑñßΓáó½∩εΓß∩ ó ó¿ñÑ ºá»¿ßÑ⌐. Æ¿»¿-
  17542.         º¿α«óá¡¡δÑ ¿  ¡ÑΓ¿»¿º¿α«óá¡¡δÑ  Σá⌐½δ ºá¡¿¼áεΓ 128 íá⌐Γ,  ¬«Γ«αδÑ
  17543.         αáß»«½áúáεΓß∩ »« ß½ÑñπεΘÑ⌐ ßσѼÑ:
  17544.  
  17545.               type
  17546.                 TFileRec = record
  17547.                             Handle     : word;             { «»¿ßáΓѽ∞ }
  17548.                             Mode       : word;                 { αѪ¿¼ }
  17549.                             RecSize    : word;         { αẼÑα ºá»¿ß¿ }
  17550.                             Private    : array[1..26] of byte;
  17551.                             UserData   : array[1..16] of byte;
  17552.                             Name       : array[0..79] of char;
  17553.                           end;
  17554.  
  17555.              ÆÑ¬ßΓ«óδÑ Σá⌐½δ ºá¡¿¼áεΓ 256 íá⌐Γ ß« ß½ÑñπεΘÑ⌐ ßσѼ«⌐ αáß»«-
  17556.         ½«ªÑ¡¿∩:
  17557.  
  17558.              type
  17559.                TTextBuf = array[0..127] of char;
  17560.                TTextRec = record
  17561.                             Handle     : word;
  17562.                             Mode       : word;
  17563.                             BufSize    : word;
  17564.                             Private    : word;
  17565.                             BufPos     : word;
  17566.                             BufEnd     : word;
  17567.                             BufPtr     : ^TTextBuf;
  17568.                             OpenFunc   : pointer;
  17569.                             InOutFunc  : pointer;
  17570.                             FlushFunc  : pointer;
  17571.                             CloseFunc  : pointer;
  17572.                             UserData   : array[1..16] of Byte;
  17573.                             Name       : array[0..79] of Char;
  17574.                             Buffer     : TTextBuf;
  17575.                         end;
  17576.  
  17577.              é »ÑαѼѡ¡«⌐ ìándlÑ ß«ñÑনΓß∩ ¡«¼Ñα «»¿ßáΓѽ∩  Σá⌐½á (¬«úñá
  17578.         Σá⌐½ «Γ¬αδΓ). ¥Γ« º¡áτÑ¡¿Ñ ó«ºóαáΘáÑΓß∩ DOS.
  17579.  
  17580.              Å«½Ñ î«dÑ ßτ¿ΓáÑΓß∩ αáó¡δ¼ «ñ¡«¼π ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
  17581.  
  17582.              const
  17583.                 fmClosed = $D7B0;
  17584.                 fmInput  = $D7B1;
  17585.                 fmOutput = $D7B2;
  17586.                 fmInOut  = $D7B3;
  17587.  
  17588.          B.Pascal 7 & Objects/LR     - 386 -
  17589.  
  17590.  
  17591.              ç¡áτÑ¡¿Ñ fmClosed  »«¬áºδóáÑΓ,  τΓ«  Σá⌐½  ºá¬αδΓ.  ç¡áτÑ¡¿∩
  17592.         fmInput ¿ fmOutput »«¬áºδóáεΓ, τΓ« Σá⌐½ ∩ó½∩ÑΓß∩ ΓѬßΓ«óδ¼ Σá⌐½«¼
  17593.         ¿ τΓ« ñ½∩ ¡Ñú«  íδ½á  óδ»«½¡Ñ¡á  »α«µÑñπαá  Reset  (fmInput)  ¿½¿
  17594.         Rewrite (fmOutput).  ç¡áτÑ¡¿Ñ fmOutput »«¬áºδóáÑΓ, τΓ« »ÑαѼѡ¡á∩
  17595.         Σá⌐½«ó«ú« Γ¿»á  ∩ó½∩ÑΓß∩ Γ¿»¿º¿α«óá¡¡δ¼ ¿½¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼ Σá⌐-
  17596.         ½«¼, ñ½∩ ¬«Γ«α«ú« íδ½á óδ»«½¡Ñ¡á »α«µÑñπαá Reset ¿½¿ Rewrite. ïε-
  17597.         í«Ñ  ñαπú«Ñ  º¡áτÑ¡¿Ñ ú«ó«α¿Γ « Γ«¼,  τΓ« ñ½∩ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐
  17598.         »α¿ßóá¿óá¡¿Ñ ¡Ñ í佫 óδ»«½¡Ñ¡« (¿ «¡á,  Γᬿ¼ «íαẫ¼, ¡Ñ ¿¡¿µ¿á-
  17599.         ½¿º¿α«óá¡á).
  17600.  
  17601.              Å«½Ñ UserData  ó Borland Pascal ¡Ññ«ßΓπ»¡«,  ¿ »«½∞º«óáΓѽ∞-
  17602.         ß¬¿Ñ »α«úαá¼¼δ ¼«úπΓ ß«σαá¡∩Γ∞ ó ¡Ñ¼ ñá¡¡δÑ.
  17603.  
  17604.              Å«½Ñ Ná¼Ñ  ß«ñÑαª¿Γ  ¿¼∩  Σá⌐½á,  ¬«Γ«α«Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐
  17605.         »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  ß¿¼ó«½«ó,  «¬á¡τ¿óáεΘπεß∩  ¡π½Ñóδ¼   ß¿¼ó«½«¼
  17606.         (#0).
  17607.  
  17608.              ä½∩ Γ¿»¿º¿α«óá¡¡δσ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δσ »«½Ñ⌐ RÑßSizÑ ß«ñÑনΓ
  17609.         ñ½¿¡π ºá»¿ß¿ ó íá⌐Γáσ, á »«½Ñ Érivate ºáαѺÑαó¿α«óá¡«, ¡« ∩ó½∩ÑΓ-
  17610.         ß∩ ßó«í«ñ¡δ¼.
  17611.  
  17612.              ä½∩ ΓѬßΓ«óδσ  Σá⌐½«ó  BufPtr  ∩ó½∩ÑΓß∩  π¬áºáΓѽѼ ¡á íπΣÑα
  17613.         αẼÑα«¼ BufSize,  BufP«s »αÑñßΓáó½∩ÑΓ  ß«í«⌐  ¿¡ñѬߠ ß½ÑñπεΘÑú«
  17614.         ß¿¼ó«½á  ó  íπΣÑαÑ,  ¬«Γ«αδ⌐ ñ«½ªÑ¡ íδΓ∞ ºá»¿ßá¡ ¿½¿ »α«τ¿Γá¡,  á
  17615.         BufEnd  -  ßτÑΓτ¿¬  ñ«»πßΓ¿¼δσ  ß¿¼ó«½«ó  ó   íπΣÑαÑ.   ô¬áºáΓѽ¿
  17616.         OpenFunc,  InOutFunc,  FlushFunc ¿ CloseFunc ß½πªáΓ ñ½∩ ßß佬¿ ¡á
  17617.         »α«úαá¼¼δ óó«ñá-óδó«ñá ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩  π»αáó½Ñ¡¿∩  Σá⌐½«¼.  é
  17618.         â½áóÑ  14 ó αáºñѽѠ»«ñ ºáú½áó¿Ñ¼ "äαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«-
  17619.         óδσ Σá⌐½«ó" »α¿ó«ñ¿Γß∩ ñ«»«½¡¿Γѽ∞¡á∩ ¿¡Σ«α¼áµ¿∩ »« φΓ«¼π  ó«»α«-
  17620.         ßπ.
  17621.  
  17622.  
  17623.  
  17624.          B.Pascal 7 & Objects/LR     - 387 -
  17625.  
  17626.                                 Åα«µÑñπα¡δÑ Γ¿»δ
  17627.         ─────────────────────────────────────────────────────────────────
  17628.  
  17629.              Åα«µÑñπα¡δÑ Γ¿»δ σαá¡∩Γß∩ ó ó¿ñÑ ñó«⌐¡«ú« ß½«óá.  Åα¿ φΓ«¼ ó
  17630.         ¼½áñΦѼ ß½«óÑ ß«ñÑনΓß∩ ß¼ÑΘÑ¡¿Ñ »α«µÑñπαδ,  á ó ßΓáαΦѼ - íẫ-
  17631.         óδ⌐ ßÑú¼Ñ¡Γ.
  17632.  
  17633.                              Åα∩¼«⌐ ñ«ßΓπ» ¬ »á¼∩Γ¿
  17634.         ─────────────────────────────────────────────────────────────────
  17635.  
  17636.              é Borland  Pascal  αÑ὿º«óá¡δ  Γα¿ »αÑñ«»αÑñѽѡ¡δσ ¼áßß¿óá
  17637.         Mem,  MemW ¿ MemL, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ñ½∩ »α∩¼«ú« ñ«ßΓπ»á ¬ »á-
  17638.         ¼∩Γ¿.  èáªñδ⌐ ¬«¼»«¡Ñ¡Γ ¼áßß¿óá Mem »αÑñßΓáó½∩ÑΓ ß«í«⌐ íá⌐Γ, ¬áª-
  17639.         ñδ⌐ ¬«¼»«¡Ñ¡Γ ¼áßß¿óá MemW - ß½«ó«,  á ¬áªñδ⌐  ¬«¼»«¡Ñ¡Γ  MemL  -
  17640.         º¡áτÑ¡¿Ñ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á (Longint).
  17641.  
  17642.              ä½∩ ¿¡ñѬ߿α«óá¡¿∩ ¼áßß¿óá Mem ¿ß»«½∞ºπÑΓß∩ ß»Ñµ¿á½∞¡δ⌐ ß¿¡-
  17643.         Γá¬ß¿ß. äóá óδαáªÑ¡¿∩ µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á Word, αáºñѽѡ¡δÑ ºá»∩-
  17644.         Γ묨, ¿ß»«½∞ºπεΓß∩ ñ½∩ ºáñá¡¿∩ íẫó«ú« ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿∩ ∩τÑ⌐-
  17645.         ¬¿ »á¼∩Γ¿, ¬ ¬«Γ«α«⌐ »α«¿ºó«ñ¿Γß∩ ñ«ßΓπ». ìá»α¿¼Ñα:
  17646.  
  17647.              Mem[$0040:$0049] := 7;
  17648.              Data := MemW[Seg(V):Ofs(V)];
  17649.              MemLong := MemL[64:3*4];
  17650.  
  17651.              ÅÑαóδ⌐ «»ÑαáΓ«α ºá»¿ßδóáÑΓ  º¡áτÑ¡¿Ñ  7  ó  íá⌐Γ  »«  áñαÑßπ
  17652.         $0040:$0049.  éΓ«α«⌐ «»ÑαáΓ«α »«¼ÑΘáÑΓ º¡áτÑ¡¿Ñ Γ¿»á Word,  ºá»¿-
  17653.         ßá¡¡«Ñ ó »ÑαóδÑ 2 íá⌐Γá »ÑαѼѡ¡«⌐ V,  ó »ÑαѼѡ¡πε Data.  ÆαÑΓ¿⌐
  17654.         «»ÑαáΓ«α  »«¼ÑΘáÑΓ  º¡áτÑ¡¿Ñ  Γ¿»á Longint,  ºá»¿ßá¡¡«Ñ »« áñαÑßπ
  17655.         $0040:$000C, ó »ÑαѼѡ¡πε MemLong.
  17656.  
  17657.                              Åα∩¼«⌐ ñ«ßΓπ» ¬ »«αΓá¼
  17658.         ─────────────────────────────────────────────────────────────────
  17659.  
  17660.              ä½∩ ñ«ßΓπ»á ¬ »«αΓá¼ ñá¡¡δσ »α«µÑßß«αá 80σ86 Borland  Pascal
  17661.         αÑ὿ºπÑΓ ñóá  »αÑñ«»αÑñѽѡ¡δσ  ¼áßß¿óá - Port ¿ PortW.  Äíá φΓ¿
  17662.         ¼áßß¿óá ∩ó½∩εΓß∩ «ñ¡«¼Ñα¡δ¼¿ ¼áßß¿óἿ, úñÑ ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ »αÑñß-
  17663.         Γáó½∩ÑΓ »«αΓ ñá¡¡δσ, áñαÑß ¬«Γ«α«ú« ß««ΓóÑΓßΓóπÑΓ ¿¡ñѬßπ. ê¡ñѬß
  17664.         ¿¼ÑÑΓ Γ¿» Word. ¥½Ñ¼Ñ¡Γδ ¼áßß¿óá Port ¿¼ÑεΓ Γ¿»á Byte, á φ½Ñ¼Ñ¡Γδ
  17665.         ¼áßß¿óá PortW - Word.
  17666.  
  17667.              è«úñá φ½Ñ¼Ñ¡ΓἿ ¼áßß¿óá Port ¿½¿ PortW »α¿ßóá¿óáÑΓß∩ º¡áτÑ-
  17668.         ¡¿Ñ, «¡« óδó«ñ¿Γß∩ ó óδíαá¡¡δ⌐ »«αΓ.  è«úñá ¡á φ½Ñ¼Ñ¡Γδ φΓ¿σ ¼áß-
  17669.         ß¿ó«ó ¿¼ÑεΓß∩ ßß佬¿ ó óδαáªÑ¡¿∩σ, Γ« º¡áτÑ¡¿Ñ óó«ñ¿Γß∩ ¿º ºáñá¡-
  17670.         ¡«ú« »«αΓá.
  17671.  
  17672.              êß»«½∞º«óá¡¿Ñ ¼áßß¿ó«ó Port ¿ PortW «úαá¡¿τÑ¡« Γ«½∞¬«  »α¿ß-
  17673.         óá¿ó᡿Ѽ ¿ ßßδ½¬á¼¿ ó óδαáªÑ¡¿∩σ, Γ« ÑßΓ∞ φ½Ñ¼Ñ¡Γδ φΓ¿σ ¼áßß¿ó«ó
  17674.         ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ  »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ.  èα«¼Ñ
  17675.         Γ«ú«, ßß佬¿  ¡á  óÑß∞ ¼áßß¿ó Port ¿½¿ PortW (íѺ ¿¡ñѬßá) ¡Ñ ñ«-
  17676.         »π߬áεΓß∩.
  17677.  
  17678.  
  17679.  
  17680.          B.Pascal 7 & Objects/LR     - 388 -
  17681.  
  17682. ───────────────────────────────────────────────────────────────────────
  17683.                           â½áóá 22. é«»α«ßδ π»αáó½Ñ¡¿∩
  17684.         ─────────────────────────────────────────────────────────────────
  17685.  
  17686.              é ñá¡¡«⌐ ú½áóÑ »«ñα«í¡« «»¿ßδóáεΓß∩ αẽ¿τ¡δÑ ß»«ß«íδ αÑ὿-
  17687.         ºáµ¿¿ ó Borland Pascal π»αáó½Ñ¡¿∩ »α«úαá¼¼«⌐.  æεñá ó¬½ετÑ¡δ ß«ú-
  17688.         ½áΦÑ¡¿∩ »« ó맮óá¼,  »α«µÑñπαδ óδσ«ñá, «íαáí«Γ¬á »αÑαδóá¡¿⌐ ¿ «í-
  17689.         αáí«Γ¬á «Φ¿í«¬.
  17690.  
  17691.                               æ«ú½áΦÑ¡¿∩ »« ó맮óá¼
  17692.         ─────────────────────────────────────────────────────────────────
  17693.  
  17694.              Åáαá¼ÑΓαδ »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼ »ÑαÑñáεΓß∩ τÑαѺ ßΓѬ. ÅÑαÑñ
  17695.         óδº«ó«¼  »α«µÑñπαδ  ¿½¿ Σπ¡¬µ¿¿ »áαá¼ÑΓαδ »«¼ÑΘáεΓß∩ ó ßΓѬ ó »«-
  17696.         α∩ñ¬Ñ ¿σ «»¿ßá¡¿∩. ÅÑαÑñ óδσ«ñ«¼ ¿º »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ óßÑ »á-
  17697.         αá¼ÑΓαδ ¿ºó½Ñ¬áεΓß∩ ¿º ßΓѬá.
  17698.  
  17699.              Åα¿¼Ñα¡δ⌐ ó맮ó »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¼«ª¡« »αÑñßΓáó¿Γ∞ ß½Ñ-
  17700.         ñπεΘ¿¼ «íαẫ¼:
  17701.  
  17702.              PUSH Param1
  17703.              PUSH Param2
  17704.               .
  17705.               .
  17706.               .
  17707.              PUSH ParamX
  17708.              Call ProcOrFunc
  17709.  
  17710.              Åáαá¼ÑΓαδ ¼«úπΓ »ÑαÑñáóáΓ∞ß∩ »« ßßδ½¬Ñ ¿½¿ »« º¡áτÑ¡¿ε. è«ú-
  17711.         ñá »áαá¼ÑΓα »ÑαÑñáÑΓß∩ »« ßß佬Ñ, Γ« π¬áºáΓѽ∞, ¬«Γ«αδ⌐ ßßδ½áÑΓß∩
  17712.         ¡á αÑá½∞¡πε ∩τÑ⌐¬π »á¼∩Γ¿,  »«¼ÑΘáÑΓß∩ ó ßΓѬ. è«úñá »áαá¼ÑΓα »Ñ-
  17713.         αÑñáÑΓß∩  »« º¡áτÑ¡¿ε,  ó ßΓѬ »«¼ÑΘáÑΓß∩ ßἫ Σá¬Γ¿τÑ߬«Ñ º¡áτÑ-
  17714.         ¡¿Ñ.
  17715.  
  17716.                               Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ
  17717.         ─────────────────────────────────────────────────────────────────
  17718.  
  17719.              Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ (»áαá¼ÑΓαδ  var)  óßÑúñá  »ÑαÑñáεΓß∩ »«
  17720.         ßß佬Ñ,  Γ« ÑßΓ∞ π¬áºáΓѽ∞ ßßδ½áÑΓß∩ ¡á ∩τÑ⌐¬π »á¼∩Γ¿ ß Σá¬Γ¿τÑß-
  17721.         ¬¿¼ º¡áτÑ¡¿Ñ¼.
  17722.  
  17723.                                Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩
  17724.         ─────────────────────────────────────────────────────────────────
  17725.  
  17726.              Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩ »ÑαÑñáεΓß∩ »« º¡áτÑ¡¿ε ¿½¿ »«  ßß佬Ñ,  ó
  17727.         ºáó¿ß¿¼«ßΓ¿  «Γ  ¿σ  Γ¿»á ¿ αẼÑαá.  é «íΘѼ ß½πτáÑ,  Ñß½¿ »áαá-
  17728.         ¼ÑΓα-º¡áτÑ¡¿Ñ ºá¡¿¼áÑΓ 1,  2 ¿½¿ 4 íá⌐Γá,  Γ« º¡áτÑ¡¿Ñ »«¼ÑΘáÑΓß∩
  17729.         ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ßΓѬ. é »α«Γ¿ó¡«¼ ß½πτáÑ ó ßΓѬ »«¼ÑΘáÑΓß∩ π¬á-
  17730.         ºáΓѽ∞ ¡á º¡áτÑ¡¿Ñ, á »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ¬«»¿απÑΓ ºáΓѼ º¡áτÑ-
  17731.         ¡¿Ñ ó ½«¬á½∞¡πε ∩τÑ⌐¬π »á¼∩Γ¿.
  17732.  
  17733.              é »α«µÑßß«αÑ 8086 ¡Ñ »«ññÑনóáεΓß∩ íá⌐Γ«óδÑ ¿¡ßΓαπ¬µ¿¿ ÉUSì
  17734.         ¿ ÉÄÉ,  »«φΓ«¼π íá⌐Γ«óδÑ »áαá¼ÑΓαδ óßÑúñá »ÑαÑñáεΓß∩ ó ßΓѬÑ, ¬á¬
  17735.         ß½«óá. î½áñΦ¿⌐ íá⌐Γ ß½«óá ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ, á ßΓáαΦ¿⌐ íá⌐Γ ß½«óá
  17736.  
  17737.          B.Pascal 7 & Objects/LR     - 389 -
  17738.  
  17739.         ßó«í«ñÑ¡ (¿ ¡Ñ«»αÑñѽѡ).
  17740.  
  17741.              ç¡áτÑ¡¿Ñ ¿½¿ »áαá¼ÑΓα µÑ½«ú« Γ¿»á »ÑαÑñáÑΓß∩ ¬á¬ íá⌐Γ, ß½«ó«
  17742.         ¿½¿ ñó«⌐¡«Ñ ß½«ó«. Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ Γᬫ⌐ ªÑ Σ«α¼áΓ, ¬á¬ ñ½∩
  17743.         »αÑñßΓáó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ µÑ½«ú« Γ¿»á.  (ä½∩ ñó«⌐¡δσ ß½«ó  ßΓáαΦÑÑ
  17744.         ß½«ó«  »«¼ÑΘáÑΓß∩  ó  ßΓѬ »ÑαÑñ ¼½áñΦ¿¼ ß½«ó«¼,  ΓᬠτΓ« ¼½áñΦÑÑ
  17745.         ß½«ó« αẼÑΘáÑΓß∩ ó í«½ÑÑ ¼½áñΦ¿σ áñαÑßáσ.)
  17746.  
  17747.              Åáαá¼ÑΓα ß¿¼ó«½∞¡«ú« Γ¿»á (Char) »ÑαÑñáÑΓß∩,  ¬á¬  íá⌐Γ  íѺ
  17748.         º¡á¬á.
  17749.  
  17750.              Åáαá¼ÑΓα íπ½Ñó߬«ú«  Γ¿»á (Boolean) »ÑαÑñáÑΓß∩,  ¬á¬ íá⌐Γ ß«
  17751.         º¡áτÑ¡¿Ñ¼ 0 ¿½¿ 1.
  17752.  
  17753.              Åáαá¼ÑΓα »ÑαÑτ¿ß½¿¼«ú« Γ¿»á »ÑαÑñáÑΓß∩,  ¬á¬ íá⌐Γ íѺ º¡á¬á,
  17754.         Ñß½¿ ¡π¼Ñαᵿ∩ ¡Ñ »αÑóδΦáÑΓ 256.  é »α«Γ¿ó¡«¼ ß½πτáÑ «¡ »ÑαÑñáÑΓ-
  17755.         ß∩, ¬á¬ ß½«ó« íѺ º¡á¬á.
  17756.  
  17757.              Åáαá¼ÑΓα óÑΘÑßΓóÑ¡¡«ú« Γ¿»á  (Real,  º¡áτÑ¡¿∩  ß  «ñ¿¡áα¡«⌐,
  17758.         ñó«⌐¡«⌐  ¿½¿  »«óδΦÑ¡¡«⌐  Γ«τ¡«ßΓ∞ε  ¿½¿  ß½«ª¡«ú« Γ¿»á - Single,
  17759.         Double, Extended, Comp), »ÑαÑñáεΓß∩ τÑαѺ ßΓѬ ¬á¬ 4, 6, 8 ¿½¿ 10
  17760.         íá⌐Γ.  ¥Γ«  ∩ó½∩ÑΓß∩  ¿ß¬½ετÑ¡¿Ñ¼ ¿º Γ«ú« »αáó¿½á,  τΓ« 1-,  2- ¿
  17761.         4-íá⌐Γ«óδÑ º¡áτÑ¡¿Ñ »ÑαÑñáεΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ßΓѬÑ.
  17762.  
  17763.              Åáαá¼ÑΓα Γ¿»á π¬áºáΓѽ∞ »ÑαÑñáÑΓß∩  ó  ó¿ñÑ  ñó«⌐¡«ú«  ß½«óá
  17764.         (áñαÑß ßÑú¼Ñ¡Γá »«¼ÑΘáÑΓß∩ ó ßΓѬ »ÑαÑñ ß¼ÑΘÑ¡¿Ñ¼, ΓᬠτΓ« τáßΓ∞,
  17765.         »αÑñßΓáó½∩εΘá∩ ß«í«⌐ ß¼ÑΘÑ¡¿Ñ,  ºá¬á¡τ¿óáÑΓß∩ ó ßἫ¼ ¼½áñΦѼ áñ-
  17766.         αÑßÑ).
  17767.  
  17768.              Åáαá¼ÑΓα ßΓ᫬«ó«ú« Γ¿»á »ÑαÑñáÑΓß∩, ¬á¬ π¬áºáΓѽ∞ ¡á º¡áτÑ-
  17769.         ¡¿Ñ.
  17770.  
  17771.              Åáαá¼ÑΓα ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á »ÑαÑñáÑΓß∩ ó ó¿ñÑ  íá⌐Γá  (Ñß½¿
  17772.         úαá¡¿µδ φ½Ñ¼Ñ¡Γá  πßΓá¡«ó½Ñ¡δ  ó  ñ¿á»áº«¡Ñ  «Γ 0 ñ« 7) ¿½¿ ß½«óá
  17773.         (Ñß½¿ úαá¡¿µδ φ½Ñ¼Ñ¡Γá πßΓá¡«ó½Ñ¡δ ó ñ¿á»áº«¡Ñ «Γ  0  ñ«  15).  é
  17774.         »α«Γ¿ó¡«¼  ß½πτáÑ «¡« »ÑαÑñáÑΓß∩ ó ó¿ñÑ π¬áºáΓѽ∩ ¡á "¡Ñπ»á¬«óá¡-
  17775.         ¡«Ñ" ¼¡«ªÑßΓó« ñ½¿¡«⌐ 32 íá⌐Γá.
  17776.  
  17777.              îáß߿󠿽¿ ºá»¿ß∞ ¿º 1,  2 ¿½¿ 4 íá⌐Γ »«¼ÑΘáÑΓß∩  ¡Ñ»«ßαÑñß-
  17778.         ΓóÑ¡¡« ó ßΓѬ.  äαπú¿Ñ ¼áßß¿óδ ¿ ºá»¿ß¿ »ÑαÑñáεΓß∩, ¬á¬ π¬áºáΓѽ¿
  17779.         ¡á º¡áτÑ¡¿∩.
  17780.  
  17781.                           ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ
  17782.         ─────────────────────────────────────────────────────────────────
  17783.  
  17784.              ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ  »áαá¼ÑΓαδ  »ÑαÑñáεΓß∩  ºá¡ÑßÑ¡¿Ñ¼ ó ßΓѬ
  17785.         ß¡áτá½á π¬áºáΓѽ∩ ¡á ßΓ᫬π,  á ºáΓѼ ß½«óá,  ß«ñÑαªáΘÑú« áΓα¿íπΓ
  17786.         αẼÑαá (¼á¬ß¿¼á½∞¡πε ñ½¿¡π ßΓ᫬¿).
  17787.  
  17788.              ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ-¼áßß¿óδ »ÑαÑñáεΓß∩ ºá¡ÑßÑ¡¿Ñ¼ ó ßΓѬ ß¡á-
  17789.         τá½á π¬áºáΓѽ∩ ¡á ¼áßß¿ó, á ºáΓѼ ß½«óá, ß«ñÑαªáΘÑú« áΓα¿íπΓ αáº-
  17790.         ¼Ñαá (τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá ¼¿¡πß 1).
  17791.  
  17792.  
  17793.          B.Pascal 7 & Objects/LR     - 390 -
  17794.  
  17795.              Åα¿ ¿ß»«½∞º«óá¡¿¿ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá,  º¡áτÑ¡¿Ñ, ó«ºóαá-
  17796.         ΘáѼ«Ñ ñ½∩ «Γ¬αδΓ«ú«  »áαá¼ÑΓαá  ß  »«¼«Θ∞ε  ßΓá¡ñáαΓ¡«⌐  Σπ¡¬µ¿¿
  17797.         High, ¼«ª¡« »«½πτ¿Γ∞, ºáúαπªá∩ ß½«ó« ¡Ñ»«ßαÑñßΓóÑ¡¡« »«ñ «Γ¬αδΓδ¼
  17798.         »áαá¼ÑΓα«¼. é  ñá¡¡«¼   »α¿¼ÑαÑ   φΓ«   ñѼ«¡ßΓα¿απÑΓ   »α«µÑñπαá
  17799.         FillString, ºá»«½¡∩εΘá∩ ßΓ᫬π ñ« ÑÑ ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡δ π¬áºá¡¡δ¼
  17800.         ß¿¼ó«½«¼.
  17801.  
  17802.              procedure FillString(var Str: OpenString; Chr: Char);
  17803.                                      assebmler;
  17804.              asm
  17805.                   LES      DI,Str         { ES:DI = @Str }
  17806.                   MOV      CX,Str,Str.Word[-2]  { Cx = igh(Str) }
  17807.                   MOV      AL,CL
  17808.                   CLD
  17809.                   STOSB                   { πßΓá¡«ó¿Γ∞ Str[0] }
  17810.                   MOV      AL,Chr
  17811.                   REP      STOSB          { πßΓá¡«ó¿Γ∞ Str[1..High] }
  17812.              end;
  17813.  
  17814.                                ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐
  17815.         ─────────────────────────────────────────────────────────────────
  17816.  
  17817.              ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐ »«α∩ñ¬«ó«ú« Γ¿»á ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαáσ
  17818.         µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá:  íá⌐Γδ ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαÑ AL, ß½«óá
  17819.         -  ó αÑú¿ßΓαÑ Aò,  ñó«⌐¡δÑ ß½«óá - ó DX:AX (ßΓáαΦÑÑ ß½«ó« - ó Dò,
  17820.         ¼½áñΦÑÑ - ó Aò).
  17821.  
  17822.              ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á (º¡áτÑ¡¿∩ óÑΘÑßΓóÑ¡¡«-
  17823.         ú« Γ¿»á  Real) ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαáσ Dò:éò:AX (ßΓáαΦÑÑ ß½«ó« -
  17824.         ó αÑú¿ßΓαÑ Dò,  ßαÑñ¡ÑÑ ß½«ó« - ó αÑú¿ßΓαÑ éò,  ¼½áñΦÑÑ ß½«ó« - ó
  17825.         AX).
  17826.  
  17827.              ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿¿,  ¿¼ÑεΘ¿Ñ «ñ¿¡ ¿º Γ¿»«ó, ¿ß»«½∞ºπεΘ¿σß∩ ó
  17828.         »α«µÑßß«αÑ 8087,  (º¡áτÑ¡¿∩ ß «ñ¿¡áα¡«⌐,  ñó«⌐¡«⌐ ¿½¿  »«óδΦÑ¡¡«⌐
  17829.         Γ«τ¡«ßΓ∞ε ¿½¿ ß½«ª¡«ú« Γ¿»á - Single,  Double,  Extended ¿ Comp),
  17830.         ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαÑ óÑαΦ¿¡δ ßΓѬá ß«»α«µÑßß«αá 8087 (SÆ(0)).
  17831.  
  17832.             ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ Γ¿»á π¬áºáΓѽ∞ ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαÑ Dò:
  17833.         AX (áñαÑß ßÑú¼Ñ¡Γá - ó Dò, á ß¼ÑΘÑ¡¿Ñ - ó AX).
  17834.  
  17835.              ùΓ« ¬áßáÑΓß∩ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ ßΓ᫬«ó«ú« Γ¿»á, Γ« óδºδóáε-
  17836.         Θá∩ »α«úαἼᠻ«¼ÑΘáÑΓ ó ßΓѬ »ÑαÑñ »ÑαÑñáτÑ⌐ ¬á¬¿σ-½¿í« »áαá¼ÑΓ-
  17837.         α«ó óαѼѡ¡πε ∩τÑ⌐¬π »á¼∩Γ¿,  á Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ßΓ᫬«ó«Ñ º¡á-
  17838.         τÑ¡¿Ñ ó  φΓ«⌐ óαѼѡ¡«⌐ ∩τÑ⌐¬Ñ.  öπ¡¬µ¿∩ ¡Ñ ñ«½ª¡á πñá½∩Γ∞ π¬áºá-
  17839.         Γѽ∞.
  17840.  
  17841.  
  17842.  
  17843.          B.Pascal 7 & Objects/LR     - 391 -
  17844.  
  17845.                          ü½¿ª¡¿Ñ ¿ ñá½∞¡¿Ñ Γ¿»δ ó맮ó«ó
  17846.         ─────────────────────────────────────────────────────────────────
  17847.  
  17848.              é µÑ¡Γαá½∞¡«¼  »α«µÑßß«αÑ 8086 »«ññÑনóáÑΓß∩ ñóá Γ¿»á ó맮-
  17849.         ó«ó ¿  ¿¡ßΓαπ¬µ¿⌐  ó«ºóαáΓá π»αáó½Ñ¡¿∩ - í½¿ª¡¿Ñ (NEAR) ¿ ñá½∞¡¿Ñ
  17850.         (FAR). ü½¿ª¡¿Ñ ó맮óδ »ÑαÑñáεΓ π»αáó½Ñ¡¿Ñ ñαπú«⌐ ∩τÑ⌐¬Ñ ó  »αÑñÑ-
  17851.         ½áσ Γ«ú« ªÑ »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá, á ñá½∞¡¿Ñ ó맮óδ »«ºó«½∩εΓ »Ñ-
  17852.         αÑ⌐Γ¿ ó ñαπú«⌐ »α«úαá¼¼¡δ⌐ ßÑú¼Ñ¡Γ.
  17853.  
  17854.              ê¡ßΓαπ¬µ¿∩ í½¿ª¡Ñú«  «íαáΘÑ¡¿∩ CALL »«¼ÑΘáÑΓ ó ßΓѬ 16-í¿Γ«-
  17855.         óδ⌐ áñαÑß ó«ºóαáΓá (Γ«½∞¬« ß¼ÑΘÑ¡¿Ñ), á ¿¡ßΓαπ¬µ¿∩ ñá½∞¡Ñú« ó맮-
  17856.         óá  »«¼ÑΘáÑΓ  ó  ßΓѬ 32-í¿Γ«óδ⌐ áñαÑß ó«ºóαáΓá (áñαÑß ßÑú¼Ñ¡Γá ¿
  17857.         ß¼ÑΘÑ¡¿Ñ). æ««ΓóÑΓßΓóπεΘá∩  ¿¡ßΓαπ¬µ¿∩  RET  ¿ºó½Ñ¬áÑΓ  ¿º  ßΓѬá
  17858.         Γ«½∞¬« ß¼ÑΘÑ¡¿Ñ ¿½¿ áñαÑß ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿Ñ.
  17859.  
  17860.              ìá «ß¡«óÑ «»¿ßá¡¿∩ »α«µÑñπαδ ó Borland Pascal íπñÑΓ  áóΓ«¼á-
  17861.         Γ¿τÑ߬¿ óδí¿αáΓ∞ß∩ »αáó¿½∞¡δ⌐ Γ¿» «íαáΘÑ¡¿∩. Åα«µÑñπαδ, «»¿ßá¡¡δÑ
  17862.         ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ ¼«ñπ½∩ ß««ΓóÑΓßΓóπεΓ ñá½∞¡Ñ¼π  «íαáΘÑ¡¿ε  ¿
  17863.         ¼«úπΓ óδºδóáΓ∞ß∩ ¿º ñαπú¿σ í½«¬«ó.  Åα«µÑñπαδ,  «»¿ßá¡¡δÑ ó »α«ú-
  17864.         αἼѠó ßѬµ¿¿ αÑ὿ºáµ¿¿ ¼«ñπ½∩ (implementation), ∩ó½∩εΓß∩ í½¿ª-
  17865.         ¡¿¼¿  ¿ ¼«úπΓ óδºδóáΓ∞ß∩ Γ«½∞¬« ¿º φΓ«⌐ »α«úαá¼¼δ ¿½¿ ñá¡¡«ú« ¼«-
  17866.         ñπ½∩.
  17867.  
  17868.              ä½∩ ¡Ñ¬«Γ«αδ󠬫¡¬αÑΓ¡δσ µÑ½Ñ⌐ ¼«ª¡« »«ΓαÑí«óáΓ∞, τΓ«íδ »α«-
  17869.         µÑñπαá  ¿¼Ñ½á  ñá½∞¡¿⌐  Γ¿» ó맮óá.  ìá»α¿¼Ñα,  »α«µÑñπαá óδσ«ñá,
  17870.         ñαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó ¿  ñαπú¿Ñ  ßαÑñßΓóá,  ¿ß-
  17871.         »«½∞ºπεΘ¿Ñ  π¬áºáΓѽ¿  ¡á »α«µÑñπαδ.  ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá {$F+}
  17872.         π¬áºδóáÑΓ ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ ñá½∞¡Ñú«  Γ¿»á  ó맮ó«ó.
  17873.         Åα«µÑñπαδ ¿½¿  Σπ¡¬µ¿¿,  ß¬«¼»¿½¿α«óá¡¡δÑ  ß  ñá¡¡«⌐  ñ¿αÑ¬Γ¿ó«⌐,
  17874.         óßÑúñá íπñπΓ  ¿¼ÑΓ∞  ñá½∞¡¿⌐  Γ¿»  ó맮óá.  Åα¿  ¿ß»«½∞º«óá¡¿¿  ó
  17875.         Borland  Pascal ñ¿αÑ¬Γ¿óδ {$F-} »αáó¿½∞¡á∩ ßσѼá ó맮óá íπñÑΓ óδ-
  17876.         í¿αáΓ∞ß∩ áóΓ«¼áΓ¿τÑ߬¿. Å« π¼«½τá¡¿ε ¡áº¡áτáÑΓß∩ αѪ¿¼ {$F-}.
  17877.  
  17878.  
  17879.                           é½«ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  17880.         ─────────────────────────────────────────────────────────────────
  17881.  
  17882.              Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ßτ¿ΓáÑΓß∩ ó½«ªÑ¡¡«⌐,  ¬«úñá «¡á «»¿ßδ-
  17883.         óáÑΓß∩ ó¡πΓα¿ ñαπú«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.  Å« π¼«½τá¡¿ε ó½«ªÑ¡-
  17884.         ¡δÑ  »α«µÑñπαδ  ¿  Σπ¡¬µ¿¿  óßÑúñá  ¿ß»«½∞ºπεΓ í½¿ª¡¿⌐ Γ¿» ó맮óá
  17885.         (NEAR),  »«ß¬«½∞¬π «¡¿ ñ«ßΓπ»¡δ Γ«½∞¬« ó¡πΓα¿ «»αÑñѽѡ¡«⌐ »α«µÑ-
  17886.         ñπαδ ¿½¿ Σπ¡¬µ¿¿ ó Γ«¼ ªÑ ßÑú¼Ñ¡ΓÑ ¬«ñá.  Äñ¡á¬« ó «óÑα½Ñ⌐¡δσ ºá-
  17887.         ñáτáσ «íδτ¡« ñ½∩ Γ«ú«, τΓ«íδ «íÑß»Ñτ¿Γ∞ ñ½∩ óßÑσ »α«µÑñπα ¿ Σπ¡¬-
  17888.         µ¿⌐ ñá½∞¡¿⌐ Γ¿» ó맮óá (FAR), ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá {$F+}.
  17889.  
  17890.              Åα¿ ó맮óѠ󽫪ѡ¡«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¬«¼»¿½∩Γ«α ¡Ñ»«ß-
  17891.         αÑñßΓóÑ¡¡« »ÑαÑñ ¿¡ßΓαπ¬µ¿Ñ⌐ CALL úÑ¡Ñα¿απÑΓ ¿¡ßΓαπ¬µ¿ε  PUSH BP,
  17892.         Σá¬Γ¿τÑ߬¿  »ÑαÑñáóá∩  αÑú¿ßΓα BP óδºδóáεΘÑ⌐ »α«úαá¼¼δ ó ¬áτÑßΓóÑ
  17893.         ñ«»«½¡¿Γѽ∞¡«ú« »áαá¼ÑΓαá.  Å«ß½Ñ Γ«ú«,  ¬á¬ óδºδóáѼá∩ »α«µÑñπαá
  17894.         πßΓá¡«ó¿Γ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ αÑú¿ßΓα BP, αÑú¿ßΓα éÉ óδºδóáεΘÑ⌐ »α«-
  17895.         µÑñπαδ ñ«ßΓπ»Ñ¡,  ¬á¬ ß½«ó«,  ß«σαá¡Ñ¡¡«Ñ ó [BP+4] ¿½¿  ó  [BP+6]
  17896.         (Ñß½¿ »α«µÑñπαá ¿¼ÑÑΓ ñá½∞¡¿⌐ Γ¿» ó맮óá).  êß»«½∞ºπ∩ ßó∩º∞ τÑαѺ
  17897.         [BP+4] ¿ [BP+6], óδºδóáѼá∩ »α«µÑñπαá ¼«ªÑΓ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ½«-
  17898.  
  17899.          B.Pascal 7 & Objects/LR     - 392 -
  17900.  
  17901.         ¬á½∞¡δ¼ »ÑαѼѡ¡δ¼ ó úαá¡¿µáσ ßΓѬá óδºδóáεΘÑ⌐ »α«µÑñπαδ. æ½Ññπε-
  17902.         Θ¿⌐ »α¿¼Ñα »«¬áºδóáÑΓ,  ¬á¬ ¼«ª¡« »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ½«¬á½∞¡δ¼ »Ñ-
  17903.         αѼѡ¡δ¼ ¿º «»ÑαáΓ«αá inline ó« ó½«ªÑ¡¡«⌐ »α«µÑñπαÑ:
  17904.  
  17905.              procedure A; near;
  17906.                var IntA: integer;
  17907.  
  17908.              procedure B; far;
  17909.                var IntB: integer;
  17910.  
  17911.              procedure C; near;
  17912.                var IntC: integer;
  17913.              begin
  17914.              inline(
  17915.                $8B/$46/<IntC>/      { MOV AX,[BP+IntC]     ;AX = IntC   }
  17916.                $8B/$5E/$04/         { MOV BX,[BP+4]        ;BX = ßΓѬ é }
  17917.                $36/$8b/$47/<IntB>/  { MOV AX,SS:[BX+IntB]  ;AX = IntB   }
  17918.                $8B/$5E/$04/         { MOV BX,[BP+4]        ;BX = ßΓѬ B }
  17919.                $36/8B/$5F/$06/      { MOV BX,SS:[BX+6]     ;BX = ßΓѬ A }
  17920.                $36/$8B/$47/<IntA>); { MOV AX,SS:[BX+IntA]  ;AX =IntA    }
  17921.              end;
  17922.  
  17923.              begin C end;
  17924.  
  17925.              begin B end;
  17926.  
  17927.                   Åα¿¼Ñτá¡¿Ñ: é½«ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¡Ñ½∞º∩ «»¿ßδ-
  17928.              óáΓ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ external,  ¿ «¡¿ ¡Ñ ¼«úπΓ ¿¼ÑΓ∞ »á-
  17929.              αá¼ÑΓαδ »α«µÑñπα¡«ú« Γ¿»á.
  17930.  
  17931.              Åα¿¼Ñτá¡¿Ñ: ü½«¬ inline ó »α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ ¼«ª¡« ºá»¿ßáΓ∞
  17932.         ΓᬪѠó ó¿ñÑ:
  17933.  
  17934.              begin
  17935.                asm
  17936.                   MOV AX,[BP+IntC]     { AX = IntC   }
  17937.                   MOV BX,[BP+4]        { BX = ßΓѬ é }
  17938.                   MOV AX,SS:[BX+IntB]  { AX = IntB   }
  17939.                   MOV BX,[BP+4]        { BX = ¬áñα ßΓѬ B }
  17940.                   MOV BX,SS:[BX+6]     { BX = ¬áñα ßΓѬ A }
  17941.                   MOV AX,SS:[BX+IntA]  { AX =IntA    }
  17942.                 end;
  17943.              end;
  17944.  
  17945.                           æ«ú½áΦÑ¡¿∩ « ó맮óáσ ¼ÑΓ«ñ«ó
  17946.         ─────────────────────────────────────────────────────────────────
  17947.  
  17948.              îÑΓ«ñδ ¿ß»«½∞ºπεΓ ΓÑ ªÑ ß«ú½áΦÑ¡¿∩ « ó맮óáσ,  τΓ« ¿ «íδτ¡δÑ
  17949.         »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ºá ΓѼ ¿ß¬½ετÑ¡¿Ñ¼,  τΓ« ¬áªñδ⌐ ¼ÑΓ«ñ ¿¼ÑÑΓ
  17950.         ¡Ñ∩ó¡δ⌐ ñ«»«½¡¿Γѽ∞¡δ⌐ »áαá¼ÑΓα Self, ¬«Γ«αδ⌐ ß««ΓóÑΓßΓóπÑΓ »áαá-
  17951.         ¼ÑΓαπ-»ÑαѼѡ¡«⌐ Γ«ú« ªÑ Γ¿»á,  τΓ« ¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ñá¡¡«ú« ¼ÑΓ«-
  17952.         ñá. Åáαá¼ÑΓα Self óßÑúñá »ÑαÑñáÑΓß∩ »«ß½Ññ¡¿¼ ¿ óßÑúñá ¿¼ÑÑΓ Σ«α-
  17953.         ¼π 32-αáºα∩ñ¡«ú«  π¬áºáΓѽ∩ ¡á φ¬ºÑ¼»½∩α,  ¿º ¬«Γ«α«ú« óδºδóáÑΓß∩
  17954.  
  17955.          B.Pascal 7 & Objects/LR     - 393 -
  17956.  
  17957.         ¼ÑΓ«ñ. ìá»α¿¼Ñα, Ñß½¿ »ÑαѼѡ¡á∩ PP ¿¼ÑÑΓ Γ¿» PPoint, ¬á¬ «»αÑñÑ-
  17958.         ½Ñ¡« óδΦÑ,  Γ« ó맮ó PP^.MoveTo (10, 20) ¬«ñ¿απÑΓß∩ ß½ÑñπεΘ¿¼ «í-
  17959.         αẫ¼:
  17960.  
  17961.              mov      ax, 10          ; ºáúαπº¿Γ∞ 10 ó  AX
  17962.              push     ax              ; »ÑαÑñáΓ∞ PX ¬á¬ »áαá¼ÑΓα
  17963.              mov      ax, 20          ; ºáúαπº¿Γ∞ 20 ó AX
  17964.              push     ax              ; »ÑαÑñáΓ∞ PY ¬á¬ »áαá¼ÑΓα
  17965.              les      di, PP          ; ºáúαπº¿Γ∞ PP ó ES:DI
  17966.              push     es              ; »ÑαÑñáΓ∞, ¬á¬ »áαá¼ÑΓα Self
  17967.              push     di
  17968.              mov      di, es:[di + 6] ; ¿ºó½Ñτ∞ ß¼ÑΘÑ¡¿Ñ Æéî ¿º »«½∩ Æéî
  17969.              call     DWORD PTR [di + 16] ; óδºóáΓ∞ ºá»¿ß∞ Æéî ñ½∩ MoveTo
  17970.  
  17971.              é« óαѼ∩ ó«ºóαáΓá ¼ÑΓ«ñ ñ«½ªÑ¡ πñ὿Γ∞ »áαá¼ÑΓα Self ¿º ßΓÑ-
  17972.         ¬á Γ«τ¡« ΓᬠªÑ, ¬á¬ «¡ πñá½∩ÑΓ «íδτ¡δÑ »áαá¼ÑΓαδ.
  17973.  
  17974.              îÑΓ«ñδ óßÑúñá ¿ß»«½∞ºπεΓ ñá½∞¡¿⌐ Γ¿» ó맮óá,  ¡Ñºáó¿ß¿¼«  «Γ
  17975.         ß«ßΓ«∩¡¿∩ ñ¿αÑ¬Γ¿óδ $F ¬«¼»¿½∩Γ«αá.
  17976.  
  17977.  
  17978.  
  17979.          B.Pascal 7 & Objects/LR     - 394 -
  17980.  
  17981.                            é맮óδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
  17982.         ─────────────────────────────────────────────────────────────────
  17983.  
  17984.              ä½∩ ó맮óá  ó¿αΓπá½∞¡«ú«  ¼ÑΓ«ñá  ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ¬«ñ,
  17985.         ¬«Γ«αδ⌐ óδí¿αáÑΓ áñαÑß Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¿º »«½∩ Γáí½¿-
  17986.         µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó «íΩѬΓá, ¿ ºáΓѼ óδºδóáÑΓ ¼ÑΓ«ñ, ¿ß»«½∞ºπ∩
  17987.         ßó∩ºá¡¡πε ß ¡¿¼ Γ«τ¬π óσ«ñá.  ìá»α¿¼Ñα,  Ñß½¿ ñá¡á »ÑαѼѡ¡á∩  PP
  17988.         Γ¿»á Point, Γ« ó맮ó PP^.Show íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ ß½ÑñπεΘ¿⌐ ¬«ñ:
  17989.  
  17990.              les    di, PP             ; ºáúαπº¿Γ∞ PP ó ES:DI
  17991.              push   es                 ; »ÑαÑñáΓ∞, ¬á¬ »áαá¼ÑΓα Self
  17992.              push   di
  17993.              mov    di, es:[di + 6]    ; ¿ºó½Ñτ∞ ß¼ÑΘÑ¡¿Ñ Æéî ¿º »«½∩ Æéî
  17994.              call   DWORD PTR [di + 12] ; óδºóáΓ∞ ºá»¿ß∞ Æéî ñ½∩  Show
  17995.  
  17996.              Åαáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ Γ¿»«ó ñ½∩ «íΩÑ¬Γ¡δσ Γ¿»«ó »«ºó«½∩εΓ PP
  17997.         π¬áºδóáΓ∞ ¡á Point ¿ ¡á TCircle  ¿½¿  ¡á  ½εíδσ  ñαπú¿σ  »«Γ«¼¬«ó
  17998.         TPoint.  ê Ñß½¿ óδ »α«ß¼«Γα¿ΓÑ »«¬áºá¡¡δÑ ºñÑß∞ Γáí½¿µδ ó¿αΓπá½∞-
  17999.         ¡δσ ¼ÑΓ«ñ«ó,  Γ« óδ πó¿ñ¿ΓÑ,  τΓ« ñ½∩ Γ¿»á TPoint Γ«τ¬á óσ«ñá  ß«
  18000.         ß¼ÑΘÑ¡¿Ñ¼   12   ó   Γáí½¿µδ  ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó  π¬áºδóáÑΓ  ¡á
  18001.         TPoint.Show. Æá¬¿¼ «íαẫ¼, ó ºáó¿ß¿¼«ßΓ¿ «Γ Σá¬Γ¿τÑ߬«ú« ó« óαÑ-
  18002.         ¼∩ óδ»«½¡Ñ¡¿∩ Γ¿»á PP, ¿¡ßΓαπ¬µ¿∩ CALL óδºδóáÑΓ ½¿í« TPoint.Show,
  18003.         ½¿í« TCircle.Show, ½¿í« ¼ÑΓ«ñ ½εí«ú« ñαπú«ú« »«Γ«¼¬á TPoint.
  18004.  
  18005.              àß½¿ Show  ∩ó½∩ÑΓß∩  ßΓáΓ¿τÑ߬¿¼  ¼ÑΓ«ñ«¼,  Γ«  ñ½∩   ó맮óá
  18006.         PP.Show íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ß∩ ß½ÑñπεΘ¿⌐ ¬«ñ:
  18007.  
  18008.              les    di, PP        ; ºáúαπº¿Γ∞ PP ó ES:DI
  18009.              push   es            ; »ÑαÑñáΓ∞, ¬á¬ »áαá¼ÑΓα Self
  18010.              push   di
  18011.              call   TPoint.Show   ; ¡Ñ»«ßαÑñßΓóÑ¡¡« óδºóáΓ∞ TPonit.Show
  18012.  
  18013.              é ñá¡¡«¼ ß½πτáÑ ¡Ñ ¿¼ÑÑΓ º¡áτÑ¡¿∩,  ¡á τΓ« π¬áºδóáÑΓ  PP,  ¿
  18014.         ¬«ñ óßÑúñá íπñÑΓ óδºδóáΓ∞ ¼ÑΓ«ñ TPoint.Show.
  18015.  
  18016.  
  18017.  
  18018.          B.Pascal 7 & Objects/LR     - 395 -
  18019.  
  18020.                            é맮óδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó
  18021.         ─────────────────────────────────────────────────────────────────
  18022.  
  18023.              ä¿ß»ÑΓτÑα¿ºáµ¿∩ ó맮óá ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ¡Ñ߬«½∞¬«  í«½ÑÑ
  18024.         ß½«ª¡á ¿ ΓαÑíπÑΓ í«½∞ΦÑ óαѼѡ¿, τѼ ñ¿ß»ÑΓτÑα¿ºáµ¿∩ ó¿αΓπá½∞¡«ú«
  18025.         ¼ÑΓ«ñá.  é¼ÑßΓ« ¿ß»«½∞º«óá¡¿∩ ¿¡ßΓαπ¬µ¿¿ CALL  ñ½∩  ó맮óá  τÑαѺ
  18026.         π¬áºáΓѽ∞  ¼ÑΓ«ñá  »« ßΓáΓ¿τÑ߬«¼π ß¼ÑΘÑ¡¿ε ó Γáí½¿µÑ ó¿αΓπá½∞¡δσ
  18027.         ¼ÑΓ«ñ«ó, Γáí½¿µá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á  ¿  Γáí½¿µá
  18028.         ñ¿¡á¼¿τÑ߬¿σ  ¼ÑΓ«ñ«ó  Ñú« »αÑñ¬á ñ«½ª¡δ »α«ß¼áΓα¿óáΓ∞ß∩ ó »«¿ß¬Ñ
  18029.         "ßἫú« óÑασ¡Ñú«" óσ«ªñÑ¡¿∩ ¿¡ñѬßá ¬«¡¬αÑΓ¡«ú« ñ¿¡á¼¿τÑ߬«ú« ¼Ñ-
  18030.         Γ«ñá, á ó맮ó ºáΓѼ ñ«½ªÑ¡ óδ»«½¡∩Γ∞ß∩ τÑαѺ ß««ΓóÑΓßΓóπεΘ¿⌐ π¬á-
  18031.         ºáΓѽ∞ ¼ÑΓ«ñá.  ¥Γ«Γ »α«µÑßß  ΓαÑíπÑΓ  ¿ß»«½∞º«óá¡¿∩  ßπΘÑßΓóÑ¡¡«
  18032.         í«½∞ΦÑú« τ¿ß½á ¿¡ßΓαπ¬µ¿⌐,  ¬«Γ«αδÑ ¼«ª¡« ºá»¿ßáΓ∞, ¬á¬ "óßΓα«Ñ¡-
  18033.         ¡δÑ" (inline),  »«φΓ«¼π Æπαí« Åá߬á½∞  «íÑß»Ñτ¿óáÑΓ  »«ñ»α«úαá¼¼π
  18034.         ñ¿ß»ÑΓτÑα¿ºáµ¿¿, ¿ß»«½∞ºπѼπε »α¿ ó맮óÑ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá.
  18035.              àß½¿ íδ ¼ÑΓ«ñ Show »«¬áºá¡¡«ú« óδΦÑ Γ¿»á TPoint
  18036.         «»¿ßδóá½ß∩ ¬á¬ ñ¿¡á¼¿τÑ߬¿⌐ ¼ÑΓ«ñ (ß ¿¡ñѬ߫¼ ñ¿¡á¼¿τÑ߬«ú«
  18037.         ¼ÑΓ«ñá 200), Γ« ó맮ó PP^.Show, úñÑ PP ¿¼ÑÑΓ Γ¿» TPointPtr,
  18038.         »α¿óѽ íδ ¬ úÑ¡Ñαᵿ¿ ß½ÑñπεΘÑú« ¬«ñá:
  18039.  
  18040.              les      di,PP            ; ºáúαπº¬á PP ó ED:DI
  18041.              push     es               ; »ÑαÑñáτá, ¬á¬ »áαá¼ÑΓαá
  18042.                                        ; Self
  18043.              push     di
  18044.              mow      di,es:[di+6]     ; ¿ºó½ÑτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩
  18045.                                        ; Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
  18046.                                        ; ¿º »«½∩ Γáí½¿µδ
  18047.                                        ; ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
  18048.              mov      ax,200           ; ºáúαπº¬á ó AX ¿¡ñѬßá
  18049.                                        ; ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá
  18050.              call     Dispatch         ; óδº«ó »«ñ»α«úαá¼¼δ
  18051.                                        ; ñ¿ß»ÑΓτÑα¿ºáµ¿¿
  18052.  
  18053.              ä¿ß»ÑΓτÑα óδí¿αáÑΓ ß¡áτá½á ß¼ÑΘÑ¡¿Ñ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼Ñ-
  18054.         Γ«ñ«ó  «Γ  Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó,  ¡á ¬«Γ«α«Ñ π¬áºδóáÑΓ αÑ-
  18055.         ú¿ßΓα DI. çáΓѼ ¿ß»«½∞ºπÑΓß∩ "¿¡ñѬߠó ¬ÑΦÑ" - »«½Ñ Γáí½¿µδ ñ¿¡á-
  18056.         ¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó. ä¿ß»ÑΓτÑα »α«óÑα∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ ¿¡ñѬߠóδºóá¡-
  18057.         ¡«ú« ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ¿¡ñѬ߫¼ Γ«ú« ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá, ¬«-
  18058.         Γ«αδ⌐ óδºδóá½ß∩ »«ß½Ññ¡¿¼.  àß½¿ φΓ« Γá¬,  «¡ ¡Ñ¼Ññ½Ñ¡¡« »ÑαÑñáÑΓ
  18059.         φΓ«¼π ¼ÑΓ«ñπ π»αáó½Ñ¡¿Ñ (»πΓѼ »ÑαÑσ«ñá ß »«¼«Θ∞ε π¬áºáΓѽ∩ ¼ÑΓ«-
  18060.         ñá,  ºá»¿ßá¡¡«ú« »« ß¼ÑΘÑ¡¿ε, ºáñá¡¡«¼π »«½Ñ¼ "ß¼ÑΘÑ¡¿Ñ ºá»¿ß¿").
  18061.  
  18062.              àß½¿ ñ¿¡á¼¿τÑ߬¿⌐  ¿¡ñѬߠ óδºóá¡¡«ú«  ¼ÑΓ«ñá ¡Ñ ß«ó»áñáÑΓ ß
  18063.         ΓѼ,  ¬«Γ«αδ⌐ ºá»¿ßá¡ ó ¬ÑΦÑ,  Γ« ñ¿ß»ÑΓτÑα »α«ß¼áΓα¿óáÑΓ Γáí½¿µπ
  18064.         ñ¿¡á¼¿τÑ߬¿σ  ¼ÑΓ«ñ«ó ¿ α«ñ¿Γѽ∞߬πε Γáí½¿µπ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó
  18065.         (ß½Ññπ∩ »« ßó∩º∩¼ ó Γáí½¿µÑ ñ¿¡á¼¿τÑ߬¿σ  ¼ÑΓ«ñ«ó),  »«¬á  «¡  ¡Ñ
  18066.         ¡á⌐ñÑΓ ºá»¿ß∞,  ß ñá¡¡δ¼ ¿¡ñѬ߫¼ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá.  ê¡ñѬߠ¿
  18067.         ß¼ÑΘÑ¡¿Ñ ß««ΓóÑΓßΓóπεΘÑú« π¬áºáΓѽ∩ ¼ÑΓ«ñᠺỿßδóáεΓß∩  ºáΓѼ  ó
  18068.         »«½Ñ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó,  á π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¼ÑΓ«-
  18069.         ñπ. àß½¿ »« ¬á¬¿¼-½¿í« »α¿τ¿¡á¼ ñ¿ß»ÑΓτÑα ¡Ñ ¼«ªÑΓ ¡á⌐Γ¿ ºá»¿ß∞ ß
  18070.         ñá¡¡δ¼  ¿¡ñѬ߫¼  ñ¿¡á¼¿τÑ߬«ú«  ¼ÑΓ«ñá,  «¡ ºáóÑαΦáÑΓ »α¿¬½áñ¡πε
  18071.         »α«úαá¼¼π ß ¬«ñ«¼ «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩ 210.
  18072.  
  18073.  
  18074.          B.Pascal 7 & Objects/LR     - 396 -
  18075.  
  18076.              é«»αѬ¿ ¬ÑΦ¿α«óá¡¿ε  ¿  óδß«¬««»Γ¿¼¿º¿α«óá¡¡«⌐  »«ñ»α«úαá¼¼Ñ
  18077.         ñ¿ß»ÑΓτÑα¿ºáµ¿¿,  ñ¿ß»ÑΓτÑα¿ºáµ¿∩ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ¼«ªÑΓ »«Γ-
  18078.         αÑí«óáΓ∞ ßπΘÑßΓóÑ¡¡« í«½∞ΦÑ óαѼѡ¿, τѼ ó맮ó ó¿αΓπá½∞¡«ú« ¼ÑΓ«-
  18079.         ñá. Äñ¡á¬« ó ΓÑσ ß½πτá∩σ,  ¬«úñá ßἿ ñÑ⌐ßΓó¿∩, óδ»«½¡∩ѼδÑ ñ¿¡á-
  18080.         ¼¿τÑ߬¿¼ ¼ÑΓ«ñ«¼,  ΓαÑíπεΓ ¼¡«ú« óαѼѡ¿,  ñ«»«½¡¿Γѽ∞¡«Ñ  »α«ßΓ-
  18081.         αá¡ßΓó«,  ß«σαá¡∩Ѽ«Ñ Γáí½¿µá¼¿ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó, ¼«ªÑΓ »ÑαÑ-
  18082.         óÑß¿Γ∞ φëà¡Ññ«ßΓáΓ«¬.
  18083.  
  18084.                            è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ
  18085.         ─────────────────────────────────────────────────────────────────
  18086.  
  18087.              è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ ¿ß»«½∞ºπεΓ ΓÑ ªÑ ß«ú½áΦÑ¡¿∩ « óδ-
  18088.         º«óáσ, τΓ« ¿ «íδτ¡δÑ ¼ÑΓ«ñδ, ºá ΓѼ ¿ß¬½ετÑ¡¿Ñ¼, τΓ« ñ«»«½¡¿Γѽ∞-
  18089.         ¡δ⌐ »áαá¼ÑΓα αẼÑα«¼ ó ß½«ó«, ¡áºδóáѼδ⌐ »áαá¼ÑΓα«¼ Γáí½¿µδ ó¿α-
  18090.         Γπá½∞¡δσ  ¼ÑΓ«ñ«ó,  »ÑαÑñáÑΓß∩  τÑαѺ  ßΓѬ ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ
  18091.         »áαá¼ÑΓα«¼ Self.
  18092.  
  18093.              ä½∩ ¬«¡ßΓαπ¬Γ«α«ó »áαá¼ÑΓα Γáí½¿µδ ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó  ß«-
  18094.         ñÑαª¿Γ  ß¼ÑΘÑ¡¿Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ñ½∩ ºá»«¼¿¡á¡¿∩ »«½∩
  18095.         Self Γáí½¿µδ ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá, τΓ«íδ ¿¡¿µ¿á½¿º¿α«óáΓ∞ Self.
  18096.  
  18097.              ü«½ÑÑ Γ«ú«, Ñß½¿ ¬«¡ßΓαπ¬Γ«α óδºδóáÑΓß∩ ñ½∩ αẼÑΘÑ¡¿∩ ñ¿¡á-
  18098.         ¼¿τÑ߬«ú«  «íΩѬΓá  ß »«¼«Θ∞ε αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá ßΓá¡ñáαΓ¡«⌐
  18099.         »α«µÑñπαδ New,  τÑαѺ »áαá¼ÑΓα Self »ÑαÑñáÑΓß∩ π¬áºáΓѽ∞ nil. ¥Γ«
  18100.         ºáßΓáó½∩ÑΓ ¬«¡ßΓαπ¬Γ«α αẼÑΘáΓ∞ ¡«óδ⌐ ñ¿¡á¼¿τÑ߬¿⌐ «íΩѬΓ, áñαÑß
  18101.         ¬«Γ«α«ú« »ÑαÑñáÑΓß∩ óδºδóáεΘÑ⌐ »α«úαἼѠτÑαѺ DX:AX »α¿ ó«ºóαáΓÑ
  18102.         ¿º ¬«¡ßΓαπ¬Γ«αá.  àß½¿ ¬«¡ßΓαπ¬Γ«α ¡Ñ ¼«ªÑΓ αẼÑßΓ¿Γ∞ «íΩѬΓ, Γ«
  18103.         ó DX:AX ó«ºóαáΘáÑΓß∩ »πßΓ«⌐ π¬áºáΓѽ∞ nil.  (æ¼. ñá½ÑÑ "Äí¡áαπªÑ-
  18104.         ¡¿Ñ «Φ¿í«¬ ¬«¡ßΓαπ¬Γ«αá").
  18105.  
  18106.              ìᬫ¡Ñµ, Ñß½¿  ¬«¡ßΓαπ¬Γ«α óδºδóáÑΓß∩ ß ¿ß»«½∞º«ó᡿Ѽ πΓ«τ-
  18107.         ¡Ñ¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¼ÑΓ«ñá (Γ.Ñ.  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Γ¿»á «íΩѬΓá,
  18108.         ºá ¬«Γ«αδ¼ ß½ÑñπεΓ Γ«τ¬á ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá),  Γ« ó »áαá¼ÑΓαÑ
  18109.         Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó »ÑαÑñáÑΓß∩ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ.  ¥Γ« ∩ó-
  18110.         ½∩ÑΓß∩ π¬áºá¡¿Ñ¼ ¬«¡ßΓαπ¬Γ«απ ¡á Γ«, τΓ« Ñ¼π ¡Ñ ß½ÑñπÑΓ ¿¡¿µ¿á½¿-
  18111.         º¿α«óáΓ∞ »«½Ñ Self Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó.  ä½∩ ñÑßΓαπ¬Γ«α«ó
  18112.         ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá Γáí½¿µδ ó¿αΓπá½∞¡δσ  ¼ÑΓ«ñ«ó  «º¡áτáÑΓ
  18113.         «íδτ¡δ⌐ ó맮ó, á ¡Ñ¡π½Ñó«Ñ π¬áºδóáÑΓ, τΓ« ñÑßΓαπ¬Γ«α íδ½ óδºóá¡ ß
  18114.         ¿ß»«½∞º«ó᡿Ѽ  αáßΦ¿αÑ¡¡«ú«  ß¿¡Γá¬ß¿ßá  ßΓá¡ñáαΓ¡«⌐   »α«µÑñπαδ
  18115.         Dispose.  ¥Γ«  ºáßΓáó½∩ÑΓ ñÑßΓαπ¬Γ«α πñ὿Γ∞ Self ¡Ñ»«ßαÑñßΓóÑ¡¡«
  18116.         »ÑαÑñ ó«ºóαáΓ«¼ (αẼÑα Self «»αÑñѽ∩ÑΓß∩ ¿º »Ñαó«ú« ß½«óá Self ó
  18117.         Æéî).
  18118.  
  18119.                          æΓá¡ñáαΓ¡δ⌐ ¬«ñ óσ«ñá ¿ óδσ«ñá
  18120.         ─────────────────────────────────────────────────────────────────
  18121.  
  18122.              èáªñá∩ »α«µÑñπαá ¿ Σπ¡¬µ¿∩ Borland Pascal ¡áτ¿¡áÑΓß∩  ¿  ºá-
  18123.         ¬á¡τ¿óáÑΓß∩ ßΓá¡ñáαΓ¡δ¼ ¡áí«α«¼ «»ÑαáΓ«α«ó, ¬«Γ«αδÑ »«ºó«½∩εΓ á¬-
  18124.         Γ¿ó¿º¿α«óáΓ∞ ¿ ñÑá¬Γ¿ó¿º¿α«óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε.
  18125.  
  18126.              æΓá¡ñáαΓ¡δ¼ óσ«ñ«¼ ß½πª¿Γ ß½ÑñπεΘá∩ úαπ»»á «»ÑαáΓ«α«ó:
  18127.  
  18128.              PUSH BP              ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
  18129.  
  18130.          B.Pascal 7 & Objects/LR     - 397 -
  18131.  
  18132.              MOV BP,SP            ; πßΓá¡«ó¿Γ∞ úαá¡¿µδ ßΓѬá
  18133.              SUB SP,LocalSize     ; óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ½«¬á½∞¡δσ  »ÑαÑ-
  18134.                                   ; ¼Ñ¡¡δσ
  18135.  
  18136.              é φΓ«¼ »α¿¼ÑαÑ LocalSize - φΓ« αẼÑα  ½«¬á½∞¡δσ »ÑαѼѡ¡δσ.
  18137.         ê¡ßΓαπ¬µ¿∩ SUé »α¿ßπΓßΓóπÑΓ Γ«½∞¬« ó Γ«¼ ß½πτáÑ,  ¬«úñá LocalSize
  18138.         ¡Ñ αáó¡« ¡π½ε.  àß½¿ Γ¿» «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ ∩ó½∩ÑΓß∩  í½¿ª¡¿¼,
  18139.         Γ« »áαá¼ÑΓαδ ¡áτ¿¡áεΓß∩ ß BP+4, Ñß½¿ ñ½∩ ó맮óá »α«µÑñπαδ ¿ß»«½∞-
  18140.         ºπÑΓß∩ ñá½∞¡¿⌐ Γ¿» «íαáΘÑ¡¿∩, Γ« «¡¿ ¡áτ¿¡áεΓß∩ ß BP+6.
  18141.  
  18142.              ä½∩ »α«úαá¼¼  DOS  ¬«ñ óσ«ñá ¿ óδσ«ñá ñ½∩ »«ñ»α«úαá¼¼δ,  ¿ß-
  18143.         »«½∞ºπεΘÑ⌐ ñá½∞¡εε ¼«ñѽ∞ ó맮óá,  Γ«Γ ªÑ, τΓ« ¿ ñ½∩ »«ñ»α«úαá¼¼δ
  18144.         ß í½¿ª¡¿¼ Γ¿»«¼ ó맮ó,  ¡« ñ½∩ ó«ºóαáΓá ¿º »«ñ»α«úαá¼¼δ ¿ß»«½∞ºπ-
  18145.         ÑΓß∩  ¿¡ßΓαπ¬µ¿∩  RETF.  ¥Γ«  ß»αáóÑñ½¿ó«  ΓᬪѠ ñ½∩   »α«úαá¼¼δ
  18146.         Windows, c¬«¼»¿½¿α«óá¡¡«⌐ ó ß«ßΓ«∩¡¿¿ {$W-}.
  18147.  
  18148.                    Åα¿¼Ñτá¡¿Ñ: Äí ¿ß»«½∞º«óá¡¿¿ »α«µÑñπα óσ«ñá ¿ óδσ«ñá ó
  18149.               DLL αáß߬áºδóáÑΓß∩ ó â½áóÑ 11 "信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í-
  18150.               ½¿«ΓѬ¿".
  18151.  
  18152.              æΓá¡ñáαΓ¡«⌐ úαπ»»«⌐ «»ÑαáΓ«α«ó óδσ«ñá ∩ó½∩ÑΓß∩:
  18153.  
  18154.              MOV SP,BP           ; «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩
  18155.                                  ; ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
  18156.              POP BP              ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
  18157.              RET ParamSize       ; πñ὿Γ∞ »áαá¼ÑΓαδ ¿ óδ»«½¡¿Γ∞ ó«ºóαáΓ
  18158.                                  ; π»αáó½Ñ¡¿∩
  18159.  
  18160.              çñÑß∞ Éárá¼SizÑ - φΓ« αẼÑα »áαá¼ÑΓα«ó.  ê¡ßΓαπ¬µ¿∩ RET ∩ó-
  18161.         ½∩ÑΓß∩  ¿¡ßΓαπ¬µ¿Ñ⌐ í½¿ª¡Ñú« ¿½¿ ñá½∞¡Ñú« Γ¿»á,  ó ºáó¿ß¿¼«ßΓ¿ «Γ
  18162.         Γ¿»á «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ.
  18163.  
  18164.              é ß«ßΓ«∩¡¿¿ {$W+} (»« π¼«½τá¡¿ε) ó »«ñ»α«úαá¼¼Ñ,  ¿ß»«½∞ºπε-
  18165.         ΘÑ⌐ ñá½∞¡εε ¼«ñѽ∞ ó맮óá, ¬«ñ óδσ«ñá ¿ óδσ«ñá óδú½∩ñ¿Γ ß½ÑñπεΘ¿¼
  18166.         «íαẫ¼:
  18167.  
  18168.              INC BP               ; π¬áºδóáÑΓ ¡á ¬áñα ßΓѬá FAR
  18169.              PUSH BP              ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
  18170.              MOV BP,SP            ; πßΓá¡«ó¿Γ∞ ¬áñα ßΓѬá
  18171.              PUSH DS              ; ß«σαá¡¿Γ∞ DS
  18172.              SUB SP,LocalSize     ; óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
  18173.                 .
  18174.                 .
  18175.                 .
  18176.              MOV SP,BP            ; «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩
  18177.                                   ; ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
  18178.              POP BP               ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
  18179.              DEC PB               ; ¡áßΓα«¿Γ∞ BP
  18180.              RETF ParamSize       ; πñ὿Γ∞ »áαá¼ÑΓαδ ¿ óδ»«½¡¿Γ∞ ó«ºóαáΓ
  18181.                                   ; π»αáó½Ñ¡¿∩
  18182.  
  18183.              è«ñ óσ«ñá ¿ óδσ«ñá ñ½∩ φ¬ß»«αΓ¿απѼ«⌐ »«ñ»α«úαá¼¼δ
  18184.         (»α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ß¬«¼»¿½¿α«óá¡¡«⌐ ß ñ¿αÑ¬Γ¿ó«⌐
  18185.  
  18186.          B.Pascal 7 & Objects/LR     - 398 -
  18187.  
  18188.         ¬«¼»¿½∩Γ«αá export) óδú½∩ñ¿Γ ß½ÑñπεΘ¿¼ «íαẫ¼:
  18189.  
  18190.              mov     AXC,DS      ; ºáúαπº¿Γ∞ ßÑ½Ñ¬Γ«α DS ó AX
  18191.              nop                 ; ñ«»«½¡¿Γѽ∞¡«Ñ »α«ßΓαá¡ßΓó« ñ½∩
  18192.                                  ; ¬«ααÑ¬Γ¿α«ó«¬
  18193.              inc     BP          ; π¬áºδóáÑΓ ¡á ñá½∞¡¿⌐ ¬áñα ßΓѬá
  18194.              push    BP          ; ß«σαá¡¿Γ∞ BP
  18195.              mov     BP,SP       ; πßΓá¡«ó¿Γ∞ ¬áñα ßΓѬá
  18196.              push    DS          ; ß«σαá¡¿Γ∞ DS
  18197.              mov     DS,AX       ; ¿¡¿µ¿á½¿ºáµ¿∩ αÑú¿ßΓαá DS
  18198.              sub     SP,LocalSize; αáß»αÑñѽѡ¿¿ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
  18199.                 .                ; (Ñß½¿ «¡¿ ¿¼ÑεΓß∩)
  18200.                 .
  18201.                 .
  18202.              pop     DI          ; ó«ßßΓá¡«ó¿Γ∞ DI
  18203.              pop     SI          ; ó«ßßΓá¡«ó¿Γ∞ SI
  18204.              lea     SP,[BP-2]   ; «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩
  18205.                                  ; ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
  18206.              pop     DS          ; ó«ßßΓá¡«ó¿Γ∞ DS
  18207.              pop     BP          ; ó«ßßΓá¡«ó¿Γ∞ BP
  18208.              dec     BP          ; ¡áßΓα«¿Γ∞ αÑú¿ßΓα BP
  18209.              retf    ParamSize   ; πñá½Ñ¡¿Ñ »áαá¼ÑΓα«ó ¿ ó«ºóαáΓ
  18210.                                  ; π»αáó½Ñ¡¿∩
  18211.  
  18212.              ä½∩ óßÑσ ¼«ñѽÑ⌐ ó맮óá,  Ñß½¿ »«ñ»α«úαἼᠡѠ߫ñÑαª¿Γ  ½«-
  18213.         ¬á½∞¡δσ  »ÑαѼѡ¡δσ,  ¿¡ßΓαπ¬µ¿¿  óδñѽѡ¿∩ ¿ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿
  18214.         ñ½∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ ¼«ª¡« «»πßΓ¿Γ∞.
  18215.  
  18216.              Åα¿ αáí«ΓÑ ó αÑá½∞¡«¼  αѪ¿¼Ñ,  τΓ«íδ  αẽ¿τáΓ∞  í½¿ª¡¿⌐  ¿
  18217.         ñá½∞¡¿⌐ ¬áñα ßΓѬá, Windows ΓαÑíπÑΓ, τΓ«íδ óßÑ ¬áñαδ ßΓѬá (ó¬½ε-
  18218.         τá∩ ¬áñαδ ßΓѬá φ¬ß»«αΓ¿απѼδσ »«ñ»α«úαá¼¼) ß«σαá¡∩½¿ ó ß½«óÑ  »«
  18219.         áñαÑßπ [BP+0] ¡ÑτÑΓ¡«Ñ º¡áτÑ¡¿Ñ BP.  èα«¼Ñ Γ«ú«, Windows ΓαÑíπÑΓ,
  18220.         τΓ«íδ ß½«ó« »« áñαÑßπ [BP-2] ß«ñÑαªá½« ßÑ½Ñ¬Γ«α  ßÑú¼Ñ¡Γá  ñá¡¡δσ
  18221.         óδºδóáεΘÑ⌐ »α«úαá¼¼δ.  ¥Γ« «íΩ∩ß¡∩ÑΓ ¿ß»«½∞º«óá¡¿Ñ ¿¡ßΓαπ¬µ¿⌐ INC
  18222.         BP, PUSH DS ¿ DEC BP (ßúÑ¡Ñα¿α«óá¡¡δσ ó ß«ßΓ«∩¡¿¿ {$W+}) ¡á óσ«ñÑ
  18223.         ¿ óδσ«ñÑ ñ½∩ »«ñ»α«úαá¼¼ far ¿ export.
  18224.  
  18225.              çá¼ÑΓ¿¼, τΓ«  ¿ß»«½∞º«óá¡¿Ñ  {$W+}  ΓαÑíπεΓ  Γ«½∞¬« αÑá½∞¡δ⌐
  18226.         αѪ¿¼ Windows.  àß½¿ óδ ¡Ñ »«ññÑনóáÑΓÑ αÑá½∞¡δ⌐ αѪ¿¼,  π¬áª¿ΓÑ
  18227.         {$W-}. éδ »«½πτ¿ΓÑ »α«úαá¼¼π ¼Ñ¡∞ΦÑú« αẼÑαá ¿ ¡Ñ¬«Γ«αδ⌐ óδ¿úαδΦ
  18228.         ó ß¬«α«ßΓ¿.
  18229.  
  18230.              Åα¿ αáºαáí«Γ¬Ñ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú«  αѪ¿¼á  Windows  ¼«ªÑΓ
  18231.         «¬áºáΓ∞ß∩ »«½Ñº¡δ¼   ¿ß»«½∞º«óá¡¿Ñ   ß«ßΓ«∩¡¿∩  {$W+}.  ìѬ«Γ«αδÑ
  18232.         ßαÑñßΓóá «Γ½áñ¬¿,  «Γ½¿τ¡δÑ «Γ ßαÑñßΓó Borland, ΓαÑíπεΓ φΓ«ú« ñ½∩
  18233.         ¬«ααÑ¬Γ¡«⌐ αáí«Γδ.
  18234.  
  18235.              Å« π¼«½τá¡¿ε  Borland Pascal áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñα¿απÑΓ φΣΣѬ-
  18236.         Γ¿ó¡δÑ ß¿ßΓѼ¡δÑ ó맮óδ ñ½∩ »α«µÑñπα  ¿  Σπ¡¬µ¿⌐,  φ¬ß»«αΓ¿απѼδσ
  18237.         »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐. Åα¿ ¬«¼»«¡«ó¬Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ó ß«ß-
  18238.         Γ«∩¡¿¿ {$K+} (»« π¼«½τá¡¿ε) «Γ½áñτ¿¬ ¿ΘÑΓ ó ¬áªñ«⌐ φ¬ß»«αΓ¿απѼ«⌐
  18239.         Γ«τ¬Ñ óσ«ñá »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¿¡ßΓαπ¬µ¿⌐ MOV AX,DS ß »«ß½ÑñπεΘÑ⌐
  18240.         ¿¡ßΓαπ¬µ¿Ñ⌐ NOP,  ºá¼Ñ¡∩∩ ¿σ ¡á MOV AX.DS ¡á MOV AX,SS. ¥Γ« ¿º¼Ñ-
  18241.  
  18242.          B.Pascal 7 & Objects/LR     - 399 -
  18243.  
  18244.         ¡Ñ¡¿Ñ  «ß½áí½∩ÑΓ  ΓαÑí«óá¡¿Ñ  ¿ß»«½∞º«óá¡¿∩ »α¿ ß«ºñá¡¿¿ »α«úαá¼¼
  18245.         ß¿ßΓѼ¡«ú«  ó맮óá  »«ñ»α«úαá¼¼  API  Windows  MakeProcInstanc  ¿
  18246.         FreeProcInstance (σ«Γ∩ φΓ« ¡Ñ ó«ºíαá¡∩ÑΓß∩). î«ª¡« ΓᬪѠóδºδóáΓ∞
  18247.         φ¬ß»«αΓ¿απѼδÑ Γ«τ¬¿ óσ«ñá ¿º ßἫ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  18248.  
  18249.              é ß«ßΓ«∩¡¿¿ {$K-} »α¿ ß«ºñá¡¿¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼ«⌐  í¿í-
  18250.         ½¿«ΓѬ¿ ¬«¼»«¡«óΘ¿¬  Borland  Pascal  ¡Ñ ¼«ñ¿Σ¿µ¿απÑΓ ¬«ñ óσ«ñá ¿
  18251.         óδσ«ñá φ¬ß»«αΓ¿α«óá¡¡«⌐ Γ«τ¬¿ óσ«ñá. àß½¿ »«ñ»α«úαá¼¼á ß¿ßΓѼ¡«ú«
  18252.         ó맮óá ó  »α¿½«ªÑ¡¿¿ ñ«½ª¡á óδºδóáΓ∞ß∩ ¿º ñαπú«⌐ »α¿¬½áñ¡«⌐ »α«ú-
  18253.         αá¼¼δ, óδí¿αáΓ∞ ß«ßΓ«∩¡¿Ñ {$K-} ¡Ñ ß½ÑñπÑΓ.
  18254.  
  18255.              Åα¿ ºáúαπº¬Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ ñ¿¡á¼¿τÑ߬¿  ¬«¼»«¡πÑ-
  18256.         ¼«⌐  í¿í½¿«ΓѬ¿  Windows ¿ΘÑΓ ó ¬áªñ«⌐ φ¬ß»«αΓ¿απѼ«⌐ Γ«τ¬Ñ óσ«ñá
  18257.         »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¿¡ßΓαπ¬µ¿⌐ MOV AX,DS ß »«ß½ÑñπεΘÑ⌐ ¿¡ßΓαπ¬µ¿Ñ⌐
  18258.         NOP. ä½∩  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ Windows ¿º¼Ñ¡∩ÑΓ »ÑαóδÑ Γα¿ íá⌐Γá
  18259.         ¡á Γα¿ ¿¡ßΓαπ¬µ¿¿ NOP, τΓ«íδ »«ñú«Γ«ó¿Γ∞ »«ñ»α«úαá¼¼π ñ½∩ ¿ß»«½∞-
  18260.         º«óá¡¿∩  ÑÑ  Σπ¡¬µ¿Ñ⌐  Windows  MakeProcInstance.  ä½∩  í¿í½¿«ΓѬ
  18261.         Windows ¿º¼Ñ¡∩ÑΓ »ÑαóδÑ Γα¿ íá⌐Γá ó ¿¡ßΓαπ¬µ¿¿ MOV  AX,xxxx,  úñÑ
  18262.         xxxx  - ßÑ½Ñ¬Γ«α (áñαÑß ßÑú¼Ñ¡Γá) ßÑú¼Ñ¡Γá ñ¿¡á¼¿τÑ߬¿σ ½«¬á½∞¡δσ
  18263.         ñá¡¡δσ í¿í½¿«ΓѬ¿.
  18264.  
  18265.  
  18266.  
  18267.          B.Pascal 7 & Objects/LR     - 400 -
  18268.  
  18269.                        æ«ú½áΦÑ¡¿∩ »« ß«σαá¡Ñ¡¿ε αÑú¿ßΓα«ó
  18270.         ─────────────────────────────────────────────────────────────────
  18271.  
  18272.              é »α«µÑñπαáσ  ¿ Σπ¡¬µ¿∩σ ß½ÑñπÑΓ ß«σαá¡∩Γ∞ αÑú¿ßΓαδ BP,  SP,
  18273.         SS ¿ DS. ç¡áτÑ¡¿∩ óßÑσ ñαπú¿σ αÑú¿ßΓα«ó ¼«ª¡« ¿º¼Ñ¡∩Γ∞. èα«¼Ñ Γ«-
  18274.         ú«,  φ¬ß»«αΓ¿απѼδÑ  »«ñ»α«úαá¼¼δ  ñ«½ª¡δ ß«σαá¡∩Γ∞ αÑú¿ßΓαδ SI ¿
  18275.         DI.
  18276.  
  18277.                                 Åα«µÑñπαδ óδσ«ñá
  18278.         ─────────────────────────────────────────────────────────────────
  18279.  
  18280.              é »«¼«Θ∞ε »α«µÑñπα óδσ«ñá (¿½¿ »α«µÑñπα ºáóÑαΦÑ¡¿∩) óδ ¼«ªÑ-
  18281.         ΓÑ π»αáó½∩Γ∞ »α«µÑßß«¼ ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ. ¥Γ« »«½Ñº¡« ó
  18282.         Γ«¼  ß½πτáÑ,  ¬«úñá óδ σ«Γ¿ΓÑ »ÑαÑñ »αѬαáΘÑ¡¿Ñ¼ αáí«Γδ »α«úαá¼¼δ
  18283.         «íÑß»Ñτ¿Γ∞ óδ»«½¡Ñ¡¿Ñ «»αÑñѽѡ¡δσ  ñÑ⌐ßΓó¿⌐  (Γ¿»¿τ¡δ¼  »α¿¼Ñα«¼
  18284.         ∩ó½∩ÑΓß∩ «í¡«ó½Ñ¡¿Ñ ¿ ºá¬αδΓ¿Ñ Σá⌐½«ó).
  18285.  
  18286.              ÉÑ὿º«óáΓ∞ »α«µÑñπαπ óδσ«ñá óá¼ »«ºó«½∩ÑΓ »ÑαѼѡ¡á∩-π¬áºá-
  18287.         Γѽ∞ EσitProc.  Åα«µÑñπαá óδσ«ñá óßÑúñá »«½πτáÑΓ ó맮ó »α¿ ºáóÑα-
  18288.         ΦÑ¡¿¿ αáí«Γδ »α«úαá¼¼δ,  ¡Ñºáó¿ß¿¼« «Γ Γ«ú«,  ∩ó½∩ÑΓß∩ ½¿ φΓ« ºá-
  18289.         óÑαΦÑ¡¿Ñ  ¡«α¼á½∞¡δ¼  «¬«¡τ᡿Ѽ  αáí«Γδ  »α«úαá¼¼δ,  ºáóÑαΦÑ¡¿Ñ¼
  18290.         »«ß½Ñ «íαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿¿ ìált, ¿½¿ αáí«Γá »α«úαá¼¼δ »αѬαáΓ¿½áß∞
  18291.         ¿º-ºá «Φ¿í¬¿ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.
  18292.  
  18293.              Åáαá¼ÑΓαδ ñ½∩ »α«µÑñπαδ óδσ«ñá ¡Ñ  ΓαÑíπεΓß∩,  ¿  ñ½∩  Γ«ú«,
  18294.         τΓ«íδ ¿ß»«½∞º«óá½ß∩ ñá½∞¡¿⌐ Γ¿» ó맮óá, «¡á ñ«½ª¡á ¬«¼»¿½¿α«óáΓ∞-
  18295.         ß∩ ß π¬áºá¡¿Ñ¼ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$F+}.
  18296.  
  18297.              è«úñá »α«µÑñπαá óδσ«ñá ñ«½ª¡δ¼ «íαẫ¼  αÑ὿º«óá¡á,  «¡á  ó
  18298.         ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿  ßΓá¡«ó¿Γß∩ τáßΓ∞ε µÑ»«τ¬¿ »α«µÑñπα óδσ«ñá.  ¥Γá
  18299.         µÑ»«τ¬á »«ºó«½∩ÑΓ αÑ὿º«óáΓ∞ »α«µÑñπαδ óδσ«ñᠬᬠ ñ½∩  ¼«ñπ½Ñ⌐,
  18300.         Γᬠ¿ ñ½∩ »α«úαá¼¼. é ¡Ñ¬«Γ«αδσ ¼«ñπ½∩σ »α«µÑñπαá óδσ«ñá αÑ὿ºπ-
  18301.         ÑΓß∩, ¬á¬ τáßΓ∞ ßἫú« ¼«ñπ½∩, á óδ»«½¡Ñ¡¿Ñ ¡Ñ¬«Γ«αδσ ºáóÑαΦáεΘ¿σ
  18302.         ñÑ⌐ßΓó¿⌐  »«ß½Ñ óδσ«ñá ¿º ¼«ñπ½∩,  ¡á»α¿¼Ñα,  ºá¬αδΓ¿Ñ Σá⌐½«ó ¿½¿
  18303.         ó«ßßΓá¡«ó½Ñ¡¿Ñ óÑ¬Γ«α«ó  »αÑαδóá¡¿⌐,  ó«º½áúáÑΓß∩  ¡á  ¬«¡¬αÑΓ¡πε
  18304.         »α«µÑñπαπ.  Åα«µÑñπαδ  ó  µÑ»«τ¬Ñ óδσ«ñá óδ»«½¡∩εΓß∩ ó »«ß½Ññ«óá-
  18305.         Γѽ∞¡«ßΓ¿,  «íαáΓ¡«⌐ »«α∩ñ¬π ¿σ αÑ὿ºáµ¿¿.  ¥Γ¿¼ «íÑß»Ñτ¿óáÑΓß∩,
  18306.         τΓ«  «»ÑαáΓ«αδ óδσ«ñá «ñ¡«ú« í½«¬á ¡Ñ óδ»«½¡∩εΓß∩,  »«¬á ¡Ñ íπñπΓ
  18307.         óδ»«½¡Ñ¡δ «»ÑαáΓ«αδ óδσ«ñᠬᬫú«-½¿í« ºáó¿ß∩ΘÑú« «Γ ¡Ñú« ¼«ñπ½∩.
  18308.  
  18309.              ùΓ«íδ ß«σαá¡¿Γ∞  µÑ»«τ¬π  óδσ«ñá  ó  ¡Ñ»α¿¬«ß¡«óÑ¡¡«ßΓ¿,  óδ
  18310.         ñ«½ª¡δ »ÑαÑñ ¿º¼Ñ¡Ñ¡¿Ñ¼ π¬áºáΓѽ∩ EσitPr«ß ¡á áñαÑß  óáΦÑ⌐  ß«íß-
  18311.         ΓóÑ¡¡«⌐  »α«µÑñπαδ  ß«σαá¡¿Γ∞ ΓѬπΘÑÑ ß«ñÑন¼«Ñ φΓ«ú« π¬áºáΓѽ∩.
  18312.         äá½ÑÑ,  ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩ óáΦá »α«µÑñπαá
  18313.         óδσ«ñá ñ«½ª¡á ó«ßßΓá¡«ó¿Γ∞ ß«σαá¡Ñ¡¡«Ñ º¡áτÑ¡¿Ñ EσitProc.  é ß½Ñ-
  18314.         ñπεΘÑ⌐ »α«úαἼѠ»«¬áºá¡δ «ß¡«óδ ¼ÑΓ«ñá αÑ὿ºáµ¿¿ Γᬫ⌐ »α«µÑñπ-
  18315.         αδ óδσ«ñá.
  18316.  
  18317.              program Testexit;
  18318.              var
  18319.                ExitSave: Pointer;
  18320.  
  18321.              procedure MyExit; far
  18322.  
  18323.          B.Pascal 7 & Objects/LR     - 401 -
  18324.  
  18325.              begin
  18326.                ExitProc := ExitSave;    { óßÑúñá ó«ßßΓá¡áó½¿óáÑΓ ß¡áτá½á
  18327.                                           ßΓáαδ⌐ óÑ¬Γ«α }
  18328.                .
  18329.                .
  18330.                .
  18331.              end;
  18332.  
  18333.              begin
  18334.                ExitProc := ExitSave;
  18335.                ExitProc := @MyExit;
  18336.                .
  18337.                .
  18338.                .
  18339.              end.
  18340.  
  18341.              Åα¿ óσ«ñÑ ó  »α«úαá¼¼π  ß«ñÑন¼«Ñ  EσitProc  ß«σαá¡∩ÑΓß∩  ß
  18342.         EσitSave,  á  ºáΓѼ ß½ÑñπÑΓ »α«µÑñπαá óδσ«ñá îπEσit.  Å«ß½Ñ Γ«ú«,
  18343.         ¬á¬ «¡á íπñÑΓ óδºóá¡á ó ¬áτÑßΓóÑ φ½Ñ¼Ñ¡Γá »α«µÑßßá ºáóÑαΦÑ¡¿∩ αá-
  18344.         í«Γδ »α«úαá¼¼δ, »α«µÑñπαá îπEσit ó«ßßΓá¡«ó¿Γ »αÑñδñπΘπε »α«µÑñπαπ
  18345.         óδσ«ñá.
  18346.  
  18347.              Åα«úαἼᠺáóÑαΦÑ¡¿∩ ó í¿í½¿«ΓѬѠ¿ß»«½¡∩εΘÑ⌐  ß¿ßΓѼδ íπñÑΓ
  18348.         óδºδóáΓ∞ »α«µÑñπαδ óδσ«ñá, »«¬á π¬áºáΓѽ∞ EσitPr«ß ¡Ñ »α¿¼ÑΓ º¡á-
  18349.         τÑ¡¿Ñ nil.  é« ¿ºíѪ᡿¿ ºáµ¿¬½¿óá¡¿∩ EσitPr«ß πßΓá¡áó½¿óáÑΓß∩  ó
  18350.         nil  »ÑαÑñ ¬áªñδ¼ «íαáΘÑ¡¿Ñ¼,  ΓᬠτΓ« ß½ÑñπεΘá∩ »α«µÑñπαá óδσ«ñá
  18351.         óδºδóáÑΓß∩ Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿ ΓѬπΘá∩ »α«µÑñπαá óδσ«ñá πß-
  18352.         Γá¡áó½¿óáÑΓ ñ½∩ EσitPr«ß ÑÑ áñαÑß.  àß½¿ »α¿ óδ»«½¡Ñ¡¿¿ »α«µÑñπαδ
  18353.         óδσ«ñá ó«º¡¿¬áÑΓ «Φ¿í¬á, Γ« ó ¡Ñ⌐ ¡Ñ πß»ÑÑΓ ÑΘÑ óδ»«½¡¿Γ∞ß∩ »α¿ß-
  18354.         óá¿óá¡¿Ñ  ¡«ó«ú« áñαÑßá π¬áºáΓѽε EσitPr«ß,  Γᬠ¬á¬ φΓ« ñѽáÑΓß∩
  18355.         ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ ΓѼ,  ¬á¬ »α«µÑñπαá óδσ«ñá óδ»«½¡¿Γ ó«ºóαáΓ
  18356.         π»αáó½Ñ¡¿∩.
  18357.  
  18358.              Åα«µÑñπαá óδσ«ñá ¼«ªÑΓ αáß»«º¡áóáΓ∞ »α¿τ¿¡π ºáóÑαΦÑ¡¿∩ αáí«-
  18359.         Γδ »α«úαá¼¼δ »πΓѼ »α«óÑન µÑ½«τ¿ß½Ñ¡¡«⌐ »ÑαѼѡ¡«⌐  EσitCode  ¿
  18360.         »ÑαѼѡ¡«⌐-π¬áºáΓѽ∩ ErrorAddr. é ß½πτáÑ ¡«α¼á½∞¡«ú« ºáóÑαΦÑ¡¿∩ ó
  18361.         EσitCode ß«ñÑনΓß∩ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ¿ ErrorAddr  ¿¼ÑÑΓ  º¡áτÑ¡¿Ñ
  18362.         nil. é   ß½πτáÑ  ºáóÑαΦÑ¡¿∩  τÑαѺ  «íαáΘÑ¡¿Ñ  ¬  »α«µÑñπαÑ  ìált
  18363.         EσitCode ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ,  »ÑαÑñá¡¡«Ñ Σπ¡¬µ¿¿ ìált, á ErrorAddr
  18364.         ¿¼ÑÑΓ º¡áτÑ¡¿Ñ nil. ìᬫ¡Ñµ, ó ß½πτáÑ »αѬαáΘÑ¡¿∩ αáí«Γδ »α«úαá¼-
  18365.         ¼δ ¿º-ºá «Φ¿í¬¿ ó« óαѼ∩  ÑÑ  óδ»«½¡Ñ¡¿∩  EσitCode  ß«ñÑαª¿Γ  ¬«ñ
  18366.         «Φ¿í¬¿, á ErrorAddr ß«ñÑαª¿Γ áñαÑß «Φ¿í«τ¡«ú« «»ÑαáΓ«αá.
  18367.  
  18368.          B.Pascal 7 & Objects/LR     - 402 -
  18369.  
  18370.  
  18371.                    Åα¿¼Ñτá¡¿Ñ: Ä »α«µÑñπαáσ óδσ«ñá ñ½∩ DLL αáß߬áºδóáÑΓß∩
  18372.               ó â½áóÑ 11.
  18373.  
  18374.              Å«ß½Ññ¡∩∩ »α«µÑñπαá óδσ«ñá (¬«Γ«αá∩ ß«ñÑনΓß∩  ó í¿í½¿«ΓѬÑ
  18375.         ¿ß»«½¡∩εΘÑ⌐  ß¿ßΓѼδ) ºá¬αδóáÑΓ Σá⌐½δ Input ¿ Output ¿ ó«ßßΓá¡áó-
  18376.         ½¿óáÑΓ óÑ¬Γ«αδ »αÑαδóá¡¿⌐,  ¬«Γ«αδÑ í뫨 »ÑαÑσóáτÑ¡δ Æπαí« Åá߬á-
  18377.         ½Ñ¼.  Åα¿ φΓ«¼, Ñß½¿ π¬áºáΓѽ∞ ErrorAddr ¿¼ÑÑΓ º¡áτÑ¡¿Ñ, «Γ½¿τ¡«Ñ
  18378.         «Γ nil,  Γ« »α«µÑñπαá óδσ«ñá óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ó« óαѼ∩
  18379.         óδ»«½¡Ñ¡¿∩  »α«úαá¼¼δ.  àß½¿  óδ σ«Γ¿ΓÑ óδó«ñ¿Γ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ
  18380.         ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩,  ¿ß»«½∞ºπ⌐ΓÑ  »α«µÑñπαπ
  18381.         óδσ«ñá, ¬«Γ«αá∩ »α«óÑα∩ÑΓ ErrorAddr ¿ óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í  «Φ¿í-
  18382.         ¬Ñ,  Ñß½¿  Ñú«  º¡áτÑ¡¿Ñ «Γ½¿τ¡« «Γ nil.  é ñ«íá󫬠¬ φΓ«¼π »ÑαÑñ
  18383.         ó«ºóαáΓ«¼  π»αáó½Ñ¡¿∩  ¡Ñ«íσ«ñ¿¼«  «íÑß»Ñτ¿Γ∞,  τΓ«íδ   π¬áºáΓѽ∞
  18384.         ErrorAddr íδ½ πßΓá¡«ó½Ñ¡ ó º¡áτÑ¡¿Ñ nil, τΓ«íδ ß««íΘÑ¡¿Ñ «í «Φ¿í-
  18385.         ¬Ñ ¡Ñ óδñáóὫß∞ ß¡«óá ñαπú«⌐ »α«µÑñπα«⌐ óδσ«ñá.
  18386.  
  18387.              Å«ß½Ñ Γ«ú«,  ¬á¬ í¿í½¿«ΓѬᠿ߻«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ «íαáΘáÑΓß∩ ó
  18388.         »α«µÑñπαá¼ óδσ«ñá, «¡á ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ DOS ¿ »ÑαÑñáÑΓ ó ¬á-
  18389.         τÑßΓóÑ ¬«ñá ó«ºóαáΓá º¡áτÑ¡¿Ñ, ß«ñÑαªáΘÑÑß∩ ó àσitCode.
  18390.  
  18391.  
  18392.  
  18393.          B.Pascal 7 & Objects/LR     - 403 -
  18394.  
  18395.                               Äíαáí«Γ¬á »αÑαδóá¡¿⌐
  18396.         ─────────────────────────────────────────────────────────────────
  18397.  
  18398.              ü¿í½¿«ΓѬᠿ߻«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland Pascal ¿ ¬«ñ,  ß«ºñá-
  18399.         óáѼδ⌐ ¬«¼»¿½∩Γ«α«¼, ∩ó½∩εΓß∩ »«½¡«ßΓ∞ε »αÑαδóáÑ¼δ¼¿. ü«½∞Φ¿¡ßΓó«
  18400.         ¿º »α«úαá¼¼ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ∩ó½∩εΓß∩ ΓᬪѠαÑÑ¡ΓÑ-
  18401.         αáíѽ∞¡δ¼¿,  τΓ« »«ºó«½∩ÑΓ óá¼ »¿ßáΓ∞ ¡á Borland Pascal »α«úαá¼¼δ
  18402.         «íαáí«Γ¬¿ »αÑαδóá¡¿⌐.
  18403.  
  18404.              ä½∩ Windows »«ñ»α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ »¿ßáΓ∞ ¡Ñ ß½Ñ-
  18405.         ñπÑΓ. àß½¿ óδ φΓ« ßñѽáÑΓÑ, »«ß½ÑñßΓó¿Ñ¼ ¼«ªÑΓ íδΓ∞ ßí«⌐ ß¿ßΓѼδ.
  18406.  
  18407.                     Éáºαáí«Γ¬á »α«µÑñπα «íαáí«Γ¬¿ »αÑαδóá¡¿⌐
  18408.         ─────────────────────────────────────────────────────────────────
  18409.  
  18410.              Åα«µÑñπαδ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ «»¿ßδóáεΓß∩ ß »«¼«Θ∞ε  ñ¿αѬ-
  18411.         Γ¿óδ  Interrupt.  é  ¬áªñ«⌐ »α«µÑñπαÑ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ñ«½ªÑ¡
  18412.         «»αÑñѽ∩Γ∞ß∩ ß½ÑñπεΘ¿⌐ ºáú«½«ó«¬ »α«µÑñπαδ (¿½¿,  ¬á¬ íπñÑΓ »«∩ß-
  18413.         ¡∩Γ∞ß∩ ñá½ÑÑ, Ñú« »«ñ¼¡«ªÑßΓó«):
  18414.  
  18415.              procedure IntHandler(Flags,CS,IPAX,BX,CX,DX,SI,DI,DS,ES,BP:
  18416.                                Word);
  18417.              interrupt;
  18418.              begin
  18419.                .
  18420.                .
  18421.                .
  18422.              end;
  18423.  
  18424.              èᬠ¼«ª¡« ó¿ñÑΓ∞, óßÑ αÑú¿ßΓαδ »ÑαÑñáεΓß∩ ó ¬áτÑßΓóÑ »ßÑóñ«-
  18425.         »áαá¼ÑΓα«ó,  ΓᬠτΓ« óδ ¼«ªÑΓÑ ¿σ ¿ß»«½∞º«óáΓ∞ ¿ ¿º¼Ñ¡∩Γ∞ ó ßó«Ñ⌐
  18426.         »α«úαá¼¼Ñ. éδ ¼«ªÑΓÑ «»πßΓ¿Γ∞ ¡Ñ¬«Γ«αδÑ ¿º »áαá¼ÑΓα«ó ¿½¿ óßÑ »á-
  18427.         αá¼ÑΓαδ,  ¡áτ¿¡á∩  ß »áαá¼ÑΓαá Flag ¿ ¬«¡τá∩ éÉ.  Å«»δΓ¬á «»¿ßáΓ∞
  18428.         í«½∞ΦÑÑ ¬«½¿τÑßΓó« »áαá¼ÑΓα«ó ¿½¿ »«»δΓ¬á «»πßΓ¿Γ∞ «Γñѽ∞¡δ⌐  »á-
  18429.         αá¼ÑΓα íѺ »α«»π߬á Γá¬ªÑ Γ«ú« »áαá¼ÑΓαá,  ºá ¬«Γ«αδ¼ «¡ ß½ÑñπÑΓ,
  18430.         ∩ó½∩ÑΓß∩ «Φ¿í¬«⌐, σ«Γ∩ ß««íΘÑ¡¿∩ « ¡Ñ⌐ ¡Ñ óδñáÑΓß∩. ìá»α¿¼Ñα:
  18431.  
  18432.              procedure IntHandler(DI,ES,BP : Word);  { ¡Ññ«»πßΓ¿¼δ⌐
  18433.                                                        ºáú«½«ó«¬ }
  18434.              procedure IntHandler(SI,DI,DS,ES,BP : Word);  { ñ«»πßΓ¿¼δ⌐
  18435.                                                        ºáú«½«ó«¬ }
  18436.  
  18437.              Åα¿ óσ«ñÑ ó ¡ÑÑ »α«µÑñπαá «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ áóΓ«¼áΓ¿τÑ߬¿
  18438.         ß«σαá¡∩ÑΓ óßÑ αÑú¿ßΓαδ (¡Ñºáó¿ß¿¼« «Γ ºáú«½«ó¬á »α«µÑñπαδ) ¿ ¿¡¿-
  18439.         µ¿á½¿º¿απÑΓ αÑú¿ßΓα DS:
  18440.  
  18441.              PUSH AX
  18442.              PUSH BX
  18443.              PUSH DX
  18444.              PUSH SI
  18445.              PUSH DI
  18446.              PUSH DS
  18447.              PUSH ES
  18448.  
  18449.          B.Pascal 7 & Objects/LR     - 404 -
  18450.  
  18451.              PUSH BP
  18452.              MOV  BP,SP
  18453.              SUB  SP,LocalSize
  18454.              MOV  AX,SEG DATA
  18455.              MOV  DS,AX
  18456.  
  18457.              ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á «ΓßπΓßΓó¿Ñ »α«µÑñπαδ æLI,  τΓ«íδ αáºαÑ-
  18458.         Φ¿Γ∞ ñá½∞¡Ñ⌐Φ¿Ñ »αÑαδóá¡¿∩.  æ »«¼«Θ∞ε «»ÑαáΓ«αá inline óδ ¼«ªÑΓÑ
  18459.         ¡á»¿ßáΓ∞ ÑÑ ßἿ (Ñß½¿ φΓ« ¡Ñ«íσ«ñ¿¼«).  ìáí«α «»ÑαáΓ«α«ó  óδσ«ñá
  18460.         ó«ßßΓá¡áó½¿óáÑΓ αÑú¿ßΓαδ ¿ óδ»«½¡∩ÑΓ Σπ¡¬µ¿ε ó«ºóαáΓá »αÑαδóá¡¿∩:
  18461.  
  18462.              MOV SP,BP
  18463.              POP BP
  18464.              POP ES
  18465.              POP DS
  18466.              POP DI
  18467.              POP SI
  18468.              POP DX
  18469.              POP CX
  18470.              POP BX
  18471.              POP AX
  18472.              IRET
  18473.  
  18474.              Åα«µÑñπαá «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ¼«ªÑΓ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ßó«¿ »á-
  18475.         αá¼ÑΓαδ.  è«úñá «íαáí«Γτ¿¬ »αÑαδóá¡¿⌐ ó«ºóαáΓ¿Γ π»αáó½Ñ¡¿Ñ, ¿º¼Ñ-
  18476.         ¡Ñ¡¿Ñ «»¿ßá¡¡δσ »áαá¼ÑΓα«ó »α¿óÑñÑΓ ¬ ¿º¼Ñ¡Ñ¡¿ε ß«ñÑন¼«ú« ß««Γ-
  18477.         óÑΓßΓóπεΘ¿σ αÑú¿ßΓα«ó.  ¥Γ« ¼«ªÑΓ «¬áºáΓ∞ß∩  »«½Ñº¡δ¼,  ¬«úñá  óδ
  18478.         ¿ß»«½∞ºπÑΓÑ  «íαáí«Γτ¿¬  »αÑαδóá¡¿⌐  ó ¬áτÑßΓóÑ »«½∞º«óáΓѽ∞߬«ú«
  18479.         ßÑαó¿ß¡«ú« ßαÑñßΓóá,  á¡á½«ú¿τ¡«ú« ó맮óπ Σπ¡¬µ¿¿ DOS »« ¿¡ßΓαπ¬-
  18480.         µ¿¿ INÆ 21ì.
  18481.  
  18482.              é »α«µÑñπαáσ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, «íß½πª¿óáεΘ¿σ »αÑαδóá¡¿∩,
  18483.         »«½πτáѼδÑ «Γ á»»áαáΓ¡δσ ßσѼ,  ß½ÑñπÑΓ ó«ºñÑনóáΓ∞ß∩ «Γ ¿ß»«½∞-
  18484.         º«óá¡¿∩ ¬á¬¿σ-½¿í«  »α«úαá¼¼ óó«ñá-óδó«ñá Æπαí« Åá߬á½∩ ¿½¿ »α«ú-
  18485.         αá¼¼ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿,  »«ß¬«½∞¬π «¡¿ ¡Ñ  ∩ó½∩εΓß∩  αÑÑ¡ΓÑαá-
  18486.         íѽ∞¡δ¼¿.  êº-ºá ¿σ ¡ÑαÑÑ¡ΓÑαáíѽ∞¡«ßΓ¿ ¡Ñ½∞º∩ ΓᬪѠ¿ß»«½∞º«óáΓ∞
  18487.         ¡¿¬á¬¿Ñ Σπ¡¬µ¿¿ DOS.
  18488.  
  18489.  
  18490.  
  18491.          B.Pascal 7 & Objects/LR     - 405 -
  18492.  
  18493. ───────────────────────────────────────────────────────────────────────
  18494.                       â½áóá 23. ÇóΓ«¼áΓ¿τÑ߬á∩ «»Γ¿¼¿ºáµ¿∩
  18495.         ─────────────────────────────────────────────────────────────────
  18496.  
  18497.              é Borland Pascal óδ»«½¡∩ÑΓß∩ ¡Ñ߬«½∞¬« αẽ¿τ¡δσ Γ¿»«ó «»Γ¿-
  18498.         ¼¿ºáµ¿¿  ¬«ñá,  ¡áτ¿¡á∩  «Γ ßóÑαΓδóá¡¿∩ ¬«¡ßΓá¡Γ ¿ óδτ¿ß½Ñ¡¿∩ íπ-
  18499.         ½Ñó߬¿σ óδαáªÑ¡¿⌐ »« ¬«α«Γ¬«⌐ ßσѼѠ¿ ¬«¡τá∩  φΣΣÑ¬Γ¿ó¡«⌐  ¬«¼»«-
  18500.         ¡«ó¬«⌐. Éáßß¼«Γα¿¼ ¡Ñ¬«Γ«αδÑ ó¿ñδ «»Γ¿¼¿ºáµ¿¿.
  18501.  
  18502.                               æóÑαΓδóá¡¿Ñ ¬«¡ßΓá¡Γ
  18503.         ─────────────────────────────────────────────────────────────────
  18504.  
  18505.              àß½¿ πτáßΓóπεΘ¿Ñ  ó  «»Ñαᵿ¿  «»Ñαá¡ñδ  »αÑñßΓáó½∩εΓ  ß«í«⌐
  18506.         ¬«¡ßΓá¡Γδ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á, Γ« ó Borland ΓᬫѠóδαáªÑ¡¿Ñ óδτ¿ß-
  18507.         ½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿. ìá»α¿¼Ñα, óδαáªÑ¡¿Ñ:
  18508.  
  18509.              ò := 3 + 4 * 2
  18510.  
  18511.         »α¿óÑñÑΓ ¬ úÑ¡Ñαᵿ¿ Γᬫú« ªÑ ¬«ñá, ¬á¬ óδαáªÑ¡¿Ñ ò := 11, á óδ-
  18512.         αáªÑ¡¿Ñ:
  18513.  
  18514.              S := 'In' + 'Out'
  18515.  
  18516.         úÑ¡Ñα¿απÑàëàªÑ ¬«ñ, τΓ« S := 'InOut'.
  18517.  
  18518.              Ç¡á½«ú¿τ¡«, Ñß½¿ «»Ñαá¡ñδ Σπ¡¬µ¿⌐ Abs, Sqr, Succ, Pred, Odd,
  18519.         Lo, Hi ¿ Swap »αÑñßΓáó½∩εΓ ß«í«⌐ ¬«¡ßΓá¡Γδ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á, Γ«
  18520.         Σπ¡¬µ¿∩ óδτ¿ß½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.
  18521.  
  18522.              àß½¿ ¿¡ñѬ߫¼ ¼áßß¿óá ∩ó½∩ÑΓß∩ ¬«¡ßΓá¡Γá ¿½¿ óδαáªÑ¡¿Ñ, ß«ß-
  18523.         Γ«∩ΘÑÑ ¿º ¬«¡ßΓá¡Γ, Γ« áñαÑß φ½Ñ¼Ñ¡Γá óδτ¿ß½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿-
  18524.         ½∩µ¿¿.  ìá»α¿¼Ñα,  ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γπ Dátá[5,5] ΓᬠªÑ φΣΣÑ¬Γ¿óÑ¡,
  18525.         ¬á¬ ñ«ßΓπ» ¬ »α«ßΓ«⌐ »ÑαѼѡ¡«⌐.
  18526.  
  18527.                                 æ½¿∩¡¿Ñ ¬«¡ßΓá¡Γ
  18528.         ─────────────────────────────────────────────────────────────────
  18529.  
  18530.              êß»«½∞º«óá¡¿Ñ «ñ¡«⌐ ¿ Γ«⌐ ªÑ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ ñóá ¿½¿ í«-
  18531.         ½ÑÑ αẠ»α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿ Γ«½∞¬« «ñ¡«⌐ ¬«»¿¿ ¬«¡ßΓá¡Γδ. ìá»α¿-
  18532.         ¼Ñα, ñóá ¿½¿ í«½ÑÑ «»ÑαáΓ«αá Write('D«nÑ') ó «ñ¡«⌐ ¿ Γ«⌐ ªÑ τáßΓ¿
  18533.         »α«úαá¼¼δ »α¿óÑñÑΓ ¬ ßßδ½¬Ñ ¡á «ñ¡π ¿ Γπ ªÑ ¬«»¿ε ßΓ᫬«ó«⌐ ¬«¡ß-
  18534.         Γá¡Γδ 'DonÑ'.
  18535.  
  18536.                           éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼÑ
  18537.         ─────────────────────────────────────────────────────────────────
  18538.  
  18539.              é Borland Pascal αÑ὿ºπÑΓß∩ óδτ¿ß½Ñ¡¿Ñ íπ½Ñó߬«ú« óδαáªÑ¡¿∩
  18540.         »« ¬«α«Γ¬«⌐ ßσѼÑ.  ¥Γ« «º¡áτáÑΓ, τΓ« óδτ¿ß½Ñ¡¿Ñ íπ½Ñó߬«ú« óδαá-
  18541.         ªÑ¡¿∩ »αѬαáΘáÑΓß∩, ¬á¬ Γ«½∞¬« αѺπ½∞ΓáΓ óßÑú« íπ½Ñó߬«ú« óδαáªÑ-
  18542.         ¡¿∩  ßΓá¡«ó¿Γß∩  «τÑó¿ñ¡δ¼.  Åα¿  φΓ«¼ «íÑß»Ñτ¿óáÑΓß∩ ¼¿¡¿¼á½∞¡«Ñ
  18543.         óαѼ∩ óδ»«½¡Ñ¡¿∩ ¿,  «íδτ¡«,  ¼¿¡¿¼á½∞¡δ⌐ αẼÑα «íΩÑ¬Γ¡«ú« ¬«ñá.
  18544.         éδτ¿ß½Ñ¡¿Ñ  »«  ¬«α«Γ¬«⌐  ßσѼѠñѽáÑΓ ΓᬪѠ󫺼«ª¡δ¼ óδτ¿ß½Ñ¡¿Ñ
  18545.         ¬«¡ßΓαπ¬µ¿⌐, ¬«Γ«αδÑ ¿¡áτÑ í뫨 íδ ¡Ññ«»πßΓ¿¼δ¼¿. ìá»α¿¼Ñα:
  18546.  
  18547.  
  18548.          B.Pascal 7 & Objects/LR     - 406 -
  18549.  
  18550.              while (I<=Length(S)) and (S[I]<>' ') do
  18551.                Inc(I);
  18552.              while (P<>nil) and (P^.Value<>5) do
  18553.                P:=P^.Next;
  18554.  
  18555.              é «í«¿σ ß½πτá∩σ,  Ñß½¿ »Ñαóá∩ »α«óÑα¬á ¿¼ÑÑΓ º¡áτÑ¡¿Ñ FalsÑ,
  18556.         óΓ«αá∩ »α«óÑα¬á ¡Ñ óδτ¿ß½∩ÑΓß∩.
  18557.  
  18558.              Åα«Γ¿ó«»«½«ª¡δ¼ óδτ¿ß½Ñ¡¿ε »« ¬«α«Γ¬«⌐ ßσѼѠ∩ó½∩ÑΓß∩ »«½¡«Ñ
  18559.         óδτ¿ß½Ñ¡¿Ñ, ¬«Γ«α«Ñ ¼«ª¡« óδíαáΓ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá
  18560.         {$é+}.  é φΓ«¼ ß½πτáÑ «íÑß»Ñτ¿óáÑΓß∩ óδτ¿ß½Ñ¡¿Ñ ¬áªñ«ú«  «»Ñαá¡ñá
  18561.         íπ½Ñó߬«ú« óδαáªÑ¡¿∩.
  18562.  
  18563.                                Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ
  18564.         ─────────────────────────────────────────────────────────────────
  18565.  
  18566.              Æá¼, úñÑ φΓ« ó«º¼«ª¡«,  ó¼ÑßΓ«  »áαá¼ÑΓα«ó-º¡áτÑ¡¿⌐  ß½ÑñπÑΓ
  18567.         ¿ß»«½∞º«óáΓ∞  »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ.  Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ ¡áßΓ«½∞¬«
  18568.         ªÑ φΣΣÑ¬Γ¿ó¡δ,  τΓ« ¿ »áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ,  á ó« ¼¡«ú¿σ  ß½πτá∩σ
  18569.         »αÑó«ßσ«ñ¿Γ ¿σ »« φΣΣÑ¬Γ¿ó¡«ßΓ¿. é τáßΓ¡«ßΓ¿, »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ
  18570.         úÑ¡Ñα¿απεΓ »«½πτÑ¡¿Ñ ¬«ñᠼѡ∞ΦÑú« αẼÑαá ¿ »α«úαá¼¼δ ß ¡¿¼¿ óδ-
  18571.         »«½¡∩εΓß∩ íδßΓαÑÑ,  τѼ »α«úαá¼¼δ ß »áαá¼ÑΓαἿ-º¡áτÑ¡¿∩¼¿ ßΓαπ¬-
  18572.         Γπα¡«ú« ¿ ßΓ᫬«ó«ú« Γ¿»«ó.
  18573.  
  18574.              Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ,  τѼ  »áαá¼ÑΓαδ-º¡áτÑ-
  18575.         ¡¿∩,  »«ß¬«½∞¬π ¬«¼»¿½∩Γ«απ ¡Ñ »α¿σ«ñ¿Γß∩ úÑ¡Ñα¿α«óáΓ∞ ¬«»¿¿ Σá¬-
  18576.         Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó ¡á óσ«ñÑ ó »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.  ç¡áτÑ¡¿∩ »á-
  18577.         αá¼ÑΓα«ó ñ«½ª¡δ íδΓ∞ ß¬«»¿α«óá¡δ ó ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ,  ΓᬠτΓ«
  18578.         ¼«ñ¿Σ¿¬áµ¿¿ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¡Ñ »α¿óÑñπΓ ¬ ¼«ñ¿Σ¿¬áµ¿¿  Σá¬-
  18579.         Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó. Å«ß¬«½∞¬π Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ ¼«-
  18580.         ñ¿Σ¿µ¿α«óáΓ∞ß∩ ¡Ñ ¼«úπΓ, ¬«¼»¿½∩Γ«απ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ¬«»¿α«óáΓ∞
  18581.         Σá¬Γ¿τÑ߬¿Ñ »áαá¼ÑΓαδ, τΓ« φ¬«¡«¼¿Γ ¬«ñ ¿ »α«ßΓαá¡ßΓó« ó ßΓѬÑ.
  18582.  
  18583.                     ôßΓαá¡Ñ¡¿Ñ ¿ºíδΓ«τ¡«⌐ ºáúαπº¬¿ π¬áºáΓѽÑ⌐
  18584.         ─────────────────────────────────────────────────────────────────
  18585.  
  18586.              é «»αÑñѽѡ¡δσ ß¿Γπᵿ∩σ úÑ¡ÑαáΓ«α ¬«ñá Borland Pascal ¼«ªÑΓ
  18587.         πßΓαá¡¿Γ∞ ¿ºíδΓ«τ¡δÑ ¿¡ßΓαπ¬µ¿¿ ºáúαπº¬¿ π¬áºáΓѽÑ⌐, π¼Ñ¡∞Φá∩ ΓѼ
  18588.         ßá¼δ¼ αẼÑα ¬«ñá ¿ «íÑß»Ñτ¿óá∩  í«½ÑÑ  íδßΓα«Ñ  Ñú«  óδ»«½¡Ñ¡¿Ñ.
  18589.         è«úñá úÑ¡ÑαáΓ«α  ¬«ñá  ¼«ªÑΓ  «íÑß»Ñτ¿Γ∞,  τΓ« π¬áºáΓѽ∞ «ßΓáÑΓß∩
  18590.         »«ßΓ«∩¡¡δ¼ ¡á πτáßΓ¬Ñ ½¿¡Ñ⌐¡«ú« ¬«ñá (¬«ñá,  ¡Ñ ß«ñÑαªáΘÑú« »ÑαÑ-
  18591.         σ«ñ«ó ¡á  ¡Ñú«),  ¿ ¬«úñá π¬áºáΓѽ∞ πªÑ ºáúαπªÑ¡ ó »áαπ αÑú¿ßΓα«ó
  18592.         (¡á»α¿¼Ñα, ES:DI),  úÑ¡ÑαáΓ«α ¬«ñá  πßΓαá¡∩ÑΓ  ¡Ñ¡πª¡δÑ  ºáúαπº¬¿
  18593.         π¬áºáΓѽÑ⌐ ó í½«¬Ñ ¬«ñá.
  18594.  
  18595.              ô¬áºáΓѽ∞ ßτ¿ΓáÑΓß∩ ¬«¡ßΓá¡Γ«⌐,  Ñß½¿ «¡ »«½πτáÑΓß∩ ¿º »áαá-
  18596.         ¼ÑΓαá-»ÑαѼѡ¡«⌐ (»áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ óßÑúñá »ÑαÑñáεΓß∩ ¬á¬ π¬á-
  18597.         ºáΓѽ¿) ¿½¿ ¿º ßß佬¿ ¡á »ÑαѼѡ¡πε «»ÑαáΓ«α with. Å«φΓ«¼π «»Ñαá-
  18598.         Γ«α with τáßΓ« ∩ó½∩ÑΓß∩ í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ¼ (¡«  ¡¿¬«úñá  ¡Ñ  íπñÑΓ
  18599.         ¼Ñ¡ÑÑ φΣΣÑ¬Γ¿ó¡δ¼),  τѼ ºá»¿ß∞ ñ½∩ ¬áªñ«⌐ ßß佬¿ ¡á φ½Ñ¼Ñ¡Γ »«½-
  18600.         ¡«ßΓ∞ε πΓ«τ¡Ñ¡¡«⌐ »ÑαѼѡ¡«⌐.
  18601.  
  18602.  
  18603.          B.Pascal 7 & Objects/LR     - 407 -
  18604.  
  18605.                     Å«ñßΓá¡«ó¬á ¬«¡ßΓá¡Γ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
  18606.         ─────────────────────────────────────────────────────────────────
  18607.              è«úñá »αáóá∩  τáßΓ∞ «»ÑαáΓ«α in ∩ó½∩ÑΓß∩ ¬«¡ßΓá¡Γ«⌐ ¼¡«ªÑßΓ-
  18608.         óÑ¡¡«ú« Γ¿»á,  ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ó¬½ετÑ¡¿Ñ »α«óÑન ß »«¼«Θ∞ε
  18609.         ¬«¼á¡ñ CMP. Æá¬¿Ñ »«ßΓáó½∩ѼδÑ »α«óÑન í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ τѼ ¬«ñ,
  18610.         úÑ¡Ñα¿απѼδ⌐ ó »α«Γ¿ó¡«¼ ß½πτáÑ ß««ΓóÑΓßΓóπεΘ¿¼¿ íπ½Ñó߬¿¼¿ óδαá-
  18611.         ªÑ¡¿∩¼¿ ß ¿ß»«½∞º«ó᡿Ѽ «»Ñαᵿ⌐ «Γ¡«ΦÑ¡¿∩. ìá»α¿¼Ñα, «»ÑαáΓ«α:
  18612.  
  18613.              if ((Ch >= 'A') and (Ch <: 'Z')) or
  18614.                   ((Ch >= 'a') and (Ch <= 'z')) then ...;
  18615.  
  18616.         ¼Ñ¡ÑÑ τ¿ΓáѼ ¿ ¼Ñ¡ÑÑ φΣΣÑ¬Γ¿óÑ¡ τѼ
  18617.  
  18618.              if Ch in ['A'..'Z', 'a'..'z'] then ...;
  18619.  
  18620.              Å«ß¬«½∞¬π ßóÑαΓδóá¡¿Ñ ¬«¡ßΓá¡Γ »α¿¼Ñ¡∩ÑΓß∩ ¬ ¬«¡ßΓá¡Γá¼ ¼¡«-
  18621.         ªÑßΓóÑ¡¡«ú« Γ¿»á  ΓᬪѠ¬á¬ ¬ ¬«¡ßΓá¡Γá¼ ñαπú¿σ Γ¿»«ó,  ¼«ª¡« ¿ß-
  18622.         »«½∞º«óáΓ∞ «»¿ßá¡¿∩ const íѺ »«ΓÑα¿ φΣΣÑ¬Γ¿ó¡«ßΓ¿.
  18623.  
  18624.              const
  18625.                 Upper = ['A'..'Z'];
  18626.                 Lower = ['a'..'z'];
  18627.                 Alpha = Upper + Lower;
  18628.  
  18629.              æ πτÑΓ«¼  ñá¡¡δσ «»¿ßá¡¿⌐ «»ÑαáΓ«α if úÑ¡Ñα¿απÑàëàªÑ ¬«ñ,
  18630.         τΓ« ¿ ó ß½πτáÑ »αÑñδñπΘÑú« «»ÑαáΓ«α if:
  18631.  
  18632.              if Ch in Alpha then ... ;
  18633.  
  18634.                                  îá½δÑ ¼¡«ªÑßΓóá
  18635.         ─────────────────────────────────────────────────────────────────
  18636.              ä½∩ «»Ñαᵿ⌐  ß  ¼á½δ¼¿  ¼¡«ªÑßΓóἿ  ¬«¼»¿½∩Γ«α  úÑ¡Ñα¿απÑΓ
  18637.         «τÑ¡∞ φΣΣÑ¬Γ¿ó¡δ⌐ ¬«ñ.  îὫѠ¼¡«ªÑßΓó« - φΓ« ¼¡«ªÑßΓó« ß  ¡¿ª¡¿¼
  18638.         »«α∩ñ¬«óδ¼ º¡áτÑ¡¿Ñ¼ ó ñ¿á»áº«¡Ñ 0..7 ¿ óÑασ¡¿¼ »«α∩ñ¬«óδ¼ º¡áτÑ-
  18639.         ¡¿Ñ¼ ó ñ¿á»áº«¡Ñ 0..15.  ìá»α¿¼Ñα, ß½ÑñπεΘ¿Ñ ¼¡«ªÑßΓóá TByteSet ¿
  18640.         TWordSet ∩ó½∩εΓß∩ ¼á½δ¼¿ ¼¡«ªÑßΓóἿ:
  18641.  
  18642.              type
  18643.                 TByteSet = set of 0..7;
  18644.                 TWordSet = set of 0..15;
  18645.  
  18646.              Ä»Ñαᵿ¿ ß  ¼á½δ¼¿  ¼¡«ªÑßΓóἿ,  ΓᬿѠ¬á¬ «íΩÑñ¿¡Ñ¡¿Ñ (+),
  18647.         αạ«ßΓ∞ (-),  »ÑαÑßÑτÑ¡¿Ñ (*) ¿ »α«óÑα¬á ¡á ó¬½ετÑ¡¿Ñ in úÑ¡Ñα¿-
  18648.         απεΓ ß »«¼«Θ∞ε «»Ñαᵿ⌐ AND, OR, NOT ¿ TEST ó¼ÑßΓ« ó맮óá í¿í½¿«-
  18649.         ΓѬ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ ¿¡ßΓαπ¬µ¿¿  ¼áΦ¿¡¡«ú«  ¬«ñá.  Ç¡á½«ú¿τ¡«,
  18650.         ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Include ¿ Exclude úÑ¡Ñα¿απεΓ »α¿ »α¿¼Ñ¡Ñ¡¿¿
  18651.         ¬ ¼á½δ¼ ¼¡«ªÑßΓóá¼ »«ßΓáó½∩Ѽδ⌐ ¬«ñ.
  18652.  
  18653.                                Å«α∩ñ«¬ óδτ¿ß½Ñ¡¿∩
  18654.         ─────────────────────────────────────────────────────────────────
  18655.              æΓá¡ñáαΓἿ Åá߬á½∩ ñ«»π߬áÑΓß∩,  τΓ« «»Ñαá¡ñδ  ó  óδαáªÑ¡¿¿
  18656.  
  18657.          B.Pascal 7 & Objects/LR     - 408 -
  18658.  
  18659.         τáßΓ« óδτ¿ß½∩εΓß∩ ó »«α∩ñ¬Ñ,  «Γ½¿τ¡«¼ «Γ Γ«ú«, ó ¬«Γ«α«¼ «¡¿ ºá-
  18660.         »¿ßá¡δ (ß½Ñóá ¡á»αáó«). ìá»α¿¼Ñα, «»ÑαáΓ«α:
  18661.  
  18662.              I := F(J) div G(J)
  18663.  
  18664.         úñÑ F ¿ G - Σπ¡¬µ¿¿ µÑ½«ú« Γ¿»á,  »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« G óδτ¿ß½∩-
  18665.         ÑΓß∩ »ÑαÑñ óδτ¿ß½Ñ¡¿Ñ¼ F, Γᬠ¬á¬ φΓ« »«ºó«½∩ÑΓ ¬«¼»¿½∩Γ«απ »«½π-
  18666.         τ¿Γ∞ í«½ÑÑ «»Γ¿¼á½∞¡δ⌐ «íΩÑ¬Γ¡δ⌐ ¬«ñ. é᪡«, »«φΓ«¼π, τΓ«íδ óδαá-
  18667.         ªÑ¡¿Ñ  ¡¿¬«úñá  ¡Ñ  ºáó¿ßѽ«  «Γ  ¬á¬«ú«-Γ«  ¬«¡¬αÑΓ¡«ú«  »«α∩ñ¬á
  18668.         óδτ¿ß½Ñ¡¿∩ óßΓα«Ñ¡¡δσ Σπ¡¬µ¿⌐.  àß½¿ óÑα¡πΓ∞ß∩ ¬ »αÑñδñπΘѼπ »α¿-
  18669.         ¼Ñαπ, Γ« ñ½∩ Γ«ú«, τΓ«íδ óδºóáΓ∞ Σπ¡¬µ¿ε F »ÑαÑñ Σπ¡¬µ¿Ñ⌐ G, ¼«ª-
  18670.         ¡« ¿ß»«½∞º«óáΓ∞ óαѼѡ¡πε »ÑαѼѡ¡πε:
  18671.  
  18672.              T := F(J);
  18673.              I := T div G(J);
  18674.  
  18675.              ê߬½ετÑ¡¿Ñ¼ ¿º φΓ«ú« »αáó¿½á ∩ó½∩ÑΓß∩ óδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐
  18676.         ßσѼѠ(αáºαÑΦÑ¡¡«Ñ ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá {$B-}, »α¿ ¬«Γ«α«¼ «»Ñ-
  18677.         αá¡ñδ íπ½Ñó߬«ú« Γ¿»á,  ßó∩ºá¡¡δÑ «»Ñαᵿ∩¼¿ and ¿½¿  «r,  óßÑúñá
  18678.         óδτ¿ß½∩εΓß∩ ß½Ñóá ¡á»αáó«.
  18679.  
  18680.                          Åα«óÑα¬á ¡á ñ«»πßΓ¿¼«ßΓ∞ úαá¡¿µ
  18681.         ─────────────────────────────────────────────────────────────────
  18682.  
  18683.              Åα¿ßóá¿óá¡¿Ñ ¬«¡ßΓá¡Γδ  »ÑαѼѡ¡«⌐ ¿ ¿ß»«½∞º«óá¡¿Ñ ¬«¡ßΓá¡Γδ
  18684.         ó ¬áτÑßΓóÑ º¡áτÑ¡¿∩ »áαá¼ÑΓαá »α«óÑα∩ÑΓß∩ ó« óαѼ∩  ¬«¼»¿½∩µ¿¿ ¡á
  18685.         ñ«»πßΓ¿¼«ßΓ∞ ¡áσ«ªñÑ¡¿∩ ó ºáñá¡¡δσ úαá¡¿µáσ. Åα¿ φΓ«¼ úÑ¡Ñα¿απÑΓ-
  18686.         ß∩ Γᬫ⌐ ¬«ñ, τΓ« ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ Γᬿσ »α«óÑ᫬ ¡Ñ ñѽáÑΓß∩.
  18687.         ìá»α¿¼Ñα,  ò  :=  999,  úñÑ ò - »ÑαѼѡ¡á∩ íá⌐Γ«ó«ú« Γ¿»á (BytÑ),
  18688.         »α¿ó«ñ¿Γ ¬ «Φ¿í¬Ñ ¬«¼»¿½∩µ¿¿.
  18689.  
  18690.                       êß»«½∞º«óá¡¿Ñ ßñó¿úá ó¼ÑßΓ« π¼¡«ªÑ¡¿∩
  18691.         ─────────────────────────────────────────────────────────────────
  18692.  
  18693.              Ä»Ñαᵿ∩ X*C,  úñÑ C - ¬«¡ßΓá¡Γá,  ∩ó½∩εΘá∩ß∩ ßΓѻѡ∞ε τ¿ß½á
  18694.         2,  »α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿ «íΩÑ¬Γ¡«ú« ¬«ñá,  ó ¬«Γ«α«¼ ¿ß»«½∞ºπÑΓß∩
  18695.         ¿¡ßΓαπ¬µ¿∩ Shl (ßñó¿ú ó½Ñó«).
  18696.  
  18697.              Ç¡á½«ú¿τ¡«, ¬«úñá  αẼÑα¡«ßΓ∞  ¼áßß¿óá  »αÑñßΓáó½∩ÑΓ  ß«í«⌐
  18698.         ßΓѻѡ∞ τ¿ß½á 2,  Γ« ñ½∩ óδτ¿ß½Ñ¡¿∩ ¿¡ñѬߡδσ óδαáªÑ¡¿⌐ ¿ß»«½∞ºπ-
  18699.         ÑΓß∩ ¿¡ßΓαπ¬µ¿∩ Shl (á ¡Ñ ¿¡ßΓαπ¬µ¿∩ îul).
  18700.  
  18701.                   ÇóΓ«¼áΓ¿τÑ߬«Ñ óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá
  18702.         ─────────────────────────────────────────────────────────────────
  18703.  
  18704.              Å« π¼«½τá¡¿ε Borland Pascal óδαáó¡¿óáÑΓ óßÑ »ÑαѼѡ¡δÑ ¿ Γ¿-
  18705.         »¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ,  »αÑóδΦáεΘ¿Ñ »« αẼÑαπ 1 íá⌐Γ,  ¡á úαá¡¿µπ
  18706.         ¼áΦ¿¡¡«ú« ß½«óá. ìá óßÑσ 16-αáºα∩ñ¡δσ »α«µÑßß«αáσ ßѼÑ⌐ßΓóá 80σ86
  18707.         óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá «º¡áτáÑΓ í«½ÑÑ íδßΓα«Ñ  óδ»«½¡Ñ¡¿Ñ,
  18708.         »«ß¬«½∞¬π  ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γá¼ αẼÑα«¼ ó ß½«ó« ¿½¿ τÑΓ¡δ¼ áñαÑßá¼
  18709.         «ßπΘÑßΓó½∩ÑΓß∩ íδßΓαÑÑ, τѼ ¬ ß½«óá¼ »« ¡ÑτÑΓ¡«¼π áñαÑßπ.
  18710.  
  18711.              éδαáó¡¿óá¡¿Ñ ñá¡¡δσ  π»αáó½∩ÑΓß∩  ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá $A.
  18712.  
  18713.          B.Pascal 7 & Objects/LR     - 409 -
  18714.  
  18715.         Å« π¼«½τá¡¿ε ó ß«ßΓ«∩¡¿¿ {$A+} »ÑαѼѡ¡δÑ ¿ Γ¿»¿º«óá¡¡δÑ ¬«¡ßΓá¡-
  18716.         Γδ óδαáó¡¿óáεΓß∩ π¬áºá¡¡δ¼ óδΦÑ «íαẫ¼.  é ß«ßΓ«∩¡¿¿ {$A-} ¡¿¬á-
  18717.         ¬¿σ ñÑ⌐ßΓó¿⌐ »« óδαáó¡¿óá¡¿ε ¡Ñ »α«¿ºó«ñ¿Γß∩.
  18718.  
  18719.                    Åα¿¼Ñτá¡¿Ñ: äá½∞¡Ñ⌐Φ¿Ñ »«ñα«í¡«ßΓ¿ »α¿óÑñÑ¡δ ó â½áóÑ 2
  18720.               ("ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼-
  18721.               ¼¿ßΓá".
  18722.  
  18723.                           ôñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞ºπѼ«ú« ¬«ñá
  18724.         ─────────────────────────────────────────────────────────────────
  18725.  
  18726.              Ä»ÑαáΓ«αδ, « ¬«Γ«αδσ ¿ºóÑßΓ¡«,  τΓ« «¡¿ ¡¿¬«úñá ¡Ñ íπñπΓ óδ-
  18727.         »«½¡∩Γ∞ß∩,  ¡Ñ ó¬½ετáεΓß∩ ó «íΩÑ¬Γ¡δ⌐ ¬«ñ. äá¡¡δÑ óδαáªÑ¡¿∩, ¡á»-
  18728.         α¿¼Ñα, ¡Ñ »α¿óÑñπΓ ¬ úÑ¡Ñαᵿ¿ «íΩÑ¬Γ¡«ú« ¬«ñá:
  18729.  
  18730.              if false then
  18731.                   statement         { «»ÑαáΓ«α }
  18732.               while false do
  18733.                   statement
  18734.  
  18735.                              ¥ΣΣÑ¬Γ¿ó¡á∩ ¬«¼»«¡«ó¬á
  18736.         ─────────────────────────────────────────────────────────────────
  18737.  
  18738.              è«¼»«¡«óΘ¿¬ Borland Pascal áóΓ«¼áΓ¿τÑ߬¿ πñá½∩ÑΓ ¡Ñ¿ß»«½∞ºπ-
  18739.         Ñ¼δ⌐ ¬«ñ (»« »α«µÑñπαá¼), Γ« ÑßΓ∞ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ∩ó½∩εΘ¿Ñß∩
  18740.         τáßΓ∞ε ß¬«¼»¿½¿α«óá¡¡«⌐ »α«úαá¼¼δ, ¡« ¬ ¬«Γ«αδ¼ ¡ÑΓ «íαáΘÑ¡¿⌐, ¡Ñ
  18741.         ó¬½ετáεΓß∩ ó Σá⌐½ Γ¿»á .EXE. Åα«µÑñπαδ, Σπ¡¬µ¿¿, »ÑαѼѡ¡δÑ ¿ Γ¿-
  18742.         »¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ, πτáßΓóπεΘ¿Ñ ó »α«µÑßßÑ ¬«¼»¿½∩µ¿¿, ¡« ßßδ½-
  18743.         ¬¿ ¡á ¬«Γ«αδÑ «ΓßπΓßΓóπεΓ,  πñá½∩εΓß∩ ¿º Σá⌐½a .EXE. ôñá½Ñ¡¿Ñ ¡Ñ-
  18744.         ¿ß»«½∞ºπѼ«ú« ¬«ñá óδ»«½¡∩ÑΓß∩ »« »α«µÑñπαá¼,  á  πñá½Ñ¡¿Ñ  ¡Ñ¿ß-
  18745.         »«½∞ºπѼδσ ñá¡¡δσ - »« ßѬµ¿∩¼, úñÑ φΓ¿ ñá¡¡δÑ «»¿ßδóáεΓß∩.
  18746.  
  18747.              Éáßß¼«Γα¿¼ ß½ÑñπεΘπε »α«úαá¼¼π:
  18748.  
  18749.              program SmartLink;
  18750.              const
  18751.                 H: array[0..15] of char = '0123456789ABCDEF';
  18752.              var
  18753.                 I,J : integer;
  18754.                 X,Y : real;
  18755.              var
  18756.                 S: string[79];
  18757.              var
  18758.                 A: array[1..10000] of integer;
  18759.  
  18760.              procedure P1:
  18761.              begin
  18762.                A[1] = 1;
  18763.              end;
  18764.  
  18765.              procedure P2;
  18766.              begin
  18767.                 I := 1;
  18768.  
  18769.          B.Pascal 7 & Objects/LR     - 410 -
  18770.  
  18771.              end;
  18772.  
  18773.              procedure P3;
  18774.              begin
  18775.                 S := 'Borland Pascal';
  18776.                 P2;
  18777.              end;
  18778.  
  18779.              begin
  18780.                 P3;
  18781.              end;
  18782.  
  18783.              Äß¡«ó¡á∩ »α«úαá¼¼á óδºδóáÑΓ »α«µÑñπαπ P3,  ¬«Γ«αá∩  óδºδóáÑΓ
  18784.         »α«µÑñπαπ  P2,  »«φΓ«¼π  «íÑ  »α«µÑñπαδ P2 ¿ P3 ó¬½ετáεΓß∩ ó Σá⌐½
  18785.         .EXE.  Å«ß¬«½∞¬π P2 ßßδ½áÑΓß∩ ¡á »Ñαóδ⌐ αáºñѽ «»¿ßá¡¿∩  »ÑαѼѡ-
  18786.         ¡δσ,  á P3 ßßδ½áÑΓß∩ ¡á óΓ«α«⌐ αáºñѽ «»¿ßá¡¿Ñ »ÑαѼѡ¡δσ,  »ÑαÑ-
  18787.         ¼Ñ¡¡δÑ I,  J, X, Y, S ΓᬪѠó¬½ετáεΓß∩ ó óδ»«½¡∩Ѽδ⌐ Σá⌐½. Äñ¡á¬«
  18788.         ¡á  »α«µÑñπαπ  P1 ¡¿¬á¬¿σ ßß佫¬ ¡ÑΓ,  á ó¬½ετÑ¡¡δÑ ó óδ»«½¡∩Ѽδ⌐
  18789.         Σá⌐½ »α«µÑñπαδ ¡Ñ ßßδ½áεΓß∩ ¡á »ÑαѼѡ¡δÑ ì ¿ A, »«φΓ«¼π φΓ¿ «íΩ-
  18790.         Ñ¬Γδ πñá½∩εΓß∩.
  18791.  
  18792.              ¥ΣΣÑ¬Γ¿ó¡á∩ ¬«¼»«¡«ó¬á  ¿¼ÑÑΓ  «ß«íπε µÑ¡¡«ßΓ∞ ó ßó∩º¿ ß ¿ß-
  18793.         »«½∞º«ó᡿Ѽ ¼«ñπ½Ñ⌐,  ¬«Γ«αδÑ αÑ὿ºπεΓ  í¿í½¿«ΓѬ¿  »α«µÑñπα  ¿
  18794.         Σπ¡¬µ¿⌐.  Åα¿¼Ñα«¼ Γᬫú« ¼«ñπ½∩ ∩ó½∩ÑΓß∩ ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Dos,
  18795.         ¬«Γ«αδ⌐ ß«ñÑαª¿Γ α∩ñ »α«µÑñπα ¿ Σπ¡¬µ¿⌐. Åα¿ φΓ«¼ »α«úαá¼¼á αÑñ¬«
  18796.         ¿ß»«½∞ºπÑΓ óßÑ φΓ¿ »α«µÑñπαδ. àß½¿ «¡á ¿ß»«½∞ºπÑΓ Γ«½∞¬« «ñ¡π ¿½¿
  18797.         ñóÑ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,  Γ« Γ«½∞¬« φΓ¿ »α«µÑñπαδ ó¬½ετáεΓß∩  ó
  18798.         »«½πτÑ¡¡δ⌐ ó αѺπ½∞ΓáΓÑ ¬«ñ.
  18799.  
  18800.  
  18801.  
  18802.          B.Pascal 7 & Objects/LR     - 411 -
  18803.  
  18804. ───────────────────────────────────────────────────────────────────────
  18805.            ùáßΓ∞ IV. êß»«½∞º«óá¡¿Ñ Borland Pascal ß ∩ºδ¬«¼ áßßѼí½Ñαá
  18806.         ─────────────────────────────────────────────────────────────────
  18807.  
  18808.  
  18809.                          â½áóá 24. éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα
  18810.         ─────────────────────────────────────────────────────────────────
  18811.  
  18812.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα Borland Pascal »«ºó«½∩ÑΓ óá¼ ¡Ñ»«ßαÑñß-
  18813.         ΓóÑ¡¡« ó »α«úαá¼¼áσ Åá߬á½∩ ºá»¿ßδóáΓ∞ ¬«ñ áßßѼí½Ñαá »α«µÑßß«α«ó
  18814.         8087/8087 ¿ 80286/80287.  éδ,  ¬«¡Ñτ¡«, Ñß½¿ ΓαÑíπÑΓß∩ τÑαÑñ«óáΓ∞
  18815.         ¬«ñ  Åá߬á½∩ ¿ áßßѼí½Ñαá,  ¼«ªÑΓÑ »αÑ«íαẫóáΓ∞ ¬«ñ áßßѼí½Ñαá ó
  18816.         ¼áΦ¿¡¡δÑ ¿¡ßΓαπ¬µ¿¿ óαπτ¡πε ¿ ó«ß»«½∞º«óáΓ∞ß∩  ºáΓѼ  «»ÑαáΓ«αἿ
  18817.         inline,  ½¿í« óδ»«½¡∩Γ∞ ¬«¼»«¡«ó¬π ß Σá⌐½á¼¿ .OBJ, ¬«Γ«αδÑ ß«ñÑα-
  18818.         ªáΓ ó¡ÑΦ¡¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ (external).
  18819.  
  18820.              éßΓα«Ñ¡¡δÑ «»ÑαáΓ«αδ  áßßѼí½Ñαá  »αÑñßΓáó½∩εΓ ß«í«⌐ í«½∞Φ«Ñ
  18821.         »«ñ¼¡«ªÑßΓó« ß¿¡Γá¬ß¿ßá, »«ññÑনóáѼ«ú« Æπαí« ÇßßѼí½Ñα«¼ ¿ îá¬-
  18822.         α«áßßѼí½Ñα«¼ Σ¿α¼δ Microsoft.  éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ññÑনóáÑΓ
  18823.         óßÑ ¬«ñδ «»Ñαᵿ⌐ »α«µÑßß«α«¼ 8086/8087 ¿ 80286/80287 ¿ ¡Ñ¬«Γ«αδÑ
  18824.         ¿º «»Ñαᵿ⌐, ¿ß»«½∞ºπѼδσ ó óδαáªÑ¡¿∩σ Æπαí« ÇßßѼí½Ñαá.
  18825.  
  18826.              çᠿ߬½ετÑ¡¿Ñ¼ ñ¿αÑ¬Γ¿ó DB («»αÑñѽ¿Γ∞ íá⌐Γ), DW («»αÑñѽ¿Γ∞
  18827.         ß½«ó«) ¿  DD  («»αÑñѽ¿Γ∞ ñó«⌐¡«Ñ ß½«ó«) ¡¿¬á¬¿Ñ ñαπú¿Ñ ñ¿αÑ¬Γ¿óδ
  18828.         Æπαí« ÇßßѼí½Ñαá,  Γ¿»á EQU, STRUC, SEGMENT ¿½¿ MACRO, óßΓα«Ñ¡¡δ¼
  18829.         áßßѼí½Ñα«¼ ¡Ñ »«ññÑনóáεΓß∩.  Äñ¡á¬«,  «»Ñαᵿ¿,  αÑ὿ºπѼδÑ ß
  18830.         »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó Æπαí« ÇßßѼí½Ñαá, í½¿º¬« ß««ΓóÑΓßΓóπεΓ ¬«¡ßΓαπ¬-
  18831.         µ¿∩¼ Borland Pascal. ìá»α¿¼Ñα, í«½∞Φ¿¡ßΓó« ñ¿αÑ¬Γ¿ó EQU ß««ΓóÑΓß-
  18832.         ΓóπεΓ «»¿ßá¡¿∩¼ Borland Pascal const,  var ¿ type, ñ¿αÑ¬Γ¿óá PROC
  18833.         -  «»¿ßá¡¿∩¼  procedure  ¿  function,  á  ñ¿αÑ¬Γ¿óá STRUC - Γ¿»á¼
  18834.         record Borland Pascal.  öá¬Γ¿τÑ߬¿,  óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα Borland
  18835.         Pascal ¼«ª¡« αáßß¼áΓα¿óáΓ∞,  ¬á¬ ¬«¼»¿½∩Γ«α ∩ºδ¬á áßßѼí½Ñαá, ¿ß-
  18836.         »«½∞ºπεΘ¿⌐ ñ½∩ óßÑσ «»¿ßá¡¿⌐ ß¿¡Γá¬ß¿ß Åá߬á½∩.
  18837.  
  18838.                                   Ä»ÑαáΓ«α asm
  18839.         ─────────────────────────────────────────────────────────────────
  18840.  
  18841.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ßΓá¡«ó¿Γß∩ ñ«ßΓπ»¡δ¼ ß »«¼«Θ∞ε «»ÑαáΓ«-
  18842.         α«ó asm. Ä»ÑαáΓ«α asm ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  18843.  
  18844.           asm «»ÑαáΓ«α_áßßѼí½Ñαá < αáºñѽ¿Γѽ∞ «»ÑαáΓ«α_áßßѼí½Ñαá > end
  18845.  
  18846.         úñÑ "«»ÑαáΓ«α_áßßѼí½Ñαá" »αÑñßΓáó½∩ÑΓ ß«í«⌐ «»ÑαáΓ«α áßßѼí½Ñαá,
  18847.         á "αáºñѽ¿Γѽ∞ " - φΓ« Γ«τ¬á ß ºá»∩Γ«⌐,  ¡«óá∩ ßΓα«¬á ¿½¿ ¬«¼¼Ñ¡-
  18848.         Γáα¿⌐ Åá߬á½∩. Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«α«ó asm:
  18849.  
  18850.                  asm
  18851.                   mov   ah,0        { ßτ¿ΓáΓ∞ ß ¬½áó¿áΓπαδ ¬«ñ Σπ¡¬µ¿¿ }
  18852.                   int   16H         { ñ½∩ τΓÑ¡¿∩ ¬½áó¿Φ¿ óδºóáΓ∞ BIOS }
  18853.                   mov   CharCode,al { ß«σαá¡¿Γ∞ ¬«ñ ASCII }
  18854.                   mov   ScanCode,ah { ß«σαá¡¿Γ∞ ¬«ñ «»α«ßá }
  18855.                  end;
  18856.  
  18857.                  asm
  18858.  
  18859.          B.Pascal 7 & Objects/LR     - 412 -
  18860.  
  18861.                   push  ds          { ß«σαá¡¿Γ∞ DS }
  18862.                   lds   si,Source   { ºáúαπº¿Γ∞ π¬áºáΓѽ∞ ¿ßΓ«τ¡¿¬á }
  18863.                   les   di,Dest     { ºáúαπº¿Γ∞ π¬áºáΓѽ∞ »α¿Ñ¼¡¿¬á }
  18864.                   mov   cx,Count    { ºáúαπº¿Γ∞ αẼÑα í½«¬á }
  18865.                   cld               { »ÑαѼÑßΓ¿Γ∞ }
  18866.                   rep   movsb       { ß¬«»¿α«óáΓ∞ í½«¬ }
  18867.                   pop   ds          { ó«ßßΓá¡«ó¿Γ∞ DS }
  18868.                 end;
  18869.  
  18870.              çá¼ÑΓ¿¼, τΓ« ¡á «ñ¡«⌐ ßΓα«¬Ñ ¼«ª¡« αẼÑßΓ¿Γ∞ ¡Ñ߬«½∞¬« «»Ñ-
  18871.         αáΓ«α«ó áßßѼí½Ñαá,  αáºñѽ¿ó ¿σ Γ«τ¬á¼¿ ß  ºá»∩Γ«⌐.  èα«¼Ñ  Γ«ú«
  18872.         ß½ÑñπÑΓ  «Γ¼ÑΓ¿Γ∞,  τΓ«  Ñß½¿ «»ÑαáΓ«αδ áßßѼí½Ñαá αẼÑΘáεΓß∩ ¡á
  18873.         αạδσ ßΓ᫬áσ,  αáºñѽ∩Γ∞ ¿σ Γ«τ¬á¼¿ ß ºá»∩Γ«⌐ ¡Ñ ΓαÑíπÑΓß∩. çá-
  18874.         ¼ÑΓ¿¼ ΓᬪÑ, τΓ« Γ«τ¬á ß ºá»∩Γ«⌐ ¡Ñ ú«ó«α¿Γ  « Γ«¼, τΓ« «ßΓá½∞¡á∩
  18875.         τáßΓ∞ ßΓ᫬¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¼¼Ñ¡Γáα¿⌐.  è«¼¼Ñ¡Γáα¿¿ ß½ÑñπÑΓ
  18876.         ºá»¿ßδóáΓ∞, ¿ß»«½∞ºπ∩ ß¿¡Γá¬ß¿ß Åá߬á½∩: ß »«¼«Θ∞ε { ¿ } ¿½¿ (* ¿
  18877.         *).
  18878.  
  18879.                              êß»«½∞º«óá¡¿Ñ αÑú¿ßΓα«ó
  18880.         ─────────────────────────────────────────────────────────────────
  18881.  
  18882.              Åαáó¿½á ¿ß»«½∞º«óá¡¿∩ αÑú¿ßΓα«ó ó «»ÑαáΓ«αÑ asm  ó  «ß¡«ó¡«¼
  18883.         ß«ó»áñáεΓ ß φΓ¿¼¿ »αáó¿½á¼¿ ñ½∩ ó¡ÑΦ¡¿σ »α«µÑñπα ¿ Σπ¡¬µ¿⌐.  Ä»Ñ-
  18884.         αáΓ«α asm ñ«½ªÑ¡ ß«σαá¡∩Γ∞ αÑú¿ßΓαδ BP,  SP,  SS ¿ DS,  ¡«  ¼«ªÑΓ
  18885.         ßó«í«ñ¡« ¿º¼Ñ¡∩Γ∞ AX, BX, CX, DX, SI, DI, ES ¿ αÑú¿ßΓα Σ½áú«ó. ìá
  18886.         óσ«ñÑ ó «»ÑαáΓ«α asm BP π¬áºδóáÑΓ ¡á ΓѬπΘπε αἬπ ßΓѬá, SP π¬á-
  18887.         ºδóáÑΓ ¡á óÑαΦ¿¡π ßΓѬá, SS ß«ñÑαª¿Γ áñαÑß ßÑú¼Ñ¡Γá ßΓѬá, á DS -
  18888.         áñαÑß ßÑú¼Ñ¡Γá ñá¡¡δσ.  çᠿ߬½ετÑ¡¿Ñ¼ αÑú¿ßΓα«ó BP,  SP, SS ¿ DS
  18889.         «»ÑαáΓ«α  asm  ¡Ñ ¼«ªÑΓ ñѽáΓ∞ ¡¿¬á¬¿σ »αÑñ»«½«ªÑ¡¿⌐ «Γ¡«ß¿Γѽ∞¡«
  18890.         ß«ñÑন¼«ú« ñαπú¿σ αÑú¿ßΓα«ó ¡á óσ«ñÑ ó φëà«»ÑαáΓ«α.
  18891.  
  18892.                          æ¿¡Γá¬ß¿ß «»ÑαáΓ«αa áßßѼí½Ñαá
  18893.         ─────────────────────────────────────────────────────────────────
  18894.  
  18895.              Ä»ÑαáΓ«α áßßѼí½Ñαá ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  18896.  
  18897.         [ ¼ÑΓ¬á":" ] < »αÑΣ¿¬ß > [¬«ñ_«»Ñαᵿ¿ [«»Ñαá¡ñ < "," «»Ñαá¡ñ >]]
  18898.  
  18899.         úñÑ "¼ÑΓ¬á" - φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ¬¿,  "»αÑΣ¿¬ß" - »αÑΣ¿¬ß  ¬«ñá
  18900.         «»Ñαᵿ¿ áßßѼí½Ñαá. "è«ñ_«»Ñαᵿ¿" - ¬«ñ ¿¡ßΓαπ¬µ¿¿ ¿½¿ ñ¿αÑ¬Γ¿-
  18901.         óá áßßѼí½Ñαá, á "«»Ñαá¡ñ" - óδαáªÑ¡¿Ñ áßßѼí½Ñαá.
  18902.  
  18903.              îѪñπ «»ÑαáΓ«αἿ áßßѼí½Ñαá (¡« ¡Ñ ó ¡¿σ) ñ«»π߬áÑΓß∩ ó¬½ε-
  18904.         τáΓ∞ ¬«¼¼Ñ¡Γáα¿¿. ä«»πßΓ¿¼«, ¡á»α¿¼Ñα, ß½ÑñπεΘÑÑ:
  18905.  
  18906.              asm
  18907.                mov   ax,1                 { ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ }
  18908.                mov   cx,100               { ßτÑΓτ¿¬ }
  18909.              end;
  18910.  
  18911.         «ñ¡á¬« ß½ÑñπεΘá∩ ºá»¿ß∞ «Φ¿í«τ¡á:
  18912.  
  18913.              asm
  18914.  
  18915.          B.Pascal 7 & Objects/LR     - 413 -
  18916.  
  18917.                mov   { ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ }  ax,1
  18918.                mov   cx, { ßτÑΓτ¿¬ } 100
  18919.              end;
  18920.  
  18921.                                       îÑΓ¬¿
  18922.         ─────────────────────────────────────────────────────────────────
  18923.  
  18924.              îÑΓ¬¿ ó áßßѼí½ÑαÑ «»αÑñѽ∩εΓß∩ ΓᬪÑ,  ¬á¬ ó Åá߬á½Ñ: »ÑαÑñ
  18925.         «»ÑαáΓ«α«¼ ºá»¿ßδóáÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ¬¿ ¿ ñó«ÑΓ«τ¿Ñ.  èᬠ¿ ó
  18926.         Åá߬á½Ñ, ¼ÑΓ¬¿ ó áßßѼí½ÑαÑ ñ«½ª¡δ «»¿ßδóáΓ∞ß∩ ó «íΩ∩ó½Ñ¡¿¿ label
  18927.         Γ«ú« í½«¬á, ¬«Γ«αδ⌐ ß«ñÑαª¿Γ «»ÑαáΓ«α asm. Äñ¡á¬« ¿º φΓ«ú« »αáó¿-
  18928.         ½á ÑßΓ∞ «ñ¡« ¿ß¬½ετÑ¡¿Ñ. ¥Γ« ½«¬á½∞¡δÑ ¼ÑΓ¬¿.
  18929.  
  18930.              ï«¬á½∞¡δÑ ¼ÑΓ¬¿ - φΓ« ¼ÑΓ¬¿, ¬«Γ«αδÑ ¡áτ¿¡áεΓß∩ ß ß¿¼ó«½á @.
  18931.         Å«ß¬«½∞¬π φëà ß¿¼ó«½ ¡Ñ ¼«ªÑΓ íδΓ∞ τáßΓ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Åá߬á-
  18932.         ½∩,  ΓᬿѠ½«¬á½∞¡δÑ ¼ÑΓ¬¿ áóΓ«¼áΓ¿τÑ߬¿ «úαá¡¿τ¿óáεΓß∩ ¿ß»«½∞º«-
  18933.         ó᡿Ѽ ¿σ ó «»ÑαáΓ«αáσ asm. ï«¬á½∞¡á∩ ¼ÑΓ¬á ¿ºóÑßΓ¡á Γ«½∞¬« ó «»-
  18934.         αÑñѽ∩εΘѼ ÑÑ «»ÑαáΓ«αÑ asm (Γ« ÑßΓ∞ «í½áßΓ∞  ñÑ⌐ßΓó¿∩  ½«¬á½∞¡«⌐
  18935.         ¼ÑΓ¬¿  ¡áτ¿¡áÑΓß∩ «Γ ¬½ετÑó«ú« ß½«óá asm ¿ ºá¬á¡τ¿óáÑΓß∩ ¬½ετÑóδ¼
  18936.         ß½«ó«¼ end «»ÑαáΓ«αá asm, ¬«Γ«αδ⌐ ÑÑ ß«ñÑনΓ).
  18937.  
  18938.              é «Γ½¿τ¿Ñ «Γ «íδτ¡«⌐ ¼ÑΓ¬¿, ½«¬á½∞¡πε ¼ÑΓ¬π »ÑαÑñ ÑÑ ¿ß»«½∞-
  18939.         º«ó᡿Ѽ ¡Ñ ΓαÑíπÑΓß∩ «»¿ßδóáΓ∞ ó «íΩ∩ó½Ñ¡¿¿ label.
  18940.  
  18941.              êñÑ¡Γ¿Σ¿¬áΓ«α ½«¬á½∞¡«⌐ ¼ÑΓ¬¿ ß«ßΓ«¿Γ ¿º ß¿¼ó«½á @, ºá ¬«Γ«-
  18942.         αδ¼  ß½ÑñπÑΓ «ñ¡á ¿½¿ í«½ÑÑ íπ¬ó (A..Z) µ¿Σα (0..9) ß¿¼ó«½«ó »«ñ-
  18943.         τÑનóá¡¿∩ ¿½¿ ß¿¼ó«½«ó @.  èᬠ¿ óßÑ ¼ÑΓ¬¿, ¿ñÑ¡Γ¿Σ¿¬áΓ«α ºáóÑα-
  18944.         ΦáÑΓß∩ ñó«ÑΓ«τ¿Ñ¼.
  18945.  
  18946.          s                        è«ñδ ¿¡ßΓαπ¬µ¿⌐
  18947.         ─────────────────────────────────────────────────────────────────
  18948.  
  18949.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα   »«ññÑনóáÑΓ  ¿¡ßΓαπ¬µ¿¿  »α«µÑßß«α«ó
  18950.         8086/8087 ¿  80286/80287.  ê¡ßΓαπ¬µ¿¿  »α«µÑßß«αá  8087  ñ«ßΓπ»¡δ
  18951.         Γ«½∞¬«  ó ß«ßΓ«∩¡¿¿ {$N+} (αáºαÑΦÑ¡« ¿ß»«½∞º«óá¡¿Ñ ß«»α«µÑßß«αá),
  18952.         ¿¡ßΓαπ¬µ¿¿ »α«µÑßß«αá 80286 - Γ«½∞¬« ó ß«ßΓ«∩¡¿¿ {$G+} (αáºαÑΦÑ¡á
  18953.         úÑ¡Ñαᵿ∩  ¬«ñá ñ½∩ »α«µÑßß«αá 80286),  á ¿¡ßΓαπ¬µ¿¿ ß«»α«µÑßß«αá
  18954.         80287 - Γ«½∞¬« ó ß«ßΓ«∩¡¿¿ {$G+,N+}.
  18955.  
  18956.              Å«½¡«Ñ «»¿ßá¡¿Ñ ¬áªñ«⌐ ¿¡ßΓαπ¬µ¿¿  ß«ñÑনΓß∩  ó  ß»αáó«τ¡δσ
  18957.         ¼áΓÑα¿á½áσ »« »α«µÑßß«αá¼ 80σ86 ¿ 80σ87.
  18958.  
  18959.                               ÉẼÑα ¿¡ßΓαπ¬µ¿¿ RET
  18960.         ─────────────────────────────────────────────────────────────────
  18961.  
  18962.              ê¡ßΓαπ¬µ¿∩ REP úÑ¡Ñα¿απÑΓ ¬«ñ ¼áΦ¿¡¡«⌐  ¿¡ßΓαπ¬µ¿¿  ó«ºóαáΓá
  18963.         í½¿ª¡Ñú« ¿½¿ ñá½∞¡Ñú« Γ¿»á,  ó ºáó¿ß¿¼«ßΓ¿ «Γ ¼«ñѽ¿ ó맮óá ΓѬπ-
  18964.         ΘÑ⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
  18965.  
  18966.              procedure NearProc; near;
  18967.              begin
  18968.                asm
  18969.                  ret      { úÑ¡Ñα¿απÑΓß∩ í½¿ª¡¿⌐ ó«ºóαáΓ }
  18970.  
  18971.          B.Pascal 7 & Objects/LR     - 414 -
  18972.  
  18973.                end;
  18974.              end;
  18975.  
  18976.             procedure FarProc; far
  18977.              begin
  18978.                asm
  18979.                  ret      { úÑ¡Ñα¿απÑΓß∩ ñá½∞¡¿⌐ ó«ºóαáΓ }
  18980.                end;
  18981.              end;
  18982.  
  18983.              æ ñαπú«⌐ ßΓ«α«¡δ,  ¿¡ßΓαπ¬µ¿¿ RETN ¿ RETF óßÑúñá  úÑ¡Ñα¿απεΓ
  18984.         í½¿ª¡¿⌐ ¿½¿  ñá½∞¡¿⌐ ó«ºóαáΓ ß««ΓóÑΓßΓóÑ¡¡«,  ¡Ñºáó¿ß¿¼ «Γ ¼«ñѽ¿
  18985.         ó맮óá ΓѬπΘÑ⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
  18986.  
  18987.                    ÇóΓ«¼áΓ¿τÑ߬«Ñ «»αÑñѽѡ¿Ñ αẼÑαá »ÑαÑσ«ñá
  18988.         ─────────────────────────────────────────────────────────────────
  18989.  
  18990.              àß½¿ ¡Ñ π¬áºδóáÑΓß∩ »α«Γ¿ó¡«Ñ,  óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα «»Γ¿¼¿-
  18991.         º¿απÑΓ ¿¡ßΓαπ¬µ¿¿ »ÑαÑσ«ñá, áóΓ«¼áΓ¿τÑ߬¿ óδí¿αá∩ ¡á¿í«½ÑÑ ¬«α«Γ-
  18992.         ¬πε,  ¿, ß½Ññ«óáΓѽ∞¡«, ¡á¿í«½ÑÑ φΣΣÑ¬Γ¿ó¡πε Σ«α¼π ¿¡ßΓαπ¬µ¿¿ »Ñ-
  18993.         αÑσ«ñá.  Æá¬«Ñ  áóΓ«¼áΓ¿τÑ߬«Ñ   «»αÑñѽѡ¿Ñ   αẼÑαá   »ÑαÑσ«ñá
  18994.         »α¿¼Ñ¡∩ÑΓß∩  ¬ ¿¡ßΓαπ¬µ¿¿ íѺπß½«ó¡«ú« »ÑαÑσ«ñá (JMP) ¿ óßѼ ¿¡ß-
  18995.         Γαπ¬µ¿∩¼ πß½«ó¡«ú« »ÑαÑσ«ñá,  ¬«úñá »ÑαÑσ«ñ óδ»«½¡∩ÑΓß∩ ¡á ¼ÑΓ¬π,
  18996.         á ¡Ñ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε.
  18997.  
  18998.              ä½∩ ¿¡ßΓαπ¬µ¿¿  íѺπß½«ó¡«ú«  »ÑαÑσ«ñá  óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα
  18999.         úÑ¡Ñα¿απÑΓ ¬«α«Γ¬¿⌐ »ÑαÑσ«ñ («ñ¿¡ íá⌐Γ ¬«ñá «»Ñαᵿ¿,  ºá ¬«Γ«αδ¼
  19000.         ß½ÑñπÑΓ «ñ¿¡ íá⌐Γ ß¼ÑΘÑ¡¿∩), Ñß½¿ αáßßΓ«∩¡¿Ñ ñ« µÑ½Ñó«⌐ ¼ÑΓ¬¿ ¡á-
  19001.         σ«ñ¿Γß∩ ó úαá¡¿µáσ «Γ -128 ñ« 127 íá⌐Γ.  é »α«Γ¿ó¡«¼ ß½πτáÑ úÑ¡Ñ-
  19002.         α¿απÑΓß∩  í½¿ª¡¿⌐  »ÑαÑσ«ñ  («ñ¿¡ íá⌐Γ ¬«ñá «»Ñαᵿ¿,  ºá ¬«Γ«αδ¼
  19003.         ß½Ññπε ñóá íá⌐Γá ß¼ÑΘÑ¡¿∩).
  19004.  
  19005.              ä½∩ ¿¡ßΓαπ¬µ¿⌐ πß½«ó¡«ú«  »ÑαÑσ«ñá  ¬«α«Γ¬¿⌐  »ÑαÑσ«ñ  («ñ¿¡
  19006.         íá⌐Γ ¬«ñá «»Ñαᵿ¿,  ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ «ñ¿¡ íá⌐Γ ß¼ÑΘÑ¡¿∩) úÑ¡Ñ-
  19007.         α¿απÑΓß∩,  Ñß½¿ αáßßΓ«∩¡¿Ñ ñ« µÑ½Ñó«⌐ ¼ÑΓ¬¿ ¡áσ«ñ¿Γß∩ ó  »αÑñѽáσ
  19008.         «Γ -128 ñ« 127 íá⌐Γ,  ó »α«Γ¿ó¡«¼ ß½πτáÑ óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα úÑ-
  19009.         ¡Ñα¿απÑΓ ¬«α«Γ¬¿⌐ »ÑαÑσ«ñ ß «íαáΓ¡δ¼ πß½«ó¿Ñ¼, ¬«Γ«αδ⌐ óδ»«½¡∩ÑΓ
  19010.         »ÑαÑσ«ñ  ¡á µÑ½Ñóπε ¼ÑΓ¬π τÑαѺ í½¿ª¡¿⌐ »ÑαÑσ«ñ (ó «íΘѼ ß½πτáÑ 5
  19011.         íá⌐Γ). ìá»α¿¼Ñα, «»ÑαáΓ«α áßßѼí½Ñαá:
  19012.  
  19013.              JC    Stop
  19014.  
  19015.         úñÑ Stop ¡Ñ ¡áσ«ñ¿Γß∩ ó úαá¡¿µá󠬫α«Γ¬«ú« »ÑαÑσ«ñá, »αÑ«íαáºπÑΓ-
  19016.         ß∩ ó »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¼áΦ¿¡¡δ󠬫ñ«ó,  ß««ΓóÑΓßΓóπεΘ¿σ ¿¡ßΓαπ¬-
  19017.         µ¿∩¼:
  19018.  
  19019.              jnc   Skip
  19020.              jmp   Stop
  19021.              Skip:
  19022.  
  19023.              ÅÑαÑσ«ñδ ¡á Γ«τ¬¿ óσ«ñá ó »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε óßÑúñá ¿¼ÑεΓ
  19024.         í½¿ª¡¿⌐ ¿½¿ ñá½∞¡¿⌐ Γ¿» (¡« ¡Ñ ¬«α«Γ¬¿⌐),  á πß½«ó¡δÑ »ÑαÑσ«ñδ ¡á
  19025.         »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ¡Ñ ñ«»π߬áεΓß∩.  éδ ¼«ªÑΓÑ π¬áºáΓ∞ óßΓα«Ñ¡-
  19026.  
  19027.          B.Pascal 7 & Objects/LR     - 415 -
  19028.  
  19029.         ¡«¼π áßßѼí½Ñαπ, τΓ« ¡πª¡« úÑ¡Ñα¿α«óáΓ∞ í½¿ª¡¿⌐ ¿½¿ ñá½∞¡¿⌐ »ÑαÑ-
  19030.         σ«ñ, ¿ß»«½∞ºπ∩ ¬«¡ßΓαπ¬µ¿ε NEAR PTR ¿½¿ FAR PTR. ìá»α¿¼Ñα, «»Ñαá-
  19031.         Γ«αδ áßßѼí½Ñαá:
  19032.  
  19033.              jmp      NEAR PTR Stop
  19034.              jmp      FAR PTR Stop
  19035.  
  19036.         íπñπΓ óßÑúñá úÑ¡Ñα¿α«óáΓ∞ ß««ΓóÑΓßΓóÑ¡¡« í½¿ª¡¿⌐ ¿ ñá½∞¡¿⌐  »ÑαÑ-
  19037.         σ«ñ,  ñáªÑ  Ñß½¿  ¡á ¼ÑΓ¬π Stop ¼«ª¡« »ÑαÑ⌐Γ¿ ß »«¼«Θ∞ε ¬«α«Γ¬«ú«
  19038.         »ÑαÑσ«ñá.
  19039.  
  19040.                               ä¿αÑ¬Γ¿óδ áßßѼí½Ñαá
  19041.         ─────────────────────────────────────────────────────────────────
  19042.  
  19043.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα  Borland Pascal »«ññÑনóáÑΓ Γα¿ ñ¿αѬ-
  19044.         Γ¿óδ áßßѼí½Ñαá: DB («»αÑñѽ¿Γ∞ íá⌐Γ), DW («»αÑñѽ¿Γ∞ ß½«ó«) ¿ DD
  19045.         («»αÑñѽ¿Γ∞ ñó«⌐¡«Ñ ß½«ó«).  èáªñá∩ ¿º ¡¿σ úÑ¡Ñα¿απÑΓ ñá¡¡δÑ, ß«-
  19046.         «ΓóÑΓßΓóπεΘ¿Ñ αáºñѽѡ¡δ¼ ºá»∩Γδ¼ «»Ñαá¡ñá¼,  ¬«Γ«αδÑ ß½ÑñπεΓ  ºá
  19047.         ñ¿αÑ¬Γ¿ó«⌐.
  19048.  
  19049.              ä¿αÑ¬Γ¿óá DB úÑ¡Ñα¿απÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ íá⌐Γ. èáªñδ⌐ «»Ñ-
  19050.         αá¡ñ ¼«ªÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γπ ß« º¡áτÑ¡¿Ñ¼ «Γ
  19051.         -128 ñ« 255, ¿½¿ ßΓ᫬π ß¿¼ó«½«ó ½εí«⌐ ñ½¿¡δ. éδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá
  19052.         úÑ¡Ñα¿απÑΓ 1 íá⌐Γ ¬«ñá,  á ßΓ᫬¿  úÑ¡Ñα¿απεΓ  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞
  19053.         íá⌐Γ ß« º¡áτÑ¡¿∩¼¿, ß««ΓóÑΓßΓóπεΘ¿¼ ¬«ñπ ASCII ¬áªñ«ú« ß¿¼ó«½á.
  19054.  
  19055.              ä¿αÑ¬Γ¿óá DW úÑ¡Ñα¿απÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß½«ó. èáªñδ⌐ «»Ñ-
  19056.         αá¡ñ ¼«ªÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γπ ß« º¡áτÑ¡¿Ñ¼ «Γ
  19057.         -32768 ñ« 65535,  ¿½¿ áñαÑß¡«Ñ óδαáªÑ¡¿Ñ. ä½∩ áñαÑß¡«ú« óδαáªÑ¡¿∩
  19058.         óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα úÑ¡Ñα¿απÑΓ π¬áºáΓѽ∞ í½¿ª¡Ñú« Γ¿»á, τΓ« ÑßΓ∞
  19059.         ß½«ó«, ß«ñÑαªáΘ¿Ñ ß¼ÑΘÑ¡¿∩ áñαÑßá.
  19060.  
  19061.              ä¿αÑ¬Γ¿óá DD  úÑ¡Ñα¿απÑΓ  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  ñó«⌐¡δσ  ß½«ó.
  19062.         èáªñδ⌐ «»Ñαá¡ñ ¼«ªÑΓ »αÑñßΓáó½∩Γ∞  ß«í«⌐  óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γπ  ß«
  19063.         º¡áτÑ¡¿Ñ¼  «Γ  -2147483648  ñ« 4294967295 ¿½¿ áñαÑß¡«Ñ óδαáªÑ¡¿Ñ.
  19064.         ä½∩ áñαÑß¡«ú« óδαáªÑ¡¿∩ óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα úÑ¡Ñα¿απÑΓ π¬áºáΓѽ∞
  19065.         ñá½∞¡Ñú« Γ¿»á, τΓ« ÑßΓ∞ ß½«ó«, ß«ñÑαªáΘ¿Ñ ß¼ÑΘÑ¡¿∩ áñαÑßá, ºá ¬«-
  19066.         Γ«αδ¼ ß½ÑñπÑΓ ß½«ó«, ß«ñÑαªáΘÑÑ ßÑú¼Ñ¡Γ¡πε τáßΓ∞ áñαÑßá.
  19067.  
  19068.              äá¡¡δÑ, úÑ¡Ñα¿απѼδÑ »« ñ¿αÑ¬Γ¿óá¼ DB, DW ¿ DD, óßÑúñᠺỿ-
  19069.         ßδóáεΓß∩ ó ßÑú¼Ñ¡Γ ¬«ñá,  á¡á½«ú¿τ¡« ¬«ñπ,  úÑ¡Ñα¿απѼ«¼π ñαπú¿¼¿
  19070.         «»ÑαáΓ«αἿ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá. ùΓ«íδ ßúÑ¡Ñα¿α«óáΓ∞ ¿¡¿µ¿á½¿-
  19071.         º¿α«óá¡¡δÑ ¿½¿ ¡Ñ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ ñá¡¡δÑ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ, óá¼
  19072.         ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ «íδτ¡δÑ «»¿ßá¡¿∩ Åá߬á½∩ Γ¿»á var ¿½¿ const.
  19073.  
  19074.              Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ ñ¿αÑ¬Γ¿ó DB, DW ¿ DD:
  19075.  
  19076.              asm
  19077.                DB      00FH                                   { 1 íá⌐Γ }
  19078.                DB      0,99                                  { 2 íá⌐Γá }
  19079.                DB      'A'                                   { Ord('A) }
  19080.                DB      'Åα¿¼Ñα',0DH,OAH             { ßΓ᫬á, ºá ¬«Γ«α«⌐
  19081.                               ß½ÑñπεΓ ó«ºóαáΓ ¬áαÑΓ¬¿ ¿ »ÑαÑó«ñ ßΓ᫬¿ }
  19082.  
  19083.          B.Pascal 7 & Objects/LR     - 416 -
  19084.  
  19085.                DB      12,"Borland Pascal"            { ßΓ᫬á Åá߬á½∩ }
  19086.                DW      0FFFFH                                { 1 ß½«ó« }
  19087.                DW      0,9999                                { 2 ß½«óá }
  19088.                DW      'A'                     { φ¬ó¿óá½Ñ¡Γ¡« DB 'A',0 }
  19089.                DW      'BA'                  { φ¬ó¿óá½Ñ¡Γ¡« DB 'A','B' }
  19090.                DW      MyVar                          { ß¼ÑΘÑ¡¿Ñ MyVar }
  19091.                DW      MyProc                        { ß¼ÑΘÑ¡¿Ñ MyProc }
  19092.                DD      0FFFFFFFH                     { 1 ñó«⌐¡«Ñ ß½«ó« }
  19093.                DD      0,99999999                    { 2 ñó«⌐¡δσ ß½«óá }
  19094.                DD      'A'                 { φ¬ó¿óá½Ñ¡Γ¡« DB 'A',0,0,0 }
  19095.                DD      'DBCA'        { φ¬ó¿óá½Ñ¡Γ¡« DS 'A','B','C','D' }
  19096.                DD      MyVar                      { π¬áºáΓѽ∞ ¡á MyVar }
  19097.                DD      MyProc                    { π¬áºáΓѽ∞ ¡á MyProc }
  19098.              end;
  19099.  
  19100.              é Æπαí« ÇßßѼí½ÑαÑ,  ¬«úñá »ÑαÑñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ π¬áºδóáÑΓß∩
  19101.         DB, DW ¿½¿ DD,  φΓ« »α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿ ó Γ«¼ ¼ÑßΓÑ, úñÑ π¬áºá¡á
  19102.         ñ¿αÑ¬Γ¿óá,  »ÑαѼѡ¡«⌐ αẼÑα«¼ ó íá⌐Γ,  ß½«ó« ¿½¿ ñó«⌐¡«Ñ ß½«ó«.
  19103.         ìá»α¿¼Ñα, Æπαí« ÇßßѼí½Ñα ñ«»π߬áÑΓ ß½ÑñπεΘÑÑ:
  19104.  
  19105.              ByteVar        DB          ?
  19106.              WordVar        DW          ?
  19107.                .
  19108.                .
  19109.                .
  19110.                             mov         al,ByteVar
  19111.                             mov         bx,WordVar
  19112.  
  19113.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ¡Ñ »«ññÑনóáÑΓ ΓᬿѠ«»¿ßá¡¿∩ »ÑαѼѡ-
  19114.         ¡δσ. é Borland Pascal Ññ¿¡ßΓóÑ¡¡δ¼ ó¿ñ«¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá,  ¬«Γ«αδ⌐
  19115.         ¼«ª¡« «»αÑñѽ¿Γ∞ ó  «»ÑαáΓ«αÑ  óßΓα«Ñ¡¡«ú«  áßßѼí½Ñαá,  ∩ó½∩ÑΓß∩
  19116.         ¼ÑΓ¬á.  éßÑ  »ÑαѼѡ¡δÑ  ñ«½ª¡δ  «»¿ßδóáΓ∞ß∩ ß »«¼«Θ∞ε ß¿¡Γá¬ß¿ßá
  19117.         Åá߬á½∩, ¿ »αÑñδñπΘá∩ ¬«¡ßΓαπ¬µ¿∩ ß««ΓóÑΓßΓóπÑΓ ß½ÑñπεΘѼπ:
  19118.  
  19119.              var
  19120.                ByteVar:    Byte;
  19121.                WordWat:    Word;
  19122.                  .
  19123.                  .
  19124.                  .
  19125.                asm
  19126.                  mov       al,ByteVar
  19127.                  mov       bx,WordVar
  19128.                end;
  19129.  
  19130.  
  19131.  
  19132.          B.Pascal 7 & Objects/LR     - 417 -
  19133.  
  19134.                                     Ä»Ñαá¡ñδ
  19135.         ─────────────────────────────────────────────────────────────────
  19136.  
  19137.              Ä»Ñαá¡ñδ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá »αÑñßΓáó½∩εΓ  ß«í«⌐  óδαáªÑ-
  19138.         ¡¿∩,  ¬«Γ«αδÑ ß«ßΓ«∩Γ ¿º ß«τÑΓá¡¿∩ ¬«¡ßΓá¡Γ, αÑú¿ßΓα«ó, ¿ñÑ¡Γ¿Σ¿-
  19139.         ¬áΓ«α«ó ¿ «»Ñαᵿ⌐.  ò«Γ∩ óδαáªÑ¡¿∩ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá Σ«α¼¿-
  19140.         απεΓß∩   ß  ¿ß»«½∞º«ó᡿Ѽ  ΓÑσ  ªÑ  «ß¡«ó¡δσ  »α¿¡µ¿»«ó,  τΓ«  ¿
  19141.         óδαáªÑ¡¿∩ Åá߬á½∩, ¿¼ÑÑΓß∩ α∩ñ ó᪡δσ «Γ½¿τ¿⌐, ¬«Γ«αδÑ ¡Ñ«íσ«ñ¿¼«
  19142.         »«∩ß¡¿Γ∞.
  19143.  
  19144.              é« óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ »αÑñ«»αÑñѽѡ¡δ⌐ ß¼δß½ ¿¼ÑεΓ ß½Ññπ-
  19145.         εΘ¿Ñ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá:
  19146.  
  19147.              AH        CL          FAR          SEG
  19148.              AL        CS          HIGH         SHL
  19149.              AND       CX          LOW          SHR
  19150.              AX        DH          MOD          SI
  19151.              BH        DI          NEAR         SP
  19152.              BL        DL          NOT          SS
  19153.              BP        DS          OFFSET       ST
  19154.              BX        DWORD       OR           TBYTE
  19155.              BYTE      DX          PTR          TYPE
  19156.              CH        ES          WQORD        WORD
  19157.                                                 XOR
  19158.  
  19159.              çáαѺÑαó¿α«óá¡¡δÑ ß½«óá óßÑúñá ¿¼ÑεΓ í«½∞Φ¿⌐  »α¿«α¿ΓÑΓ, τѼ
  19160.         «»αÑñѽѡ¡δÑ »«½∞º«óáΓѽѼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ. ìá»α¿¼Ñα, ó« Σαáú¼Ñ¡ΓÑ
  19161.         »α«úαá¼¼δ:
  19162.  
  19163.              var
  19164.                ch: Char;
  19165.                ...
  19166.              asm
  19167.                mov   ch,1
  19168.              end;
  19169.  
  19170.         1 íπñÑΓ ºáúαπªáΓ∞ß∩ ó αÑú¿ßΓα CH,  á ¡Ñ ó »ÑαѼѡ¡πε CH. ä½∩ ñ«ß-
  19171.         Γπ»á ¬ «»αÑñѽѡ¡«¼π »«½∞º«óáΓѽѼ ¿¼Ñ¡¿ ¡πª¡«  ¿ß»«½∞º«óáΓ∞  á¼-
  19172.         »Ñαßá¡ñ - «»Ñαáµ¿ε »ÑαÑ«»αÑñѽѡ¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá (&).
  19173.  
  19174.              asm
  19175.                mov        &ch,1
  19176.              end;
  19177.  
  19178.              îδ ¡áßΓ«∩Γѽ∞¡«  αѬ«¼Ñ¡ñπѼ  ¡Ñ  ¿ß»«½∞º«óáΓ∞  «»αÑñѽѡ¡δÑ
  19179.         »«½∞º«óáΓѽѼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ß ΓѼ¿ ªÑ ¿¼Ñ¡á¼¿,  τΓ« ¿ ºáαѺÑαó¿-
  19180.         α«óá¡¡δÑ  ß½«óá óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá,  »«ß¬«½∞¬π Γá¬á∩ »πΓá¡¿µá
  19181.         ¿¼Ñ¡ ¼«ªÑΓ ½Ñú¬« »α¿ó«ñ¿Γ∞ ¬ «τÑ¡∞ Γαπñ¡«π½«ó¿¼δ¼ «Φ¿í¬á¼.
  19182.  
  19183.                                     éδαáªÑ¡¿∩
  19184.         ─────────────────────────────────────────────────────────────────
  19185.  
  19186.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα óδτ¿ß½∩ÑΓ óßÑ óδαáªÑ¡¿∩, ¬á¬ 32-αáºα∩ñ-
  19187.  
  19188.          B.Pascal 7 & Objects/LR     - 418 -
  19189.  
  19190.         ¡δÑ º¡áτÑ¡¿∩-π¬áºáΓѽ¿.  Ä¡ ¡Ñ »«ññÑনóáÑΓ º¡áτÑ¡¿∩ ß  »½áóáεΘÑ⌐
  19191.         Γ«τ¬«⌐ ¿ ßΓ᫬«óδÑ º¡áτÑ¡¿∩, ºá ¿ß¬½ετÑ¡¿Ñ¼ ßΓ᫬«óδ󠬫¡ßΓá¡Γ.
  19192.  
  19193.              éδαáªÑ¡¿∩ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ßΓα«∩Γß∩ ¿º φ½Ñ¼Ñ¡Γ«ó óδαá-
  19194.         ªÑ¡¿⌐ ¿ «»Ñαᵿ⌐,  á ¬áªñá∩ «»Ñαᵿ∩ ¿¼ÑÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐  ¬½áßß
  19195.         óδαáªÑ¡¿∩  ¿  Γ¿» óδαáªÑ¡¿∩.  ¥Γ¿ »α¿¡µ¿»δ »«∩ß¡∩εΓß∩ ó ß½ÑñπεΘ¿σ
  19196.         αáºñѽáσ.
  19197.  
  19198.  
  19199.                  Éẽ¿τ¿∩ ¼Ñªñπ óδαáªÑ¡¿∩¼¿ Åá߬á½∩ ¿ áßßѼí½Ñαá
  19200.         ─────────────────────────────────────────────────────────────────
  19201.  
  19202.              ü«½∞Φ¿¡ßΓó« ó᪡δσ  αẽ¿τ¿⌐ ¼Ñªñπ óδαáªÑ¡¿∩¼¿ Åá߬á½∩ ¿ óδ-
  19203.         αáªÑ¡¿∩¼¿ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ß«ßΓ«¿Γ  ó  Γ«¼,  τΓ«  óδαáªÑ¡¿∩
  19204.         óßΓα«Ñ¡¡«ú«  áßßѼí½Ñαá  ñ«½ª¡δ »α¿ óδτ¿ß½Ñ¡¿¿ ßó«ñ¿Γ∞ß∩ ¬ º¡áτÑ-
  19205.         ¡¿ε-¬«¡ßΓá¡ΓÑ,  ñαπú¿¼¿ ß½«óἿ, ¬ º¡áτÑ¡¿ε, ¬«Γ«α«Ñ ¼«ª¡« óδτ¿ß-
  19206.         ½¿Γ∞ ¡á φΓá»Ñ ¬«¼»¿½∩µ¿¿. ìá»α¿¼Ñα, ß πτÑΓ«¼ «»¿ßá¡¿⌐:
  19207.  
  19208.              const
  19209.                X = 10;
  19210.                Y = 20;
  19211.              var
  19212.                Z: Integer;
  19213.  
  19214.         ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ∩ó½∩ÑΓß∩ ó« óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ ñ«»πßΓ¿¼δ¼:
  19215.  
  19216.              asm
  19217.                mov       Z,X+Y
  19218.              end;
  19219.  
  19220.              Å«ß¬«½∞¬π X ¿ Y - φΓ« ¬«¡ßΓá¡Γδ, óδαáªÑ¡¿Ñ X + Y »αÑñßΓáó½∩-
  19221.         ÑΓ ß«í«⌐ »α«ßΓ« πñ«í¡δ⌐ ß»«ß«í ºá»¿ß¿ ¬«¡ßΓá¡Γδ 30,  ¿ »«½πτÑ¡¡á∩
  19222.         ó  αѺπ½∞ΓáΓÑ  ¿¡ßΓαπ¬µ¿∩ »«¼ÑΘáÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ 30 ó
  19223.         »ÑαѼѡ¡πε Z αẼÑα«¼ ó ß½«ó«.  ì« Ñß½¿ óδ «»¿ΦÑΓÑ X ¿ Y, ¬á¬ »Ñ-
  19224.         αѼѡ¡δÑ:
  19225.  
  19226.              var
  19227.                X, Y: Integer;
  19228.  
  19229.         Γ« óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ¡Ñ ß¼«ªÑΓ ¡á φΓá»Ñ  ¬«¼»¿½∩µ¿¿  óδτ¿ß½¿Γ∞
  19230.         º¡áτÑ¡¿Ñ X + Y.  è«ααÑ¬Γ¡«⌐ ¬«¡ßΓαπ¬µ¿Ñ⌐ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ó
  19231.         φΓ«¼ ß½πτáÑ íπñÑΓ:
  19232.  
  19233.              asm
  19234.                mov     ax,X
  19235.                add     ax,Y
  19236.                mov     Z,ax
  19237.              end;
  19238.  
  19239.              äαπú¿¼ óáª¡δ¼ «Γ½¿τ¿Ñ¼ óδαáªÑ¡¿⌐ Åá߬á½∩ ¿  óßΓα«Ñ¡¡«ú«  Çß-
  19240.         ßѼí½Ñαá  ∩ó½∩ÑΓß∩  ß»«ß«í ¿¡ΓÑα»αÑΓᵿ¿ »ÑαѼѡ¡δσ.  é óδαáªÑ¡¿¿
  19241.         Åá߬á½∩ ßßδ½¬á ¡Ñ »ÑαѼѡ¡πε ¿¡ΓÑα»αÑΓ¿απÑΓß∩, ¬á¬ ß«ñÑন¼«Ñ »Ñ-
  19242.         αѼѡ¡«⌐,  ¡«  ó óδαáªÑ¡¿¿ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ßßδ½¬á ¡á »ÑαÑ-
  19243.  
  19244.          B.Pascal 7 & Objects/LR     - 419 -
  19245.  
  19246.         ¼Ñ¡¡πε «º¡áτáÑΓ áñαÑß »ÑαѼѡ¡«⌐. ìá»α¿¼Ñα, ó Åá߬á½Ñ óδαáªÑ¡¿Ñ X
  19247.         +  4,  úñÑ X - »ÑαѼѡ¡á∩,  «º¡áτáÑΓ ß«ñÑন¼«Ñ X,  »½εß 4,  á ó«
  19248.         óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ φΓ« «º¡áτáÑΓ ß«ñÑন¼«Ñ ó ß½«óÑ  »«  áñαÑßπ
  19249.         ¡á 4 íá⌐Γá óδΦÑ, τѼ áñαÑß X. Å«φΓ«¼π, σ«Γ∩ ñ«»πßΓ¿¼á ºá»¿ß∞:
  19250.  
  19251.              asm
  19252.                mov      ax,X+4
  19253.              end;
  19254.  
  19255.         φëଫñ ¡Ñ ºáúαπªáÑΓ º¡áτÑ¡¿∩ X, »½εß 4 ó AX, á ºáúαπªáÑΓ º¡áτÑ-
  19256.         ¡¿Ñ ß½«óá,  ºá»¿ßá¡¡«ú« τÑαѺ 4 íá⌐Γá »«ß½Ñ X. è«ααÑ¬Γ¡«⌐ ºá»¿ß∞ε
  19257.         ß½«ªÑ¡¿∩ 4 ß ß«ñÑন¼δ¼ X íπñÑΓ:
  19258.  
  19259.              asm
  19260.                MOV   AX,X
  19261.                ADD   AX,4
  19262.              end;
  19263.  
  19264.  
  19265.                                ¥½Ñ¼Ñ¡Γδ óδαáªÑ¡¿⌐
  19266.         ─────────────────────────────────────────────────────────────────
  19267.  
  19268.              Äß¡«ó¡δ¼¿ φ½Ñ¼Ñ¡ΓἿ  óδαáªÑ¡¿∩ ∩ó½∩εΓß∩ ¬«¡ßΓá¡Γδ, αÑú¿ßΓαδ
  19269.         ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ.
  19270.  
  19271.  
  19272.  
  19273.          B.Pascal 7 & Objects/LR     - 420 -
  19274.  
  19275.                                     è«¡ßΓá¡Γδ
  19276.         ─────────────────────────────────────────────────────────────────
  19277.  
  19278.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ññÑনóáÑΓ ñóá Γ¿»á ¬«¡ßΓá¡Γ:  τ¿ß½«-
  19279.         óδÑ ¬«¡ßΓá¡Γδ ¿ ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ.
  19280.  
  19281.                                ù¿ß½«óδÑ ¬«¡ßΓá¡Γδ
  19282.         ─────────────────────────────────────────────────────────────────
  19283.  
  19284.              ù¿ß½«óδÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ íδΓ∞ µÑ½δ¼¿ ¿ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ ó
  19285.         ñ¿á»áº«¡Ñ «Γ -2147483648 ñ« 4294967295.
  19286.  
  19287.              Å« π¼«½τá¡¿ε τ¿ß½«óδÑ ¬«¡ßΓá¡Γδ ∩ó½∩εΓß∩ ñÑß∩Γ¿τ¡δ¼¿, «ñ¡á¬«
  19288.         óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ññÑনóáÑΓ ΓᬪѠñó«¿τ¡δÑ,  ó«ß∞¼Ñα¿τ¡δÑ ¿
  19289.         ΦÑßΓ¡áñµáΓ¿α¿τ¡δÑ ¬«¡ßΓá¡Γδ.  äó«¿τ¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ «í«º¡áτáÑΓß∩
  19290.         ºá»¿ß∞ε »«ß½Ñ τ¿ß½á B, ó«ß∞¼Ñα¿τ¡«Ñ - ºá»¿ß∞ε íπ¬óδ O, á ΦÑßΓ¡áñ-
  19291.         µáΓ¿α¿τ¡«Ñ - ºá»¿ß∞ε »«ß½Ñ τ¿ß½á H ¿½¿ π¬áºá¡¿Ñ¼ »ÑαÑñ  τ¿ß½«¼ $.
  19292.  
  19293.              é óδαáªÑ¡¿∩σ Åá߬á½∩ ßπΣΣ¿¬ßδ B,  O ¿ H  ¡Ñ  »«ññÑনóáεΓß∩.
  19294.         éδαáªÑ¡¿∩  Åá߬á½∩  ñ«»π߬áεΓ  Γ«½∞¬« ñÑß∩Γ¿τ¡πε (»« π¼«½τá¡¿ε) ¿
  19295.         ΦÑßΓ¡áñµáΓ¿α¿τ¡πε ºá»¿ß∞ (¿ß»«½∞ºπÑΓß∩ »αÑΣ¿¬ß $).
  19296.  
  19297.              ù¿ß½«óδÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ ¡áτ¿¡áΓ∞ß∩ ß  «ñ¡«⌐  ¿º  µ¿Σα  ¿½¿
  19298.         ß¿¼ó«½á $.  Æá¬¿¼ «íαẫ¼, ¬«úñá óδ ºá»¿ßδóáÑΓÑ ΦÑßΓ¡áñµáΓ¿α¿τ¡πε
  19299.         ¬«¡ßΓá¡Γπ ß »«¼«Θ∞ε ßπΣΣ¿¬ßá H,  Γ« Ñß½¿ »Ñαó«⌐  º¡áτáΘÑ⌐  µ¿Σα«⌐
  19300.         ∩ó½∩ÑΓß∩  «ñ¡á ¿º ΦÑßΓ¡áñµáΓ¿α¿τ¡δσ µ¿Σα «Γ A ñ« F,  Γ« ΓαÑíπÑΓß∩
  19301.         ñ«»«½¡¿Γѽ∞¡δ⌐ ¡«½∞.  ìá»α¿¼Ñα, 0BAD4H ¿ $BAD4 »αÑñßΓáó½∩εΓ ß«í«⌐
  19302.         ΦÑßΓ¡áñµáΓ¿α¿τ¡δÑ ¬«¡ßΓá¡Γδ, á BAD4H - φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α, Γᬠ¬á¬
  19303.         «¡ ¡áτ¿¡áÑΓß∩ ß íπ¬óδ, á ¡Ñ ß µ¿Σαδ.
  19304.  
  19305.  
  19306.                                æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ
  19307.         ─────────────────────────────────────────────────────────────────
  19308.  
  19309.              æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ ºá¬½ετáΓ∞ß∩ ó «ñ¿¡«τ¡δÑ ¿½¿ ñó«⌐-
  19310.         ¡δÑ ¬áóδτ¬¿. ô¬áºá¡¿Ñ ñóπσ »«ß½Ññ«óáΓѽ∞¡δσ ¬áóδτѬ «ñ¡«ú« Γ¿»á ó
  19311.         ¬áτÑßΓóÑ  ºá¬αδóáεΘ¿σ ¬áóδτѬ ßτ¿ΓáÑΓß∩ ºá «ñ¿¡ ß¿¼ó«½.  Åα¿óÑñѼ
  19312.         ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ ßΓ᫬«óδ󠬫¡ßΓá¡Γ:
  19313.  
  19314.              'Z'
  19315.              'Borland Pascal'
  19316.              "That's all folks"
  19317.              '"That''s all falks," he said.'
  19318.              '100
  19319.              '"'
  19320.              "'"
  19321.  
  19322.              çá¼ÑΓ¿¼, τΓ« ó τÑΓóÑαΓ«⌐ ßΓα«¬Ñ ñ½∩  «í«º¡áτÑ¡¿∩  «ñ¿¡«τ¡«ú«
  19323.         ß¿¼ó«½δ  ¬áóδτ¬¿  ¿ß»«½∞ºπÑΓß∩ ñóÑ »«ß½Ññ«óáΓѽ∞¡δσ «ñ¿¡«τ¡δσ ¬á-
  19324.         óδτ¬¿.
  19325.  
  19326.              é ñ¿αÑ¬Γ¿óáσ  DB  ñ«»π߬áεΓß∩ ßΓ᫬«óδÑ ¬áóδτ¬¿ ½εí«⌐ ñ½¿¡δ.
  19327.         ¥Γ« »α¿ó«ñ¿Γ ¬ óδñѽѡ¿ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ íá⌐Γ, ß«ñÑαªáΘ¿σ º¡á-
  19328.  
  19329.          B.Pascal 7 & Objects/LR     - 421 -
  19330.  
  19331.         τÑ¡¿∩ (ASCII) ß¿¼ó«½«ó ßΓ᫬¿.  é« óßÑσ ñαπú¿σ ß½πτá∩σ  ßΓ᫬«óδÑ
  19332.         ¬«¡ßΓá¡Γδ ¡Ñ ¼«úπΓ »αÑóδΦáΓ∞ τÑΓδαÑσ ß¿¼ó«½«ó ¿ «í«º¡áτáεΓ τ¿ß½«-
  19333.         ó«Ñ º¡áτÑ¡¿Ñ,  ¬«Γ«α«Ñ ¼«ªÑΓ πτáßΓó«óáΓ∞ ó  óδαáªÑ¡¿∩σ.  ù¿ß½«ó«Ñ
  19334.         º¡áτÑ¡¿Ñ ßΓ᫬¿ óδτ¿ß½∩ÑΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
  19335.  
  19336.             Ord(Ch1) + Ord(Ch2) shl 8 + Ord(Ch3) shl 16 + Ord(Ch4) shl 24
  19337.  
  19338.         úñÑ Ch1 - φΓ« ßá¼δ⌐ »αáóδ⌐ (»«ß½Ññ¡¿⌐) ß¿¼ó«½,  á Ch4 - ßá¼δ⌐ ½Ñ-
  19339.         óδ⌐ (»Ñαóδ⌐) ß¿¼ó«½.  àß½¿ ßΓα«¬á ¬«α«τÑ 4 ß¿¼ó«½«ó, Γ« ßá¼δÑ ½Ñ-
  19340.         óδÑ (»ÑαóδÑ) ß¿¼ó«½δ ßτ¿ΓáεΓß∩ ¡π½Ñó묨.  Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿-
  19341.         ¼Ñαδ ßΓ᫬«óδ󠬫¡ßΓá¡Γ ¿ ¿σ º¡áτÑ¡¿⌐:
  19342.  
  19343.                            Åα¿¼Ñαδ ßΓ᫬ ¿ ¿σ º¡áτÑ¡¿∩
  19344.                                                Æáí½¿µá 24.1
  19345.                      ┌──────────────┬─────────────────────┐
  19346.                      │   æΓα«¬á     │    ç¡áτÑ¡¿Ñ         │
  19347.                      ├──────────────┼─────────────────────┤
  19348.                      │   'a'        │    00000061H        │
  19349.                      │   'ba'       │    00006261H        │
  19350.                      │   'cba'      │    00636261H        │
  19351.                      │   'dcba'     │    64636261H        │
  19352.                      │   'a'        │    00006120H        │
  19353.                      │   ' a'       │    20202061H        │
  19354.                      │   'a'*2      │    000000E2H        │
  19355.                      │   'a'-'A'    │    00000020H        │
  19356.                      │   not 'a'    │    FFFFFF9EH        │
  19357.                      └──────────────┴─────────────────────┘
  19358.  
  19359.  
  19360.  
  19361.  
  19362.          B.Pascal 7 & Objects/LR     - 422 -
  19363.  
  19364.                                     ÉÑú¿ßΓαδ
  19365.         ─────────────────────────────────────────────────────────────────
  19366.  
  19367.              æ½ÑñπεΘ¿Ñ ºáαѺÑαó¿α«óá¡¡δÑ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ  «í«º¡áτáεΓ  αÑ-
  19368.         ú¿ßΓαδ ûÅ:
  19369.  
  19370.                                ÉÑú¿ßΓαδ ûÅ                   Æáí½¿µá 24.2
  19371.         ─────────────────────────────────────────────────────────────────
  19372.         16-αáºα∩ñ¡δÑ αÑú¿ßΓαδ «íΘÑú« ¡áº¡áτÑ¡¿∩:        AX  BX  CX  DX
  19373.         8-αáºα∩ñ¡δÑ ¼½áñΦ¿Ñ »«½παÑú¿ßΓαδ:               AL  BL  CL  DL
  19374.         8-αáºα∩ñ¡δÑ ßΓáαΦ¿Ñ »«½παÑú¿ßΓαδ:               AH  BH  CH  DH
  19375.         16-αáºα∩ñ¡δÑ π¬áºáΓѽ¿ ¿½¿ ¿¡ñѬߡδÑ αÑú¿ßΓαδ:  SP  BP  SI  DI
  19376.         16-αáºα∩ñ¡δÑ ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ:               CS  DS  SS  ES
  19377.         αÑú¿ßΓα ßΓÑ¬á »α«µÑßß«αá 8087                   ST
  19378.         ─────────────────────────────────────────────────────────────────
  19379.  
  19380.              è«úñá «»Ñαá¡ñ  ß«ßΓ«¿Γ  ¿ß¬½ετ¿Γѽ∞¡« ¿º ¿¼Ñ¡¿ αÑú¿ßΓαá,  «¡
  19381.         ¡áºδóáÑΓß∩ αÑú¿ßΓα«óδ¼ «»Ñαá¡ñ«¼.  éßÑ αÑú¿ßΓαδ  ¼«ª¡«  ¿ß»«½∞º«-
  19382.         óáΓ∞,  ¬á¬ αÑú¿ßΓα«óδÑ «»Ñαá¡ñδ.  èα«¼Ñ Γ«ú«,  ¡Ñ¬«Γ«αδÑ αÑú¿ßΓαδ
  19383.         ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ñαπú¿σ ¬«¡ΓѬßΓáσ.
  19384.  
  19385.              üẫóδÑ αÑú¿ßΓαδ (BX ¿½¿ BP) ¿ ¿¡ñѬߡδÑ  αÑú¿ßΓαδ  (SI  ¿½¿
  19386.         DI)  ¼«ª¡«  ºá»¿ßδóáΓ∞ ó ¬óáñαáΓ¡δσ ß¬«í¬áσ ñ½∩ π¬áºá¡¿∩ ¿¡ñѬßá-
  19387.         µ¿¿.  ä«»πßΓ¿¼δ¼ ß«τÑΓ᡿Ѽ íẫó«ú«/¿¡ñѬߡ«ú« αÑú¿ßΓαá ∩ó½∩εΓß∩
  19388.         [BX], [BP], [SI], [DI], [BX+SI], [BX+DI], [BP+SI] ¿ [BP+DI].
  19389.  
  19390.              æÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ (ES,  CS,  SS ¿ DS) ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩
  19391.         ó¼ÑßΓÑ ß «»ÑαᵿÑ⌐ »ÑαÑ«»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γá (:)  ¿  π¬áºδóáΓ∞  ¡á
  19392.         ñαπú«⌐ ßÑú¼Ñ¡Γ,  «Γ½¿τ¡δ⌐ «Γ Γ«ú«,  ¬«Γ«αδ⌐ »α«µÑßß«α óδí¿αáÑΓ »«
  19393.         π¼«½τá¡¿ε. ìá ¬áªñδ⌐ ¿º 8 αÑú¿ßΓα«ó ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¼«ª¡« ßßδ-
  19394.         ½áΓ∞ß∩ ß »«¼«Θ∞ε ST(x),  úñÑ x - ¬«¡ßΓá¡Γá «Γ 0 ñ« 7, π¬áºδóáεΘá∩
  19395.         ¡á αáßßΓ«∩¡¿Ñ «Γ óÑαΦ¿¡δ ßΓѬá αÑú¿ßΓα«ó.
  19396.  
  19397.                                  êñÑ¡Γ¿Σ¿¬áΓ«αδ
  19398.         ─────────────────────────────────────────────────────────────────
  19399.  
  19400.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ºó«½∩ÑΓ ó óδαáªÑ¡¿∩σ áßßѼí½Ñαá »«½π-
  19401.         τ¿Γ∞ ñ«ßΓπ» ¬« óßѼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼ Åá߬á½∩, ó¬½ετá∩ ¼ÑΓ¬¿, ¬«¡ß-
  19402.         Γá¡Γδ,  Γ¿»δ,  »ÑαѼѡ¡δÑ,  »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.  èα«¼Ñ Γ«ú«,  ó«
  19403.         óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ αÑ὿º«óá¡δ ß½ÑñπεΘ¿Ñ ß»Ñµ¿á½∞¡δÑ ¿ñÑ¡Γ¿Σ¿-
  19404.         ¬áΓ«αδ:
  19405.  
  19406.              @Code                @Data               @Result
  19407.  
  19408.              êñÑ¡Γ¿Σ¿¬áΓ«αδ @Code  ¿  @Data »αÑñßΓáó½∩εΓ ΓѬπΘ¿Ñ ßÑú¼Ñ¡Γδ
  19409.         ¬«ñá ¿ ñá¡¡δσ ß««ΓóÑΓßΓóÑ¡¡«.  êσ ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞  Γ«½∞¬«  ó
  19410.         ß«τÑΓá¡¿¿ ß «»ÑαᵿÑ⌐ SEG:
  19411.  
  19412.              asm
  19413.                mov      ax,SEG @Data
  19414.                mov      ds,ax
  19415.              end;
  19416.  
  19417.  
  19418.          B.Pascal 7 & Objects/LR     - 423 -
  19419.  
  19420.              êñÑ¡Γ¿Σ¿¬áΓ«α @Result ó «»ÑαáΓ«α¡«⌐ τáßΓ¿ Σπ¡¬µ¿¿ »ÑαѼѡ¡πε
  19421.         - αѺπ½∞ΓáΓ Σπ¡¬µ¿¿. ìá»α¿¼Ñα, ó Σπ¡¬µ¿¿:
  19422.  
  19423.              function Sum(X, Y: Integer): Integer;
  19424.              begin
  19425.                 Sum := X + Y;
  19426.              end;
  19427.  
  19428.         ó «»ÑαáΓ«αÑ, »α¿ßóá¿óáεΘѼ αѺπ½∞ΓáΓ Σπ¡¬µ¿¿ »ÑαѼѡ¡«⌐ Sum, ¼«ª-
  19429.         ¡« í佫 íδ »α¿ ºá»¿ß¿ ¡á óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ ¿ß»«½∞º«óáΓ∞ »ÑαÑ-
  19430.         ¼Ñ¡¡πε @Result:
  19431.  
  19432.              function Sum(X, Y: Integer): Integer;
  19433.              begin
  19434.                asm
  19435.                  mov   ax,X
  19436.                  add   ax,Y
  19437.                  mov   @Result,ax
  19438.                end;
  19439.              end;
  19440.  
  19441.              é óδαáªÑ¡¿∩σ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαᠡѽ∞º∩ ¿ß»«½∞º«óáΓ∞ ß½Ñ-
  19442.         ñπεΘ¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ:
  19443.  
  19444.              - ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ (¡á»α¿¼Ñα, WriteLn, Chr);
  19445.  
  19446.              - ß»Ñµ¿á½∞¡δÑ ¼áßß¿óδ Mem, MemW, MemL, Port, PortW;
  19447.  
  19448.              - ßΓ᫬¿,  º¡áτÑ¡¿∩ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ ¬«¡ßΓá¡Γδ  ¼¡«ªÑßΓ-
  19449.                óÑ¡¡«ú« Γ¿»á;
  19450.  
  19451.              - ¼ÑΓ¬¿, ¬«Γ«αδÑ ¡Ñ «»¿ßá¡δ ó ΓѬπΘѼ í½«¬Ñ;
  19452.  
  19453.              - ¿ñÑ¡Γ¿Σ¿¬áΓ«α @Result ó¡Ñ Σπ¡¬µ¿¿.
  19454.  
  19455.              é Æáí½¿µÑ  24.3  »α¿óÑñÑ¡δ º¡áτÑ¡¿Ñ,  ¬½áßß ¿ Γ¿» αẽ¿τ¡«ú«
  19456.         ó¿ñá ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,  ¬«Γ«αδÑ ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ó  óδαáªÑ¡¿∩σ
  19457.         óßΓα«Ñ¡¡«ú«  áßßѼí½Ñαá  (¬½áßßδ  ¿  Γ¿»δ óδαáªÑ¡¿⌐ «»¿ßδóáεΓß∩ ó
  19458.         ß½ÑñπεΘѼ αáºñѽÑ):
  19459.  
  19460.  
  19461.          B.Pascal 7 & Objects/LR     - 424 -
  19462.  
  19463.  
  19464.                  ç¡áτÑ¡¿∩, ¬½áßßδ ¿ Γ¿»δ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó     Æáí½¿µá 24.3
  19465.         ─────────────┬────────────────────┬────────────────┬────────────┐
  19466.         │êñÑ¡Γ¿Σ¿¬áΓ.│     ç¡áτÑ¡¿Ñ       │     è½áßß      │     Æ¿»    │
  19467.         ├────────────┼────────────────────┼────────────────┼────────────┤
  19468.         │ îÑΓ¬á      │ ÇñαÑß ¼ÑΓ¬¿        │ Åá¼∩Γ∞         │ SHORT      │
  19469.         │ è«¡ßΓá¡Γá  │ ç¡áτÑ¡¿Ñ ¬«¡ßΓá¡Γδ │ ìÑ»«ßαÑñßΓóÑ¡- │  0         │
  19470.         │            │                    │ ¡δ⌐            │            │
  19471.         │ Æ¿»        │ 0                  │ Åá¼∩Γ∞         │ ÉẼÑα Γ¿»á│
  19472.         │ Å«½Ñ       │ æ¼ÑΘÑ¡¿Ñ »«½∩      │ Åá¼∩Γ∞         │ ÉẼÑα Γ¿»á│
  19473.         │ ÅÑαѼѡ¡á∩ │ ÇñαÑß »ÑαѼѡ¡«⌐   │ Åá¼∩Γ∞         │ ÉẼÑα Γ¿»á│
  19474.         │ Åα«µÑñπαá  │ ÇñαÑß »α«µÑñπαδ    │ Åá¼∩Γ∞         │  NEAR / FAR│
  19475.         │ öπ¡¬µ¿∩    │ ÇñαÑß Σπ¡¬µ¿¿      │ Åá¼∩Γ∞         │  NEAR / FAR│
  19476.         │ î«ñπ½∞     │ 0                  │ ìÑ»«ßαÑñßΓóÑ¡- │  0         │
  19477.         │            │                    │ ¡δ⌐            │            │
  19478.         │ @Code      │ ÇñαÑß ßÑú¼Ñ¡Γá ¬«ñá│ Åá¼∩Γ∞         │ 0FFF0H     │
  19479.         │ @Data      │ ÇñαÑß ßÑú¼Ñ¡Γá     │ Åá¼∩Γ∞         │ 0FFF0H     │
  19480.         │            │  ñá¡¡δσ            │                │            │
  19481.         │ @Result    │ æ¼ÑΘÑ¡¿Ñ »ÑαѼѡ-  │ Åá¼∩Γ∞         │ ÉẼÑα Γ¿»á│
  19482.         │            │ ¡«⌐ αѺπ½∞ΓáΓá     │                │            │
  19483.         └────────────┴────────────────────┴────────────────┴────────────┘
  19484.  
  19485.              ï«¬á½∞¡δÑ »ÑαѼѡ¡δÑ (»ÑαѼѡ¡δÑ,  «»¿ßá¡¡δÑ ó »α«µÑñπαáσ  ¿
  19486.         öπ¡¬µ¿∩σ)  óßÑúñá  αáß»αÑñѽ∩εΓß∩ ó ßΓѬѠ¿ ñ«ßΓπ»¡δ «Γ¡«ß¿Γѽ∞¡«
  19487.         SS:BP, á º¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ½«¬á½∞¡«⌐ »ÑαѼѡ¡«⌐ »αÑñßΓáó½∩-
  19488.         ÑΓ ß«í«⌐ ÑÑ ß¼ÑΘÑ¡¿Ñ ß« º¡á¬«¼ «Γ SS:BP.  áßßѼí½Ñα áóΓ«¼áΓ¿τÑ߬¿
  19489.         ñ«íáó½∩ÑΓ [BP] ¬ ßßδ½¬á¼ ¡á  ½«¬á½∞¡δÑ  »ÑαѼѡ¡δÑ.  ìá»α¿¼Ñα,  ß
  19490.         πτÑΓ«¼ «»¿ßá¡¿⌐:
  19491.  
  19492.              procedure Test;
  19493.              var
  19494.                Count: Integer;
  19495.  
  19496.         ¿¡ßΓαπ¬µ¿¿:
  19497.  
  19498.              asm
  19499.                mov    ax,Count
  19500.              end;
  19501.  
  19502.         áßßÑ¼í½¿απεΓß∩ ó MOV AX,[BP-2].
  19503.  
  19504.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα óßÑúñá ¿¡ΓÑα»αÑΓ¿απÑΓ »áαá¼ÑΓα-»ÑαѼѡ-
  19505.         ¡πε,  ¬á¬ 32-αáºα∩ñ¡δ⌐ π¬áºáΓѽ∞,  á αẼÑα  »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐
  19506.         óßÑúñá αáóÑ¡ 4 (αẼÑαπ 32-αáºα∩ñ¡«ú« π¬áºáΓѽ∩).  é Åá߬á½Ñ ß¿¡-
  19507.         Γá¬ß¿ß ñ½∩ ñ«ßΓπ»á ¬ »áαá¼ÑΓαπ-»ÑαѼѡ¡«⌐ ¿ ¬  º¡áτÑ¡¿ε »áαá¼ÑΓαá
  19508.         «ñ¿¡á¬«ó. é ß½πτáÑ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá φΓ« ¡Ñ Γá¬. Å«φΓ«¼π ñ½∩
  19509.         ñ«ßΓπ»á ¬ ß«ñÑন¼«¼π »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐ óá¼  ß¡áτá½á  »α¿ñÑΓß∩
  19510.         ºáúαπº¿Γ∞ 32-αáºα∩ñ¡δ⌐ π¬áºáΓѽ∞, á ºáΓѼ «íαáΓ¿Γ∞ß∩ ¬ ∩τÑ⌐¬Ñ, ¡á
  19511.         ¬«Γ«απε «¡ π¬áºδóáÑΓ. ìá»α¿¼Ñα, Ñß½¿ X ¿ Y - »áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ
  19512.         »α¿óÑñÑ¡¡«⌐  óδΦÑ  Σπ¡¬µ¿¿ Sum,  Γ« «¡á ¼«ªÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼
  19513.         «íαẫ¼:
  19514.  
  19515.              function Sum(var X, Y: Integer): Integer;
  19516.  
  19517.          B.Pascal 7 & Objects/LR     - 425 -
  19518.  
  19519.              begin
  19520.                asm
  19521.                  les       bx,X
  19522.                  mov       ax,es:[bx]
  19523.                  les       bx,Y
  19524.                  add       ax,es:[bx]
  19525.                  mov       @Result,ax
  19526.                end;
  19527.              end;
  19528.  
  19529.              ìѬ«Γ«αδÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, ΓᬿÑ, ¬á¬ »ÑαѼѡ¡δÑ Γ¿»á ºá»¿ß∞,
  19530.         ¿¼ÑεΓ «í½áßΓ∞ ñÑ⌐ßΓó¿∩,  »«ºó«½∩εΘπε «íαáΘáΓ∞ß∩ ¬ ¡¿¼  ß  »«¼«Θ∞ε
  19531.         «»Ñαᵿ¿ óδí«αá φ½Ñ¼Ñ¡Γδ ßΓαπ¬Γπαδ - Γ«τ¬¿ (.).  ìá»α¿¼Ñα, ß πτÑ-
  19532.         Γ«¼ «»¿ßá¡¿⌐:
  19533.  
  19534.              type
  19535.                Point = record
  19536.                  X, Y: Integer;
  19537.                end;
  19538.                Rect = record
  19539.                  A, B: Point;
  19540.                end;
  19541.              var
  19542.                P: Point;
  19543.                R: Rect;
  19544.  
  19545.         ñ½∩ ñ«ßΓπ»á ¬ »«½∩¼ ó »ÑαѼѡ¡δσ P ¿ R ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½Ññπε-
  19546.         Θ¿Ñ ¬«¡ßΓαπ¬µ¿¿:
  19547.  
  19548.              asm
  19549.                mov      ax,P.X
  19550.                mov      dx,P.Y
  19551.                mov      cx,R.A.X
  19552.                mov      bx,R.B.Y
  19553.              end;
  19554.  
  19555.              ä½∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«ú«  »«ßΓα«Ñ¡¿∩ »ÑαѼѡ¡«⌐ ¼«ª¡« ¿ß»«½∞º«-
  19556.         óáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á.  èáªñá∩ ¿º »α¿óÑñÑ¡¡δσ  ¡¿ªÑ  ¿¡ßΓαπ¬µ¿⌐
  19557.         úÑ¡Ñα¿απÑΓ   «ñ¿¡  ¿  Γ«Γ  ªÑ  ¼áΦ¿¡¡δ⌐  ¬«ñ,  ºáúαπªáεΘ¿⌐  ó  AX
  19558.         ES:[DI+4]:
  19559.  
  19560.              asm
  19561.                mov      ax,(Rect PTR es:[di]).B.X
  19562.                mov      ax,Rect(es:[di].B.X
  19563.                mov      ax,es:Rect[di].B.X
  19564.                mov      ax,Rect[es:di].B.X
  19565.                mov      ax,es:[di].Rect.B.X
  19566.              end;
  19567.  
  19568.              Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ºáñáÑΓß∩ Γ¿»«ó, »«½Ñ¼ ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ »Ñ-
  19569.         αѼѡ¡«⌐ Γ¿»á ºá»¿ß¿ ¿½¿ «íΩÑ¬Γ¡«ú« Γ¿»á. èα«¼Ñ Γ«ú«, ¿ñÑ¡Γ¿Σ¿¬á-
  19570.         Γ«α ¼«ñπ½∩ «Γ¬αδóáÑΓ «í½áßΓ∞  ñÑ⌐ßΓó¿∩  ¬«¡¬αÑΓ¡«ú«  ¼«ñπ½∩  (¬á¬
  19571.         »«½¡«ßΓ∞ε πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ó Åá߬á½Ñ).
  19572.  
  19573.          B.Pascal 7 & Objects/LR     - 426 -
  19574.  
  19575.  
  19576.                                 è½áßßδ óδαáªÑ¡¿⌐
  19577.         ─────────────────────────────────────────────────────────────────
  19578.  
  19579.              éδαáªÑ¡¿∩ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá »«ñαáºñѽ∩εΓß∩ ¡á Γα¿ ¬½áß-
  19580.         ßá:  αÑú¿ßΓα«óδÑ  º¡áτÑ¡¿∩,  ßß佬¿  ¡á »á¼∩Γ∞ ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ
  19581.         º¡áτÑ¡¿∩.
  19582.  
  19583.              éδαáªÑ¡¿Ñ, ß«ßΓ«∩ΘÑÑ Γ«½∞¬« ¿º ¿¼Ñ¡¿ αÑú¿ßΓαá,  ∩ó½∩ÑΓß∩ αÑ-
  19584.         ú¿ßΓα«óδ¼ º¡áτÑ¡¿Ñ¼.  Åα¿¼ÑαἿ αÑú¿ßΓα«óδσ º¡áτÑ¡¿⌐ ∩ó½∩εΓß∩ AX,
  19585.         CL, DI ¿ ES. êß»«½∞ºπѼδÑ ó ¬áτÑßΓóÑ «»Ñαá¡ñ«ó, αÑú¿ßΓα«óδÑ óδαá-
  19586.         ªÑ¡¿∩ π¬áºδóáεΓ áßßѼí½Ñαπ ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ úÑ¡Ñα¿α«óáΓ∞ ¿¡ßΓαπ¬-
  19587.         µ¿¿, ¬«Γ«αδÑ αáí«ΓáεΓ ß αÑú¿ßΓαἿ ûÅ.
  19588.  
  19589.              éδαáªÑ¡¿∩, «í«º¡áτáεΘ¿Ñ áñαÑßá »á¼∩Γ¿,  ∩ó½∩εΓß∩ ßßδ½¬á¼¿ ¡á
  19590.         »á¼∩Γ∞. è φΓ«⌐ ¬áΓÑú«α¿¿ «Γ¡«ß∩Γß∩ ¼ÑΓ¬¿ Åá߬á½∩, »ÑαѼѡ¡δÑ, Γ¿-
  19591.         »¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
  19592.  
  19593.              éδαáªÑ¡¿∩, ¬«Γ«αδÑ ¡Ñ ∩ó½∩εΓß∩ αÑú¿ßΓα«ó묨 ¿ ¡Ñ  ßó∩ºá¡δ  ß
  19594.         ∩τÑ⌐¬á¼¿ »á¼∩Γ¿,  »αÑñßΓáó½∩εΓ  ß«í«⌐  ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ º¡áτÑ¡¿∩.
  19595.         ¥Γá úαπ»»á ó¬½ετáÑΓ ó ßÑí∩ ¡ÑΓ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¿ ¿ñÑ¡Γ¿Σ¿-
  19596.         ¬áΓ«αδ Γ¿»á.
  19597.  
  19598.              ìÑ»«ßαÑñßΓóÑ¡¡δÑ º¡áτÑ¡¿∩ ¿ ßß佬¿ ¡á »á¼∩Γ∞ »α¿ ¿ß»«½∞º«óá-
  19599.         ¡¿¿ ¿σ ó ¬áτÑßΓóÑ «»Ñαá¡ñ«ó »α¿ó«ñ∩Γ ¬ úÑ¡Ñαᵿ¿ αẽ¿τ¡«ú« ¬«ñá.
  19600.         ìá»α¿¼Ñα:
  19601.  
  19602.              const
  19603.                Start = 10;
  19604.              var
  19605.                Count: Integer;
  19606.                 .
  19607.                 .
  19608.                 .
  19609.              asm
  19610.                mov        ax,Start           { MOV AX,xxxx }
  19611.                mov        bx,Count           { MOV BX,[xxxx] }
  19612.                mov        cx,[Start]         { MOV CX,[xxxx] }
  19613.                mov        dx,OFFSET Count    { MOV DX,xxxx }
  19614.              end;
  19615.  
  19616.              Å«ß¬«½∞¬π Start - φΓ« ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ, »Ñαóá∩ ¿¡ß-
  19617.         Γαπ¬µ¿∩  MOV áßßÑ¼í½¿απÑΓß∩ ó ¡Ñ»«ßαÑñßΓóÑ¡¡πε ¿¡ßΓαπ¬µ¿ε. Äñ¡á¬«
  19618.         óΓ«αá∩ ¿¡ßΓαπ¬µ¿∩ MOV Γαá¡ß½¿απÑΓß∩ ó ¿¡ßΓαπ¬µ¿ε,  ßßδ½áεΘπεß∩ ¡á
  19619.         »á¼∩Γ∞,  Γᬠ¬á¬ Count - φΓ« ßßδ½¬á ¡á »á¼∩Γ∞. é ΓαÑΓ∞Ñ⌐ ¿¡ßΓαπ¬-
  19620.         µ¿¿ MOV ñ½∩ »αÑ«íαẫóá¡¿∩ Start ó ßßδ½¬π  ¡á  »á¼∩Γ∞  (ó  ñá¡¡«¼
  19621.         ß½πτáÑ ß½«ó« ß« ß¼ÑΘÑ¡¿Ñ¼ 10 ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ) ¿ß»«½∞ºπÑΓß∩ «»Ñ-
  19622.         αᵿ∩ ¬óáñαáΓ¡δσ ß¬«í«¬.  é τÑΓóÑαΓ«⌐ ¿¡ßΓαπ¬µ¿¿ MOV ñ½∩ »αÑ«íαá-
  19623.         º«óá¡¿∩  Count ó ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ (ß¼ÑΘÑ¡¿Ñ Count ó ßÑú-
  19624.         ¼Ñ¡ΓÑ ñá¡¡δσ) ¿ß»«½∞ºπÑΓß∩ «»Ñαᵿ∩ OFFSET.
  19625.  
  19626.              èᬠóδ  ¼«ªÑΓÑ  ó¿ñÑΓ∞,  ¬óáñαáΓ¡δѠ߬«í¬¿ ¿ «»Ñαᵿ∩ OFFSET
  19627.         ñ«»«½¡∩εΓ ñαπú ñαπúá.  é ΓÑନ¡áσ αѺπ½∞Γ¿απεΘÑú« ¼áΦ¿¡¡«ú«  ¬«ñá
  19628.  
  19629.          B.Pascal 7 & Objects/LR     - 427 -
  19630.  
  19631.         ß½ÑñπεΘ¿⌐  «»ÑαáΓ«α asm ¿ñÑ¡Γ¿τÑ¡ »Ñαóδ¼ ñóπ¼ ßΓα«¬á¼ »αÑñδñπΘÑú«
  19632.         «»ÑαáΓ«αá asm:
  19633.  
  19634.              asm
  19635.                mov       ax,OFFSET [Start]
  19636.                mov       bx,[OFFSET Count]
  19637.              end;
  19638.  
  19639.              æß佬¿ ¡á »á¼∩Γ∞ ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ º¡áτÑ¡¿∩ ¬½áßß¿Σ¿µ¿απεΓ-
  19640.         ß∩, ó ßó«ε «τÑαÑñ∞,  ¬á¬ »ÑαѼÑΘáѼδÑ ¿ áíß«½εΓ¡δÑ óδαáªÑ¡¿∩. ÅÑ-
  19641.         αѼÑΘáѼ«Ñ óδαáªÑ¡¿Ñ «í«º¡áτáÑΓ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ ΓαÑíπÑΓ ¡á φΓá-
  19642.         »Ñ ¬«¼»«¡«ó¬¿ »ÑαѼÑΘÑ¡¿∩, á áíß«½εΓ¡«Ñ óδαáªÑ¡¿Ñ «í«º¡áτáÑΓ º¡á-
  19643.         τÑ¡¿Ñ, ¬«Γ«α«Ñ Γᬫú« »ÑαѼÑΘÑ¡¿∩ ¡Ñ ΓαÑíπÑΓ. Äíδτ¡« óδαáªÑ¡¿Ñ ß«
  19644.         ßß佬«⌐ ¡á ¼ÑΓ¬π, »ÑαѼѡ¡πε »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ∩ó½∩ÑΓß∩ »ÑαÑ-
  19645.         ¼ÑΘáѼδ¼,  á óδαáªÑ¡¿Ñ,  úñÑ «»Ñαᵿ¿ óδ»«½¡∩εΓß∩ ¿ß¬½ετ¿Γѽ∞¡« ß
  19646.         ¬«¡ßΓá¡ΓἿ - áíß«½εΓ¡δ¼.
  19647.  
  19648.              ÅÑαѼÑΘÑ¡¿Ñ ∩ó½∩ÑΓß∩ »α«µÑßß«¼, ß »«¼«Θ∞ε ¬«Γ«α«ú« ¬«¼»«¡«ó-
  19649.         Θ¿¬ »α¿ßóá¿óáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼ áíß«½εΓ¡δÑ áñαÑßá.  ìá φΓá»Ñ ¬«¼-
  19650.         »«¡«ó¬¿ ¬«¼»¿½∩Γ«απ ¡Ñ¿ºóÑßΓ¡δ ¬«¡Ñτ¡δÑ áñαÑßá ¼ÑΓ¬¿, »ÑαѼѡ¡«⌐,
  19651.         »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. Ä¡¿ ¡Ñ íπñπΓ ¿ºóÑßΓ¡δ ñ« φΓá»á ¬«¼»«¡«ó¬¿,
  19652.         ¡á  ¬«Γ«α«¼ ¬«¼»«¡«óΘ¿¬ »α¿ßóá¿óáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α𠬫¡¬αÑΓ¡δ⌐ áí-
  19653.         ß«½εΓ¡δ⌐ áñαÑß.
  19654.  
  19655.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα  »«ºó«½∩ÑΓ óá¼ óδ»«½¡∩Γ∞ ½εíπε «»Ñαᵿε
  19656.         ß áíß«½εΓ¡δ¼ º¡áτÑ¡¿Ñ¼,  ¡« «»Ñαᵿ¿ ß  »ÑαѼÑΘáÑ¼δ¼¿  º¡áτÑ¡¿∩¼¿
  19657.         «úαá¡¿τ¿óáεΓß∩ ß½«ªÑ¡¿Ñ¼ ¿ óδτ¿Γ᡿Ѽ ¬«¡ßΓá¡Γ.
  19658.  
  19659.  
  19660.                                  Æ¿»δ óδαáªÑ¡¿⌐
  19661.         ─────────────────────────────────────────────────────────────────
  19662.  
  19663.              èáªñ«Ñ óδαáªÑ¡¿Ñ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ¿¼ÑÑΓ  ß««ΓóÑΓßΓóπε-
  19664.         Θ¿⌐ Γ¿»,  ¿½¿, Ñß½¿ ú«ó«α¿Γ∞ Γ«τ¡ÑÑ, αẼÑα, »«ß¬«½∞¬π óßΓα«Ñ¡¡δ⌐
  19665.         ÇßßѼí½Ñα αáßß¼áΓα¿óáÑΓ Γ¿» óδαáªÑ¡¿∩ »α«ßΓ« ¬á¬ Ñú« αẼÑα ó »á-
  19666.         ¼∩Γ¿.  ìá»α¿¼Ñα, Γ¿» (αẼÑα) »ÑαѼѡ¡«⌐ Integer αáóÑ¡ 2, Γᬠ¬á¬
  19667.         «¡á ºá¡¿¼áÑΓ ñóá íá⌐Γá.
  19668.  
  19669.              Æá¼, úñÑ φΓ« ó«º¼«ª¡«,  óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα óδ»«½¡∩ÑΓ  »α«-
  19670.         óÑα¬π Γ¿»«ó, »«φΓ«¼π ó ¿¡ßΓαπ¬µ¿∩σ:
  19671.  
  19672.              var
  19673.                QuitFlag: Boolean;
  19674.                OutBufPtr: Word;
  19675.                 .
  19676.                 .
  19677.                 .
  19678.              asm
  19679.                mov       al,QuitFlag
  19680.                mov       bx,OutBufPtr
  19681.              end;
  19682.  
  19683.         óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »α«óÑα∩ÑΓ,  τΓ«  αẼÑα  QuitFlag  αáóÑ¡   1
  19684.  
  19685.          B.Pascal 7 & Objects/LR     - 428 -
  19686.  
  19687.         (íá⌐Γ), á αẼÑα OutBufPtr - ñóπ¼ (ß½«ó«). àß½¿ »α«óÑα¬á Γ¿»á «í-
  19688.         ¡áαπª¿óáÑΓ ¡Ñß««ΓóÑΓßΓó¿Ñ,  ó«º¡¿¬áÑΓ «Φ¿í¬á. ìá»α¿¼Ñα, ß½ÑñπεΘÑÑ
  19689.         ¡Ññ«»πßΓ¿¼«:
  19690.  
  19691.              asm
  19692.                mov     dl,OutBufPtr
  19693.              end;
  19694.  
  19695.         Γᬠ¬á¬ DL - φΓ« íá⌐Γ«óδ⌐ αÑú¿ßΓα, á OutBufPtr - ß½«ó«. Æ¿» ßßδ½-
  19696.         ¬¿ ¡á »á¼∩Γ∞ ¼«ª¡« ¿º¼Ñ¡¿Γ∞ ß »«¼«Θ∞ε ¡áº¡áτÑ¡¿∩ Γ¿»á. è«ααÑ¬Γ¡δ¼
  19697.         ß»«ß«í«¼ ºá»¿ß¿ »αÑñδñπΘ¿σ ¿¡ßΓαπ¬µ¿⌐ íπñÑΓ ß½ÑñπεΘ¿⌐:
  19698.  
  19699.              asm
  19700.                mov     dl,BYTE PTR OutBufPtr
  19701.                mov     dl,Byte(OutBufPtr)
  19702.                mov     dl,OutBufPtr.Byte
  19703.              end;
  19704.  
  19705.              éßÑ φΓ¿ ¿¡ßΓαπ¬µ¿¿ ßßδ½áεΓß∩ ¡á »Ñαóδ⌐ (¼Ñ¡ÑÑ º¡áτáΘ¿⌐) íá⌐Γ
  19706.         »ÑαѼѡ¡«⌐ OutBufPtr.
  19707.  
  19708.              é ¡Ñ¬«Γ«αδσ ß½πτá∩σ ßßδ½¬á ¡á »á¼∩Γ∞ ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º¿α«óá¡-
  19709.         ¡«⌐,  Γ«  ÑßΓ∞ ¡Ñ ¿¼ÑÑΓ ß««ΓóÑΓßΓóπεΘÑú« Γ¿»á.  Åα¿óÑñѼ »α¿¼Ñα ß
  19710.         ¡Ñ»«ßαÑñßΓóÑ¡¡δ¼ º¡áτÑ¡¿Ñ¼, ºá¬½ετÑ¡¡δ¼ ó ¬óáñαáΓ¡δѠ߬«í¬¿:
  19711.  
  19712.              asm
  19713.                mov     al,[100H]
  19714.                mov     bx,[100H]
  19715.              end;
  19716.  
  19717.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα  ñ«»π߬áÑΓ «íÑ φΓ¿σ Σπ¡¬µ¿¿,  »«ß¬«½∞¬π
  19718.         óδαáªÑ¡¿Ñ [100H] ¡Ñ ¿¼ÑÑΓ ß««ΓóÑΓßΓóπεΘÑú« Γ¿»á, «¡« »α«ßΓ« «º¡á-
  19719.         τáÑΓ  "ß«ñÑন¼«Ñ »« áñαÑßπ 100H ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ",  á Γ¿» ¼«ª¡«
  19720.         «»αÑñѽ¿Γ∞ ¿º »Ñαó«ú« «»Ñαá¡ñá (íá⌐Γ ñ½∩ AL, ß½«ó« ñ½∩ BX). é Γ«¼
  19721.         ß½πτáÑ, ¬«úñá Γ¿» ¡Ñ½∞º∩ «»αÑñѽ¿Γ∞ ¿º ñαπú«ú« «»Ñαá¡ñá, óßΓα«Ñ¡-
  19722.         ¡δ⌐ áßßѼí½Ñα ΓαÑíπÑΓ ∩ó¡«ú« ¡áº¡áτÑ¡¿∩ Γ¿»á:
  19723.  
  19724.              asm
  19725.                mov     BYTE PTR [100H]
  19726.                mov     WORD PTR [100H]
  19727.              end;
  19728.  
  19729.  
  19730.          B.Pascal 7 & Objects/LR     - 429 -
  19731.  
  19732.  
  19733.              é Æáí½¿µÑ 24.4 »α¿óÑñÑ¡δ »αÑñ«»αÑñѽѡ¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ Γ¿-
  19734.         »á,  ¬«Γ«αδÑ »αÑñπß¼«ΓαÑ¡δ ó« óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ ñ«»«½¡¿Γѽ∞¡«
  19735.         ¬ Γ¿»á¼, «»¿ßá¡¡δ¼ ó Åá߬á½Ñ:
  19736.  
  19737.                   ÅαÑñ«»αÑñѽѡ¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ Γ¿»á   Æáí½¿µá 24.4
  19738.              ┌────────────────────┬─────────────────────────────────┐
  19739.              │  êñÑ¡Γ¿Σ¿¬áΓ«α     │         Æ¿»                     │
  19740.              ├────────────────────┼─────────────────────────────────┤
  19741.              │  BYTE              │         1                       │
  19742.              │  WORD              │         2                       │
  19743.              │  DWORD             │         4                       │
  19744.              │  QWORD             │         8                       │
  19745.              │  TBYTE             │         10                      │
  19746.              │  NEAR              │         0FFFEH                  │
  19747.              │  FAR               │         0FFFFH                  │
  19748.              └────────────────────┴─────────────────────────────────┘
  19749.  
  19750.              çá¼ÑΓ¿¼ ó τáßΓ¡«ßΓ¿,  τΓ« NEAR ¿ FAR - φΓ« »ßÑóñ«Γ¿»δ, ¬«Γ«-
  19751.         αδÑ ¿ß»«½∞ºπεΓß∩ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ñ½∩ π¬áºá-
  19752.         ¡¿∩ ¿σ ¼«ñѽ¿ ó맮óá. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ¡áº¡áτÑ¡¿∩ Γ¿»á NEAR
  19753.         ¿ FAR á¡á½«ú¿τ¡« ñαπú¿¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼. ìá»α¿¼Ñα, Ñß½¿ FarProc -
  19754.         »α«µÑñπαá ß ñá½∞¡¿¼ Γ¿»«¼ ó맮óá (FAR):
  19755.  
  19756.              procedure FarProc; far;
  19757.  
  19758.         ¿ Ñß½¿ óδ ºá»¿ßδóáÑΓÑ ¬«ñ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ó Γ«¼ ªÑ ¼«ñπ½Ñ,
  19759.         úñÑ  ¡áσ«ñ¿Γß∩  FarProc,  Γ« óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ñ½∩ ÑÑ ó맮óá
  19760.         í«½ÑÑ φΣΣÑ¬Γ¿ó¡πε ¿¡ßΓαπ¬µ¿ε NEAR:
  19761.  
  19762.              asm
  19763.                push      cs
  19764.                call      NEAR PTR FarProc
  19765.              end
  19766.  
  19767.  
  19768.  
  19769.  
  19770.          B.Pascal 7 & Objects/LR     - 430 -
  19771.  
  19772.                               Ä»Ñαᵿ¿ ó óδαáªÑ¡¿∩σ
  19773.         ─────────────────────────────────────────────────────────────────
  19774.  
  19775.              éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα  »αÑñπß¼áΓα¿óáÑΓ  ¼¡«ªÑßΓó«   «»Ñαᵿ⌐,
  19776.         »«ñαáºñѽ∩Ѽδσ »« ßΓáαΦ¿¡ßΓóπ ¡á 12 ¬½áßß«ó. é Æáí½¿µÑ 24.5 »ÑαÑ-
  19777.         τ¿ß½Ñ¡δ «»Ñαᵿ¿, ¿ß»«½∞ºπεΘ¿Ñß∩ ó óδαáªÑ¡¿∩σ óßΓα«Ñ¡¡«ú« áßßѼí-
  19778.         ½Ñαá ó »«α∩ñ¬Ñ πíδóá¡¿∩ ¿σ ßΓáαΦ¿¡ßΓóá:
  19779.  
  19780.                         éßΓα«Ñ¡¡δÑ «»Ñαᵿ¿ áßßѼí½Ñαá       Æáí½¿µá 24.5
  19781.         ┌──────────────────────────────┬────────────────────────────────┐
  19782.         │  Ä»Ñαᵿ∩                    │ è«¼¼Ñ¡Γáα¿⌐                    │
  19783.         ├──────────────────────────────┼────────────────────────────────┤
  19784.         │  &                           │ Ä»Ñαᵿ∩ »ÑαÑ«»αÑñѽѡ¿∩  ¿ñÑ¡-│
  19785.         │                              │ Γ¿Σ¿¬áΓ«αá.                    │
  19786.         ├──────────────────────────────┼────────────────────────────────┤
  19787.         │  (), [], *                   │ éδí«α φ½Ñ¼Ñ¡Γá ßΓαπ¬Γπαδ.      │
  19788.         ├──────────────────────────────┼────────────────────────────────┤
  19789.         │  HIGH, LOW                   │ ô¡áα¡δÑ «»Ñαᵿ¿.              │
  19790.         │  +, -                        │                                │
  19791.         ├──────────────────────────────┼────────────────────────────────┤
  19792.         │  :                           │ Ä»Ñαᵿ∩  »ÑαÑ«»αÑñѽѡ¿∩  ßÑú-│
  19793.         │                              │ ¼Ñ¡Γá.                         │
  19794.         │  OFFSET, SEG, TYPE, PTR,     │                                │
  19795.         │  *, /, MOD, SHL, SHR         │                                │
  19796.         ├──────────────────────────────┼────────────────────────────────┤
  19797.         │  +, -                        │ ü¿¡áα¡δÑ «»Ñαᵿ¿ ß½«ªÑ¡¿∩/óδ- │
  19798.         │                              │ τ¿Γá¡¿∩.                       │
  19799.         ├──────────────────────────────┼────────────────────────────────┤
  19800.         │  NOT, AND, OR, XOR           │ Å«αáºα∩ñ¡δÑ «»Ñαᵿ¿.          │
  19801.         └──────────────────────────────┴────────────────────────────────┘
  19802.  
  19803.  
  19804.          B.Pascal 7 & Objects/LR     - 431 -
  19805.  
  19806.  
  19807.                Ä»αÑñѽѡ¿∩ «»Ñαᵿ⌐  óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá  Æáí½¿µá 24.6
  19808.         ┌──────┬────────────────────────────────────────────────────────┐
  19809.         │Ä»Ñα. │                          Ä»¿ßá¡¿Ñ                      │
  19810.         ├──────┼────────────────────────────────────────────────────────┤
  19811.         │ &    │ ÅÑαÑ«»αÑñѽѡ¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.  êñÑ¡Γ¿Σ¿¬áΓ«α,  ¡Ñ»«ß-│
  19812.         │      │ αÑñßΓóÑ¡¡« ß½ÑñπεΘ¿⌐ ºá  á¼»Ñαßá¡Γ«¼, ¿¡ΓÑα»αÑΓ¿απÑΓß∩,│
  19813.         │      │ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, «»αÑñѽ∩Ѽδ⌐ »«½∞º«óáΓѽѼ, ñáªÑ Ñß-│
  19814.         │      │ ½¿ «¡ ß««ΓóÑΓßΓóπÑΓ ºáαѺÑαó¿α«óá¡¡«¼π ß½«óπ óßΓα«Ñ¡¡«-│
  19815.         │      │ ú« áßßѼí½Ñαá.                                         │
  19816.         ├──────┼────────────────────────────────────────────────────────┤
  19817.         │ (...)│ Å«ñóδαáªÑ¡¿Ñ. éδαáªÑ¡¿Ñ  ó ß¬«í¬áσ »«½¡«ßΓ∞ε óδτ¿ß½∩ÑΓ-│
  19818.         │      │ ß∩,  »«ß½Ñ τÑú« ¿¡ΓÑα»αÑΓ¿απÑΓß∩, ¬á¬ «ñ¿¡ φ½Ñ¼Ñ¡Γ. éδ-│
  19819.         │      │ αáªÑ¡¿ε  ó  ß¬«í¬áσ ¼«ªÑΓ »αÑñΦÑßΓó«óáΓ∞ ñαπú«Ñ óδαáªÑ-│
  19820.         │      │ ¡¿Ñ.  ÉѺπ½∞ΓáΓ«¼ ó φΓ«¼ ß½πτáÑ  íπñÑΓ  ßπ¼¼á  º¡áτÑ¡¿⌐│
  19821.         │      │ ñóπσ óδαáªÑ¡¿⌐ ß Γ¿»«¼ »Ñαó«ú« óδαáªÑ¡¿∩.              │
  19822.         ├──────┼────────────────────────────────────────────────────────┤
  19823.         │ [...]│ æßδ½¬á ¡á  »á¼∩Γ∞.  éδαáªÑ¡¿Ñ ó ¬óáñαáΓ¡δσ ß¬«í¬áσ »«½-│
  19824.         │      │ ¡«ßΓ∞ε óδτ¿ß½∩ÑΓß∩,  »«ß½Ñ τÑú«  ¿¡ΓÑα»αÑΓ¿απÑΓß∩,  ¬á¬│
  19825.         │      │ «ñ¿¡ φ½Ñ¼Ñ¡Γ. éδαáªÑ¡¿Ñ ó ¬óáñαáΓ¡δσ ß¬«í¬áσ ¼«ªÑΓ ¬«¼-│
  19826.         │      │ í¿¡¿α«óáΓ∞ß∩ ß αÑú¿ßΓαἿ BX, BP, SI, DI ß »«¼«Θ∞ε «»Ñ-│
  19827.         │      │ αᵿ¿  +,  τΓ« π¬áºδóáÑΓ ¡á ¿¡ñѬ߿α«óá¡¿Ñ αÑú¿ßΓαá ûÅ.│
  19828.         │      │ éδαáªÑ¡¿ε ó  ¬óáñαáΓ¡δσ  ß¬«í¬áσ  ¼«ªÑΓ  »αÑñΦÑßΓó«óáΓ∞│
  19829.         │      │ ñαπú«Ñ óδαáªÑ¡¿Ñ. ÉѺπ½∞ΓáΓ«¼ ó φΓ«¼ ß½πτáÑ íπñÑΓ ßπ¼¼á│
  19830.         │      │ º¡áτÑ¡¿⌐ ñóπσ óδαáªÑ¡¿⌐ ß Γ¿»«¼ »Ñαó«ú« óδαáªÑ¡¿∩.  ÉÑ-│
  19831.         │      │ ºπ½∞ΓáΓ«¼ óßÑúñá íπñÑΓ ßßδ½¬á ¡á »á¼∩Γ∞.               │
  19832.         ├──────┼────────────────────────────────────────────────────────┤
  19833.         │ .    │ éδí«α φ½Ñ¼Ñ¡Γá ßΓαπ¬Γπαδ. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ßπ¼¼á óδαá-│
  19834.         │      │ ªÑ¡¿∩ »ÑαÑñ Γ«τ¬«⌐ ¿ óδαáªÑ¡¿∩ »«ß½Ñ Γ«τ¬¿ ß Γ¿»«¼  óδ-│
  19835.         │      │ αáªÑ¡¿∩ »«ß½Ñ Γ«τ¬¿.  êñÑ¡Γ¿Σ¿¬áΓ«αδ, «Γ¡«ß∩Θ¿Ñß∩ ¬ «í-│
  19836.         │      │ ½áßΓ¿ ñÑ⌐ßΓó¿∩,  ¿ π¬áºá¡¡δÑ ó óδαáªÑ¡¿¿  »ÑαÑñ  Γ«τ¬«⌐│
  19837.         │      │ ñ«ßΓπ»¡δ ó óδαáªÑ¡¿¿ »«ß½Ñ Γ«τ¬¿.                      │
  19838.         ├──────┼────────────────────────────────────────────────────────┤
  19839.         │ HIGH │ é«ºóαáΘáÑΓ ßΓáαΦ¿Ñ  8  í¿Γ  óδαáªÑ¡¿∩ αẼÑα«¼ ó ß½«ó«,│
  19840.         │      │ ß½ÑñπεΘÑú« ºá «»ÑαᵿÑ⌐. éδαáªÑ¡¿Ñ ñ«½ª¡«  »αÑñßΓáó½∩Γ∞│
  19841.         │      │ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.            │
  19842.         ├──────┼────────────────────────────────────────────────────────┤
  19843.         │ LOW  │ é«ºóαáΘáÑΓ ¼½áñΦ¿Ñ  8  í¿Γ  óδαáªÑ¡¿∩ αẼÑα«¼ ó ß½«ó«,│
  19844.         │      │ ß½ÑñπεΘÑú« ºá «»ÑαᵿÑ⌐. éδαáªÑ¡¿Ñ ñ«½ª¡«  »αÑñßΓáó½∩Γ∞│
  19845.         │      │ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.            │
  19846.         ├──────┼────────────────────────────────────────────────────────┤
  19847.         │ +    │ ô¡áα¡δ⌐ »½εß.  é«ºóαáΘáÑΓ ß½ÑñπεΘÑÑ ºá »½εß«¼ óδαáªÑ¡¿Ñ│
  19848.         │      │ íѺ ¿º¼Ñ¡Ñ¡¿⌐.  éδαáªÑ¡¿Ñ ñ«½ª¡« »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ-│
  19849.         │      │ »«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.                    │
  19850.         ├──────┼────────────────────────────────────────────────────────┤
  19851.         │ -    │ ô¡áα¡δ⌐ ¼¿¡πß.  é«ºóαáΘáÑΓ ß½ÑñπεΘÑÑ ºá ¼¿¡πß«¼ óδαáªÑ-│
  19852.         │      │ ¡¿Ñ ß «íαáΓ¡δ¼ º¡á¬«¼.  éδαáªÑ¡¿Ñ  ñ«½ª¡«  »αÑñßΓáó½∩Γ∞│
  19853.         │      │ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.            │
  19854.         ├──────┼────────────────────────────────────────────────────────┤
  19855.         │ :    │ ÅÑαÑ«»αÑñѽѡ¿Ñ ßÑú¼Ñ¡Γá. ô¬áºδóáÑΓ áßßѼí½Ñαπ, τΓ« óδ-│
  19856.         │      │ αáªÑ¡¿Ñ »«ß½Ñ ñó«ÑΓ«τ¿∩ «Γ¡«ß¿Γß∩ ¬ ßÑú¼Ñ¡Γπ, ºáñá¡¡«¼π│
  19857.         │      │ ¿¼Ñ¡Ñ¼ ßÑú¼Ñ¡Γ¡«ú« αÑú¿ßΓαá (CS,  DS,  SS ¿½¿ ES) »ÑαÑñ│
  19858.         │      │ ñó«ÑΓ«τ¿Ñ¼.  ÉѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ ßßδ½¬á ¡á  »á¼∩Γ∞  ß«│
  19859.  
  19860.          B.Pascal 7 & Objects/LR     - 432 -
  19861.  
  19862.         │      │ º¡áτÑ¡¿Ñ¼ óδαáªÑ¡¿∩ »«ß½Ñ ñó«ÑΓ«τ¿∩.  è«úñá »ÑαÑ«»αÑñÑ-│
  19863.         │      │ ½Ñ¡¿Ñ ßÑú¼Ñ¡Γá ¿ß»«½∞ºπÑΓß∩ ó «»Ñαá¡ñÑ ¿¡ßΓαπ¬µ¿¿, ¿¡ß-│
  19864.         │      │ Γαπ¬µ¿¿  »αÑñΦÑßΓóπÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ »αÑΣ¿¬ß »ÑαÑ«»αÑ-│
  19865.         │      │ ñѽѡ¿∩  ßÑú¼Ñ¡Γá,  «íÑß»Ñτ¿óáεΘ¿⌐   óδí«α   π¬áºá¡¡«ú«│
  19866.         │      │ ßÑú¼Ñ¡Γá.                                              │
  19867.         ├──────┼────────────────────────────────────────────────────────┤
  19868.         │OFFSET│ é«ºóαáΘáÑΓ ß¼ÑΘÑ¡¿Ñ  ß½ÑñπεΘÑú«  ºá «»ÑαᵿÑ⌐ óδαáªÑ¡¿∩│
  19869.         │      │ (¼½áñΦÑÑ  ß½«ó«).  ÉѺπ½∞ΓáΓ«¼  íπñÑΓ  ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ│
  19870.         │      │ º¡áτÑ¡¿Ñ.                                              │
  19871.         ├──────┼────────────────────────────────────────────────────────┤
  19872.         │ SEG  │ é«ºóαáΘáÑΓ ßÑú¼Ñ¡Γ  ß½ÑñπεΘÑú«  ºá  «»ÑαᵿÑ⌐ óδαáªÑ¡¿∩│
  19873.         │      │ (ßΓáαΦÑÑ  ß½«ó«).  ÉѺπ½∞ΓáΓ«¼  íπñÑΓ  ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ│
  19874.         │      │ º¡áτÑ¡¿Ñ.                                              │
  19875.         ├──────┼────────────────────────────────────────────────────────┤
  19876.         │ TYPE │ é«ºóαáΘáÑΓ Γ¿» (αẼÑα ó íá⌐Γáσ) ß½ÑñπεΘÑú« ºá «»Ñαᵿ-│
  19877.         │      │ Ñ⌐ óδαáªÑ¡¿∩. Æ¿»«¼ ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« º¡áτÑ¡¿∩ íπñÑΓ 0.│
  19878.         ├──────┼────────────────────────────────────────────────────────┤
  19879.         │ PTR  │ Ä»Ñαᵿ∩ ¡áº¡áτÑ¡¿∩ Γ¿»á.  ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ßßδ½¬á  ¡á│
  19880.         │      │ »á¼∩Γ∞ ß« º¡áτÑ¡¿Ñ¼ óδαáªÑ¡¿∩,  ß½ÑñπεΘÑú« ºá «»ÑαᵿÑ⌐│
  19881.         │      │ ¿ Γ¿»«¼ óδαáªÑ¡¿∩ »ÑαÑñ «»ÑαᵿÑ⌐.                     │
  19882.         ├──────┼────────────────────────────────────────────────────────┤
  19883.         │ *    │ ô¼¡«ªÑ¡¿Ñ. Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ »αÑñßΓáó½∩Γ∞ ß«í«⌐  ¡Ñ-│
  19884.         │      │ »«ßαÑñßΓóÑ¡¡δÑ  áíß«½εΓ¡δÑ º¡áτÑ¡¿∩.  ÉѺπ½∞ΓáΓ«¼ íπñÑΓ│
  19885.         │      │ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.                  │
  19886.         ├──────┼────────────────────────────────────────────────────────┤
  19887.         │ /    │ ûѽ«τ¿ß½Ñ¡¡«Ñ ñѽѡ¿Ñ.  Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ  »αÑñßΓáó-│
  19888.         │      │ ½∩Γ∞  ß«í«⌐  ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩.  ÉÑ-│
  19889.         │      │ ºπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.  │
  19890.         ├──────┼────────────────────────────────────────────────────────┤
  19891.         │ MOD  │ ÄßΓáΓ«¬ µÑ½«τ¿ß½Ñ¡¡«ú« ñѽѡ¿∩.  Äíá  óδαáªÑ¡¿∩  ñ«½ª¡δ│
  19892.         │      │ »αÑñßΓáó½∩Γ∞  ß«í«⌐  ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ-│
  19893.         │      │ ¡¿∩. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡á-│
  19894.         │      │ τÑ¡¿Ñ.                                                 │
  19895.         ├──────┼────────────────────────────────────────────────────────┤
  19896.         │ SHL  │ ï«ú¿τÑ߬¿⌐ ßñó¿ú ó½Ñó«.  Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ »αÑñßΓáó-│
  19897.         │      │ ½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ  áíß«½εΓ¡δÑ  º¡áτÑ¡¿∩.  ÉÑ-│
  19898.         │      │ ºπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.  │
  19899.         ├──────┼────────────────────────────────────────────────────────┤
  19900.         │ SHR  │ ï«ú¿τÑ߬¿⌐ ßñó¿ú ó»αáó«. Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ »αÑñßΓáó-│
  19901.         │      │ ½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ  áíß«½εΓ¡δÑ  º¡áτÑ¡¿∩.  ÉÑ-│
  19902.         │      │ ºπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.  │
  19903.         ├──────┼────────────────────────────────────────────────────────┤
  19904.         │ +    │ æ½«ªÑ¡¿Ñ. éδαáªÑ¡¿∩ ¼«úπΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñß-│
  19905.         │      │ ΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩ ¿½¿ ßß佬¿  ¡á  »á¼∩Γ∞,  ¡«│
  19906.         │      │ »ÑαѼÑΘáÑ¼δ¼  º¡áτÑ¡¿Ñ¼  ¼«ªÑΓ íδΓ∞ Γ«½∞¬« «ñ¡« óδαáªÑ-│
  19907.         │      │ ¡¿Ñ. àß½¿ «ñ¡« ¿º óδαáªÑ¡¿⌐ - »ÑαѼÑΘáѼ«Ñ º¡áτÑ¡¿Ñ, Γ«│
  19908.         │      │ αѺπ½∞ΓáΓ«¼ ΓᬪѠíπñÑΓ »ÑαѼÑΘáѼ«Ñ º¡áτÑ¡¿Ñ. àß½¿ «ñ-│
  19909.         │      │ ¡« ¿º óδαáªÑ¡¿⌐ - ßßδ½¬á ¡á »á¼∩Γ∞, Γ« αѺπ½∞ΓáΓ«¼ Γá¬-│
  19910.         │      │ ªÑ íπñÑΓ ßßδ½¬á ¡á »á¼∩Γ∞.                             │
  19911.         ├──────┼────────────────────────────────────────────────────────┤
  19912.         │ -    │ éδτ¿Γá¡¿Ñ. ÅÑαó«Ñ  óδαáªÑ¡¿Ñ ¼«ªÑΓ ¿¼ÑΓ∞ ½εí«⌐ ¬½áßß, á│
  19913.         │      │ óΓ«α«Ñ óδαáªÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡δ¼  áíß«½εΓ-│
  19914.         │      │ ¡δ¼ óδαáªÑ¡¿Ñ¼.  ÉѺπ½∞ΓáΓ ¿¼ÑÑàëàªÑ Γ¿», τΓ« ¿ »Ñα-│
  19915.  
  19916.          B.Pascal 7 & Objects/LR     - 433 -
  19917.  
  19918.         │      │ ó«Ñ óδαáªÑ¡¿Ñ.                                         │
  19919.         ├──────┼────────────────────────────────────────────────────────┤
  19920.         │ NOT  │ Å«αáºα∩ñ¡«Ñ «Γα¿µá¡¿Ñ.  éδαáªÑ¡¿Ñ  ñ«½ª¡«  »αÑñßΓáó½∩Γ∞│
  19921.         │      │ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩. ÉѺπ½∞ΓáΓ«¼│
  19922.         │      │ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ.            │
  19923.         ├──────┼────────────────────────────────────────────────────────┤
  19924.         │ AND  │ Å«αáºα∩ñ¡á∩ «»Ñαᵿ∩  AND  (ê).  Äíá  óδαáªÑ¡¿∩  ñ«½ª¡δ│
  19925.         │      │ »αÑñßΓáó½∩Γ∞  ß«í«⌐  ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ-│
  19926.         │      │ ¡¿∩. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡á-│
  19927.         │      │ τÑ¡¿Ñ.                                                 │
  19928.         ├──────┼────────────────────────────────────────────────────────┤
  19929.         │ OR   │ Å«αáºα∩ñ¡á∩ «»Ñαᵿ∩  OR  (êïê).  Äíá  óδαáªÑ¡¿∩ ñ«½ª¡δ│
  19930.         │      │ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ  áíß«½εΓ¡δÑ  º¡áτÑ-│
  19931.         │      │ ¡¿∩. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡á-│
  19932.         │      │ τÑ¡¿Ñ.                                                 │
  19933.         ├──────┼────────────────────────────────────────────────────────┤
  19934.         │ XOR  │ Å«αáºα∩ñ¡á∩ «»Ñαᵿ∩ XOR (¿ß¬½ετáεΘÑÑ êïê). Äíá óδαáªÑ-│
  19935.         │      │ ¡¿∩ ñ«½ª¡δ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ-│
  19936.         │      │ ¡δÑ º¡áτÑ¡¿∩.  ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«-│
  19937.         │      │ ½εΓ¡«Ñ º¡áτÑ¡¿Ñ.                                       │
  19938.         └──────┴────────────────────────────────────────────────────────┘
  19939.  
  19940.  
  19941.  
  19942.          B.Pascal 7 & Objects/LR     - 434 -
  19943.  
  19944.                          Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ áßßѼí½Ñαá
  19945.         ─────────────────────────────────────────────────────────────────
  19946.  
  19947.              ä« ß¿σ »«α ¼δ αáßß¼áΓα¿ó὿ ¬«¡ßΓαπ¬µ¿ε asm...end,  ¬á¬ «»Ñ-
  19948.         αáΓ«α ß «íδτ¡«⌐ τáßΓ∞ε begin...end. ä¿αÑ¬Γ¿óá assembler ó Borland
  19949.         Pascal »«ºó«½∩ÑΓ óá¼ »¿ßáΓ∞ ¡á óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ µÑ½¿¬«¼ »α«-
  19950.         µÑñπαδ  ¿ Σπ¡¬µ¿¿ íѺ ¡Ñ«íσ«ñ¿¼«ßΓ¿ begin...end.  Åα¿óÑñѼ »α¿¼Ñα
  19951.         Σπ¡¬µ¿¿ ¡á áßßѼí½ÑαÑ:
  19952.  
  19953.              function LongMul(X, Y: Integer) : Longint; assembler;
  19954.              asm
  19955.                mov            ax,X
  19956.                imul           Y
  19957.              end;
  19958.  
  19959.              ä¿αÑ¬Γ¿óá assembler »α¿ó«ñ¿Γ ¬ Γ«¼π,  τΓ« Borland Pascal óδ-
  19960.         »«½¡∩ÑΓ »α¿ úÑ¡Ñαᵿ¿ ¬«ñá ß½ÑñπεΘπε «»Γ¿¼¿ºáµ¿ε:
  19961.  
  19962.              - è«¼»¿½∩Γ«α ¡Ñ  úÑ¡Ñα¿απÑΓ  ¬«ñ  ñ½∩  ¬«»¿α«óá¡¿∩  »áαá¼ÑΓ-
  19963.                α«ó-º¡áτÑ¡¿⌐ ó ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ. ¥Γ« ó½¿∩ÑΓ ¡á óßÑ »á-
  19964.                αá¼ÑΓαδ-º¡áτÑ¡¿∩ ßΓ᫬«ó«ú« Γ¿»á ¿  ñαπú¿Ñ  º¡áτÑ¡¿∩-»áαá-
  19965.                ¼ÑΓαδ,  αẼÑα ¬«Γ«αδσ ¡Ñ αáóÑ¡ 1,  2 ¿½¿ 4 íá⌐Γá¼. é¡πΓα¿
  19966.                »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ΓᬿѠ»áαá¼ÑΓαδ ñ«½ª¡δ ¿¡ΓÑα»αÑΓ¿α«-
  19967.                óáΓ∞ß∩, ¬á¬ Ñß½¿ íδ «¡¿ í뫨 »áαá¼ÑΓαἿ-»ÑαѼѡ¡δ¼¿.
  19968.  
  19969.              - è«¼»¿½∩Γ«α  ¡Ñ  óδñѽ∩ÑΓ »á¼∩Γ∞ ñ½∩ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿,  ¿
  19970.                ßßδ½¬á ¡á  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  @Result  íπñÑΓ  «Φ¿í¬«⌐.  Äñ¡á¬«
  19971.                ßΓ᫬«óδÑ  Σπ¡¬µ¿¿ ∩ó½∩εΓß∩ ¿ß¬½ετÑ¡¿Ñ¼ ¿º φΓ«ú« »αáó¿½á -
  19972.                «¡¿ óßÑúñá ¿¼ÑεΓ π¬áºáΓѽ∞ @Result, ¬«Γ«αδ⌐ αáß»αÑñѽ∩ÑΓß∩
  19973.                »«½∞º«óáΓѽѼ.
  19974.  
  19975.              - ä½∩ »α«µÑñπα ¿ Σπ¡¬µ¿⌐,  ¡Ñ ¿¼ÑεΘ¿σ »áαá¼ÑΓα«ó ¿ ½«¬á½∞¡δσ
  19976.                »ÑαѼѡ¡δσ, ¬«¼»¿½∩Γ«α ¡Ñ úÑ¡Ñα¿απÑΓ ¬áñα«ó ßΓѬá.
  19977.  
  19978.              - ä½∩ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¡á áßßѼí½ÑαÑ áóΓ«¼áΓ¿τÑ߬¿  úÑ¡Ñ-
  19979.                α¿απÑΓß∩ ¬«ñ óδσ«ñá:
  19980.  
  19981.                  push   bp        ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0 ¿½¿
  19982.                                   ; Params <> 0
  19983.                  mov    bp,sp     ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0 ¿½¿
  19984.                                   ; Params <> 0
  19985.                  sub    sp,Locals ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0
  19986.                  ...
  19987.                  mov    sp,bp     ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0
  19988.                  pop    bp        ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0 ¿½¿
  19989.                                   ; Params <> 0
  19990.                  ret    Params    ; óßÑúñá »α¿ßπΓßΓóπÑΓ
  19991.  
  19992.                úñÑ Locals - αẼÑα ½«¬á½∞¡δσ »ÑαѼѡ¡δσ,  á Params - αáº-
  19993.                ¼Ñα »áαá¼ÑΓα«ó.  àß½¿ ¿ Locals ¿ Params = 0, Γ« ¬«ñá óσ«ñá
  19994.                ¡Ñ íπñÑΓ, ¿ ¬«ñ óδσ«ñá ß«ßΓ«¿Γ »α«ßΓ« ¿º ¿¡ßΓαπ¬µ¿¿ RET.
  19995.  
  19996.              öπ¡¬µ¿¿, ¿ß»«½∞ºπεΘ¿Ñ ñ¿αÑ¬Γ¿óπ assembler, ñ«½ª¡δ ó«ºóαáΘáΓ∞
  19997.  
  19998.          B.Pascal 7 & Objects/LR     - 435 -
  19999.  
  20000.         αѺπ½∞ΓáΓ ß½ÑñπεΘ¿¼ «íαẫ¼:
  20001.  
  20002.              - αѺπ½∞ΓáΓδ   Σπ¡¬µ¿¿   »«α∩ñ¬«ó«ú«  Γ¿»á  (Integer,  Char,
  20003.                Boolean, »ÑαÑτ¿ß½¿¼δÑ Γ¿»δ) ó«ºóαáΘáεΓß∩ ó AL (8-αáºα∩ñ¡«Ñ
  20004.                º¡áτÑ¡¿Ñ),  AX  (16-αáºα∩ñ¡«Ñ º¡áτÑ¡¿Ñ) ¿½¿ DX:AX (32-αáº-
  20005.                α∩ñ¡«Ñ º¡áτÑ¡¿Ñ);
  20006.  
  20007.              - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á  (Real) ó«ºóαáΘáεΓß∩
  20008.                ó DX:BX:AX;
  20009.  
  20010.              - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ Γ¿»«ó 8087 (Single,  Double,  Extended,
  20011.                Comp) ó«ºóαáΘáεΓß∩ ó  ST(0)  (αÑú¿ßΓα  ßΓѬᠠ߫»α«µÑßß«αá
  20012.                8087);
  20013.  
  20014.              - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ Γ¿»á π¬áºáΓѽ∞ ó«ºóαáΘáεΓß∩ ó DX:AX;
  20015.  
  20016.              - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ ßΓ᫬«ó«ú« Γ¿»á ó«ºóαáΘáεΓß∩ ó« óαѼѡ-
  20017.                ¡«⌐ ∩τÑ⌐¬Ñ, ¡á ¬«Γ«απε π¬áºδóáÑΓ @Result.
  20018.  
  20019.              ä¿αÑ¬Γ¿óá assembler ó« ¼¡«ú«¼ »«σ«ªá ¡á  ñ¿αÑ¬Γ¿óπ external.
  20020.         Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¡á áßßѼí½ÑαÑ ñ«½ª¡δ ñ«½ª¡δ  »«ñτ¿¡∩Γ∞ß∩  ΓѼ
  20021.         ªÑ »αáó¿½á¼,  τΓ« ¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ Γ¿»á external.  æ½ÑñπεΘ¿Ñ
  20022.         »α¿¼Ñαδ »«¬áºδóáεΓ ¡Ñ¬«Γ«αδÑ «Γ½¿τ¿∩  «»ÑαáΓ«α«ó  asm  ó  «íδτ¡δσ
  20023.         »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ «Γ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ áßßѼí½Ñαá.  é »Ñαó«¼
  20024.         »α¿¼ÑαÑ «»ÑαáΓ«α asm ¿ß»«½∞ºπÑΓß∩ ó «íδτ¡«⌐ Σπ¡¬µ¿¿ ñ½∩  »αÑ«íαá-
  20025.         º«óá¡¿∩ ßΓ᫬¿ ó óÑασ¡¿⌐ αÑú¿ßΓα. çá¼ÑΓ¿¼, τΓ« º¡áτÑ¡¿Ñ »áαá¼ÑΓαá
  20026.         Str ó φΓ«¼ ß½πτáÑ ßßδ½áÑΓß∩ ¡á  ½«¬á½∞¡πε  »ÑαѼѡ¡πε,  »«ß¬«½∞¬π
  20027.         ¬«¼»¿½∩Γ«α áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñα¿απÑΓ ¬«ñ óσ«ñá,  ¬«»¿απεΘ¿⌐ Σá¬Γ¿-
  20028.         τÑ߬¿⌐ »áαá¼ÑΓα ó ½«¬á½∞¡πε »á¼∩Γ∞.
  20029.  
  20030.              function UpperCase(Str: String): String;
  20031.              begin
  20032.                asm
  20033.                  cld
  20034.                  lea        si,Str
  20035.                  les        di,@Result
  20036.                  SEGSS      lodsb
  20037.                  stosb
  20038.                  xor        ah,ah
  20039.                  xchg       ax,cx
  20040.                  jcxz       @3
  20041.              @1:
  20042.                  SEGSS      lodsb
  20043.                  cmp        al,'a'
  20044.                  ja         @2
  20045.                  cmp        al,'a'
  20046.                  ja         @2
  20047.                  cmp        al,'z'
  20048.                  jb         @2
  20049.                  sub        al,20H
  20050.              @2:
  20051.                  stosb
  20052.                  loop       @1
  20053.  
  20054.          B.Pascal 7 & Objects/LR     - 436 -
  20055.  
  20056.              @3:
  20057.               end;
  20058.              end;
  20059.  
  20060.              éΓ«α«⌐ »α¿¼Ñα ¡á áßßѼí½ÑαÑ »αÑñßΓáó½∩ÑΓ ß«í«⌐ óÑαß¿ε  Σπ¡¬-
  20061.         µ¿¿  UpperCase.  é  φΓ«¼ ß½πτáÑ Str ¡Ñ ¬«»¿απÑΓß∩ ó ½«¬á½∞¡πε »á-
  20062.         ¼∩Γ∞, ¿  Σπ¡¬µ¿∩ ñ«½ª¡á ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ Str,  ¬á¬ »áαá¼ÑΓα-»ÑαÑ-
  20063.         ¼Ñ¡¡πε.
  20064.  
  20065.              function UpperCase(S: String): String; assembler;
  20066.              asm
  20067.                push        ds
  20068.                cld
  20069.                lds         si,Str
  20070.                les         di@Result
  20071.                lodsb
  20072.                stosb
  20073.                xor         ah,ah
  20074.                xchg        ax,cx
  20075.                jcxz        @3
  20076.              @1:
  20077.                lodsb
  20078.                cmp         al,'a'
  20079.                ja          @2
  20080.                cmp         al,'z'
  20081.                jb          @2
  20082.                sub         al,20H
  20083.              @2:
  20084.                stosb
  20085.                loop       @1
  20086.              @3:
  20087.                pop        ds
  20088.              end;
  20089.  
  20090.  
  20091.  
  20092.          B.Pascal 7 & Objects/LR     - 437 -
  20093.  
  20094. ───────────────────────────────────────────────────────────────────────
  20095.              â½áóá 25. è«¼»«¡«ó¬á ß »α«úαἼἿ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
  20096.         ─────────────────────────────────────────────────────────────────
  20097.  
  20098.              æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $L ¼«ª¡« óδ»«½¡¿Γ∞ ¬«¼»«¡«ó-
  20099.         ¬π »α«úαá¼¼ ¿½¿ ¼«ñπ½Ñ⌐ ¡á ∩ºδ¬Ñ Åá߬á½∞ ¿ »α«µÑñπα ¿  Σπ¡¬µ¿⌐ ¡á
  20100.         ∩ºδ¬Ñ áßßѼí½Ñαá.  êº ¿ßσ«ñ¡«ú« Σá⌐½á ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¼«ª¡« ß
  20101.         »«¼«Θ∞ε áßßѼí½Ñαá »«½πτ¿Γ∞ «íΩÑ¬Γ¡δ⌐ Σá⌐½ (ß  αáßΦ¿αÑ¡¿Ñ¼ .OBJ).
  20102.         êß»«½∞ºπ∩ ¬«¼»«¡«óΘ¿¬, ¡Ñ߬«½∞¬« «íΩÑ¬Γ¡δσ Σá⌐½«ó ¼«ª¡« ß¬«¼»«¡«-
  20103.         óáΓ∞ ß »α«úαá¼¼«⌐ ¿½¿ ¼«ñπ½Ñ¼.  Åα¿ φΓ«¼  ¿ß»«½∞ºπÑΓß∩  ñ¿αÑ¬Γ¿óá
  20104.         ¬«¼»¿½∩Γ«αá $L.
  20105.  
  20106.              é »α«úαἼѠ ¿½¿ ¼«ñπ½Ñ ¡á ∩ºδ¬Ñ Åá߬á½∞ »α«µÑñπαδ ¿½¿ Σπ¡¬-
  20107.         µ¿¿, ¡á»¿ßá¡¡δÑ  ¡á  ∩ºδ¬Ñ  áßßѼí½Ñαá,  ñ«½ª¡δ  íδΓ∞ «»¿ßá¡δ ¬á¬
  20108.         ó¡ÑΦ¡¿Ñ. ìá»α¿¼Ñα:
  20109.  
  20110.              function LoCase(Ch : Char): Char; external;
  20111.  
  20112.              é ß««ΓóÑΓßΓóπεΘѼ  Σá⌐½Ñ  ¡á  ∩ºδ¬Ñ áßßѼí½Ñαá óßÑ »α«µÑñπαδ
  20113.         ¿½¿ Σπ¡¬µ¿¿ ñ«½ª¡δ ¡áσ«ñ¿Γ∞ß∩ ó ßÑú¼Ñ¡ΓÑ ß ¿¼Ñ¡Ñ¼ CÄDà  ¿½¿ CSEG,
  20114.         ¿½¿  ó  ßÑú¼Ñ¡ΓÑ,  ¿¼∩  ¬«Γ«α«ú« ºá¬á¡τ¿óáÑΓß∩ ¡á _TEXT,  á ¿¼Ñ¡á
  20115.         ó¡ÑΦ¡¿σ »α«µÑñπα ¿  Σπ¡¬µ¿⌐  ñ«½ª¡δ  íδΓ∞  π¬áºá¡δ  ó  ñ¿αÑ¬Γ¿óáσ
  20116.         PUéLIC.
  20117.  
  20118.              éδ ñ«½ª¡δ  «íÑß»Ñτ¿Γ∞  ß««ΓóÑΓßΓó¿Ñ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ÑÑ
  20119.         «»αÑñѽѡ¿ε ó Åá߬á½Ñ.  ¥Γ« «Γ¡«ß¿Γß∩ ó Γ¿»π ÑÑ  ó맮óá  (í½¿ª¡¿⌐
  20120.         ¿½¿ ñá½∞¡¿⌐), τ¿ß½π ¿ Γ¿»π »áαá¼ÑΓα«ó ¿ Γ¿»π αѺπ½∞ΓáΓá.
  20121.  
  20122.              é ¿ßσ«ñ¡«¼  Σá⌐½Ñ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¼«úπΓ «»¿ßδóáΓ∞ß∩ ¿¡¿-
  20123.         µ¿á½¿º¿α«óá¡¡δÑ »ÑαѼѡ¡δÑ,  ß«ñÑαªáΘ¿Ñß∩  ó  ßÑú¼Ñ¡ΓÑ  ß  ¿¼Ñ¡Ñ¼
  20124.         CONST ¿½¿ ó ßÑú¼Ñ¡ΓÑ,  «¬á¡τ¿óáεΘѼß∩ ¡á _DAÆA, ¿ ¡Ñ¿¡¿µ¿á½¿º¿α«-
  20125.         óá¡¡δÑ »ÑαѼѡ¡δÑ ó ßÑú¼Ñ¡ΓÑ ß ¿¼Ñ¡Ñ¼ DATA ¿½¿ DSEG,  ¿½¿ ó  ßÑú-
  20126.         ¼Ñ¡ΓÑ,  ¿¼∩  ¬«Γ«α«ú«  «¬á¡τ¿óáÑΓß∩ ¡á _BSS.  é ¿ßσ«ñ¡«¼ Σá⌐½Ñ ¡á
  20127.         ∩ºδ¬Ñ áßßѼí½Ñαá φΓ¿ »ÑαѼѡ¡δÑ ∩ó½∩εΓß∩ τáßΓ¡δ¼¿, ¿ ¡á ¡¿σ ¡Ñ½∞-
  20128.         º∩ ßßδ½áΓ∞ß∩ ¿º ¼«ñπ½∩ ¿½¿ »α«úαá¼¼δ ¡á Åá߬á½Ñ. Ä¡¿, «ñ¡á¬«, ¡á-
  20129.         σ«ñ∩Γß∩ ó Γ«¼ ªÑ ßÑú¼Ñ¡ΓÑ, τΓ« ¿ ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ Åá߬á½∩, ¿
  20130.         ñ«ßΓπ»¡δ τÑαѺ αÑú¿ßΓα ßÑú¼Ñ¡Γá DS.
  20131.  
  20132.              ìá óßÑ »α«µÑñπαδ,  Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ,  «»¿ßá¡¡δѠ󠼫ñπ½Ñ
  20133.         ¿½¿ »α«úαἼѠ¡á Åá߬á½Ñ ¿ ¡á ΓÑ ¿º ¡¿σ, ¬«Γ«αδÑ «»¿ßá¡δ ó ¿¡ΓÑα-
  20134.         ΣÑ⌐ß¡«⌐ ßѬµ¿¿ ¿ß»«½∞ºπѼδσ ¼«ñπ½Ñ⌐, ¼«ª¡« ßßδ½áΓ∞ß∩ ¿º ¿ßσ«ñ¡«ú«
  20135.         Σá⌐½á ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ß »«¼«Θ∞ε  ñ¿αÑ¬Γ¿óδ  EXTRN.  Åα¿  φΓ«¼
  20136.         «í∩ºá¡¡«ßΓ∞  «íÑß»Ñτ¿Γ∞  ¬«ααÑ¬Γ¡δ⌐ Γ¿» ó «»αÑñѽѡ¿¿ EXTRN ΓᬪÑ
  20137.         ó«º½áúáÑΓß∩ ¡á óáß.
  20138.  
  20139.              è«úñá «íΩÑ¬Γ¡δ⌐  Σá⌐½  π¬áºδóáÑΓß∩  ó ñ¿αÑ¬Γ¿óÑ $L,  Borland
  20140.         Pascal »αÑ«íαáºπÑΓ Σá⌐½ ¿º Σ«α¼áΓá »ÑαѼÑΘáѼδσ «íΩÑ¬Γ¡δσ ¼«ñπ½Ñ⌐
  20141.         (.OBJ) Σ¿α¼δ Intel ó ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ó¡πΓαÑ¡¡¿⌐ Σ«α¼áΓ »ÑαѼÑΘá-
  20142.         Ñ¼δσ ¼«ñπ½Ñ⌐. ¥Γ« »αÑ«íαẫó᡿Ѡ󫺼«ª¡« ½¿Φ∞ »α¿ ß«í½εñÑ¡¿¿ ¡Ñ-
  20143.         ¬«Γ«αδσ »αáó¿½:
  20144.  
  20145.              1.  éßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ«½ª¡δ íδΓ∞ »«¼ÑΘÑ¡δ ó ßÑú¼Ñ¡Γ ß
  20146.                  ¿¼Ñ¡Ñ¼ CODà ¿½¿ CSEG,  ¿½¿ ó ßÑú¼Ñ¡Γ, ¿¼∩ ¬«Γ«α«ú« «¬á¡-
  20147.                  τ¿óáÑΓß∩ ¡á _TEXT.  éßÑ ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ τáßΓ¡δÑ »ÑαÑ-
  20148.  
  20149.          B.Pascal 7 & Objects/LR     - 438 -
  20150.  
  20151.                  ¼Ñ¡¡δÑ  ñ«½ª¡δ »«¼ÑΘáΓ∞ß∩ ó ßÑú¼Ñ¡Γ ß ¿¼Ñ¡Ñ¼ Const ¿½¿ ó
  20152.                  ßÑú¼Ñ¡Γ,  ¿¼∩ ¬«Γ«α«ú« «¬á¡τ¿óáÑΓß∩ ¡á _DATA. éßÑ ¡Ñ¿¡¿-
  20153.                  µ¿á½¿º¿α«óá¡¡δÑ  τáßΓ¡δÑ »ÑαѼѡ¡δÑ ñ«½ª¡δ íδΓ∞ »«¼ÑΘÑ¡δ
  20154.                  ó ßÑú¼Ñ¡Γ, ¿¼∩ ¬«Γ«α«ú« «¬á¡τ¿óáÑΓß∩ ¡á _DAÆA. ìÑ¿¡¿µ¿á-
  20155.                  ½¿º¿α«óá¡¡δÑ ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ  ñ«½ª¡δ  »«¼ÑΘáΓ∞ß∩  ó
  20156.                  ßÑú¼Ñ¡Γ ß ¿¼Ñ¡Ñ¼ DATA ¿½¿ DSEG, ¿½¿ ó ßÑú¼Ñ¡Γ, ¿¼∩ ¬«Γ«-
  20157.                  α«ú« «¬á¡τ¿óáÑΓß∩ ¡á _BSS. éßÑ ñαπú¿Ñ ßÑú¼Ñ¡Γδ ¿ú¡«α¿απ-
  20158.                  εΓß∩,  »«φΓ«¼π  ¿¼ÑÑΓß∩ ñ¿αÑ¬Γ¿óá GRÄUÉ.  é «»αÑñѽѡ¿∩σ
  20159.                  ßÑú¼Ñ¡Γá ¼«ªÑΓ ºáñáóáΓ∞ß∩ óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ  ß½«óá
  20160.                  ¿½¿ íá⌐Γá (WORD ¿½¿ éYTE). Åα¿ ¬«¼»«¡«ó¬Ñ «¡¿ óßÑúñá óδ-
  20161.                  αáó¡¿óáεΓß∩ ¡á úαá¡¿µπ ß½«óá.  é «»αÑñѽѡ¿∩σ  ßÑú¼Ñ¡Γ«ó
  20162.                  ¼«úπΓ π¬áºδóáΓ∞ß∩ ñ¿αÑ¬Γ¿óδ PUéLIæ ¿ ¿¼∩ ¬½áßßá («¡¿ ¿ú-
  20163.                  ¡«α¿απεΓß∩).
  20164.  
  20165.              2.  Borland Pascal ¿ú¡«α¿απÑΓ óßÑ ñá¡¡δÑ ñ½∩  ßÑú¼Ñ¡Γ«ó, «Γ-
  20166.                  ½¿τ¡δσ  «Γ  ßÑú¼Ñ¡Γá  ¬«ñá (CODE,  CSEG ¿½¿ xxxx_TEXT) ¿
  20167.                  ¿¡¿µ¿á½¿º¿α«óá¡¡«ú«   ßÑú¼Ñ¡Γá   ñá¡¡δσ    (CONST    ¿½¿
  20168.                  xxxx_DATA).  Å«φΓ«¼π  »α¿ «»¿ßá¡¿¿ »ÑαѼѡ¡δσ ó ßÑú¼Ñ¡ΓÑ
  20169.                  ¡Ñ¿¡¿µ¿á½¿º¿α«óá¡¡δσ ñá¡¡δσ (DAÆA,  DSEG  ¿½¿  xxxx_BSS)
  20170.                  ñ½∩ «»αÑñѽѡ¿∩ º¡áτÑ¡¿∩ óßÑúñá ¿ß»«½∞ºπ⌐ΓÑ ó«»α«ß¿Γѽ∞-
  20171.                  ¡δ⌐ º¡á¬ (?). ìá»α¿¼Ñα:
  20172.  
  20173.                   Count   DW  ?
  20174.                   Buffer  DB  128 DUP(?)
  20175.  
  20176.              3.  üá⌐Γ«óδÑ  ßß佬¿ ¡á ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ Γ¿»á EXTRN ¡Ññ«»πßΓ¿-
  20177.                  ¼δ.  ¥Γ« «º¡áτáÑΓ,  ¡á»α¿¼Ñα,  τΓ« «»ÑαáΓ«αδ ìIGìÆ ¿ LÄW
  20178.                  ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ Γ¿»á EXTRN.
  20179.  
  20180.                         Æπαí« ÇßßѼí½Ñα ¿ Borland Pascal
  20181.         ─────────────────────────────────────────────────────────────────
  20182.  
  20183.              Æπαí« ÇßßѼí½Ñα  (TASM)  º¡áτ¿Γѽ∞¡«  «í½ÑúτáÑΓ   αáºαáí«Γ¬π
  20184.         »α«úαá¼¼  ¡á  ∩ºδ¬Ñ  áßßѼí½Ñαá  ¿ «αúá¡¿ºáµ¿¿ ó ¡¿σ ¿¡ΓÑαΣÑ⌐ßá ß
  20185.         »α«úαἼἿ Borland Pascal. Æπαí« ÇßßѼí½Ñα »«ññÑনóáÑΓ ß»Ñµ¿Σ¿-
  20186.         τÑ߬«Ñ ¿ß»«½∞º«óá¡¿Ñ ßÑú¼Ñ¡Γ«ó, ßσѼπ »á¼∩Γ¿ ¿ ∩ºδ¬«óπε »«ññÑ᪬π
  20187.         ñ½∩ »α«úαá¼¼¿ßΓ«ó, αáí«ΓáεΘ¿σ ¡á Borland Pascal.
  20188.  
  20189.              êß»«½∞ºπ∩ ¬½ετÑó«Ñ  ß½«ó«  PASCAL ¿ ñ¿αÑ¬Γ¿óπ .MODEL,  ¼«ª¡«
  20190.         «íÑß»Ñτ¿Γ∞ ß«í½εñÑ¡¿Ñ ß«ú½áΦÑ¡¿⌐ « ó맮óáσ ß Borland Pascal,  «»-
  20191.         αÑñѽ¿Γ∞ ¿¼Ñ¡á ßÑú¼Ñ¡Γ«ó,  óδ»«½¡¿Γ∞ ¿¡ßΓαπ¬µ¿¿  PUSH  BP  ¿  MOV
  20192.         PB,SP, á ΓᬪѠ«íÑß»Ñτ¿Γ∞ ó«ºóαáΓ π»αáó½Ñ¡¿∩ ß »«¼«Θ∞ε «»ÑαáΓ«α«ó
  20193.         POP BP ¿ RET N (úñÑ N - φΓ« τ¿ß½« íá⌐Γ »áαá¼ÑΓαá). ä¿αÑ¬Γ¿óá
  20194.         .MODEL ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  20195.  
  20196.              .MODEL xxxx, PASCAL
  20197.  
  20198.         úñÑ xxxx - φΓ« ¼«ñѽ∞ »á¼∩Γ¿ («íδτ¡« LARGE).
  20199.  
  20200.              çáñá¡¿Ñ ó  ñ¿αÑ¬Γ¿óÑ  .MODEL  ∩ºδ¬á  PASCAL  ß««íΘáÑΓ  Æπαí«
  20201.         ÇßßѼí½Ñαπ, τΓ« »áαá¼ÑΓαδ í뫨 ºá¡ÑßÑ¡δ ó ßΓѬ ß½Ñóá-¡á»αáó« -  ó
  20202.         Γ«¼ »«α∩ñ¬Ñ, ó ¬«Γ«α«¼ «¡¿ «í¡áαπªÑ¡δ ó ¿ßσ«ñ¡«¼ «»ÑαáΓ«αÑ, óδºδ-
  20203.         óáεΘѼ »α«µÑñπαπ.
  20204.  
  20205.          B.Pascal 7 & Objects/LR     - 439 -
  20206.  
  20207.  
  20208.              ä¿αÑ¬Γ¿óá PROC »«ºó«½∩ÑΓ óá¼ ºáñáΓ∞ »áαá¼ÑΓαδ ó Γ«¼  ªÑ  »«-
  20209.         α∩ñ¬Ñ, ¬á¬ «¡¿ «»αÑñѽѡδ ó »α«úαἼѠBorland Pascal. àß½¿ óδ «»-
  20210.         αÑñѽ∩ÑΓÑ Σπ¡¬µ¿ε,  ¬«Γ«αá∩ ó«ºóαáΘáÑΓ ßΓ᫬π,  «íαáΓ¿ΓѠ󡿼᡿Ñ
  20211.         ¡á  Γ«,  τΓ« ñ¿αÑ¬Γ¿óá PROC ¿¼ÑÑΓ «»µ¿ε RETURNS,  »«ºó«½∩εΘπε óá¼
  20212.         »«½πτ¿Γ∞ ñ«ßΓπ» ¬ óαѼѡ¡«¼π π¬áºáΓѽε ßΓ᫬¿ ó ßΓѬѠ¿ ¡Ñ «¬áºδ-
  20213.         óáεΘπε  ó½¿∩¡¿∩ ¡á τ¿ß½« íá⌐Γ »áαá¼ÑΓαá,  ñ«íáó½∩Ѽδσ ó «»ÑαáΓ«αÑ
  20214.         RET.
  20215.  
  20216.              Åα¿óÑñѼ »α¿¼Ñαδ  ¬«ñá,  ó  ¬«Γ«αδσ  ¿ß»«½∞ºπεΓß∩  ñ¿αÑ¬Γ¿óδ
  20217.         .MODEL ¿ PROC:
  20218.  
  20219.              .MODEL LARGE, PASCAL
  20220.              .CODE
  20221.              MyProc PROC  FAR 1:BYTE, j : BYTE RETURNS result : DWORD
  20222.               PUBLIC MyProc
  20223.               les di,result            ; »«½πτ¿Γ∞ áñαÑß óαѼѡ¡«⌐ ßΓ᫬¿
  20224.               mov al,i                 ; »«½πτ¿Γ∞ »Ñαóδ⌐ »áαá¼ÑΓα i
  20225.               mov bl,j                 ; »«½πτ¿Γ∞ óΓ«α«⌐ »áαá¼ÑΓα j
  20226.                 .
  20227.                 .
  20228.                 .
  20229.               ret
  20230.  
  20231.              Ä»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿ ó Borland Pascal íπñÑΓ óδú½∩ñÑΓ∞ ß½Ññπε-
  20232.         Θ¿¼ «íαẫ¼:
  20233.  
  20234.              function MyProc(i,j : char) : string; external;
  20235.  
  20236.  
  20237.  
  20238.          B.Pascal 7 & Objects/LR     - 440 -
  20239.  
  20240.                       Åα¿¼Ñαδ »α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
  20241.         ─────────────────────────────────────────────────────────────────
  20242.  
  20243.              æ½ÑñπεΘá∩ »α«úαἼᠠ∩ó½∩ÑΓß∩ »α¿¼Ñα«¼ ¼«ñπ½∩ ¿ »αÑñßΓáó½∩ÑΓ
  20244.         ß«í«⌐ ñóÑ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ,  »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ «íαáí«Γ¬¿
  20245.         ßΓ᫬.  öπ¡¬µ¿∩  UppÑrCásÑ »αÑ«íαáºπÑΓ ß¿¼ó«½δ ßΓ᫬¿ ó »α«»¿ß¡δÑ
  20246.         íπ¬óδ,  á Σπ¡¬µ¿∩ StringOf ó«ºóαáΘáÑΓ  ßΓ᫬π  ß¿¼ó«½«ó  ºáñá¡¡«⌐
  20247.         ñ½¿¡δ.
  20248.  
  20249.              unit Strings;
  20250.              interface
  20251.              function UpperCase(S: string): string;
  20252.              function StringOf(Ch: char; Count: byte): string;
  20253.              inplementation
  20254.              {$L STRS}
  20255.              function UpperCase; external;
  20256.              function StringOf; external;
  20257.              end.
  20258.  
  20259.              äá½ÑÑ »α¿óÑñÑ¡ Σá⌐½ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá,  ó ¬«Γ«α«¼ αÑ὿º«-
  20260.         óá¡δ »α«úαá¼¼δ StringOf ¿  UppÑrCásÑ.  ÅÑαÑñ  ¬«¼»¿½∩µ¿Ñ⌐  ¼«ñπ½∩
  20261.         Strings φëàΣá⌐½ ñ«½ªÑ¡  íδΓ∞  áßßÑ¼í½¿α«óá¡  ó  Σá⌐½  ß  ¿¼Ñ¡Ñ¼
  20262.         STRS.OBJ. ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á Γ«,  τΓ« ó »α«úαá¼¼áσ ¿ß»«½∞ºπÑΓß∩
  20263.         ñá½∞¡¿⌐ Γ¿» ó맮óá,  Γᬠ¬á¬ «¡¿ «»¿ßá¡δ  ó  ¿¡ΓÑαΣÑ⌐ß¡«⌐  ßѬµ¿¿
  20264.         í½«¬á.
  20265.  
  20266.               CODE SEGMENT BYTE PUBLIC
  20267.                    ASSUME CS:CODE
  20268.                    PUBLIC UpperCase, StringOf    ; «íΩ∩ó¿Γ∞ ¿¼Ñ¡á
  20269.               function Uppercase(S: String): String
  20270.               UpperRes        EQU  DWORD PTR [BP+10]
  20271.               UpperStr        EQU  DWORD PTR [BP+6]
  20272.               Uppercase       PROC FAR
  20273.                     PUSH BP            ; ß«σαá¡¿Γ∞ αÑú¿ßΓα BP
  20274.                     MOV  BP,SP         ; πßΓá¡«ó¿Γ∞ ßΓѬ
  20275.                     PUSH DS            ; ß«σαá¡¿Γ∞ αÑú¿ßΓα DS
  20276.                     LDS  SI,UpperStr   ; ºáúαπº¿Γ∞ áñαÑß ßΓ᫬¿
  20277.                     LES  DI,UpperRes   ; ºáúαπº¿Γ∞ áñαÑß αѺπ½∞ΓáΓá
  20278.                     CLD                ; »ÑαѼÑßΓ¿Γ∞ ßΓ᫬π
  20279.                     LODSB              ; ºáúαπº¿Γ∞ ñ½¿¡π ßΓ᫬¿
  20280.                     STOSB              ; ß¬«»¿α«óáΓ∞ αѺπ½∞ΓáΓ
  20281.                     MOV CL,AL          ; »«¼ÑßΓ¿Γ∞ ñ½¿¡π ßΓ᫬¿ ó æò
  20282.                     XOR CH,CH
  20283.                     JCXZ U3            ; »α«»πßΓ¿Γ∞ ó ß½πτáÑ »πßΓ«⌐
  20284.                                        ; ßΓ᫬¿
  20285.               U1:   LODSB              ; »α«»πßΓ¿Γ∞, Ñß½¿ ß¿¼ó«½ «Γ½¿τÑ¡
  20286.                                        ; «Γ 'á'...'z'
  20287.                     CPM AL,'a'
  20288.                     JB  U2
  20289.                     CPM AL,'z'
  20290.                     JA  U2             ; »ÑαѼÑßΓ¿Γ∞ ßΓ᫬π
  20291.                     SUB AL,'a'-'A'     ; »αÑ«íαẫóáΓ∞ ó »α«»¿ß¡δÑ íπ¬óδ
  20292.               U2:   STOBS              ; ß«σαá¡¿Γ∞ αѺπ½∞ΓáΓ
  20293.  
  20294.          B.Pascal 7 & Objects/LR     - 441 -
  20295.  
  20296.                     LOOP U1            ; µ¿¬½ »« óßѼ ß¿¼ó«½á¼
  20297.               U3:   POP  DS            ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα DS
  20298.                     POP  BP            ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
  20299.                     RET  4             ; πñ὿Γ∞ »áαá¼ÑΓαδ ¿ ó«ºóαáΓ¿Γ∞
  20300.                                        ; π»αáó½Ñ¡¿Ñ
  20301.               UpperCase   ENDP
  20302.               ; function StringOf(Ch: Char; Count: Byte): String
  20303.               StrOfRes        EQU  DWORD PTR [BP + 10]
  20304.               StrOfChar       EQU  BYTE  PTR [BP + 8]
  20305.               StrOfCOunt      EQU  BYTE  PTR [BP + 6]
  20306.                StringOf       PROC FAR
  20307.                  PUSH BP               ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
  20308.                  MOV  BP,SP            ; πßΓá¡«ó¿Γ∞ úαá¡¿µδ ßΓѬá
  20309.                  LES  DI,StrOfRes      ; ºáúαπº¿Γ∞ áñαÑß αѺπ½∞ΓáΓá
  20310.                  MOV  AL,StrOfCount    ; ºáúαπº¿Γ∞ ßτÑΓτ¿¬
  20311.                  CLD                   ; »α«ñó¿¡πΓ∞ß∩ ¡á ßΓ᫬π
  20312.                  STOSB                 ; ß«σαá¡¿Γ∞ ñ½¿¡π
  20313.                  MOV  CL,AL            ; »«¼ÑßΓ¿Γ∞ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ó CX
  20314.                  XOR  CH,CH
  20315.                  MOV  AL,StrOfChar     ; ºáúαπº¿Γ∞ ß¿¼ó«½
  20316.                  REP  STOSB            ; ß«σαá¡¿Γ∞ ßΓ᫬π ß¿¼ó«½«ó
  20317.                  POP                   ; ó«ßßΓá¡«ó¿Γ∞ éÉ
  20318.                  RET                   ; ¿ºó½Ñτ∞ »áαá¼ÑΓαδ ¿ óδ⌐Γ¿
  20319.               SrtingOf    ENDP
  20320.               CODE       ENDS
  20321.                          END
  20322.  
  20323.              ùΓ«íδ áßßÑ¼í½¿α«óáΓ∞  φëà »α¿¼Ñα  ¿ ß¬«¼»¿½¿α«óáΓ∞ ¼«ñπ½∞,
  20324.         ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ ¬«¼á¡ñδ:
  20325.  
  20326.              TASM STR5
  20327.              BPC stringer
  20328.  
  20329.  
  20330.                            îÑΓ«ñδ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
  20331.         ─────────────────────────────────────────────────────────────────
  20332.  
  20333.              îÑΓ«ñδ, αÑ὿º«óá¡¡δÑ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá,  ¼«ª¡«  ß¬«¼»«¡«-
  20334.         óáΓ∞ ß »α«úαἼἿ Borland Pascal ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá
  20335.         $L ¿ ºáαѺÑαó¿α«óá¡¡«ú« ¬½ετÑó«ú« ß½«óá external.  Ä»¿ßá¡¿Ñ ó¡ÑΦ-
  20336.         ¡Ñú« ¼ÑΓ«ñá  ó  «íΩÑ¬Γ¡«¼  Γ¿»Ñ ¡Ñ «Γ½¿τáÑΓß∩ «Γ «íδτ¡«ú« ¼ÑΓ«ñá;
  20337.         «ñ¡á¬« ó αÑ὿ºáµ¿¿ ¼ÑΓ«ñá »ÑαÑτ¿ß½∩ÑΓß∩ Γ«½∞¬« ºáú«½«ó«¬ ¼ÑΓ«ñá,
  20338.         ºá ¬«Γ«αδ¼  ß½ÑñπÑΓ ºáαѺÑαó¿α«óá¡¡«⌐ ß½«ó« external.  é ¿ßσ«ñ¡«¼
  20339.         ΓѬßΓÑ ¡á áßßѼí½ÑαÑ ó¼ÑßΓ« Γ«τ¬¿ (.) ñ½∩ ºá»¿ß¿ πΓ«τ¡Ñ¡¡δσ ¿ñÑ¡-
  20340.         Γ¿Σ¿¬áΓ«α«ó ß½ÑñπÑΓ  ¿ß»«½∞º«óáΓ∞  «»Ñαᵿε @ (Γ«τ¬á ó áßßѼí½ÑαÑ
  20341.         πªÑ ¿¼ÑÑΓ ñαπú«⌐ ß¼δß½ ¿ ¡Ñ ¼«ªÑΓ  íδΓ∞  τáßΓ∞ε  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá).
  20342.         ìá»α¿¼Ñα, ¿ñÑ¡Γ¿Σ¿¬áΓ«α Åá߬á½∩ Rect.Init ºá»¿ßδóáÑΓß∩ ¡á áßßѼí-
  20343.         ½ÑαÑ ¬á¬ Rest@Init.  æ¿¡Γá¬ß¿ß @ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬á¬ ó ¿ñÑ¡Γ¿-
  20344.         Σ¿¬áΓ«αáσ PUBLIC, Γᬠ¿ EXTRN.
  20345.  
  20346.  
  20347.  
  20348.  
  20349.          B.Pascal 7 & Objects/LR     - 442 -
  20350.  
  20351.                              é¬½ετáѼδ⌐ ¼áΦ¿¡¡δ⌐ ¬«ñ
  20352.         ─────────────────────────────────────────────────────────────────
  20353.  
  20354.              ä½∩ ¡Ñí«½∞Φ¿σ »«ñ»α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá  «τÑ¡∞  πñ«í¡«
  20355.         ¿ß»«½∞º«óáΓ∞ ó¡πΓαÑ¡¡¿Ñ  ñ¿αÑ¬Γ¿óδ  ¿  «»ÑαáΓ«αδ  Borland  Pascal
  20356.         («»ÑαáΓ«αδ inline).  Ä¡¿ »«ºó«½∩εΓ óßΓáó½∩Γ∞ ¿¡ßΓαπ¬µ¿¿ ¼áΦ¿¡¡«ú«
  20357.         ¬«ñá ¡Ñ»«ßαÑñßΓóÑ¡¡« ó »α«úαá¼¼π ¿½¿ ΓѬßΓ  í½«¬á,  ó¼ÑßΓ«  Γ«ú«,
  20358.         τΓ«íδ ¿ß»«½∞º«óáΓ∞ «íΩÑ¬Γ¡δ⌐ Σá⌐½.
  20359.  
  20360.  
  20361.                                 Ä»ÑαáΓ«αδ Inline
  20362.         ─────────────────────────────────────────────────────────────────
  20363.  
  20364.              Ä»ÑαáΓ«α inline ß«ßΓ«¿Γ ¿º ºáαѺÑαó¿α«óá¡¡«ú« ß½«óá  Inline,
  20365.         ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ «ñ¡á ¿½¿ í«½ÑÑ óßΓα«Ñ¡¡δσ ºá»¿ßÑ⌐ (ºá»¿ßÑ⌐ ¼á-
  20366.         Φ¿¡¡«ú« ¬«ñá),  αáºñѽѡ¡δσ ¬«ß«⌐ τÑαΓ«⌐ ¿ ºá¬½ετÑ¡¡δσ ó  ¬απú½δÑ
  20367.         ß¬«í¬¿:
  20368.  
  20369.              inline(10/$2345/Count+1/Data-Offset);
  20370.  
  20371.              Ä»ÑαáΓ«α inline ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  20372.  
  20373.                           ┌────────┐  ┌───┐     ┌──────────┐    ┌───┐
  20374.          »«ñßΓáó½∩Ѽδ⌐ ──>│ inline ├─>│ ( ├────>│ ºá»¿ß∞ ó ├─┬─>│ ) ├─>
  20375.          «»ÑαáΓ«α         └────────┘  └───┘ ^   │ ¼áΦ¿¡¡«¼ │ │  └───┘
  20376.                                             │   │   ¬«ñÑ   │ │
  20377.                                             │   └──────────┘ │
  20378.                                             │      ┌───┐     │
  20379.                                             └──────┤ / │<────┘
  20380.                                                    └───┘
  20381.  
  20382.              èáªñδ⌐ «»ÑαáΓ«α inline ß«ßΓ«¿Γ ¿º ¡Ñ«í∩ºáΓѽ∞¡«ú« ß»Ñµ¿Σ¿¬á-
  20383.         Γ«αá αẼÑαá,  < ¿½¿ >, ¿ ¬«¡ßΓá¡Γδ ¿½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαѼѡ«⌐,
  20384.         ºá  ¬«Γ«α«⌐  ß½ÑñπεΓ  ¡«½∞ ¿½¿ í«½ÑѠ߻ѵ¿Σ¿¬áΓ«α«ó ß¼ÑΘÑ¡¿∩ (ß¼.
  20385.         «»¿ßá¡¡δ⌐ ñá½ÑÑ ß¿¡Γá¬ß¿ß).  æ»Ñµ¿Σ¿¬áΓ«α ß¼ÑΘÑ¡¿∩ ß«ßΓ«¿Γ  ¿º  +
  20386.         ¿½¿ -, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ¬«¡ßΓá¡Γá.
  20387.  
  20388.                                            ┌───────────┐
  20389.          ºá»¿ß∞ ó« ──┬────────────────────>│ ¬«¡ßΓá¡Γá ├───────────────>
  20390.          óßΓα«Ñ¡¡«¼  │   ┌───┐      ^      └───────────┘       ^
  20391.          ¼áΦ¿¡¡«¼    ├──>│ < ├──────┤                          │
  20392.          ¬«ñÑ        │   └───┘      │                          │
  20393.                      │   ┌───┐      │                          │
  20394.                      ├──>│ > ├──────┘                          │
  20395.                      │   └───┘                                 │
  20396.                      │  ┌───────────────┐                      │
  20397.                      └─>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├─┬────────────────────┘
  20398.                         │  »ÑαѼѡ¡«⌐   │ │                  ^
  20399.                         └───────────────┘ │                  │
  20400.                                      ┌────┘                  └─────────┐
  20401.                                      │      ┌────┐   ┌─────────┐       │
  20402.                                      └─────>│º¡á¬├──>│¬«¡ßΓá¡Γá│──┬────┘
  20403.                                         ^   └────┘   └─────────┘  │
  20404.  
  20405.          B.Pascal 7 & Objects/LR     - 443 -
  20406.  
  20407.                                         └─────────────────────────┘
  20408.  
  20409.              èáªñá∩ ºá»¿ß∞  inline  »«α«ªñáÑΓ 1 íá⌐Γ ¿½¿ «ñ¡« ß½«ó« ¬«ñá.
  20410.         ç¡áτÑ¡¿∩ óδτ¿ß½∩ÑΓß∩,  ¿ßσ«ñ∩ ¿º º¡áτÑ¡¿∩  »Ñαó«⌐  ¬«¡ßΓá¡Γδ  ¿½¿
  20411.         ß¼ÑΘÑ¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαѼѡ¡«⌐, ¬ ¬«Γ«α«¼π ñ«íáó½∩ÑΓß∩ ¿½¿ ¿º
  20412.         ¬«Γ«α«ú« óδτ¿ΓáÑΓß∩ º¡áτÑ¡¿Ñ ¬áªñ«⌐ ¿º »«ß½ÑñπεΘ¿σ ¬«¡ßΓá¡Γ.
  20413.  
  20414.              àß½¿ ºá»¿ß∞  ó  ¼áΦ¿¡¡«¼  ¬«ñÑ ß«ßΓ«¿Γ Γ«½∞¬« ¿º ¬«¡ßΓá¡Γ ¿,
  20415.         Ñß½¿ ÑÑ º¡áτÑ¡¿Ñ ½Ñª¿Γ ó 8-í¿Γ«ó«¼ ñ¿á»áº«¡Ñ (0..255), Γ« «¡á »«-
  20416.         α«ªñáÑΓ «ñ¿¡ íá⌐Γ ¬«ñá.  àß½¿ º¡áτÑ¡¿Ñ óδσ«ñ¿Γ ºá úαá¡¿µπ 8-í¿Γ«-
  20417.         ó«ú« ñ¿á»áº«¡á ¿½¿ Ñß½¿ ºá»¿ß∞ inline ßßδ½áÑΓß∩ ¡á »ÑαѼѡ¡πε, Γ«
  20418.         úÑ¡Ñα¿απÑΓß∩ «ñ¡« ß½«ó« ¬«ñá (¼½áñΦ¿⌐ íá⌐Γ ß½ÑñπÑΓ »Ñαóδ¼).
  20419.  
  20420.              Ä»Ñαᵿ¿ < ¿ > ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ «Γ¼Ñ¡δ  áóΓ«¼áΓ¿τÑß-
  20421.         ¬«ú«  óδí«αá  αẼÑαá,  ¬«Γ«αδ⌐  íδ½ «»¿ßá¡ αá¡ÑÑ.  àß½¿ «»ÑαáΓ«α
  20422.         inline ¡áτ¿¡áÑΓß∩ ß «»Ñαᵿ¿ <,  Γ« ó ¬«ñ ó¬½ετáÑΓß∩ Γ«½∞¬« ¼½áñ-
  20423.         Φ¿⌐  º¡áτáΘ¿⌐  íá⌐Γ º¡áτÑ¡¿∩,  ñáªÑ Ñß½¿ φΓ« 16-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ.
  20424.         àß½¿ «»ÑαáΓ«α inline ¡áτ¿¡áÑΓß∩ ß «»Ñαᵿ¿ >, Γ« ó ¬«ñ ó¬½ετáÑΓß∩
  20425.         óßÑúñá ß½«ó«,  ñáªÑ Ñß½¿ ßΓáαΦ¿⌐ º¡áτáΘ¿⌐ íá⌐Γ αáóÑ¡ 0. ìá»α¿¼Ñα,
  20426.         «»ÑαáΓ«α:
  20427.  
  20428.              inline(<$1234/>$44);
  20429.  
  20430.         úѡѡ¿απÑΓ ¬«ñ ñ½¿¡«⌐ Γα¿ íá⌐Γá: $34,$44,$00.
  20431.  
  20432.              ç¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαѼѡ¡«⌐ ó ºá»¿ß¿ inline »αÑñßΓáó-
  20433.         ½∩ÑΓ ß«í«⌐ áñαÑß ß¼ÑΘÑ¡¿∩ »ÑαѼѡ¡«⌐ ó¡πΓα¿ ÑÑ íẫó«ú« ßÑú¼Ñ¡Γá.
  20434.         üẫóδ⌐ ßÑú¼Ñ¡Γ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ (»ÑαѼѡ¡δσ,  «»¿ßá¡¡δσ  ¡á
  20435.         ßἫ¼ ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ ó ¼«ñπ½Ñ ¿½¿ »α«úαá¼¼Ñ) ¿ Γ¿»¿º«óá¡¡δÑ ¬«¡ß-
  20436.         Γá¡Γδ, ñ«ßΓπ» ¬ ¬«Γ«αδ¼ «αúá¡¿º«óá¡ τÑαѺ αÑú¿ßΓα DS, »αÑñßΓáó½∩-
  20437.         εΓ  ß«í«⌐  ßÑú¼Ñ¡Γ  ñá¡¡δσ.  üẫóδ⌐ ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
  20438.         (»ÑαѼѡ¡δσ, «»¿ßá¡¡δσ  ó¡πΓα¿  »«ñ»α«úαá¼¼δ)  ∩ó½∩ÑΓß∩ ßÑú¼Ñ¡Γ«¼
  20439.         ßΓѬá. é φΓ«¼ ß½πτáÑ ß¼ÑΘÑ¡¿Ñ »ÑαѼѡ¡«⌐ «Γ¡«ß¿Γß∩ ¬ αÑú¿ßΓαπ éÉ,
  20440.         τΓ« áóΓ«¼áΓ¿τÑ߬¿ ó½ÑτÑΓ ºá ß«í«⌐ óδí«α ßÑú¼Ñ¡Γá ßΓѬá.
  20441.  
  20442.                    Åα¿¼Ñτá¡¿Ñ: ÉÑú¿ßΓαδ BP, SP, SS ¿ DS ñ«½ª¡δ ß«σαá¡∩Γ∞-
  20443.               ß∩ ß »«¼«Θ∞ε «»ÑαáΓ«α«ó inline.  ç¡áτÑ¡¿Ñ óßÑσ  ñαπú¿σ  αÑ-
  20444.               ú¿ßΓα«ó ¼«ª¡« ¿º¼Ñ¡∩Γ∞.
  20445.  
  20446.              é ß½ÑñπεΘѼ »α¿¼ÑαÑ «»ÑαáΓ«αá inline  úÑ¡Ñα¿απÑΓß∩  ¼áΦ¿¡¡δ⌐
  20447.         ¬«ñ  ñ½∩ ºá»¿ß¿ ºáñá¡¡«ú« τ¿ß½á ß½«ó ¿½¿ ñá¡¡δσ ó π¬áºá¡¡πε »ÑαÑ-
  20448.         ¼Ñ¡¡πε.  Åα¿ ó맮óÑ »α«µÑñπαδ FillWord Count  ß½«ó  ß«  º¡áτÑ¡¿Ñ¼
  20449.         Data ºá»¿ßδóáÑΓß∩ ó »á¼∩Γ¿, ¡áτ¿¡á∩ ß »Ñαó«ú« íá⌐Γá, «í«º¡áτÑ¡¡«-
  20450.         ú« ¬á¬ Dest.
  20451.  
  20452.              procedure FillWord(var Dest, Count, Data: word);
  20453.              begin
  20454.                inline(
  20455.                  $C4/$BE/Dest/                { LES DI,Dest[BP]  }
  20456.                  $8B/$8e/Count/               { MOV CX,Xount[BP] }
  20457.                  $8B/$86/Data/                { MOV AX,Data[BP]  }
  20458.                  $FC/                         { CLD              }
  20459.                  $F3/$AB);                    { REP STOSW        }
  20460.  
  20461.          B.Pascal 7 & Objects/LR     - 444 -
  20462.  
  20463.  
  20464.              é «»ÑαáΓ«α¡«⌐  τáßΓ¿  í½«¬á  «»ÑαáΓ«αδ inline ¼«úπΓ ßó«í«ñ¡«
  20465.         τÑαÑñ«óáΓ∞ß∩ ß ñαπú¿¼¿ «»ÑαáΓ«αἿ.
  20466.  
  20467.                                 ä¿αÑ¬Γ¿óδ inline
  20468.         ─────────────────────────────────────────────────────────────────
  20469.  
  20470.              ä¿αÑ¬Γ¿óδ inline »«ºó«½∩εΓ »¿ßáΓ∞ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¬«Γ«-
  20471.         αδÑ »αÑ«íαáºπεΓß∩ »α¿ ¬áªñ«¼ ó맮óÑ ó ºáñá¡¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞
  20472.         ¿¡ßΓαπ¬µ¿⌐, »αÑñßΓáó½∩εΘ¿σ ß«í«⌐ ¼áΦ¿¡¡δ⌐ ¬«ñ. æ¿¡Γá¬ß¿ß π ñ¿αѬ-
  20473.         Γ¿óδ inline Γᬫ⌐ ªÑ, ¬á¬ π «»ÑαáΓ«αá inline:
  20474.  
  20475.                                               ┌────────────┐
  20476.              ñ¿αÑ¬Γ¿óá ──────────────────────>│  «»ÑαáΓ«α  ├────────────>
  20477.               inline                          │  inline    │
  20478.                                               └────────────┘
  20479.  
  20480.              Åα¿ ó맮óÑ «íδτ¡«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ (ó¬½ετá∩ ΓÑ,  ¬«Γ«-
  20481.         αδÑ ß«ñÑαªáΓ ó ßÑíÑ «»ÑαáΓ«αδ inline)  ¬«¼»¿½∩Γ«α«¼  úÑ¡Ñα¿απÑΓß∩
  20482.         Γᬫ⌐  ¬«ñ,  ó  ¬«Γ«α«¼ »áαá¼ÑΓαδ (Ñß½¿ «¡¿ ¿¼ÑεΓß∩) »«¼ÑΘáεΓß∩ ó
  20483.         ßΓѬ, á ºáΓѼ πªÑ ñ½∩ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ úÑ¡Ñα¿απ-
  20484.         ÑΓß∩  ¿¡ßΓαπ¬µ¿∩ CALL.  Äñ¡á¬«,  ¬«úñá óδ «íαáΘáÑΓÑß∞ ¬ »α«µÑñπαÑ
  20485.         ¿½¿ Σπ¡¬µ¿¿ Γ¿»á inline,  ¬«¼»¿½∩Γ«α ó¼ÑßΓ« ¿¡ßΓαπ¬µ¿¿ CALL úÑ¡Ñ-
  20486.         α¿απÑΓ ¬«ñ ¿º ñ¿αÑ¬Γ¿óδ inline. é«Γ ¬«α«Γ¬¿⌐ »α¿¼Ñα ñóπσ ñ¿αÑ¬Γ¿ó
  20487.         inline:
  20488.  
  20489.              procedure DisableInterrupts; inline($FA); { CLI }
  20490.              procedure EnableInterrupts; inline($FB); { STI }
  20491.  
  20492.              è«úñá óδºδóáÑΓß∩  »α«µÑñπαá DisableInterrupt Γ« úÑ¡Ñα¿απÑΓß∩
  20493.         «ñ¿¡ íá⌐Γ ¬«ñá - ¿¡ßΓαπ¬µ¿∩ CLI.
  20494.  
  20495.              Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,  «»¿ßá¡¡δÑ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó inline,
  20496.         ¼«úπΓ ¿¼ÑΓ∞ »áαá¼ÑΓαδ,  «ñ¡á¬« ¡á »áαá¼ÑΓαδ ¡Ñ½∞º∩ ßßδ½áΓ∞ß∩ ß¿¼-
  20497.         ó«½¿τÑ߬¿ (σ«Γ∩ ñ½∩ ñαπú¿σ »ÑαѼѡ¡δσ φΓ«  ñ«»π߬áÑΓß∩).  è  Γ«¼π
  20498.         ªÑ,  »«ß¬«½∞¬π  ΓᬿѠ »α«µÑñπαδ  ¿½¿ Σπ¡¬µ¿¿ Σá¬Γ¿τÑ߬¿ ∩ó½∩εΓß∩
  20499.         ¼á¬α«¬«¼á¡ñἿ, π ¡¿σ «ΓßπΓßΓóπεΓ áóΓ«¼áΓ¿τÑ߬¿⌐ ¬«ñ ß ¿¡ßΓαπ¬µ¿-
  20500.         ∩¼¿  óσ«ñá ¿½¿ óδσ«ñá ¿ ¡¿¬á¬¿σ ¿¡ßΓαπ¬µ¿⌐ ó«ºóαáΓá π»αáó½Ñ¡¿∩ ¡Ñ
  20501.         ΓαÑíπÑΓß∩.
  20502.  
  20503.              æ½ÑñπεΘá∩ Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓ π¼¡«ªÑ¡¿Ñ ñóπσ µÑ½δσ º¡áτÑ¡¿⌐, ó
  20504.         αѺπ½∞ΓáΓÑ τÑú« »«½πτáÑΓß∩ τ¿ß½« ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á:
  20505.  
  20506.              function LongMul(X,Y : Integer): Longint;
  20507.                inline(
  20508.                  $58/                    { POP DS ; ¿ºó½Ñτ∞ ¿º ßΓѬá Y }
  20509.                  $5A/                    { POP AX ; ¿ºó½Ñτ∞ ¿º ßΓѬá X }
  20510.                  $F7/$EA);               { IMUL DX ; DX:AX = X*Y }
  20511.  
  20512.              ÄíαáΓ¿ΓѠ󡿼᡿Ѡ ¡á «ΓßπΓßΓó¿Ñ ¿¡ßΓαπ¬µ¿⌐ óσ«ñá ¿ óδσ«ñá ¿
  20513.         ¿¡ßΓαπ¬µ¿¿ ó«ºóαáΓá π»αáó½Ñ¡¿∩. êσ »α¿ßπΓßΓó¿∩ ¡Ñ ΓαÑíπÑΓß∩, »«ß-
  20514.         ¬«½∞¬π  »α¿  ó맮óÑ  φΓ«⌐ Σπ¡¬µ¿¿ ß«ñÑαªáΘ¿Ñß∩ ó ¡Ñ⌐ τÑΓδαÑ íá⌐Γá
  20515.         »α«ßΓ« ó¬½ετáεΓß∩ ó ΓѬßΓ »α«úαá¼¼δ.
  20516.  
  20517.          B.Pascal 7 & Objects/LR     - 445 -
  20518.  
  20519.  
  20520.              ä¿αÑ¬Γ¿óδ inline »αÑñ¡áº¡áτÑ¡δ  Γ«½∞¬«  ñ½∩  «τÑ¡∞  ¬«α«Γ¬¿σ
  20521.         (¼Ñ¡ÑÑ 10 íá⌐Γ) »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
  20522.  
  20523.               êº-ºá Γ«ú«, τΓ« »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ Γ¿»á inline ¿¼ÑεΓ σáαá¬-
  20524.          ΓÑα ¼á¬α««»αÑñѽѡ¿⌐,  «¡¿ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ áα-
  20525.          úπ¼Ñ¡Γá «»Ñαᵿ¿ @ ¿½¿ ó Σπ¡¬µ¿∩σ Addr, Offs ¿ Seg.
  20526.  
  20527.